Entity Relationship Graph
5/5 writes. Reads restored in v0.2.16.
Tests whether iranti_relate correctly stores typed relationship edges between entities, and whether agents can read them back. The write layer is intact — 5/5 edges accepted. In v0.2.16, two new MCP tools close the read gap: iranti_related (1-hop) and iranti_related_deep (multi-hop traversal).
Results at a glance
What this measures
Iranti's graph model treats entities as nodes and uses iranti_relate to write typed, directed edges between them. An edge carries a relationship type (e.g. COLLABORATES_WITH) and an optional properties object with arbitrary metadata. The benchmark writes 5 distinct edges across a small synthetic research network, then reads them back via the new MCP tools added in v0.2.16.
iranti_relate with from, to, type, and propertiesok: truerelationships table stores the edgeiranti_related — 1-hop, returns all edges for an entityiranti_related_deep — multi-hop traversal, depth=2 testedHonest evolution across versions
B9 was first run in v0.2.12, where writes succeeded but reads had no MCP interface. This remained true through v0.2.14. The gap was resolved in v0.2.16 with two new tools.
| Version | Writes | Reads | Read note |
|---|---|---|---|
| v0.2.12 | 5/5 | 0/0 | No MCP read tool existed |
| v0.2.14 | 5/5 | 0/0 | No MCP read tool existed |
| v0.2.16fixed | 5/5 | 3/3 | iranti_related + iranti_related_deep added |
The 5 relationship edges
These are the actual edges written during the benchmark. Directed arrows represent relationship type. A teal dot on an edge indicates it was confirmed readable via iranti_related in v0.2.16. The two edges without dots were not individually queried — the 3/3 confirmed figure reflects the subset tested.
Write vs. read — per edge
All 5 edges were accepted by the write layer. 3 were explicitly queried via iranti_related and returned correctly. The remaining 2 were not individually tested — shown as "not tested" rather than failed.
| Edge | Write (iranti_relate) | Read (iranti_related) |
|---|---|---|
researcher/alice_chen→COLLABORATES_WITH→researcher/bob_okafor | ✓ ok=true | ✓ confirmed |
researcher/alice_chen→ADVISES→researcher/yuki_tanaka | ✓ ok=true | ✓ confirmed |
project/nlp_memory→FUNDED_BY→researcher/fatima_al_rashid | ✓ ok=true | ✓ confirmed |
project/nlp_memory→USES_TOOL→external/iranti | ✓ ok=true | — not tested |
researcher/bob_okafor→PEER_REVIEWS_FOR→external/neurips_2026 | ✓ ok=true | — not tested |
Reading relationships
Given an entity ID, returns all relationship edges where that entity is source or target. Each edge includes from, to, rel, properties, and a direction field ("out" or "in"). One call returns both inbound and outbound edges.
Traverses the graph outward from a starting entity to a configurable depth. Depth=2 confirmed working. Cycle-safe — does not loop forever on circular graphs. Returns a flat list of edges; hop depth is not labeled per edge but can be inferred from the data.
Known limitations
The new tools work, but have interface constraints worth knowing before relying on them in production.
What this run establishes
Agents can now both write and read relationship edges. The primary blocker from v0.2.12–v0.2.14 is resolved.
iranti_related and iranti_related_deep give agents flexible traversal options.
All 5 edges written in v0.2.12 are still readable in v0.2.16. Relationship data is durable across releases.
No edge filter in iranti_related. No hop-depth label in deep results. Both are caller-side workarounds, not blockers.
Raw benchmark data
Write operations returned ok: true. Read queries via iranti_related returned correct edges with properties and direction fields intact.