@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,99 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://bollharness.local/.boll/inbox/schema/message-v1.json",
4
- "title": "bollharness inbox message v1",
5
- "description": "ADR-H9 §4 sealed message-v1 schema. 任何 .boll/inbox/**/*.md 写入由 inbox-validate.ts 用本 schema 校验 yaml frontmatter;不合规 mv 到 .boll/inbox/quarantine/。Schema frozen,新增字段走 ADR-H9.x v1→v2 migration(§9 不向后兼容)。",
6
- "type": "object",
7
- "additionalProperties": false,
8
- "required": ["sender", "sender_pid", "ts", "msg_id", "kind", "priority", "related_h"],
9
- "properties": {
10
- "sender": {
11
- "description": "发送窗口;子→主走 window-Hx;主→子 ack 时填 main,路径仍写到 window-Hx/acks/",
12
- "type": "string",
13
- "enum": ["main", "window-h0", "window-h1", "window-h2", "window-h3", "window-h4", "window-h5", "window-h6", "window-h8", "window-h9"]
14
- },
15
- "sender_pid": {
16
- "description": "发送窗口 CC pid(防伪 / race 排查)",
17
- "type": "integer",
18
- "minimum": 1
19
- },
20
- "ts": {
21
- "description": "ISO-8601 + 时区,例 2026-04-28T14:30:00+08:00",
22
- "type": "string",
23
- "format": "date-time"
24
- },
25
- "ts_unix": {
26
- "description": "可选 unix 时间戳(秒);inject-on-start / poll / mtime delta 计算便利字段(PLAN-H9 §4.8 WP-08 DoD 机器证据)",
27
- "type": "number",
28
- "minimum": 0
29
- },
30
- "msg_id": {
31
- "description": "幂等 ID,格式 <sender-prefix>-YYYYMMDD-HHMMSS-<rand 3-12 字符>;sender-prefix = main 或 h0..h9",
32
- "type": "string",
33
- "pattern": "^(main|h[0-9])-[0-9]{8}-[0-9]{6}-[a-z0-9]{3,12}$"
34
- },
35
- "kind": {
36
- "description": "progress=进度 / block=阻塞需主窗口介入 / done=完工 / question=待解答 / ack=回执",
37
- "type": "string",
38
- "enum": ["progress", "block", "done", "question", "ack"]
39
- },
40
- "priority": {
41
- "description": "P0=立刻 wake 主窗口 / P1=正常队列 / P2=可延后",
42
- "type": "string",
43
- "enum": ["P0", "P1", "P2"]
44
- },
45
- "related_h": {
46
- "description": "harness 拓扑 H 编号;H7 已撤销不允许(参 ADR-H9 §3 注释 + symptoms.md §4.3)",
47
- "type": "string",
48
- "enum": ["H0", "H1", "H2", "H3", "H4", "H5", "H6", "H8", "H9"]
49
- },
50
- "related_wp": {
51
- "description": "可选;格式 WP-Hx-NN 例 WP-H9-01",
52
- "type": "string",
53
- "pattern": "^WP-H[0-9]-[0-9]{2}$"
54
- },
55
- "ack_required": {
56
- "description": "是否要求主窗口回执;默认 false。priority=P0 强制 true(schema if/then 拒收 P0+false 组合);kind=ack 永远 false",
57
- "type": "boolean",
58
- "default": false
59
- },
60
- "ack_for": {
61
- "description": "kind=ack 时必填,引用被 ack 的消息 msg_id",
62
- "type": "string",
63
- "pattern": "^(main|h[0-9])-[0-9]{8}-[0-9]{6}-[a-z0-9]{3,12}$"
64
- },
65
- "proposal_ref": {
66
- "description": "可选;引用 .boll/proposals/* 路径(ADR-H9 §4 双写规则:message body 不复制 proposal 内容,只引用路径)",
67
- "type": "string",
68
- "pattern": "^\\.boll/proposals/[A-Za-z0-9._/-]+\\.md$"
69
- }
70
- },
71
- "allOf": [
72
- {
73
- "description": "kind=ack 强制 ack_for 必填且 ack_required=false(ack 不再 ack,防递归回环)",
74
- "if": {
75
- "properties": {"kind": {"const": "ack"}},
76
- "required": ["kind"]
77
- },
78
- "then": {
79
- "required": ["ack_for"],
80
- "properties": {
81
- "ack_required": {"const": false}
82
- }
83
- }
84
- },
85
- {
86
- "description": "priority=P0 强制 ack_required=true(防 P0 静默丢失)",
87
- "if": {
88
- "properties": {"priority": {"const": "P0"}},
89
- "required": ["priority"]
90
- },
91
- "then": {
92
- "required": ["ack_required"],
93
- "properties": {
94
- "ack_required": {"const": true}
95
- }
96
- }
97
- }
98
- ]
99
- }
File without changes
@@ -1,31 +0,0 @@
1
- # issue-adapter.yaml — project-level config for scripts/guard-feedback.ts
2
- #
3
- # Default state: disabled. Turn on by setting enabled: true and declaring
4
- # at least one route or guard. Leaving this file as-is = pure noop (the
5
- # hook reads, sees enabled: false, exits 0 silently).
6
- #
7
- # See scripts/guard-feedback.ts module docstring for full schema.
8
-
9
- enabled: false
10
-
11
- # When enabled, point fragments_dir to where your context fragments live.
12
- # Each fragment is a markdown file that gets injected into Claude's context
13
- # when the matching file is edited.
14
- fragments_dir: scripts/fragments
15
-
16
- # routes: file-glob → fragment-name pairs
17
- # Example:
18
- # routes:
19
- # - pattern: "backend/**/*.ts"
20
- # fragment: "backend-conventions.md"
21
- routes: []
22
-
23
- # guards: file-glob → script pairs. Scripts exit non-zero on failure.
24
- # Example:
25
- # guards:
26
- # - path_pattern: "backend/**"
27
- # script: scripts/checks/check_api_types.ts
28
- guards: []
29
-
30
- # Where to append JSONL metric events. Can be relative to project root or absolute.
31
- metrics_file: .boll/state/metrics/guard-events.jsonl
@@ -1,85 +0,0 @@
1
- # boll vNext Mode Contract
2
-
3
- > Companion to `../03-design.md` §7. Addresses Phase 1 §6.3 (mode collapse — brainstorm / build / verify / release not first-class). Grounded in Phase 2 §1.1 (CC Plan Mode), §3.2 (Cursor checkpoints), §3.7 synthesis ("mode is runtime state, not prose").
4
-
5
- The mode is **the** runtime state variable. It lives at `.boll/state/mode` as a single word. Every hook, every capability check, and every review binding reads that file to decide what is allowed.
6
-
7
- ## Four modes
8
-
9
- | Mode | Purpose | Tool profile | Allowed transitions |
10
- |---|---|---|---|
11
- | `plan` | brainstorm, explore, write a plan, ask clarifying questions | read-only: Read, Glob, Grep, Bash(git log:\*), WebFetch, WebSearch, AskUserQuestion | → build |
12
- | `build` | make code changes against an approved plan | Read + Write + Edit + Bash(scoped) | → verify, ← plan |
13
- | `verify` | run tests, inspect diffs, accumulate evidence, no new edits | Read + Bash(test:\*) + Bash(git diff:\*) | → release, ← build |
14
- | `release` | commit / push / deploy / retire assets | Write + Bash(git commit:\*) + Bash(git push:\*) + Bash(deploy:\*) | → plan (new run) |
15
-
16
- Mode is set by: (1) explicit user command (`/mode build`), (2) plan-approval gate (plan → build), (3) verify-gate pass (verify → release), or (4) auto-reset to `plan` after release. **No prompt text ever sets mode.**
17
-
18
- ## Default value when absent
19
-
20
- If `.boll/state/mode` does not exist when the router reads it, the router treats the mode as `legacy` (pass-through) and lazily creates the file with content `legacy`. The default is enforced at read time; no runtime state file is ever committed.
21
-
22
- ## Per-mode capability profile
23
-
24
- Each mode maps to a tool allowlist and a review binding. `capability-router.ts` (see `../hooks/capability-router.ts`) reads `.boll/state/mode` on every `PreToolUse` and denies tool calls that do not fit the current mode's profile.
25
-
26
- ### `plan`
27
-
28
- - **Permits:** Read, Glob, Grep, WebFetch, WebSearch, AskUserQuestion, Bash(git log:\*), Bash(git status), Bash(git diff:\*)
29
- - **Denies:** Edit, Write, Bash(git commit:\*), Bash(git push:\*), Bash(rm:\*), Bash(deploy:\*), Edit-like MCP tools, SendMessage to execution agents
30
- - **Emits:** on transition out of plan, one evidence packet (`kind: gate`) with the plan file's sha256 and the human approver's id
31
- - **Typical duration:** minutes to hours
32
- - **Compact behavior:** tiny kernel reload; plan file itself is the resume pointer
33
-
34
- ### `build`
35
-
36
- - **Permits:** plan's permissions + Edit, Write, Bash(npx jest:\*), Bash(npm test:\*), Bash(cargo check:\*), subagent spawn (executor)
37
- - **Denies:** Bash(git push:\*), Bash(git commit:\*) (commits happen at release), Bash(deploy:\*), Bash(rm:\*) unless path in `/tmp/`, SendMessage outside run
38
- - **Emits:** per-edit step evidence (`kind: step`); at transition to verify, one gate packet
39
- - **Typical duration:** hours
40
- - **Compact behavior:** kernel + pointer to current run.json; evidence files are the durable state
41
-
42
- ### `verify`
43
-
44
- - **Permits:** Read, Glob, Grep, Bash(git diff:\*), Bash(test:\*), reviewer subagent spawn
45
- - **Denies:** Edit, Write, Bash(git commit:\*), Bash(git push:\*), Bash(deploy:\*)
46
- - **Emits:** one `merge_ready` packet at transition to release
47
- - **Typical duration:** minutes
48
- - **Compact behavior:** verify should not outlast a single compact window; if it does, the verify run aborts and re-starts from the last gate packet
49
-
50
- ### `release`
51
-
52
- - **Permits:** Bash(git commit:\*), Bash(git push:\*), Bash(deploy:\*), asset retirement via `/retire` command
53
- - **Denies:** Edit (code changes) — if a change is needed, mode must return to `build`
54
- - **Emits:** release-level evidence packet with commit sha and (if applicable) deploy id
55
- - **Typical duration:** minutes
56
- - **Compact behavior:** out of scope; release does not survive compact — it either completes or aborts
57
-
58
- ## Transition gates
59
-
60
- | From | To | Gate |
61
- |---|---|---|
62
- | plan | build | human approval of plan file (design-review binding in `review-contract.yaml`) |
63
- | build | verify | gate packet exists and passes `verify-gate.ts` schema check |
64
- | verify | release | `merge_ready` packet exists, CI green, all UNKNOWNs resolved or explicitly deferred |
65
- | release | plan | automatic on release success; new run.json is created |
66
- | any | plan | allowed (abort current run — produces an abort packet with reason) |
67
-
68
- ## What mode is **not**
69
-
70
- - Mode is not a prompt string. CLAUDE.md-vnext does not describe modes — it points the model at `.boll/state/mode` and the router hook does the rest.
71
- - Mode is not a skill. `lead` skill's 0–8 gate state machine (Phase 1 §3.4) is an example of mode-as-prose; it is **retired** (see `../03-design.md` §12 matrix).
72
- - Mode is not per-subagent. Subagents inherit the parent run's mode; a subagent cannot self-elevate.
73
- - Mode is not per-team. Parallel runs each have their own `.boll/state/<run-id>/mode` file.
74
-
75
- ## Multi-task parallelism under the mode model
76
-
77
- The brief requires parallel-multitask support. The mode contract supports parallelism with one rule:
78
-
79
- > **Parallel runs share nothing except the repo.** Each parallel run gets a unique run_id, its own `.boll/state/<run-id>/mode`, its own evidence tree, and its own subagent context. Mode is per-run, not global.
80
-
81
- Two builds can run simultaneously on disjoint file paths. If they intersect, the second run's `PreToolUse` on a conflicting path is denied by `capability-router.ts` reading a file-lock table at `.boll/state/locks.json`. No prompt-level "don't step on each other" rule.
82
-
83
- ## What the human sees
84
-
85
- The mode name is rendered in the session status line by a SessionStart hook. Nothing else needs to remind the model — the router and the verify-gate do.
@@ -1,102 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://bollharness.local/schemas/evidence-packet-v1.json",
4
- "title": "boll vNext Evidence Packet",
5
- "description": "Canonical shape of a completion / verification evidence packet. Every evidence file under .boll/evidence/<run-id>/ MUST validate against this schema. Referenced by ../hooks/verify-gate.ts. Addresses Phase 1 §2.7 / §3.1 / open-question A.7 (no explicit completion-evidence artifact existed). Grounded in Phase 2 §4.4 (PRM) and §3.8 (closure = commit + packet).",
6
- "type": "object",
7
- "required": ["packet_id", "run_id", "step_id", "mode", "kind", "created_at", "author", "claims", "evidence", "digest"],
8
- "additionalProperties": false,
9
- "properties": {
10
- "packet_id": {
11
- "type": "string",
12
- "pattern": "^[0-9a-f]{64}$",
13
- "description": "sha256 of the canonical-JSON serialization of this packet with digest omitted."
14
- },
15
- "run_id": {
16
- "type": "string",
17
- "pattern": "^[0-9a-zA-Z_-]{8,64}$"
18
- },
19
- "step_id": {
20
- "type": "string",
21
- "description": "Stable per-step identifier: step number or sub-task id. For run-level packets (MERGE_READY), use 'FINAL'."
22
- },
23
- "mode": {
24
- "type": "string",
25
- "enum": ["plan", "build", "verify", "release"]
26
- },
27
- "kind": {
28
- "type": "string",
29
- "enum": ["step", "gate", "merge_ready", "retire"],
30
- "description": "step = per-edit evidence; gate = mode-transition gate; merge_ready = run-level completion; retire = asset retirement packet."
31
- },
32
- "created_at": {
33
- "type": "string",
34
- "format": "date-time"
35
- },
36
- "author": {
37
- "type": "object",
38
- "required": ["kind", "id"],
39
- "properties": {
40
- "kind": {"enum": ["model", "hook", "human"]},
41
- "id": {"type": "string", "description": "model name, hook script path, or human user id"}
42
- }
43
- },
44
- "claims": {
45
- "type": "array",
46
- "minItems": 1,
47
- "description": "What the author says was accomplished. Plain strings.",
48
- "items": {"type": "string", "minLength": 4, "maxLength": 240}
49
- },
50
- "evidence": {
51
- "type": "array",
52
- "minItems": 1,
53
- "description": "Concrete substantiation per claim. Every claim must have ≥1 matching evidence entry.",
54
- "items": {
55
- "type": "object",
56
- "required": ["claim_index", "type", "ref"],
57
- "additionalProperties": false,
58
- "properties": {
59
- "claim_index": {"type": "integer", "minimum": 0},
60
- "type": {
61
- "type": "string",
62
- "enum": ["commit_sha", "test_result", "file_hash", "command_output", "external_link", "human_attestation"]
63
- },
64
- "ref": {"type": "string", "description": "commit sha / test name / file path / url / attestation id"},
65
- "summary": {"type": "string", "maxLength": 240},
66
- "pass": {"type": "boolean", "description": "only for test_result / command_output"}
67
- }
68
- }
69
- },
70
- "blockers": {
71
- "type": "array",
72
- "description": "Known issues that should block closure at the current mode. Empty = no blockers declared.",
73
- "items": {
74
- "type": "object",
75
- "required": ["severity", "note"],
76
- "properties": {
77
- "severity": {"enum": ["info", "warn", "block"]},
78
- "note": {"type": "string", "minLength": 4, "maxLength": 480},
79
- "owner": {"type": "string"}
80
- }
81
- }
82
- },
83
- "unknowns": {
84
- "type": "array",
85
- "description": "Explicit UNKNOWNs the author cannot resolve. Surfacing them here is required — silent omission is a verify-gate fail (Phase 1 §6.1 affordance failure).",
86
- "items": {"type": "string", "minLength": 4, "maxLength": 480}
87
- },
88
- "predecessors": {
89
- "type": "array",
90
- "description": "packet_ids this packet builds on (forms the run's evidence DAG).",
91
- "items": {"type": "string", "pattern": "^[0-9a-f]{64}$"}
92
- },
93
- "digest": {
94
- "type": "object",
95
- "required": ["algorithm", "value"],
96
- "properties": {
97
- "algorithm": {"const": "sha256"},
98
- "value": {"type": "string", "pattern": "^[0-9a-f]{64}$"}
99
- }
100
- }
101
- }
102
- }
@@ -1,247 +0,0 @@
1
- # boll vNext Review Contract
2
- # Companion to ../03-design.md §8. Addresses Phase 1 §6.2 (capability-delivery contradiction),
3
- # §3.3 (review-agent-gatekeeper matcher-miss), §3.1 (review-agent-isolation.md).
4
- # Grounded in Phase 2 §3.8 (closure = commit + packet), §2.1 (Codex review-pane pattern).
5
- #
6
- # A review-contract binding declares WHAT a review does. Each review mode is one of:
7
- # pane — reviewer is a diff pane + evidence packet produced by a tool (no agent spawn)
8
- # subagent — reviewer is a read-only subagent with strict tool whitelist
9
- # human — human is the reviewer; harness packages the evidence
10
- #
11
- # The single source of truth. No review happens outside a binding that parses as this schema.
12
- #
13
- # Evidence packet schema reference: `./evidence-packet-schema.json` (plugin-relative;
14
- # co-located in this plugin's contracts/ directory per WP-037 packaging).
15
- # Every `outputs.evidence_packet` below must conform to that schema; verify-gate.ts
16
- # (WP-024) validates producer- and consumer-side agreement.
17
- #
18
- # Per-binding `active` field: true = binding is live; false = binding is present
19
- # but inert (parses, references the schema, but triggers no gate yet). WP-022
20
- # activates only `design-review` and `retirement-review` (the two human-gated
21
- # bindings); `default-build-review` and `merge-ready-review` ship as inactive
22
- # placeholders, activated later by WP-026 and WP-027 respectively.
23
-
24
- schema_version: 1
25
- evidence_packet_schema_ref: ./evidence-packet-schema.json
26
-
27
- # ── ADR-H5 §3 INV-H5-1: line_caps schema 化 ──
28
- # 把散落在 ADR-H0/H1/H3/H4 共 4 处的行数硬限收口为顶层字段。各 cap 数值由
29
- # source_adr 决定(H5 仅做收口聚合 + ref 指针,不重新定义数值)。
30
- # 红线(INV-H5-1):增加新 cap 项必须在原始 ADR 中先有"≤N 行"明文规定。
31
- line_caps:
32
- - id: adr-h-series
33
- glob: "docs/decisions/ADR-H*.md"
34
- max_lines: 300
35
- source_adr: "ADR-H0 §H0.2"
36
- - id: plan-h-series
37
- glob: "docs/decisions/PLAN-H*.md"
38
- max_lines: 500
39
- source_adr: "ADR-H0 §H0.2"
40
- - id: lead-skill-h-segment
41
- glob: ".boll/skills/lead/SKILL.md"
42
- max_lines: 220
43
- source_adr: "ADR-H1 受管资产 + ADR-H4 INV-H4-1"
44
- - id: memory-master-index
45
- glob: "~/.boll/projects/-Users-nature------boll/memory/MEMORY.md"
46
- max_lines: 200
47
- source_adr: "ADR-H3 INV-H3-2 v1.1"
48
-
49
- # ── ADR-H5 §5 inflation 规则(3 条)──
50
- # 把 ADR-H0 §H0.2 行数限额 + H0.3 执检分离 + H0.4 自指禁止
51
- # 升级到 schema-level 字段(CC 直接读,不再 prompt-level 70%)。
52
- inflation:
53
- no_grow_now_clean_later: true # 规则 1: 不接受"merge 后下个 PR 拆"理由
54
- drafter_reviewer_must_differ_session: true # 规则 2: 起草人 ≠ reviewer 同 session
55
- h0_self_check_segment_required: true # 规则 3: 任何 ADR-Hx 必含 §H0 自检段
56
-
57
- # ── ADR-H6 §3 INV-H6-1: state 清单 schema 化 ──
58
- # 把 .boll/state + .boll/proposals + .boll/guard + .boll/log + .boll/inbox + .boll/evidence
59
- # 等 state 资产收口为顶层清单。kind: dynamic / archived / append-only / managed-by-other-h
60
- # 红线(INV-H6-1):新增 state 资产路径必须先在原始 ADR 中宣告归属 owner。
61
- state_inventory:
62
- - id: state-mode
63
- path: ".boll/state/mode"
64
- kind: dynamic
65
- owner: boll-mode-toolkit
66
- - id: state-run
67
- path: ".boll/state/run.json"
68
- kind: dynamic
69
- owner: boll-mode-toolkit
70
- - id: state-locks
71
- path: ".boll/state/locks.json"
72
- kind: dynamic
73
- owner: boll-mode-toolkit
74
- - id: state-completion-proposal
75
- path: ".boll/state/completion-proposal.json"
76
- kind: dynamic
77
- owner: boll-review-toolkit
78
- - id: state-risk-snapshot
79
- path: ".boll/state/risk-snapshot.json"
80
- kind: dynamic
81
- owner: risk-tracker
82
- - id: state-round-verdicts
83
- path: ".boll/state/round{1-5}-verdicts/"
84
- kind: archived
85
- owner: harness-review-history
86
- - id: state-archived-dir
87
- path: ".boll/state/_archived/"
88
- kind: archived
89
- owner: ADR-H6
90
- - id: proposals-self-evolution
91
- path: ".boll/proposals/"
92
- kind: append-only
93
- owner: vNext-self-evolution
94
- note: "265 文件; 只增不删"
95
- - id: guard-loop-counter
96
- path: ".boll/guard/"
97
- kind: append-only
98
- owner: harness-guard
99
- note: "11321 文件; 活工具态非污染(H 系列调研 #4 认知修正)"
100
- - id: log-self-symptoms
101
- path: ".boll/log/harness-self-symptoms.md"
102
- kind: append-only
103
- owner: H 系列
104
- - id: log-hook-ledger
105
- path: ".boll/log/hook/"
106
- kind: append-only
107
- owner: 各 hook
108
- - id: inbox-mailbox
109
- path: ".boll/inbox/"
110
- kind: managed-by-other-h
111
- owner: ADR-H9
112
- note: "main/quarantine/schema/window-h{0-6,8,9}"
113
- - id: evidence-packets
114
- path: ".boll/evidence/"
115
- kind: managed-by-other-h
116
- owner: 各 PLAN
117
-
118
- # ── ADR-H6 §3 INV-H6-2: state 健康度指标 schema 化 ──
119
- # 红线(INV-H6-2):每条指标必须给出可执行 check 命令;不接受"靠人脑感知"。
120
- state_health_indicators:
121
- - id: schema-validity
122
- desc: "dynamic JSON 文件 JSON parse 通过 + 必填字段非空"
123
- check: "npx ts-node -e 'import * as json from \"json\"; [json.parse(require(\"fs\").readFileSync(p,\"utf8\")) for p in [\".boll/state/run.json\", \".boll/state/locks.json\", \".boll/state/completion-proposal.json\", \".boll/state/risk-snapshot.json\"]]'"
124
- - id: top-level-no-noise
125
- desc: ".boll/state/ 顶层无 .DS_Store / 未归档 archived 文件 / 临时文件"
126
- check: "ls .boll/state/.DS_Store .boll/state/*archived*.json 2>/dev/null | wc -l"
127
- expect: 0
128
- - id: inbox-unread-volume
129
- desc: ".boll/inbox/main/unread/ ≤50 文件(H9 ADR 红线复用)"
130
- check: "ls .boll/inbox/main/unread/ 2>/dev/null | wc -l"
131
- expect_max: 50
132
-
133
- bindings:
134
-
135
- - id: default-build-review
136
- active: true # WP-026 activation — default build closures require pane packet
137
- applies_when:
138
- mode: build
139
- task_kind: code_change
140
- reviewer:
141
- type: pane
142
- produces: evidence-packet:kind=gate
143
- inputs:
144
- - diff: git_diff_against_main
145
- - tests: required_tests_for_changed_files
146
- - packet: previous_step_evidence
147
- outputs:
148
- - evidence_packet:
149
- mode: build
150
- kind: gate
151
- claims:
152
- - "diff is small enough to review (< 400 lines changed or ≥ 1 reviewer attestation)"
153
- - "all changed files have at least one test that exercises the change OR a blocker entry"
154
- - blockers_surface: top_level
155
- gating:
156
- blocks_mode_transition_to: verify
157
- bypass_requires: human_attestation
158
-
159
- - id: merge-ready-review
160
- active: true # WP-027 activation — merge-ready gating + reviewer subagent installed
161
- applies_when:
162
- mode: verify
163
- transition_target: release
164
- reviewer:
165
- type: subagent
166
- subagent_ref: reviewer # see ../prompts/agent-reviewer.md
167
- tools_whitelist: # CC frontmatter `tools:` list; enforced at capability layer
168
- - Read
169
- - Glob
170
- - Grep
171
- - Bash(git log:*)
172
- - Bash(git diff:*)
173
- - Bash(npx jest --collect-only:*)
174
- forbidden_tools: [Edit, Write, Bash(rm:*), Bash(git push:*), SendMessage]
175
- # Phase 1 open-question C.2: if delivery requires SendMessage, the runtime
176
- # MUST re-spawn via a separate delivery tool; reviewer itself stays pure.
177
- # ── ADR-H5 §3 INV-H5-2: 执检分离 binding 化 ──
178
- # 把 ADR-H0 §H0.3 从 ad-hoc prompt 升级到 schema 字段。reviewer subagent 必须
179
- # 来自白名单;verdict 文件路径必须匹配 evidence_path_pattern。
180
- drafter_reviewer_separation:
181
- required: true
182
- rationale: "ADR-H0 §H0.3 执检分离 + ADR-038 D11.2"
183
- evidence_path_pattern: "docs/decisions/tasks/PLAN-{plan}/WP-05/reviewer-verdict-*.md"
184
- reviewer_subagent_whitelist:
185
- - "pr-review-toolkit:code-reviewer"
186
- - "boll-review-toolkit:reviewer"
187
- inputs:
188
- - all_step_packets: true
189
- - all_gate_packets: true
190
- - aggregate_diff: true
191
- outputs:
192
- - evidence_packet:
193
- mode: verify
194
- kind: merge_ready
195
- must_include_unknowns: true # Phase 1 §6.1 anti-affordance: hiding unknowns fails gate
196
- gating:
197
- blocks_mode_transition_to: release
198
- requires_all:
199
- - every_unknown_in_earlier_packets_resolved_or_explicitly_deferred
200
- - no_blocker_of_severity_block
201
- - aggregate_diff_ci_green
202
- bypass_requires: human_attestation_with_reason_string
203
-
204
- - id: design-review
205
- active: true # WP-022 activation — human-gated, low-traffic
206
- applies_when:
207
- mode: plan
208
- transition_target: build
209
- reviewer:
210
- type: human
211
- inputs:
212
- - plan_file_ref: true
213
- - reasoning_trace: optional
214
- outputs:
215
- - evidence_packet:
216
- mode: plan
217
- kind: gate
218
- gating:
219
- blocks_mode_transition_to: build
220
- bypass_requires: never # plan → build is always human-gated
221
-
222
- - id: retirement-review
223
- active: true # WP-022 activation — human-gated, rare, high-blast-radius
224
- applies_when:
225
- operation: retire_asset
226
- reviewer:
227
- type: pane
228
- produces: evidence-packet:kind=retire
229
- inputs:
230
- - asset_path: required
231
- - usage_stats: last_90_days
232
- - replaced_by: required_or_explicit_null
233
- outputs:
234
- - evidence_packet:
235
- mode: release
236
- kind: retire
237
- claims:
238
- - "asset was used fewer than N times in last 90 days OR replaced_by is non-null"
239
- - "retire target is .boll/retired/<date>/ (not deleted)"
240
- gating:
241
- requires: human_attestation
242
-
243
- # Explicit non-bindings — work that is NOT a review:
244
- non_reviews:
245
- - user_asks_claude_a_question # Phase 1 §6.3 mode collapse — chat ≠ review
246
- - brainstorm # plan mode does not auto-trigger review
247
- - read_only_exploration # no review until a change is proposed
@@ -1,31 +0,0 @@
1
- ---
2
- paths:
3
- - "backend/**"
4
- - "server/**"
5
- - "api/**"
6
- ---
7
-
8
- # {{PROJECT_NAME}} Backend Routes (Template)
9
-
10
- > 这是一个 domain-specific 的路由索引 rule 模板。bollharness fork 时保留骨架,业务内容由 {{PROJECT_NAME}} 安装后填充。
11
-
12
- ## 如何使用
13
-
14
- 1. 安装 bollharness 后, 把 `{{PROJECT_NAME}}` 替换成你的项目名
15
- 2. 把下表的示例行替换为你项目的真实路由
16
- 3. `.boll/rules/backend-routes.md` 的作用是让 agent 在读 `backend/**` 文件时自动加载此索引, 避免 agent 凭记忆猜路由
17
-
18
- ## 路由索引
19
-
20
- | 方法 | 路径 | 模块 | 说明 |
21
- |------|------|------|------|
22
- | GET | `/api/{{DOMAIN}}/health` | {{DOMAIN}}/health.ts | 健康检查 |
23
- | POST | `/api/{{DOMAIN}}/{{RESOURCE}}` | {{DOMAIN}}/routes.ts | 创建资源示例 |
24
-
25
- ## 真相源声明
26
-
27
- 本文件**不是**路由的真相源。真相源永远是实际的 FastAPI / Flask / Express router 代码。这份 rule 只是让 agent 有个检索起点。如果 rule 和代码冲突, 以代码为准, 并提醒修本文件。
28
-
29
- ## 生成建议
30
-
31
- 如果项目规模较大, 推荐用脚本自动生成这份 rule(例如 `npx ts-node scripts/gen_routes_rule.ts > .boll/rules/backend-routes.md`)而不是人工维护。
@@ -1,30 +0,0 @@
1
- ---
2
- paths:
3
- - "docs/issues/**"
4
- - "docs/decisions/ADR-030*"
5
- - "src/scripts/hooks/**"
6
- ---
7
-
8
- # Closure Semantics
9
-
10
- ## Fixed 三层定义
11
-
12
- Issue 标记 "Fixed" 不等于"症状消失"。三个层级:
13
-
14
- | 层级 | 含义 | 标准 | 标记 |
15
- |------|------|------|------|
16
- | Level 1 | 症状消失 | 生产不报错了,但没有分析复发路径 | Runtime Fixed |
17
- | Level 2 | 复发路径关闭 | 修了根因,分析了复发路径,写了 prevention_status | **Fixed** |
18
- | Level 3 | 机制消灭 | Fixed + 有机械化 guard 自动检测防止复发 | Fixed + Guarded |
19
-
20
- ## Issue Doc YAML Frontmatter 规范
21
-
22
- 所有 `docs/issues/` 下的 issue 文档必须包含以下 frontmatter 字段:
23
-
24
- ```yaml
25
- status: fixed|open|wont_fix # 当前状态
26
- prevention_status: open|closed # 复发预防是否闭环
27
- mechanism_layer: guard|test|type|convention # 防护机制层级
28
- ```
29
-
30
- 详见: `docs/decisions/ADR-030-guard-signal-and-governance-reload.md`
@@ -1,32 +0,0 @@
1
- ---
2
- paths:
3
- - "config.ts"
4
- - "settings.ts"
5
- - ".env*"
6
- - "scripts/deploy*"
7
- ---
8
-
9
- # {{PROJECT_NAME}} 环境变量清单 (Template)
10
-
11
- > 这是一个环境变量索引 rule 模板。bollharness fork 时保留骨架,{{PROJECT_NAME}} 自己填充具体变量。
12
-
13
- ## 如何使用
14
-
15
- 1. 把 `{{PROJECT_NAME}}` 替换成你的项目名
16
- 2. 下表每一项必须如实填写**用途 + 必需性 + 默认值**
17
- 3. **禁止**在这份文件里写任何真实 secret 值——这份文件会被提交到 repo
18
-
19
- ## 变量表
20
-
21
- | 变量 | 必需 | 默认 | 用途 |
22
- |------|------|------|------|
23
- | `{{PROJECT_NAME_UPPER}}_ENV` | 是 | `development` | 运行环境 (`development` / `staging` / `production`) |
24
- | `{{PROJECT_NAME_UPPER}}_PORT` | 否 | `8080` | HTTP 监听端口 |
25
- | `{{PROJECT_NAME_UPPER}}_DB_URL` | 是 | — | 数据库连接串 |
26
- | `{{PROJECT_NAME_UPPER}}_LOG_LEVEL` | 否 | `INFO` | 日志级别 |
27
-
28
- ## Secret 管理
29
-
30
- - 真实 secret 值只能存在于 `.env.local` / CI secret store / 部署 secret manager
31
- - `.env.local` 必须在 `.gitignore` 中
32
- - bollharness `src/scripts/sanitize.ts` 会拦截常见 secret 模式 (`sk-ant-`、`sk-or-`、`.env*` KV 等)