Skip to content

Commit 11412a3

Browse files
committed
Promote strict orchestrator as mainline skill
1 parent 321db2f commit 11412a3

32 files changed

Lines changed: 1596 additions & 544 deletions

File tree

README.md

Lines changed: 101 additions & 79 deletions
Large diffs are not rendered by default.

docs/ultra-vnext-pilot-guide-CN.md

Lines changed: 93 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -1,145 +1,158 @@
1-
# Codex Ultra Orchestration vNext 试跑说明
1+
# Codex Ultra Orchestration 主线试跑说明
22

33
## 目标
44

5-
这份说明用于试跑 `ultra-orchestration` 仓库中的 vNext 技能树
5+
这份说明用于试跑 `ultra-orchestration` 仓库中的主线 strict 控制面
66

7-
vNext 技能树位置
7+
默认入口已经从 vNext 预览入口收敛为
88

9-
`<REPO_ROOT>\skills-vnext`
9+
```text
10+
$ultra-orchestrator <任务描述>
11+
```
12+
13+
`ultra-vnext-core` 仍然保留为兼容别名,但新用户和新项目默认使用
14+
`ultra-orchestrator`
1015

1116
## 主入口
1217

13-
vNext 只需要一个主入口
18+
推荐调用方式
1419

1520
```text
16-
$ultra-vnext-core <任务描述>
21+
$ultra-orchestrator <任务描述>
1722
```
1823

19-
`ultra-vnext-core` 会根据任务类型自动路由到需要的子技能。用户不需要手动列出 `ultra-brainstorming``ultra-planning``ultra-review` 等全部技能。
24+
OpenSpec 显式调用:
25+
26+
```text
27+
$ultra-orchestrator OpenSpec change <change-id 或路径>: <任务描述>
28+
```
2029

2130
如果客户端提供 slash alias,也可以使用:
2231

2332
```text
24-
/ultra-vnext-core <任务描述>
33+
/ultra-orchestrator <任务描述>
2534
```
2635

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+
### 普通开发任务
5154

5255
```text
53-
$ultra-vnext-core 构建一个工作区模型默认值设置页。
56+
$ultra-orchestrator 构建一个工作区模型默认值设置页。
5457
```
5558

56-
主入口会按需要路由到设计澄清、规划、风险门、执行、审查、QA 和交付阶段。
59+
期望行为:
5760

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`
6168

6269
### OpenSpec 项目
6370

6471
```text
65-
$ultra-vnext-core OpenSpec change <change-id 或路径>: 实现第一个 slice。
72+
$ultra-orchestrator OpenSpec change <change-id 或路径>: 实现第一个 slice。
6673
```
6774

6875
示例 change 路径:
6976

70-
`<PROJECT_ROOT>\openspec\changes\<change-id>`
77+
```text
78+
<PROJECT_ROOT>\openspec\changes\<change-id>
79+
```
80+
81+
期望行为:
7182

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
7386

74-
### Bug 修复
87+
### Review-only
7588

7689
```text
77-
$ultra-vnext-core bugfix: 审批通过后命令执行卡住。
90+
$ultra-orchestrator review this implementation
7891
```
7992

80-
主入口会建立最小调查计划,识别回归面,执行风险判断,并要求交付前提供 QA 证据。
93+
期望行为:
8194

82-
## Planning 是第二道关键门
95+
- 允许 `LIGHT`
96+
- delivery 明确说明为什么未使用 OpenSpec、ledger 或 contract validation
8397

84-
在 vNext 中,`ultra-planning` 是主入口之后的第二道关键门。
98+
## 严格控制面最低要求
8599

86-
只有当 planning 输出满足以下条件,运行才可以进入受控 dispatch
100+
`STRICT``STRICT_OPENSPEC` 运行必须具备
87101

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`
94110

95-
如果 planning 产物仍然依赖聊天上下文才能理解,则试跑视为失败
111+
如果只能产出 Markdown 文档,本次试跑不能算 strict 成功
96112

97113
## 辅助脚本
98114

99115
初始化 run:
100116

101117
```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
105122
```
106123

107-
桥接 OpenSpec change
124+
校验核心 contract
108125

109126
```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
113130
```
114131

115-
校验核心 contract
132+
校验完整 run
116133

117134
```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
121137
```
122138

123-
## 不安装时如何调用
124-
125-
如果暂时不想安装 vNext,可以让 agent 直接读取主入口技能文件:
139+
桥接 OpenSpec change:
126140

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
130145
```
131146

132147
## 成功判断
133148

134-
一次试跑可以认为成功,当它满足:
149+
一次主线试跑可以认为成功,当它满足:
135150

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
140155
- `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 被单独列出

skills-vnext/README.md

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
# Ultra Orchestration vNext Skill Tree
22

3-
This directory contains the vNext preview suite for Ultra Orchestration. The
4-
skills are compatible with agents that support `SKILL.md`-based Agent Skills.
3+
This directory contains vNext compatibility aliases and preview internals for
4+
Ultra Orchestration. The main public entry point now lives in
5+
`../skills/ultra-orchestrator`.
56

67
## Goals
78

8-
- provide a stricter orchestration protocol for complex engineering work
9+
- preserve vNext invocation compatibility while the strict protocol moves into
10+
the mainline `ultra-orchestrator`
911
- keep specification, execution, review, QA, risk, and delivery roles explicit
1012
- support artifact-driven handoff instead of full chat-history inheritance
1113
- make risk decisions, QA evidence, and final delivery logs auditable
@@ -35,8 +37,7 @@ or role boundaries.
3537
## Skills
3638

3739
- `ultra-vnext-core`
38-
primary entry point, router, shared contracts, state-machine rules,
39-
host-driven ledger, and helper scripts
40+
compatibility alias for the mainline `ultra-orchestrator` strict protocol
4041
- `ultra-brainstorming`
4142
design-first discovery and approval gates before planning or coding
4243
- `ultra-planning`
@@ -54,11 +55,11 @@ or role boundaries.
5455
- `openspec-ultra-bridge-v2`
5556
map OpenSpec change assets into Ultra execution artifacts
5657

57-
## Stable To vNext Mapping
58+
## Mainline Relationship
5859

59-
| vNext skill | Stable relationship | Migration type |
60+
| vNext skill | Mainline relationship | Migration type |
6061
|---|---|---|
61-
| `ultra-vnext-core` | `ultra-orchestrator` | shared kernel |
62+
| `ultra-vnext-core` | `ultra-orchestrator` | compatibility alias |
6263
| `ultra-brainstorming` | `clarify-and-intake` + early `autoplan` | enhanced version |
6364
| `ultra-planning` | `decision-complete-planner` | direct counterpart |
6465
| `ultra-execution-control` | `dispatch-and-track` + part of `safety-guard` | integrated version |
@@ -71,20 +72,21 @@ or role boundaries.
7172
## Usage
7273

7374
Install these folders into your target agent's documented skills directory.
74-
Start with the main entry skill:
75+
Start new work with the mainline entry skill:
7576

7677
```text
77-
$ultra-vnext-core <task description>
78+
$ultra-orchestrator <task description>
7879
```
7980

80-
For OpenSpec projects:
81+
Existing vNext prompts still work:
8182

8283
```text
8384
$ultra-vnext-core OpenSpec change <change-id or path>: <task description>
8485
```
8586

86-
`ultra-vnext-core` routes to the other vNext skills as needed, so users do not
87-
need to list every subskill in the startup prompt.
87+
`ultra-vnext-core` should follow the same run-mode decision rules as
88+
`ultra-orchestrator`, including `STRICT_OPENSPEC` preference for development
89+
work.
8890

8991
`ultra-planning` is the hard gate before controlled dispatch. If the resulting
9092
plan still leaves key decisions to the implementer, the run is not ready.

skills-vnext/openspec-ultra-bridge-v2/SKILL.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ description: Bridge OpenSpec change artifacts into Codex Ultra vNext execution c
77

88
OpenSpec is the specification layer. Ultra remains the control plane.
99

10+
This skill is a compatibility bridge for vNext users. The default public entry
11+
point is now `$ultra-orchestrator`, which invokes this bridge as needed.
12+
1013
## What This Skill Does
1114

1215
Translate:
@@ -28,6 +31,8 @@ into:
2831
2. Prefer one bounded `change` as the default execution unit.
2932
3. Use OpenSpec for durable spec memory and archive history.
3033
4. Use Ultra for dispatch, retries, review, QA, and delivery.
34+
5. In `STRICT_OPENSPEC`, do not continue without change scaffold, slice status,
35+
JSON-ready planning artifacts, and ledger handoff.
3136

3237
## How To Use
3338

@@ -38,6 +43,37 @@ into:
3843
set.
3944
5. Hand off those outputs to `ultra-planning` or `ultra-execution-control`.
4045

46+
## Required Change Scaffold
47+
48+
For newly opened strict changes, initialize at minimum:
49+
50+
- `proposal.md`
51+
- `design.md`
52+
- `tasks.md`
53+
- `ultra-bridge.md`
54+
55+
Default status:
56+
57+
- `slice_0_spec_ready` when the change is ready for implementation
58+
- `slice_0_not_opened` only for unopened planned changes
59+
60+
## Slice Contract
61+
62+
Keep `change` and `slice` separate:
63+
64+
- OpenSpec `change` is the durable spec and progress node
65+
- Ultra `slice` is the implementation and verification unit
66+
67+
Every bridge output should name:
68+
69+
- `change_id`
70+
- current slice status
71+
- next slice
72+
- owned paths
73+
- review targets
74+
- QA targets
75+
- blockers for status sync or archive
76+
4177
## Script
4278

4379
Use `scripts/bridge_change.py` to extract and materialize bridge artifacts from

0 commit comments

Comments
 (0)