generated from coulomb/repo-seed
109 lines
2.9 KiB
Markdown
109 lines
2.9 KiB
Markdown
---
|
|
id: PMEM-WP-0017
|
|
type: workplan
|
|
title: "Federated Store Management CLI And Activity Reports"
|
|
domain: communication
|
|
repo: phase-memory
|
|
status: finished
|
|
owner: codex
|
|
topic_slug: phase-memory
|
|
created: "2026-07-03"
|
|
updated: "2026-07-03"
|
|
state_hub_workstream_id: "4e3fa1d9-0e9f-446f-a677-6038e153a316"
|
|
---
|
|
|
|
# PMEM-WP-0017: Federated Store Management CLI And Activity Reports
|
|
|
|
## Goal
|
|
|
|
Extend the `phase-memory` CLI into a **management interface** for every on-disk
|
|
memory store the runtime has produced — not only the ops-warden coordination
|
|
store. Operators and agents need one command to answer:
|
|
|
|
- How much memory activity happened in the last *N* days **across all stores**?
|
|
- Which store contributed what (episodes, audit events, session kinds, outcomes)?
|
|
- What does a **single store** look like in detail for the same window?
|
|
|
|
LLM interactivity stays out of scope here. When memory is "brought to life"
|
|
through ops-warden (worker, route/access, coding-agent sessions), chat already
|
|
happens in that surface. This workplan adds **inspectable reporting** only.
|
|
|
|
## Implementation Update - 2026-07-03
|
|
|
|
Shipped federated store discovery, windowed activity aggregation, and CLI
|
|
reporting:
|
|
|
|
- `src/phase_memory/management.py` — discovery, classification, aggregation,
|
|
`build_federated_report`, `build_store_list`
|
|
- `phase-memory stores list` and `phase-memory report [--days N] [--store …]`
|
|
- `make report-7d` and `make report REPORT_DAYS=N`
|
|
- Tests in `tests/test_management_cli.py` with `tests/fixtures/management/`
|
|
|
|
Validation: `make test` → 117 passed, 1 skipped.
|
|
|
|
## T01 - Store discovery and classification
|
|
|
|
```task
|
|
id: PMEM-WP-0017-T01
|
|
status: done
|
|
priority: high
|
|
state_hub_task_id: "7c0d7977-bd81-4aab-ab8d-5acfce7c9ba5"
|
|
```
|
|
|
|
Implement `phase_memory.management` with `discover_memory_stores`,
|
|
`classify_store`, and registry read path.
|
|
|
|
## T02 - Windowed activity aggregation
|
|
|
|
```task
|
|
id: PMEM-WP-0017-T02
|
|
status: done
|
|
priority: high
|
|
state_hub_task_id: "f58aec01-077f-431b-8eb4-482cbd8ef200"
|
|
```
|
|
|
|
Aggregate ops-warden episodes and local graph events/audit for a time window.
|
|
|
|
## T03 - Federated report envelope
|
|
|
|
```task
|
|
id: PMEM-WP-0017-T03
|
|
status: done
|
|
priority: high
|
|
state_hub_task_id: "e242b3b6-6c20-440e-82e7-c4e877096fe5"
|
|
```
|
|
|
|
`build_federated_report` returns `phase_memory.management.federated_report.v1`.
|
|
|
|
## T04 - CLI commands
|
|
|
|
```task
|
|
id: PMEM-WP-0017-T04
|
|
status: done
|
|
priority: high
|
|
state_hub_task_id: "a43154ca-5fb2-4791-84d7-c92dd222e681"
|
|
```
|
|
|
|
`stores list` and `report` wired in `cli.py`.
|
|
|
|
## T05 - Makefile, README, and operator runbook
|
|
|
|
```task
|
|
id: PMEM-WP-0017-T05
|
|
status: done
|
|
priority: medium
|
|
state_hub_task_id: "cdde3cfc-e1d5-40d2-a936-e54d6145bd79"
|
|
```
|
|
|
|
`make report-7d`, README management section, runbook cross-store activity.
|
|
|
|
## T06 - Tests and evaluation hook
|
|
|
|
```task
|
|
id: PMEM-WP-0017-T06
|
|
status: done
|
|
priority: medium
|
|
state_hub_task_id: "19672f3e-2b95-4bae-8d76-6ac5c6cdb446"
|
|
```
|
|
|
|
`tests/test_management_cli.py` and management fixtures; public API snapshot updated. |