feat(ack): add one-off delivery routing

This commit is contained in:
2026-08-01 15:25:15 +08:00
parent f8d03fad4d
commit a0f1c15b85
21 changed files with 871 additions and 58 deletions
+4
View File
@@ -33,6 +33,7 @@
- 派发 prompt 模板:`references/prompt-templates.md`
- Orca 编排命令(可选):`references/orca-adapter.md`
- 验证后交付与配置维护(可选):`references/delivery.md`
- 一次性源码/DEB/镜像发布路由(可选):`references/delivery-routing.md`
## Worker 路由
@@ -46,6 +47,7 @@ receipt 全部以 `docs/ack/tasks.yaml` 的 `project.orchestration` 与顶层
|------|------------|------|
| Developer | `codex-dev-standard` | standard |
| Test | `codex-test-standard` | standard |
| Operator | `codex-operator-standard` | standard(模型/effort 与 Test 相同) |
| Developer 升级 | `codex-dev-strong` | strong |
项目如改用 Cursor,应修改结构化 profile、allowlist 和 defaults,再运行任务板
@@ -102,6 +104,8 @@ Skill 的 `scripts/run_verification.py` 执行,不直接拼接 path/args。检
## 硬规则(其余见 references/
- 三角色独立:Coordinator 只编排、Test 只验证、Developer 只实现(验证者 ≠ 实现者)。
- 一次性交付 Operator 不进入三角色闭环;它使用 Test 同档模型执行被路由的低层 Skill,
只回传证据,不写 ACK 状态文件。
- 模型分层:Coordinator 用强模型且不亲自跑测试,Test/Developer 用中低模型,必要时升级(见 references/model-routing.md)。
- 自动 worker 只能由 ACK 的 `scripts/launch_worker.py` 按结构化 profile 启动;
禁止直接拼 `orca terminal create --command`,禁止 `command``extraArgs``env`
+42 -4
View File
@@ -249,7 +249,8 @@
"additionalProperties": false,
"properties": {
"developer": { "$ref": "#/definitions/modelTierAllowlist" },
"test": { "$ref": "#/definitions/modelTierAllowlist" }
"test": { "$ref": "#/definitions/modelTierAllowlist" },
"operator": { "$ref": "#/definitions/modelTierAllowlist" }
}
},
"modelAllowlist": {
@@ -274,7 +275,7 @@
"properties": {
"role": {
"type": "string",
"enum": ["developer", "test"]
"enum": ["developer", "test", "operator"]
},
"cli": {
"type": "string",
@@ -304,6 +305,7 @@
"properties": {
"developer": { "$ref": "#/definitions/profileId" },
"test": { "$ref": "#/definitions/profileId" },
"operator": { "$ref": "#/definitions/profileId" },
"developerUpgraded": { "$ref": "#/definitions/profileId" }
}
},
@@ -482,7 +484,10 @@
},
"environmentPolicy": {
"type": "string",
"const": "per-cli-allowlist-v1"
"enum": [
"per-cli-allowlist-v1",
"per-cli-plus-operator-publish-v1"
]
}
}
},
@@ -591,7 +596,7 @@
},
"role": {
"type": "string",
"enum": ["developer", "test"]
"enum": ["developer", "test", "operator"]
}
}
},
@@ -954,6 +959,22 @@
}
]
},
"deliveryOperation": {
"type": "object",
"required": ["skill", "request"],
"additionalProperties": false,
"properties": {
"skill": {
"type": "string",
"enum": [
"manage-release",
"deb-publisher",
"publish-docker-image"
]
},
"request": { "type": "string", "minLength": 1, "pattern": "\\S" }
}
},
"task": {
"type": "object",
"required": ["id", "title", "status"],
@@ -999,6 +1020,7 @@
"stepsToReproduce": { "type": "array", "items": { "type": "string" } },
"expected": { "type": "string" },
"actual": { "type": "string" },
"operation": { "$ref": "#/definitions/deliveryOperation" },
"evidence": { "type": "object" },
"verification": { "type": "object" },
"dispatch": {
@@ -1010,6 +1032,7 @@
"worker": { "type": ["string", "null"] },
"developer": { "$ref": "#/definitions/roleDispatch" },
"test": { "$ref": "#/definitions/roleDispatch" },
"operator": { "$ref": "#/definitions/roleDispatch" },
"rounds": {
"type": "array",
"items": { "$ref": "#/definitions/round" }
@@ -1047,6 +1070,21 @@
},
"required": ["resolution"]
}
},
{
"if": {
"properties": { "type": { "const": "delivery-operation" } },
"required": ["type"]
},
"then": {
"required": ["operation", "dispatch"],
"properties": {
"dispatch": {
"type": "object",
"required": ["operator"]
}
}
}
}
]
}
+19
View File
@@ -39,11 +39,15 @@ project:
strong: ["gpt-5.6-sol"]
test:
standard: ["gpt-5.6-luna"]
operator:
standard: ["gpt-5.6-luna"]
cursor-agent:
developer:
standard: ["auto"]
test:
standard: ["auto"]
operator:
standard: ["auto"]
profiles:
codex-dev-standard:
role: "developer"
@@ -59,6 +63,13 @@ project:
model: "gpt-5.6-luna"
reasoningEffort: "low"
permissionMode: "workspace-write"
codex-operator-standard:
role: "operator"
cli: "codex"
tier: "standard"
model: "gpt-5.6-luna"
reasoningEffort: "low"
permissionMode: "workspace-write"
codex-dev-strong:
role: "developer"
cli: "codex"
@@ -80,9 +91,17 @@ project:
model: "auto"
reasoningEffort: null
permissionMode: "workspace-write"
cursor-operator-standard:
role: "operator"
cli: "cursor-agent"
tier: "standard"
model: "auto"
reasoningEffort: null
permissionMode: "workspace-write"
defaults:
developer: "codex-dev-standard"
test: "codex-test-standard"
operator: "codex-operator-standard"
developerUpgraded: "codex-dev-strong"
workerReceipts: []