Summary length is set by the verified-beat count: a strong extractor makes compose write a 10,000-character recap #568
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Observation, not a bug report yet.
COMPOSE_SYSTEM_PROMPTasks for 3-6 paragraphs and says every verified event must be represented (#423). Those two instructions only agree while extraction returns a few dozen beats. Replaying the 2026-09-09 session (80 minutes, six speakers) through the real pipeline with different models standing in for the LLM:The more capable the extractor, the more beats survive validation (including small ones: a dice roll, a joke the GM narrated, someone pointing at a tree), and the composer is forbidden to leave any out, so the "summary" becomes a full recap. The local model has the opposite problem: it cites so few timestamps correctly that only 4 of 23 beats verified, and the summary is built on scraps and gets the geography wrong.
Things to decide.
Related: the unsorted-beats bug filed alongside this makes the long lists worse, since an out-of-order 90-beat list is what produced Sonnet's out-of-order fifth paragraph.
Decided (2026-09-10, owner): a short summary and a full event log, rather than choosing between them.
beat_service.render_summary_anchorsalready produces exactly this shape and is currently called by nothing, so the backend work is small.Sized against the 2026-09-09 replay: Gemma 4 26B verified 59 events, compose dropped 12 and the retry recovered 2. Under this design nothing is lost regardless of how many events a session yields.