Dashboard › opencode-lore › Distillation
eb815f21-baea-41f9-9f1a-13fe786c1093["lore_tm_v1_68BOUNnETx9Wu7kuyCBRbnM_EHyaGQ1AcMTQ3xx5AMY","lore_tm_v1_fg8veCzYI4EpSLCrUCR9jG361eiLJoVlYFjNZ4JPVfc","lore_tm_v1_j6Wfw5lmvZUWodfGL8e53gAqnaYZrWkSHVvdaTv38qA","lore_tm_v1_7efp92Gj6PHc0mtoh77kwNBZzLAUNKHICGQHjFBx2U0","lore_tm_v1_b8C_sCsnYHvlke6Qa-2_VD5e9syaEafpOFXmlWsNJgw","lore_tm_v1_NQ7-a6iCLE_myrjlWID2J9vOtAmpotda3wPjUwwq1nA","lore_tm_v1_RI_n0bqfci-y1exRKwA6VPZRmfDojB0CUPMkNwivfp4","lore_tm_v1_o5mkyNvtKY3PF5uoIKhq8azcspj1wTHJ6Ce-nuSmkow","lore_tm_v1_yP1NDXVpaGXpmVyfr-tiSX7FEOXdcmxGZL-hvM_CxRc","lore_tm_v1_RQ4jsZP3y05QwCpNcq8D3t3BJtUay5eBbiP83dOfXrg","lore_tm_v1_vnUhLcLG0ezqMwkUYDKVcWbYqqf4_WUVFkyPtWCD038","lore_tm_v1_Nm2DA1ONMDTsdKtF-AVOdx_mH9BOVb7zjt0rUKGYpTY","lore_tm_v1_uCTfLsCHKSjAp6iqHJLJAeNbgGBIw6dei1A5CmZ3PJ8","lore_tm_v1_qxuXDhP1hoad2M3YcPurKxo9ngl3qM5Bnlo9377uyi0","lore_tm_v1_POpNi9pkwAwYWAKjjBrYicVdMQEecLqMSdTy5cAfP28","lore_tm_v1_TmTVlEJfpSGm8KgQzV6aLaHRGKhGZoI8FgT2gSy3W0U","lore_tm_v1_9Vt_AKD0XML1wRxqba3fGL5TVz913BzEHLOT9IOhd40","lore_tm_v1_yKI_zQoNQSGYv-q9a7GW6KmAJSdiIl_djcuDH5rv-Zw","lore_tm_v1_a4fbBcFw9_7jtozyGXpXc2XNqnu75BC7L2ypAHzH09g","lore_tm_v1_nAA4Al3pSzZWxSFTdlzCqLBqFl53qN4I0sit_P_duyI","lore_tm_v1_idpQ0-2stoA4RVit8eREkgVULZ-itdq8oU0RA-OOEIs","lore_tm_v1_U-3SowOUJmyUhcKAtOvjT8wS8PAKSPm4MoO3eifHUlE","lore_tm_v1_9mjpyVMg3RcbmJooCl0ob4V7te2AfUZZIXVSHwzhvzI","lore_tm_v1_DpEIPYIkwrf3K4hhKKEfWw_evqJdVUnM70qsJnxlL3s","lore_tm_v1_VWkmTToLLPDkU-jrcPvxSEGTJOhG_g6xOFKi_XhObC4","lore_tm_v1_NKNOoAvLXSCwwSjZPbFvz45tcNdboOLgh4Sh75bTB28","lore_tm_v1_hZjWfBSMiuhpDHeBBGkrPP54DmZ4mc5_3Iy0cjnBn0k","lore_tm_v1_bL4ypiHVcxYnQYR-WUYTfIutj839uqUpRD_p9uU3PnU","lore_tm_v1_EY_orsr0B5BDvV1jW-9blftgguVFft9iskWmmSd4UDo","lore_tm_v1_X4PGkhJmVtErjqxj6xgBRH7qH8rY-DD6DZTg-IQ5oJE","lore_tm_v1_NkUCg5kekCGqqp7Wk7QBa_3Ot-Hs85gHtUUitAH1iIc","lore_tm_v1_Y9aCOWcck9WAUBd66TKh23HxT_UKJ_Lf7r57AcWw2a4","lore_tm_v1_mryzUHxu1gSB9D59pQgkbqgleRxkhdJlnfn2ilJglHw","lore_tm_v1_oy9zRlcxTh_4YeWGP-DYHEoMkUCHMbCRUA5skaWO9ZA","lore_tm_v1_jH-XqivIQ3HuX3DVB-yKGgenZheIonNsoq0pk1KhtCU"]
Date: Sep 16, 2026
TS2304: Cannot find name 'maxSparseIndex' at src/pipeline.ts(10298,17) and src/pipeline.ts(10977,31); pnpm exited with status 2.maxSparseIndex. Fix applied in packages/gateway/src/pipeline.ts: define/reuse the request-local Math.min(maxSSEFrames, DEFAULT_MAX_SSE_FRAMES) ceiling for failure prevalidation.@loreai/gateway@0.40.0 typecheck (tsc --noEmit) passed. Focused Vitest v4.1.8 results: 2 test files passed; 6 tests passed, 435 skipped, 441 total; duration 13.67s.applyResponsesEvent(), allowing terminal fields to begin mutating before usage validation. Fix: moved validateResponsesUsage(parsed.response.usage, "malformed Responses usage") into shared failure prevalidation; absent usage remains accepted for diagnostic aliases.response.failed, failed/cancelled response.done, error, and response.error; exact categorical-log assertions were added for principal diagnostics and failed continuations.packages/gateway/src/stream/openai-responses.ts, packages/gateway/test/openai-responses-recall-aware-stream.test.ts, and packages/gateway/test/openai-responses-stream.test.ts.response.in_progress projection regression case to packages/gateway/test/openai-responses-stream.test.ts, ensuring the shared trusted-projection helper is guarded in both plain and recall-aware live routes.projectResponsesInProgressEvent() to return the raw in-progress frame. Both route guards failed as intended: plain streaming leaked private-plain-in-progress-model, and recall-aware streaming leaked private-visible-in-progress-model; 2 tests failed and 440 were skipped. The mutation was then restored.uses created metadata and failure usage in the plain streaming route failed as intended with Error: malformed Responses terminal event, and logs changed from the required openai-responses provider failure to passthrough stream-error output. The mutation was then restored.packages/gateway/src/stream/openai-responses.ts and packages/gateway/src/pipeline.ts. All 10 accepted-failure route cases failed as intended: 3 plain-stream cases and 7 recall-aware cases, with 432 tests skipped.response.failed with failed; principal response.failed with cancelled; principal response.done with failed; principal response.done with cancelled; principal error; principal response.error; failed recall continuation; plain failure with created metadata/usage; plain error; and plain response.error.openai-responses provider failure in packages/gateway/src/stream/openai-responses.ts and packages/gateway/src/pipeline.ts.packages/gateway/src/pipeline.ts, packages/gateway/src/stream/openai-responses.ts, packages/gateway/test/openai-responses-recall-aware-stream.test.ts, and packages/gateway/test/openai-responses-stream.test.ts; diff size was 364 insertions and 27 deletions.lpmvqrur e57a76e7 fix(responses): unify provider failure handling, parent wswlsmrn 24880457 fix/responses-provider-failures | fix(responses): reject non-monotonic provider failures. Bookmark fix/responses-private-references had conflicts.RESPONSES_PROVIDER_FAILURE_LOG = "openai-responses provider failure", projectResponsesInProgressEvent(), and validateResponsesProviderFailureTerminal() in packages/gateway/src/stream/openai-responses.ts.projectResponsesInProgressEvent() now emits trusted response.created state for id, created_at, and model; forces type: "response.in_progress", object: "response", status: "in_progress", and output: []; and preserves sequence_number when present.response.in_progress model metadata to differ because it is ignored and replaced by trusted created-state projection before forwarding.response.created, sanitized public/Codex lifecycle validity, raw failure status/error/usage, sparse limits, and source-sequence monotonicity before terminal state mutation. Failed aliases alone ignore raw terminal identity/model/time/output; successful and incomplete terminals remain unchanged and strict.validateResponsesProviderFailureTerminal() before lifecycle mutation, then emit exactly RESPONSES_PROVIDER_FAILURE_LOG. Plain/buffered accumulateResponsesSSEStream uses the same ordering and projects response.in_progress before invoking onValidatedEvent.