feat(ack): bind test env to deployer and add regression mode

ACK 0.19.0 hands test-environment deploys to the deployer skill,
documents bug-fix as a first-class scenario, and adds
docs/ack/regression.yaml harvest plus a /ack regression run.
This commit is contained in:
2026-08-25 14:41:05 +08:00
parent ee31278947
commit ad6695245b
39 changed files with 1919 additions and 206 deletions
+3 -14
View File
@@ -7,7 +7,9 @@ enabled: true
defaultProfile: "review"
intents:
testEnvironment: test-env
testEnvironment:
via: deployer
env: test
release: null
entrypoints:
@@ -104,19 +106,6 @@ environments:
mutex: "notes-test-deploy"
profiles:
test-env:
stopAt: validation_ready
steps:
- id: build-deb
action: build
artifact: service-deb
- id: deploy-test
action: deploy
artifact: service-deb
environment: test-server
- id: smoke-test
action: health-check
environment: test-server
review:
stopAt: review_ready
steps:
+10 -4
View File
@@ -1,10 +1,11 @@
# notes-web Agent 协作协议(示例,项目覆盖层)
> 本项目基于 ack v0.18.0。
> 本项目基于 ack v0.19.0。
> 通用规范由 `/ack` 从 Skill 自身的 `references/` 读取,本文件只填项目差异。
> 覆盖层文件放在 `docs/ack/project.md`,不占用 `AGENTS.md`。
> ACK 不会自动修改 `AGENTS.md`、`CLAUDE.md` 或其它 Agent 指令文件。
> `docs/ack/` 只保存 `project.md`、`tasks.yaml`、`knowledge.yaml``delivery.yaml`
> `docs/ack/` 只保存 `project.md`、`tasks.yaml`、`knowledge.yaml``delivery.yaml`
> 与 `regression.yaml`。
## 项目概览
@@ -15,6 +16,7 @@
- 任务板:`docs/ack/tasks.yaml`
- 项目知识:`docs/ack/knowledge.yaml`
- 交付契约:`docs/ack/delivery.yaml`
- 回归目录:`docs/ack/regression.yaml`
- 覆盖层文件:`docs/ack/project.md`
## 稳定规范(引用,不重复)
@@ -27,6 +29,7 @@
- 派发 prompt 模板:`references/prompt-templates.md`
- Orca 编排命令:`references/orca-adapter.md`
- 验证后交付:`references/delivery.md`
- 回归目录与运行:`references/regression.md`
## Worker 路由
@@ -55,6 +58,7 @@
| `.env``config/local.*` | Read-only | Read-only | Read-only | 本地私有配置 |
| `tasks.yaml` | R/W | Read-only | Read-only | 只有 Coordinator 写 |
| `knowledge.yaml` | R/W | Read-only | Read-only | 只有 Coordinator 写;Developer/Test 通过回报提名或验证 |
| `regression.yaml` | R/W | Read-only | Read-only | 只有 Coordinator 写;Test 通过 regressionCandidates 提名 |
| `delivery.yaml` | 仅显式维护时 R/W | Read-only | Read-only | 项目交付能力,不是执行授权 |
## 命令
@@ -80,8 +84,10 @@ ID 对应仓库内相对 path 和结构化 args。知识正文不保存或自动
执行时只把检查 ID 交给 Skill 的 `scripts/run_verification.py`,不直接拼接
path/args。
项目状态校验由 `/ack` 使用 Skill 自带的 `scripts/validate_tasks.py`
`scripts/validate_knowledge.py``scripts/validate_delivery.py` 执行。
交付机器入口以 `delivery.yaml` 为准,本覆盖层不维护第二套发布或部署命令
`scripts/validate_knowledge.py``scripts/validate_delivery.py`
`scripts/validate_regression.py` 执行
测试环境由 ACK 内部调用 deployer;发版机器入口以 `delivery.yaml` 为准,本覆盖层
不维护第二套发布或部署命令。
## 硬规则(其余见 references/
@@ -0,0 +1,39 @@
version: 1
updatedAt: "2026-08-25T10:00:00+08:00"
project:
name: "notes-web"
cases:
- id: REG-login-001
title: 登录后进入工作台
status: active
source:
taskId: BUG-001
kind: bug
suite: smoke
surface: browser
setup: 使用测试账号 A,未登录
steps:
- 打开 /login
- 输入账号 A 并提交
expected:
- kind: visible-text
value: 工作台
- kind: url
value: /dashboard
- id: REG-notes-create-001
title: 创建笔记后列表出现标题
status: active
source:
taskId: FEAT-012
kind: feature
suite: full
surface: api
setup: 已登录账号 A,笔记列表为空
steps:
- POST /api/notes 创建标题为回归笔记的条目
- GET /api/notes
expected:
- kind: api-status
value: "200"
- kind: api-field
value: "items[].title=回归笔记"
+3 -1
View File
@@ -3,13 +3,14 @@
version: 1
updatedAt: "2026-07-06T09:40:00+08:00"
source: "Coordinator (PM) Agent"
ackVersion: "0.18.0"
ackVersion: "0.19.0"
project:
name: "notes-web"
baseUrl: "http://localhost:5173"
overlayFile: "docs/ack/project.md"
knowledgeFile: "docs/ack/knowledge.yaml"
deliveryFile: "docs/ack/delivery.yaml"
regressionFile: "docs/ack/regression.yaml"
orchestration:
profileVersion: 1
mode: "manual"
@@ -96,6 +97,7 @@ project:
workerReceipts: []
deliveryRuns: []
regressionRuns: []
summary:
verified: ["BUG-002"]