feat: add skill init/check and isolate builder makefile

Give ack, builder, and deployer an explicit init/check mode that reports
missing project config instead of failing mid-work. Point builder at
makefile.builder so its contract targets do not collide with an existing
Makefile.
This commit is contained in:
2026-08-25 16:49:28 +08:00
parent e9d2b5fde6
commit 10d8800f07
21 changed files with 1129 additions and 95 deletions
+6 -5
View File
@@ -68,11 +68,12 @@ intents:
- `testEnvironment` 绑定 deployer skill 的项目环境目录。用户说「重新布测试环境」
「我要测试」时,ACK 加载 deployer 的 `SKILL.md`,对 `.pouch/deployer/<env>`
按服务执行 sync + up 和健康检查。派发 Test 复测或跑回归前,若该 intent 已配置
`enabled: true`Coordinator 也先执行它。不要求当前有 `verified` 任务。
Test 不对这个 intent 发明编译或启动命令。旧的 profile ID 字符串不再执行,必须
迁到 `{via: deployer, env: <env>}`。本地进程启动写在 `project.md`,不算这个
intent
按服务执行 sync + up 和健康检查。环境目录不存在或 deployer `check.py` 未通过
时,加载 deployer skill 的「初始化」,不要在 ACK 里复制 compose 命令。派发
Test 复测或跑回归前,若该 intent 已配置且 `enabled: true`Coordinator 也先
执行它。不要求当前有 `verified` 任务。Test 不对这个 intent 发明编译或启动
命令。旧的 profile ID 字符串不再执行,必须迁到 `{via: deployer, env: <env>}`
本地进程启动写在 `project.md`,不算这个 intent。
- `release` 指向 `stopAt: released` 的 profile。用户说「发布一个版本」时执行它。
口头「发版」不能代替 stable/production 的 `approval` 步骤。
- 对应 intent 为 `null` 或交付未启用:停止,请用户说明怎么做,按「交付配置维护」
+7 -10
View File
@@ -130,8 +130,9 @@ candidate 留在任务证据中,不会被派发。只有 Test 独立验证且
新项目的 `.pouch/ack/delivery.yaml` 保持 `enabled: false`、空能力表、空 profile,以及
`intents.testEnvironment: null``intents.release: null`
不要根据 README 或 CI 自动推断并启用发布/部署。用户说明测试环境后,Coordinator
按 deployer skill 准备 `.pouch/deployer/<env>`并把
`intents.testEnvironment` 写成 `{via: deployer, env: <env>}`;发版仍指向 profile。
`intents.testEnvironment` 写成 `{via: deployer, env: <env>}`
`.pouch/deployer/<env>` 尚未就绪则加载 deployer skill 的「初始化」;发版仍指向
profile。ACK 初始化不自动跑 deployer 初始化。
配置中不保存 shell、环境变量值或凭据正文;稳定发布和生产部署必须有显式
approval 步骤。
@@ -171,12 +172,8 @@ python3 <ack-skill-dir>/scripts/validate_regression.py .pouch/ack/regression.yam
## 初始化报告
完成后报告:
`SKILL.md`「初始化」最后一步的格式报告(`## ack 初始化:完成 | 部分完成 | 阻塞`),
列出已具备项、待配置项(路径 + 字段 + 示例)、工具链和下一步。
- 创建或确认的项目文件(含回归目录)
- 检测到的技术栈和验证命令
- 任务板、项目知识和交付契约校验结果。
- 仍需用户补充的值。
只有结构校验通过且必填项目事实完整时才称“初始化完成”;否则称“部分完成”,并列出
具体阻塞项。除非用户明确要求,不提交、不推送。
只有结构校验通过且必填项目事实完整时才称「完成」;否则称「部分完成」或「阻塞」
除非用户明确要求,不提交、不推送