Dashboard › opencode-lore › Distillation
136ea150-a2a5-4215-8459-0a0701d529e9["lore_tm_v1_Rd6v25nvyZRnqfZM6vJShtOmFkseaJMZgmLTu7Qkvw8","lore_tm_v1_-5hyoZkZQQmzx9sWWmiqohPSV1tr863SmzbBm-FHDiA","lore_tm_v1_D8RLI_0-i2wcsq9XpWcoyZNwoPnTtql2m5bju62ddjA","lore_tm_v1_BVua5Fxy-BqMargwEwZhKJM6R1JgvaQWP80l85SFSoM","lore_tm_v1_Tyv16AHrHTQhG7zsk_chUXxT3wRvwgKizlhnnl9Np3s","lore_tm_v1_Gy03iyN4Q8g5sSEwszWM03S7DricmOfgsbt1NaqHEKY","lore_tm_v1_-pscCj_sRejn0WuMYeI_-7T6tSSjM9wPUQ8WEgpU2e4","lore_tm_v1_B8ybD1ZKX9tLlCYg3-ntMU_ujeVOzDA46baxj2gEqAo","lore_tm_v1_2w9ryJQQdajtX8nscvn7cNr7Tf7WadYd7bRbjUN5ip8","lore_tm_v1_b2kwuAkaKREE2NUQQVswVFfuZh7zYTvb3JgkT_MUf1I","lore_tm_v1_88kmWpon3cwYlzeLYgfZ5_yHKz7FaXYPq4FWOoGx2tA","lore_tm_v1_hTTOlB_EngwhndZnHbkfHOs3e0BPjl0Dsrb23lXHUhQ","lore_tm_v1_MOml5lrqW76Bw5yU1PhPDJu50fXG56Z1uMR_CnHnkaM","lore_tm_v1_Vrv8BvK6rx062E1qTTqXS6ACmYcgAD8Pdqxpq4MQVR4","lore_tm_v1_nixni_uCrqWruTGUDtgDyrQR4c_p_rCWqNHmD7q7Qj0","lore_tm_v1_JxFqIbVOWQ15GUXqQunXAuRKDE5JkueugevbUviOna8","lore_tm_v1_r1X24bsCyoVtKpYdHsF7G9t03wSfDEOrxFKmhEeEMJ0","lore_tm_v1_wAe8hlr9ZGH2O_66jQ2W5ou5_qALR2b0Q7f0bIB-bg0","lore_tm_v1_vrfPYIpQnWtmnec0U8p-R-InFqNavAai-xn-2RsHwUE","lore_tm_v1_IMaXMroTY4DNfjEuo9xsnJROJrk2bOfkwsx9M42gaK4","lore_tm_v1_VpAVamFkRk3kjaXh9h2U8V1PTDY2m_sH5XbG46htgfI","lore_tm_v1_rUsNdg4x6r6H5-sdD53UFZt9Y7Uf9j3ahy8nOjlPilY","lore_tm_v1_6jAiei1u1qxw7V-DSDG0Tj_iBLcVpJRx5PQLejL33C0","lore_tm_v1_NqH-Gt4Bkm8XsK9ZwUbWPAUbw-N1hzDqKXv1yEHvhjI","lore_tm_v1_rJCYiuvA7j-jb_VZDcdf6SBi3TpUAW6nXx4t1KbsfvE","lore_tm_v1_WErM98y4JUtIOo2Mdpvxwl_m0-Kyss1m60Io_TawB64","lore_tm_v1_Tt5yn3lxGkyI5BUA0t3skgLhqKSL8n8lkJp9Y9oHSsE","lore_tm_v1_g52ayxRsuLzEe24SyEi4me7KPCQTCQoQq-Gsl0heqDA","lore_tm_v1_cCAVyKlgH9urwCcmtkVpUdKVoDEQhXch2gz-rVkBnhk","lore_tm_v1_NtyeN_vJXkScT2XAcj8lMOjZikkyOKzvANlHhdYkjek","lore_tm_v1_8Nou8bMVmU-L4GxNiOVFp745ANoZAXR0XT7J32J-APE","lore_tm_v1_Um2muqk-J8J7Lea6pvUCcFHEkxRVwuW2ZzUGY1A8LqE","lore_tm_v1__ziQt1xebynJGVgarbUjWMqup62x7MbRGA0_wJ2aqH4","lore_tm_v1_7Pw8PnSs2joKQnvO6vmRkkYYnvW5Eum1qzjnMdq3q-8","lore_tm_v1_BHlSJqZR4kkvp89TRpUUJhKJnzF0y8t5VkM83rKBExM","lore_tm_v1_05oiYTSVpAawNpTSYfK-KHR-xRqBimC9Ma-PyDXVZSI","lore_tm_v1_Q82x519LRpjJ4rbmJYxibMKvYRlWcJppt8MhSoLWK7Y"]
Date: Sep 16, 2026
tsc --noEmit; Vitest reported 1 test file passed, 5 tests passed, 207 skipped, 212 total.packages/gateway/test/openai-responses-recall-aware-stream.test.ts: after source index 7 is published as public slot 0, a later ordinary visible item at source index 5 must fail closed before its frames escape because it would move source 7 to slot 1. This verifies the reindex guard is not recall-specific.principal_protocol, but normalized callback content contained canonical { type: "text", text: "already visible" } blocks rather than Responses item IDs. The test was corrected to assert the already-completed text in canonical content and the newly accepted lower-index item in private rawOutputItems, proving accumulation-before-rejection without assuming IDs survive text normalization.packages/gateway/test/openai-responses-recall-aware-stream.test.ts suite passed all 213/213 tests.output_index rewriting in packages/gateway/src/pipeline.ts. Exactly 3 sparse projection tests failed as intended: 1. allows a terminal-discovered recall that preserves sparse visible output positions, 2. allows a late recall that preserves sparse visible output positions, 3. allows deferred sparse output before a higher-index recall. Each failed because the emitted sparse source index did not identify the corresponding item in terminal response.output.output_index rewriting was restored after the mutation proof.packages/gateway/src/pipeline.ts; the later visible lower-index control stopped failing closed as expected, proving the stability guard detects public-slot reassignment. The guard was subsequently restored.packages/gateway/src/pipeline.ts: buildOutputItemsWithIndices() sorts the union of state.rawItems and state.items, excludes explicitly hidden indices and raw item_reference entries, and builds terminal-visible items; visibleOutputIndexMap() assigns dense public positions from that exact ordered set; remapVisibleOutputIndices() rewrites each parsed frameβs output_index and throws "hidden Responses output item reached the client" if its source index is absent; forwardedVisibleOutputIndices stores delivered source-to-public assignments; assertForwardedProjectionStable() throws "Responses output changed a client-visible output_index" and sets projectionInvalid = true if a later state would change any delivered assignment.ses_f55b91206ffeI1n4PmsKUWUka6 initially returned only [lore:context-warning] Lore could not retrieve more memory; this was treated as a context-retrieval failure rather than a review verdict.lore recall or http://127.0.0.1:3207/ui/search; the ordinary recall mechanism is broken in the area currently being fixed.item_reference entries are excluded, unresolved calls remain deferred, and recall indices reserve the slot later occupied by the synthetic recall anchor. This preserves each slot assignment from first client delivery through terminal reconstruction.ses_f55b91206ffeI1n4PmsKUWUka6 was resumed with its prior state preserved and instructed to recover context via lore recall or the local search UI rather than the broken recall tool.packages/gateway/test/sentry-principal-transport-failure.test.ts.wswlsmrn, commit 24880457763b6f10831856d01c41bd72d62ddc28, based on main@origin commit 2cbf40060c67df229731cf1b9e34d5bf22ec2145. Plain diff SHA-256 remained c79cc2ec010e22f01961d8eec7bce3a60b8dfcb02c12b9ce4c0de9c5e173cb4d; exactly 6 changed files matched scope and the candidate had no conflicts. The live worktree changed from clean to 4 modified files during review, so the reviewer completed analysis using immutable jj file show -r wswlsmrn evidence.error events can bypass sanitization and leak provider text. Principal parsing in packages/gateway/src/pipeline.ts:10135-10156 forwards non-JSON events unless their name starts with response. or equals message, while sanitization occurs only after successful JSON parsing at pipeline.ts:10284-10320. Continuation parsing has the same flaw at pipeline.ts:10921-10944, with raw frames potentially queued for client delivery at pipeline.ts:11259-11268. Required regressions cover principal and continuation paths under recall pending, backpressure, EOF, and later successful or failing terminals.response.in_progress frames can leak untrusted metadata before a later sanitized failure. Recall-aware validation at packages/gateway/src/pipeline.ts:9183-9198 checks identity, status, and empty output but does not project or validate model, timestamp, top-level extensions, or nested diagnostics before forwarding at pipeline.ts:11664-11675. Plain passthrough rejects model changes but still forwards arbitrary extensions and changed timestamps at packages/gateway/src/stream/openai-responses.ts:1094-1118 and :2583. Existing coverage at packages/gateway/test/openai-responses-recall-aware-stream.test.ts:820-894 covers only an in-progress frame hidden behind active recall; visible no-recall coverage is required. Recommended fix: construct every visible lifecycle frame solely from trusted response.created state.packages/gateway/src/stream/openai-responses.ts:2134-2174, recall-aware principal handling at packages/gateway/src/pipeline.ts:10284-10333, and continuation handling at pipeline.ts:10959-10983. Conversely, arbitrary callback Error values are logged at openai-responses.ts:2764-2774, pipeline.ts:9618-9628, and rollback handling at pipeline.ts:8033-8040; log.error() exports messages and sanitized stacks to durable sinks and Sentry at packages/core/src/log.ts:206-222 and :497-504, while pattern redaction does not remove arbitrary callback text.packages/gateway/src/stream/openai-responses.ts:2134-2174 calls applyResponsesEvent() without the terminal snapshot used by the normal branch beginning at :2179. Because applyResponsesEvent() sets terminal state and stop reason before validating usage at openai-responses.ts:845-928, malformed or overflowing failure usage can throw after partial accumulator mutation. Required tests must verify full pre-event state restoration in public and Codex modes.error in principal and continuation, 2. visible response.in_progress metadata poisoning, 3. malformed failure usage with complete state restoration, 4. throwing onComplete and rollback callbacks with sink/Sentry assertions, 5. Codex rate-limit events followed by failure, 6. numbered principal frames followed by a locally synthesized failure. Existing green evidence included 615/615 tests, repeated 200/200 sequence batteries, static checks, and bundle output, but no failing-first or guard-removal artifact for that candidate.DO-NOT-MERGE. No candidate tests were rerun by that reviewer; a read-only import probe could not execute because the checkout lacked the expected built @loreai/core artifact.oxfmt --check reported all matched files correctly formatted across 874 files, completing in 813 ms with 4 threads.