feat(ack): make OMP yolo config-driven via approvalMode

This commit is contained in:
2026-08-23 22:28:58 +08:00
parent b7b6d814b2
commit e0fffd6845
8 changed files with 94 additions and 27 deletions
+2 -2
View File
@@ -10,7 +10,7 @@
2. 增加 OMP 的模型 allowlist 与 role/profile 配置能力;模型使用 OMP 要求的精确 `provider/model` 选择器,例如 `opencode-go/gpt-5.6-luna`,不从当前 Coordinator 会话自动推断。
3. launcher 在固定可信目录中解析 `omp`,探测并记录版本,生成确定性的启动 argv,并把 CLI、模型、thinking、审批模式、worktree 和版本纳入 fingerprint/receipt。
4. OMP worker 使用交互式 `omp` 命令,通过结构化参数指定模型、thinking、approval mode 和工作目录;Orca 仍负责 terminal orchestration 与任务 dispatch。
5. OMP profile 不允许写入自由 command、额外 argv、shell、环境变量或凭据值;不使用 `--auto-approve``--plan-yolo`、会话续接或其它复用参数;本轮用户已明确批准 workspace-write OMP worker 使用 `--approval-mode yolo` 以避免 exec 工具逐次审批
5. OMP profile 不允许写入自由 command、额外 argv、shell、环境变量或凭据值;不使用 `--auto-approve``--plan-yolo` 或会话复用;是否启用 `--approval-mode yolo` 由 tasks.yaml 的 `approvalMode` 配置决定(可开可关,缺省 workspace-write 开启)
6. 为 OMP 增加 profile 校验、argv 渲染、环境凭据隔离、可信 executable 解析和 launcher plan 的白盒/黑盒测试。
7. 保持 Codex、Cursor、Grok 既有行为不变;不修改 ACK 的三角色职责或 delivery 流程。
@@ -26,7 +26,7 @@
- `omp` 可执行文件必须通过 ACK 固定可信目录解析,不能从调用者 PATH 任意拾取。
- OMP 模型 ID 必须由项目 allowlist 明确声明;当前会话中的 `opencode-go/gpt-5.6-luna` 只有在 profile 明确配置后才可使用。
- `workspace-write` 映射到 OMP 的 `--approval-mode yolo``read-only` 映射到 `--approval-mode always-ask`;不使用 `--auto-approve`
- `approvalMode`(可选,仅 OMP profile)显式控制审批:`yolo` / `write` / `always-ask`;缺省 `workspace-write` → yolo、`read-only` → always-ask
- `workspace-write` 下的 exec 工具是否会因 OMP 审批提示阻塞,由独立 Test 在黑盒环境中验证;若阻塞,必须记录为环境/运行模式问题,不伪报成功。
## 可观测验收标准
+3
View File
@@ -57,6 +57,7 @@ project:
model: "opencode-go/gpt-5.6-luna"
reasoningEffort: "medium"
permissionMode: "workspace-write"
approvalMode: "yolo"
omp-test-standard:
role: "test"
cli: "omp"
@@ -64,6 +65,7 @@ project:
model: "opencode-go/gpt-5.6-luna"
reasoningEffort: "low"
permissionMode: "workspace-write"
approvalMode: "yolo"
omp-dev-strong:
role: "developer"
cli: "omp"
@@ -71,6 +73,7 @@ project:
model: "opencode-go/gpt-5.6-luna"
reasoningEffort: "high"
permissionMode: "workspace-write"
approvalMode: "yolo"
defaults:
developer: "codex-dev-standard"
test: "codex-test-standard"