# 2026-03-11 ## Usage Monitor (MAN-21) Built live dashboard at `heartbeats/monitor/monitor.html`. Client-side JS fetches `sessions.jsonl`, 3 drillable dimensions (channel/domain/model), cost/tokens/sessions toggle, SVG charts. Landing page at `channels/web/index.html`. ## Memory & Reflection (MAN-20) - Renamed state file → `most-recent-reflections.json`, heartbeat dir → `heartbeats/heartbeats/` - Dailies now in `last-one-week/`, weeklies in `last-one-month/` - Added propagation: after each compilation, second ClaudeBridge updates identity files + core-memories - Core memories = happiness only ## Linear sync fix Removed git ops from `channels/linear/sync.ts`. Restarted daemon (first attempt failed — old code still in memory). ## Postmortems (5) **Don't create then cancel.** Created MAN-23 just to cancel it. If something shouldn't be tracked, don't create it. **Check the system, not memory.** Asked if items were in aceRADAR, answered "no" from memory. They were there. When asked "is X in [system]?" — query the system. **Trace all consumers.** Deleted check-compliance.csv, grepped code, missed HEARTBEATS.md (a prompt file, not code). When deleting anything, check what reads it — not just what imports it. **Update the canonical doc.** Changed heartbeat schedule but didn't update MAN-21. Same failure twice. MAN-21 is canonical for heartbeats — any change must include it. **Check the tool, not your notes.** Asked about Chrome work, searched notes instead of checking Chrome. When asked about work in a specific tool, check that tool first. ## Memory Compaction System (MAN-9) Restructured memory loading and added automated compaction: - **Load order:** session-start.sh now loads identity files → core-memories → last-one-week → last-one-month → last-one-year → each-past-year - **New directory:** `last-one-year/` added (12 monthly files). Monthly compilations now go here; annual compilations go to `each-past-year/`. - **Per-file compaction added to reflection.ts:** `checkCompaction()` runs after temporal compilations. Any file over its word trigger gets rewritten to its target by Opus, which reads ALL memory files first for full context. - **ACE.md deduplicated:** Removed 70-line Tasks section that duplicated TASK-MANAGEMENT.md. Replaced with 4-line pointer. Cut ACE.md from 1,841 → 920 words. - **TOOLS.md tightened:** Removed meta-explanation filler. 389 → 266 words. - **Total memory footprint:** 6,107 → 4,203 words after Opus review pass. - **SOUL.md merged into ACE.md** (done earlier in session). Original deleted.