026-read-side-entity-pointers
Read-side entity pointers: tell the agent, inside its recall results, that memory about a named entity exists
Spec 022 turns a session into captured memories, but nothing on the read side tells an agent that the store already holds something about the person or project it just asked about, so the agent answers generically about facts the store knew. This spec adds entity pointers to the existing recall result: when a search asks for them, the server resolves entity names in the query by exact and normalized alias match in the searched scope, with no model call, and returns a small framed block of entity ids, kinds, counts, and last-seen times beside the evidence. The block is untrusted data under 019, bounded in size, counted inside any delivery budget, and opt-in per request. No client hook carries pointers: every client's hook output starts as "not a data position", and the MCP surface stays at seven tools.
Read the full pinned specification ↗Relationships
Claimed units
- establishes
{ "kind": "file", "path": "crates/aicortex-graph/src/pointer.rs" } - establishes
{ "kind": "file", "path": "crates/aicortex-graph/tests/pointer.rs" } - establishes
{ "kind": "file", "path": "crates/aicortex-graph/testdata/pointers/" } - establishes
{ "kind": "file", "path": "crates/aicortex-api/src/pointers.rs" } - establishes
{ "kind": "file", "path": "crates/aicortex-api/tests/pointers.rs" } - extends
{ "nature": "additive", "spec": "017-entities-and-typed-edges", "unit": { "kind": "file", "path": "crates/aicortex-graph/src/lib.rs" } } - extends
{ "nature": "additive", "spec": "020-http-api-and-scopes", "unit": { "kind": "file", "path": "crates/aicortex-api/src/search.rs" } } - extends
{ "nature": "additive", "spec": "020-http-api-and-scopes", "unit": { "kind": "file", "path": "crates/aicortex-api/src/dto.rs" } } - extends
{ "nature": "additive", "spec": "021-mcp-server", "unit": { "kind": "file", "path": "crates/aicortex-mcp/src/tools.rs" } } - extends
{ "nature": "additive", "spec": "021-mcp-server", "unit": { "kind": "file", "path": "crates/aicortex-mcp/tests/tools.rs" } } - extends
{ "nature": "additive", "spec": "022-client-adapters", "unit": { "kind": "file", "path": "clients/matrix.toml" } } - extends
{ "nature": "additive", "spec": "022-client-adapters", "unit": { "kind": "file", "path": "clients/README.md" } } - extends
{ "nature": "additive", "spec": "022-client-adapters", "unit": { "kind": "file", "path": "crates/aicortex-api/tests/clients.rs" } } - extends
{ "nature": "additive", "spec": "025-evidence-delivery-and-token-budget", "unit": { "kind": "file", "path": "crates/aicortex-recall/src/delivery.rs" } }
Source headings
- 026: Read-side entity pointers
- 1. Purpose
- 2. Territory
- 3. Behavior
- 3.1 Resolution
- 3.2 The pointer
- 3.3 Delivery
- 3.4 The client side
- 4. Functional requirements
- 5. Acceptance criteria
- 6. Out of scope
- 7. Resolved decisions
- Verification
Frozen anchors
No frozen anchors declared.