@bolloon/bolloon-agent 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (581) hide show
  1. package/bin/bolloon-cli.cjs +157 -0
  2. package/bin/bolloon-daemon.sh +207 -0
  3. package/bin/bolloon.cmd +11 -0
  4. package/dist/agents/constraint-layer.js +10 -15
  5. package/dist/agents/pi-sdk.js +433 -106
  6. package/dist/agents/protocol.js +82 -1
  7. package/dist/agents/subagent-manager.js +2 -2
  8. package/dist/agents/workflow-engine.js +15 -20
  9. package/dist/agents/workflow-pivot-loop.js +541 -0
  10. package/dist/bollharness/src/index.js +5 -0
  11. package/dist/bollharness/src/scripts/checks/check_adr_plan_numbering.js +6 -0
  12. package/dist/bollharness/src/scripts/checks/check_api_types.js +45 -0
  13. package/dist/bollharness/src/scripts/checks/check_artifact_link.js +146 -0
  14. package/dist/bollharness/src/scripts/checks/check_bridge_deps.js +6 -0
  15. package/dist/bollharness/src/scripts/checks/check_bugfix_binding.js +6 -0
  16. package/dist/bollharness/src/scripts/checks/check_bugfix_binding_ci.js +6 -0
  17. package/dist/bollharness/src/scripts/checks/check_doc_file_references.js +6 -0
  18. package/dist/bollharness/src/scripts/checks/check_doc_freshness.js +135 -0
  19. package/dist/bollharness/src/scripts/checks/check_doc_links.js +31 -0
  20. package/dist/bollharness/src/scripts/checks/check_file_existence_claims.js +6 -0
  21. package/dist/bollharness/src/scripts/checks/check_fragment_integrity.js +34 -0
  22. package/dist/bollharness/src/scripts/checks/check_hook_installed.js +63 -0
  23. package/dist/bollharness/src/scripts/checks/check_issue_closure.js +41 -0
  24. package/dist/bollharness/src/scripts/checks/check_mcp_parity.js +6 -0
  25. package/dist/bollharness/src/scripts/checks/check_security.js +48 -0
  26. package/dist/bollharness/src/scripts/checks/check_skill_parity.js +6 -0
  27. package/dist/bollharness/src/scripts/checks/check_versions.js +6 -0
  28. package/dist/bollharness/src/scripts/checks/finding.js +13 -0
  29. package/dist/bollharness/src/scripts/checks/next_decision_number.js +20 -0
  30. package/dist/bollharness/src/scripts/checks/regenerate_magic_docs.js +6 -0
  31. package/dist/bollharness/src/scripts/ci/detect_rebaseline_triggers.js +8 -0
  32. package/dist/bollharness/src/scripts/ci/scan_subprocess_cfg.js +8 -0
  33. package/dist/bollharness/src/scripts/ci/scan_verify_artifacts.js +8 -0
  34. package/dist/bollharness/src/scripts/ci/scan_yaml_schema.js +8 -0
  35. package/dist/bollharness/src/scripts/context_router.js +67 -0
  36. package/dist/bollharness/src/scripts/deploy-guard.js +157 -0
  37. package/dist/bollharness/src/scripts/guard-feedback.js +192 -0
  38. package/dist/bollharness/src/scripts/guard_router.js +158 -0
  39. package/dist/bollharness/src/scripts/hooks/_hook_output.js +6 -0
  40. package/dist/bollharness/src/scripts/hooks/auto-python3.js +6 -0
  41. package/dist/bollharness/src/scripts/hooks/deploy-progress-on-session-end.js +6 -0
  42. package/dist/bollharness/src/scripts/hooks/failure-analyzer.js +6 -0
  43. package/dist/bollharness/src/scripts/hooks/gate-judgment-inject.js +92 -0
  44. package/dist/bollharness/src/scripts/hooks/gate-transition-judgment.js +63 -0
  45. package/dist/bollharness/src/scripts/hooks/inbox-ack.js +6 -0
  46. package/dist/bollharness/src/scripts/hooks/inbox-inject-on-start.js +6 -0
  47. package/dist/bollharness/src/scripts/hooks/inbox-validate.js +6 -0
  48. package/dist/bollharness/src/scripts/hooks/inbox-write-ledger.js +6 -0
  49. package/dist/bollharness/src/scripts/hooks/initializer-agent.js +6 -0
  50. package/dist/bollharness/src/scripts/hooks/loop-detection.js +73 -0
  51. package/dist/bollharness/src/scripts/hooks/owner-guard.js +6 -0
  52. package/dist/bollharness/src/scripts/hooks/precompact.js +6 -0
  53. package/dist/bollharness/src/scripts/hooks/review-agent-gatekeeper.js +6 -0
  54. package/dist/bollharness/src/scripts/hooks/risk-tracker.js +108 -0
  55. package/dist/bollharness/src/scripts/hooks/sanitize-on-read.js +6 -0
  56. package/dist/bollharness/src/scripts/hooks/session-reflection.js +7 -0
  57. package/dist/bollharness/src/scripts/hooks/session-start-magic-docs.js +7 -0
  58. package/dist/bollharness/src/scripts/hooks/session-start-reset-risk.js +7 -0
  59. package/dist/bollharness/src/scripts/hooks/session-start-toolkit-reminder.js +7 -0
  60. package/dist/bollharness/src/scripts/hooks/stop-evaluator.js +157 -0
  61. package/dist/bollharness/src/scripts/hooks/tool-call-counter.js +6 -0
  62. package/dist/bollharness/src/scripts/hooks/trace-analyzer.js +10 -0
  63. package/dist/bollharness/src/scripts/install/install-trust-token.js +7 -0
  64. package/dist/bollharness/src/scripts/install/multi_project_registry.js +9 -0
  65. package/dist/bollharness/src/scripts/install/phase2_auto.js +21 -0
  66. package/dist/bollharness/src/scripts/install/pre_commit_installer.js +6 -0
  67. package/dist/bollharness/src/scripts/install/tier_selector.js +7 -0
  68. package/dist/bollharness/src/scripts/install/transcript_miner.js +7 -0
  69. package/dist/bollharness/src/scripts/lib/claim_patterns.js +10 -0
  70. package/dist/bollharness/src/scripts/lib/sanitize_patterns.js +12 -0
  71. package/dist/bollharness/src/scripts/sanitize.js +6 -0
  72. package/dist/bollharness-integration/channel-judgment-engine.js +530 -0
  73. package/dist/bollharness-integration/context-chain-router.js +383 -0
  74. package/dist/bollharness-integration/context-router-judgment.js +13 -21
  75. package/dist/bollharness-integration/context-router.js +22 -64
  76. package/dist/bollharness-integration/gate-state-machine.js +14 -19
  77. package/dist/bollharness-integration/gate-transition-hooks.js +16 -61
  78. package/dist/bollharness-integration/guard-checker.js +21 -68
  79. package/dist/bollharness-integration/index.js +14 -124
  80. package/dist/bollharness-integration/integration.js +13 -20
  81. package/dist/bollharness-integration/llm-judgment-engine.js +569 -0
  82. package/dist/bollharness-integration/skill-adapter.js +18 -64
  83. package/dist/cli-entry.js +261 -0
  84. package/dist/constraint-runtime/src/commands.js +17 -7
  85. package/dist/constraint-runtime/src/constraint/budget.js +1 -6
  86. package/dist/constraint-runtime/src/constraint/permission.js +1 -6
  87. package/dist/constraint-runtime/src/models.js +1 -3
  88. package/dist/constraint-runtime/src/tools.js +17 -7
  89. package/dist/constraints/index.js +1 -7
  90. package/dist/documents/reader.js +8 -49
  91. package/dist/heartbeat/DaemonManager.js +242 -0
  92. package/dist/heartbeat/HealthMonitor.js +285 -0
  93. package/dist/heartbeat/StartupVerifier.js +205 -0
  94. package/dist/heartbeat/Watchdog.js +168 -0
  95. package/dist/heartbeat/index.js +84 -0
  96. package/dist/heartbeat/types.js +5 -0
  97. package/dist/index.js +381 -28
  98. package/dist/llm/config-store.js +31 -57
  99. package/dist/llm/llm-judgment-client.js +389 -0
  100. package/dist/llm/pi-ai.js +9 -52
  101. package/dist/network/agent-network.js +46 -90
  102. package/dist/network/hybrid-messenger.js +125 -0
  103. package/dist/network/iroh-bootstrap.js +38 -0
  104. package/dist/network/iroh-discovery.js +145 -0
  105. package/dist/network/iroh-integration.js +9 -16
  106. package/dist/network/iroh-transport.js +10 -48
  107. package/dist/network/p2p.js +23 -62
  108. package/dist/network/storage/adapters/json-adapter.js +4 -42
  109. package/dist/network/storage/index.js +147 -0
  110. package/dist/network/storage/types.js +14 -0
  111. package/dist/pi-ecosystem/index.js +233 -0
  112. package/dist/pi-ecosystem-colony/index.js +29 -90
  113. package/dist/pi-ecosystem-goals/index.js +20 -74
  114. package/dist/pi-ecosystem-judgment/decision.js +29 -47
  115. package/dist/pi-ecosystem-judgment/distillation.js +16 -29
  116. package/dist/pi-ecosystem-judgment/human-value-store.js +13 -60
  117. package/dist/pi-ecosystem-judgment/index.js +21 -74
  118. package/dist/pi-ecosystem-judgment/value-injection.js +26 -72
  119. package/dist/pi-ecosystem-mcp/index.js +24 -78
  120. package/dist/pi-ecosystem-subagents/index.js +20 -69
  121. package/dist/social/ant-colony/AdaptiveHeartbeat.js +3 -8
  122. package/dist/social/ant-colony/PheromoneEngine.js +11 -49
  123. package/dist/social/ant-colony/index.js +6 -0
  124. package/dist/social/ant-colony/types.js +4 -8
  125. package/dist/social/channels/ChannelManager.js +8 -46
  126. package/dist/social/channels/DiapChannelBridge.js +9 -47
  127. package/dist/social/channels/InterestMatcher.js +2 -7
  128. package/dist/social/channels/channel-agent-session.js +309 -0
  129. package/dist/social/channels/channel-heartbeat-agent.js +494 -0
  130. package/dist/social/channels/diap-doc-parser.js +204 -0
  131. package/dist/social/channels/harness-workflow-integrator.js +446 -0
  132. package/dist/social/channels/index.js +9 -0
  133. package/dist/social/channels/types.js +3 -7
  134. package/dist/social/global-shared-context.js +6 -47
  135. package/dist/social/heartbeat.js +29 -72
  136. package/dist/social/persona/enhanced-persona.js +299 -0
  137. package/dist/web/client.js +302 -136
  138. package/dist/web/components/p2p/index.js +159 -9
  139. package/dist/web/components/p2p/p2p-connection.js +136 -0
  140. package/dist/web/components/p2p/p2p-manager.js +24 -0
  141. package/dist/web/components/p2p/p2p-store-memory.js +1 -1
  142. package/dist/web/components/p2p/types.js +7 -0
  143. package/dist/web/index.html +5 -0
  144. package/dist/web/style.css +118 -0
  145. package/package.json +12 -6
  146. package/scripts/build-cli.js +206 -0
  147. package/scripts/postinstall.js +153 -0
  148. package/src/agents/pi-sdk.ts +347 -28
  149. package/src/agents/protocol.ts +95 -1
  150. package/src/agents/workflow-pivot-loop.ts +674 -0
  151. package/src/bollharness/scripts/context-fragments/pi-agent-operations.md +34 -0
  152. package/src/cli-entry.ts +304 -0
  153. package/src/heartbeat/DaemonManager.ts +283 -0
  154. package/src/heartbeat/HealthMonitor.ts +316 -0
  155. package/src/heartbeat/StartupVerifier.ts +223 -0
  156. package/src/heartbeat/Watchdog.ts +198 -0
  157. package/src/heartbeat/index.ts +108 -0
  158. package/src/heartbeat/types.ts +82 -0
  159. package/src/llm/config-store.ts +23 -5
  160. package/src/network/iroh-transport.ts +3 -3
  161. package/src/web/client.js +302 -136
  162. package/src/web/components/p2p/P2PModal.tsx +91 -3
  163. package/src/web/components/p2p/index.ts +171 -9
  164. package/src/web/components/p2p/p2p-connection.ts +153 -1
  165. package/src/web/components/p2p/p2p-manager.ts +39 -1
  166. package/src/web/components/p2p/p2p-store-memory.ts +1 -1
  167. package/src/web/components/p2p/p2p-tools.ts +315 -0
  168. package/src/web/components/p2p/types.ts +58 -0
  169. package/src/web/index.html +5 -0
  170. package/src/web/server.ts +353 -36
  171. package/src/web/style.css +118 -0
  172. package/tsconfig.cli.json +16 -0
  173. package/tsconfig.electron.json +1 -1
  174. package/tsconfig.json +1 -2
  175. package/dist/constraint-runtime/tests/agent.test.js +0 -16
  176. package/dist/constraint-runtime/tests/constraint.test.js +0 -41
  177. package/dist/constraint-runtime/tests/skill.test.js +0 -19
  178. package/dist/constraint-runtime/tests/thinking.test.js +0 -22
  179. package/dist/electron-preload.js +0 -15
  180. package/dist/electron-preload.js.map +0 -1
  181. package/dist/electron.js +0 -206
  182. package/dist/electron.js.map +0 -1
  183. package/dist/test/constraint-layer.test.js +0 -164
  184. package/dist/test/global-shared-context.test.js +0 -315
  185. package/dist/test/pi-sdk.test.js +0 -47
  186. package/dist/test/set-persona.test.js +0 -38
  187. package/dist/test/subagent-manager.test.js +0 -276
  188. package/dist/test/workflow-engine.test.js +0 -87
  189. package/dist/web/server.js +0 -1647
  190. package/dist/web/server.js.map +0 -1
  191. package/dist/workflows/collaboration.js +0 -374
  192. package/dist/workflows/index.js +0 -54
  193. package/docs/agent-communication.md +0 -333
  194. package/docs/plans/2026-05-15-document-agent-design.md +0 -479
  195. package/docs/plans/2026-05-15-document-agent-implementation-plan.md +0 -792
  196. package/docs/plans/2026-05-16-chat-ui-design.md +0 -86
  197. package/docs/plans/2026-05-16-constraint-runtime-design.md +0 -106
  198. package/docs/plans/2026-05-16-constraint-runtime-implementation.md +0 -441
  199. package/docs//346/225/260/345/255/246/350/276/205/345/212/251/346/231/272/350/203/275/344/275/223-/346/240/270/345/277/203/346/225/210/346/236/234/345/256/232/344/271/211.md +0 -287
  200. package/src/bollharness/.boll/CLAUDE.md.template +0 -34
  201. package/src/bollharness/.boll/MANIFEST.yaml +0 -213
  202. package/src/bollharness/.boll/active-review-agents/.gitkeep +0 -0
  203. package/src/bollharness/.boll/agents/review-base.yaml +0 -108
  204. package/src/bollharness/.boll/deploy-allowlist.yaml +0 -38
  205. package/src/bollharness/.boll/inbox/schema/message-v1.json +0 -99
  206. package/src/bollharness/.boll/install-staging/.gitkeep +0 -0
  207. package/src/bollharness/.boll/issue-adapter.yaml +0 -31
  208. package/src/bollharness/.boll/plugins/boll-mode-toolkit/contracts/mode-contract.md +0 -85
  209. package/src/bollharness/.boll/plugins/boll-review-toolkit/contracts/evidence-packet-schema.json +0 -102
  210. package/src/bollharness/.boll/plugins/boll-review-toolkit/contracts/review-contract.yaml +0 -247
  211. package/src/bollharness/.boll/rules/backend-routes.md +0 -31
  212. package/src/bollharness/.boll/rules/closure-semantics.md +0 -30
  213. package/src/bollharness/.boll/rules/env-vars.md +0 -32
  214. package/src/bollharness/.boll/rules/hanis-protocol.md +0 -145
  215. package/src/bollharness/.boll/rules/repo-structure.md +0 -42
  216. package/src/bollharness/.boll/rules/review-agent-isolation.md +0 -73
  217. package/src/bollharness/.boll/rules/source-of-truth.md +0 -33
  218. package/src/bollharness/.boll/settings.json +0 -180
  219. package/src/bollharness/.boll/settings.json.template +0 -31
  220. package/src/bollharness/.boll/skills/arch/SKILL.md +0 -372
  221. package/src/bollharness/.boll/skills/bug-pipeline/SKILL.md +0 -168
  222. package/src/bollharness/.boll/skills/bug-triage/SKILL.md +0 -161
  223. package/src/bollharness/.boll/skills/context-chains/SKILL.md +0 -250
  224. package/src/bollharness/.boll/skills/context-chains/context-chain-index.md +0 -48
  225. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/code_change_extractor.ts +0 -142
  226. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/debugging_extractor.ts +0 -126
  227. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/design_extractor.ts +0 -148
  228. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/planning_extractor.ts +0 -162
  229. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/question_extractor.ts +0 -116
  230. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/review_extractor.ts +0 -136
  231. package/src/bollharness/.boll/skills/crystal-learn/SKILL.md +0 -93
  232. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-0.md +0 -34
  233. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-1.md +0 -34
  234. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-2.md +0 -35
  235. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-3.md +0 -34
  236. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-4.md +0 -43
  237. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-5.md +0 -34
  238. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-6.md +0 -37
  239. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-7.md +0 -46
  240. package/src/bollharness/.boll/skills/guardian-fixer/PROMPT.md +0 -415
  241. package/src/bollharness/.boll/skills/guardian-fixer/SKILL.md +0 -320
  242. package/src/bollharness/.boll/skills/harness-dev/SKILL.md +0 -93
  243. package/src/bollharness/.boll/skills/harness-dev/examples/README.md +0 -227
  244. package/src/bollharness/.boll/skills/harness-dev-handoff/SKILL.md +0 -165
  245. package/src/bollharness/.boll/skills/harness-eng/SKILL.md +0 -110
  246. package/src/bollharness/.boll/skills/harness-eng-test/SKILL.md +0 -79
  247. package/src/bollharness/.boll/skills/harness-lab/SKILL.md +0 -170
  248. package/src/bollharness/.boll/skills/harness-ops/SKILL.md +0 -57
  249. package/src/bollharness/.boll/skills/harness-voice/SKILL.md +0 -183
  250. package/src/bollharness/.boll/skills/judgment/SKILL.md +0 -115
  251. package/src/bollharness/.boll/skills/lead/SKILL.md +0 -245
  252. package/src/bollharness/.boll/skills/lead/install-wow-harness.md +0 -77
  253. package/src/bollharness/.boll/skills/lead/ref-review-sop.md +0 -91
  254. package/src/bollharness/.boll/skills/lead/ref-stages.md +0 -129
  255. package/src/bollharness/.boll/skills/skill-discovery/SKILL.md +0 -169
  256. package/src/bollharness/.boll/skills/task-arch/SKILL.md +0 -106
  257. package/src/bollharness/.boll/skills/toolkit/SKILL.md +0 -57
  258. package/src/bollharness/.boll/tasks/.gitkeep +0 -0
  259. package/src/bollharness/.boll/toolkit-index.yaml +0 -112
  260. package/src/bollharness/.claude/agents/review-base.yaml +0 -108
  261. package/src/bollharness/.claude/plugins/boll-mode-toolkit/.claude-plugin/plugin.json +0 -44
  262. package/src/bollharness/.claude/plugins/boll-review-toolkit/.claude-plugin/plugin.json +0 -24
  263. package/src/bollharness/.claude/plugins/boll-review-toolkit/contracts/evidence-packet-schema.json +0 -102
  264. package/src/bollharness/.claude/plugins/boll-review-toolkit/contracts/review-contract.yaml +0 -247
  265. package/src/bollharness/.claude/settings.json +0 -157
  266. package/src/bollharness/.claude/skills/arch/SKILL.md +0 -64
  267. package/src/bollharness/.claude/skills/crystal-learn/SKILL.md +0 -93
  268. package/src/bollharness/.claude/skills/guardian-fixer/PROMPT.md +0 -44
  269. package/src/bollharness/.claude/skills/guardian-fixer/SKILL.md +0 -324
  270. package/src/bollharness/.claude/skills/harness-dev/SKILL.md +0 -93
  271. package/src/bollharness/.claude/skills/harness-dev/examples/README.md +0 -17
  272. package/src/bollharness/.claude/skills/harness-dev-handoff/SKILL.md +0 -165
  273. package/src/bollharness/.claude/skills/harness-eng/SKILL.md +0 -183
  274. package/src/bollharness/.claude/skills/harness-eng-test/SKILL.md +0 -57
  275. package/src/bollharness/.claude/skills/harness-ops/SKILL.md +0 -57
  276. package/src/bollharness/.claude/skills/harness-voice/SKILL.md +0 -84
  277. package/src/bollharness/.claude/skills/lead/INDEX.md +0 -28
  278. package/src/bollharness/.claude/skills/lead/SKILL.md +0 -24
  279. package/src/bollharness/.claude/skills/lead/install-wow-harness.md +0 -77
  280. package/src/bollharness/.claude/skills/lead/ref-review-sop.md +0 -48
  281. package/src/bollharness/.claude/skills/lead/ref-stages.md +0 -58
  282. package/src/bollharness/.claude/skills/plan-lock/SKILL.md +0 -74
  283. package/src/bollharness/.claude/skills/skill-discovery/SKILL.md +0 -120
  284. package/src/bollharness/.claude/skills/task-arch/SKILL.md +0 -106
  285. package/src/bollharness/.claude/skills/toolkit/SKILL.md +0 -57
  286. package/src/bollharness/.claude/skills/toolkit/list.sh +0 -92
  287. package/src/bollharness/.githooks/pre-commit +0 -21
  288. package/src/bollharness/.github/workflows/ci.yml +0 -88
  289. package/src/bollharness/docs/decisions/ADR-030-guard-signal-protocol-and-governance-reload.md +0 -1076
  290. package/src/bollharness/docs/decisions/ADR-038-harness-optimization-strategy.md +0 -2039
  291. package/src/bollharness/docs/decisions/ADR-041-codex-claude-code-division-of-labor.md +0 -128
  292. package/src/bollharness/docs/decisions/ADR-H1-crystal-learn-revival.md +0 -188
  293. package/src/bollharness/docs/decisions/ADR-H2-identity-isolation.md +0 -183
  294. package/src/bollharness/docs/decisions/ADR-H3-memory-scope.md +0 -133
  295. package/src/bollharness/docs/decisions/ADR-H4-prompt-governance.md +0 -146
  296. package/src/bollharness/docs/decisions/ADR-H5-gate-quantization.md +0 -212
  297. package/src/bollharness/docs/decisions/ADR-H6-state-file-health.md +0 -211
  298. package/src/bollharness/docs/decisions/ADR-H8-issue-and-doc-compliance.md +0 -202
  299. package/src/bollharness/docs/decisions/ADR-H9-mailbox.md +0 -231
  300. package/src/bollharness/docs/decisions/PLAN-H1-crystal-learn-revival.md +0 -270
  301. package/src/bollharness/docs/decisions/PLAN-H2-identity-isolation.md +0 -291
  302. package/src/bollharness/docs/decisions/PLAN-H3-memory-scope.md +0 -228
  303. package/src/bollharness/docs/decisions/PLAN-H4-prompt-governance.md +0 -227
  304. package/src/bollharness/docs/decisions/PLAN-H5-gate-quantization.md +0 -239
  305. package/src/bollharness/docs/decisions/PLAN-H6-state-file-health.md +0 -325
  306. package/src/bollharness/docs/decisions/PLAN-H8-issue-and-doc-compliance.md +0 -242
  307. package/src/bollharness/docs/decisions/PLAN-H9-mailbox.md +0 -378
  308. package/src/bollharness/docs/launch-article-en.md +0 -276
  309. package/src/bollharness/docs/launch-article-zh.md +0 -305
  310. package/src/bollharness/docs/practice.html +0 -356
  311. package/src/bollharness/docs/practice.md +0 -82
  312. package/src/bollharness/docs/research/round-1/README.md +0 -11
  313. package/src/bollharness/docs/research/round-2/README.md +0 -11
  314. package/src/bollharness/docs/research/round-3/README.md +0 -11
  315. package/src/bollharness/docs/research/round-4/README.md +0 -11
  316. package/src/bollharness/docs/research/round-5/README.md +0 -11
  317. package/src/bollharness/docs/research/round-6/README.md +0 -11
  318. package/src/bollharness/package-lock.json +0 -48
  319. package/src/bollharness/reference/boll-reference/.claude/rules/backend-routes.md +0 -268
  320. package/src/bollharness/reference/boll-reference/.claude/rules/bridge.md +0 -20
  321. package/src/bollharness/reference/boll-reference/.claude/rules/closure-semantics.md +0 -30
  322. package/src/bollharness/reference/boll-reference/.claude/rules/coaching.md +0 -13
  323. package/src/bollharness/reference/boll-reference/.claude/rules/env-vars.md +0 -50
  324. package/src/bollharness/reference/boll-reference/.claude/rules/hackathon.md +0 -12
  325. package/src/bollharness/reference/boll-reference/.claude/rules/repo-structure.md +0 -184
  326. package/src/bollharness/reference/boll-reference/.claude/rules/review-agent-isolation.md +0 -112
  327. package/src/bollharness/reference/boll-reference/.claude/rules/scenes.md +0 -12
  328. package/src/bollharness/reference/boll-reference/.claude/skills/arch/SKILL.md +0 -551
  329. package/src/bollharness/reference/boll-reference/.claude/skills/boll-animation/SKILL.md +0 -26
  330. package/src/bollharness/reference/boll-reference/.claude/skills/boll-bridge/SKILL.md +0 -227
  331. package/src/bollharness/reference/boll-reference/.claude/skills/boll-bridge/agents/openai.yaml +0 -4
  332. package/src/bollharness/reference/boll-reference/.claude/skills/boll-bridge/references/bridge-failure-taxonomy.md +0 -142
  333. package/src/bollharness/reference/boll-reference/.claude/skills/boll-bridge/references/bridge-validation-ladder.md +0 -107
  334. package/src/bollharness/reference/boll-reference/.claude/skills/boll-crystal/SKILL.md +0 -893
  335. package/src/bollharness/reference/boll-reference/.claude/skills/boll-crystal-learn/SKILL.md +0 -89
  336. package/src/bollharness/reference/boll-reference/.claude/skills/boll-dev/SKILL.md +0 -93
  337. package/src/bollharness/reference/boll-reference/.claude/skills/boll-dev/examples/README.md +0 -209
  338. package/src/bollharness/reference/boll-reference/.claude/skills/boll-dev-handoff/SKILL.md +0 -165
  339. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng/SKILL.md +0 -110
  340. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-frontend/SKILL.md +0 -203
  341. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-hdc/SKILL.md +0 -27
  342. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-orchestrator/SKILL.md +0 -28
  343. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-prompt/SKILL.md +0 -27
  344. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-test/SKILL.md +0 -79
  345. package/src/bollharness/reference/boll-reference/.claude/skills/boll-lab/SKILL.md +0 -372
  346. package/src/bollharness/reference/boll-reference/.claude/skills/boll-run/SKILL.md +0 -437
  347. package/src/bollharness/reference/boll-reference/.claude/skills/boll-ux-appstore/SKILL.md +0 -27
  348. package/src/bollharness/reference/boll-reference/.claude/skills/boll-voice/SKILL.md +0 -442
  349. package/src/bollharness/reference/boll-reference/.claude/skills/guardian-fixer/PROMPT.md +0 -421
  350. package/src/bollharness/reference/boll-reference/.claude/skills/guardian-fixer/SKILL.md +0 -326
  351. package/src/bollharness/reference/boll-reference/.claude/skills/lead/SKILL.md +0 -155
  352. package/src/bollharness/reference/boll-reference/.claude/skills/lead/ref-review-sop.md +0 -91
  353. package/src/bollharness/reference/boll-reference/.claude/skills/lead/ref-stages.md +0 -129
  354. package/src/bollharness/reference/boll-reference/.claude/skills/nature-designer/output/skill-map-preview.png +0 -0
  355. package/src/bollharness/reference/boll-reference/.claude/skills/nature-designer/output/skill-map-v2.png +0 -0
  356. package/src/bollharness/reference/boll-reference/.claude/skills/nature-designer/output/skill-map-v3.png +0 -0
  357. package/src/bollharness/reference/boll-reference/.claude/skills/nature-designer/output/skill-map-v4.png +0 -0
  358. package/src/bollharness/reference/boll-reference/.claude/skills/plan-lock/SKILL.md +0 -425
  359. package/src/bollharness/reference/boll-reference/.claude/skills/plan-lock/ref-three-checks.md +0 -62
  360. package/src/bollharness/reference/boll-reference/.claude/skills/plan-lock/ref-wp-templates.md +0 -78
  361. package/src/bollharness/reference/boll-reference/.claude/skills/task-arch/SKILL.md +0 -76
  362. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-graph/SKILL.md +0 -57
  363. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-graph/beads-graph.sh +0 -153
  364. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-init/SKILL.md +0 -52
  365. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-init/beads-auto-link.sh +0 -76
  366. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-sync/SKILL.md +0 -50
  367. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-sync/beads-sync-proj.sh +0 -108
  368. package/src/bollharness/reference/boll-reference/docs/architecture/AGENT-PROFILE.md +0 -151
  369. package/src/bollharness/reference/boll-reference/docs/architecture/COST-STRUCTURE.md +0 -56
  370. package/src/bollharness/reference/boll-reference/docs/architecture/INDEX.md +0 -76
  371. package/src/bollharness/reference/boll-reference/docs/architecture/MODULE1-INTENT-FIELD.md +0 -116
  372. package/src/bollharness/reference/boll-reference/docs/architecture/MODULE2-CRYSTALLIZATION.md +0 -200
  373. package/src/bollharness/reference/boll-reference/docs/architecture/PRINCIPLES.md +0 -84
  374. package/src/bollharness/reference/boll-reference/docs/architecture/PROTOCOL-CORE.md +0 -209
  375. package/src/bollharness/reference/boll-reference/docs/architecture/VISION.md +0 -181
  376. package/src/bollharness/reference/boll-reference/docs/architecture/discussions/D-01-MARKET-SCENE-PROTOCOL.md +0 -754
  377. package/src/bollharness/templates/scaffold/.boll/guard/.gitkeep +0 -0
  378. package/src/bollharness/templates/scaffold/.boll/metrics/.gitkeep +0 -0
  379. package/src/bollharness/templates/scaffold/.boll/state/.gitkeep +0 -0
  380. package/src/bollharness/templates/scaffold/docs/INDEX.md +0 -3
  381. package/src/bollharness/templates/scaffold/docs/decisions/ADR_TEMPLATE.md +0 -38
  382. package/src/bollharness/templates/scaffold/docs/decisions/PLAN_TEMPLATE.md +0 -45
  383. package/src/bollharness/templates/scaffold/docs/decisions/tasks/.gitkeep +0 -2
  384. package/src/bollharness/templates/scaffold/docs/issues/.gitkeep +0 -0
  385. package/src/bollharness/templates/scaffold/docs/issues/GUARD_ISSUE_TEMPLATE.md +0 -35
  386. package/src/bollharness/templates/scaffold/docs/issues/ISSUE_TEMPLATE.md +0 -51
  387. package/src/bollharness/tsconfig.json +0 -26
  388. package/src/constraint-runtime/package-lock.json +0 -48
  389. package/src/constraint-runtime/package.json +0 -34
  390. package/src/constraint-runtime/src/_archive_helper.ts +0 -16
  391. package/src/constraint-runtime/src/agent/coordinator.ts +0 -71
  392. package/src/constraint-runtime/src/agent/index.ts +0 -1
  393. package/src/constraint-runtime/src/assistant/index.ts +0 -15
  394. package/src/constraint-runtime/src/bootstrap/index.ts +0 -15
  395. package/src/constraint-runtime/src/bootstrap_graph.ts +0 -17
  396. package/src/constraint-runtime/src/bridge/index.ts +0 -15
  397. package/src/constraint-runtime/src/buddy/index.ts +0 -15
  398. package/src/constraint-runtime/src/cli/index.ts +0 -15
  399. package/src/constraint-runtime/src/command_graph.ts +0 -20
  400. package/src/constraint-runtime/src/commands.ts +0 -83
  401. package/src/constraint-runtime/src/components/index.ts +0 -15
  402. package/src/constraint-runtime/src/constants/index.ts +0 -15
  403. package/src/constraint-runtime/src/constraint/budget.ts +0 -25
  404. package/src/constraint-runtime/src/constraint/index.ts +0 -3
  405. package/src/constraint-runtime/src/constraint/permission.ts +0 -28
  406. package/src/constraint-runtime/src/context.ts +0 -45
  407. package/src/constraint-runtime/src/coordinator/index.ts +0 -15
  408. package/src/constraint-runtime/src/cost_hook.ts +0 -6
  409. package/src/constraint-runtime/src/cost_tracker.ts +0 -9
  410. package/src/constraint-runtime/src/deferred_init.ts +0 -18
  411. package/src/constraint-runtime/src/direct_modes.ts +0 -13
  412. package/src/constraint-runtime/src/dynamic-tool-loader.ts +0 -115
  413. package/src/constraint-runtime/src/entrypoints/index.ts +0 -15
  414. package/src/constraint-runtime/src/execution_registry.ts +0 -41
  415. package/src/constraint-runtime/src/history.ts +0 -16
  416. package/src/constraint-runtime/src/hooks/index.ts +0 -15
  417. package/src/constraint-runtime/src/index.ts +0 -28
  418. package/src/constraint-runtime/src/ink.ts +0 -4
  419. package/src/constraint-runtime/src/keybindings/index.ts +0 -15
  420. package/src/constraint-runtime/src/memdir/index.ts +0 -15
  421. package/src/constraint-runtime/src/migrations/index.ts +0 -15
  422. package/src/constraint-runtime/src/models.ts +0 -49
  423. package/src/constraint-runtime/src/moreright/index.ts +0 -15
  424. package/src/constraint-runtime/src/native_ts/index.ts +0 -15
  425. package/src/constraint-runtime/src/output_styles/index.ts +0 -15
  426. package/src/constraint-runtime/src/parity_audit.ts +0 -23
  427. package/src/constraint-runtime/src/plugins/index.ts +0 -15
  428. package/src/constraint-runtime/src/port_manifest.ts +0 -20
  429. package/src/constraint-runtime/src/prefetch.ts +0 -17
  430. package/src/constraint-runtime/src/query.ts +0 -7
  431. package/src/constraint-runtime/src/reference_data/archive_surface_snapshot.json +0 -63
  432. package/src/constraint-runtime/src/reference_data/commands_snapshot.json +0 -1037
  433. package/src/constraint-runtime/src/reference_data/subsystems/OpenCLI.json +0 -10
  434. package/src/constraint-runtime/src/reference_data/subsystems/PolymarketSDK.json +0 -12
  435. package/src/constraint-runtime/src/reference_data/subsystems/SafeSDK.json +0 -14
  436. package/src/constraint-runtime/src/reference_data/subsystems/assistant.json +0 -8
  437. package/src/constraint-runtime/src/reference_data/subsystems/bootstrap.json +0 -8
  438. package/src/constraint-runtime/src/reference_data/subsystems/bridge.json +0 -32
  439. package/src/constraint-runtime/src/reference_data/subsystems/buddy.json +0 -13
  440. package/src/constraint-runtime/src/reference_data/subsystems/cli.json +0 -26
  441. package/src/constraint-runtime/src/reference_data/subsystems/components.json +0 -32
  442. package/src/constraint-runtime/src/reference_data/subsystems/constants.json +0 -28
  443. package/src/constraint-runtime/src/reference_data/subsystems/coordinator.json +0 -8
  444. package/src/constraint-runtime/src/reference_data/subsystems/entrypoints.json +0 -15
  445. package/src/constraint-runtime/src/reference_data/subsystems/hooks.json +0 -32
  446. package/src/constraint-runtime/src/reference_data/subsystems/keybindings.json +0 -21
  447. package/src/constraint-runtime/src/reference_data/subsystems/memdir.json +0 -15
  448. package/src/constraint-runtime/src/reference_data/subsystems/migrations.json +0 -18
  449. package/src/constraint-runtime/src/reference_data/subsystems/moreright.json +0 -8
  450. package/src/constraint-runtime/src/reference_data/subsystems/native_ts.json +0 -11
  451. package/src/constraint-runtime/src/reference_data/subsystems/outputStyles.json +0 -8
  452. package/src/constraint-runtime/src/reference_data/subsystems/plugins.json +0 -9
  453. package/src/constraint-runtime/src/reference_data/subsystems/remote.json +0 -11
  454. package/src/constraint-runtime/src/reference_data/subsystems/schemas.json +0 -8
  455. package/src/constraint-runtime/src/reference_data/subsystems/screens.json +0 -10
  456. package/src/constraint-runtime/src/reference_data/subsystems/server.json +0 -10
  457. package/src/constraint-runtime/src/reference_data/subsystems/services.json +0 -32
  458. package/src/constraint-runtime/src/reference_data/subsystems/skills.json +0 -27
  459. package/src/constraint-runtime/src/reference_data/subsystems/state.json +0 -13
  460. package/src/constraint-runtime/src/reference_data/subsystems/types.json +0 -18
  461. package/src/constraint-runtime/src/reference_data/subsystems/upstreamproxy.json +0 -9
  462. package/src/constraint-runtime/src/reference_data/subsystems/utils.json +0 -32
  463. package/src/constraint-runtime/src/reference_data/subsystems/vim.json +0 -12
  464. package/src/constraint-runtime/src/reference_data/subsystems/voice.json +0 -8
  465. package/src/constraint-runtime/src/reference_data/tools_snapshot.json +0 -1042
  466. package/src/constraint-runtime/src/remote/index.ts +0 -15
  467. package/src/constraint-runtime/src/remote_runtime.ts +0 -17
  468. package/src/constraint-runtime/src/runtime/index.ts +0 -1
  469. package/src/constraint-runtime/src/runtime/session.ts +0 -42
  470. package/src/constraint-runtime/src/schemas/index.ts +0 -15
  471. package/src/constraint-runtime/src/screens/index.ts +0 -15
  472. package/src/constraint-runtime/src/server/index.ts +0 -15
  473. package/src/constraint-runtime/src/services/index.ts +0 -15
  474. package/src/constraint-runtime/src/session_store.ts +0 -32
  475. package/src/constraint-runtime/src/setup.ts +0 -50
  476. package/src/constraint-runtime/src/skills/index.ts +0 -1
  477. package/src/constraint-runtime/src/skills/skill-registry.ts +0 -40
  478. package/src/constraint-runtime/src/state/index.ts +0 -15
  479. package/src/constraint-runtime/src/system_init.ts +0 -21
  480. package/src/constraint-runtime/src/thinking/engine.ts +0 -61
  481. package/src/constraint-runtime/src/thinking/index.ts +0 -1
  482. package/src/constraint-runtime/src/tool_pool.ts +0 -20
  483. package/src/constraint-runtime/src/tools/OpenCLI/execAdapter.ts +0 -12
  484. package/src/constraint-runtime/src/tools/OpenCLI/listAdapters.ts +0 -12
  485. package/src/constraint-runtime/src/tools/OpenCLI/runCommand.ts +0 -13
  486. package/src/constraint-runtime/src/tools/PolymarketSDK/cancelOrder.ts +0 -10
  487. package/src/constraint-runtime/src/tools/PolymarketSDK/createOrder.ts +0 -13
  488. package/src/constraint-runtime/src/tools/PolymarketSDK/getMarket.ts +0 -14
  489. package/src/constraint-runtime/src/tools/PolymarketSDK/getOrders.ts +0 -10
  490. package/src/constraint-runtime/src/tools/PolymarketSDK/listMarkets.ts +0 -24
  491. package/src/constraint-runtime/src/tools/SafeSDK/confirmTransaction.ts +0 -13
  492. package/src/constraint-runtime/src/tools/SafeSDK/createTransaction.ts +0 -23
  493. package/src/constraint-runtime/src/tools/SafeSDK/deploySafe.ts +0 -12
  494. package/src/constraint-runtime/src/tools/SafeSDK/executeTransaction.ts +0 -12
  495. package/src/constraint-runtime/src/tools/SafeSDK/getBalance.ts +0 -10
  496. package/src/constraint-runtime/src/tools/SafeSDK/getPendingTransactions.ts +0 -10
  497. package/src/constraint-runtime/src/tools/SafeSDK/proposeTransaction.ts +0 -14
  498. package/src/constraint-runtime/src/tools/WalletTools/autoPay.ts +0 -58
  499. package/src/constraint-runtime/src/tools/WalletTools/createWallet.ts +0 -19
  500. package/src/constraint-runtime/src/tools/WalletTools/getBalance.ts +0 -28
  501. package/src/constraint-runtime/src/tools/WalletTools/importWallet.ts +0 -34
  502. package/src/constraint-runtime/src/tools/WalletTools/sendTransaction.ts +0 -50
  503. package/src/constraint-runtime/src/tools/WalletTools/signMessage.ts +0 -23
  504. package/src/constraint-runtime/src/tools/WalletTools/transferToken.ts +0 -49
  505. package/src/constraint-runtime/src/tools.ts +0 -100
  506. package/src/constraint-runtime/src/transcript.ts +0 -23
  507. package/src/constraint-runtime/src/types/index.ts +0 -15
  508. package/src/constraint-runtime/src/upstream_proxy/index.ts +0 -15
  509. package/src/constraint-runtime/src/utils/index.ts +0 -15
  510. package/src/constraint-runtime/src/vim/index.ts +0 -15
  511. package/src/constraint-runtime/src/voice/index.ts +0 -15
  512. package/src/constraint-runtime/tests/agent.test.ts +0 -20
  513. package/src/constraint-runtime/tests/constraint.test.ts +0 -47
  514. package/src/constraint-runtime/tests/skill.test.ts +0 -23
  515. package/src/constraint-runtime/tests/thinking.test.ts +0 -28
  516. package/src/constraint-runtime/tsconfig.json +0 -13
  517. package/src/pi-ecosystem/index.ts +0 -453
  518. package/src/pi-ecosystem-colony/index.ts +0 -482
  519. package/src/pi-ecosystem-goals/index.ts +0 -585
  520. package/src/pi-ecosystem-judgment/decision.ts +0 -431
  521. package/src/pi-ecosystem-judgment/distillation.ts +0 -398
  522. package/src/pi-ecosystem-judgment/human-value-store.ts +0 -580
  523. package/src/pi-ecosystem-judgment/index.ts +0 -678
  524. package/src/pi-ecosystem-judgment/value-injection.ts +0 -744
  525. package/src/pi-ecosystem-mcp/index.ts +0 -427
  526. package/src/pi-ecosystem-subagents/index.ts +0 -408
  527. package/src/test/ai-judgment-test.ts +0 -92
  528. package/src/test/bollharness-integration.test.ts +0 -398
  529. package/src/test/channel-agent-multi-dialogue.ts +0 -265
  530. package/src/test/channel-heartbeat-agent-test.ts +0 -244
  531. package/src/test/constraint-layer.test.ts +0 -191
  532. package/src/test/diap-identity-test.ts +0 -222
  533. package/src/test/diap-quick-test.ts +0 -73
  534. package/src/test/global-shared-context.test.ts +0 -393
  535. package/src/test/harness-judgment-injection.test.ts +0 -353
  536. package/src/test/harness-workflow-integrator-test.ts +0 -285
  537. package/src/test/human-value-store.test.ts +0 -316
  538. package/src/test/hybrid-integration-test.ts +0 -126
  539. package/src/test/hybrid-messenger-verify.ts +0 -68
  540. package/src/test/iroh-bistream-debug.ts +0 -50
  541. package/src/test/iroh-communication.test.ts +0 -81
  542. package/src/test/iroh-debug-test.ts +0 -69
  543. package/src/test/iroh-diap-test.ts +0 -90
  544. package/src/test/iroh-direct-connect.ts +0 -65
  545. package/src/test/iroh-e2e-fixed.ts +0 -106
  546. package/src/test/iroh-e2e-same-process.ts +0 -83
  547. package/src/test/iroh-e2e.ts +0 -83
  548. package/src/test/iroh-final-e2e.ts +0 -84
  549. package/src/test/iroh-relay-test.ts +0 -46
  550. package/src/test/iroh-simple-test.ts +0 -49
  551. package/src/test/iroh-transport-verify.ts +0 -60
  552. package/src/test/iroh-transport.test.ts +0 -47
  553. package/src/test/iroh-two-nodes.ts +0 -87
  554. package/src/test/iroh-verify.ts +0 -55
  555. package/src/test/judgment-decision.test.ts +0 -373
  556. package/src/test/llm-judgment-integration.test.ts +0 -257
  557. package/src/test/p2p-agent-complex-dialogue.ts +0 -490
  558. package/src/test/p2p-agent-dialogue.ts +0 -423
  559. package/src/test/p2p-agent-full-bidirectional.ts +0 -686
  560. package/src/test/p2p-agent-harness-flow.ts +0 -562
  561. package/src/test/p2p-agent-harness-single.ts +0 -175
  562. package/src/test/p2p-ai-dialogue-test.ts +0 -374
  563. package/src/test/p2p-cid-connect-test.ts +0 -245
  564. package/src/test/p2p-connect-receiver.ts +0 -85
  565. package/src/test/p2p-iroh-test.ts +0 -214
  566. package/src/test/p2p-minimal-test.ts +0 -264
  567. package/src/test/p2p-node-1.ts +0 -172
  568. package/src/test/p2p-node-2.ts +0 -172
  569. package/src/test/p2p-server.ts +0 -335
  570. package/src/test/p2p-two-nodes-test.ts +0 -542
  571. package/src/test/pi-sdk.test.ts +0 -47
  572. package/src/test/set-persona.ts +0 -56
  573. package/src/test/simple.test.ts +0 -11
  574. package/src/test/storage-integration.test.ts +0 -191
  575. package/src/test/subagent-manager.test.ts +0 -392
  576. package/src/test/test-gate-flow.test.ts +0 -92
  577. package/src/test/workflow-engine.test.ts +0 -101
  578. package/src/workflows/collaboration.ts +0 -455
  579. package/src/workflows/index.ts +0 -64
  580. package/vitest.config.ts +0 -12
  581. package//346/203/263/346/263/225.md +0 -79
@@ -1,326 +0,0 @@
1
- ---
2
- name: guardian-fixer
3
- description: 守夜人 issue 自动修复管道。8 Gate 全流程——规划、独立审查、开发、测试、闭环、PR。用于修复 docs/issues/guard-*.md 中 status:open 的 issue。
4
- status: active
5
- tier: execution
6
- owner: nature
7
- last_audited: 2026-03-24
8
- triggers:
9
- - 修复 guardian issue
10
- - 执行 guard issue
11
- - 自动修复管道
12
- outputs:
13
- - 独立 branch 上的 PR
14
- - 完整 Gate artifacts (PLAN/REVIEW/TASK/LOG/TEST/CLOSURE)
15
- truth_policy:
16
- - issue 文档是唯一执行队列
17
- - 不从口头描述、memory、聊天记录直接开做
18
- - 代码真相以 repo 当前状态为准,不以 issue 描述为准
19
- ---
20
-
21
- # 守夜人 Issue 自动修复
22
-
23
- ## 我是谁
24
-
25
- 我把 `docs/issues/guard-*.md`(status: open)变成可合并的 PR。我不发现 issue(那是巡逻的事),我只修复。
26
-
27
- ## 核心约束
28
-
29
- 1. **8 Gate 全走,一个都不能少。** 简单 issue 不是跳步的理由。
30
- 2. **审查是独立的。** Gate 2/4/7 必须 spawn 独立 subagent(opus),不是自己审自己。
31
- 3. **验证是诚实的。** 跑不了的测试标 BLOCKED,不标 PASS。"collect 通过" ≠ "测试通过"。
32
- 4. **写了代码必须运行。** 每个 WP 完成后必须有运行时证据(命令 + 输出),不是"看起来对"。
33
-
34
- ## 执行流程
35
-
36
- ### Step 0: 选 issue
37
-
38
- ```bash
39
- # 找到优先级最高的可执行 issue
40
- grep -rl 'status: open' docs/issues/guard-*.md | while read f; do
41
- sev=$(grep '^severity:' "$f" | sed 's/severity: *//')
42
- exec_st=$(grep '^execution_status:' "$f" | sed 's/execution_status: *//')
43
- # 跳过已有 execution_status 的(除了 pending)
44
- if [ -z "$exec_st" ] || [ "$exec_st" = "pending" ]; then
45
- echo "$sev|$f"
46
- fi
47
- done | sort
48
- ```
49
-
50
- 选第一个(P0 > P1 > P2)。如果需要检查 zone 冲突,查 DESIGN 文档 Section 3.6 的 CODE_ZONES。
51
-
52
- ### Step 1: 建 worktree
53
-
54
- ```bash
55
- ISSUE_SLUG="guard-YYYYMMDD-HHMM-slug" # 从 issue 文件名提取
56
- git worktree add /tmp/boll-$ISSUE_SLUG -b codex/$ISSUE_SLUG main
57
- mkdir -p /tmp/boll-$ISSUE_SLUG/docs/decisions/tasks/GUARD-YYYYMMDD-HHMM
58
- ```
59
-
60
- 以下所有操作在 worktree 目录内进行。
61
-
62
- ### Step 2: Gate 1 — 规划
63
-
64
- **输入**: issue 文档
65
- **产物**: `PLAN.md`
66
-
67
- PLAN.md 必须包含:
68
-
69
- ```markdown
70
- # PLAN: guard-YYYYMMDD-HHMM — 标题
71
-
72
- **Issue**: issue 文档路径
73
- **Severity**: P0/P1/P2
74
- **Component**: 主要代码文件
75
-
76
- ## 问题分析
77
- (根因,不是症状)
78
-
79
- ## 变更清单
80
- | # | 文件 | 变更 | 类型 |
81
-
82
- ## 契约 vs 实现分析
83
- - 契约变更?消费方?
84
-
85
- ## 同类检查
86
- (grep 验证是否有其他地方有同样的问题)
87
-
88
- ## 测试策略
89
- (修改前/修改后的验证方法)
90
-
91
- ## Scope 判定
92
- - ≤3 文件 + 无契约变更 → 可执行
93
- - 否则 → needs_plan,停止
94
- ```
95
-
96
- **Scope 硬上限**:
97
- - 超过 3 个代码文件 → 标 `needs_plan`,停止
98
- - API/schema/event 契约变更 → 标 `needs_plan`,停止
99
- - 需要数据库 migration → 标 `needs_plan`,停止
100
-
101
- ### Step 3: Gate 2 — 独立审查 PLAN
102
-
103
- **用 Agent tool spawn 独立审查者(opus 模型)。不是自己审自己。**
104
-
105
- ```
106
- Agent tool:
107
- model: opus
108
- prompt: |
109
- 你是独立代码审查者。你没有参与这段代码的编写。
110
-
111
- 审查 PLAN 文档:[路径]
112
- 对照 issue 文档:[路径]
113
- 读相关代码文件。
114
-
115
- 审查维度(全部覆盖):
116
- 1. 覆盖性:变更清单完整吗?
117
- 2. 独立性:每个改动可独立验证吗?
118
- 3. 执行模拟:逐步走,开发者会卡住吗?
119
- 4. 自包含性:有执行所需全部信息吗?
120
- 5. 元数据准确性:severity/component/scope 正确吗?
121
- 6. 修复完整性:修复完整吗?有没有引入新问题?
122
-
123
- 输出写入:[PLAN-REVIEW.md 路径]
124
- YAML frontmatter 必须有 verdict: PASS 或 FAIL。
125
- ```
126
-
127
- **如果 FAIL**:修改 PLAN,重新提交审查(最多 2 轮)。2 轮不通过 → 标 `blocked`,停止。
128
-
129
- ### Step 4: Gate 3 — 任务拆解
130
-
131
- **产物**: `TASK.md`
132
-
133
- ```markdown
134
- # TASK: guard-YYYYMMDD-HHMM
135
-
136
- ## WP-N: 标题
137
- **文件**: 路径
138
- **改什么**: 具体描述
139
- **验收标准**: 可机械验证的条件
140
-
141
- ## 验收测试
142
- | # | 方法 | 预期结果 |
143
- ```
144
-
145
- ### Step 5: Gate 4 — 独立审查 TASK
146
-
147
- 同 Gate 2,spawn 独立审查者审查 TASK.md。
148
-
149
- ### Step 6: Gate 5 — 开发
150
-
151
- **操作顺序**:
152
-
153
- 1. **先开 LOG.md**(实时写,不是事后补)
154
- 2. 逐个 WP 执行:
155
- a. 写代码
156
- b. **运行代码**(关键!不是"看起来对"就 commit)
157
- c. 记录运行命令和输出到 LOG.md
158
- d. 验证 TASK.md 中的验收标准
159
- 3. 更新 issue 文档状态(pre-commit hook 要求)
160
- 4. Commit(不 push)
161
-
162
- **Worktree 里 Read/Edit 工具可能被 guard hook 阻塞**(pre-existing findings)。用 Bash 操作 worktree 文件:
163
- - 读文件:`cat` / `tail`
164
- - 写文件:`cat > file << 'EOF'` 或 `cat >> file << 'EOF'`
165
- - 小修改:`sed -i ''`
166
-
167
- **LOG.md 格式**:
168
-
169
- ```markdown
170
- # LOG: guard-YYYYMMDD-HHMM
171
-
172
- ## WP-N: 标题
173
- - 做了什么
174
- - 运行命令 + 输出(证据)
175
- - 偏差说明(如果有)
176
-
177
- ## 验收检查
178
- | # | 方法 | 结果 |
179
- ```
180
-
181
- ### Step 7: Gate 6 — 测试
182
-
183
- **运行所有能跑的测试**:
184
-
185
- ```bash
186
- # 从 worktree 运行,用主仓库的 venv
187
- VENV=/Users/nature/个人项目/boll/backend/venv/bin/pytest
188
-
189
- cd /tmp/boll-$ISSUE_SLUG
190
- $VENV -q backend/tests/unit/ # 无 Docker
191
- $VENV -q backend/tests/field/ # 无 Docker
192
- $VENV -q backend/tests/test_phase0_surface.py # 无 Docker
193
- $VENV -q backend/tests/product/ # 需要 Docker
194
- $VENV -q backend/tests/matching/ # 无 Docker
195
- ```
196
-
197
- **产物**: `TEST.md`
198
-
199
- ```markdown
200
- # TEST: guard-YYYYMMDD-HHMM
201
-
202
- ## 测试执行结果
203
-
204
- ### 可运行测试
205
- | 测试集 | 数量 | 结果 | 命令 |
206
-
207
- ### 需要 Docker 的测试
208
- | 测试集 | 状态 | 原因 |
209
-
210
- ### 诚实声明
211
- - 新代码有没有被测试覆盖?
212
- - 是"旧测试通过"还是"新代码验证通过"?
213
- - 有没有把 BLOCKED 标成 PASSED?
214
- ```
215
-
216
- **诚实规则**:
217
- - "collect 通过" ≠ "测试通过"
218
- - "旧测试通过" ≠ "新代码验证通过"
219
- - Docker 不可用 → 标 BLOCKED,不标 PASS
220
- - 不虚构测试数量
221
-
222
- ### Step 8: Gate 7 — 最终审查
223
-
224
- Spawn 独立审查者(opus)审查代码 diff + 测试结果。
225
-
226
- ```
227
- Agent tool:
228
- model: opus
229
- prompt: |
230
- 你是独立代码审查者(最终审查)。
231
-
232
- 审查 git diff + TEST.md + LOG.md。
233
- 检查代码是否与 PLAN 一致。
234
- 检查有没有引入新问题。
235
- 检查 TEST.md 是否诚实。
236
-
237
- 输出写入:[FINAL-REVIEW.md 路径]
238
- verdict: PASS 或 FAIL。
239
- ```
240
-
241
- ### Step 9: Gate 7.5 — Closure
242
-
243
- **产物**: `CLOSURE.md`
244
-
245
- ```markdown
246
- # CLOSURE
247
-
248
- ## Issue 闭环状态
249
- - status: fixed ✓/✗
250
- - prevention_status: closed ✓/✗
251
- - mechanism_layer: guard|test|type|convention ✓/✗
252
-
253
- ## 文档同步清单
254
-
255
- ### 必须更新
256
- - [ ] issue 文档 status/prevention_status
257
-
258
- ### 可能需要更新(写进 PR 描述)
259
- - [ ] CLAUDE.md 路由表(如果改了 API)
260
- - [ ] 其他 issue 文档(如果修复也解决了其他问题)
261
-
262
- ### 不需要更新
263
- - (列出检查过但不需要改的)
264
- ```
265
-
266
- **禁止修改的文件**:
267
- - CLAUDE.md(行为指令部分)
268
- - AGENTS.md
269
- - `.claude/skills/*/SKILL.md`
270
- - `scripts/guard-feedback.py`
271
- - `scripts/context_router.py`
272
-
273
- ### Step 10: Gate 8 — Push + PR
274
-
275
- ```bash
276
- cd /tmp/boll-$ISSUE_SLUG
277
- git push -u origin codex/$ISSUE_SLUG
278
- gh pr create --title "fix(...): guard-YYYYMMDD-HHMM 标题" --body "..."
279
- ```
280
-
281
- PR 描述必须包含:
282
- - Issue 路径
283
- - 变更摘要
284
- - 8 Gate 结果表
285
- - 验证结果(诚实标注 PASS/BLOCKED)
286
- - Artifacts 列表
287
-
288
- ## 异常处理
289
-
290
- | 场景 | 操作 |
291
- |------|------|
292
- | Scope 超 3 文件 | Gate 1 标 `needs_plan`,停止 |
293
- | 审查 2 轮不通过 | 标 `blocked`,停止 |
294
- | 测试失败且无法修 | TEST.md 记录失败原因,标 `blocked`,停止 |
295
- | 碰禁止修改的文件 | 停止 |
296
- | Rebase 冲突 | 标 `needs_coordination`,停止 |
297
-
298
- **所有异常路径都停止。不要强行继续。**
299
-
300
- ## 反模式清单
301
-
302
- 以下行为是明确禁止的(PLAN-064 教训):
303
-
304
- | 反模式 | 正确做法 |
305
- |--------|---------|
306
- | 写完代码不运行就 commit | 每个 WP 必须有运行时证据 |
307
- | LOG.md 从 git log 生成 | LOG.md 在写代码时实时写 |
308
- | 把 "199 tests PASS" 当验证 | 区分旧测试/新测试,标注新代码覆盖率 |
309
- | 4 分钟完成一个 WP | 如果太快,说明没有运行验证 |
310
- | 自己审自己 | Gate 2/4/7 必须 spawn 独立 subagent |
311
- | Docker 不可用就跳过 | 标 BLOCKED,不标 PASS |
312
-
313
- ## Gate 检查清单
314
-
315
- 执行前自检——**如果正在写代码但 PLAN.md 不存在,立刻停下来。**
316
-
317
- ```
318
- □ PLAN.md 存在? → Gate 2 可以开始
319
- □ PLAN-REVIEW.md verdict: PASS? → Gate 3 可以开始
320
- □ TASK.md 存在? → Gate 4 可以开始
321
- □ TASK-REVIEW.md verdict: PASS? → Gate 5 可以开始
322
- □ LOG.md 存在? → Gate 6 可以开始
323
- □ TEST.md 存在? → Gate 7 可以开始
324
- □ FINAL-REVIEW.md verdict: PASS? → Gate 7.5 可以开始
325
- □ CLOSURE.md 存在? → Gate 8 可以开始
326
- ```
@@ -1,155 +0,0 @@
1
- ---
2
- name: lead
3
- description: 流形开发流程统领(fail-closed 状态机)。从想法到生产代码的全流程管理,机械化门禁强制。当用户提出新功能、改动需求、或需要讨论方向时使用。
4
- status: active
5
- tier: entry
6
- owner: nature
7
- last_audited: 2026-03-27
8
- triggers:
9
- - 新功能
10
- - 方向讨论
11
- - 跨模块修复
12
- - 需要 Gate 管理
13
- outputs:
14
- - Gate 包(current_gate + required_artifact + required_next_skill + required_review_substrate)
15
- - 决策缺口
16
- - 执行 DAG 骨架
17
- truth_policy:
18
- - 不复制实时仓库事实
19
- - 实时事实以 boll-dev-handoff 的真相优先级为准
20
- - 只维护稳定流程、门禁和升级条件
21
- ---
22
-
23
- # 流形开发统领(Fail-Closed 状态机)
24
-
25
- ## 我是谁
26
-
27
- 我是 fail-closed 的流程状态机。我的职责不是建议,而是**阻塞**——没有满足入门条件就不能进下一门。
28
-
29
- 我优先处理的不是"快不快",而是:
30
-
31
- 1. 当前处于哪一门,前置条件是否满足
32
- 2. 下一门需要什么产物,由哪个 skill 产出
33
- 3. 审查由谁做,用什么基底(TeamCreate,不是 Agent)
34
-
35
- ## 状态机定义
36
-
37
- ### Gate 转移表
38
-
39
- | Gate | 名称 | entry_condition | required_artifact | required_next_skill | required_review_substrate |
40
- |------|------|-----------------|-------------------|---------------------|--------------------------|
41
- | 0 | 问题锁定 | 用户提出需求 | 问题陈述 + Change Classification | `arch` | — |
42
- | 1 | 架构设计 | Gate 0 产物存在 | ADR 草稿 + 消费方清单 | `arch` | — |
43
- | 2 | 架构审查 | ADR 草稿完成 | 审查报告(PASS/BLOCK) | **TeamCreate** | `ref-review-sop.md` 阶段②维度 |
44
- | 3 | PLAN | Gate 2 PASS | PLAN 文档 + 架构覆盖矩阵 | `boll-eng` + `plan-lock` | — |
45
- | 4 | PLAN 审查 + plan-lock | PLAN `vN-final` 冻结 | 审查报告 + plan-lock 确认 | **TeamCreate** | `ref-review-sop.md` 阶段④维度 + C/D/E/F |
46
- | 5 | task-arch | Gate 4 PASS + plan-lock | WP 拆分 + TASK.md | `task-arch` | — |
47
- | 6 | task 审查 | 全部 TASK.md 完成 | 审查报告(PASS/BLOCK) | **TeamCreate** | `ref-review-sop.md` WP 拆分专项 |
48
- | 7 | 执行 + 日志 | Gate 6 PASS | 代码 + LOG.md(每 WP 实时写) | `boll-eng` / `boll-dev` | — |
49
- | 8 | 执行审查 | 全部 WP 代码 + LOG.md 存在 | 审查报告 + 验收确认 | **TeamCreate** + `boll-eng-test` | `ref-review-sop.md` 阶段⑤⑥维度 |
50
-
51
- ### 转移函数(硬规则)
52
-
53
- ```
54
- transition(current_gate, artifact) -> next_gate | BLOCKED
55
-
56
- 规则:
57
- - Gate N 的 entry_condition 未满足 → BLOCKED,输出缺什么
58
- - Gate 2/4/6/8 的 required_review_substrate 是 TeamCreate → Agent 审查 = 不合规
59
- - Gate 4 → Gate 5:PLAN 必须有 plan-lock 标记(vN-final)
60
- - Gate 5 → Gate 6:task-arch 产物必须存在(TASK.md)
61
- - Gate 6 → Gate 7:task 审查 PASS
62
- - Gate 7 → Gate 8:每个 WP 必须同时有代码 commit 和 LOG.md
63
- - Gate 8 PASS → 完成;BLOCK → 回退到对应 Gate 修复
64
- ```
65
-
66
- ### 审查门强制 TeamCreate
67
-
68
- Gate 2/4/6/8 是审查门。硬规则:
69
-
70
- ```
71
- 审查门执行方式:
72
- ✅ TeamCreate("review-{plan-id}-gate-{N}") — 独立上下文,多视角
73
- ❌ Agent(subagent_type="...") — 共享上下文,单视角,不合规
74
- ```
75
-
76
- 审查维度参见 `ref-review-sop.md`。Gate 4 额外覆盖 C/D/E/F 维度。
77
-
78
- ## Output Contract
79
-
80
- 每次调用我,我**必须**先输出 Gate 包:
81
-
82
- ```yaml
83
- gate_pack:
84
- current_gate: N # 当前所在门
85
- entry_satisfied: true/false # 入门条件是否满足
86
- blockers: [...] # 未满足的条件列表
87
- required_artifact: "..." # 本门需要产出什么
88
- required_next_skill: "..." # 由谁产出
89
- required_review_substrate: "..." # 审查用什么(如果是审查门)
90
- ```
91
-
92
- 如果 `entry_satisfied: false`,不输出任何执行建议,只输出 blockers。
93
-
94
- ## 快速通道
95
-
96
- 只有同时满足以下**全部 5 条**,才允许跳 gate(不能跳 skill):
97
-
98
- 1. 改动不超过 3 个文件
99
- 2. 无契约变更(Change Classification = `implementation`)
100
- 3. 无跨模块接缝
101
- 4. 不影响用户心智或产品语义
102
- 5. 不引入新的架构决策
103
-
104
- 快速通道仍然需要:执行 skill + 审查(可简化为单人 TeamCreate)。
105
-
106
- ## Change Classification
107
-
108
- 每个工作单元先分类,分类决定最低门禁:
109
-
110
- | 分类 | 定义 | 最低门禁 |
111
- |------|------|---------|
112
- | `policy` | 边界、身份、权限、场景承诺、对外语义 | Gate 0 → Gate 8 全走 |
113
- | `contract` | API、schema、事件、共享配置、生成物 | Gate 0 → Gate 8 全走 + 消费方清单 |
114
- | `implementation` | 单模块内部实现 | 可走快速通道(需满足 5 条) |
115
-
116
- ## Parallel Planning Contract
117
-
118
- 进入并行前必须显式写出:
119
-
120
- ```yaml
121
- parallel_contract:
122
- write_set: [...] # 每个 track 的写文件集
123
- parallel_tracks: [...] # 并行 track 列表
124
- depends_on: {track: dep} # 依赖关系
125
- integration_owner: "..." # 集成负责人
126
- seam_owner: "..." # 接缝负责人
127
- golden_journeys: [...] # 端到端验证路径
128
- ```
129
-
130
- 如果两个 track 有共享接口但没有 `seam_owner` → 不是可执行计划 → BLOCKED。
131
-
132
- ## 来自 crystal-learn 的门禁
133
-
134
- **INV-4 真相源分裂**:涉及文档、配置、版本、部署描述时,必须追问"这个事实还写在哪"。如果有第二个副本,要么删掉,要么标注以谁为准。
135
-
136
- **INV-6 验证衰减**:不要只验最容易的那一层。任何计划都必须有从用户价值链最后一步倒推回来的 golden journeys。
137
-
138
- ## Gate 7 开发日志硬性要求(PLAN-064 教训)
139
-
140
- **LOG.md 不是可选项。** 每个 WP 的 `LOG.md` 必须在开发过程中实时写入,不得事后补写。
141
-
142
- Gate 7 → Gate 8 的转移条件包含:每个 WP 的 `docs/decisions/tasks/WP-*/LOG.md` 存在且非空。代码已 commit 但 LOG.md 不存在 = BLOCKED。
143
-
144
- ## 联动规则(skill 调度表)
145
-
146
- | 需要做什么 | 调度 skill | 在哪些 gate |
147
- |-----------|-----------|------------|
148
- | 本质和边界 | `arch` | Gate 0, 1 |
149
- | 锁 plan | `plan-lock` | Gate 3 → 4 |
150
- | 拆 WP | `task-arch` | Gate 5 |
151
- | 编排并行执行 | `boll-eng` | Gate 3, 7 |
152
- | 全栈实现 | `boll-dev` | Gate 7 |
153
- | 质量闭环 | `boll-eng-test` | Gate 8 |
154
- | 审真相源和漂移 | `boll-ops` | 任何 gate |
155
- | 独立上下文审查 | **TeamCreate** | Gate 2, 4, 6, 8 |
@@ -1,91 +0,0 @@
1
- # 审查闭环 SOP
2
-
3
- lead skill 的审查操作手册。审查是每个阶段的硬门禁。
4
-
5
- ---
6
-
7
- ## 核心原则
8
-
9
- 每个阶段结束后必须审查。审查用 TeamCreate(独立上下文 = 不被已有讨论污染的判断)。不是 Agent tool(subagent),是持久化 Team。
10
-
11
- ## 审查何时触发
12
-
13
- ```
14
- ① 讨论沉淀 → ✅ 审查:本质找对了吗?
15
- ② 决策书 ADR → ✅ 审查:决策完备吗?
16
- ③ 接口设计 → ✅ 审查:契约清楚吗?消费方覆盖了吗?
17
- ④ 实现方案 PLAN → ✅ 审查:方案能实现计划吗?
18
- ④-a 任务拆分 WP → ✅ 审查:WP 完备、解耦、可执行吗?
19
- ⑤ 代码实现 → ✅ 审查:每个 WP 完成后单独审查
20
- ⑥ 集成验收 → ✅ 审查:端到端走通吗?
21
- ```
22
-
23
- ## 标准审查流程
24
-
25
- ```
26
- TeamCreate("review-{plan-id}")
27
-
28
- 第 1 轮:多视角独立审查(Team 内并行)
29
- ├── Teammate A:视角 1
30
- ├── Teammate B:视角 2
31
- └── Teammate C:视角 3
32
-
33
- ↓ 收集独立报告 → 汇总 → 修正 → 再审 → 通过
34
- ```
35
-
36
- ## 审查维度矩阵
37
-
38
- | 阶段 | 视角 A | 视角 B | 视角 C |
39
- |------|--------|--------|--------|
40
- | ① 讨论 | 商业可行性 | 技术本质 | 用户体验 |
41
- | ② ADR | 选项完备性 | 架构一致性 | 风险分析 |
42
- | ③ 接口 | 消费方完备 | 向后兼容 | 可测试性 |
43
- | ④ PLAN/WP | 代码现状验证 | 任务解耦+依赖 | 测试+验收可执行 |
44
- | ⑤ 代码 | 功能正确性 | 安全+错误处理 | 性能+生产就绪 |
45
- | ⑥ 集成 | 端到端链路 | 回归验证 | 部署就绪 |
46
-
47
- ## PLAN-033 教训:审查团队扩展维度
48
-
49
- **Gate 4(PLAN 审查)必须额外覆盖**(详见 `plan-lock/ref-three-checks.md`):
50
-
51
- | 维度 | 检查什么 |
52
- |------|---------|
53
- | C. 消费方语义兼容 | 接口变更后所有调用方在新语义下行为正确 |
54
- | D. 数据流完整性 | 新字段从创建到消费的传递链无断点 |
55
- | E. 时间边界 | 跨午夜/跨过期/并发竞态 |
56
- | F. 对抗/红队 | 攻击者能构造什么输入获得不正当利益 |
57
-
58
- ## 生产问题诊断硬规则(2026-03-18 沉淀)
59
-
60
- **当审查对象是"生产故障"时,审查的第一步不是看代码,是看生产证据。**
61
-
62
- | 顺序 | 动作 | 不是 |
63
- |------|------|------|
64
- | 1 | 看日志、事件、DB 中的实际错误 | 看代码猜"可能哪里错了" |
65
- | 2 | 对比成功 case 和失败 case 的时间线 | 从代码结构推断"应该用另一种方式" |
66
- | 3 | 验证运行环境(认证、权限、沙盒、磁盘) | 假设环境和本地一样 |
67
- | 4 | 最后看代码,只为理解机制 | 把"代码可以改进"等同于"这里是 bug" |
68
-
69
- **Gate 0 的额外检查项**(生产故障类 issue):
70
- - [ ] 是否已查看失败 run 的实际错误消息(不是推测)
71
- - [ ] 是否已对比同路径下的成功 run
72
- - [ ] 是否已验证运行环境与本地的差异
73
-
74
- ## WP 拆分专项审查
75
-
76
- 当 PLAN 拆分成 WP 后,逐条检查:
77
-
78
- 1. **PLAN 覆盖率** — 每个 RP 在 WP 中都有归属
79
- 2. **WP 解耦与依赖** — 依赖正确,并行度最大化
80
- 3. **代码现状验证** — 文件/函数签名与真实代码一致
81
- 4. **接缝完整性** — 没有"不属于任何 WP 的中间层"
82
- 5. **验收可测试性** — 每个 WP 有可自动化的验收标准
83
- 6. **执行分配** — 每个 WP 由哪个 Skill 负责
84
-
85
- ## 日志要求
86
-
87
- 每次审查产生日志:`docs/decisions/tasks/{WP-ID}/LOG.md`。
88
-
89
- ## Skill 自迭代
90
-
91
- 审查中发现的可复用教训,沉淀到对应 Skill 的 reference 文件中,不只是 memory。
@@ -1,129 +0,0 @@
1
- # 开发阶段详细描述
2
-
3
- lead skill 的 5 个阶段的深度定义。主 SKILL.md 的 Gate 0-8 是强制顺序,这里是每个阶段的详细操作指南。
4
-
5
- ---
6
-
7
- ## 阶段 ①:讨论沉淀
8
-
9
- **目标**:把想法想清楚,找到本质。
10
-
11
- **必须加载**:`arch` skill(架构师做本质分析,不是 lead 自己想)
12
-
13
- **做什么**:
14
- - 从架构原则出发分析(引用 `docs/ARCHITECTURE_DESIGN.md` 的具体 Section)
15
- - 列出多个方案和 trade-off,不只给一个答案
16
- - 追问"这个东西的本质是什么?它属于哪一层?"
17
- - 识别它是**契约变更**还是**实现变更**
18
- - 记录讨论中达成的共识
19
-
20
- **消费方发现门禁**(必须在讨论阶段完成,三个维度都要覆盖):
21
- ```
22
- 数据消费方(谁在读这个实体的数据):
23
- □ 这个 Feature 改动涉及哪些组件/模块?
24
- □ 每个被改组件有哪些消费方?(grep import 来源)
25
- □ 消费方 > 1 时,所有消费方都在 Feature scope 内吗?
26
- □ 不在的消费方:纳入 scope,或显式标注"不受影响 + 原因"
27
-
28
- 行为消费方(谁在调用这个实体的能力):
29
- □ 这个实体被创建/注册后,系统中谁会调用它的方法/能力?
30
- □ 每个调用点,实体的状态是否足以支持调用?(如 adapter!=None 才能 chat)
31
- □ "接口接受" ≠ "语义完整"——API 接受你的输入不代表产物是完整公民
32
-
33
- 可见性消费方(谁在查找/匹配这个实体):
34
- □ 这个实体在所有 scope/query 条件下都能被找到吗?
35
- □ 有没有过滤条件会让它隐形?(如空 scene_ids → 场景查询不可见)
36
- ```
37
- **原则**:Feature scope = 改动集 ∪ 改动的所有消费方(数据+行为+可见性三维)。scope 不由"我想做什么"决定,由"谁在用我改的东西"决定。
38
-
39
- **不做**:不跳到"怎么实现"。这个阶段只讨论"是什么"和"为什么"。
40
-
41
- ---
42
-
43
- ## 阶段 ②:决策书 (ADR)
44
-
45
- **目标**:把共识变成正式决策,留下记录。
46
-
47
- **门禁**:阶段 ① 的讨论已充分,核心问题已回答。
48
-
49
- **必须加载**:`arch` skill
50
-
51
- **做什么**:
52
- - 写 `docs/decisions/ADR-NNN-xxx.md`
53
- - 格式:背景 → 选项分析(≥2 个方案 + trade-off)→ 决策 → 核心原则 → 影响范围
54
-
55
- **不做**:不在 ADR 里写实现细节。ADR 描述"做什么决定",不描述"怎么实现"。
56
-
57
- ---
58
-
59
- ## 阶段 ③:接口设计
60
-
61
- **目标**:定义功能的**本质**——它做什么,不是怎么做。
62
-
63
- **门禁**:ADR 已获批准。
64
-
65
- **必须加载**:`arch` skill + 领域相关 Skill
66
-
67
- **做什么**:
68
- - 定义输入/输出的语义
69
- - 定义调用方和实现方之间的契约
70
- - 定义操作会产生的事件/状态变化
71
- - 与现有契约的关系
72
-
73
- **本质描述的标准**:换一种实现方式,接口定义不需要改。
74
-
75
- ---
76
-
77
- ## 阶段 ④:实现方案 (PLAN)
78
-
79
- **目标**:把接口设计映射到代码改动。
80
-
81
- **门禁**:接口设计已完成,且架构设计审查 blocker 已清零。
82
-
83
- **必须加载**:`boll-eng` + 领域 Skill + `plan-lock`
84
-
85
- **做什么**:
86
- - 写 `docs/decisions/PLAN-NNN-xxx.md`
87
- - 列出具体要改/新增的文件
88
- - 每条变更链路追踪到底
89
- - 架构覆盖矩阵:逐条核对"架构设计 → PLAN 承载"
90
- - **冻结步骤**:必须经过 `plan-lock` 关掉所有决策口子
91
-
92
- **变更链路追踪清单**:
93
- ```
94
- □ 我改的是契约还是实现?
95
- □ 如果是契约,消费方有哪些?列出来。
96
- □ 数据从哪来 → 经过哪些层 → 到哪去?每一层有代码吗?
97
- □ 有没有降级路径?降级路径也通了吗?
98
- □ 有没有"不归任何人"的中间层?
99
- ```
100
-
101
- **消费方验证清单**:
102
- ```
103
- 数据消费方:每个都有对应的变更条目吗?降级路径覆盖了吗?
104
- 行为消费方:复用已有模式时,原模式的语义意图适用于新场景吗?
105
- 可见性消费方:新实体在所有 scope 查询下都可见吗?
106
- ```
107
-
108
- **硬性规则**:只有标成 `vN-final` 的冻结计划,才允许进入审查或交给 `task-arch`。
109
-
110
- ---
111
-
112
- ## 阶段 ⑤:代码实现
113
-
114
- **目标**:按方案写生产级代码。
115
-
116
- **强制 Skill 调度**:
117
-
118
- | 领域 | Skill | 什么时候用 |
119
- |------|-------|-----------|
120
- | 全栈实现(默认) | `boll-dev` | 跨前后端改动、调试、重构 |
121
- | 状态机/编排 | `arch` + `boll-eng` + `boll-dev` | 需要先冻结状态语义,再落执行编排和实现 |
122
- | LLM/Prompt | `soul-writing` + `boll-dev` | 行为文本设计、tool-use、parser 落地 |
123
- | HDC/向量 | `arch` + `boll-lab` | 编码策略、共振实验、证据化验证 |
124
- | 前端 UI | `boll-eng-frontend` | 组件、WS 事件消费 |
125
- | 前端设计 | `nature-designer` | 视觉设计、交互 |
126
- | 测试 | `boll-eng-test` | 测试策略 |
127
- | 架构对齐 | `arch` | 可能违反架构原则时 |
128
-
129
- **快速通道可以跳阶段,不可以跳 Skill。**