Dashboard › opencode-lore › Terminal reasoning summary lifecycle
01a0a9ac-d2d4-789b-85ca-1ea617cd934aTrap: accepting terminal reasoning summary or content when no conflicting streamed part exists looks safe, but matching may ignore fields omitted from added/done events, allowing terminal-only or gapped private reasoning to trigger recall. Fix: bidirectionally reconcile every nonempty terminal reasoning part with completed bounded lifecycle state at the same coordinate before accumulation; reject missing, extra, unfinished, contradictory, oversized, or forged parts.