@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,24 +0,0 @@
1
- ---
2
- name: lead
3
- description: 开发流程统领 Skill。
4
- status: active
5
- tier: entry
6
- owner: {{PROJECT_OWNER}}
7
- last_audited: 2026-04-09
8
- ---
9
-
10
- # lead
11
-
12
- 开发流程统领。
13
-
14
- ## 文件索引
15
-
16
- - SKILL.md — 主文件
17
- - INDEX.md — 本索引
18
- - ref-review-sop.md — 审查 SOP
19
- - ref-stages.md — 五阶段定义
20
- - install-wow-harness.md — 安装指引
21
-
22
- ## 状态
23
-
24
- active
@@ -1,77 +0,0 @@
1
- # /lead install bollharness
2
-
3
- ## 一句话
4
-
5
- 在用户的项目里安装 bollharness 开发护栏。一条命令,三种深度,开箱即用。
6
-
7
- ## 使用方式
8
-
9
- ```bash
10
- # 最常见:当前项目,默认 adapt 档
11
- npx ts-node scripts/install/phase2_auto.ts --auto
12
-
13
- # 指定档位
14
- npx ts-node scripts/install/phase2_auto.ts --auto --tier=drop-in
15
- npx ts-node scripts/install/phase2_auto.ts --auto --tier=adapt
16
- npx ts-node scripts/install/phase2_auto.ts --auto --tier=mine --projects=/path/a,/path/b
17
-
18
- # 多项目
19
- npx ts-node scripts/install/phase2_auto.ts --auto --projects=/path/a,/path/b --scope=explicit
20
-
21
- # 验证幂等性
22
- npx ts-node scripts/install/phase2_auto.ts --auto --dry-run
23
- ```
24
-
25
- ## 三档安装光谱(ADR-043 §3.4.4)
26
-
27
- | 档位 | 适合谁 | 读什么 | 做什么 |
28
- |------|--------|--------|--------|
29
- | **drop-in** | "我只要护栏,别碰我代码" | 只读 bundle 自身 | 复制 L0-L5 组件 + 16 条 hook matcher |
30
- | **adapt** ⭐ 默认 | "看懂我项目就行" | README.md + docs/**/*.md (50KB) | drop-in + 按 stack 启/禁 rules |
31
- | **mine** | "完全长进来" | adapt + 点名项目的 transcripts | adapt + crystal-learn 种子提案 |
32
-
33
- **adapt 是默认档。** 绝大多数用户不需要碰这个参数。
34
-
35
- ## 显式点名(ADR-043 §3.4.5)
36
-
37
- 安装器会问你装到哪里:
38
-
39
- 1. 当前目录
40
- 2. 用户级全局(~/.boll/ plugin)
41
- 3. 显式点名几个项目
42
-
43
- **mine + 全局 = 禁止**(隐私灾难,fail-closed)。mine 档必须显式点名。
44
-
45
- ## Gate 8 反思 loop(ADR-043 §3.4.6)
46
-
47
- adapt 和 mine 档安装后,当你完成一个大 plan(lead state machine Gate 8 PASS),harness 会自动在后台启动一个 crystal-learn reflection agent。
48
-
49
- 这不是你需要记得做的事——它绑在 Gate 8 事件上,plan 完成就反思,不完成就不反思。
50
-
51
- 反思产物在 `.boll/proposals/` 目录,下次开 session 时自然能看到。
52
-
53
- ## 安全模型
54
-
55
- - **HMAC trust token**:安装过程用 `BOLLHARNESS_INSTALL_HMAC_KEY` 环境变量签名,30min 滑动窗口 + 6h 绝对上限
56
- - **fail-closed**:key 缺失 / 过短 / 过期 = 自动中止,不降级
57
- - **settings.json 原子追加**:用 json 库,不用 sed(INV-4 防护)
58
- - **幂等**:第二次运行检测到已安装 → 跳过,不重复写
59
-
60
- ## 安装后验证
61
-
62
- ```bash
63
- # 确认 hook 数量
64
- npx ts-node -e "import fs from 'fs'; const s=JSON.parse(fs.readFileSync('.boll/settings.json','utf8')); console.log(Object.values(s.hooks||{}).flat().reduce((a,e)=>a+(e.hooks||[]).length,0))"
65
- # 预期输出: 16
66
-
67
- # 确认 sanitize-on-read 工作
68
- echo '{\"tool_name\":\"Read\",\"tool_input\":{\"file_path\":\"test.txt\"}}' | npx ts-node scripts/hooks/sanitize-on-read.ts
69
- # 预期: {"decision": "approve"}
70
- ```
71
-
72
- ## 这个 skill 不做什么
73
-
74
- - 不碰 lead 的 8-gate 状态机核心逻辑
75
- - 不自动扫描 ~/.boll/projects/ 推断项目(发现 = 未授权)
76
- - 不装 OS-level daemon(没有 launchd/systemd/cron)
77
- - 不在 drop-in 档读任何用户文件
@@ -1,48 +0,0 @@
1
- # lead SKILL.md
2
-
3
- ## 审查闭环 SOP
4
-
5
- ### TeamCreate 使用规范
6
-
7
- **什么时候用 TeamCreate**:
8
- - Gate 2 架构审查
9
- - Gate 4 PLAN 审查 + plan-lock
10
- - Gate 6 task 审查
11
- - Gate 8 最终审查
12
-
13
- **什么时候用 Agent tool**:
14
- - 禁止用 Agent tool 做审查
15
- - Agent tool 是共享上下文,判断不独立
16
-
17
- ### 三视角矩阵
18
-
19
- | 视角 | 关注点 |
20
- |------|--------|
21
- | 商业可行性 | 价值、风险、成本 |
22
- | 技术本质 | 可行性、复杂性、依赖 |
23
- | 用户体验 | 可用性、接受度 |
24
-
25
- ### 裁决格式
26
-
27
- ```
28
- ## Verdict: PASS / FAIL
29
-
30
- ## Scores
31
- - Completeness: X/5
32
- - Honesty: X/5
33
- - Quality: X/5
34
- - Consistency: X/5
35
-
36
- ## Findings
37
- 1. [具体发现]
38
- 2. [具体发现]
39
-
40
- ## Recommendation
41
- [如果 FAIL,具体要修什么]
42
- ```
43
-
44
- ### 生产问题诊断硬规则
45
-
46
- 1. **先看日志/事件/DB**,不先看代码猜测
47
- 2. **先隔离问题范围**,不直接全局搜索
48
- 3. **先验证假设**,不基于假设行动
@@ -1,58 +0,0 @@
1
- # lead SKILL.md
2
-
3
- ## 五阶段定义
4
-
5
- ### 阶段①:问题锁定
6
-
7
- Gate 0 的入口条件:用户提出需求。
8
-
9
- 产出:问题陈述 + Change Classification。
10
-
11
- Change Classification 决定最低门禁:
12
- - policy:边界、身份、权限、场景承诺
13
- - contract:API、schema、事件、配置
14
- - implementation:单模块内部
15
-
16
- ### 阶段②:架构设计
17
-
18
- Gate 1 的入口条件:Gate 0 产物存在。
19
-
20
- 产出:ADR 草稿 + 消费方清单。
21
-
22
- 消费方发现三维度:
23
- - 数据消费方:谁读这个数据
24
- - 行为消费方:谁调用这个接口
25
- - 可见性消费方:谁看到这个输出
26
-
27
- ### 阶段③:方案冻结
28
-
29
- Gate 3 → Gate 4 的入口条件:Gate 2 PASS。
30
-
31
- 产出:PLAN 文档 + 架构覆盖矩阵。
32
-
33
- 冻结条件:
34
- - 所有决策口子已关
35
- - 接口已对齐
36
- - 测试层级已定
37
-
38
- ### 阶段④:任务拆分
39
-
40
- Gate 5 的入口条件:Gate 4 PASS + plan-lock。
41
-
42
- 产出:WP DAG + TASK.md。
43
-
44
- 拆分原则:
45
- - 按 write_set 拆
46
- - 按接缝定 owner
47
- - 每 WP 有独立验收标准
48
-
49
- ### 阶段⑤:执行与验证
50
-
51
- Gate 7 的入口条件:Gate 6 PASS。
52
-
53
- 产出:代码 + LOG.md + TEST.md。
54
-
55
- 执行约束:
56
- - 先开 LOG.md
57
- - 每 WP 有运行时证据
58
- - 验证诚实报告
@@ -1,74 +0,0 @@
1
- ---
2
- name: plan-lock
3
- description: 计划锁定器。把修复计划、实现方案和 WP 规格锻造成 decision-complete 的可执行上游文档:真相先验、决策关死、接口对齐、测试层级一致、时序稳定。在 lead 的 Gate 3 与 Gate 4 之间,以及 task-arch 拆 WP 之前必须使用。
4
- status: active
5
- tier: entry
6
- triggers:
7
- - Gate 4
8
- - PLAN 审查
9
- - WP 前置锁定
10
- outputs:
11
- - decision-complete 冻结结论
12
- - 未锁口子
13
- truth_policy:
14
- - 只基于真实代码和真实计划锁口
15
- - 不复制高变化仓库事实
16
- - 执行者清晰优先于作者省事
17
- ---
18
-
19
- # 计划锁定器
20
-
21
- ## 存在定位
22
-
23
- 我是开发流程里的**计划锁定器**。
24
-
25
- 我不是来写"方向正确的计划"的。我存在,是为了把一份计划锁成**执行者无需再判断**的上游规格。
26
-
27
- ## 张力地图
28
-
29
- ### 核心张力
30
-
31
- 我始终工作在这 4 组拉扯里:
32
-
33
- 1. **速度 vs 锁定**
34
- - 写得快很容易
35
- - 写到执行者不用猜很难
36
- 2. **开放性 vs 收敛性**
37
- - 讨论阶段允许保留可能性
38
- - 执行阶段必须关掉可能性
39
- 3. **局部修复 vs 系统一致**
40
- - 眼前问题想快修
41
- - 但计划一旦错层,后面全线返工
42
- 4. **简洁 vs 完整**
43
- - 文档不能变成规则堆
44
- - 但也不能把关键判断留白
45
-
46
- ### 优先级序
47
-
48
- 当这些张力不可兼得时,按这个顺序裁决:
49
-
50
- 1. **真相优先于流畅**
51
- 2. **锁定优先于灵活**
52
- 3. **层级一致优先于表面覆盖**
53
- 4. **执行者清晰优先于作者省事**
54
- 5. **简洁建立在闭合之上,不建立在省略之上**
55
-
56
- ## Output Contract
57
-
58
- 每次使用我,默认给:
59
-
60
- 1. `decision-complete 冻结结论`
61
- 2. `未锁口子`
62
- 3. `层级错位或时序漂移风险`
63
-
64
- ## 核心功能
65
-
66
- > 在代码开始之前,把讨论中的模糊性、假设和未完成决策全部拦截掉,不让它们流进执行阶段。
67
-
68
- ## 不做什么
69
-
70
- - 不决定这件事值不值得做,那是 `lead / arch`
71
- - 不做架构本质分析,那是 `arch`
72
- - 不拆任务 DAG,那是 `task-arch`
73
- - 不写代码,那是 `harness-dev`
74
- - 不替正式审查员完成独立审查
@@ -1,120 +0,0 @@
1
- ---
2
- name: skill-discovery
3
- description: Skill 发现者。读用户项目的工作历史(transcripts、commit log、issue 记录),识别重复出现的工作模式,提议将其封装为专属 skill,让 harness 能"长出"新的能力,而不是只用预装的。
4
- status: active
5
- tier: meta
6
- triggers:
7
- - 首次安装后的能力审计
8
- - 定期(月度/季度)skill 审计
9
- - 用户觉得"我总在重复做同一类事"
10
- - mine 档安装触发
11
- outputs:
12
- - skill 提案文档(markdown)
13
- - 可选:skill SKILL.md 草稿
14
- truth_policy:
15
- - 只读用户显式授权的项目数据
16
- - transcript 读取遵守 tier_selector 的读取边界
17
- - 提案是建议,不是自动安装——用户确认后才创建 skill
18
- ---
19
-
20
- # Skill 发现者
21
-
22
- ## 存在定位
23
-
24
- 我是 harness 生态中的**能力审计师和 skill 接生者**。
25
-
26
- ## 核心张力
27
-
28
- ### 敏感度 vs 噪音
29
-
30
- - 太敏感:每做两次同样的事就提议建 skill → 用户被提案淹没
31
- - 太迟钝:明显的重复模式视而不见 → 用户永远在重复劳动
32
-
33
- **校准锚点**:
34
- - 一个模式在 3+ 次 session 中出现、且每次都消耗 >10 轮对话 → 值得提案
35
- - 一个模式只出现 1-2 次、或每次 <5 轮 → 还不够,继续观察
36
-
37
- ### 通用性 vs 专属性
38
-
39
- - 太通用:"写代码"不是 skill,它是所有 skill 的基础
40
- - 太专属:"修第 47 行的 bug"不是 skill,它是一次性任务
41
-
42
- **校准锚点**:
43
- - 好的 skill 有明确的触发条件、稳定的执行流程、可复用的判断框架
44
- - 如果描述一个 skill 需要 >3 句话才能说清"什么时候用它",可能粒度不对
45
-
46
- ## 发现方法
47
-
48
- ### 来源 1:Transcript 分析(需 mine 档授权)
49
-
50
- 读用户的 Claude Code transcript .jsonl 文件,提取:
51
-
52
- 1. **重复意图模式**:用户在不同 session 中发出相似的指令
53
- 2. **重复解释模式**:用户反复解释同一个上下文
54
- 3. **重复纠正模式**:用户反复纠正 AI 的同一类错误
55
-
56
- ### 来源 2:Commit 历史分析
57
-
58
- ```bash
59
- git log --oneline -100 | ... # 提取 commit 类型分布
60
- ```
61
-
62
- ### 来源 3:Issue / 文档模式分析
63
-
64
- 扫描 `docs/issues/`、`docs/decisions/`、CHANGELOG 等,识别:
65
- - 重复出现的 issue 类型 → 可能需要预防性 skill
66
- - 重复出现的决策模式 → 可能需要决策框架 skill
67
-
68
- ### 来源 4:用户直接告知
69
-
70
- 用户说"我总在做 X"——这是最直接的信号。
71
-
72
- ## 提案格式
73
-
74
- ```markdown
75
- # Skill 提案:{名称}
76
-
77
- ## 发现来源
78
- - {transcript/commit/issue/用户告知}
79
- - 出现频率:{N 次 / M 个 session}
80
- - 每次消耗:{约 X 轮对话 / Y 分钟}
81
-
82
- ## 模式描述
83
- {这个重复工作是什么?每次的输入和输出是什么?}
84
-
85
- ## 为什么值得封装
86
- {如果不封装,代价是什么?如果封装了,收益是什么?}
87
-
88
- ## 建议的 skill 结构
89
- - **触发条件**:什么时候应该使用这个 skill?
90
- - **核心流程**:大致的执行步骤
91
- - **判断框架**:需要内化的决策标准
92
- - **输出契约**:每次使用应该产出什么?
93
-
94
- ## 风险
95
- - 是否可能过度封装?
96
- - 是否可能很快过时?
97
- - 是否与已有 skill 重叠?
98
-
99
- ## 推荐优先级
100
- - [ ] 高:每周 3+ 次,每次 >15 分钟 → 立即创建
101
- - [ ] 中:每周 1-2 次,每次 >10 分钟 → 下次闲下来创建
102
- - [ ] 低:偶尔出现,但模式清晰 → 记录,观察
103
- ```
104
-
105
- ## 从提案到 skill
106
-
107
- 用户确认提案后:
108
-
109
- 1. **用 soul-writing 方法论写 SKILL.md**
110
- 2. **放到正确位置**
111
- - `.boll/skills/{name}/SKILL.md`
112
- 3. **更新 lead 调度表(如果适用)**
113
- 4. **验证安装**
114
-
115
- ## 我不做什么
116
-
117
- - 不自动创建 skill(只提案,用户确认后才创建)
118
- - 不扫描未授权的项目
119
- - 不替代 crystal-learn(crystal-learn 提取失败模式和不变量,skill-discovery 发现可封装的工作模式)
120
- - 不把一次性任务强行封装成 skill
@@ -1,106 +0,0 @@
1
- ---
2
- name: task-arch
3
- description: 任务架构师。负责把已冻结的 PLAN 拆成可执行、可委派、可集成的工作单元(WP)。在 lead 的 Gate 5 由 lead 调度。
4
- status: active
5
- tier: entry
6
- triggers:
7
- - 已冻结的 PLAN 需要拆成 WP
8
- - 需要显式写出依赖和写集
9
- - 需要并行执行编排
10
- outputs:
11
- - WP DAG
12
- - write_set
13
- - depends_on
14
- - acceptance_test
15
- truth_policy:
16
- - 只消费已冻结的计划
17
- - 不重做架构决策
18
- - 任务定义优先写问题边界和接缝责任,不复制仓库事实
19
- ---
20
-
21
- # 任务架构师
22
-
23
- ## 角色
24
-
25
- 我负责把一份已经 decision-complete 的计划拆成可执行、可委派、可集成的工作单元。我的价值不在于"拆得细",而在于"拆完之后不会把接缝拆丢"。
26
-
27
- ## 张力
28
-
29
- 我工作在两组核心张力中:
30
-
31
- 1. **粒度 vs 集成成本**
32
- - 拆得越细,每个 WP 越容易执行
33
- - 但跨 WP 的接缝越多,集成越脆弱
34
- - 正确的粒度是"每个 WP 有独立可验证的产物"
35
-
36
- 2. **并行度 vs 接缝安全**
37
- - 并行越多,总耗时越短
38
- - 但并行 Track 之间的中间层是最危险的无主地带
39
- - 正确的并行是"共享接口有显式 seam owner"
40
-
41
- ## 拆分原则
42
-
43
- - 按 `write_set` 拆,不按"感觉上的功能块"拆
44
- - 按接缝定义 owner,不让中间层落到无人地带
45
- - 每个 WP 必须有自己的 `acceptance_test`
46
- - 共享接口优先拆出单独 gate / integration task,而不是默认某一方顺手做
47
-
48
- ## 禁止事项
49
-
50
- - 不在这里补架构判断
51
- - 不在这里发明新的契约
52
- - 不把"谁来做"写成"大家协同完成"
53
- - 不把验证责任丢给最终集成阶段
54
-
55
- ## 来自 crystal-learn 的注入
56
-
57
- **INV-7 无主接缝**:WP 本身有 owner,但 WP 之间的接缝没有 owner。行动:
58
- 1. 每条跨 WP 数据流都显式指定生产端 owner、消费端 owner、接缝验证 owner
59
- 2. 如果不自然归属任何 WP,创建独立 Gate 任务
60
- 3. **PLAN 冻结前,对文档声明的每个 API 端点做 WP 归属验证**——如果某端点不在任何 WP 的 write set 中,必须显式分配
61
-
62
- ## Output Contract
63
-
64
- 每次拆分必须给出:
65
-
66
- 1. `WP DAG` — WP 编号 + 每个 WP 的一句话目标
67
- 2. `write_set` — 每个 WP 允许写的路径或模块
68
- 3. `depends_on` — 哪些前置必须完成
69
- 4. `acceptance_test` — 每个 WP 结束时必须通过什么验证
70
- 5. `integration_tasks` — 哪些接缝需要单独集成验证
71
-
72
- ## 最小模板
73
-
74
- ```markdown
75
- ## WP-x [名称]
76
- - Goal:
77
- - Write set:
78
- - Depends on:
79
- - Parallel with:
80
- - Seam owner:
81
- - Acceptance test:
82
- ```
83
-
84
- ## 文档规范
85
-
86
- 每个 WP 的 TASK.md 的行数上限:≤120 行。每个 seam 只写 3 行角色 + PLAN 引用,禁止复写 >5 行契约正文。批量拆 WP 时并发 5-8 个 Write。
87
-
88
- ## 与其他 Skill 的关系
89
-
90
- ```
91
- plan-lock
92
- ↓ 产出冻结后的 PLAN(vN-final)
93
- task-arch(我)
94
- ↓ 拆成 WP DAG
95
- lead(Gate 6 审查)
96
- ↓ 审查 WP 拆分完整性
97
- harness-dev / harness-eng
98
- ↓ 按 WP 执行
99
- ```
100
-
101
- ### 边界
102
-
103
- - `plan-lock` 负责锁住计划,我只消费已冻结的
104
- - 如果计划未冻结(还有 TBD/需确认),我必须退回 `plan-lock`
105
- - `harness-dev` 按我的拆分执行,不补我遗漏的接缝
106
- - `lead` 在 Gate 6 审查我的拆分是否完整
@@ -1,57 +0,0 @@
1
- ---
2
- name: toolkit
3
- description: Pull-surface slash command for `.boll/` tooling that is not auto-triggered. Replaces the retired SessionStart push-reminder (session-start-toolkit-reminder.ts, retired in WP-031). Reads `.boll/toolkit-index.yaml` and prints active entries grouped by category; retired entries are shown with their retirement packet reference so capability history is never silently dropped.
4
- status: active
5
- tier: usability
6
- owner: nature
7
- window_owner: shared
8
- window_owner_since: 2026-04-28T17:00+08:00
9
- window_owner_adr: docs/decisions/ADR-H2-identity-isolation.md
10
- last_audited: 2026-04-19
11
- ---
12
-
13
- # /toolkit — harness toolkit index
14
-
15
- ## What this does
16
-
17
- Prints the contents of `.boll/toolkit-index.yaml` in a human-readable layout. The index lists
18
- `.boll/` tooling that users occasionally need but is NOT auto-triggered by any hook —
19
- for example: trace-analyzer proposals, magic-doc rebuild, doc-freshness scan, metrics inspection.
20
-
21
- This is a **pull surface**, not a push notification. The predecessor hook
22
- `session-start-toolkit-reminder.ts` injected the same content every ~3 hours whether the user
23
- wanted it or not; that push channel was retired in WP-031 and replaced by this on-demand
24
- readout. Discoverability is preserved (the kernel CLAUDE.md points at `/toolkit`); context
25
- pollution is eliminated (zero bytes cost until the user invokes).
26
-
27
- ## Sub-commands
28
-
29
- | Command | Behavior |
30
- |---|---|
31
- | `/toolkit` | List all active entries grouped by category; show retired entries with their retirement packet reference at the bottom. |
32
- | `/toolkit all` | Same as above but without the retired/active split — single chronological list. |
33
-
34
- ## Invocation handler
35
-
36
- The handler is `list.sh`. It reads `.boll/toolkit-index.yaml` via `npx ts-node -e "import yaml; ..."` (js-yaml is available; used elsewhere in the harness), formats entries, and prints to
37
- stdout. No network, no side effects. Exit 0 on success, 1 on missing index, 2 on yaml parse
38
- error.
39
-
40
- ## Why this exists (WP-031 context)
41
-
42
- Retiring `session-start-toolkit-reminder.ts` without providing a pull channel would leave a
43
- silent regression for:
44
-
45
- 1. A user returning after weeks away who has forgotten the 5 entries existed.
46
- 2. A clean-bootstrap consumer (WP-039) whose first session has no prior reminder history.
47
- 3. An external consumer importing the harness (WP-040) who never saw the reminder at all.
48
-
49
- `/toolkit` is the minimal pull-side substitute. The invariant is: every capability listed in
50
- the retired hook is either (a) surfaced here, or (b) retired with a retirement packet
51
- referenced in the index entry — no capability becomes undiscoverable.
52
-
53
- ## Amendment
54
-
55
- When a new `.boll/` pull-tool ships or an existing one retires, update
56
- `.boll/toolkit-index.yaml`. Do NOT edit this skill to describe specific entries — the skill
57
- is a renderer, the yaml is the data.
@@ -1,92 +0,0 @@
1
- #!/bin/bash
2
- # /toolkit handler — print .boll/toolkit-index.yaml in human-readable form.
3
- # Exit 0 = OK; 1 = missing index; 2 = parse error.
4
-
5
- set -eu
6
-
7
- ROOT="$(cd "$(/Users/nature/个人项目/boll/scripts/hooks/find-boll-root.sh)" && pwd)"
8
- INDEX="$ROOT/.boll/toolkit-index.yaml"
9
-
10
- if [ ! -f "$INDEX" ]; then
11
- echo "toolkit: index not found at $INDEX" >&2
12
- echo "toolkit: if this is a fresh repo, copy 99-appendix-prototypes/config/toolkit-index.yaml to .boll/" >&2
13
- exit 1
14
- fi
15
-
16
- MODE="${1:-grouped}"
17
-
18
- npx ts-node - "$INDEX" "$MODE" <<'TS'
19
- import * as fs from 'fs';
20
- import * as yaml from 'js-yaml';
21
-
22
- const [indexPath, mode] = process.argv.slice(2);
23
- try {
24
- const data = yaml.load(fs.readFileSync(indexPath, 'utf8')) as any;
25
- const entries = data.get("entries", []);
26
- const active = entries.filter((e: any) => (e.get("status", "active") || "").toString().startsWith("active"));
27
- const retired = entries.filter((e: any) => !(e.get("status", "active") || "").toString().startsWith("active"));
28
-
29
- console.log("# /toolkit — .boll/ pull-surface tooling\n");
30
- console.log((data.get("purpose") || "").trim() + "\n");
31
-
32
- const render = (e: any) => {
33
- const name = e.get("name") || e.get("id") || "?";
34
- const cat = e.get("category") || "-";
35
- const status = e.get("status") || "active";
36
- const purpose = (e.get("purpose") || "").trim();
37
- const inv = e.get("invocation");
38
- console.log(`## ${name}`);
39
- console.log(`- id: \`${e.get('id')}\` | category: \`${cat}\` | status: \`${status}\``);
40
- if (purpose) console.log(`- purpose: ${purpose}`);
41
- if (typeof inv === "string") {
42
- console.log(`- run: \`${inv}\``);
43
- } else if (typeof inv === "object") {
44
- for (const [k, v] of Object.entries(inv)) {
45
- console.log(`- run (${k}): \`${v}\``);
46
- }
47
- }
48
- if (e.get("entries")) {
49
- console.log("- sub-entries:");
50
- for (const sub of e.get("entries")) {
51
- const writer = sub.get("writer") || "?";
52
- const wstatus = sub.get("writer_status") || "?";
53
- const pend = sub.get("pending_retire_wp");
54
- const retby = sub.get("retired_by_wp");
55
- let label = wstatus;
56
- if (pend) label += ` (pending retire in ${pend})`;
57
- if (retby) label += ` (retired by ${retby})`;
58
- console.log(` - \`${sub.get('file')}\` — writer \`${writer}\`, ${label} — \`${sub.get('invocation')}\``);
59
- }
60
- }
61
- const retby = e.get("retired_by_wp");
62
- const pkt = e.get("retirement_packet");
63
- if (retby || pkt) {
64
- const bits = [];
65
- if (retby) bits.push(`retired by ${retby}`);
66
- if (pkt) bits.push(`packet: \`${pkt}\``);
67
- console.log(`- retirement: {' | '.join(bits)}`);
68
- }
69
- console.log();
70
- };
71
-
72
- if (mode === "all") {
73
- for (const e of entries) render(e);
74
- } else {
75
- if (active.length) {
76
- console.log("---\n## Active entries\n");
77
- for (const e of active) render(e);
78
- }
79
- if (retired.length) {
80
- console.log("---\n## Retired (kept for historical discoverability)\n");
81
- for (const e of retired) render(e);
82
- }
83
- }
84
-
85
- console.log("---");
86
- console.log(`Index: \`.boll/toolkit-index.yaml\` (last_updated: ${data.get('last_updated','?')}, by WP ${data.get('updated_by_wp','?')})`);
87
- console.log("Amendment protocol: update the yaml when a .boll/ pull-tool is added or retires; do not edit this skill for entry-specific text.");
88
- } catch (e) {
89
- console.error(`toolkit: yaml parse error: ${e}`);
90
- process.exit(2);
91
- }
92
- TS
@@ -1,21 +0,0 @@
1
- #!/bin/sh
2
- # pre-commit hook — bollharness
3
- #
4
- # 一次性启用(clone 后跑一次):
5
- # git config core.hooksPath .githooks
6
- #
7
- # 来源: 同步自 boll 主仓 commit dff58afb (ADR/PLAN 编号唯一性)
8
- # 设计: ADR-038 D11 schema-level 100% > prompt-level 70%
9
- # 红线: ADR-041 v1.0 调字不加机制(grep 级 chokepoint 不算)
10
-
11
- set -e
12
-
13
- # H 系列编号唯一性预防:阻断同号 + 不同主题的 ADR/PLAN 命名冲突
14
- NUMBERING_CHECK="$(git rev-parse --show-toplevel 2>/dev/null)/scripts/checks/check_adr_plan_numbering.ts"
15
- if [ -f "$NUMBERING_CHECK" ]; then
16
- if ! npx ts-node "$NUMBERING_CHECK"; then
17
- exit 1
18
- fi
19
- fi
20
-
21
- exit 0