feat(memory): define external adapter boundaries

This commit is contained in:
2026-05-15 11:23:50 +02:00
parent 0008b67b21
commit c94efeb83d
6 changed files with 250 additions and 4 deletions

View File

@@ -46,6 +46,10 @@ with `markitect-tool`.
- `MemoryRuntimeService.export_runtime_envelope()` emits a portable runtime
envelope containing graph nodes, edges, memory events, and audit traces with
operation id, actor, policy decision, and filter metadata.
- `MemoryRuntimeAdapterCapability`, `MemorySemanticIndex`,
`MemoryAuditPublisher`, and `MemoryRuntimeRegistry` define optional adapter
boundaries for vector/semantic indexes, durable audit sinks, remote registries,
and sibling memory runtimes.
## Boundary
@@ -64,5 +68,24 @@ with `markitect-tool`.
- retention, refresh, compaction, review gates, and audit behavior
- agent-safe update plans and Markitect-compatible export envelopes
## External Adapter Boundaries
External graph databases should implement `MemoryGraphRepository`; they are
storage adapters, not alternate memory domain models. Enterprise policy systems
should implement `PolicyGateway`; policy decisions remain explicit inputs to
runtime operations.
Optional advanced adapters use small dedicated ports:
- `MemorySemanticIndex` for vector or hybrid retrieval indexes.
- `MemoryAuditPublisher` for durable event sinks, webhooks, or SIEM pipelines.
- `MemoryRuntimeRegistry` for remote memory registries and sibling runtimes
such as future phase-memory services.
Adapters advertise `MemoryRuntimeAdapterCapability` with adapter kind,
supported operations, optional dependencies, and whether they are deterministic
local adapters. Adapter payloads must be serializable dictionaries or core
runtime records, so core tests can stay deterministic and dependency-free.
`infospace-bench` should consume these records and Markitect fixtures to measure
retrieval quality, latency, budget pressure, and regression behavior.