跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

审查时间墙与收尾预算

区分外层硬超时、轮次准入与验证余量,理解中断后的计时。

审查有多层时间约束。外层 qwen review run 超时会终止进程;内部计划时间墙只阻止新审计轮次或验证工作进入,留时间形成结果,不中断已经在运行的 agent。

默认时间墙

计划捕获时按 diff 规模记录小型 8 小时、大型 12 小时、巨大 16 小时。显式 --deadline 分钟值可用于 qwen review fetch-pr、capture-local、plan-diff;none 不记录时间墙,但轮数上限仍在。

/review 斜杠命令不接受 --deadline,会警告并丢弃它及可能的参数。不要写 /review --deadline 123 来选择 PR,数字可能作为被丢弃的 deadline 值。斜杠入口需通过运行环境提供时间约束。

环境覆盖

环境变量用途
QWEN_REVIEW_DEADLINE_EPOCH会被终止的 Unix 秒时间点,优先于计划时间墙
QWEN_REVIEW_DEADLINE_RESERVE_SECONDS为末轮验证、compose 和提交预留;环境 deadline 的默认值 4800,0 只保留轮次估算
QWEN_REVIEW_DEADLINE_COMPOSE_FLOOR_SECONDS验证准入的最小剩余量,默认 1200;0 完全关闭这一门槛

没有 reserve 覆盖时,计划时间墙保留自身三分之一,上限 4800 秒、下限为 compose floor。剩余时间装不下下一轮和预留量,就拒绝新反向审计;若只剩 compose floor 或更少,verify prompt 构建拒绝,返回退出码 4 和 VERIFY BUDGET 说明。

已有发现保留未验证标签,最终结果披露缺口,原本可 Approve 的结论降至 Comment。compose floor 的 0 会连过 deadline 后的此项门槛也关闭,不能理解为仍有默认二十分钟保护。

短 deadline 与巨大差异

捕获时会拒绝装不下两轮收敛和预留量的显式时间墙,默认参数下一般九十分钟及以下不够;环境覆盖可提高要求。即使刚超过门槛,前置发现和验证也可能消耗大部分时间,使第一轮审计无法进入。

巨大 diff 只有遇到显式 deadline(环境 epoch 或捕获参数)才把反向审计上限从五轮降至三轮;默认十六小时时间墙本身不触发该降级。记录值不会因恢复时移除环境变量就自动放大。

停顿也消耗预算

时间墙包括会话闲置;轮次估价还会参考之前两次准入的间隔,因此长时间停顿既减少余额,也可能提高下一轮所需预算。不能把“墙上还剩几小时”直接当作仍能启动下一轮。

新会话 --resume 重置中断尝试的时间墙和估价,同会话继续旧时钟。恢复时新的 --deadline 不改原计划墙;要重新捕获才记录新值。外层 run 的 --timeout-minutes 不会自动导出内部 deadline,所以可以先被硬超时杀掉,而来不及按内部墙收尾。

排障

先看实际使用的是环境 epoch 还是计划墙,再看 reserve、compose floor 和轮次估算。无效环境 deadline 回退计划;计划字段损坏可能使内部不再限时,外层超时仍独立生效。

已经构建中的任务不会被软门槛抢占。需要稳定 CI 退出时,应同时理解无头审查的进程超时和结果退出码,而不是只观察模型的进度文字。