generated from coulomb/repo-seed
92 lines
3.9 KiB
Markdown
92 lines
3.9 KiB
Markdown
# phase-memory
|
|
|
|
`phase-memory` is the profile-driven memory operating layer for agentic
|
|
systems. It interprets Markitect memory profiles as runtime plans, models
|
|
memory phases, and produces deterministic dry-run actions for retention,
|
|
refresh, compaction, stabilization, and activation.
|
|
|
|
The first implementation slice is local-first and dependency-light. It does not
|
|
launch a service or mutate durable memory stores by default.
|
|
|
|
## Repository Role
|
|
|
|
Adjacent repositories own nearby but separate concerns:
|
|
|
|
- `markitect-tool`: memory profile, graph, event, and selection contracts plus
|
|
context-package compilation.
|
|
- `kontextual-engine`: durable knowledge/runtime records, permission-aware
|
|
retrieval, audit records, and long-lived storage.
|
|
- `infospace-bench`: concrete pilots, restart-package evaluation, metrics, and
|
|
fixture feedback.
|
|
|
|
`phase-memory` owns the orchestration layer between them:
|
|
|
|
- phase semantics: ephemeral, fluid, stabilized, rigid
|
|
- profile execution planning
|
|
- retention, deletion, refresh, compaction, and stabilization decisions
|
|
- activation planning under token and item budgets
|
|
- adapter, policy, audit, and observability boundaries
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
python3 -m pytest
|
|
```
|
|
|
|
The default test suite uses only deterministic local fixtures.
|
|
|
|
From a checkout, run the CLI through the local source tree:
|
|
|
|
```bash
|
|
PYTHONPATH=src python3 -m phase_memory.cli profile plan tests/fixtures/memory-profile.json
|
|
PYTHONPATH=src python3 -m phase_memory.cli graph lifecycle tests/fixtures/memory-graph.json --stale-after-days 7 --delete-after-days 30
|
|
PYTHONPATH=src python3 -m phase_memory.cli graph activate tests/fixtures/memory-graph.json --max-items 3 --max-tokens 60
|
|
PYTHONPATH=src python3 -m phase_memory.cli store import --store .phase-memory-local --profile tests/fixtures/memory-profile.json --graph tests/fixtures/memory-graph.json
|
|
```
|
|
|
|
When installed, the package exposes the same commands as `phase-memory`.
|
|
Commands emit JSON runtime envelopes by default and accept `--format summary`
|
|
for a concise human-readable view. All current commands are dry-run planning
|
|
operations; they do not mutate durable memory stores.
|
|
|
|
## Local Runtime
|
|
|
|
`PhaseMemoryRuntime` is the dependency-light application facade for local
|
|
integrations. It coordinates contract ingress, profile planning, lifecycle
|
|
planning, activation planning, the context-package compiler port, policy
|
|
checks, and audit recording.
|
|
|
|
Example:
|
|
|
|
```python
|
|
import json
|
|
from phase_memory import PhaseMemoryRuntime
|
|
|
|
runtime = PhaseMemoryRuntime()
|
|
profile = json.load(open("tests/fixtures/memory-profile.json", encoding="utf-8"))
|
|
envelope = runtime.plan_profile(profile, source_ref="tests/fixtures/memory-profile.json")
|
|
```
|
|
|
|
Runtime outputs use stable JSON-serializable envelopes with operation ids,
|
|
diagnostics, policy decisions, audit receipts, dry-run flags, and source
|
|
references. Activation planning also includes a Markitect-compatible selection
|
|
and a package compilation request for the `ContextPackageCompiler` boundary.
|
|
|
|
## Package Map
|
|
|
|
- `phase_memory.models`: domain records, phases, lifecycle states, diagnostics,
|
|
and plan envelopes.
|
|
- `phase_memory.contracts`: Markitect-compatible profile/graph ingress.
|
|
- `phase_memory.planner`: profile execution planning.
|
|
- `phase_memory.lifecycle`: dry-run lifecycle planning.
|
|
- `phase_memory.activation`: Markitect-compatible activation selection planning.
|
|
- `phase_memory.ports`: runtime port protocols.
|
|
- `phase_memory.adapters`: deterministic in-memory test adapters.
|
|
- `phase_memory.runtime`: local runtime facade and stable operation envelopes.
|
|
- `phase_memory.cli`: dependency-light command-line interface.
|
|
|
|
See [docs/architecture.md](docs/architecture.md) for the first architecture
|
|
sketch, [docs/local-persistence.md](docs/local-persistence.md) for the local
|
|
file-backed adapter, [docs/policy-audit.md](docs/policy-audit.md) for local
|
|
policy and review gates, and [SCOPE.md](SCOPE.md) for repository boundaries.
|