Files
.pouch/skills/ack/references/adoption-checklist.md
T
2026-08-03 17:07:21 +08:00

5.9 KiB
Raw Blame History

ACK 接入清单

安装与初始化

  • ACK Skill 已全局安装或安装到当前项目。
  • 已运行 skiff init ack --project <project-root>
  • docs/ack/ 只包含项目自己的 project.mdtasks.yamlknowledge.yaml 与 默认关闭的 delivery.yaml
  • 旧项目缺少 knowledge.yaml 时,只补空文件及缺失的 project.knowledgeFile 指针,没有重跑初始化或覆盖其它项目状态。
  • 项目中没有 ACK Skill 的复制目录或 kitframework 软链接。
  • tasks.yaml 使用 ackVersion 记录 ACK Skill 版本。

项目覆盖层

  • project.md 只保存项目差异,不复制 Skill 的通用规范。
  • tasks.yamlproject.overlayFile 指向实际覆盖层。
  • tasks.yamlproject.knowledgeFile 固定为 docs/ack/knowledge.yaml
  • 新项目的 project.deliveryFile 固定为 docs/ack/delivery.yaml,顶层有 deliveryRuns: [];旧项目未采用交付能力时可无这两项。
  • 技术栈、运行、构建、单测和集成测试命令均来自项目证据。
  • Coordinator、Developer、Test 的模型档位和升级规则已明确。
  • project.orchestration 使用受支持的 profileVersion,模型都命中项目 allowlist,默认 profile 与角色/档位一致。
  • allowedWorktrees 只列出同一 Git common-dir 下已经核对的绝对 worktree。
  • tasks.yaml 不需要保存 repoPathdevWorktree;项目状态从当前 --project-root/docs/ack/ 推导,worker 路径由 --worktreeallowedWorktrees 共同约束。

路径权限

  • Coordinator 可写规格和任务板。
  • Test 可写集成测试与复测记录,但不能改源码。
  • Developer 可写源码与单元测试,但不能改规格或黑盒验收。
  • 私有配置只读且不提交。
  • tasks.yaml 只有 Coordinator 写。
  • knowledge.yaml 只有 Coordinator 写;Developer 与 Test 只通过回报提名或验证。
  • delivery.yaml 只在用户显式维护配置时修改;Developer 与 Test 只读。

任务板

  • 已替换项目名、仓库路径、Base URL、worktree 和覆盖层路径。
  • 没有真实任务时使用 tasks: []
  • 真实任务的验收是可观测信号。
  • 已运行 <ack-skill-dir>/scripts/validate_tasks.py 并通过。

可选交付

  • delivery.yaml 首次生成保持 enabled: false,没有根据 README/CI 自动启用。
  • entrypoint 只使用声明式工具 target 或仓库内无 symlink 的可执行脚本;没有 shell、自由 command、凭据值或环境变量值。
  • artifact、destination、environment 和 profile 引用均通过 validate_delivery.py --tasks ... --project-root ... 校验。
  • 默认 profile 只使用 preview/staging 与非 production 环境,停止在 review_ready
  • stable 发布和 production 部署之前存在 approval 步骤;production 环境有 rollback 入口。
  • 本次 ACK 计划明确 profile、task IDs、目标、停止点和审批步骤;配置本身没有 被当作提交、推送、发布或部署授权。
  • 每次运行固定 commit/config revision,证据写入 tasks.yaml.deliveryRuns 失败不会把已验证任务回退为失败。

项目知识

  • 新项目没有已验证知识时使用 verificationRegistry: {}entries: [] 不虚构 active 条目。
  • 已运行 <ack-skill-dir>/scripts/validate_knowledge.py 并通过;同时校验任务引用。
  • Coordinator 只从 active 条目按 scope 推荐知识,并显式确认固定 revision 的 knowledgeRefs
  • candidate 留在任务证据中,不派发;stalesupersededarchived 不默认选择。
  • 每轮只内联命中的少量知识,不全量注入 knowledge.yaml
  • Developer 回报 knowledgeAppliedknowledgeCandidatesTest 回报 knowledgeChecks
  • verification.ref 只引用 verificationRegistry 中已审查的仓库内相对 path 和结构化 args;执行时只把 registry ID 交给 run_verification.py,不从 知识正文或选择器输出拼接 shell。
  • 关键约束已规划下沉到测试、lint、CI 或正式规范。
  • ACK 不自动修改 AGENTS.mdCLAUDE.md 或其它 Agent 指令文件。

编排

  • 已选择 Orca 或手动模式。
  • 自动创建只调用 launch_worker.py plan|launch,没有直接拼接 orca terminal create --command 或自由 worker 命令。
  • launch 使用刚审阅的 plan.launchFingerprint 作为 --expected-launch-fingerprint;漂移时重新 plan。
  • Developer/Test 只使用 read-onlyworkspace-write profile v0.10 没有 full-access、bypass、YOLO/force 或关闭 sandbox。
  • v0.10 每次自动派发都启动 fresh worker;没有把历史 receipt checksum 或 Orca live metadata 当作自动复用授权。
  • launcher receipt 已追加到顶层 workerReceipts,任务分别引用 dispatch.developerdispatch.test;每个引用的 task/role/profile/attempt 都与当前任务、本轮 receipt 完全一致,没有用单一 handle 混淆两个角色。
  • 多 worktree 场景只有一个权威 tasks.yamlknowledge.yaml
  • Test 使用的服务来自正确 worktree。

闭环

  • worker_done 不直接视为完成。
  • Test 独立复测后由 Coordinator 读取证据终检。
  • 每轮写入 dispatch.rounds
  • 三轮失败后标记 leftover 并填写原因。
  • leftover 不阻塞其它任务。

首次接入建议选择一个低风险问题跑完整闭环。项目差异写回 docs/ack/project.md;通用问题回流到 ACK Skill 的 references/templates/scripts/,并更新 VERSION。项目特有、跨任务复用且已经验证的经验才写入 docs/ack/knowledge.yaml