feat(ack): add grok workers and allow --always-approve

Grok is a first-class worker CLI. Launcher argv includes --always-approve so
unattended tool calls are not blocked; sandbox stays required.
This commit is contained in:
2026-08-23 19:08:54 +08:00
parent c113f68bf4
commit 7dfdf80e9e
28 changed files with 679 additions and 78 deletions
+16
View File
@@ -32,6 +32,7 @@
"type": ["string", "null"],
"pattern": "^[a-z][a-z0-9-]{0,63}$"
},
"intents": { "$ref": "#/definitions/intents" },
"entrypoints": {
"type": "object",
"propertyNames": { "$ref": "#/definitions/id" },
@@ -63,6 +64,21 @@
"type": "string",
"pattern": "^[a-z][a-z0-9-]{0,63}$"
},
"intents": {
"type": "object",
"required": ["testEnvironment", "release"],
"additionalProperties": false,
"properties": {
"testEnvironment": {
"type": ["string", "null"],
"pattern": "^[a-z][a-z0-9-]{0,63}$"
},
"release": {
"type": ["string", "null"],
"pattern": "^[a-z][a-z0-9-]{0,63}$"
}
}
},
"relativePath": {
"type": "string",
"minLength": 1,
@@ -7,6 +7,11 @@ project:
enabled: false
defaultProfile: null
# 测试环境部署和版本发布都写在本文件。null 表示用户尚未说明该操作。
intents:
testEnvironment: null
release: null
# 所有可执行入口都使用结构化 argv 语义;requiredSecrets 只保存名称,不保存值。
# 不在此保存 shell、env 或凭据正文。
entrypoints: {}
+7 -5
View File
@@ -48,7 +48,7 @@ receipt 全部以 `docs/ack/tasks.yaml` 的 `project.orchestration` 与顶层
| Test | `codex-test-standard` | standard |
| Developer 升级 | `codex-dev-strong` | strong |
项目如改用 Cursor,应修改结构化 profile、allowlist 和 defaults,再运行任务板
项目如改用 Cursor 或 Grok,应修改结构化 profile、allowlist 和 defaults,再运行任务板
校验;不能在这里粘贴 `orca --command`、Agent CLI 参数或自由 shell。
每次自动派发必须先审阅 launcher plan,再把其中的 `launchFingerprint` 作为
`--expected-launch-fingerprint` 启动 fresh worker。`receiptHash` 只作审计 checksum
@@ -79,7 +79,7 @@ Developer 白盒验证:
<local_run_command>
```
Test 黑盒复测:
Test 黑盒复测(服务启动以 `delivery.yaml``intents.testEnvironment` 为准)
```bash
<preflight_command>
@@ -97,7 +97,8 @@ Skill 的 `scripts/run_verification.py` 执行,不直接拼接 path/args。检
项目状态校验由 `/ack` 使用 Skill 自带的 `scripts/validate_tasks.py`
`scripts/validate_knowledge.py``scripts/validate_delivery.py` 执行。
构建/发布/部署的机器入口以 `delivery.yaml` 为准;本文件不维护第二套交付命令。
构建、测试环境部署和版本发布的机器入口以 `delivery.yaml` `intents` 为准;
本文件不维护第二套交付命令。
## 硬规则(其余见 references/
@@ -118,8 +119,9 @@ Skill 的 `scripts/run_verification.py` 执行,不直接拼接 path/args。检
- Developer 回报 `knowledgeApplied``knowledgeCandidates`Test 回报
`knowledgeChecks`。关键约束应下沉为测试、lint、CI 或正式规范。
- ACK 不自动修改 `AGENTS.md``CLAUDE.md` 或其它 Agent 指令文件。
- `delivery.yaml` 默认关闭,只描述能力,不自动授权提交、推送、发布或部署;交付仅在
任务 `verified` 且本次 profile/目标/停止点得到确认后运行。
- `delivery.yaml` 默认关闭,只描述能力,不自动授权提交、推送、发布或部署。测试环境
与发版都写在这份契约的 `intents` 里;用户明确要求重新部署测试环境或发布版本时
才执行对应 intent。常规交付仍在任务 `verified` 且本次 profile 得到确认后运行。
- 默认交付 profile 最多到 `validation_ready``review_ready`stable 发布或 production 部署必须有
approval 步骤并再次获得明确批准。配置变更只影响下一次 run。
- 每个任务最多派发 3 轮,仍不过标记 `leftover` 并继续下一个。
+10 -4
View File
@@ -338,7 +338,8 @@
"additionalProperties": false,
"properties": {
"codex": { "$ref": "#/definitions/modelRoleAllowlist" },
"cursor-agent": { "$ref": "#/definitions/modelRoleAllowlist" }
"cursor-agent": { "$ref": "#/definitions/modelRoleAllowlist" },
"grok": { "$ref": "#/definitions/modelRoleAllowlist" }
}
},
"workerProfile": {
@@ -359,7 +360,7 @@
},
"cli": {
"type": "string",
"enum": ["codex", "cursor-agent"]
"enum": ["codex", "cursor-agent", "grok"]
},
"tier": {
"type": "string",
@@ -517,7 +518,7 @@
"properties": {
"cli": {
"type": "string",
"enum": ["codex", "cursor-agent"]
"enum": ["codex", "cursor-agent", "grok"]
},
"tier": {
"type": "string",
@@ -989,9 +990,14 @@
"type": "string",
"pattern": "^[a-z][a-z0-9-]{0,63}$"
},
"intent": {
"type": "string",
"enum": ["testEnvironment", "release"],
"description": "用户触发的测试环境或发版操作;有 intent 时 taskIds 可为 []"
},
"taskIds": {
"type": "array",
"minItems": 1,
"minItems": 0,
"uniqueItems": true,
"items": { "type": "string", "minLength": 1 }
},
+27
View File
@@ -44,6 +44,12 @@ project:
standard: ["auto"]
test:
standard: ["auto"]
grok:
developer:
standard: ["grok-4.5"]
strong: ["grok-4.6"]
test:
standard: ["grok-4.5"]
profiles:
codex-dev-standard:
role: "developer"
@@ -80,6 +86,27 @@ project:
model: "auto"
reasoningEffort: null
permissionMode: "workspace-write"
grok-dev-standard:
role: "developer"
cli: "grok"
tier: "standard"
model: "grok-4.5"
reasoningEffort: "medium"
permissionMode: "workspace-write"
grok-test-standard:
role: "test"
cli: "grok"
tier: "standard"
model: "grok-4.5"
reasoningEffort: "low"
permissionMode: "workspace-write"
grok-dev-strong:
role: "developer"
cli: "grok"
tier: "strong"
model: "grok-4.6"
reasoningEffort: "high"
permissionMode: "workspace-write"
defaults:
developer: "codex-dev-standard"
test: "codex-test-standard"