Files
AirPlan-V2/commands/do.md
AirPlan a60d1a0c04 fix: Windows兼容性修复 + P1-24弱模型优化 + 3.2.9b禁止降级方案 + AirRvr三层审查放行标准
- 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>
2026-06-15 09:58:29 +08:00

137 lines
4.7 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
description: "AirPlan do mode - task executor with UI skill routing and full expert plugin routing"
argument-hint: "[enter|status|finish]"
allowed-tools: "[Read, Glob, Grep, Bash, Write, Edit]"
---
# /do
AirDo 是任务执行器。运行单个任务,强制执行全专家插件路由规则。
## 硬规则
1. **UI Task Handling (P1-20)** — 当任务涉及 UI/前端/界面时,检测并确保 frontend-design Skill 可用。不可用时阻止执行
2. **Evidence Gate (INV-4)** — GUI 任务需截图,网络任务需抓包,代码任务需静态分析/测试
3. **全专家插件强制路由** — finish 时按任务类型和状态强制路由到对应专家插件,不可跳过
4. **禁止降级实现 (3.2.9b)** — 必须严格遵循 AirArc 设计方案,禁止以下行为和语言模式:
- 禁止使用"兜底方案"、"先这样做"、"以后再补"、"临时方案"等降级语言
- 禁止自行发明替代方案绕过设计约束
- 禁止以"能跑就行"为标准降低实现质量
- 设计方案无法执行时:报 blocked 并说明原因,等待 Eng 协调
## 子命令
### enter — 进入 Worker
```bash
python scripts/airplan.py --mode do --project . --sub enter --task-id T-001 --task-text "实现登录界面UI"
```
参数:
- `--task-id`:任务 ID必须
- `--task-text`:任务描述文本(用于 UI 检测和路由,必须)
创建 `AirPlan/state/airdo/tasks/{task_id}/worker-state.json`。返回 `{taskId, briefPath, resultPath, workerStatePath, uiRouting}`
### status — 查看 Worker 状态
```bash
python scripts/airplan.py --mode do --project . --sub status
```
### finish — 完成 Worker含全专家插件路由决策
```bash
python scripts/airplan.py --mode do --project . --sub finish --task-id T-001 --result AirPlan/state/airdo/tasks/T-001/result.json
```
finish 执行强制路由(按优先级):
| 条件 | 路由目标 | 强制 |
|------|---------|------|
| blocked / failed | `airdbg` | 是 |
| done + 无 validations + 无 files_changed | `airdbg` | 是 |
| GUI 任务gui/ui/render/widget/dialog 等) | `airxdb` | 是 |
| 网络任务network/rtsp/http/tcp/socket 等) | `airndb` | 是 |
| C/C++ 文件变更(.cpp/.h/.hpp 等) | `airsdb` | 是 |
| 所有 done 任务 | `airrvr` | 是 |
| 无强制路由触发 | `merge` | 否 |
返回 `routingDecisions` 列表(可能有多个路由目标,依次处理)。
## AirDbg 路由 — 调试修复
当 finish 返回 `routingDecisions``airdbg` 时:
```bash
# 1. 启动调试会话
python scripts/airplan.py --mode dbg --project . --sub start --task-id {tid}
# 2. Dbg 按 7 步工作流调试(取证→定位→修复→验证)
# 3. Dbg 完成后,重新 finish:
python scripts/airplan.py --mode do --project . --sub finish --task-id {tid} --result AirPlan/state/airdo/tasks/{tid}/result.json
```
## AirXDB 路由 — GUI 截图取证
当 finish 返回 `routingDecisions``airxdb` 时:
```bash
python scripts/airplan.py --mode xdb --project . --prefer auto --output task-{tid}-screenshot.png
```
截图路径写入 result.json 的 `xdbSessions` 字段后重新 finish。
## AirNDB 路由 — 网络抓包取证
当 finish 返回 `routingDecisions``airndb` 时:
```bash
python scripts/airplan.py --mode ndb --project . --sub enter
# 然后 tcpdump/tshark 抓包,存入 AirPlan/state/airndb/captures/
```
抓包路径写入 result.json 的 `ndbSessions` 字段后重新 finish。
## AirSDB 路由 — C/C++ 静态分析
当 finish 返回 `routingDecisions``airsdb` 时:
```bash
python scripts/airplan.py --mode sdb --project . --backend cppcheck --target ./src
```
分析报告路径写入 result.json 的 `sdbReports` 字段后重新 finish。
## AirRvr 路由 — 需求一致性审查
当 finish 返回 `routingDecisions``airrvr` 时:
```bash
python scripts/airplan.py --mode rvr --project . --task-id {tid} --sub review
```
审查通过后重新 finish此时 Rvr 证据已写入 validations。
## 证据采集 — 辅助命令
**GUI 任务截图**
```bash
python scripts/airplan.py --mode xdb --project . --prefer auto --output task-{tid}-screenshot.png
```
**网络任务抓包**
```bash
python scripts/airplan.py --mode ndb --project . --sub enter
```
**代码任务静态分析**
```bash
python scripts/airplan.py --mode sdb --project . --backend cppcheck --target ./src
```
**代码任务测试**
```bash
python scripts/airplan.py --mode tst --project . --sub run --task-id {tid} --framework googletest
```
## UI 任务检测关键词(中英文)
gui, ui, render, layout, dialog, osd, overlay, visual, widget, pane, toolbar, canvas, button, window, popup, menu, drm, kms, opengl, vulkan, frontend, react, vue, angular, web, css, html, 界面, 按钮, 对话框, 窗口, 菜单, 控件, 渲染, 布局