generated from coulomb/repo-seed
feat(PMEM-WP-0017): federated store management CLI and activity reports
Add phase_memory.management for cross-store discovery and windowed activity reporting. Extend the phase-memory CLI with stores list and report commands, plus make report-7d for the default weekly operator view.
This commit is contained in:
102
workplans/PMEM-WP-0017-federated-store-management-cli.md
Normal file
102
workplans/PMEM-WP-0017-federated-store-management-cli.md
Normal file
@@ -0,0 +1,102 @@
|
||||
---
|
||||
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"
|
||||
---
|
||||
|
||||
# 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
|
||||
```
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
`build_federated_report` returns `phase_memory.management.federated_report.v1`.
|
||||
|
||||
## T04 - CLI commands
|
||||
|
||||
```task
|
||||
id: PMEM-WP-0017-T04
|
||||
status: done
|
||||
priority: high
|
||||
```
|
||||
|
||||
`stores list` and `report` wired in `cli.py`.
|
||||
|
||||
## T05 - Makefile, README, and operator runbook
|
||||
|
||||
```task
|
||||
id: PMEM-WP-0017-T05
|
||||
status: done
|
||||
priority: medium
|
||||
```
|
||||
|
||||
`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
|
||||
```
|
||||
|
||||
`tests/test_management_cli.py` and management fixtures; public API snapshot updated.
|
||||
Reference in New Issue
Block a user