--- id: AGENTIC-WP-0010 type: workplan title: "Coding Session Memory — Weekly Retro entrypoint + hub publish" domain: helix_forge repo: agentic-resources status: finished owner: codex topic_slug: helix-forge created: "2026-06-07" updated: "2026-06-07" state_hub_workstream_id: "6b9816e4-65bc-4fc7-b8e1-33f4edd51e7a" --- # Coding Session Memory — Weekly Retro entrypoint + hub publish The **analysis half** of a weekly coding retrospection. A windowed retro runs detect + measure over the previous week, ranks the **top-3 improvement suggestions per repo** (impact × frequency, cross-flavor first; recommendations pulled from the Pattern Catalog), and **publishes the ranked result to the State Hub as a read model** (an `event_type=coding_retro` progress event, mirroring how `daily-triage-report` publishes). This is the dependency that activity-core's weekly schedule consumes (`activity-wp-0008` — *Weekly Coding Retrospection schedule*). Keeping the analysis here and publishing to the hub keeps activity-core decoupled from the workstation-local session store. ## Windowed Weekly Retro Report (top-3 per repo) ```task id: AGENTIC-WP-0010-T01 status: done priority: high state_hub_task_id: "34d30250-c0d3-4837-81c7-1c858c2ee801" ``` `retro/build.py`: window digests by date (last N days), run `extract_signals` + `cluster` over the window, explode problem patterns per repo, rank by score and cap at **3 per repo**. Attach a recommendation per suggestion from the Pattern Catalog (lookup by pattern key → first resolution) with a sensible default. Include a fleet measure snapshot for context. Pure function over digests; unit-tested. ## Publish Retro to the Hub + Local Report ```task id: AGENTIC-WP-0010-T02 status: done priority: high state_hub_task_id: "cbe1288a-ce51-48c0-b741-adf4a6cbce3a" ``` Publish the ranked retro to the State Hub as a read model: POST a progress event (`event_type=coding_retro`) with the structured report (`suggestions[]`, window, `generated_at`) in `detail`. Also write a local JSON + markdown report. **Graceful degrade** when the hub is unreachable (write local, skip publish). Hub URL under `[retro]` in `config.toml`. ## Retro Entrypoint + Tests + Live Verify ```task id: AGENTIC-WP-0010-T03 status: done priority: medium state_hub_task_id: "af540220-58dd-4cf5-a9dc-6db4b995fa08" ``` `python -m session_memory.retro [--window-days 7] [--publish] [--json]`: windowed retro → ranked top-3 per repo → optional hub publish + local report. Document in `session_memory/README.md`. Live verify over the real local sessions. After workplan updates, notify the operator to run from `~/state-hub`: ```bash make fix-consistency REPO=agentic-resources ```