Dashboard › opencode-lore › Distillation
68983c7a-f260-4aa3-b5cc-5fee6f3bb169["lore_tm_v1_EMHe3JX4NMr0bZgkZBS3dKGEDTYjd1TtwxuR_0SfYxI","lore_tm_v1_RqLkqVqCIJp5Bdy1_BYy0SNHqlAzsQwxsS58O1s8298","lore_tm_v1_Mdk2StKpwqClAWq3pH5qeWDae0-V9WgXVcFej56w450","lore_tm_v1_cB5OAPVDOqvsecfOUeS4AME10Z928h1M_Uf1nC58e-k","lore_tm_v1_akoSHUARLj-AX-IwW8YlCJk2qwnRvdsiK7C-D92vTKk","lore_tm_v1_HLukk5l7oQVfJ0kVmJnjTDmc3sq2l3lkc1t8g7pgP5w","lore_tm_v1_Kuuvyp5nS_r7GIvN6qjDYCDfnZ5OIEVDZkpBSa_TKNg","lore_tm_v1_pv03zveHpHOqsiS_y7fXs_j0xUeCCgdzyBP3qAHc9xo","lore_tm_v1_-l2Zlap0aRFlXYLPY3h109ctgSzNUH-4u9By6Ri6BZk","lore_tm_v1_Cw1MK9DOFd4Y-epOHrgTBJTW2O2Mj-QzFlYklVcIytA","lore_tm_v1_lSZayRDJ2iz9dvwYpx6SgXWOcCTWc-BpTRXfv8m4f2Q","lore_tm_v1_mQH8fTMg9V6z8jJZLe3ytmDTQEzwIgh4Kgv4Pd4bzrk","lore_tm_v1_EWSQdJY9W6uQ4s_yISIqrdTXa0uWzqWa_DDC7b0tNS8","lore_tm_v1_P-nZipmADGl8GmBBVVlMFPwEH8RjiDf2XRPJZKYB1aY","lore_tm_v1_xqTg--qQecNetxDdM6vlCbSQ3l3ZeOhVtxY1nuj0qBE","lore_tm_v1_icmk9eKGeFojaNJdpAvt7Y1tCtUVpA-BCpnjpoxiqIU","lore_tm_v1_poUzjwZZWfnjdCro-GUoyDjJ622h-WgG2RL7cAdh2cQ","lore_tm_v1_IHEZtWSFRiijyvCV89bdZwvW7oOXLT1DNi5Br1qJp6k","lore_tm_v1_rbmQkX51BPqtnZFC6_isrOLP9Zg0H20Y--jlec8kTOM","lore_tm_v1_Gq2H6PFV8pwSKKUsbo5zX8e9cG8m0k-4t5WQ1yTOfEU","lore_tm_v1_8Drh5BbN7xXJqbbcOvmEahoRX19q5OPWRF8hJu4Ue7s","lore_tm_v1_4NEm3bWmoHEbMyXYEY1av6LI33LUxXKY9tJUKIUAa3A","lore_tm_v1_cRgUZwGlRYvvtJwCJSGI57XDioqhV5l0RBBwdBqCups","lore_tm_v1_CONhAJK3CvFhGE2PleJolF1eeHf-4cflbKJugPggg_4","lore_tm_v1_7fx5DJ7TUpYrANbFxmpnkTF10LGW4ClknrJ38jcpe24","lore_tm_v1_-GachHqBZjcnK9n783uURFVCTf9cFPpvG7JuJzrVhBs"]
Date: Sep 16, 2026
packages/gateway/test/openai-responses-recall-aware-stream.test.ts ran 12 tests out of 218 and produced 10 failures with 206 skipped. Failing contracts were: 1. "privately accumulates a done-only sparse Codex item_reference", 2. "keeps done-only continuation references private", 3. "fails closed when a terminal item_reference replaces a completed visible 'message'", 4. "fails closed when a terminal item_reference replaces a completed visible 'function call'", 5. "fails closed when a terminal item_reference replaces a completed visible 'reasoning'", 6. "fails closed when a continuation terminal references visible output", 7. "bounds reference indices before recall and continuation side effects", 8. "preflights a reference-driven continuation offset before recall side effects", 9. "counts private references against retained-state limits before suppression", and 10. "indexes high-cardinality reference matching with linear operations".item_reference test failed because client output still exposed response.output_item.done and terminal response.completed output containing { type: "item_reference", id: "msg_done_only_private" }, despite the contract requiring response-side references to remain private.response.failed payload was found, yielding Target cannot be null or undefined at packages/gateway/test/openai-responses-recall-aware-stream.test.ts:2207."Gateway request failed" but received "Lore could not continue the response after recall"; these cases also required no private identity leakage and side effects { recall: 0, followUp: 0, transaction: 0 }.packages/gateway/src/pipeline.ts was repeatedly updated to implement private item_reference handling, validation, limits, continuation behavior, and failure classification.packages/gateway/src/pipeline.ts suppresses recall and unresolved sparse tool events while still encoding and counting their bytes. It tracks deferredBytes, hiddenRecallBytes, and unresolvedToolBytes, throws SSEStreamLimitError("recall stream exceeded deferred event limit") when maxDeferredBytes or maxHiddenRecallBytes is exceeded, parses recall arguments on response.function_call_arguments.done, collects completed recalls on response.output_item.done, and does not forward recall-item events to the client.response.completed, response.done, response.incomplete, and response.failed) now pass through stripHiddenReferenceOutput(parsed) before terminal validation or forwarding. Terminal validation calls assertReferenceLifecyclesComplete(referenceIndices) in addition to output lifecycle, terminal-output, and completed-recall checks.normalizeCodexEvent(), validateResponseLifecycle(), and seedImplicitCodexItem() before consumeReferenceEvent(state, referenceIndices, event, parsed); consumed reference events immediately continue, preventing forwarding. Retained-state bytes are counted for indexed output events and bounded by maxRetainedStateBytes, with overflow throwing SSEStreamLimitError("Responses retained state exceeded byte limit").unresolvedToolIndices; later response.output_item.added or response.output_item.done events resolve whether the item is the "recall" function and add its output index to recallIndices.packages/gateway/src/pipeline.ts found 4 calls to assertTerminalOutputMatches() at lines 10520, 10559, 11120, and 11164.pendingCommits, transactionalEvents, and transactionalBytes are maintained; reserveTransactionalBytes() throws RecallContinuationFailure("resource_limit") above maxTransactionalBytes; synthetic IDs use msg_${state.id || "lore"}_${recall.outputIndex}; and missing recall content throws RecallContinuationFailure("missing_recall_block").RecallContinuationFailure("recall_execution") unless the signal is aborted or the error is already a RecallContinuationFailure; successful callbacks contribute anchorText, optional commit, and optional rollback operations.holdContinuation() counts candidate bytes against maxDeferredBytes; discardContinuationCandidate() removes unresolved candidate chunks; promoteVisibleContinuationCandidate() moves candidate bytes into the transactional budget; and promoteContinuationCandidate() counts hidden recall bytes against both continuation and global hidden limits, throwing RecallContinuationFailure("resource_limit") on overflow.transactionalEvents, transactionalBytes, retainedStateBytes, hiddenRecallBytes, outputIdentities, and referenceIdentities from continuationRetryBaseline. Eligible SSEStreamTransportError failures increment recallContinuationTransportRetries, log a retry, and rerun settleFollowUp(); exhausted transport failures use category "follow_up_transport"."duplicate Responses item identity across continuation". It shifts continuation indices using shiftedOutputIndex(), merges usage, rejects failed/incomplete final continuations with RecallContinuationFailure("follow_up_failed"), rejects absent or unusable output with "follow_up_missing_output", rejects incomplete recall arguments with "follow_up_incomplete_arguments", and rejects multiple recalls with "parallel_recall".packages/gateway/test/openai-responses-recall-aware-stream.test.ts produced 214 passing and 4 failing tests out of 218 in 10.95s. The failures were: 1. "rejects reuse of an item_reference index in a continuation", 2. "rejects reference identities reused by later output items", 3. "rejects reference identities colliding with synthetic markers", and 4. "rejects continuation references colliding with principal identities"."Gateway request failed" with response.failed, status: "failed", output: [], and error.type/code: "server_error", while the tests still expected recall-continuation error "Lore could not continue the response after recall". Logged categories were principal_protocol for principal identity violations and follow_up_protocol for continuation violations.packages/gateway/test/openai-responses-recall-aware-stream.test.ts was updated to reflect pre-recall reference-protocol failure classification. In "rejects reuse of an item_reference index in a continuation", the assertion changed to require PUBLIC_GATEWAY_ERROR and explicitly reject PUBLIC_RECALL_ERROR at lines 4797-4798.