2.6 KiB
Markitect Interop
phase-memory consumes and emits Markitect-compatible memory contracts while
keeping ownership boundaries explicit.
Ownership
Markitect owns:
- markdown-facing memory profile syntax
- memory graph contract vocabulary
- memory selection validation
- context-package internals
- package compilation semantics
phase-memory owns:
- phase-aware runtime planning
- lifecycle planning
- activation planning
- policy/audit/review checks around memory runtime behavior
- adapter orchestration
- package compile request handoff
Contract Inputs
The dependency-light boundary accepts already-valid dictionaries for:
markitect.memory.profile.v1markitect.memory.graph.v1markitect.memory.selection.v1
LocalMarkitectValidator uses local ingress diagnostics only. It checks
schema ids, required ids, known first-slice memory kinds, and graph edge
integrity. It does not claim to be the Markitect schema owner.
OptionalMarkitectValidator can wrap a Markitect-owned validator object with
methods such as validate_memory_profile, validate_memory_graph, and
validate_memory_selection. If no delegate is configured, it falls back to the
local boundary.
Package Request
Activation planning emits a Markitect-compatible selection and a package request envelope:
phase_memory.markitect.package_request.v1
The request includes:
- selection id
- graph id
- profile id
- selected node ids
- selected event ids
- budget metadata
- policy metadata
- selected item provenance metadata
- compiler name
- compiler diagnostics
- original selection
Selected item metadata preserves source spans, provenance, confidence, freshness, namespace, policy labels, and reason selected. This gives Markitect enough input to build inspectable packages without requiring phase-memory to understand package internals.
Package Response
Package compiler responses are wrapped in:
phase_memory.markitect.package_response.v1
The wrapper keeps the Markitect response opaque and extracts only a
package_ref when present.
Fixture Catalog
Compatibility fixtures live under tests/fixtures/:
memory-profile.json- valid Markitect-compatible profilememory-graph.json- valid Markitect-compatible graphmarkitect-invalid-profile.json- invalid profile diagnosticsmarkitect-invalid-graph.json- invalid graph diagnosticsruntime-activation-plan-snapshot.json- activation/package request shapemarkitect-package-response.json- opaque package response fixture
These fixtures are small and deterministic so adjacent repositories can reuse them as examples without installing Markitect.