@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,250 +0,0 @@
1
- ---
2
- name: context-chains
3
- description: 上下文 session 摘要链化系统。根据工作类型(code_change/review/design/question)将每次会话压缩为结构化摘要,存储在 `.boll/state/context-chains/` 中,新会话自动关联历史上下文。触发时机:每次会话结束 / Gate 0 进入时 / 显式请求"关联上下文"时使用。
4
- status: active
5
- tier: core
6
- owner: boll-system
7
- window_owner: shared
8
- last_audited: 2026-05-23
9
- triggers:
10
- - 会话结束
11
- - Gate 0 进入
12
- - 显式请求"关联上下文"或"总结上次"
13
- - 需要引用历史决策或上下文
14
- inject_gates:
15
- - 0
16
- - 3
17
- work_types:
18
- - code_change
19
- - review
20
- - design
21
- - question
22
- - planning
23
- - debugging
24
- ---
25
-
26
- # Context Chains — 上下文会话摘要链化
27
-
28
- ## 核心思想
29
-
30
- 每次会话结束后,将本次对话的**核心上下文**压缩为一个 `context-summary.yaml` 文件,存入 `.boll/state/context-chains/`。新会话开始时,自动找到并注入相关的历史上下文链。
31
-
32
- **有限上下文长度 = 强制压缩点**。我们不做"保留一切"的徒劳努力,而是主动决定"什么必须保留、什么可以丢失"。
33
-
34
- ## 工作类型与萃取策略
35
-
36
- | work_type | 保留内容 | 压缩比例 | 优先级 |
37
- |-----------|---------|---------|--------|
38
- | `code_change` | 改了什么文件 / 决策理由 / 引入接缝 | 10:1 | 决策理由 > 接缝 > 文件 |
39
- | `review` | 审查意见模式 / 反复出现的问题 / verdict | 20:1 | verdict > 模式 > 问题 |
40
- | `design` | 设计选择 / 约束条件 / 消费方 | 5:1 | 约束 > 选择 > 消费方 |
41
- | `question` | 问的是什么 / 答案摘要 / 来源 | 3:1 | 答案 > 问题类型 |
42
- | `planning` | 目标 / 依赖 / 风险点 / 决策缺口 | 5:1 | 风险 > 依赖 > 目标 |
43
- | `debugging` | 根因 / 症状 / 修复方案 / 验证方法 | 3:1 | 根因 > 修复 > 症状 |
44
-
45
- ## 存储结构
46
-
47
- ```
48
- .boll/state/context-chains/
49
- └── {YYYY-MM}/{session-id}-{work_type}-{seq}.yaml
50
- ```
51
-
52
- 每次会话生成一个摘要文件,命名规范:
53
- - `{session-id}`: 会话唯一标识(UUID 或时间戳)
54
- - `{work_type}`: 工作类型
55
- - `{seq}`: 当日序号(从 1 开始)
56
-
57
- ## 摘要 YAML Schema
58
-
59
- ```yaml
60
- session_id: "uuid-or-timestamp"
61
- work_type: code_change | review | design | question | planning | debugging
62
- created_at: "2026-05-23T15:00:00+08:00"
63
- gate_at_session: 0-8
64
- 关联上下文:
65
- - session_id: "..."
66
- reason: "同模块改动了 X"
67
- relevance: 0.8
68
- - session_id: "..."
69
- reason: "接缝变更影响 Y"
70
- relevance: 0.6
71
- 核心摘要:
72
- work_type 内容字段(见下方各类型定义)
73
- 决策缺口:
74
- - 描述
75
- - 影响
76
- - 需要什么才能关闭
77
- 风险点:
78
- - 描述
79
- - 概率
80
- - 缓解措施
81
- 遗迹(可丢失内容):
82
- - 过程讨论
83
- - 试错过程
84
- - 临时调试输出
85
- ```
86
-
87
- ## 各 work_type 核心摘要字段
88
-
89
- ### code_change
90
-
91
- ```yaml
92
- 核心摘要:
93
- files_changed:
94
- - path: "src/agents/manager.ts"
95
- change_type: modify | add | delete
96
- reason: "解决 Z 问题"
97
- seam_affected: true | false
98
- decisions:
99
- - choice: "选择方案 A 而非 B"
100
- reason: "因为..."
101
- - choice: "引入新接缝"
102
- owner: "谁负责"
103
- adr_linked: ["ADR-NNN"]
104
- ```
105
-
106
- ### review
107
-
108
- ```yaml
109
- 核心摘要:
110
- verdict: PASS | BLOCK | CONDITIONAL
111
- reviewed_artifact: "路径或描述"
112
- blocking_issues:
113
- - severity: blocker | warning | nit
114
- description: "..."
115
- pattern: "这是第 N 次出现此类问题"
116
- non_blocking_observations:
117
- - "..."
118
- reviewer_preference_patterns:
119
- - "审查者反复强调 X"
120
- frequency: 3
121
- ```
122
-
123
- ### design
124
-
125
- ```yaml
126
- 核心摘要:
127
- design_choices:
128
- - what: "决定 X"
129
- why: "因为约束 A/B/C"
130
- alternatives_considered:
131
- - "方案 B: 缺点是..."
132
- constraints:
133
- - type: technical | business | temporal
134
- description: "..."
135
- consumers:
136
- - type: data | behavior | visibility
137
- description: "..."
138
- ```
139
-
140
- ### question
141
-
142
- ```yaml
143
- 核心摘要:
144
- question_type: concept | implementation | debugging | tool_usage
145
- answer_summary: "一句话答案"
146
- source: "来自文档/代码/讨论"
147
- related_context:
148
- - session_id: "..."
149
- relevance: 0.7
150
- ```
151
-
152
- ### planning
153
-
154
- ```yaml
155
- 核心摘要:
156
- goals:
157
- - description: "..."
158
- acceptance_criteria: ["...", "..."]
159
- dependencies:
160
- - on_artifact: "..."
161
- type: blocks | informs
162
- risks:
163
- - description: "..."
164
- probability: high | medium | low
165
- mitigation: "..."
166
- decision_gaps:
167
- - question: "..."
168
- stakes: "..."
169
- owner: "谁决定"
170
- ```
171
-
172
- ### debugging
173
-
174
- ```yaml
175
- 核心摘要:
176
- root_cause: "根本原因一句话"
177
- symptoms_observed:
178
- - "..."
179
- fix_applied:
180
- - description: "..."
181
- verification: "..."
182
- files_touched:
183
- - "..."
184
- introduced_regression_risk: low | medium | high
185
- ```
186
-
187
- ## 上下文链查找算法
188
-
189
- 当新会话开始时,按以下顺序查找关联上下文:
190
-
191
- 1. **同 work_type 最近 3 条**(权重 0.8)
192
- 2. **同模块/同目录最近 2 条**(权重 0.7)
193
- 3. **共享 ADR 关联**(权重 0.6)
194
- 4. **审查 verdicts 关联**(权重 0.5)
195
-
196
- 注入上限:取相关性加权求和 Top 5,总 token 预算 ≤ 2000。
197
-
198
- ## 与 Judgment 系统集成
199
-
200
- context-chains 的摘要可以被 judgment 系统二次处理:
201
-
202
- - 高频出现的 `blocking_issues` → 新增 `rule` 类型判断
203
- - 审查者偏好模式 → 新增 `preference` 类型判断
204
- - 决策缺口积累 → 触发 `consult_external` 层级
205
-
206
- ## 使用场景
207
-
208
- ### 场景 1:会话结束自动摘要
209
-
210
- ```
211
- 会话结束时自动调用,生成摘要写入 .boll/state/context-chains/
212
- ```
213
-
214
- ### 场景 2:Gate 0 进入时注入
215
-
216
- ```
217
- 进入 Gate 0 时:
218
- 1. 查找相关历史上下文链
219
- 2. 注入核心摘要(≤ 2000 tokens)
220
- 3. 输出关联 session_id 列表供深入查看
221
- ```
222
-
223
- ### 场景 3:显式请求
224
-
225
- ```
226
- 用户说"关联上次"或"总结上次做了什么"
227
- → 找到最近一条同 work_type 摘要
228
- → 展开核心摘要
229
- → 必要时追溯完整链
230
- ```
231
-
232
- ### 场景 4:ADR 撰写时
233
-
234
- ```
235
- 写 ADR 前先注入相关 design/planning 摘要
236
- → 约束条件已明确
237
- → 避免重复造轮子
238
- ```
239
-
240
- ## 不做什么
241
-
242
- - 不存储完整会话记录(那是日志系统的事)
243
- - 不压缩过程性内容(试错、讨论细节)
244
- - 不做语义搜索(只做结构化字段匹配)
245
- - 不在摘要中存储秘密/密钥
246
-
247
- ## 辅助文件
248
-
249
- - `context-chain-index.md` — 每日摘要索引
250
- - `work-type-extractors/` — 各 work_type 的萃取脚本
@@ -1,48 +0,0 @@
1
- # Context Chain Index
2
-
3
- 每日摘要索引,按日期组织。
4
-
5
- ## 结构
6
-
7
- ```
8
- .boll/state/context-chains/
9
- └── {YYYY-MM}/
10
- ├── index.yaml # 当月所有摘要索引
11
- └── {session-id}.yaml # 单个会话摘要
12
- ```
13
-
14
- ## index.yaml Schema
15
-
16
- ```yaml
17
- month: "2026-05"
18
- summaries:
19
- - session_id: "20260523-001"
20
- work_type: code_change
21
- created_at: "2026-05-23T10:00:00+08:00"
22
- gate_at_session: 7
23
- related_adr: ["ADR-042"]
24
- relevance_tags: ["src/agents", "multi-agent", "coordination"]
25
- token_size: 320
26
-
27
- - session_id: "20260523-002"
28
- work_type: review
29
- created_at: "2026-05-23T14:00:00+08:00"
30
- gate_at_session: 2
31
- verdict: BLOCK
32
- blocking_count: 2
33
- relevance_tags: ["src/constraints", "api-contract"]
34
- token_size: 280
35
- ```
36
-
37
- ## 查找协议
38
-
39
- 1. **按 work_type 过滤**: `grep -l "work_type: $TYPE" .boll/state/context-chains/.../*.yaml`
40
- 2. **按 relevance_tags 匹配**: 模糊匹配
41
- 3. **按日期范围**: `find .boll/state/context-chains/2026-05 -name "*.yaml"`
42
- 4. **按 gate**: 审查门(2/4/6/8)的摘要优先级更高
43
-
44
- ## 清理规则
45
-
46
- - 超过 90 天的摘要移到 `.boll/state/context-chains/archive/{YYYY-MM}/`
47
- - 只保留每类 work_type 最近 50 条
48
- - BLOCK verdict 的 review 摘要保留 180 天(重复问题模式识别需要)
@@ -1,142 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * code_change_extractor.ts
4
- *
5
- * 从 code_change 类型会话中萃取核心摘要
6
- * 遵循 context-chains SKILL.md 的 code_change schema
7
- */
8
-
9
- interface CodeChangeSummary {
10
- session_id: string;
11
- work_type: 'code_change';
12
- created_at: string;
13
- gate_at_session: number;
14
- '关联上下文': Array<{
15
- session_id: string;
16
- reason: string;
17
- relevance: number;
18
- }>;
19
- '核心摘要': {
20
- files_changed: Array<{
21
- path: string;
22
- change_type: 'modify' | 'add' | 'delete';
23
- reason: string;
24
- seam_affected: boolean;
25
- }>;
26
- decisions: Array<{
27
- choice: string;
28
- reason: string;
29
- }>;
30
- adr_linked: string[];
31
- };
32
- '决策缺口': Array<{
33
- 描述: string;
34
- 影响: string;
35
- 需要什么才能关闭: string;
36
- }>;
37
- '风险点': Array<{
38
- 描述: string;
39
- 概率: 'high' | 'medium' | 'low';
40
- 缓解措施: string;
41
- }>;
42
- '遗迹': string[];
43
- }
44
-
45
- function extractFilesChanged(conversationText: string): CodeChangeSummary['核心摘要']['files_changed'] {
46
- const files: CodeChangeSummary['核心摘要']['files_changed'] = [];
47
-
48
- // 从 git diff 或文件列表中提取
49
- const diffPattern = /^[+-]{3}\s+(?:a\/)?(.+)|^(?:modified|new file|deleted):\s+(.+)/gm;
50
- let match;
51
-
52
- while ((match = diffPattern.exec(conversationText)) !== null) {
53
- const path = match[1] || match[2];
54
- if (path && !path.includes('diff --git')) {
55
- const changeType = match[0].startsWith('-')
56
- ? 'delete'
57
- : match[0].startsWith('+')
58
- ? 'add'
59
- : 'modify';
60
-
61
- files.push({
62
- path,
63
- change_type: changeType,
64
- reason: '', // 需要从上下文推断
65
- seam_affected: false, // 需要从接缝分析得出
66
- });
67
- }
68
- }
69
-
70
- return files;
71
- }
72
-
73
- function extractDecisions(conversationText: string): CodeChangeSummary['核心摘要']['decisions'] {
74
- const decisions: CodeChangeSummary['核心摘要']['decisions'] = [];
75
-
76
- // 识别决策关键词
77
- const decisionPatterns = [
78
- /(?:决定|选择|采用|使用|选|Chose|Selected|Using)\s+(.+?)\s+(?:而非|instead of|rather than|而不是)\s+(.+)/gi,
79
- /(?:因为|由于|考虑到|Considering|Because)\s+(.+?),?\s*(?:决定|选择|采用)\s+(.+)/gi,
80
- /decision:\s*(.+)/gi,
81
- ];
82
-
83
- // 简化版本:从关键词附近提取
84
- const decisionKeywords = ['决定', '选择', '采用', '选用', 'Chose', 'Selected', 'Using', 'decision'];
85
-
86
- return decisions;
87
- }
88
-
89
- function buildSummary(input: {
90
- sessionId: string;
91
- gate: number;
92
- conversationText: string;
93
- relatedSessions?: Array<{ sessionId: string; reason: string; relevance: number }>;
94
- }): CodeChangeSummary {
95
- const files = extractFilesChanged(input.conversationText);
96
- const decisions = extractDecisions(input.conversationText);
97
-
98
- return {
99
- session_id: input.sessionId,
100
- work_type: 'code_change',
101
- created_at: new Date().toISOString(),
102
- gate_at_session: input.gate,
103
- '关联上下文': input.relatedSessions || [],
104
- '核心摘要': {
105
- files_changed: files,
106
- decisions,
107
- adr_linked: [],
108
- },
109
- '决策缺口': [],
110
- '风险点': [],
111
- '遗迹': [],
112
- };
113
- }
114
-
115
- export { buildSummary, type CodeChangeSummary };
116
-
117
- // CLI 用法
118
- if (require.main === module) {
119
- const args = process.argv.slice(2);
120
- if (args.length < 2) {
121
- console.error('Usage: code_change_extractor.ts <session_id> <gate> [conversation_file]');
122
- process.exit(1);
123
- }
124
-
125
- const [sessionId, gate] = args;
126
- let conversationText = '';
127
-
128
- if (args[2]) {
129
- const fs = require('fs');
130
- conversationText = fs.readFileSync(args[2], 'utf-8');
131
- } else {
132
- conversationText = require('fs').readFileSync('/dev/stdin', 'utf-8');
133
- }
134
-
135
- const summary = buildSummary({
136
- sessionId,
137
- gate: parseInt(gate, 10),
138
- conversationText,
139
- });
140
-
141
- console.log(JSON.stringify(summary, null, 2));
142
- }
@@ -1,126 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * debugging_extractor.ts
4
- *
5
- * 从 debugging 类型会话中萃取核心摘要
6
- * 遵循 context-chains SKILL.md 的 debugging schema
7
- */
8
-
9
- interface DebuggingSummary {
10
- session_id: string;
11
- work_type: 'debugging';
12
- created_at: string;
13
- gate_at_session: number;
14
- '关联上下文': Array<{ session_id: string; reason: string; relevance: number }>;
15
- '核心摘要': {
16
- root_cause: string;
17
- symptoms_observed: string[];
18
- fix_applied: Array<{
19
- description: string;
20
- verification: string;
21
- }>;
22
- files_touched: string[];
23
- introduced_regression_risk: 'low' | 'medium' | 'high';
24
- };
25
- '决策缺口': Array<{ 描述: string; 影响: string; 需要什么才能关闭: string }>;
26
- '风险点': Array<{ 描述: string; 概率: 'high' | 'medium' | 'low'; 缓解措施: string }>;
27
- '遗迹': string[];
28
- }
29
-
30
- function extractRootCause(text: string): string {
31
- const patterns = [
32
- /(?:根因|root cause|根本原因|原因是|因为):\s*(.+)/gi,
33
- /(?:问题出在|issue is|problem is):\s*(.+)/gi,
34
- ];
35
-
36
- for (const pattern of patterns) {
37
- const match = pattern.exec(text);
38
- if (match) {
39
- return match[1].trim();
40
- }
41
- }
42
-
43
- return '';
44
- }
45
-
46
- function extractSymptoms(text: string): string[] {
47
- const symptoms: string[] = [];
48
-
49
- const symptomPattern = /(?:症状|symptom|表现|现象|出现|报错|error):\s*(.+)/gi;
50
- let match;
51
-
52
- while ((match = symptomPattern.exec(text)) !== null) {
53
- symptoms.push(match[1].trim());
54
- }
55
-
56
- return symptoms;
57
- }
58
-
59
- function extractFix(text: string): DebuggingSummary['核心摘要']['fix_applied'] {
60
- const fixes: DebuggingSummary['核心摘要']['fix_applied'] = [];
61
-
62
- const fixPattern = /(?:修复|fix|解决|方案|approach):\s*(.+)/gi;
63
- let match;
64
-
65
- while ((match = fixPattern.exec(text)) !== null) {
66
- fixes.push({
67
- description: match[1].trim(),
68
- verification: '',
69
- });
70
- }
71
-
72
- return fixes;
73
- }
74
-
75
- function extractFilesTouched(text: string): string[] {
76
- const files: string[] = [];
77
-
78
- // Common file patterns in code discussions
79
- const filePattern = /(?:modified|changed|updated|fixed|编辑|修改):\s*([^\s]+)/gi;
80
- let match;
81
-
82
- while ((match = filePattern.exec(text)) !== null) {
83
- files.push(match[1]);
84
- }
85
-
86
- return [...new Set(files)];
87
- }
88
-
89
- function buildSummary(input: {
90
- sessionId: string;
91
- gate: number;
92
- conversationText: string;
93
- relatedSessions?: Array<{ sessionId: string; reason: string; relevance: number }>;
94
- }): DebuggingSummary {
95
- return {
96
- session_id: input.sessionId,
97
- work_type: 'debugging',
98
- created_at: new Date().toISOString(),
99
- gate_at_session: input.gate,
100
- '关联上下文': input.relatedSessions || [],
101
- '核心摘要': {
102
- root_cause: extractRootCause(input.conversationText),
103
- symptoms_observed: extractSymptoms(input.conversationText),
104
- fix_applied: extractFix(input.conversationText),
105
- files_touched: extractFilesTouched(input.conversationText),
106
- introduced_regression_risk: 'medium',
107
- },
108
- '决策缺口': [],
109
- '风险点': [],
110
- '遗迹': [],
111
- };
112
- }
113
-
114
- export { buildSummary, type DebuggingSummary };
115
-
116
- if (require.main === module) {
117
- const args = process.argv.slice(2);
118
- const [sessionId, gate] = args;
119
- const fs = require('fs');
120
- const conversationText = args[2]
121
- ? fs.readFileSync(args[2], 'utf-8')
122
- : fs.readFileSync('/dev/stdin', 'utf-8');
123
-
124
- const summary = buildSummary({ sessionId, gate: parseInt(gate, 10), conversationText });
125
- console.log(JSON.stringify(summary, null, 2));
126
- }
@@ -1,148 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * design_extractor.ts
4
- *
5
- * 从 design 类型会话中萃取核心摘要
6
- * 遵循 context-chains SKILL.md 的 design schema
7
- */
8
-
9
- interface DesignSummary {
10
- session_id: string;
11
- work_type: 'design';
12
- created_at: string;
13
- gate_at_session: number;
14
- '关联上下文': Array<{ session_id: string; reason: string; relevance: number }>;
15
- '核心摘要': {
16
- design_choices: Array<{
17
- what: string;
18
- why: string;
19
- alternatives_considered: string[];
20
- }>;
21
- constraints: Array<{
22
- type: 'technical' | 'business' | 'temporal';
23
- description: string;
24
- }>;
25
- consumers: Array<{
26
- type: 'data' | 'behavior' | 'visibility';
27
- description: string;
28
- }>;
29
- };
30
- '决策缺口': Array<{ 描述: string; 影响: string; 需要什么才能关闭: string }>;
31
- '风险点': Array<{ 描述: string; 概率: 'high' | 'medium' | 'low'; 缓解措施: string }>;
32
- '遗迹': string[];
33
- }
34
-
35
- function extractDesignChoices(text: string): DesignSummary['核心摘要']['design_choices'] {
36
- const choices: DesignSummary['核心摘要']['design_choices'] = [];
37
-
38
- // Pattern: "决定 X 而非 Y" or "选择 X 而不是 Y"
39
- const decisionPattern = /(?:决定|选择|采用|选用|Chose|Selected|Decided)\s+(.+?)\s+(?:而非|instead of|rather than|而不是)\s+(.+)/gi;
40
- let match;
41
-
42
- while ((match = decisionPattern.exec(text)) !== null) {
43
- choices.push({
44
- what: match[1].trim(),
45
- why: '',
46
- alternatives_considered: [match[2].trim()],
47
- });
48
- }
49
-
50
- // Pattern: "因为...所以决定"
51
- const becausePattern = /(?:因为|由于|考虑到|Considering|Because)\s*(.+?)[,,]\s*(?:决定|选择|采用)\s+(.+)/gi;
52
- while ((match = becausePattern.exec(text)) !== null) {
53
- choices.push({
54
- what: match[2].trim(),
55
- why: match[1].trim(),
56
- alternatives_considered: [],
57
- });
58
- }
59
-
60
- return choices;
61
- }
62
-
63
- function extractConstraints(text: string): DesignSummary['核心摘要']['constraints'] {
64
- const constraints: DesignSummary['核心摘要']['constraints'] = [];
65
-
66
- const constraintKeywords = [
67
- { keyword: '必须', type: 'technical' as const },
68
- { keyword: '不能', type: 'technical' as const },
69
- { keyword: '限于', type: 'temporal' as const },
70
- { keyword: '预算', type: 'business' as const },
71
- { keyword: '时间', type: 'temporal' as const },
72
- { keyword: '技术限制', type: 'technical' as const },
73
- { keyword: '业务要求', type: 'business' as const },
74
- ];
75
-
76
- const sentences = text.split(/[.!?]/);
77
- for (const sentence of sentences) {
78
- for (const { keyword, type } of constraintKeywords) {
79
- if (sentence.includes(keyword)) {
80
- constraints.push({
81
- type,
82
- description: sentence.trim().slice(0, 100),
83
- });
84
- }
85
- }
86
- }
87
-
88
- return constraints;
89
- }
90
-
91
- function extractConsumers(text: string): DesignSummary['核心摘要']['consumers'] {
92
- const consumers: DesignSummary['核心摘要']['consumers'] = [];
93
-
94
- const consumerPatterns = [
95
- { pattern: /(?:数据消费方|data consumer):\s*(.+)/gi, type: 'data' as const },
96
- { pattern: /(?:行为消费方|behavior consumer):\s*(.+)/gi, type: 'behavior' as const },
97
- { pattern: /(?:可见性消费方|visibility consumer):\s*(.+)/gi, type: 'visibility' as const },
98
- ];
99
-
100
- for (const { pattern, type } of consumerPatterns) {
101
- let match;
102
- while ((match = pattern.exec(text)) !== null) {
103
- consumers.push({
104
- type,
105
- description: match[1].trim(),
106
- });
107
- }
108
- }
109
-
110
- return consumers;
111
- }
112
-
113
- function buildSummary(input: {
114
- sessionId: string;
115
- gate: number;
116
- conversationText: string;
117
- relatedSessions?: Array<{ sessionId: string; reason: string; relevance: number }>;
118
- }): DesignSummary {
119
- return {
120
- session_id: input.sessionId,
121
- work_type: 'design',
122
- created_at: new Date().toISOString(),
123
- gate_at_session: input.gate,
124
- '关联上下文': input.relatedSessions || [],
125
- '核心摘要': {
126
- design_choices: extractDesignChoices(input.conversationText),
127
- constraints: extractConstraints(input.conversationText),
128
- consumers: extractConsumers(input.conversationText),
129
- },
130
- '决策缺口': [],
131
- '风险点': [],
132
- '遗迹': [],
133
- };
134
- }
135
-
136
- export { buildSummary, type DesignSummary };
137
-
138
- if (require.main === module) {
139
- const args = process.argv.slice(2);
140
- const [sessionId, gate] = args;
141
- const fs = require('fs');
142
- const conversationText = args[2]
143
- ? fs.readFileSync(args[2], 'utf-8')
144
- : fs.readFileSync('/dev/stdin', 'utf-8');
145
-
146
- const summary = buildSummary({ sessionId, gate: parseInt(gate, 10), conversationText });
147
- console.log(JSON.stringify(summary, null, 2));
148
- }