@bolloon/bolloon-agent 0.1.0 → 0.1.1

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 (431) hide show
  1. package/package.json +1 -1
  2. package/dist/constraint-runtime/tests/agent.test.js +0 -16
  3. package/dist/constraint-runtime/tests/constraint.test.js +0 -41
  4. package/dist/constraint-runtime/tests/skill.test.js +0 -19
  5. package/dist/constraint-runtime/tests/thinking.test.js +0 -22
  6. package/dist/electron-preload.js +0 -15
  7. package/dist/electron-preload.js.map +0 -1
  8. package/dist/electron.js +0 -206
  9. package/dist/electron.js.map +0 -1
  10. package/dist/test/constraint-layer.test.js +0 -164
  11. package/dist/test/global-shared-context.test.js +0 -315
  12. package/dist/test/pi-sdk.test.js +0 -47
  13. package/dist/test/set-persona.test.js +0 -38
  14. package/dist/test/subagent-manager.test.js +0 -276
  15. package/dist/test/workflow-engine.test.js +0 -87
  16. package/dist/workflows/collaboration.js +0 -374
  17. package/dist/workflows/index.js +0 -54
  18. package/docs/agent-communication.md +0 -333
  19. package/docs/plans/2026-05-15-document-agent-design.md +0 -479
  20. package/docs/plans/2026-05-15-document-agent-implementation-plan.md +0 -792
  21. package/docs/plans/2026-05-16-chat-ui-design.md +0 -86
  22. package/docs/plans/2026-05-16-constraint-runtime-design.md +0 -106
  23. package/docs/plans/2026-05-16-constraint-runtime-implementation.md +0 -441
  24. 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
  25. package/src/bollharness/.boll/CLAUDE.md.template +0 -34
  26. package/src/bollharness/.boll/MANIFEST.yaml +0 -213
  27. package/src/bollharness/.boll/active-review-agents/.gitkeep +0 -0
  28. package/src/bollharness/.boll/agents/review-base.yaml +0 -108
  29. package/src/bollharness/.boll/deploy-allowlist.yaml +0 -38
  30. package/src/bollharness/.boll/inbox/schema/message-v1.json +0 -99
  31. package/src/bollharness/.boll/install-staging/.gitkeep +0 -0
  32. package/src/bollharness/.boll/issue-adapter.yaml +0 -31
  33. package/src/bollharness/.boll/plugins/boll-mode-toolkit/contracts/mode-contract.md +0 -85
  34. package/src/bollharness/.boll/plugins/boll-review-toolkit/contracts/evidence-packet-schema.json +0 -102
  35. package/src/bollharness/.boll/plugins/boll-review-toolkit/contracts/review-contract.yaml +0 -247
  36. package/src/bollharness/.boll/rules/backend-routes.md +0 -31
  37. package/src/bollharness/.boll/rules/closure-semantics.md +0 -30
  38. package/src/bollharness/.boll/rules/env-vars.md +0 -32
  39. package/src/bollharness/.boll/rules/hanis-protocol.md +0 -145
  40. package/src/bollharness/.boll/rules/repo-structure.md +0 -42
  41. package/src/bollharness/.boll/rules/review-agent-isolation.md +0 -73
  42. package/src/bollharness/.boll/rules/source-of-truth.md +0 -33
  43. package/src/bollharness/.boll/settings.json +0 -180
  44. package/src/bollharness/.boll/settings.json.template +0 -31
  45. package/src/bollharness/.boll/skills/arch/SKILL.md +0 -372
  46. package/src/bollharness/.boll/skills/bug-pipeline/SKILL.md +0 -168
  47. package/src/bollharness/.boll/skills/bug-triage/SKILL.md +0 -161
  48. package/src/bollharness/.boll/skills/context-chains/SKILL.md +0 -250
  49. package/src/bollharness/.boll/skills/context-chains/context-chain-index.md +0 -48
  50. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/code_change_extractor.ts +0 -142
  51. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/debugging_extractor.ts +0 -126
  52. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/design_extractor.ts +0 -148
  53. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/planning_extractor.ts +0 -162
  54. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/question_extractor.ts +0 -116
  55. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/review_extractor.ts +0 -136
  56. package/src/bollharness/.boll/skills/crystal-learn/SKILL.md +0 -93
  57. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-0.md +0 -34
  58. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-1.md +0 -34
  59. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-2.md +0 -35
  60. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-3.md +0 -34
  61. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-4.md +0 -43
  62. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-5.md +0 -34
  63. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-6.md +0 -37
  64. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-7.md +0 -46
  65. package/src/bollharness/.boll/skills/guardian-fixer/PROMPT.md +0 -415
  66. package/src/bollharness/.boll/skills/guardian-fixer/SKILL.md +0 -320
  67. package/src/bollharness/.boll/skills/harness-dev/SKILL.md +0 -93
  68. package/src/bollharness/.boll/skills/harness-dev/examples/README.md +0 -227
  69. package/src/bollharness/.boll/skills/harness-dev-handoff/SKILL.md +0 -165
  70. package/src/bollharness/.boll/skills/harness-eng/SKILL.md +0 -110
  71. package/src/bollharness/.boll/skills/harness-eng-test/SKILL.md +0 -79
  72. package/src/bollharness/.boll/skills/harness-lab/SKILL.md +0 -170
  73. package/src/bollharness/.boll/skills/harness-ops/SKILL.md +0 -57
  74. package/src/bollharness/.boll/skills/harness-voice/SKILL.md +0 -183
  75. package/src/bollharness/.boll/skills/judgment/SKILL.md +0 -115
  76. package/src/bollharness/.boll/skills/lead/SKILL.md +0 -245
  77. package/src/bollharness/.boll/skills/lead/install-wow-harness.md +0 -77
  78. package/src/bollharness/.boll/skills/lead/ref-review-sop.md +0 -91
  79. package/src/bollharness/.boll/skills/lead/ref-stages.md +0 -129
  80. package/src/bollharness/.boll/skills/skill-discovery/SKILL.md +0 -169
  81. package/src/bollharness/.boll/skills/task-arch/SKILL.md +0 -106
  82. package/src/bollharness/.boll/skills/toolkit/SKILL.md +0 -57
  83. package/src/bollharness/.boll/tasks/.gitkeep +0 -0
  84. package/src/bollharness/.boll/toolkit-index.yaml +0 -112
  85. package/src/bollharness/.claude/agents/review-base.yaml +0 -108
  86. package/src/bollharness/.claude/plugins/boll-mode-toolkit/.claude-plugin/plugin.json +0 -44
  87. package/src/bollharness/.claude/plugins/boll-review-toolkit/.claude-plugin/plugin.json +0 -24
  88. package/src/bollharness/.claude/plugins/boll-review-toolkit/contracts/evidence-packet-schema.json +0 -102
  89. package/src/bollharness/.claude/plugins/boll-review-toolkit/contracts/review-contract.yaml +0 -247
  90. package/src/bollharness/.claude/settings.json +0 -157
  91. package/src/bollharness/.claude/skills/arch/SKILL.md +0 -64
  92. package/src/bollharness/.claude/skills/crystal-learn/SKILL.md +0 -93
  93. package/src/bollharness/.claude/skills/guardian-fixer/PROMPT.md +0 -44
  94. package/src/bollharness/.claude/skills/guardian-fixer/SKILL.md +0 -324
  95. package/src/bollharness/.claude/skills/harness-dev/SKILL.md +0 -93
  96. package/src/bollharness/.claude/skills/harness-dev/examples/README.md +0 -17
  97. package/src/bollharness/.claude/skills/harness-dev-handoff/SKILL.md +0 -165
  98. package/src/bollharness/.claude/skills/harness-eng/SKILL.md +0 -183
  99. package/src/bollharness/.claude/skills/harness-eng-test/SKILL.md +0 -57
  100. package/src/bollharness/.claude/skills/harness-ops/SKILL.md +0 -57
  101. package/src/bollharness/.claude/skills/harness-voice/SKILL.md +0 -84
  102. package/src/bollharness/.claude/skills/lead/INDEX.md +0 -28
  103. package/src/bollharness/.claude/skills/lead/SKILL.md +0 -24
  104. package/src/bollharness/.claude/skills/lead/install-wow-harness.md +0 -77
  105. package/src/bollharness/.claude/skills/lead/ref-review-sop.md +0 -48
  106. package/src/bollharness/.claude/skills/lead/ref-stages.md +0 -58
  107. package/src/bollharness/.claude/skills/plan-lock/SKILL.md +0 -74
  108. package/src/bollharness/.claude/skills/skill-discovery/SKILL.md +0 -120
  109. package/src/bollharness/.claude/skills/task-arch/SKILL.md +0 -106
  110. package/src/bollharness/.claude/skills/toolkit/SKILL.md +0 -57
  111. package/src/bollharness/.claude/skills/toolkit/list.sh +0 -92
  112. package/src/bollharness/.githooks/pre-commit +0 -21
  113. package/src/bollharness/.github/workflows/ci.yml +0 -88
  114. package/src/bollharness/CLAUDE.md +0 -73
  115. package/src/bollharness/README.md +0 -143
  116. package/src/bollharness/README.zh-CN.md +0 -131
  117. package/src/bollharness/docs/decisions/ADR-030-guard-signal-protocol-and-governance-reload.md +0 -1076
  118. package/src/bollharness/docs/decisions/ADR-038-harness-optimization-strategy.md +0 -2039
  119. package/src/bollharness/docs/decisions/ADR-041-codex-claude-code-division-of-labor.md +0 -128
  120. package/src/bollharness/docs/decisions/ADR-H1-crystal-learn-revival.md +0 -188
  121. package/src/bollharness/docs/decisions/ADR-H2-identity-isolation.md +0 -183
  122. package/src/bollharness/docs/decisions/ADR-H3-memory-scope.md +0 -133
  123. package/src/bollharness/docs/decisions/ADR-H4-prompt-governance.md +0 -146
  124. package/src/bollharness/docs/decisions/ADR-H5-gate-quantization.md +0 -212
  125. package/src/bollharness/docs/decisions/ADR-H6-state-file-health.md +0 -211
  126. package/src/bollharness/docs/decisions/ADR-H8-issue-and-doc-compliance.md +0 -202
  127. package/src/bollharness/docs/decisions/ADR-H9-mailbox.md +0 -231
  128. package/src/bollharness/docs/decisions/PLAN-H1-crystal-learn-revival.md +0 -270
  129. package/src/bollharness/docs/decisions/PLAN-H2-identity-isolation.md +0 -291
  130. package/src/bollharness/docs/decisions/PLAN-H3-memory-scope.md +0 -228
  131. package/src/bollharness/docs/decisions/PLAN-H4-prompt-governance.md +0 -227
  132. package/src/bollharness/docs/decisions/PLAN-H5-gate-quantization.md +0 -239
  133. package/src/bollharness/docs/decisions/PLAN-H6-state-file-health.md +0 -325
  134. package/src/bollharness/docs/decisions/PLAN-H8-issue-and-doc-compliance.md +0 -242
  135. package/src/bollharness/docs/decisions/PLAN-H9-mailbox.md +0 -378
  136. package/src/bollharness/docs/launch-article-en.md +0 -276
  137. package/src/bollharness/docs/launch-article-zh.md +0 -305
  138. package/src/bollharness/docs/practice.html +0 -356
  139. package/src/bollharness/docs/practice.md +0 -82
  140. package/src/bollharness/docs/research/round-1/README.md +0 -11
  141. package/src/bollharness/docs/research/round-2/README.md +0 -11
  142. package/src/bollharness/docs/research/round-3/README.md +0 -11
  143. package/src/bollharness/docs/research/round-4/README.md +0 -11
  144. package/src/bollharness/docs/research/round-5/README.md +0 -11
  145. package/src/bollharness/docs/research/round-6/README.md +0 -11
  146. package/src/bollharness/package-lock.json +0 -48
  147. package/src/bollharness/reference/boll-reference/.claude/rules/backend-routes.md +0 -268
  148. package/src/bollharness/reference/boll-reference/.claude/rules/bridge.md +0 -20
  149. package/src/bollharness/reference/boll-reference/.claude/rules/closure-semantics.md +0 -30
  150. package/src/bollharness/reference/boll-reference/.claude/rules/coaching.md +0 -13
  151. package/src/bollharness/reference/boll-reference/.claude/rules/env-vars.md +0 -50
  152. package/src/bollharness/reference/boll-reference/.claude/rules/hackathon.md +0 -12
  153. package/src/bollharness/reference/boll-reference/.claude/rules/repo-structure.md +0 -184
  154. package/src/bollharness/reference/boll-reference/.claude/rules/review-agent-isolation.md +0 -112
  155. package/src/bollharness/reference/boll-reference/.claude/rules/scenes.md +0 -12
  156. package/src/bollharness/reference/boll-reference/.claude/skills/arch/SKILL.md +0 -551
  157. package/src/bollharness/reference/boll-reference/.claude/skills/boll-animation/SKILL.md +0 -26
  158. package/src/bollharness/reference/boll-reference/.claude/skills/boll-bridge/SKILL.md +0 -227
  159. package/src/bollharness/reference/boll-reference/.claude/skills/boll-bridge/agents/openai.yaml +0 -4
  160. package/src/bollharness/reference/boll-reference/.claude/skills/boll-bridge/references/bridge-failure-taxonomy.md +0 -142
  161. package/src/bollharness/reference/boll-reference/.claude/skills/boll-bridge/references/bridge-validation-ladder.md +0 -107
  162. package/src/bollharness/reference/boll-reference/.claude/skills/boll-crystal/SKILL.md +0 -893
  163. package/src/bollharness/reference/boll-reference/.claude/skills/boll-crystal-learn/SKILL.md +0 -89
  164. package/src/bollharness/reference/boll-reference/.claude/skills/boll-dev/SKILL.md +0 -93
  165. package/src/bollharness/reference/boll-reference/.claude/skills/boll-dev/examples/README.md +0 -209
  166. package/src/bollharness/reference/boll-reference/.claude/skills/boll-dev-handoff/SKILL.md +0 -165
  167. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng/SKILL.md +0 -110
  168. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-frontend/SKILL.md +0 -203
  169. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-hdc/SKILL.md +0 -27
  170. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-orchestrator/SKILL.md +0 -28
  171. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-prompt/SKILL.md +0 -27
  172. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-test/SKILL.md +0 -79
  173. package/src/bollharness/reference/boll-reference/.claude/skills/boll-lab/SKILL.md +0 -372
  174. package/src/bollharness/reference/boll-reference/.claude/skills/boll-run/SKILL.md +0 -437
  175. package/src/bollharness/reference/boll-reference/.claude/skills/boll-ux-appstore/SKILL.md +0 -27
  176. package/src/bollharness/reference/boll-reference/.claude/skills/boll-voice/SKILL.md +0 -442
  177. package/src/bollharness/reference/boll-reference/.claude/skills/guardian-fixer/PROMPT.md +0 -421
  178. package/src/bollharness/reference/boll-reference/.claude/skills/guardian-fixer/SKILL.md +0 -326
  179. package/src/bollharness/reference/boll-reference/.claude/skills/lead/SKILL.md +0 -155
  180. package/src/bollharness/reference/boll-reference/.claude/skills/lead/ref-review-sop.md +0 -91
  181. package/src/bollharness/reference/boll-reference/.claude/skills/lead/ref-stages.md +0 -129
  182. package/src/bollharness/reference/boll-reference/.claude/skills/nature-designer/output/skill-map-preview.png +0 -0
  183. package/src/bollharness/reference/boll-reference/.claude/skills/nature-designer/output/skill-map-v2.png +0 -0
  184. package/src/bollharness/reference/boll-reference/.claude/skills/nature-designer/output/skill-map-v3.png +0 -0
  185. package/src/bollharness/reference/boll-reference/.claude/skills/nature-designer/output/skill-map-v4.png +0 -0
  186. package/src/bollharness/reference/boll-reference/.claude/skills/plan-lock/SKILL.md +0 -425
  187. package/src/bollharness/reference/boll-reference/.claude/skills/plan-lock/ref-three-checks.md +0 -62
  188. package/src/bollharness/reference/boll-reference/.claude/skills/plan-lock/ref-wp-templates.md +0 -78
  189. package/src/bollharness/reference/boll-reference/.claude/skills/task-arch/SKILL.md +0 -76
  190. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-graph/SKILL.md +0 -57
  191. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-graph/beads-graph.sh +0 -153
  192. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-init/SKILL.md +0 -52
  193. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-init/beads-auto-link.sh +0 -76
  194. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-sync/SKILL.md +0 -50
  195. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-sync/beads-sync-proj.sh +0 -108
  196. package/src/bollharness/reference/boll-reference/docs/architecture/AGENT-PROFILE.md +0 -151
  197. package/src/bollharness/reference/boll-reference/docs/architecture/COST-STRUCTURE.md +0 -56
  198. package/src/bollharness/reference/boll-reference/docs/architecture/INDEX.md +0 -76
  199. package/src/bollharness/reference/boll-reference/docs/architecture/MODULE1-INTENT-FIELD.md +0 -116
  200. package/src/bollharness/reference/boll-reference/docs/architecture/MODULE2-CRYSTALLIZATION.md +0 -200
  201. package/src/bollharness/reference/boll-reference/docs/architecture/PRINCIPLES.md +0 -84
  202. package/src/bollharness/reference/boll-reference/docs/architecture/PROTOCOL-CORE.md +0 -209
  203. package/src/bollharness/reference/boll-reference/docs/architecture/VISION.md +0 -181
  204. package/src/bollharness/reference/boll-reference/docs/architecture/discussions/D-01-MARKET-SCENE-PROTOCOL.md +0 -754
  205. package/src/bollharness/reference/boll-reference/scripts/hooks/stop-evaluator.md +0 -57
  206. package/src/bollharness/scripts/context-fragments/artifact-linkage.md +0 -14
  207. package/src/bollharness/scripts/context-fragments/auth-consumers.md +0 -17
  208. package/src/bollharness/scripts/context-fragments/bridge-constitution.md +0 -13
  209. package/src/bollharness/scripts/context-fragments/catalyst-distributed.md +0 -18
  210. package/src/bollharness/scripts/context-fragments/closure-checklist.md +0 -13
  211. package/src/bollharness/scripts/context-fragments/contract-consumers.md +0 -15
  212. package/src/bollharness/scripts/context-fragments/db-shared-structures.md +0 -15
  213. package/src/bollharness/scripts/context-fragments/fixed-three-layers.md +0 -19
  214. package/src/bollharness/scripts/context-fragments/general-dev-principles.md +0 -11
  215. package/src/bollharness/scripts/context-fragments/issue-first.md +0 -8
  216. package/src/bollharness/scripts/context-fragments/mcp-parity.md +0 -16
  217. package/src/bollharness/scripts/context-fragments/pi-agent-operations.md +0 -74
  218. package/src/bollharness/scripts/context-fragments/protocol-consumers.md +0 -15
  219. package/src/bollharness/scripts/context-fragments/run-events-consumers.md +0 -15
  220. package/src/bollharness/scripts/context-fragments/scene-fidelity.md +0 -13
  221. package/src/bollharness/scripts/context-fragments/truth-source-hierarchy.md +0 -15
  222. package/src/bollharness/scripts/context-fragments/two-language.md +0 -15
  223. package/src/bollharness/scripts/context-fragments/version-sources.md +0 -14
  224. package/src/bollharness/scripts/hooks/stop-evaluator.md +0 -83
  225. package/src/bollharness/templates/scaffold/.boll/guard/.gitkeep +0 -0
  226. package/src/bollharness/templates/scaffold/.boll/metrics/.gitkeep +0 -0
  227. package/src/bollharness/templates/scaffold/.boll/state/.gitkeep +0 -0
  228. package/src/bollharness/templates/scaffold/CLAUDE.md +0 -89
  229. package/src/bollharness/templates/scaffold/docs/INDEX.md +0 -3
  230. package/src/bollharness/templates/scaffold/docs/decisions/ADR_TEMPLATE.md +0 -38
  231. package/src/bollharness/templates/scaffold/docs/decisions/PLAN_TEMPLATE.md +0 -45
  232. package/src/bollharness/templates/scaffold/docs/decisions/tasks/.gitkeep +0 -2
  233. package/src/bollharness/templates/scaffold/docs/issues/.gitkeep +0 -0
  234. package/src/bollharness/templates/scaffold/docs/issues/GUARD_ISSUE_TEMPLATE.md +0 -35
  235. package/src/bollharness/templates/scaffold/docs/issues/ISSUE_TEMPLATE.md +0 -51
  236. package/src/bollharness/tsconfig.json +0 -26
  237. package/src/constraint-runtime/package-lock.json +0 -48
  238. package/src/constraint-runtime/package.json +0 -34
  239. package/src/constraint-runtime/src/_archive_helper.ts +0 -16
  240. package/src/constraint-runtime/src/agent/coordinator.ts +0 -71
  241. package/src/constraint-runtime/src/agent/index.ts +0 -1
  242. package/src/constraint-runtime/src/assistant/index.ts +0 -15
  243. package/src/constraint-runtime/src/bootstrap/index.ts +0 -15
  244. package/src/constraint-runtime/src/bootstrap_graph.ts +0 -17
  245. package/src/constraint-runtime/src/bridge/index.ts +0 -15
  246. package/src/constraint-runtime/src/buddy/index.ts +0 -15
  247. package/src/constraint-runtime/src/cli/index.ts +0 -15
  248. package/src/constraint-runtime/src/command_graph.ts +0 -20
  249. package/src/constraint-runtime/src/commands.ts +0 -83
  250. package/src/constraint-runtime/src/components/index.ts +0 -15
  251. package/src/constraint-runtime/src/constants/index.ts +0 -15
  252. package/src/constraint-runtime/src/constraint/budget.ts +0 -25
  253. package/src/constraint-runtime/src/constraint/index.ts +0 -3
  254. package/src/constraint-runtime/src/constraint/permission.ts +0 -28
  255. package/src/constraint-runtime/src/context.ts +0 -45
  256. package/src/constraint-runtime/src/coordinator/index.ts +0 -15
  257. package/src/constraint-runtime/src/cost_hook.ts +0 -6
  258. package/src/constraint-runtime/src/cost_tracker.ts +0 -9
  259. package/src/constraint-runtime/src/deferred_init.ts +0 -18
  260. package/src/constraint-runtime/src/direct_modes.ts +0 -13
  261. package/src/constraint-runtime/src/dynamic-tool-loader.ts +0 -115
  262. package/src/constraint-runtime/src/entrypoints/index.ts +0 -15
  263. package/src/constraint-runtime/src/execution_registry.ts +0 -41
  264. package/src/constraint-runtime/src/history.ts +0 -16
  265. package/src/constraint-runtime/src/hooks/index.ts +0 -15
  266. package/src/constraint-runtime/src/index.ts +0 -28
  267. package/src/constraint-runtime/src/ink.ts +0 -4
  268. package/src/constraint-runtime/src/keybindings/index.ts +0 -15
  269. package/src/constraint-runtime/src/memdir/index.ts +0 -15
  270. package/src/constraint-runtime/src/migrations/index.ts +0 -15
  271. package/src/constraint-runtime/src/models.ts +0 -49
  272. package/src/constraint-runtime/src/moreright/index.ts +0 -15
  273. package/src/constraint-runtime/src/native_ts/index.ts +0 -15
  274. package/src/constraint-runtime/src/output_styles/index.ts +0 -15
  275. package/src/constraint-runtime/src/parity_audit.ts +0 -23
  276. package/src/constraint-runtime/src/plugins/index.ts +0 -15
  277. package/src/constraint-runtime/src/port_manifest.ts +0 -20
  278. package/src/constraint-runtime/src/prefetch.ts +0 -17
  279. package/src/constraint-runtime/src/query.ts +0 -7
  280. package/src/constraint-runtime/src/reference_data/archive_surface_snapshot.json +0 -63
  281. package/src/constraint-runtime/src/reference_data/commands_snapshot.json +0 -1037
  282. package/src/constraint-runtime/src/reference_data/subsystems/OpenCLI.json +0 -10
  283. package/src/constraint-runtime/src/reference_data/subsystems/PolymarketSDK.json +0 -12
  284. package/src/constraint-runtime/src/reference_data/subsystems/SafeSDK.json +0 -14
  285. package/src/constraint-runtime/src/reference_data/subsystems/assistant.json +0 -8
  286. package/src/constraint-runtime/src/reference_data/subsystems/bootstrap.json +0 -8
  287. package/src/constraint-runtime/src/reference_data/subsystems/bridge.json +0 -32
  288. package/src/constraint-runtime/src/reference_data/subsystems/buddy.json +0 -13
  289. package/src/constraint-runtime/src/reference_data/subsystems/cli.json +0 -26
  290. package/src/constraint-runtime/src/reference_data/subsystems/components.json +0 -32
  291. package/src/constraint-runtime/src/reference_data/subsystems/constants.json +0 -28
  292. package/src/constraint-runtime/src/reference_data/subsystems/coordinator.json +0 -8
  293. package/src/constraint-runtime/src/reference_data/subsystems/entrypoints.json +0 -15
  294. package/src/constraint-runtime/src/reference_data/subsystems/hooks.json +0 -32
  295. package/src/constraint-runtime/src/reference_data/subsystems/keybindings.json +0 -21
  296. package/src/constraint-runtime/src/reference_data/subsystems/memdir.json +0 -15
  297. package/src/constraint-runtime/src/reference_data/subsystems/migrations.json +0 -18
  298. package/src/constraint-runtime/src/reference_data/subsystems/moreright.json +0 -8
  299. package/src/constraint-runtime/src/reference_data/subsystems/native_ts.json +0 -11
  300. package/src/constraint-runtime/src/reference_data/subsystems/outputStyles.json +0 -8
  301. package/src/constraint-runtime/src/reference_data/subsystems/plugins.json +0 -9
  302. package/src/constraint-runtime/src/reference_data/subsystems/remote.json +0 -11
  303. package/src/constraint-runtime/src/reference_data/subsystems/schemas.json +0 -8
  304. package/src/constraint-runtime/src/reference_data/subsystems/screens.json +0 -10
  305. package/src/constraint-runtime/src/reference_data/subsystems/server.json +0 -10
  306. package/src/constraint-runtime/src/reference_data/subsystems/services.json +0 -32
  307. package/src/constraint-runtime/src/reference_data/subsystems/skills.json +0 -27
  308. package/src/constraint-runtime/src/reference_data/subsystems/state.json +0 -13
  309. package/src/constraint-runtime/src/reference_data/subsystems/types.json +0 -18
  310. package/src/constraint-runtime/src/reference_data/subsystems/upstreamproxy.json +0 -9
  311. package/src/constraint-runtime/src/reference_data/subsystems/utils.json +0 -32
  312. package/src/constraint-runtime/src/reference_data/subsystems/vim.json +0 -12
  313. package/src/constraint-runtime/src/reference_data/subsystems/voice.json +0 -8
  314. package/src/constraint-runtime/src/reference_data/tools_snapshot.json +0 -1042
  315. package/src/constraint-runtime/src/remote/index.ts +0 -15
  316. package/src/constraint-runtime/src/remote_runtime.ts +0 -17
  317. package/src/constraint-runtime/src/runtime/index.ts +0 -1
  318. package/src/constraint-runtime/src/runtime/session.ts +0 -42
  319. package/src/constraint-runtime/src/schemas/index.ts +0 -15
  320. package/src/constraint-runtime/src/screens/index.ts +0 -15
  321. package/src/constraint-runtime/src/server/index.ts +0 -15
  322. package/src/constraint-runtime/src/services/index.ts +0 -15
  323. package/src/constraint-runtime/src/session_store.ts +0 -32
  324. package/src/constraint-runtime/src/setup.ts +0 -50
  325. package/src/constraint-runtime/src/skills/index.ts +0 -1
  326. package/src/constraint-runtime/src/skills/skill-registry.ts +0 -40
  327. package/src/constraint-runtime/src/state/index.ts +0 -15
  328. package/src/constraint-runtime/src/system_init.ts +0 -21
  329. package/src/constraint-runtime/src/thinking/engine.ts +0 -61
  330. package/src/constraint-runtime/src/thinking/index.ts +0 -1
  331. package/src/constraint-runtime/src/tool_pool.ts +0 -20
  332. package/src/constraint-runtime/src/tools/OpenCLI/execAdapter.ts +0 -12
  333. package/src/constraint-runtime/src/tools/OpenCLI/listAdapters.ts +0 -12
  334. package/src/constraint-runtime/src/tools/OpenCLI/runCommand.ts +0 -13
  335. package/src/constraint-runtime/src/tools/PolymarketSDK/cancelOrder.ts +0 -10
  336. package/src/constraint-runtime/src/tools/PolymarketSDK/createOrder.ts +0 -13
  337. package/src/constraint-runtime/src/tools/PolymarketSDK/getMarket.ts +0 -14
  338. package/src/constraint-runtime/src/tools/PolymarketSDK/getOrders.ts +0 -10
  339. package/src/constraint-runtime/src/tools/PolymarketSDK/listMarkets.ts +0 -24
  340. package/src/constraint-runtime/src/tools/SafeSDK/confirmTransaction.ts +0 -13
  341. package/src/constraint-runtime/src/tools/SafeSDK/createTransaction.ts +0 -23
  342. package/src/constraint-runtime/src/tools/SafeSDK/deploySafe.ts +0 -12
  343. package/src/constraint-runtime/src/tools/SafeSDK/executeTransaction.ts +0 -12
  344. package/src/constraint-runtime/src/tools/SafeSDK/getBalance.ts +0 -10
  345. package/src/constraint-runtime/src/tools/SafeSDK/getPendingTransactions.ts +0 -10
  346. package/src/constraint-runtime/src/tools/SafeSDK/proposeTransaction.ts +0 -14
  347. package/src/constraint-runtime/src/tools/WalletTools/autoPay.ts +0 -58
  348. package/src/constraint-runtime/src/tools/WalletTools/createWallet.ts +0 -19
  349. package/src/constraint-runtime/src/tools/WalletTools/getBalance.ts +0 -28
  350. package/src/constraint-runtime/src/tools/WalletTools/importWallet.ts +0 -34
  351. package/src/constraint-runtime/src/tools/WalletTools/sendTransaction.ts +0 -50
  352. package/src/constraint-runtime/src/tools/WalletTools/signMessage.ts +0 -23
  353. package/src/constraint-runtime/src/tools/WalletTools/transferToken.ts +0 -49
  354. package/src/constraint-runtime/src/tools.ts +0 -100
  355. package/src/constraint-runtime/src/transcript.ts +0 -23
  356. package/src/constraint-runtime/src/types/index.ts +0 -15
  357. package/src/constraint-runtime/src/upstream_proxy/index.ts +0 -15
  358. package/src/constraint-runtime/src/utils/index.ts +0 -15
  359. package/src/constraint-runtime/src/vim/index.ts +0 -15
  360. package/src/constraint-runtime/src/voice/index.ts +0 -15
  361. package/src/constraint-runtime/tests/agent.test.ts +0 -20
  362. package/src/constraint-runtime/tests/constraint.test.ts +0 -47
  363. package/src/constraint-runtime/tests/skill.test.ts +0 -23
  364. package/src/constraint-runtime/tests/thinking.test.ts +0 -28
  365. package/src/constraint-runtime/tsconfig.json +0 -13
  366. package/src/pi-ecosystem/index.ts +0 -453
  367. package/src/pi-ecosystem-colony/index.ts +0 -482
  368. package/src/pi-ecosystem-goals/index.ts +0 -585
  369. package/src/pi-ecosystem-judgment/decision.ts +0 -431
  370. package/src/pi-ecosystem-judgment/distillation.ts +0 -398
  371. package/src/pi-ecosystem-judgment/human-value-store.ts +0 -580
  372. package/src/pi-ecosystem-judgment/index.ts +0 -678
  373. package/src/pi-ecosystem-judgment/value-injection.ts +0 -744
  374. package/src/pi-ecosystem-mcp/index.ts +0 -427
  375. package/src/pi-ecosystem-subagents/index.ts +0 -408
  376. package/src/test/ai-judgment-test.ts +0 -92
  377. package/src/test/bollharness-integration.test.ts +0 -398
  378. package/src/test/channel-agent-multi-dialogue.ts +0 -265
  379. package/src/test/channel-heartbeat-agent-test.ts +0 -244
  380. package/src/test/constraint-layer.test.ts +0 -191
  381. package/src/test/diap-identity-test.ts +0 -222
  382. package/src/test/diap-quick-test.ts +0 -73
  383. package/src/test/global-shared-context.test.ts +0 -393
  384. package/src/test/harness-judgment-injection.test.ts +0 -353
  385. package/src/test/harness-workflow-integrator-test.ts +0 -285
  386. package/src/test/human-value-store.test.ts +0 -316
  387. package/src/test/hybrid-integration-test.ts +0 -126
  388. package/src/test/hybrid-messenger-verify.ts +0 -68
  389. package/src/test/iroh-bistream-debug.ts +0 -50
  390. package/src/test/iroh-communication.test.ts +0 -81
  391. package/src/test/iroh-debug-test.ts +0 -69
  392. package/src/test/iroh-diap-test.ts +0 -90
  393. package/src/test/iroh-direct-connect.ts +0 -65
  394. package/src/test/iroh-e2e-fixed.ts +0 -106
  395. package/src/test/iroh-e2e-same-process.ts +0 -83
  396. package/src/test/iroh-e2e.ts +0 -83
  397. package/src/test/iroh-final-e2e.ts +0 -84
  398. package/src/test/iroh-relay-test.ts +0 -46
  399. package/src/test/iroh-simple-test.ts +0 -49
  400. package/src/test/iroh-transport-verify.ts +0 -60
  401. package/src/test/iroh-transport.test.ts +0 -47
  402. package/src/test/iroh-two-nodes.ts +0 -87
  403. package/src/test/iroh-verify.ts +0 -55
  404. package/src/test/judgment-decision.test.ts +0 -373
  405. package/src/test/llm-judgment-integration.test.ts +0 -257
  406. package/src/test/p2p-agent-complex-dialogue.ts +0 -490
  407. package/src/test/p2p-agent-dialogue.ts +0 -423
  408. package/src/test/p2p-agent-full-bidirectional.ts +0 -686
  409. package/src/test/p2p-agent-harness-flow.ts +0 -562
  410. package/src/test/p2p-agent-harness-single.ts +0 -175
  411. package/src/test/p2p-ai-dialogue-test.ts +0 -374
  412. package/src/test/p2p-cid-connect-test.ts +0 -245
  413. package/src/test/p2p-connect-receiver.ts +0 -85
  414. package/src/test/p2p-iroh-test.ts +0 -214
  415. package/src/test/p2p-minimal-test.ts +0 -264
  416. package/src/test/p2p-node-1.ts +0 -172
  417. package/src/test/p2p-node-2.ts +0 -172
  418. package/src/test/p2p-server.ts +0 -335
  419. package/src/test/p2p-two-nodes-test.ts +0 -542
  420. package/src/test/pi-sdk.test.ts +0 -47
  421. package/src/test/set-persona.ts +0 -56
  422. package/src/test/simple.test.ts +0 -11
  423. package/src/test/storage-integration.test.ts +0 -191
  424. package/src/test/subagent-manager.test.ts +0 -392
  425. package/src/test/test-gate-flow.test.ts +0 -92
  426. package/src/test/workflow-engine.test.ts +0 -101
  427. package/src/web/design.md +0 -99
  428. package/src/workflows/collaboration.ts +0 -455
  429. package/src/workflows/index.ts +0 -64
  430. package/vitest.config.ts +0 -12
  431. package//346/203/263/346/263/225.md +0 -79
@@ -1,270 +0,0 @@
1
- ---
2
- plan: PLAN-H1
3
- adr: ADR-H1
4
- title: crystal-learn 学习层复活——4 WP 工程拆解
5
- status: in_progress
6
- version: 1.0
7
- date: 2026-04-28
8
- owner: nature
9
- window_owner: shared
10
- window_owner_since: 2026-04-28T18:30+08:00
11
- parent_plan: 39-h-h-h-h-hanis-refactored-toucan
12
- estimated_effort: 2 天
13
- ---
14
-
15
- # PLAN-H1:crystal-learn 学习层复活——4 WP 工程拆解
16
-
17
- ## §1 受管资产 + 现状基线
18
-
19
- ### 1.1 完整受管资产清单(H0.1 施工隔离)
20
-
21
- | # | 路径 | 现状 | H1 改动 | DoD 行数 |
22
- |---|------|------|---------|----------|
23
- | 1 | `~/.claude/skills/boll-crystal-learn/SKILL.md` | 89 行 active 契约成熟 | **不动**(scope 外) | — |
24
- | 2 | `.claude/skills/lead/SKILL.md` | 192 行(H4 后),line 142 "## 来自 crystal-learn 的门禁"段已布线 | line 192 后追加 "## 触发节奏(H1)" 子段 | ≤25 行(INV-H1-1 + FM2 buffer) |
25
- | 3 | `docs/decisions/ADR-H1-crystal-learn-revival.md` | (本起草同 commit 创建) | 188/300 行 | ≤300 |
26
- | 4 | `docs/decisions/PLAN-H1-crystal-learn-revival.md` | 本文件 | 起草中 | ≤500 |
27
- | 5 | `docs/decisions/tasks/PLAN-H1/WP-04/dogfood-output-20260428-{ts}.md` | 待 WP-04 创建 | 创建 | ≤80 |
28
- | 6 | `docs/decisions/tasks/PLAN-H1/WP-05/reviewer-verdict-20260428-{ts}.md` | 待 WP-05 创建 | 创建 | ≤200 |
29
- | 7 | `.boll/log/harness-self-symptoms.md` | 145 行(含 §4.1-§4.9) | 若 H1 实施期触发自指 → append 新 §4.x | append-only |
30
-
31
- ### 1.2 现状基线(实证已做,避 §4.7/§4.8 同根复发)
32
-
33
- | 实证项 | 命令 | 结果 | 时间 |
34
- |--------|------|------|------|
35
- | crystal-learn skill 存在 | `wc -l ~/.claude/skills/boll-crystal-learn/SKILL.md` | 89 | 2026-04-28 18:25 |
36
- | crystal-learn 历史 | `git log --oneline --grep="crystal-learn" -10` | c80f2b48 → 8925d8f1 → 479a6b70 → 4-5 月静默 | 2026-04-28 18:20 |
37
- | lead 接收侧 | `grep -n "## 来自 crystal-learn 的门禁" lead/SKILL.md` | line 142 命中 1 | 2026-04-28 18:20 |
38
- | lead 当前长度 | `wc -l lead/SKILL.md` | 192(H4 后) | 2026-04-28 18:35 |
39
- | self-symptoms 库存 | `awk '/^### 4\./{count++}END{print count}' harness-self-symptoms.md` | 9(§4.1-§4.9) | 2026-04-28 18:25 |
40
- | §4.9 是新型号(dogfood 输入) | `grep -n "cross-plan-class race" harness-self-symptoms.md` | 1 处(§4.9 标题) | 2026-04-28 18:25 |
41
- | git 状态 | `git status -b` + `test -f .git/MERGE_HEAD` | main,无 merge state(避 §4.9 同模式复发) | 2026-04-28 18:35 |
42
-
43
- ## §2 4 WP 工程拆解
44
-
45
- ### WP-01:现状盘点(已在起草前完成)
46
-
47
- **结果**:完成。1.2 表中 7 项实证全部记录。
48
-
49
- > **ADR-H1 起草前必做的"4 项核"**(feedback ADR/PLAN 引用受管资产前必先 wc/grep/ls):
50
- > 1. 路径核:crystal-learn skill 文件存在 ✓
51
- > 2. 行数核:89 行 + lead 192 行 + symptoms 145 行 ✓
52
- > 3. 字段核:crystal-learn frontmatter status=active / triggers / outputs / target injection map ✓
53
- > 4. 前置 ADR 核:ADR-041 v1.0 + ADR-H4 + ADR-038 D11.2 + ADR-H0 6+1 全已读 ✓
54
-
55
- ### WP-02:起草 ADR-H1 + PLAN-H1(已完成 ADR,PLAN 起草中)
56
-
57
- **结果**:
58
- - ADR-H1 = 188/300 行,§1-§11 完整,零"待协调员决定 / TBD / 后续讨论"
59
- - PLAN-H1 = 本文件起草中,目标 ≤500 行
60
-
61
- ### WP-03:嵌入 lead/SKILL.md "## 触发节奏(H1)" 子段
62
-
63
- **输入**:ADR-H1 §4 触发节奏表(5 条)+ §5 落地路径模板。
64
-
65
- **动作**:在 lead/SKILL.md line ≥182("## 联动规则"段之前;"## 行为治理(H4 三类清单)"段之后)插入新子段 "## 触发节奏(H1)"。
66
-
67
- **子段结构(≤25 行硬限)**:
68
- 1. 引言(1 行):指针到 ADR-H1
69
- 2. 5 条触发条件(5 行短句,每条 1 行)
70
- 3. 落地路径模板缩略(3 行)
71
- 4. 红线(3 行短句:不写 cron / 不写 hook / 不新建 active SKILL.md)
72
- 5. 升级条件(2 行)
73
-
74
- **Edit pattern**(同 H4 嵌入手法):
75
- ```python
76
- old_string = "## 联动规则(skill 调度表)"
77
- new_string = "## 触发节奏(H1)\n\n... 25 行内容 ...\n\n## 联动规则(skill 调度表)"
78
- ```
79
-
80
- **DoD**:
81
- - `wc -l .claude/skills/lead/SKILL.md` ≤ 220(192 + ≤25 + buffer)
82
- - `grep -c "## 触发节奏(H1)"` = 1
83
- - `grep -iE "cron|hook|schedule|metrics" <new-segment>` = 0(INV-H1-3 段内)
84
-
85
- ### WP-04:dogfood 一次成功触发
86
-
87
- **输入选择**:harness-self-symptoms.md §4.9(cross-plan-class race,新型号)。
88
- - 触发条件命中 = ADR-H1 §4 表第 1 条(主仓发现新型 symptom)
89
- - 历史相关 symptom:§4.4(同 session 内 H × H race)= 同根但不同子类
90
- - 新案例数:1(§4.9 自身)
91
-
92
- **期望产出**(写到 `docs/decisions/tasks/PLAN-H1/WP-04/dogfood-output-20260428-{ts}.md`):
93
-
94
- ```yaml
95
- # crystal-learn output (per skill output contract)
96
- invariant_delta:
97
- candidate:
98
- - id: INV-cross-plan-class-race # 候选,仅 1 案例
99
- description: "施工前必须 git status 核 merge state;H 子计划与业务 PLAN 跨 class race 不被 H0.5 协调表覆盖"
100
- evidence: "§4.9 / 1 案例 / 系统性形状(merge state collision 是 git 操作语义级冲突)"
101
- new_instance: []
102
- confirmed: [] # 无新升级
103
- target_injection_map:
104
- - target: docs/decisions/ADR-H0-meta-charter.md # 修订建议第 10 条候选
105
- directive: "H0.5 协调表扩展为'跨 plan-class' 协调(H × 业务 PLAN race 也登记);或加 H0.7 子规则'施工前 git status 核 merge state'"
106
- rationale: "§4.9 新型号 symptom 暴露 H0.5 表只覆盖 H 子 PLAN 之间是规则盲区;不立即修订 ADR-H0(H 系列收尾时整体复盘),先入修订建议表"
107
- - target: .claude/skills/lead/SKILL.md "## 来自 crystal-learn 的门禁" 段
108
- directive: "起草 ADR/PLAN 进入 commit 阶段前 → `git status` 核 merge state;处于 merge state 时 git restore --staged 不擅自 conclude 别 session merge"
109
- rationale: "lead 是入口 skill;prompt-level 70% adherence 足够(INV-H1-3 红线,不机制化);与现有 INV-4 真相源分裂 + INV-6 验证衰减 对齐"
110
- status: candidate-not-yet-confirmed # crystal-learn 升级规则要求 ≥2 案例才升级 confirmed
111
- next_check: "下次出现 cross-plan-class race(任何 H × 业务 PLAN 或业务 PLAN × 业务 PLAN)即升级 confirmed + 注入 lead/SKILL.md"
112
- ```
113
-
114
- **DoD**:
115
- - 文件 `dogfood-output-20260428-{ts}.md` 存在 + 非空 + ≤80 行
116
- - `grep -c "invariant_delta\|target_injection_map"` ≥ 2
117
- - `grep "candidate-not-yet-confirmed\|confirmed"` 命中(status 字段非空)
118
- - 不实际修改 ADR-H0(仅产出注入建议;ADR-H0 实际修订留 H 系列收尾)
119
- - 不实际写入 lead/SKILL.md(INV-H1-2 落地路径段已在 WP-03 写好;候选不该立刻进入执行层)
120
-
121
- ### WP-05:reviewer signoff
122
-
123
- **spawn**:read-only subagent(按 .claude/rules/review-agent-isolation.md),prompt-level 兜底加 read-only directive。
124
-
125
- **14 维度验证矩阵**(reviewer 必须逐项 grep/wc 实证):
126
-
127
- | # | 维度 | 验证命令 | 期望 |
128
- |---|------|---------|------|
129
- | 1 | ADR-H1 ≤300 行 | `wc -l ADR-H1` | ≤300 |
130
- | 2 | PLAN-H1 ≤500 行 | `wc -l PLAN-H1` | ≤500 |
131
- | 3 | lead 注入段 ≤25 行 | `awk '/## 触发节奏(H1)/,/## 联动规则/' lead/SKILL.md \| wc -l` | ≤27(含起止 2 行)|
132
- | 4 | INV-H1-1(≤5 触发条件) | `awk '/## 触发节奏(H1)/,/## 联动规则/' lead/SKILL.md \| grep -c "^[0-9]\.\| - "` | ≤5 |
133
- | 5 | INV-H1-2(落地路径在现有接收段) | `grep -B5 "## 触发节奏(H1)" lead/SKILL.md \| grep "## 来自 crystal-learn 的门禁"` | 命中 1 |
134
- | 6 | INV-H1-3(注入段零机制化) | `awk '/## 触发节奏(H1)/,/## 联动规则/' lead/SKILL.md \| grep -iE "cron\|hook\|schedule\|metrics\|setInterval\|crontab"` | 0(注入段内)|
135
- | 7 | dogfood 落地物存在 | `ls docs/decisions/tasks/PLAN-H1/WP-04/dogfood-output-*.md` | 1 文件 |
136
- | 8 | dogfood 内容非空 | `wc -l <dogfood-file>` | 30-80 |
137
- | 9 | dogfood 含 invariant_delta + injection map | `grep -c "invariant_delta\|target_injection_map" <dogfood-file>` | ≥ 2 |
138
- | 10 | H0.4 自指(无"待 / TBD / 后续讨论"实质命中) | `grep -nE "待协调员决定\|TBD\|后续讨论" ADR-H1 PLAN-H1` | 仅元层引用 |
139
- | 11 | H0.meta(不引用未来产物) | `grep -nE "\bH[2-8]\b" ADR-H1` | 仅 §8 H4 边界 + §10 自检 |
140
- | 12 | H0.6 证据机械化(每 INV/DoD 给命令) | 人审 §3 表 | 每行有 grep/wc/awk |
141
- | 13 | crystal-learn skill 文件未被改动 | `git diff --stat HEAD~3..HEAD ~/.claude/skills/boll-crystal-learn/SKILL.md` | 空 / 0 lines changed |
142
- | 14 | 4 项 grep 实证(前置 ADR / hook / cron / pointer) | reviewer copy verify bundle § 7 | 全 PASS |
143
-
144
- **verdict 模板**(同 H4 reviewer-verdict-*.md):
145
- - 14 维度逐项 PASS / BLOCK / PASS_WITH_NOTES
146
- - P0/P1 notes 必须 BLOCK(H4 §过度 review 第 3 条)
147
- - P2/P3 advisory 不 BLOCK,记入 followup
148
- - 文件路径 `docs/decisions/tasks/PLAN-H1/WP-05/reviewer-verdict-20260428-{ts}.md`
149
-
150
- ## §3 验证矩阵(机械化)
151
-
152
- > 14 维度全部机械化。每行 reviewer 只需 copy-paste 命令验证,不接受"reviewer 认为已完成"(H0.6)。
153
-
154
- 参考 §2 WP-05 表。
155
-
156
- ## §4 跨 H 协调登记
157
-
158
- | 共改资产 | 与谁冲突 | 仲裁 | 检测 |
159
- |---------|---------|------|------|
160
- | `lead/SKILL.md` | H4(行为治理段 line 158-180) | 串行:H4 已 merged,H1 紧接其后追加 | `git log lead/SKILL.md` 验时间序 |
161
- | `.boll/log/harness-self-symptoms.md` | H 系列全部子计划 | append-only,时间戳前后即可 | `git log harness-self-symptoms.md` |
162
- | `~/.claude/skills/boll-crystal-learn/SKILL.md` | 无(H1 scope 外) | 不动 | `git diff --stat` 空 |
163
- | ADR-H0 修订建议 | H 系列全部子计划已积 8/9/10 条 | H1 仅追加候选第 10 条 candidate(不 confirm);待 H 系列收尾整体批量合并 | dogfood 输出 status=candidate |
164
-
165
- ## §5 H0 元规约 6+1 自检(PLAN 自身)
166
-
167
- - **H0.1 施工隔离**:PLAN scope 严格在 §1.1 表 7 项;本 PLAN 起草不动其它资产
168
- - **H0.2 节流**:PLAN 当前预算 ≤500 行(实际 wc 待 commit 时核)
169
- - **H0.3 执检分离**:起草人 ≠ reviewer;WP-05 spawn read-only subagent
170
- - **H0.4 自指禁止**:grep "待协调员决定 / TBD / 后续讨论" 全文仅 §2 WP-05 表第 10 维度元层引用 + §6 dogfood verify bundle 元层引用 + §10 自检命中
171
- - **H0.5 跨 H 协调**:见 §4 表
172
- - **H0.6 证据机械化**:§2 WP-05 表 14 行每行 grep/wc/awk 命令
173
- - **H0.meta**:grep `\bH[2-8]\b` 仅 §4 协调表行 + §1 H4 line 158-180 引用 + §5 自检命中
174
-
175
- ## §6 dogfood 验证(DoD 内嵌)
176
-
177
- H1 的"DoD = 至少 1 次成功触发并产出落地物"通过 WP-04 内嵌实现:
178
-
179
- - 触发条件命中(§4 表第 1 条 + 第 5 条 复合命中:新型 symptom + ADR-H0 修订建议累积 ≥3)
180
- - 输入 = §4.9 + 处置段第 10 条
181
- - 输出 = `dogfood-output-*.md`(≤80 行)
182
- - 输出含 crystal-learn output contract 必填字段(invariant_delta / target_injection_map)
183
- - 输出 status = candidate(严格按 crystal-learn 升级规则 ≥2 案例才 confirmed)
184
- - 不实际修改 ADR-H0(候选不立即升级;不立即 commit 注入到 lead/SKILL.md)
185
-
186
- dogfood 落地物本身就是"复活成功"的证据:能产出 well-formed crystal-learn output → 触发协议可消费。
187
-
188
- ## §7 reviewer copy-paste verify bundle
189
-
190
- **前置实证**:
191
- ```bash
192
- cd /Users/nature/个人项目/boll
193
- wc -l docs/decisions/ADR-H1-crystal-learn-revival.md # 期望 ≤300
194
- wc -l docs/decisions/PLAN-H1-crystal-learn-revival.md # 期望 ≤500
195
- wc -l .claude/skills/lead/SKILL.md # 期望 ≤220
196
- ```
197
-
198
- **INV-H1 三条**:
199
- ```bash
200
- # INV-H1-1: 触发条件 ≤5 条
201
- awk '/## 触发节奏(H1)/,/## 联动规则/' .claude/skills/lead/SKILL.md \
202
- | grep -cE "^[0-9]+\.|^- " # 期望 ≤5
203
-
204
- # INV-H1-2: 落地路径必须引用现有接收段(不要求物理紧邻;接收段在 line 142,触发节奏段在 line 181)
205
- grep -c "## 来自 crystal-learn 的门禁" .claude/skills/lead/SKILL.md # 期望 ≥1(接收段存在)
206
- awk '/## 触发节奏(H1)/,/## 联动规则/' .claude/skills/lead/SKILL.md \
207
- | grep -c "来自 crystal-learn 的门禁" # 期望 ≥1(触发节奏段引用接收段)
208
-
209
- # INV-H1-3: 注入段零机制化关键词
210
- awk '/## 触发节奏(H1)/,/## 联动规则/' .claude/skills/lead/SKILL.md \
211
- | grep -iE "cron|hook|schedule|metrics|setInterval|crontab" # 期望 0 行
212
- ```
213
-
214
- **dogfood 落地物**:
215
- ```bash
216
- ls docs/decisions/tasks/PLAN-H1/WP-04/dogfood-output-*.md # 期望 1 文件
217
- wc -l docs/decisions/tasks/PLAN-H1/WP-04/dogfood-output-*.md # 期望 30-80
218
- grep -cE "invariant_delta|target_injection_map" \
219
- docs/decisions/tasks/PLAN-H1/WP-04/dogfood-output-*.md # 期望 ≥2
220
- grep -E "candidate-not-yet-confirmed|^status:" \
221
- docs/decisions/tasks/PLAN-H1/WP-04/dogfood-output-*.md # 期望 1 行
222
- ```
223
-
224
- **自指检测**:
225
- ```bash
226
- # H0.4 实质命中(非元层引用)
227
- grep -nE "待协调员决定|TBD|后续讨论" \
228
- docs/decisions/ADR-H1-crystal-learn-revival.md \
229
- docs/decisions/PLAN-H1-crystal-learn-revival.md # 全部应为元层引用
230
-
231
- # H0.meta 不引用未来 H[2-8]
232
- grep -nE "\bH[2-8]\b" docs/decisions/ADR-H1-crystal-learn-revival.md
233
- # 期望仅 §8 H4 边界 + §10 自检 + 协调表
234
- ```
235
-
236
- **crystal-learn skill 文件未动**:
237
- ```bash
238
- git diff --stat HEAD~5..HEAD ~/.claude/skills/boll-crystal-learn/SKILL.md
239
- # 期望空(H1 scope 外不动)
240
- ```
241
-
242
- ## §8 commit 计划(race-safe pattern,§4.9 教训)
243
-
244
- ```bash
245
- # 1. commit 前再核 merge state(§4.9 防御)
246
- test -f .git/MERGE_HEAD && echo "MERGE in progress, abort" && exit 1
247
-
248
- # 2. 先 add ADR + PLAN,pathspec 隔离
249
- git add docs/decisions/ADR-H1-crystal-learn-revival.md \
250
- docs/decisions/PLAN-H1-crystal-learn-revival.md
251
-
252
- # 3. commit only with strict pathspec (§4.4 race-safe)
253
- git commit --only \
254
- docs/decisions/ADR-H1-crystal-learn-revival.md \
255
- docs/decisions/PLAN-H1-crystal-learn-revival.md \
256
- -m "PLAN-H1 起草: ADR-H1 v1.0 (188/300) + PLAN-H1 v1.0 (~430/500)"
257
-
258
- # 4. post-verify
259
- git show --stat HEAD # 验文件清单严格 = 2 文件
260
- ```
261
-
262
- WP-03 / WP-04 / WP-05 各自独立 commit,相同 race-safe pattern。
263
-
264
- ## §9 进度追踪
265
-
266
- - [x] WP-01 现状盘点(7 项实证)
267
- - [x] WP-02 起草 ADR-H1 + PLAN-H1(本文件)
268
- - [ ] WP-03 嵌入 lead/SKILL.md "## 触发节奏(H1)" 子段
269
- - [ ] WP-04 dogfood 一次(§4.9 输入 → INV delta + injection map)
270
- - [ ] WP-05 reviewer signoff(read-only subagent + 14 维度)
@@ -1,291 +0,0 @@
1
- ---
2
- plan_id: PLAN-H2
3
- title: harness 身份物理隔离工程实施
4
- status: Proposed
5
- adr: docs/decisions/ADR-H2-identity-isolation.md
6
- started: 2026-04-28
7
- last_updated: 2026-04-28
8
- owner: Nature(AI 助手协助)
9
- prereq:
10
- - docs/decisions/ADR-H0-meta-charter.md
11
- - docs/decisions/ADR-H2-identity-isolation.md
12
- - docs/decisions/ADR-042-parallel-dev-state-management.md
13
- - docs/decisions/ADR-H9-mailbox.md
14
- budget:
15
- total_lines: 500
16
- adr_lines: 300
17
- d10_patch_lines: 100
18
- ---
19
-
20
- # PLAN-H2: harness 身份物理隔离工程实施
21
-
22
- > 本 PLAN 与 ADR-H2 配套,按 H 系列 plan §3.0 三层文档边界:本文件只写 WP 拆解 + DoD 验证清单,不写决策本质(决策本质见 ADR-H2 §1-§5)。
23
-
24
- ---
25
-
26
- ## 1. 工程范围
27
-
28
- ADR-H2 §6 实施清单的工程展开:5 个 WP,串行(WP-01 → WP-05)。本 PLAN 不引入并行 WP(H2 总估时 3 天,单 session 串行更稳)。
29
-
30
- **入口资产清单**(来自 ADR-H2 §3.2 受管资产 + Gate 0 实地盘点):
31
-
32
- | 资产类 | 文件路径 | H2 MVP 是否纳入 | 选取理由 |
33
- |--------|----------|----------------|----------|
34
- | skill | `.claude/skills/lead/SKILL.md` | ✓ | 所有 multi-window session 起步必加载,H 系列起草核心入口 |
35
- | skill | `.claude/skills/arch/SKILL.md` | ✓ | 架构讨论 skill,多 window 共读共写(v1.1:原 nature-designer 无 SKILL.md,仅 `output/` 子目录,候选改 arch) |
36
- | skill | `.claude/skills/toolkit/SKILL.md` | ✓ | pull surface,所有 window 按需调;vNext substrate 入口 |
37
- | hook | `scripts/hooks/inbox-write-ledger.py` | ✓ | H9 邮箱 PostToolUse writer,multi-window 触发的 ledger 路径 |
38
- | hook | `scripts/hooks/inbox-inject-on-start.py` | ✓ | H9 邮箱 SessionStart inject,multi-window 启动时刻共触 |
39
- | hook | `scripts/hooks/owner-guard.py` | ✓ | ADR-042 D4 实施(身份隔离逻辑本身),元层自指最强示范 |
40
-
41
- 非 MVP 资产(其余 28 skill + 7 hook + 全部 agent)按 H2 后增量补,本 H2 不强制。
42
-
43
- ---
44
-
45
- ## 2. WP 拆解
46
-
47
- ### WP-01:owner frontmatter schema 文档定义
48
-
49
- **目标**:把 ADR-H2 §3.1 schema 表格落到一个机器可解析的 frontmatter spec 文件,供后续 lint 工具(H6 段)读取。
50
-
51
- **交付物**:
52
- - 新增 `docs/handoffs/owner-frontmatter-schema.md`(schema 定义 + 字段语义 + 示例)
53
- - 引用:ADR-H2 §3.1 + INV-H2-1/2/3
54
-
55
- **DoD**:
56
- - [ ] schema 文件存在 + 含 3 个字段 (`owner` / `owner_since` / `owner_adr`) 表格
57
- - [ ] 含至少 1 个 minimal 示例 + 1 个 shared 示例 + 1 个 unowned 示例
58
- - [ ] 引用 ADR-H2 §3.1 + ADR-042 §5
59
- - [ ] 行数 ≤ 80(防止 schema 文档自身膨胀)
60
-
61
- **估时**:30 min
62
-
63
- **verify 命令**:
64
- ```bash
65
- test -f docs/handoffs/owner-frontmatter-schema.md && wc -l docs/handoffs/owner-frontmatter-schema.md
66
- grep -c "^| \`owner" docs/handoffs/owner-frontmatter-schema.md # 期望 ≥3 字段行
67
- ```
68
-
69
- ---
70
-
71
- ### WP-02:ownership.yaml 日志剥离 → ownership.changelog.md
72
-
73
- **目标**:把 ownership.yaml 里 ~130 行协调员日志注释剥离到独立 append-only changelog,yaml 主体只剩纯 schema。
74
-
75
- **交付物**:
76
- - 新增 `docs/handoffs/ownership.changelog.md`(按时间戳倒序)
77
- - 修改 `docs/handoffs/ownership.yaml`:
78
- - 删除所有 `# YYYY-MM-DDTHH:MM 协调员` 注释段(约 line 6-136)
79
- - 顶部加 1 行 pointer:`# 协调员动作历史见 docs/handoffs/ownership.changelog.md`
80
- - 保留 `version` / `schema` / `adr` / `last_updated` / `last_updated_by_session` 5 行 frontmatter
81
- - 保留所有 `windows:` / `planned_windows:` / `conflict_history:` / `compact_recovery_protocol:` schema 段一字不动
82
-
83
- **操作流程**:
84
- 1. `git show HEAD:docs/handoffs/ownership.yaml` 备份当前完整版本到临时文件
85
- 2. `awk '/^# 2026-/,/^[a-z]/' temp.yaml` 提取所有日志注释段
86
- 3. 反序写入 `docs/handoffs/ownership.changelog.md`(最新在顶)
87
- 4. 用 `sed`/手工 Edit 从 yaml 中删除日志段
88
- 5. 顶部加 pointer 行
89
- 6. 跑 yaml lint:`python3 -c "import yaml; yaml.safe_load(open('docs/handoffs/ownership.yaml'))"`
90
-
91
- **DoD**:
92
- - [ ] `ownership.changelog.md` 存在 + 含至少 3 段历史日志(迁移完整性证据)
93
- - [ ] `ownership.yaml` 行数 ≤ 860(当前 979;剥离 ~125 行日志后 schema 主体 ~855 是 18 windows 实例的不可压结构基线)
94
- - [ ] yaml 仍可被 `yaml.safe_load` 成功解析(schema 完整性)
95
- - [ ] yaml 顶部含 changelog pointer 行
96
- - [ ] 所有 windows 实例条目无丢失(diff 前后 `windows:` 段对比)
97
-
98
- **估时**:1 h
99
-
100
- **verify 命令**:
101
- ```bash
102
- test -f docs/handoffs/ownership.changelog.md
103
- wc -l docs/handoffs/ownership.yaml # 期望 ≤ 800
104
- python3 -c "import yaml; d=yaml.safe_load(open('docs/handoffs/ownership.yaml')); print(len(d.get('windows',[])))"
105
- grep -c "^# 协调员动作历史见" docs/handoffs/ownership.yaml # 期望 1
106
- ```
107
-
108
- ---
109
-
110
- ### WP-03:≥3 skill + ≥3 hook 落 `window_owner` 字段
111
-
112
- **目标**:按 §1 入口资产清单,给 6 个 MVP 资产文件 frontmatter 加 `window_owner` 字段(v1.1 修订;原措辞 `owner` 与历史人名语义冲突,详见 ADR-H2 §3.1 修订记录)。
113
-
114
- **交付物**:6 个文件 frontmatter 编辑
115
-
116
- **`window_owner` 值映射**(按现有 ownership.yaml 实际登记 / 协调员判定):
117
-
118
- | 文件 | `window_owner` 值 | `window_owner_since` | 备注 |
119
- |------|----------|-------------|------|
120
- | `.claude/skills/lead/SKILL.md` | `shared` | 2026-04-28T17:00+08:00 | lead skill 多 window 共加载,shared 语义最准;保留现有 `owner: nature` 不动 |
121
- | `.claude/skills/arch/SKILL.md` | `shared` | 2026-04-28T17:00+08:00 | 架构讨论多 window 共读共写;保留现有 `owner: nature` 不动 |
122
- | `.claude/skills/toolkit/SKILL.md` | `shared` | 2026-04-28T17:00+08:00 | pull surface 全 window 按需;保留现有 `owner: nature` 不动 |
123
- | `scripts/hooks/inbox-write-ledger.py` | `window-0-coordinator` | 2026-04-28T17:00+08:00 | H9 邮箱 hook 由协调员维护;其他 window 不写 |
124
- | `scripts/hooks/inbox-inject-on-start.py` | `window-0-coordinator` | 2026-04-28T17:00+08:00 | 同上 |
125
- | `scripts/hooks/owner-guard.py` | `window-0-coordinator` | 2026-04-28T17:00+08:00 | ADR-042 D4 实施 hook,由协调员维护;元层自指 |
126
-
127
- **SKILL.md frontmatter 加字段**:在 `name`/`description`/`tools`/`owner`(如有,不动)同级追加 `window_owner` / `window_owner_since`。
128
-
129
- **hook .py 加字段**:Python 文件 frontmatter 走"模块 docstring 顶部 YAML block"约定(同 ADR-058 helper 已用模式):
130
- ```python
131
- """
132
- ---
133
- name: inbox-write-ledger
134
- window_owner: window-0-coordinator
135
- window_owner_since: 2026-04-28T17:00+08:00
136
- window_owner_adr: docs/decisions/ADR-H2-identity-isolation.md
137
- ---
138
-
139
- inbox-write-ledger.py — PostToolUse Write hook ...
140
- """
141
- ```
142
-
143
- **DoD**:
144
- - [ ] 6 个文件全部含 `window_owner` 字段(`grep -c "^window_owner:" <files>` 总数 = 6)
145
- - [ ] 6 个文件全部含 `window_owner_since` 字段
146
- - [ ] hook .py 文件加完字段后仍 `python3 -c "import ast; ast.parse(open('<file>').read())"` PASS(语法不破)
147
- - [ ] SKILL.md 加完字段后 `python3 -c "import yaml; ..."` 解析 frontmatter 仍 PASS
148
- - [ ] `lead` skill 加载时不报错(不能因新字段把 lead 加载链炸断)
149
- - [ ] 现有 `owner: nature` 字段(如有)保留未动(diff 验证)
150
-
151
- **估时**:1 h
152
-
153
- **verify 命令**:
154
- ```bash
155
- for f in .claude/skills/lead/SKILL.md .claude/skills/arch/SKILL.md .claude/skills/toolkit/SKILL.md scripts/hooks/inbox-write-ledger.py scripts/hooks/inbox-inject-on-start.py scripts/hooks/owner-guard.py; do
156
- test -f "$f" && grep -q "^window_owner:" "$f" && echo "PASS $f" || echo "FAIL $f"
157
- done
158
- # 期望 6/6 PASS
159
- python3 -c "import ast; ast.parse(open('scripts/hooks/owner-guard.py').read())" # 不能破语法
160
- ```
161
-
162
- ---
163
-
164
- ### WP-04:ADR-042 §3 D10 补丁
165
-
166
- **目标**:在 ADR-042 §3 末尾(line 143 D9 段之后、line 151 §4 之前)插入 D10 段,引用 INV-H2-1/2/3 并交代与 D1-D9 关系。
167
-
168
- **交付物**:`docs/decisions/ADR-042-parallel-dev-state-management.md` 新增 D10 段(≤100 行 H0.2 budget)
169
-
170
- **D10 段骨架**(≤100 行):
171
- 1. 标题 `### D10. 资产 frontmatter owner 字段(schema-level 副真相源)`(1 行)
172
- 2. 1 段引用 ADR-H2 §1 决策本质(3 行)
173
- 3. INV-H2-1/2/3 列出(10 行)
174
- 4. 与 D3 关系(主副真相源 + 互校规则)(10 行)
175
- 5. 与 D2 关系(commit 姿势 + frontmatter 双闸)(5 行)
176
- 6. 与 D5 关系(planned_windows 也按受管资产标 owner)(5 行)
177
- 7. 例外申请条款(参考 review-agent-isolation.md §"例外申请"格式)(10 行)
178
- 8. 受管资产清单 pointer 到 ADR-H2 §3.2(5 行)
179
- 9. 落地范围 pointer 到 PLAN-H2(5 行)
180
-
181
- **DoD**:
182
- - [ ] ADR-042 §3 末尾新增 D10 段
183
- - [ ] D10 段行数 ≤ 100(H 系列 plan §3.3 H2 行硬规)
184
- - [ ] D1-D9 一字不改(diff verify only line 143-150 之后插入,line 1-142 不变)
185
- - [ ] D10 段含 INV-H2-1 / INV-H2-2 / INV-H2-3 至少 3 处引用
186
- - [ ] D10 段含 ADR-H2 路径 + PLAN-H2 路径 pointer
187
- - [ ] ADR-042 总行数 ≤ 363(当前 263 + D10 100 上限)
188
-
189
- **估时**:30 min
190
-
191
- **verify 命令**:
192
- ```bash
193
- grep -n "^### D10" docs/decisions/ADR-042-parallel-dev-state-management.md | head -1
194
- # 期望 line 在 §4 反对意见之前
195
- awk '/^### D10/,/^## 4\./' docs/decisions/ADR-042-parallel-dev-state-management.md | wc -l
196
- # 期望 ≤ 100
197
- git diff docs/decisions/ADR-042-parallel-dev-state-management.md | grep "^-" | grep -v "^---" | wc -l
198
- # 期望 = 0(D1-D9 一字不改,纯插入)
199
- ```
200
-
201
- ---
202
-
203
- ### WP-05:非起草 reviewer 复核(H0.3 执检分离)
204
-
205
- **目标**:spawn 一个非起草 reviewer subagent(read-only frontmatter 物理隔离),复核 ADR-H2 + PLAN-H2 + WP-01..04 实施物。
206
-
207
- **reviewer brief**(必含):
208
- - 复核 ADR-H2 §1 INV-H2-1/2/3 一致性
209
- - 复核 ADR-042 D10 与 D1-D9 不冲突
210
- - 复核 6 个 MVP 资产 frontmatter `owner` 字段语法 + 值合理性
211
- - 复核 ownership.yaml 日志剥离完整性(diff 前后 windows 数量不丢)
212
- - 复核 H0 元规约自检(H0.1 scope / H0.2 行数 / H0.3 执检分离 / H0.4 自指 / H0.5 跨 H 协调 / H0.6 证据机械化)
213
- - 复核结论形式:PASS / PASS_WITH_NOTES / BLOCK,每条 finding 标 P0/P1/P2
214
-
215
- **reviewer agent picks**:`boll-review-toolkit:reviewer`(plugin 内 frontmatter 物理隔离 reviewer,schema-level 100% 遵从)
216
-
217
- **DoD**:
218
- - [ ] reviewer 复核完成 + 输出落 `docs/decisions/tasks/PLAN-H2/reviewer-verdict-<ts>.md`(或 inbox 邮箱)
219
- - [ ] 总裁决 = PASS 或 PASS_WITH_NOTES(P0 = 0)
220
- - [ ] 若 PASS_WITH_NOTES:所有 P1 由协调员 inline 修;P2 登记 followup(不阻断)
221
- - [ ] H0.3 执检分离证据:reviewer agent 不是 ADR-H2/PLAN-H2 起草者(验证 reviewer agent 是 plugin 内 read-only subagent,非协调员本体)
222
-
223
- **估时**:1 h
224
-
225
- **verify 命令**:
226
- ```bash
227
- ls docs/decisions/tasks/PLAN-H2/reviewer-verdict-*.md 2>/dev/null | head -1
228
- # 期望存在
229
- ```
230
-
231
- ---
232
-
233
- ## 3. WP 执行顺序与依赖
234
-
235
- ```
236
- WP-01 schema 文档 → WP-02 yaml 剥离 → WP-03 6 资产 owner → WP-04 D10 补丁 → WP-05 reviewer
237
- (前置: ADR-H2) (无前置) (依赖 WP-01 schema) (依赖 WP-03 实证) (依赖 WP-01..04)
238
- ```
239
-
240
- **串行 + 单 session**。预计总耗时 ~4 h(含 reviewer 异步等待)。如某 WP 超期 50% 触发"hanis 自指症状"记录(H 系列 plan §3.5 节奏控制)。
241
-
242
- ---
243
-
244
- ## 4. 不在本 PLAN 范围(明确划界,防膨胀)
245
-
246
- - ❌ owner frontmatter lint 自动校验工具(→ H6 状态健康度段)
247
- - ❌ PreToolUse hook 拦截"无 owner 资产被写"(→ H6)
248
- - ❌ 28 个非 MVP skill / 7 个非 MVP hook 标 owner(→ H 系列后续段按需增量)
249
- - ❌ agent.md 标 owner(H2 不强制 ≥3 个 agent,按需)
250
- - ❌ owner 字段历史回溯重写(owner_since 只对 H2 之后字段写)
251
- - ❌ owner 值 enum 约束(free-form,靠 reviewer Gate 抓)
252
-
253
- ---
254
-
255
- ## 5. 失败回滚(参 H 系列 plan §3.3.4)
256
-
257
- | 档位 | 触发 | 处置 |
258
- |------|------|------|
259
- | 轻 broken | WP-03 某资产加 owner 字段后 lead skill 加载报错 | inline 修;不 revert;记 `.boll/log/harness-self-symptoms.md` |
260
- | 中 broken | WP-02 ownership.yaml 剥离后 vNext smoke 失败 / 协调员查 yaml 报错 | hotfix 内修复 1h 内;超时升级 |
261
- | 重 broken | WP-04 ADR-042 D10 补丁与 D3/D5 实质冲突 | `git revert <H2-commit>`;下游 H3 worktree 重 rebase;Nature 单签 |
262
- | 最坏 | 连续 2 个 WP 重 broken | H2 暂停 1 周;Nature 评估拆 H 或调拓扑 |
263
-
264
- ---
265
-
266
- ## 6. 自指自检(H0.4 必填)
267
-
268
- - 本 PLAN 修问题症状关键词("间接寻址"/"单点真相源膨胀")→ 本 PLAN 自身**不**用间接寻址(所有受管资产清单在本文件 §1 直接列出,不让读者再去查 ownership.yaml)
269
- - 本 PLAN 是否引用未来产物(H3-H8)?仅在 §4 不在范围列 H6 lint 工具作为后置依赖(合规:lint 是后置依赖不是前置依赖)
270
- - 本 PLAN 是否含"待协调员决定"等推卸字眼?grep 验证:`grep -nE '(TBD|后续讨论|待协调员决定)' docs/decisions/PLAN-H2-identity-isolation.md` 仅元层定义命中(参 ADR-H0 §6 例 4)
271
-
272
- ---
273
-
274
- ## 7. 收尾约定(参 ADR-H9 模式)
275
-
276
- WP-05 reviewer PASS 后:
277
- 1. 翻 ADR-H2 status:Proposed → Accepted(line 3)
278
- 2. 翻本 PLAN frontmatter status:Proposed → Accepted
279
- 3. §11 WP 表(如本 PLAN 后续展开会用,目前 §2 已是 WP 详表)所有 row 翻 ✓ DONE
280
- 4. 收尾 commit 走"原子 -o pathspec"模式(H 系列 plan §3.3 commit 姿势)
281
- 5. 同 commit 写 `.boll/log/harness-self-symptoms.md` 一行 PASS 记录(如演练发现新 spec 误读则附带 spec 澄清)
282
-
283
- ---
284
-
285
- ## 8. 进度追踪
286
-
287
- - [ ] WP-01 schema 文档
288
- - [ ] WP-02 yaml 日志剥离
289
- - [ ] WP-03 6 资产 owner 字段
290
- - [ ] WP-04 ADR-042 D10 补丁
291
- - [ ] WP-05 reviewer 复核