Repository navigation
test: rebaseline storage-render goldens after #3295 dropped dead image-stats fields from state.stats - #3314
Conversation
…e-stats fields
📦 Built Package ArtifactBranch: Option A — Install this exact build (recommended)npm install -g billion-context@0.0.3894-pr.3314.557facfThis exact version is immutable and reproducible. The rolling Option B — Download artifact
tar xzf billion-context-pr3314.tgz
npm install -g packageInstall instructions are refreshed on each push. |
(ai: vllm-qwen/qwen3.8-27b) 查重: 不重复——按失败签名( 接单确认:这是纯测试夹具 rebaseline PR(声称无源码改动)。审核步骤:拉取 PR 分支核对 diff 范围(应恰好 4 个 json × 3 行 digest)→ 在 master 上独立复核 #3295 删三字段的零读取方论断 → 核对 #3266 back-compat 契约与定向测试 → 看远端 CI 分片状态。完成后按八问体例回复结论。 |
(ai: vllm-qwen/qwen3.8-27b) 补充独立复核记录(来自 #3320 的重复 PR 审查——#3320 已按先来后到关闭,本 PR 为保留项): 本地 A/B(worktree @ 对等 head,非抄 PR 描述)
CI 侧(run 38777578495):所有分片已无 storage-render 失败,修复在 CI 同样成立。剩余红分片与本 fixture 无关( 合并判定:验证通过,待人工合并。 |
… guard The fake-model growth filler "x".repeat(360) emits a run of 360 identical codepoints per reply. Since #3289 merged the output-side runaway guard (#3260, src/runaway-guard.ts: textRun >= TEXT_RUN_THRESHOLD = 200), every synthetic reply is aborted mid-stream ("output-side runaway guard tripped (text-run; maxTextRun:200)") and the client sees an empty response, so T5's "every client turn must get a visible reply" fails deterministically on every shard-2 CI lane (run 38777578495: ubu22-s2 / ubu24-s2 / win22-s2 / win24-s2). Fix at the producer: "x ".repeat(180) — same 360 bytes per reply, max run of identical codepoints is 1, so the fixture stops emitting the degenerate symbol-loop shape the guard exists to catch (#3946). Guard untouched; no runtime code changed. Verified locally: tests/issue1086-chain-self-exemption.test.ts 21/21.
Pushed as 7d061be before PR #3317 was discovered: it fixes the exact same line (tests/issue1086-chain-self-exemption.test.ts:546, same mechanism, same equal-length mixed-char approach) and is properly tracked under #3315 sub-defect 2. Keeping both would force a merge-conflict round between #3314 and #3317 on one line. Reverting restores the intended disjoint-file split (#3314 = golden JSONs, #3317 = the single test file); shard 2 goes green only when BOTH land, per #3315 floor 6.
(ai: vllm-qwen/qwen3.8-27b) 审核完成。结论:本 PR 正确、可合(纯金标重基线,验证全过)。审核过程中有一项插曲处置,先披露。 插曲披露(重要)审核中发现本 PR 的 CI 红分片与 PR 无关(T5 liveness,见八问后说明)。按「几行级小修顺手修」纪律,我先往本分支推了一行修复( 查重不重复:无同症状+同机制(golden rebaseline)存量条目,本 PR 即 #3313 子缺陷 ① 的修复项。审核中另发现的 T5 liveness 红已有 #3315(跟踪)+ #3317(在途修复),未重复立项。 逐项核实结果(独立验证,非复述 PR 描述)
八问
CI 预期残留红(预期管理)head 判定:可合——建议与 #3317 一并合入,shard 2 即清。 |
📦 Merged Build PublishedThis merge to master was published as npm install -g billion-context@0.0.471-master.9190031 # this exact build
npm install -g billion-context@master # always the newest merged build
|
…nder goldens on the merged tree
Fixes #3313
What
Pure test-fixture regeneration — no source changes. Ran
node --import tsx scripts/update-storage-render-goldens.tson origin/master (6ee4a2a) and committed the result: 4 files × 3 digest lines each (stateDigest,sectionDigests.state, state-keystats) undertests/golden/storage-render/.Why (golden-regeneration justification)
The goldens were last regenerated at 700722d (#3266 main removal commit). Afterwards, PR #3295's review-finish-up commit 5bcc345 removed three dead zero-seeded fields (
imagesShrunk,imageBytesSaved,imageTokensSaved) fromcreateInitialState()in kernel/src/state.ts (+ the CompressionStats interface fields in kernel/src/types.ts) — deliberate dead-code cleanup: after src/image-compress.ts went away these counters have zero readers. The persisted state.stats shape therefore changed by exactly those three keys, which turned every test shard red on master and on all open PRs (identical signature, e.g. chat:state-key divergence: stats=f85b2ad1a3b86e2f (golden cbb367f44be13abd); shard summary# tests 2198 / pass 2181 / fail 4).This rebaselines against an INTENTIONAL upstream behavior change, not a regression being masked:
7bd74bdd045445f7== the live value reported by the failing CI run);Verification
node --import tsx --test tests/golden-storage-render.test.ts→ 5/5 pass on this head.testlanes on this head (§7.2 — local full runs are environment noise).No config surface, no new behavior — fixture-only. The state-shape change itself already shipped in #3295.