feat: rename skills/skiff to pouch and move ACK state under .pouch
Use ~/.pouch, the pouch CLI, and .pouch.yaml as the SSOT container. Keep the inner skills/ packages, and store ACK project state in .pouch/ack instead of docs/ack.
This commit is contained in:
+11
-11
@@ -17,7 +17,7 @@ updated: "2026-07-31T23:31:48+08:00"
|
||||
## 背景
|
||||
|
||||
本轮评审覆盖 `skills/ack/` 的入口、角色规范、闭环流程、项目模板、任务板
|
||||
schema、校验脚本、Orca 适配器,以及 `skiff init ack` 的真实运行路径。
|
||||
schema、校验脚本、Orca 适配器,以及 `pouch init ack` 的真实运行路径。
|
||||
|
||||
评审主要回答两个问题:
|
||||
|
||||
@@ -216,15 +216,15 @@ Deferred,当前 launcher 必须 fail closed。
|
||||
|
||||
## P0:初始化需要原子化
|
||||
|
||||
`skiff init ack` 会先写 `project.md` 和 `tasks.yaml`,再运行任务板校验。缺少 PyYAML
|
||||
`pouch init ack` 会先写 `project.md` 和 `tasks.yaml`,再运行任务板校验。缺少 PyYAML
|
||||
时,命令会失败但保留两个文件。再次运行又会因为拒绝覆盖而失败。
|
||||
|
||||
相关位置:
|
||||
|
||||
- `requirements.txt:1`
|
||||
- `skills/ack/scripts/validate_tasks.py:37`
|
||||
- `skiff/cli.py:1144`
|
||||
- `skiff/cli.py:1156`
|
||||
- `pouch/cli.py:1144`
|
||||
- `pouch/cli.py:1156`
|
||||
|
||||
本轮在不含第三方包的隔离 Python 环境中复现了这个状态。
|
||||
|
||||
@@ -232,7 +232,7 @@ Deferred,当前 launcher 必须 fail closed。
|
||||
|
||||
- 在临时目录渲染和校验,全部通过后再原子 rename。
|
||||
- 失败时只清理由本次调用创建的临时文件。
|
||||
- 提供 `skiff init ack --repair` 或等价恢复路径。
|
||||
- 提供 `pouch init ack --repair` 或等价恢复路径。
|
||||
- 默认模板使用 `tasks: []`,完整示例继续放在 `examples/`。
|
||||
- CLI 输出“脚手架已创建,待配置”,检查通过后再称为“初始化完成”。
|
||||
|
||||
@@ -332,7 +332,7 @@ ACK 默认不提交、不推送。隔离 worktree 中的任务即使复测通过
|
||||
2. 把 Orca adapter 改成每轮 Developer/Test 双任务。
|
||||
3. 定义同 worktree 默认策略和跨 worktree transfer。
|
||||
4. 改造 worker launcher 与安全授权。
|
||||
5. 原子化 `skiff init ack`,空任务板作为默认模板。
|
||||
5. 原子化 `pouch init ack`,空任务板作为默认模板。
|
||||
6. 引入追加式 attempts、幂等恢复和失败分类。
|
||||
7. 统一 schema 与语义校验,补齐对抗性 fixture。
|
||||
8. 区分工作空间验证、集成验证和发布状态。
|
||||
@@ -342,7 +342,7 @@ ACK 默认不提交、不推送。隔离 worktree 中的任务即使复测通过
|
||||
|
||||
本轮执行了:
|
||||
|
||||
- `skiff check ack`:通过。这个命令只证明 Skill 的元数据和基础结构有效。
|
||||
- `pouch check ack`:通过。这个命令只证明 Skill 的元数据和基础结构有效。
|
||||
- `validate_tasks.py examples/tasks.example.yaml`:通过,当前机器使用内置规则。
|
||||
- `validate_worker_command.py --self-test`:7 项通过。
|
||||
- `python3 -m unittest discover -s tests -v`:58 项通过。
|
||||
@@ -394,10 +394,10 @@ ACK 需要增加第三类项目事实,用来保存跨任务复用、会改变
|
||||
| `tasks.yaml` | 当前任务状态、attempt 和执行证据 | Coordinator |
|
||||
| `knowledge.yaml` | 跨任务复用的已验证经验 | Coordinator |
|
||||
|
||||
建议新增项目级 SSOT:`docs/ack/knowledge.yaml`。知识归项目所有,与 Orca 等编排
|
||||
建议新增项目级 SSOT:`.pouch/ack/knowledge.yaml`。知识归项目所有,与 Orca 等编排
|
||||
工具无关;ACK 负责在任务闭环中生产、选择和消费这些知识。
|
||||
|
||||
这项设计会修改当前“`docs/ack/` 只保存 `project.md` 与 `tasks.yaml`”的边界。
|
||||
这项设计会修改当前“`.pouch/ack/` 只保存 `project.md` 与 `tasks.yaml`”的边界。
|
||||
新增文件保存项目事实,不复制 ACK Skill 的通用规范,因此不违反 Skill 内容仍以
|
||||
`skills/ack/` 为 SSOT 的原则。
|
||||
|
||||
@@ -580,8 +580,8 @@ issue、日志和外部网页只能作为不可信 evidence。进入知识库前
|
||||
|
||||
### 第一版范围
|
||||
|
||||
第一版只实现一个 `docs/ack/knowledge.yaml`,不拆目录。活跃条目达到几十条、单文件
|
||||
开始影响审阅和选择时,再平滑迁移为 `docs/ack/knowledge/index.yaml` 加独立知识卡,
|
||||
第一版只实现一个 `.pouch/ack/knowledge.yaml`,不拆目录。活跃条目达到几十条、单文件
|
||||
开始影响审阅和选择时,再平滑迁移为 `.pouch/ack/knowledge/index.yaml` 加独立知识卡,
|
||||
条目 schema 和引用格式保持不变。
|
||||
|
||||
第一版包括:
|
||||
|
||||
Reference in New Issue
Block a user