Merge branch 'main' into rename

Keep pouch naming and .pouch/ack project state, and bring in ACK
regression mode, deployer test-environment binding, and manage-release
updates from main.
This commit is contained in:
2026-08-25 15:23:48 +08:00
40 changed files with 1968 additions and 224 deletions
+28 -9
View File
@@ -12,7 +12,8 @@
3. `pouch` 命令可用。
不要覆盖已有的 `.pouch/ack/project.md``.pouch/ack/tasks.yaml`
`.pouch/ack/knowledge.yaml``.pouch/ack/delivery.yaml``AGENTS.md` 或其它 Agent
`.pouch/ack/knowledge.yaml``.pouch/ack/delivery.yaml``.pouch/ack/regression.yaml`
`AGENTS.md` 或其它 Agent
指令文件。ACK 不会自动
修改 `AGENTS.md``CLAUDE.md` 或其它 Agent 指令文件。不要把 token、`.env`
内容或其它私有配置写入 ACK 项目状态。
@@ -38,7 +39,8 @@ pouch init ack --project <project-root>
├── project.md
├── tasks.yaml
├── knowledge.yaml
── delivery.yaml # 默认 enabled: false
── delivery.yaml # 默认 enabled: false
└── regression.yaml # 默认 cases: []
```
如果任一目标文件已经存在,命令会拒绝覆盖。初始化过程不会创建 `kit`
@@ -62,6 +64,13 @@ pouch init ack --project <project-root>
`deliveryRuns: []`。首次生成保持 `enabled: false`,按 `delivery.md` 展示并确认
解析结果后才启用。不要重跑 `pouch init ack`,也不要改写已有任务或知识。
### 旧项目补充回归目录
`regression.yaml` 对旧项目是可选能力。用户明确要求回归或授权补齐时,从
`templates/regression.template.yaml` 生成 `.pouch/ack/regression.yaml`,并只补
`project.regressionFile: .pouch/ack/regression.yaml` 与顶层 `regressionRuns: []`
保持 `cases: []`,不要从聊天虚构用例。
## 完善项目覆盖层
编辑 `.pouch/ack/project.md`,填入:
@@ -89,6 +98,8 @@ pouch init ack --project <project-root>
不再参与路径绑定。
- 新项目的 `project.deliveryFile` 固定为 `.pouch/ack/delivery.yaml`,并保留顶层
`deliveryRuns: []`。旧项目只有在采用交付能力时才补这两个字段。
- 新项目的 `project.regressionFile` 固定为 `.pouch/ack/regression.yaml`,并保留顶层
`regressionRuns: []`。旧项目只有在采用回归能力时才补这两个字段。
- `allowedWorktrees` 已废弃(v0.19 起),新任务板不生成该字段;worker 默认在
`--project-root` 工作。模型 allowlist、profiles 和 defaults 使用项目实际允许值。
不要把完整启动命令、`extraArgs``env` 或任意 executable 写进任务板。
@@ -118,10 +129,16 @@ candidate 留在任务证据中,不会被派发。只有 Test 独立验证且
新项目的 `.pouch/ack/delivery.yaml` 保持 `enabled: false`、空能力表、空 profile,以及
`intents.testEnvironment: null``intents.release: null`
不要根据 README 或 CI 自动推断并启用发布/部署。用户用自然语言说明测试环境或发版
方式后,Coordinator 按 `delivery.md` 把两者都写入这一份契约:`intents` 指向对应
profile,工具 target 与仓库脚本分开引用。配置中不保存 shell、环境变量值或凭据
正文;稳定发布和生产部署必须有显式 approval 步骤。
不要根据 README 或 CI 自动推断并启用发布/部署。用户说明测试环境后,Coordinator
按 deployer skill 准备 `.pouch/deployer/<env>`,并把
`intents.testEnvironment` 写成 `{via: deployer, env: <env>}`;发版仍指向 profile。
配置中不保存 shell、环境变量值或凭据正文;稳定发布和生产部署必须有显式
approval 步骤。
## 初始化回归目录
新项目的 `.pouch/ack/regression.yaml` 保持 `cases: []`。不要从 README 或聊天猜测
用例。任务 `verified` 后按 `regression.md` 收获。
## 校验
@@ -132,12 +149,14 @@ python3 <ack-skill-dir>/scripts/validate_tasks.py .pouch/ack/tasks.yaml
python3 <ack-skill-dir>/scripts/validate_knowledge.py .pouch/ack/knowledge.yaml --tasks .pouch/ack/tasks.yaml
python3 <ack-skill-dir>/scripts/validate_delivery.py .pouch/ack/delivery.yaml \
--tasks .pouch/ack/tasks.yaml --project-root <project-root>
python3 <ack-skill-dir>/scripts/validate_regression.py .pouch/ack/regression.yaml \
--tasks .pouch/ack/tasks.yaml
```
同时确认:
- `project.md``tasks.yaml``knowledge.yaml``delivery.yaml` 没有未替换的
`<...>` 占位符。
- `project.md``tasks.yaml``knowledge.yaml``delivery.yaml`
`regression.yaml` 没有未替换的 `<...>` 占位符。
- `project.overlayFile` 指向真实文件。
- `project.knowledgeFile` 指向 `.pouch/ack/knowledge.yaml`
- 新项目的 `project.deliveryFile` 指向 `.pouch/ack/delivery.yaml`;交付默认关闭。
@@ -154,7 +173,7 @@ python3 <ack-skill-dir>/scripts/validate_delivery.py .pouch/ack/delivery.yaml \
完成后报告:
- 创建或确认的四个项目文件。
- 创建或确认的项目文件(含回归目录)
- 检测到的技术栈和验证命令。
- 任务板、项目知识和交付契约校验结果。
- 仍需用户补充的值。