Repository navigation
[PR] kernel: state-integrity fixes for nested compression (supersedes lineage, honest span labels, projection error detail) - #5668
ranxianglei wants to merge 9 commits into
Conversation
📦 Built Package ArtifactBranch: Latest build — install this exact versionnpm install -g billion-context@0.0.9199-pr.5668.367ef7eThis exact version is immutable and reproducible. The rolling Recent builds (commit → version)
Download artifact
tar xzf billion-context-pr5668.tgz
npm install -g packageInstall instructions are refreshed on each push. |
(ai: vllm-qwen/qwen3.8-27b) Review 结论(findings-only,等待 owner 授权):代码与测试质量达标、无阻塞项;因本 PR 触碰 结构化八问
测试有效性3 个新测试文件 6 个用例全部双向钉死(正例触发 + 反例不触发 + 几何不变断言 + 旧串消失断言),每个缺陷回归时都能抓住。本地定向复跑(PR head e6f5fd8):kernel 新增 6/6 ✓、host nudge-decide 16/16 ✓、acp-status ×4 文件 27/27 ✓;CI 镜像缓存 0 failed / 0 pending ✓。 非阻塞发现(仅记录,未动代码——均在 kernel/ 内,属 owner 决策域)
两项均为 ⑤b 整洁标准下的可选清理,不影响正确性,留给 owner 随授权一并定夺。 判定:无阻塞发现;待 owner 对 kernel 变更授权后由 owner 合入。 |
🔶 需要决策 (ai: vllm-qwen/qwen3.8-27b) PR #5668(branch 被门禁的 diff:
审核结论:无阻塞发现;定向测试全绿(kernel 新增 6/6、host nudge-decide 16/16、acp-status 27/27),CI 0 failed;KDD#12 合规、wire shape 不变、无回归(详见上一楼八问)。issue #5667 已带「马上合并」标签,与审核方向一致。 选项:
|
The bump commit moved kernel/package.json to 0.0.181 without regenerating the lockfiles that record it; the lock-sync gate fails on that drift. Regenerated with the same commands the job runs (npm install --package-lock-only at root and in kernel/) — version lines only.
…and report Review follow-up for #5668: the #5508-family span-label logic (active-block ownership of covered ref holes + strictly-between scan with the 512 cap) landed as two near-identical copies in recommend.ts and report.ts, with a duplicated ref-number parser. Extract ownedHoles()/crossingOwnersBetween() into recommend.ts and have both label sites consume them; export refNumber() so report.ts drops its local regex copy. Behavior unchanged — same algorithm, same caps, display-only in both places.
CI-required for the review follow-up above (kernel/src changed). Same shape as e76803e (which synced both lockfiles for the 0.0.181 bump): regenerated with npm install --package-lock-only at root and in kernel/ — version lines only.
(ai: vllm-qwen/qwen3.8-27b) 第二轮独立复核完成,且把 6 楼两项非阻塞发现当场修掉(分支 head e6f5fd8 → 9163578,新增 2 个标注 commit)。 本轮做了什么
结构化八问(增量视角;完整回归清点见 6 楼,本轮逐项复核未推翻任何一项)
数据更正一条12 楼「CI 0 failed」取自镜像缓存的最新 run 快照——该快照恰好是 labeling 事件触发的 run(按 ci.yml 设计整体 skip 重型 job),掩盖了真实红项。按 head SHA 逐一对 workflow runs 核对后的真实状态是:除 lock-sync 外全绿(lock-sync 已由 e76803e 修复)。 决策状态7 楼 🔶(kernel 授权)仍待 owner 拍板——其中「选项 B:随本 PR 一并处理」的子项(512 上限 / ownedHoles 重复)现已闭环,剩余决策收敛为批准合入(推荐):head 9163578 的 CI 正在重跑,预期全绿(本地证据如上 + 上一 head 唯一红项已同步)。审核方依 Kernel Boundary 不 approve,合入权在 owner。合并后 #5647 的 gap 1(supersedes_block_id 全 NULL)可对照本 PR 核销,其余 gap 不受影响。 |
(ai: vllm-qwen/qwen3.8-27b) CI 修复完成:lock-sync 已转绿,当前 head 全部检查通过。 本轮做了什么:
结构化结论:
收工判定:lock-sync 及全部 30 项检查在 head |
(ai: vllm-qwen/qwen3.8-27b) 第二轮 Review(增量,head e6f5fd8 → 9163578):新增 3 commits 全部审过,无阻塞发现;上一轮两项非阻塞发现均已被作者吸收。完整八问见 7 楼,此处只审增量。 增量内容:
增量回归判定:纯重构,展示输出与资格判定均不变(crossesCoveredBy 仍零参与 gate);wire shape 不变。定向复跑(新 head):kernel 新增 6/6 ✓、host nudge-decide + acp-status ×4 共 43/43 ✓;CI 镜像缓存 0 failed / 0 pending,含 lock-sync 转绿 ✓。master 漂移 0(分支不落后)。 判定:维持上轮结论——无阻塞发现;kernel/** 门禁不变,待 owner 授权(见下条 🔶)。 |
🔶 需要决策 (ai: vllm-qwen/qwen3.8-27b) PR #5668(branch 被门禁的 diff(相对 master): 审核结论(两轮):无阻塞发现;上轮两项非阻塞建议均已被作者吸收;定向测试全绿(kernel 新增 6/6、host 43/43),CI 0 failed / 0 pending(含 lock-sync);KDD#12 合规、wire shape 不变、无回归。 选项:
|
(ai: vllm-qwen/qwen3.8-27b) CI 终态确认(head 9163578):按该 SHA 逐一对 workflow runs 核对,12/12 全部 success——主 CI(全量 test 矩阵 11 shards + static-gates ×2、mysql-contract、lock-sync、pi-subagents-guard)与全部 e2e 车道(real pi/dsh/opencode/codex、registry、image-billing、codex-persona 等)均绿,0 failed / 0 pending。此前唯一红项 lock-sync 已随两个 lockfile 同步消掉。 PR 现处于「CI 全绿、等 owner 拍板」状态:🔶(7 楼)的选项 B 子项已闭环,剩余即批准合入。审核方依 Kernel Boundary 不 approve,合入权在 owner。 |
[bot] 🏷 已执行(ai: vllm-qwen/qwen3.8-27b) #5668(本 PR,较老)已转 draft 保护现场;#5676(mirror #5679)保持 open。两条 CI 均绿:#5668 @ 9163578、#5676 @ bc645d8,各 0 failed。 供二选一的事实对照(覆盖相同——都是 #5667 的 A/B/C 三缺陷):
无倾向性结论,取舍归 owner。两点提醒:① 若留用 #5668,web panel 标注面是 #5676 多出的一个渲染点,需补移植;② 若留用 #5676,将按同一流程走独立审核 + kernel 授权卡点。 owner 拍板后:留用方推到底;落选方我会打 duplicate 标签并留「被哪条取代」说明评论——按关闭权政策,实际关闭由 owner 执行。 |
# Conflicts: # kernel/package-lock.json # kernel/package.json # package-lock.json # src/storage/ingest.ts
(ai: vllm-qwen/qwen3.8-27b) Merge conflict resolved and CI is fully green. This notification re-fired while my fix was already in flight — I re-verified everything live before acting, and there was nothing left to fix. What I did this run:
How the conflict was resolved (the work behind
结构化结论(中文):
收工判定:冲突已清、CI 全绿,PR 处于可合并状态( |
[bot] 🏷 (ai: vllm-qwen/qwen3.8-27b) Status confirmation from this run — nothing new to fix, re-verified live just now:
Outcome: conflict resolved, full CI matrix green, no red items remaining in this lane. The PR awaits the owner's decision (note the open #5668-vs-#5676 choice from your 2026-11-05 comment); merge authority stays with you: PR #5668. |
[bot] 🏷 (ai: vllm-qwen/qwen3.8-27b) Status after process restart — no pending work in this lane, re-verified live just now:
I will not poll further; if a new red check or conflict appears on this branch it will trigger this lane again. |
[bot] 🏷 Round-3 复查完成(ai: vllm-qwen/qwen3.8-27b) 结论:与上一轮判定一致,无新增阻塞发现。 新 head 本轮核实的三个新事实:
🔶 需要决策:维持(kernel 人审档)。needs-decision 标签保留。 八问(供人审者)
收工判定:findings-only,不能 approve(kernel 门);待 owner 在 #5668 / #5676 二选一,若留用本条还需 rebase 到最新 master。 |
🔶 需要决策 (ai: vllm-qwen/qwen3.8-27b) The "conflict" trigger no longer matches reality — the PR branch was externally reset to master, emptying the PR. Verified live this run with a fresh fetch; I have NOT touched the branch. Facts (all verified in this run):
Why I stopped instead of fixing it myself: restoring the old head requires a force-push (the old head is not an ancestor of the new tip), which push discipline forbids me without an explicit instruction; re-applying the changeset as fresh commits would be branch management on a deliberately parked draft whose fate awaits your #5668/#5676 decision — a decision, not a mechanical fix. Options:
Recommendation: B if the fix is still wanted (it is — #5667 unfixed upstream per floor 41); C if the reset was deliberate cleanup. Default if undecided: no further action — branch left exactly as found, since both restoration paths carry consequences and the PR is parked for your call anyway. needs-decision 标签已打。 结构化结论(中文):
收工判定:无可修复的红项或冲突(分支=master,diff 为空,最后已知 CI 全绿);唯一待办是 owner 在 A/B/C 中拍板。PR #5668 |
[bot] 🏷 (ai: vllm-qwen/qwen3.8-27b) Conflict resolved again and CI is fully green on new head Timeline of this run (all verified live):
What the merge did:
Verification:
State now: merge state 结构化结论(中文):
收工判定:冲突已清(dirty→blocked)、CI 全绿(12/12 workflow,主 run 27 success + 1 skipped)。剩余仅 owner 侧:#5668/#5676 二选一、kernel 人审授权、合并(人审专属):PR #5668。 |
[bot] 🏷 Round-4 复查完成(ai: vllm-qwen/qwen3.8-27b)——上轮指出的与 master 冲突已被解决,合并质量核实干净。 新 head 合并冲突解决的正确性(本轮重点核查):
本地证据 @ 6d66839:kernel 全套 1637/1637 绿(含三个新回归文件);host 定向(nudge-decide + acp-status ×4)37/37 绿。CI 镜像缓存:0 failed / 13 pending(发布时仍在跑)。 判定不变:findings-only,不能 approve(触碰 八问(供人审者)
收工判定:findings-only 不 approve(kernel 门);本条已对 master 干净待选,🔶 维持。 |
(ai: dog/qwen3.8-27b)
Closes #5667
kernel-change declaration
Changes (4 commits)
supersedesBlockId; written at the single consumption site (compress.ts applySingleRange); ingest.ts passes it through instead of hardcoding null; recap row showssuperseded by <id>. Non-consumption deactivation (syncBlocks orphan-GC/expand) must NOT carry it — both directions pinned (Test Blind Spot Retrospective: Reinforcing Negative Assertion Discipline, Tightening Fake Upstream Strictness, Thin Inst | 测试盲区复盘:补反向断言纪律、假上游严格化、薄安装冒烟、形态矩阵与生命周期覆盖 #3617).crossesCoveredBy?: string[]on CompressibleRange (never participates in eligibility — KDD#12 single-projection iron rule, rows flagged never dropped); computed from the ref-number gap between consecutive group members vs coverage ownership (512-scan cap); rendered uniformly as· spans folded bN[, …]in nudge banner (nudge-text.ts), uncompressed listing (report.ts), decide prompt (nudge-decide.ts).⚠ not foldable: projection failed (…)instead of the flat verdict.Verification
Version-first triage (#2847)
All three defects verified present at tag v0.1.212 — the running version of the forensic session (pi session 01a1a4c7-eff8-7acf-a158-595ea7d3af96) — not master drift.
Related: #5508 (recommendation layer keeps recommending covered spans — this PR's defect B is its display-side entry), #4700/#4723 (tokensSaved also lost its writer at the kernel import — same family, separate open PR, deliberately not duplicated here).