|
1 | | -# Codex Ultra Orchestration vNext 试跑说明 |
| 1 | +# Codex Ultra Orchestration 主线试跑说明 |
2 | 2 |
|
3 | 3 | ## 目标 |
4 | 4 |
|
5 | | -这份说明用于试跑 `ultra-orchestration` 仓库中的 vNext 技能树。 |
| 5 | +这份说明用于试跑 `ultra-orchestration` 仓库中的主线 strict 控制面。 |
6 | 6 |
|
7 | | -vNext 技能树位置: |
| 7 | +默认入口已经从 vNext 预览入口收敛为: |
8 | 8 |
|
9 | | -`<REPO_ROOT>\skills-vnext` |
| 9 | +```text |
| 10 | +$ultra-orchestrator <任务描述> |
| 11 | +``` |
| 12 | + |
| 13 | +`ultra-vnext-core` 仍然保留为兼容别名,但新用户和新项目默认使用 |
| 14 | +`ultra-orchestrator`。 |
10 | 15 |
|
11 | 16 | ## 主入口 |
12 | 17 |
|
13 | | -vNext 只需要一个主入口: |
| 18 | +推荐调用方式: |
14 | 19 |
|
15 | 20 | ```text |
16 | | -$ultra-vnext-core <任务描述> |
| 21 | +$ultra-orchestrator <任务描述> |
17 | 22 | ``` |
18 | 23 |
|
19 | | -`ultra-vnext-core` 会根据任务类型自动路由到需要的子技能。用户不需要手动列出 `ultra-brainstorming`、`ultra-planning`、`ultra-review` 等全部技能。 |
| 24 | +OpenSpec 显式调用: |
| 25 | + |
| 26 | +```text |
| 27 | +$ultra-orchestrator OpenSpec change <change-id 或路径>: <任务描述> |
| 28 | +``` |
20 | 29 |
|
21 | 30 | 如果客户端提供 slash alias,也可以使用: |
22 | 31 |
|
23 | 32 | ```text |
24 | | -/ultra-vnext-core <任务描述> |
| 33 | +/ultra-orchestrator <任务描述> |
25 | 34 | ``` |
26 | 35 |
|
27 | | -## 技能组成 |
28 | | - |
29 | | -- `ultra-vnext-core` |
30 | | - 主入口、路由器、共享 contracts、状态机、ledger 初始化和 contract 校验脚本 |
31 | | -- `ultra-brainstorming` |
32 | | - 设计先行的澄清流程与显式审批门 |
33 | | -- `ultra-planning` |
34 | | - TaskManifest、WorkPackage、DAG 和写锁边界 |
35 | | -- `ultra-execution-control` |
36 | | - dispatch、freeze/careful/guard、host-driven ledger |
37 | | -- `ultra-review` |
38 | | - spec fidelity、evidence、downside risk 审查 |
39 | | -- `ultra-qa` |
40 | | - static + dynamic QA 双模式 |
41 | | -- `ultra-risk-vetting` |
42 | | - 风险分级、审批门槛和护栏选择 |
43 | | -- `ultra-delivery` |
44 | | - final deliverable、orchestration log、vetter report 和 retro 交付 |
45 | | -- `openspec-ultra-bridge-v2` |
46 | | - 将 OpenSpec change 资产桥接成 Ultra 执行工件 |
47 | | - |
48 | | -## 推荐调用方式 |
49 | | - |
50 | | -### 通用任务 |
| 36 | +## 运行模式 |
| 37 | + |
| 38 | +主入口启动后必须先判断运行模式: |
| 39 | + |
| 40 | +- `LIGHT` |
| 41 | + 适合 review-only、QA-only、解释类或用户明确要求轻量执行的任务。 |
| 42 | +- `STANDARD` |
| 43 | + 适合用户明确要求快速编排、且风险低的任务。 |
| 44 | +- `STRICT` |
| 45 | + 适合无法使用 OpenSpec,但仍需要 ledger 和 JSON contracts 的开发任务。 |
| 46 | +- `STRICT_OPENSPEC` |
| 47 | + 开发任务默认优先模式,适合 feature、bugfix、多文件实现、pilot、完整控制面验证和 slice DAG 执行。 |
| 48 | + |
| 49 | +开发任务应优先进入 `STRICT_OPENSPEC`。如果无法使用该模式,agent 必须说明降级原因。 |
| 50 | + |
| 51 | +## 推荐试跑 |
| 52 | + |
| 53 | +### 普通开发任务 |
51 | 54 |
|
52 | 55 | ```text |
53 | | -$ultra-vnext-core 构建一个工作区模型默认值设置页。 |
| 56 | +$ultra-orchestrator 构建一个工作区模型默认值设置页。 |
54 | 57 | ``` |
55 | 58 |
|
56 | | -主入口会按需要路由到设计澄清、规划、风险门、执行、审查、QA 和交付阶段。 |
| 59 | +期望行为: |
57 | 60 |
|
58 | | -最短成功链路: |
59 | | - |
60 | | -`ultra-vnext-core -> auto route -> ultra-planning -> review-ready TaskManifest / WorkPackages` |
| 61 | +- 默认优先 `STRICT_OPENSPEC` |
| 62 | +- 若没有现成 OpenSpec change,先创建或要求创建 change scaffold |
| 63 | +- 初始化 run ledger |
| 64 | +- 产出 JSON `TaskManifest` 和 JSON `WorkPackage` |
| 65 | +- 运行 contract validation |
| 66 | +- 按 slice DAG 推进 |
| 67 | +- delivery 输出 `control_surface_used` |
61 | 68 |
|
62 | 69 | ### OpenSpec 项目 |
63 | 70 |
|
64 | 71 | ```text |
65 | | -$ultra-vnext-core OpenSpec change <change-id 或路径>: 实现第一个 slice。 |
| 72 | +$ultra-orchestrator OpenSpec change <change-id 或路径>: 实现第一个 slice。 |
66 | 73 | ``` |
67 | 74 |
|
68 | 75 | 示例 change 路径: |
69 | 76 |
|
70 | | -`<PROJECT_ROOT>\openspec\changes\<change-id>` |
| 77 | +```text |
| 78 | +<PROJECT_ROOT>\openspec\changes\<change-id> |
| 79 | +``` |
| 80 | + |
| 81 | +期望行为: |
71 | 82 |
|
72 | | -主入口会先路由到 `openspec-ultra-bridge-v2`,再继续进入 Ultra 的规划、执行、审查、QA 和交付流程。 |
| 83 | +- 通过 `openspec-ultra-bridge` 桥接 proposal、design、tasks 和 ultra-bridge |
| 84 | +- 将 OpenSpec change 转成 Ultra execution artifacts |
| 85 | +- 再进入 planning、risk、dispatch、review、QA 和 delivery |
73 | 86 |
|
74 | | -### Bug 修复 |
| 87 | +### Review-only |
75 | 88 |
|
76 | 89 | ```text |
77 | | -$ultra-vnext-core bugfix: 审批通过后命令执行卡住。 |
| 90 | +$ultra-orchestrator review this implementation |
78 | 91 | ``` |
79 | 92 |
|
80 | | -主入口会建立最小调查计划,识别回归面,执行风险判断,并要求交付前提供 QA 证据。 |
| 93 | +期望行为: |
81 | 94 |
|
82 | | -## Planning 是第二道关键门 |
| 95 | +- 允许 `LIGHT` |
| 96 | +- delivery 明确说明为什么未使用 OpenSpec、ledger 或 contract validation |
83 | 97 |
|
84 | | -在 vNext 中,`ultra-planning` 是主入口之后的第二道关键门。 |
| 98 | +## 严格控制面最低要求 |
85 | 99 |
|
86 | | -只有当 planning 输出满足以下条件,运行才可以进入受控 dispatch: |
| 100 | +`STRICT` 和 `STRICT_OPENSPEC` 运行必须具备: |
87 | 101 |
|
88 | | -- 有 `TaskManifest` |
89 | | -- 有一个或多个 `WorkPackage` |
90 | | -- owned paths 明确 |
91 | | -- acceptance checks 可验证 |
92 | | -- 依赖顺序明确 |
93 | | -- risk 和 retry 假设明确 |
| 102 | +- `ledger.json` |
| 103 | +- JSON `TaskManifest` |
| 104 | +- JSON `WorkPackage` |
| 105 | +- JSON 或结构化 `AgentResult` |
| 106 | +- `validate_contracts.py` 校验结果 |
| 107 | +- review 结论 |
| 108 | +- QA 结论 |
| 109 | +- `control_surface_used` |
94 | 110 |
|
95 | | -如果 planning 产物仍然依赖聊天上下文才能理解,则试跑视为失败。 |
| 111 | +如果只能产出 Markdown 文档,本次试跑不能算 strict 成功。 |
96 | 112 |
|
97 | 113 | ## 辅助脚本 |
98 | 114 |
|
99 | 115 | 初始化 run: |
100 | 116 |
|
101 | 117 | ```powershell |
102 | | -python <REPO_ROOT>\skills-vnext\ultra-vnext-core\scripts\new_run.py ` |
103 | | - <PROJECT_ROOT>\runs-vnext ` |
104 | | - --run-id run-001 |
| 118 | +python <REPO_ROOT>\skills\ultra-orchestrator\scripts\new_run.py ` |
| 119 | + <PROJECT_ROOT>\runs ` |
| 120 | + --run-id run-001 ` |
| 121 | + --run-mode STRICT_OPENSPEC |
105 | 122 | ``` |
106 | 123 |
|
107 | | -桥接 OpenSpec change: |
| 124 | +校验核心 contract: |
108 | 125 |
|
109 | 126 | ```powershell |
110 | | -python <REPO_ROOT>\skills-vnext\openspec-ultra-bridge-v2\scripts\bridge_change.py ` |
111 | | - <PROJECT_ROOT>\openspec\changes\<change-id> ` |
112 | | - <PROJECT_ROOT>\runs-vnext\bridge-output |
| 127 | +python <REPO_ROOT>\skills\ultra-orchestrator\scripts\validate_contracts.py ` |
| 128 | + <PROJECT_ROOT>\runs\run-001\ledger.json ` |
| 129 | + --kind executionledger |
113 | 130 | ``` |
114 | 131 |
|
115 | | -校验核心 contract: |
| 132 | +校验完整 run: |
116 | 133 |
|
117 | 134 | ```powershell |
118 | | -python <REPO_ROOT>\skills-vnext\ultra-vnext-core\scripts\validate_contracts.py ` |
119 | | - <PROJECT_ROOT>\runs-vnext\run-001\ledger.json ` |
120 | | - --kind executionledger |
| 135 | +python <REPO_ROOT>\skills\ultra-orchestrator\scripts\validate_run.py ` |
| 136 | + <PROJECT_ROOT>\runs\run-001 |
121 | 137 | ``` |
122 | 138 |
|
123 | | -## 不安装时如何调用 |
124 | | - |
125 | | -如果暂时不想安装 vNext,可以让 agent 直接读取主入口技能文件: |
| 139 | +桥接 OpenSpec change: |
126 | 140 |
|
127 | | -```text |
128 | | -请读取并使用 <REPO_ROOT>\skills-vnext\ultra-vnext-core\SKILL.md。 |
129 | | -任务:OpenSpec change <PROJECT_ROOT>\openspec\changes\<change-id>,实现第一个 slice。 |
| 141 | +```powershell |
| 142 | +python <REPO_ROOT>\skills-vnext\openspec-ultra-bridge-v2\scripts\bridge_change.py ` |
| 143 | + <PROJECT_ROOT>\openspec\changes\<change-id> ` |
| 144 | + <PROJECT_ROOT>\runs\bridge-output |
130 | 145 | ``` |
131 | 146 |
|
132 | 147 | ## 成功判断 |
133 | 148 |
|
134 | | -一次试跑可以认为成功,当它满足: |
| 149 | +一次主线试跑可以认为成功,当它满足: |
135 | 150 |
|
136 | | -- 用户只需要调用 `ultra-vnext-core` 主入口 |
137 | | -- 主入口能正确识别通用任务、OpenSpec change 或 bugfix |
138 | | -- 实现前存在明确 design 或 OpenSpec change |
139 | | -- `ultra-planning` 已作为第二道关键门发挥作用 |
| 151 | +- 用户只需要调用 `ultra-orchestrator` |
| 152 | +- 开发任务默认优先 `STRICT_OPENSPEC` |
| 153 | +- 无 OpenSpec change 时不会直接降级为 Markdown-only 编排 |
| 154 | +- strict run 使用 ledger、JSON artifacts 和 contract validation |
140 | 155 | - `TaskManifest` 和 `WorkPackage` 不依赖聊天历史也能被理解 |
141 | | -- 风险门有明确分级和 guardrail |
142 | | -- review 有 accept / reject / reroute 结论 |
143 | | -- QA 明确区分 static evidence 与 dynamic evidence |
144 | | -- delivery 产出 `final_deliverable`、`orchestration_log`、`vetter_report` |
145 | | -- 残余风险和 follow-up 被单独列出 |
| 156 | +- slice status、owned paths、review gate 和 QA gate 明确 |
| 157 | +- delivery 输出 `final_deliverable`、`orchestration_log`、`vetter_report` 和 `control_surface_used` |
| 158 | +- 残余风险和 skipped control surfaces 被单独列出 |
0 commit comments