Dashboard › opencode-lore › Distillation
7257f257-1453-460e-9044-206fdd70ba21["lore_tm_v1_8w3IMIE3QJO0nawuoGk7f3niO2Az_kHDiKS_0vWYXPo","lore_tm_v1_OnW3tBMCWB-vgE1SdQHa57QEahe60rkCuCZGE-rwViQ","lore_tm_v1_SABFX6TupbwRLOQ6YOjCSox20UrGXPfEJAk2ZTm8hYE","lore_tm_v1_XdzH3THWXhsBXA-hBNdc3IqghZBWO7rycOi1FxIZ1Pc","lore_tm_v1_AS9enDgJ5cYN9y-4VBDaq67MVf9dlOBAJhTheUO_aE8","lore_tm_v1_U4L7D3gw-nuKgMWn7aWzAZMGuPrObrjkRcwa_A-o0uM","lore_tm_v1_UnO4WWx8_N5Oa4SPPcHpSG1qgopZHMXWYlhKXRqsGiI"]
Date: Sep 16, 2026
c721fc658e1fa3de6dd29923cbd24107b95020fc1924b2e3fea9ac50ac8a270c.lplymwvllmzn / commit df49b0cec904a3f432a0f7f29ea398840d62fe9e / Change ID lplymwvllmznozzrzoroxvnnuymnusxs, fix(responses): preserve limit-crossing state; 2. kvpmnlwnznqx / commit 683dff02101f15198b18e3088a0b57dade290056 / Change ID kvpmnlwnznqxomuzywlvmotqtplywzvm, fix(responses): bound sparse lifecycle coordinates; 3. tklkqxytmpkz / commit ce88c614c0ae55d229cb605aa7c7369d918d3650 / Change ID tklkqxytmpkzzryqlolnpvxouropxznp, fix(responses): complete lifecycle reconciliation.df49b0cec904a3f432a0f7f29ea398840d62fe9e changed packages/gateway/src/pipeline.ts and packages/gateway/test/openai-responses-recall-aware-stream.test.ts: 1320 insertions and 121 deletions across 2 files. Author: Burak Yigit Kaya <ben@byk.im> at 2026-09-12 22:26:24; committer at 2026-09-15 23:51:09.683dff02101f15198b18e3088a0b57dade290056 changed packages/gateway/src/pipeline.ts, packages/gateway/src/stream/openai-responses.ts, and packages/gateway/test/openai-responses-recall-aware-stream.test.ts: 357 insertions and 15 deletions across 3 files. Author: Burak Yigit Kaya <ben@byk.im> at 2026-09-14 23:52:42; committer at 2026-09-15 23:51:09.ce88c614c0ae55d229cb605aa7c7369d918d3650 changed packages/gateway/src/pipeline.ts and packages/gateway/test/openai-responses-recall-aware-stream.test.ts: 391 insertions and 0 deletions across 2 files. Author: Burak Yigit Kaya <ben@byk.im> at 2026-09-16 10:43:03; committer at 2026-09-16 11:46:06. It carries bookmarks fix/responses-accumulation-order and fix/responses-accumulation-order@git.packages/gateway/src/pipeline.ts:10324-10474, the Responses stream loop resets keepalive per frame, ignores empty data and [DONE], counts formatted SSE bytes against maxStreamBytes, rejects malformed JSON for response.* events, verifies payload type matches the SSE event, validates sparse coordinates, normalizes Codex events, validates lifecycle state, seeds implicit Codex items, consumes reference events, resolves output_index, and calls applyResponsesEvent() before checking maxRetainedStateBytes. If a lifecycle-only event crosses the retained-state limit, preserveLifecycleFailureState(state, outputIndex) runs before throwing SSEStreamLimitError("Responses retained state exceeded byte limit").packages/gateway/src/pipeline.ts:10389-10463, reference events are consumed before output-index handling; recall calls are detected by function-call name RECALL_TOOL_NAME; sparse Codex function calls with an empty name are tracked in unresolvedToolIndices; resolving a visible function call removes its unresolved index and byte accounting and sets otherToolSeen = true.packages/gateway/src/pipeline.ts:10477-10555, resolving a recall tool discards and promotes its deferred candidate and removes its unresolved index. Deferred events flush once both recallIndices and unresolvedToolIndices are empty. Recall and unresolved-tool events are suppressed while their bytes count toward maxDeferredBytes; recall bytes also count toward maxHiddenRecallBytes. Crossing either limit throws SSEStreamLimitError("recall stream exceeded deferred event limit"). Completed recall arguments are parsed on response.function_call_arguments.done, and completed recall items are collected on response.output_item.done.packages/gateway/src/pipeline.ts:10557-10627, terminal events include response.completed, response.done, response.incomplete, and response.failed. Terminal processing strips hidden reference output, detects recall calls in terminal output, reconciles Codex terminal items through assertTerminalOutputMatches(), completes recognized recalls, resolves visible tools, then requires complete output lifecycles, reference lifecycles, and recall items before continuation.packages/gateway/src/pipeline.ts:10639-10691, a terminal response with no pending recalls fails if sparse function identity remains unresolved or recall arguments remain incomplete; otherwise deferred events are forwarded, finalizeResponsesAcc(state) is called, the terminal event is forwarded, finish() receives whether the terminal event was response.completed, the reader is cancelled/released, keepalive is cleared, and the stream closes. A recall principal ending in response.failed or response.incomplete is rejected.packages/gateway/test/openai-responses-recall-aware-stream.test.ts contains sparse omitted-item-done coverage at lines 3241 and 3299 and unfinished-reasoning coverage beginning at lines 4195 and 4227.rejects malformed terminal reasoning ciphertext before recall execution constructs terminal reasoning with encrypted_content: 42; expected behavior is PUBLIC_RECALL_ERROR, recalls === 0, and followUps === 0.rejects unfinished reasoning omitted from output_item.done streams a response.reasoning_summary_text.delta of "partial" but an empty final summary; expected output contains response.failed.rejects unfinished reasoning when output_item.done omits summary streams a "partial" reasoning summary and then omits the summary field from response.output_item.done; expected output contains response.failed.rejects output text deltas that differ from the final text uses delta text "different" and final text "final" for msg_text_delta_mismatch.lrqlyykxvwoqrxzowonmmytxulyqmqlu, commit d890b184d786a4348e30bcdac7412baa7ae01ae9, with parent ce88c614c0ae55d229cb605aa7c7369d918d3650; conflict=false and empty=true.fix/responses-private-references has a conflict requiring resolution via jj bookmark list and jj bookmark set <name> -r <rev>.packages/gateway/src/pipeline.ts, packages/gateway/src/stream/openai-responses.ts, and packages/gateway/test/openai-responses-recall-aware-stream.test.ts.02d06b2f84d7d2d8cfa5f22443384d12a2a9bc922ade879449de9b0b9d971d1c; current packages/gateway/src/stream/openai-responses.ts hash is 46943c92c9dc972617ec8a48d56fb3b9fd47a8d00da7b61b3f15af149e65803b.