name: completion-check description: “完成检查:验证基础设施连接” user-invocable: false
完成检查:验证基础设施连接
在构建基础设施时,在标记为完成之前,验证它是否实际连接到系统。
模式
基础设施不是当代码编写完成时就完成了 - 只有当它被连接到系统并积极使用时才完成。死代码(构建但从未调用)是浪费的努力。
做
-
追踪执行路径 - 从用户意图到实际代码执行:
# 示例:验证 Task 工具正确生成 grep -r "claude -p" src/ grep -r "Task(" src/ -
检查钩子是否注册,而不仅仅是实现:
# 钩子存在吗? ls -la .claude/hooks/my-hook.sh # 钩子在设置中注册了吗? grep "my-hook" .claude/settings.json -
验证数据库连接 - 确保基础设施使用正确的后端:
# 检查连接字符串 grep -r "postgresql://" src/ grep -r "sqlite:" src/ # 如果期望 PostgreSQL,则不应找到 -
测试端到端 - 运行功能并验证基础设施被调用:
# 添加调试日志 echo "DEBUG: DAG spawn invoked" >> /tmp/debug.log # 触发功能 uv run python -m my_feature # 验证基础设施被调用 cat /tmp/debug.log -
搜索孤立实现:
# 查找定义但从未调用的函数 ast-grep --pattern 'async function $NAME() { $$$ }' | \ xargs -I {} grep -r "{}" src/
不
- 未经测试执行路径就标记基础设施“完成”
- 假设代码仅因存在而连接
- 构建并行系统(Task 工具 vs claude -p 生成)
- 使用错误的后端(当架构为 PostgreSQL 时使用 SQLite)
- 跳过端到端测试(“编译” ≠ “运行”)
完成检查清单
在声明基础设施完成之前:
- [ ] 从入口点到基础设施追踪执行路径
- [ ] 验证钩子在 .claude/settings.json 中注册
- [ ] 确认使用正确的数据库/后端
- [ ] 运行端到端测试显示基础设施被调用
- [ ] 搜索死代码或并行实现
- [ ] 检查配置文件与实现匹配
示例:DAG 任务图
错误方法:
✓ 构建 BeadsTaskGraph 类
✓ 实现 DAG 依赖关系
✓ 添加生成逻辑
✗ 从未连接 - Task 工具仍然运行
✗ 使用 SQLite 而不是 PostgreSQL
正确方法:
✓ 构建 BeadsTaskGraph 类
✓ 连接到 Task 工具执行路径
✓ 验证 claude -p 生成被调用
✓ 确认使用 PostgreSQL 后端
✓ 测试:用户调用 Task() → DAG 生成 → beads 执行
✓ 未找到并行实现
源会话
- 此会话:架构差距发现 - DAG 构建但未连接,Task 工具运行而不是生成,使用 SQLite 而不是 PostgreSQL