- lock.py: 跨平台进程锁(Unix fcntl / Windows msvcrt / O_CREAT|O_EXCL降级)
- eng_mode.py/eng_orchestrator.py: hasattr(os, "getloadavg") Windows防护
- arc_mode.py: 路径分隔符 replace("\\", "/") Windows兼容
- deploy_runtime.py: 修复语法错误(清理 import tempfile 残留)
- P1-24(3.2.18): AMBIGUOUS_VERBS歧义词检测 + SAFE_VERBS安全动词 + validate_task_description()
- TaskNode.keep_constraints 保留约束字段 + JSON序列化
- _build_graph_from_todo 返回歧义警告 + Arc自检集成
- 3.2.9b: FORBIDDEN_DEGRADATION_PATTERNS + check_forbidden_degradation()
- AirRvr三层审查放行标准: ReviewVerdict + evaluate_review_pass() + is_forbidden_pass_reason()
- commands/arc.md: 弱模型安全重写(操作类型拆分+保留约束+自检)
- commands/do.md/eng.md/rvr.md: 禁止降级方案 + 三层审查标准
- 测试: 7个新测试 + 74全量通过
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3.4 KiB
Executable File
3.4 KiB
Executable File
description, argument-hint, allowed-tools
| description | argument-hint | allowed-tools |
|---|---|---|
| AirPlan rvr mode - requirement reviewer with highRiskAudit and code-to-design | [review|status] | [Read, Glob, Grep, Bash, Write, Edit] |
/rvr
AirRvr 是需求审查器。基于原始需求文档对已完成任务进行独立审查,验证交付物与需求的一致性。含 highRiskAudit(生命周期/空指针/悬垂指针/异常安全/并发)和 Code-to-Design 逐行对照。
硬规则
- code-to-design 对照 — 每次审查必须逐行对照代码实现与设计文档(ADR、C4、需求)
- 高风险审计 — 终审必须包含 lifecycle/nullPointer/danglingPointer/exceptionSafety/concurrency 五项检查
- 审查放行标准(三层,不可降级):
- 第一层(最高优先级): Code-to-Design 逐行对照 — codeToDesignTable 中不得有 status=divergent 或 status=missing 的条目,任何 divergent/missing 必须修复后才能放行
- 第二层(必选): 静态分析通过 — AirSDB 报告无 critical/high severity finding,生命周期/空指针/悬垂指针/异常安全专项审计通过
- 第三层(必选): 测试通过 — 单元测试全部通过,接口测试全部通过,GUI 任务需 AirXDB 截图证据与设计稿一致
- 三层全部通过 → verdict=pass;第一层有 divergent/missing → verdict=fail(即使测试全绿);第一层通过但第二/三层有问题 → verdict=conditional-pass
- 禁止表面理由判定 pass — 以下理由不得单独作为 pass 依据:"测试 pass"/"测试全绿"、"实现存在"/"函数存在"、"编译通过"/"无报错"、"能跑通"/"功能可用"。以上仅为必要不充分条件。
- verdict 控制合并 — fail 阻止合并,conditional-pass 记录遗留项,pass 正常合并
- deliveryVerdict = block-release — eng dispatch 阻止所有后续派发
- 降级语言检测 (3.2.9b) — 在 code-to-design 审查中检测 Worker 是否使用了降级语言("兜底方案"、"先这样做"、"临时方案"等),检测到则 verdict 直接判定 fail,要求按原始设计重新实现
审查模式
| 模式 | 触发时机 | 审查范围 |
|---|---|---|
| per-task | 单个任务完成后 | 单任务 |
| per-wave | 波次所有任务完成后 | 整波 |
| per-milestone | 项目阶段结束时 | 全量(比对 requirements.md) |
子命令
review — 执行审查
python scripts/airplan.py --mode rvr --project . --sub review --task-id T-001
返回 {task_id, verdict, report_path}。审查报告含 coverage/intentAlignment/regressionRisk/codeQuality/lifecycleHealth/runtimeStability/codeToDesignTable/highRiskAudit。
制品:AirPlan/state/airrvr/reviews/{task_id}-{ts}.json
status — 查看审查状态
python scripts/airplan.py --mode rvr --project . --sub status
集成路径
Eng merge 时自动检查:merge_worker_result Phase 1.5 自动调用 get_verdict_for_task(task_id):
verdict=fail→ 抛出ValueError阻止合并verdict=conditional-pass→ 记录 residualItems 但允许合并deliveryVerdict=block-release→ dispatch_worker_group 阻止所有后续派发
触发方式:设置 reviewPolicy.requireBeforeMerge=true 或在 result 中设 requireReview=true。
INVALIDATED 任务清理检查(P1-21):ADR 变更级联失效后,手动调 check_invalidated_cleanup() 验证旧代码已清理。