Dashboard › opencode-lore › Distillation
b11402be-f610-4d55-a774-3850d4bc3c9d["lore_tm_v1_BZeMaU3Wciyxs9kvLZAMGXn-NLrylHPwG7sh1xvM6RA","lore_tm_v1_fhmSwZpGJVNLfkhXOhihnyjpofFxvHHvJ_xB2BWRQ-E","lore_tm_v1_wWbGygivVmnLo42IjNeBenclEQYemfXkHI8E6UjnOyE"]
Date: Sep 16, 2026
packages/gateway/src/pipeline.ts added reasoning-summary lifecycle validation using partAdded and partDone state, validates that raw summary parts are arrays, and reconciles streamed reasoning summaries against terminal output through assertTerminalReasoningMatchesLifecycle.{ id: string; done: boolean }, and throw when terminal reasoning summaries differ from the tracked streamed lifecycle.packages/gateway/test/openai-responses-recall-aware-stream.test.ts cover: live event forwarding with no recall and no header hold-back; principal streams containing only an added reasoning summary; completed reasoning output; recall and follow-up behavior; nested function-call arguments; ensuring private reasoning summaries are absent from client output and completion records; iterator and findIndex edge cases via vi spies; oversized summaries in both added and done events; forged unsupported response.reasoning_summary_private.done events; principal-versus-follow-up recall counts; sparse summary indexes including summary_index: 16; and terminal summaries changed after streaming.0 for a principal stream and 1 otherwise, while tracking follow-up invocation counts and completion success.