You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug][compress] 0.1.211: external-summary mode reports no-op ranges as failed #5558
When external-summary compression is configured, ranges that are protected or already covered by an active block are reported as a failed compression instead of an idempotent no-op.
Expected
The external-summary path should return the same applied no-op receipt as the normal compression path, without creating another block or invoking the paid summarizer.
Actual
It returns:
[Compression FAILED: no selected range passed the existing kernel protection checks. Nothing compressed.]
This makes an already-covered range look like a new failure and can trigger repeated retries.
Reproduction
On d5a84f1655afdfd3518567c9a709cb13eaad1673:
a fully protected range returns refused rather than an applied no-op;
replaying a range after a successful external-summary fold also returns refused rather than reporting the existing covering block.
Both cases avoid any new paid call or block; only the receipt is wrong.
Scope
External-summary no-op handling only. No kernel changes and no change to real compression, paid summarization, or genuine kernel-error handling.
Activity
fix(compress): resolve superseded refs before the external-summary pr…
docs: cite ranxianglei#5558 in the no-op delegation comment (was unre…
ranxianglei commentedon Nov 2, 2026
[bot] 🏷
(ai: vllm-qwen/qwen3.8-27b)
查重: 不重复。 open+closed 的 issue 与 PR 全文检索(external-summary no-op / protected / covered / "no selected range passed … protection checks")均无命中;当前 master(
dec393f43) 上该 bug 行仍在,无在先修复。已复现并在当前 master 上修好,交付一个闭环 PR:#5564 (Closes #5558)。
结构化八问
noopCompressReceipt()(两车道共用一份文案,杜绝漂移);external 车道在「探测未折叠任何块且 kernel 无 error」时走它(outcome=applied、reason=noop、0 blocks + 实时 recovery hint)。真错误(太小/无法锚定)仍走原 refused 回执,逐字节不变。applyRanges的 no-op 分支是纯抽取(输出逐字节不变,有测试钉住);external 真错误分支保持原样;mixed batch(部分可折叠部分跳过)的partial行为未动;无 breaker/时序/阈值漂移。唯一有意变更见下。"refused"→"applied"(reason=noop)。下游failed标志随之 true→false(不再当失败、不再武装熔断器);不建新块、不发付费调用(这两点原本如此,未变)。普通路径applyRanges输出逐字节不变。验证:基于当前 master,typecheck + build 干净;定向测试全绿 —— 新增
tests/issue5558-ext-summary-noop.test.ts(受保护→applied/noop 无块无付费调用;已覆盖→applied/noop 且点明覆盖块;太小→仍 refused 保真错误路径;普通路径不变),并更新tests/external-summary-runtime.test.ts中钉住旧 refused 的那条断言为 applied/noop(保留"无付费调用+无折叠"保证)。全量回归交 CI。判定:已交付,等 CI + review;合并按仓库规则由人执行。
Merge pull request #5560 from Maziar123/2026-11-02_external-summary-noop