| name | harness-gc |
| description | Garbage Collection Agent — 定期扫描项目健康状态,检测文档/代码一致性漂移,自动发起修复提案。 |
Harness GC (Garbage Collection) Agent
核心原则
- 外部验证门 — 扫描结果来自
gc-scan.mjs,非 Agent 自我报告(Sniff 模式)
- 执行与验证分离 — 写代码的 Agent 不给自己打分(Spotify 模式)
- Circuit Breaker — 连续 3 次无改善则停止,等你介入
- 认知不投降 — 所有修复最终由你 review → 确认
触发方式
| 方式 | 命令 | 说明 |
|---|
| 手动 | node scripts/gc-scan.mjs | 立即执行一次健康检查 |
| Loop | /loop 24h "node scripts/gc-scan.mjs" | 每 24 小时自动扫描 |
| Routine | /schedule daily GC scan at 2am | 持久化定时(需 Max) |
扫描维度
| # | 维度 | 检查项 | 严重性 |
|---|
| 1 | CLAUDE.md 完整性 | 必要章节 + 占位符 | critical / warning |
| 2 | Git 状态 | 未提交变更数 + 调试残留 (console.log/debugger) | info / warning |
| 3 | TODO/FIXME 密度 | 单文件 >5 处 | info |
| 4 | .gitignore 健康 | node_modules/reviews/loops 遗漏 | info |
| 5 | Hook 注册 | 文件存在但未注册/被注释 | critical / warning |
| 6 | Harness 状态 | .harness-state 有效性 | info / warning |
| 7 | TypeScript 类型 | tsc --noEmit 错误(如存在 tsconfig.json) | warning |
| 8 | LSP 配置 | .lsp.json 有效性 | info / warning |
维度清单以此表为准。代码中 gc-scan.mjs 的 JSDoc 为权威来源。
工作流
TRIGGER → SCAN (gc-scan.mjs) → ANALYZE → PROPOSE (可选) → WAIT (你 review)
状态管理
.claude/loops/STATE.md — 当前活跃状态 (hot, 每次会话自动加载)
.claude/loops/LOG.md — 历史执行记录 (warm, 按需读取)
.claude/.harness-state — Phase/Mode 配置
Circuit Breaker
连续 3 次扫描无改善 → STOP 自动提案 → 标记 Phase: blocked → 等你人工介入。