Conversation
… heartbeats The out-of-process watchdog treated a missing heartbeat file as healthy (!mtime → return forever), so a CI runner reclaiming the tmpdir file left the guard silently disarmed — the 2026-08-17 teardown hang burned the full 15m step timeout with no kill despite --progress arming the watchdog. Track missing-since and kill after the timeout instead. Also heartbeat the teardown phases (disposeApps per-app, cleanup, complete): the 2026-08-17 hang sat after 'summary pass=229' with zero attribution; the next hang names the teardown stage it froze in.
…tract The Router's judgment charter lacked the positive obligation behind every disposal: implementation is not the finish line. Encode it as the contract's leading principle (bilingual key prompt): after implementation, keep iterating verification until the delivery bar the user demanded is genuinely met, and the Router owns every judgment on that loop — replan when evidence is insufficient, flow reorganization (extend/replan) when the outcome deviates, a new DAG when the graph is exhausted. Neither a completed node nor a green build closes the loop; only the user's delivery standard does.
fix(test): watchdog silent stand-down on missing heartbeat + teardown heartbeats
feat(policy): verify-to-delivery doctrine in the Verdict Disposal Contract
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
本批次(dev → main)
#317:exerciser 进程外看门狗两处强化——心跳文件缺失不再静默放行(missing-since 追踪,超时照杀)+ teardown 阶段心跳标签(disposeApps 逐 app/cleanup/complete)。修复 2026-08-17 CI 挂起烧满 15 分钟而看门狗未开火的问题;下一个 teardown 挂起将 120s 内被终结并自报现场归因(#316 首个交付物)。
#318:Verdict Disposal Contract 注入持续核验至上线标准原则(双语关键提示词)——路由器判定三职责完整(replan/流程重组/新开 DAG),节点完成与构建绿均不构成闭环。
dev 验证
两 PR Typecheck 门禁均绿后合并;#317 本地双验证(干净 run 零误触发 exit 0;缺文件场景 3 秒开火);#318 测试锚点 21/21 绿。
main 门禁
Typecheck + Unit Tests (linux) + E2E (linux/windows) 四项全绿后合并。