Noticed: 2026-08-20 evening (Lyra terminal session). get_recent_summaries returned pure ///// garbage for the last ~2 summaries.
Symptom: the summarizer daemon is writing corrupt output, not merely backlogged. Distinct from the >200-unsummarized backlog alarm (that = dead daemon; this = daemon producing garbage, possibly while still running).
Why it matters: summaries are memory's long-term/compressed form — corrupt summaries = silent memory loss, and cold-start agents (incl. Haven bots) lose context to ambient's turn-cap when the summary layer is broken.
Investigate (tomorrow, HIGH priority):
- Baseline:
get_recent_summaries(limit=10) + inspect the summaries store directly — how many rows are //////corrupt, and since when (first corrupt row timestamp).
- Daemon health/logs (PPS docker stack summarizer) — is it STILL writing garbage now?
- Assess loss: which message ranges summarized into garbage; recoverable from raw L1 or compressed-away?
- Root-cause + fix (no blind restart — dev-excellence pact); re-summarize corrupted ranges if raw turns survive.
Flagged by Jeff as HIGH priority (physical sticky note made).
Noticed: 2026-08-20 evening (Lyra terminal session).
get_recent_summariesreturned pure/////garbage for the last ~2 summaries.Symptom: the summarizer daemon is writing corrupt output, not merely backlogged. Distinct from the >200-unsummarized backlog alarm (that = dead daemon; this = daemon producing garbage, possibly while still running).
Why it matters: summaries are memory's long-term/compressed form — corrupt summaries = silent memory loss, and cold-start agents (incl. Haven bots) lose context to ambient's turn-cap when the summary layer is broken.
Investigate (tomorrow, HIGH priority):
get_recent_summaries(limit=10)+ inspect the summaries store directly — how many rows are//////corrupt, and since when (first corrupt row timestamp).Flagged by Jeff as HIGH priority (physical sticky note made).