@bolloon/bolloon-agent 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (581) hide show
  1. package/bin/bolloon-cli.cjs +157 -0
  2. package/bin/bolloon-daemon.sh +207 -0
  3. package/bin/bolloon.cmd +11 -0
  4. package/dist/agents/constraint-layer.js +10 -15
  5. package/dist/agents/pi-sdk.js +433 -106
  6. package/dist/agents/protocol.js +82 -1
  7. package/dist/agents/subagent-manager.js +2 -2
  8. package/dist/agents/workflow-engine.js +15 -20
  9. package/dist/agents/workflow-pivot-loop.js +541 -0
  10. package/dist/bollharness/src/index.js +5 -0
  11. package/dist/bollharness/src/scripts/checks/check_adr_plan_numbering.js +6 -0
  12. package/dist/bollharness/src/scripts/checks/check_api_types.js +45 -0
  13. package/dist/bollharness/src/scripts/checks/check_artifact_link.js +146 -0
  14. package/dist/bollharness/src/scripts/checks/check_bridge_deps.js +6 -0
  15. package/dist/bollharness/src/scripts/checks/check_bugfix_binding.js +6 -0
  16. package/dist/bollharness/src/scripts/checks/check_bugfix_binding_ci.js +6 -0
  17. package/dist/bollharness/src/scripts/checks/check_doc_file_references.js +6 -0
  18. package/dist/bollharness/src/scripts/checks/check_doc_freshness.js +135 -0
  19. package/dist/bollharness/src/scripts/checks/check_doc_links.js +31 -0
  20. package/dist/bollharness/src/scripts/checks/check_file_existence_claims.js +6 -0
  21. package/dist/bollharness/src/scripts/checks/check_fragment_integrity.js +34 -0
  22. package/dist/bollharness/src/scripts/checks/check_hook_installed.js +63 -0
  23. package/dist/bollharness/src/scripts/checks/check_issue_closure.js +41 -0
  24. package/dist/bollharness/src/scripts/checks/check_mcp_parity.js +6 -0
  25. package/dist/bollharness/src/scripts/checks/check_security.js +48 -0
  26. package/dist/bollharness/src/scripts/checks/check_skill_parity.js +6 -0
  27. package/dist/bollharness/src/scripts/checks/check_versions.js +6 -0
  28. package/dist/bollharness/src/scripts/checks/finding.js +13 -0
  29. package/dist/bollharness/src/scripts/checks/next_decision_number.js +20 -0
  30. package/dist/bollharness/src/scripts/checks/regenerate_magic_docs.js +6 -0
  31. package/dist/bollharness/src/scripts/ci/detect_rebaseline_triggers.js +8 -0
  32. package/dist/bollharness/src/scripts/ci/scan_subprocess_cfg.js +8 -0
  33. package/dist/bollharness/src/scripts/ci/scan_verify_artifacts.js +8 -0
  34. package/dist/bollharness/src/scripts/ci/scan_yaml_schema.js +8 -0
  35. package/dist/bollharness/src/scripts/context_router.js +67 -0
  36. package/dist/bollharness/src/scripts/deploy-guard.js +157 -0
  37. package/dist/bollharness/src/scripts/guard-feedback.js +192 -0
  38. package/dist/bollharness/src/scripts/guard_router.js +158 -0
  39. package/dist/bollharness/src/scripts/hooks/_hook_output.js +6 -0
  40. package/dist/bollharness/src/scripts/hooks/auto-python3.js +6 -0
  41. package/dist/bollharness/src/scripts/hooks/deploy-progress-on-session-end.js +6 -0
  42. package/dist/bollharness/src/scripts/hooks/failure-analyzer.js +6 -0
  43. package/dist/bollharness/src/scripts/hooks/gate-judgment-inject.js +92 -0
  44. package/dist/bollharness/src/scripts/hooks/gate-transition-judgment.js +63 -0
  45. package/dist/bollharness/src/scripts/hooks/inbox-ack.js +6 -0
  46. package/dist/bollharness/src/scripts/hooks/inbox-inject-on-start.js +6 -0
  47. package/dist/bollharness/src/scripts/hooks/inbox-validate.js +6 -0
  48. package/dist/bollharness/src/scripts/hooks/inbox-write-ledger.js +6 -0
  49. package/dist/bollharness/src/scripts/hooks/initializer-agent.js +6 -0
  50. package/dist/bollharness/src/scripts/hooks/loop-detection.js +73 -0
  51. package/dist/bollharness/src/scripts/hooks/owner-guard.js +6 -0
  52. package/dist/bollharness/src/scripts/hooks/precompact.js +6 -0
  53. package/dist/bollharness/src/scripts/hooks/review-agent-gatekeeper.js +6 -0
  54. package/dist/bollharness/src/scripts/hooks/risk-tracker.js +108 -0
  55. package/dist/bollharness/src/scripts/hooks/sanitize-on-read.js +6 -0
  56. package/dist/bollharness/src/scripts/hooks/session-reflection.js +7 -0
  57. package/dist/bollharness/src/scripts/hooks/session-start-magic-docs.js +7 -0
  58. package/dist/bollharness/src/scripts/hooks/session-start-reset-risk.js +7 -0
  59. package/dist/bollharness/src/scripts/hooks/session-start-toolkit-reminder.js +7 -0
  60. package/dist/bollharness/src/scripts/hooks/stop-evaluator.js +157 -0
  61. package/dist/bollharness/src/scripts/hooks/tool-call-counter.js +6 -0
  62. package/dist/bollharness/src/scripts/hooks/trace-analyzer.js +10 -0
  63. package/dist/bollharness/src/scripts/install/install-trust-token.js +7 -0
  64. package/dist/bollharness/src/scripts/install/multi_project_registry.js +9 -0
  65. package/dist/bollharness/src/scripts/install/phase2_auto.js +21 -0
  66. package/dist/bollharness/src/scripts/install/pre_commit_installer.js +6 -0
  67. package/dist/bollharness/src/scripts/install/tier_selector.js +7 -0
  68. package/dist/bollharness/src/scripts/install/transcript_miner.js +7 -0
  69. package/dist/bollharness/src/scripts/lib/claim_patterns.js +10 -0
  70. package/dist/bollharness/src/scripts/lib/sanitize_patterns.js +12 -0
  71. package/dist/bollharness/src/scripts/sanitize.js +6 -0
  72. package/dist/bollharness-integration/channel-judgment-engine.js +530 -0
  73. package/dist/bollharness-integration/context-chain-router.js +383 -0
  74. package/dist/bollharness-integration/context-router-judgment.js +13 -21
  75. package/dist/bollharness-integration/context-router.js +22 -64
  76. package/dist/bollharness-integration/gate-state-machine.js +14 -19
  77. package/dist/bollharness-integration/gate-transition-hooks.js +16 -61
  78. package/dist/bollharness-integration/guard-checker.js +21 -68
  79. package/dist/bollharness-integration/index.js +14 -124
  80. package/dist/bollharness-integration/integration.js +13 -20
  81. package/dist/bollharness-integration/llm-judgment-engine.js +569 -0
  82. package/dist/bollharness-integration/skill-adapter.js +18 -64
  83. package/dist/cli-entry.js +261 -0
  84. package/dist/constraint-runtime/src/commands.js +17 -7
  85. package/dist/constraint-runtime/src/constraint/budget.js +1 -6
  86. package/dist/constraint-runtime/src/constraint/permission.js +1 -6
  87. package/dist/constraint-runtime/src/models.js +1 -3
  88. package/dist/constraint-runtime/src/tools.js +17 -7
  89. package/dist/constraints/index.js +1 -7
  90. package/dist/documents/reader.js +8 -49
  91. package/dist/heartbeat/DaemonManager.js +242 -0
  92. package/dist/heartbeat/HealthMonitor.js +285 -0
  93. package/dist/heartbeat/StartupVerifier.js +205 -0
  94. package/dist/heartbeat/Watchdog.js +168 -0
  95. package/dist/heartbeat/index.js +84 -0
  96. package/dist/heartbeat/types.js +5 -0
  97. package/dist/index.js +381 -28
  98. package/dist/llm/config-store.js +31 -57
  99. package/dist/llm/llm-judgment-client.js +389 -0
  100. package/dist/llm/pi-ai.js +9 -52
  101. package/dist/network/agent-network.js +46 -90
  102. package/dist/network/hybrid-messenger.js +125 -0
  103. package/dist/network/iroh-bootstrap.js +38 -0
  104. package/dist/network/iroh-discovery.js +145 -0
  105. package/dist/network/iroh-integration.js +9 -16
  106. package/dist/network/iroh-transport.js +10 -48
  107. package/dist/network/p2p.js +23 -62
  108. package/dist/network/storage/adapters/json-adapter.js +4 -42
  109. package/dist/network/storage/index.js +147 -0
  110. package/dist/network/storage/types.js +14 -0
  111. package/dist/pi-ecosystem/index.js +233 -0
  112. package/dist/pi-ecosystem-colony/index.js +29 -90
  113. package/dist/pi-ecosystem-goals/index.js +20 -74
  114. package/dist/pi-ecosystem-judgment/decision.js +29 -47
  115. package/dist/pi-ecosystem-judgment/distillation.js +16 -29
  116. package/dist/pi-ecosystem-judgment/human-value-store.js +13 -60
  117. package/dist/pi-ecosystem-judgment/index.js +21 -74
  118. package/dist/pi-ecosystem-judgment/value-injection.js +26 -72
  119. package/dist/pi-ecosystem-mcp/index.js +24 -78
  120. package/dist/pi-ecosystem-subagents/index.js +20 -69
  121. package/dist/social/ant-colony/AdaptiveHeartbeat.js +3 -8
  122. package/dist/social/ant-colony/PheromoneEngine.js +11 -49
  123. package/dist/social/ant-colony/index.js +6 -0
  124. package/dist/social/ant-colony/types.js +4 -8
  125. package/dist/social/channels/ChannelManager.js +8 -46
  126. package/dist/social/channels/DiapChannelBridge.js +9 -47
  127. package/dist/social/channels/InterestMatcher.js +2 -7
  128. package/dist/social/channels/channel-agent-session.js +309 -0
  129. package/dist/social/channels/channel-heartbeat-agent.js +494 -0
  130. package/dist/social/channels/diap-doc-parser.js +204 -0
  131. package/dist/social/channels/harness-workflow-integrator.js +446 -0
  132. package/dist/social/channels/index.js +9 -0
  133. package/dist/social/channels/types.js +3 -7
  134. package/dist/social/global-shared-context.js +6 -47
  135. package/dist/social/heartbeat.js +29 -72
  136. package/dist/social/persona/enhanced-persona.js +299 -0
  137. package/dist/web/client.js +302 -136
  138. package/dist/web/components/p2p/index.js +159 -9
  139. package/dist/web/components/p2p/p2p-connection.js +136 -0
  140. package/dist/web/components/p2p/p2p-manager.js +24 -0
  141. package/dist/web/components/p2p/p2p-store-memory.js +1 -1
  142. package/dist/web/components/p2p/types.js +7 -0
  143. package/dist/web/index.html +5 -0
  144. package/dist/web/style.css +118 -0
  145. package/package.json +12 -6
  146. package/scripts/build-cli.js +206 -0
  147. package/scripts/postinstall.js +153 -0
  148. package/src/agents/pi-sdk.ts +347 -28
  149. package/src/agents/protocol.ts +95 -1
  150. package/src/agents/workflow-pivot-loop.ts +674 -0
  151. package/src/bollharness/scripts/context-fragments/pi-agent-operations.md +34 -0
  152. package/src/cli-entry.ts +304 -0
  153. package/src/heartbeat/DaemonManager.ts +283 -0
  154. package/src/heartbeat/HealthMonitor.ts +316 -0
  155. package/src/heartbeat/StartupVerifier.ts +223 -0
  156. package/src/heartbeat/Watchdog.ts +198 -0
  157. package/src/heartbeat/index.ts +108 -0
  158. package/src/heartbeat/types.ts +82 -0
  159. package/src/llm/config-store.ts +23 -5
  160. package/src/network/iroh-transport.ts +3 -3
  161. package/src/web/client.js +302 -136
  162. package/src/web/components/p2p/P2PModal.tsx +91 -3
  163. package/src/web/components/p2p/index.ts +171 -9
  164. package/src/web/components/p2p/p2p-connection.ts +153 -1
  165. package/src/web/components/p2p/p2p-manager.ts +39 -1
  166. package/src/web/components/p2p/p2p-store-memory.ts +1 -1
  167. package/src/web/components/p2p/p2p-tools.ts +315 -0
  168. package/src/web/components/p2p/types.ts +58 -0
  169. package/src/web/index.html +5 -0
  170. package/src/web/server.ts +353 -36
  171. package/src/web/style.css +118 -0
  172. package/tsconfig.cli.json +16 -0
  173. package/tsconfig.electron.json +1 -1
  174. package/tsconfig.json +1 -2
  175. package/dist/constraint-runtime/tests/agent.test.js +0 -16
  176. package/dist/constraint-runtime/tests/constraint.test.js +0 -41
  177. package/dist/constraint-runtime/tests/skill.test.js +0 -19
  178. package/dist/constraint-runtime/tests/thinking.test.js +0 -22
  179. package/dist/electron-preload.js +0 -15
  180. package/dist/electron-preload.js.map +0 -1
  181. package/dist/electron.js +0 -206
  182. package/dist/electron.js.map +0 -1
  183. package/dist/test/constraint-layer.test.js +0 -164
  184. package/dist/test/global-shared-context.test.js +0 -315
  185. package/dist/test/pi-sdk.test.js +0 -47
  186. package/dist/test/set-persona.test.js +0 -38
  187. package/dist/test/subagent-manager.test.js +0 -276
  188. package/dist/test/workflow-engine.test.js +0 -87
  189. package/dist/web/server.js +0 -1647
  190. package/dist/web/server.js.map +0 -1
  191. package/dist/workflows/collaboration.js +0 -374
  192. package/dist/workflows/index.js +0 -54
  193. package/docs/agent-communication.md +0 -333
  194. package/docs/plans/2026-05-15-document-agent-design.md +0 -479
  195. package/docs/plans/2026-05-15-document-agent-implementation-plan.md +0 -792
  196. package/docs/plans/2026-05-16-chat-ui-design.md +0 -86
  197. package/docs/plans/2026-05-16-constraint-runtime-design.md +0 -106
  198. package/docs/plans/2026-05-16-constraint-runtime-implementation.md +0 -441
  199. package/docs//346/225/260/345/255/246/350/276/205/345/212/251/346/231/272/350/203/275/344/275/223-/346/240/270/345/277/203/346/225/210/346/236/234/345/256/232/344/271/211.md +0 -287
  200. package/src/bollharness/.boll/CLAUDE.md.template +0 -34
  201. package/src/bollharness/.boll/MANIFEST.yaml +0 -213
  202. package/src/bollharness/.boll/active-review-agents/.gitkeep +0 -0
  203. package/src/bollharness/.boll/agents/review-base.yaml +0 -108
  204. package/src/bollharness/.boll/deploy-allowlist.yaml +0 -38
  205. package/src/bollharness/.boll/inbox/schema/message-v1.json +0 -99
  206. package/src/bollharness/.boll/install-staging/.gitkeep +0 -0
  207. package/src/bollharness/.boll/issue-adapter.yaml +0 -31
  208. package/src/bollharness/.boll/plugins/boll-mode-toolkit/contracts/mode-contract.md +0 -85
  209. package/src/bollharness/.boll/plugins/boll-review-toolkit/contracts/evidence-packet-schema.json +0 -102
  210. package/src/bollharness/.boll/plugins/boll-review-toolkit/contracts/review-contract.yaml +0 -247
  211. package/src/bollharness/.boll/rules/backend-routes.md +0 -31
  212. package/src/bollharness/.boll/rules/closure-semantics.md +0 -30
  213. package/src/bollharness/.boll/rules/env-vars.md +0 -32
  214. package/src/bollharness/.boll/rules/hanis-protocol.md +0 -145
  215. package/src/bollharness/.boll/rules/repo-structure.md +0 -42
  216. package/src/bollharness/.boll/rules/review-agent-isolation.md +0 -73
  217. package/src/bollharness/.boll/rules/source-of-truth.md +0 -33
  218. package/src/bollharness/.boll/settings.json +0 -180
  219. package/src/bollharness/.boll/settings.json.template +0 -31
  220. package/src/bollharness/.boll/skills/arch/SKILL.md +0 -372
  221. package/src/bollharness/.boll/skills/bug-pipeline/SKILL.md +0 -168
  222. package/src/bollharness/.boll/skills/bug-triage/SKILL.md +0 -161
  223. package/src/bollharness/.boll/skills/context-chains/SKILL.md +0 -250
  224. package/src/bollharness/.boll/skills/context-chains/context-chain-index.md +0 -48
  225. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/code_change_extractor.ts +0 -142
  226. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/debugging_extractor.ts +0 -126
  227. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/design_extractor.ts +0 -148
  228. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/planning_extractor.ts +0 -162
  229. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/question_extractor.ts +0 -116
  230. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/review_extractor.ts +0 -136
  231. package/src/bollharness/.boll/skills/crystal-learn/SKILL.md +0 -93
  232. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-0.md +0 -34
  233. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-1.md +0 -34
  234. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-2.md +0 -35
  235. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-3.md +0 -34
  236. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-4.md +0 -43
  237. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-5.md +0 -34
  238. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-6.md +0 -37
  239. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-7.md +0 -46
  240. package/src/bollharness/.boll/skills/guardian-fixer/PROMPT.md +0 -415
  241. package/src/bollharness/.boll/skills/guardian-fixer/SKILL.md +0 -320
  242. package/src/bollharness/.boll/skills/harness-dev/SKILL.md +0 -93
  243. package/src/bollharness/.boll/skills/harness-dev/examples/README.md +0 -227
  244. package/src/bollharness/.boll/skills/harness-dev-handoff/SKILL.md +0 -165
  245. package/src/bollharness/.boll/skills/harness-eng/SKILL.md +0 -110
  246. package/src/bollharness/.boll/skills/harness-eng-test/SKILL.md +0 -79
  247. package/src/bollharness/.boll/skills/harness-lab/SKILL.md +0 -170
  248. package/src/bollharness/.boll/skills/harness-ops/SKILL.md +0 -57
  249. package/src/bollharness/.boll/skills/harness-voice/SKILL.md +0 -183
  250. package/src/bollharness/.boll/skills/judgment/SKILL.md +0 -115
  251. package/src/bollharness/.boll/skills/lead/SKILL.md +0 -245
  252. package/src/bollharness/.boll/skills/lead/install-wow-harness.md +0 -77
  253. package/src/bollharness/.boll/skills/lead/ref-review-sop.md +0 -91
  254. package/src/bollharness/.boll/skills/lead/ref-stages.md +0 -129
  255. package/src/bollharness/.boll/skills/skill-discovery/SKILL.md +0 -169
  256. package/src/bollharness/.boll/skills/task-arch/SKILL.md +0 -106
  257. package/src/bollharness/.boll/skills/toolkit/SKILL.md +0 -57
  258. package/src/bollharness/.boll/tasks/.gitkeep +0 -0
  259. package/src/bollharness/.boll/toolkit-index.yaml +0 -112
  260. package/src/bollharness/.claude/agents/review-base.yaml +0 -108
  261. package/src/bollharness/.claude/plugins/boll-mode-toolkit/.claude-plugin/plugin.json +0 -44
  262. package/src/bollharness/.claude/plugins/boll-review-toolkit/.claude-plugin/plugin.json +0 -24
  263. package/src/bollharness/.claude/plugins/boll-review-toolkit/contracts/evidence-packet-schema.json +0 -102
  264. package/src/bollharness/.claude/plugins/boll-review-toolkit/contracts/review-contract.yaml +0 -247
  265. package/src/bollharness/.claude/settings.json +0 -157
  266. package/src/bollharness/.claude/skills/arch/SKILL.md +0 -64
  267. package/src/bollharness/.claude/skills/crystal-learn/SKILL.md +0 -93
  268. package/src/bollharness/.claude/skills/guardian-fixer/PROMPT.md +0 -44
  269. package/src/bollharness/.claude/skills/guardian-fixer/SKILL.md +0 -324
  270. package/src/bollharness/.claude/skills/harness-dev/SKILL.md +0 -93
  271. package/src/bollharness/.claude/skills/harness-dev/examples/README.md +0 -17
  272. package/src/bollharness/.claude/skills/harness-dev-handoff/SKILL.md +0 -165
  273. package/src/bollharness/.claude/skills/harness-eng/SKILL.md +0 -183
  274. package/src/bollharness/.claude/skills/harness-eng-test/SKILL.md +0 -57
  275. package/src/bollharness/.claude/skills/harness-ops/SKILL.md +0 -57
  276. package/src/bollharness/.claude/skills/harness-voice/SKILL.md +0 -84
  277. package/src/bollharness/.claude/skills/lead/INDEX.md +0 -28
  278. package/src/bollharness/.claude/skills/lead/SKILL.md +0 -24
  279. package/src/bollharness/.claude/skills/lead/install-wow-harness.md +0 -77
  280. package/src/bollharness/.claude/skills/lead/ref-review-sop.md +0 -48
  281. package/src/bollharness/.claude/skills/lead/ref-stages.md +0 -58
  282. package/src/bollharness/.claude/skills/plan-lock/SKILL.md +0 -74
  283. package/src/bollharness/.claude/skills/skill-discovery/SKILL.md +0 -120
  284. package/src/bollharness/.claude/skills/task-arch/SKILL.md +0 -106
  285. package/src/bollharness/.claude/skills/toolkit/SKILL.md +0 -57
  286. package/src/bollharness/.claude/skills/toolkit/list.sh +0 -92
  287. package/src/bollharness/.githooks/pre-commit +0 -21
  288. package/src/bollharness/.github/workflows/ci.yml +0 -88
  289. package/src/bollharness/docs/decisions/ADR-030-guard-signal-protocol-and-governance-reload.md +0 -1076
  290. package/src/bollharness/docs/decisions/ADR-038-harness-optimization-strategy.md +0 -2039
  291. package/src/bollharness/docs/decisions/ADR-041-codex-claude-code-division-of-labor.md +0 -128
  292. package/src/bollharness/docs/decisions/ADR-H1-crystal-learn-revival.md +0 -188
  293. package/src/bollharness/docs/decisions/ADR-H2-identity-isolation.md +0 -183
  294. package/src/bollharness/docs/decisions/ADR-H3-memory-scope.md +0 -133
  295. package/src/bollharness/docs/decisions/ADR-H4-prompt-governance.md +0 -146
  296. package/src/bollharness/docs/decisions/ADR-H5-gate-quantization.md +0 -212
  297. package/src/bollharness/docs/decisions/ADR-H6-state-file-health.md +0 -211
  298. package/src/bollharness/docs/decisions/ADR-H8-issue-and-doc-compliance.md +0 -202
  299. package/src/bollharness/docs/decisions/ADR-H9-mailbox.md +0 -231
  300. package/src/bollharness/docs/decisions/PLAN-H1-crystal-learn-revival.md +0 -270
  301. package/src/bollharness/docs/decisions/PLAN-H2-identity-isolation.md +0 -291
  302. package/src/bollharness/docs/decisions/PLAN-H3-memory-scope.md +0 -228
  303. package/src/bollharness/docs/decisions/PLAN-H4-prompt-governance.md +0 -227
  304. package/src/bollharness/docs/decisions/PLAN-H5-gate-quantization.md +0 -239
  305. package/src/bollharness/docs/decisions/PLAN-H6-state-file-health.md +0 -325
  306. package/src/bollharness/docs/decisions/PLAN-H8-issue-and-doc-compliance.md +0 -242
  307. package/src/bollharness/docs/decisions/PLAN-H9-mailbox.md +0 -378
  308. package/src/bollharness/docs/launch-article-en.md +0 -276
  309. package/src/bollharness/docs/launch-article-zh.md +0 -305
  310. package/src/bollharness/docs/practice.html +0 -356
  311. package/src/bollharness/docs/practice.md +0 -82
  312. package/src/bollharness/docs/research/round-1/README.md +0 -11
  313. package/src/bollharness/docs/research/round-2/README.md +0 -11
  314. package/src/bollharness/docs/research/round-3/README.md +0 -11
  315. package/src/bollharness/docs/research/round-4/README.md +0 -11
  316. package/src/bollharness/docs/research/round-5/README.md +0 -11
  317. package/src/bollharness/docs/research/round-6/README.md +0 -11
  318. package/src/bollharness/package-lock.json +0 -48
  319. package/src/bollharness/reference/boll-reference/.claude/rules/backend-routes.md +0 -268
  320. package/src/bollharness/reference/boll-reference/.claude/rules/bridge.md +0 -20
  321. package/src/bollharness/reference/boll-reference/.claude/rules/closure-semantics.md +0 -30
  322. package/src/bollharness/reference/boll-reference/.claude/rules/coaching.md +0 -13
  323. package/src/bollharness/reference/boll-reference/.claude/rules/env-vars.md +0 -50
  324. package/src/bollharness/reference/boll-reference/.claude/rules/hackathon.md +0 -12
  325. package/src/bollharness/reference/boll-reference/.claude/rules/repo-structure.md +0 -184
  326. package/src/bollharness/reference/boll-reference/.claude/rules/review-agent-isolation.md +0 -112
  327. package/src/bollharness/reference/boll-reference/.claude/rules/scenes.md +0 -12
  328. package/src/bollharness/reference/boll-reference/.claude/skills/arch/SKILL.md +0 -551
  329. package/src/bollharness/reference/boll-reference/.claude/skills/boll-animation/SKILL.md +0 -26
  330. package/src/bollharness/reference/boll-reference/.claude/skills/boll-bridge/SKILL.md +0 -227
  331. package/src/bollharness/reference/boll-reference/.claude/skills/boll-bridge/agents/openai.yaml +0 -4
  332. package/src/bollharness/reference/boll-reference/.claude/skills/boll-bridge/references/bridge-failure-taxonomy.md +0 -142
  333. package/src/bollharness/reference/boll-reference/.claude/skills/boll-bridge/references/bridge-validation-ladder.md +0 -107
  334. package/src/bollharness/reference/boll-reference/.claude/skills/boll-crystal/SKILL.md +0 -893
  335. package/src/bollharness/reference/boll-reference/.claude/skills/boll-crystal-learn/SKILL.md +0 -89
  336. package/src/bollharness/reference/boll-reference/.claude/skills/boll-dev/SKILL.md +0 -93
  337. package/src/bollharness/reference/boll-reference/.claude/skills/boll-dev/examples/README.md +0 -209
  338. package/src/bollharness/reference/boll-reference/.claude/skills/boll-dev-handoff/SKILL.md +0 -165
  339. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng/SKILL.md +0 -110
  340. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-frontend/SKILL.md +0 -203
  341. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-hdc/SKILL.md +0 -27
  342. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-orchestrator/SKILL.md +0 -28
  343. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-prompt/SKILL.md +0 -27
  344. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-test/SKILL.md +0 -79
  345. package/src/bollharness/reference/boll-reference/.claude/skills/boll-lab/SKILL.md +0 -372
  346. package/src/bollharness/reference/boll-reference/.claude/skills/boll-run/SKILL.md +0 -437
  347. package/src/bollharness/reference/boll-reference/.claude/skills/boll-ux-appstore/SKILL.md +0 -27
  348. package/src/bollharness/reference/boll-reference/.claude/skills/boll-voice/SKILL.md +0 -442
  349. package/src/bollharness/reference/boll-reference/.claude/skills/guardian-fixer/PROMPT.md +0 -421
  350. package/src/bollharness/reference/boll-reference/.claude/skills/guardian-fixer/SKILL.md +0 -326
  351. package/src/bollharness/reference/boll-reference/.claude/skills/lead/SKILL.md +0 -155
  352. package/src/bollharness/reference/boll-reference/.claude/skills/lead/ref-review-sop.md +0 -91
  353. package/src/bollharness/reference/boll-reference/.claude/skills/lead/ref-stages.md +0 -129
  354. package/src/bollharness/reference/boll-reference/.claude/skills/nature-designer/output/skill-map-preview.png +0 -0
  355. package/src/bollharness/reference/boll-reference/.claude/skills/nature-designer/output/skill-map-v2.png +0 -0
  356. package/src/bollharness/reference/boll-reference/.claude/skills/nature-designer/output/skill-map-v3.png +0 -0
  357. package/src/bollharness/reference/boll-reference/.claude/skills/nature-designer/output/skill-map-v4.png +0 -0
  358. package/src/bollharness/reference/boll-reference/.claude/skills/plan-lock/SKILL.md +0 -425
  359. package/src/bollharness/reference/boll-reference/.claude/skills/plan-lock/ref-three-checks.md +0 -62
  360. package/src/bollharness/reference/boll-reference/.claude/skills/plan-lock/ref-wp-templates.md +0 -78
  361. package/src/bollharness/reference/boll-reference/.claude/skills/task-arch/SKILL.md +0 -76
  362. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-graph/SKILL.md +0 -57
  363. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-graph/beads-graph.sh +0 -153
  364. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-init/SKILL.md +0 -52
  365. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-init/beads-auto-link.sh +0 -76
  366. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-sync/SKILL.md +0 -50
  367. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-sync/beads-sync-proj.sh +0 -108
  368. package/src/bollharness/reference/boll-reference/docs/architecture/AGENT-PROFILE.md +0 -151
  369. package/src/bollharness/reference/boll-reference/docs/architecture/COST-STRUCTURE.md +0 -56
  370. package/src/bollharness/reference/boll-reference/docs/architecture/INDEX.md +0 -76
  371. package/src/bollharness/reference/boll-reference/docs/architecture/MODULE1-INTENT-FIELD.md +0 -116
  372. package/src/bollharness/reference/boll-reference/docs/architecture/MODULE2-CRYSTALLIZATION.md +0 -200
  373. package/src/bollharness/reference/boll-reference/docs/architecture/PRINCIPLES.md +0 -84
  374. package/src/bollharness/reference/boll-reference/docs/architecture/PROTOCOL-CORE.md +0 -209
  375. package/src/bollharness/reference/boll-reference/docs/architecture/VISION.md +0 -181
  376. package/src/bollharness/reference/boll-reference/docs/architecture/discussions/D-01-MARKET-SCENE-PROTOCOL.md +0 -754
  377. package/src/bollharness/templates/scaffold/.boll/guard/.gitkeep +0 -0
  378. package/src/bollharness/templates/scaffold/.boll/metrics/.gitkeep +0 -0
  379. package/src/bollharness/templates/scaffold/.boll/state/.gitkeep +0 -0
  380. package/src/bollharness/templates/scaffold/docs/INDEX.md +0 -3
  381. package/src/bollharness/templates/scaffold/docs/decisions/ADR_TEMPLATE.md +0 -38
  382. package/src/bollharness/templates/scaffold/docs/decisions/PLAN_TEMPLATE.md +0 -45
  383. package/src/bollharness/templates/scaffold/docs/decisions/tasks/.gitkeep +0 -2
  384. package/src/bollharness/templates/scaffold/docs/issues/.gitkeep +0 -0
  385. package/src/bollharness/templates/scaffold/docs/issues/GUARD_ISSUE_TEMPLATE.md +0 -35
  386. package/src/bollharness/templates/scaffold/docs/issues/ISSUE_TEMPLATE.md +0 -51
  387. package/src/bollharness/tsconfig.json +0 -26
  388. package/src/constraint-runtime/package-lock.json +0 -48
  389. package/src/constraint-runtime/package.json +0 -34
  390. package/src/constraint-runtime/src/_archive_helper.ts +0 -16
  391. package/src/constraint-runtime/src/agent/coordinator.ts +0 -71
  392. package/src/constraint-runtime/src/agent/index.ts +0 -1
  393. package/src/constraint-runtime/src/assistant/index.ts +0 -15
  394. package/src/constraint-runtime/src/bootstrap/index.ts +0 -15
  395. package/src/constraint-runtime/src/bootstrap_graph.ts +0 -17
  396. package/src/constraint-runtime/src/bridge/index.ts +0 -15
  397. package/src/constraint-runtime/src/buddy/index.ts +0 -15
  398. package/src/constraint-runtime/src/cli/index.ts +0 -15
  399. package/src/constraint-runtime/src/command_graph.ts +0 -20
  400. package/src/constraint-runtime/src/commands.ts +0 -83
  401. package/src/constraint-runtime/src/components/index.ts +0 -15
  402. package/src/constraint-runtime/src/constants/index.ts +0 -15
  403. package/src/constraint-runtime/src/constraint/budget.ts +0 -25
  404. package/src/constraint-runtime/src/constraint/index.ts +0 -3
  405. package/src/constraint-runtime/src/constraint/permission.ts +0 -28
  406. package/src/constraint-runtime/src/context.ts +0 -45
  407. package/src/constraint-runtime/src/coordinator/index.ts +0 -15
  408. package/src/constraint-runtime/src/cost_hook.ts +0 -6
  409. package/src/constraint-runtime/src/cost_tracker.ts +0 -9
  410. package/src/constraint-runtime/src/deferred_init.ts +0 -18
  411. package/src/constraint-runtime/src/direct_modes.ts +0 -13
  412. package/src/constraint-runtime/src/dynamic-tool-loader.ts +0 -115
  413. package/src/constraint-runtime/src/entrypoints/index.ts +0 -15
  414. package/src/constraint-runtime/src/execution_registry.ts +0 -41
  415. package/src/constraint-runtime/src/history.ts +0 -16
  416. package/src/constraint-runtime/src/hooks/index.ts +0 -15
  417. package/src/constraint-runtime/src/index.ts +0 -28
  418. package/src/constraint-runtime/src/ink.ts +0 -4
  419. package/src/constraint-runtime/src/keybindings/index.ts +0 -15
  420. package/src/constraint-runtime/src/memdir/index.ts +0 -15
  421. package/src/constraint-runtime/src/migrations/index.ts +0 -15
  422. package/src/constraint-runtime/src/models.ts +0 -49
  423. package/src/constraint-runtime/src/moreright/index.ts +0 -15
  424. package/src/constraint-runtime/src/native_ts/index.ts +0 -15
  425. package/src/constraint-runtime/src/output_styles/index.ts +0 -15
  426. package/src/constraint-runtime/src/parity_audit.ts +0 -23
  427. package/src/constraint-runtime/src/plugins/index.ts +0 -15
  428. package/src/constraint-runtime/src/port_manifest.ts +0 -20
  429. package/src/constraint-runtime/src/prefetch.ts +0 -17
  430. package/src/constraint-runtime/src/query.ts +0 -7
  431. package/src/constraint-runtime/src/reference_data/archive_surface_snapshot.json +0 -63
  432. package/src/constraint-runtime/src/reference_data/commands_snapshot.json +0 -1037
  433. package/src/constraint-runtime/src/reference_data/subsystems/OpenCLI.json +0 -10
  434. package/src/constraint-runtime/src/reference_data/subsystems/PolymarketSDK.json +0 -12
  435. package/src/constraint-runtime/src/reference_data/subsystems/SafeSDK.json +0 -14
  436. package/src/constraint-runtime/src/reference_data/subsystems/assistant.json +0 -8
  437. package/src/constraint-runtime/src/reference_data/subsystems/bootstrap.json +0 -8
  438. package/src/constraint-runtime/src/reference_data/subsystems/bridge.json +0 -32
  439. package/src/constraint-runtime/src/reference_data/subsystems/buddy.json +0 -13
  440. package/src/constraint-runtime/src/reference_data/subsystems/cli.json +0 -26
  441. package/src/constraint-runtime/src/reference_data/subsystems/components.json +0 -32
  442. package/src/constraint-runtime/src/reference_data/subsystems/constants.json +0 -28
  443. package/src/constraint-runtime/src/reference_data/subsystems/coordinator.json +0 -8
  444. package/src/constraint-runtime/src/reference_data/subsystems/entrypoints.json +0 -15
  445. package/src/constraint-runtime/src/reference_data/subsystems/hooks.json +0 -32
  446. package/src/constraint-runtime/src/reference_data/subsystems/keybindings.json +0 -21
  447. package/src/constraint-runtime/src/reference_data/subsystems/memdir.json +0 -15
  448. package/src/constraint-runtime/src/reference_data/subsystems/migrations.json +0 -18
  449. package/src/constraint-runtime/src/reference_data/subsystems/moreright.json +0 -8
  450. package/src/constraint-runtime/src/reference_data/subsystems/native_ts.json +0 -11
  451. package/src/constraint-runtime/src/reference_data/subsystems/outputStyles.json +0 -8
  452. package/src/constraint-runtime/src/reference_data/subsystems/plugins.json +0 -9
  453. package/src/constraint-runtime/src/reference_data/subsystems/remote.json +0 -11
  454. package/src/constraint-runtime/src/reference_data/subsystems/schemas.json +0 -8
  455. package/src/constraint-runtime/src/reference_data/subsystems/screens.json +0 -10
  456. package/src/constraint-runtime/src/reference_data/subsystems/server.json +0 -10
  457. package/src/constraint-runtime/src/reference_data/subsystems/services.json +0 -32
  458. package/src/constraint-runtime/src/reference_data/subsystems/skills.json +0 -27
  459. package/src/constraint-runtime/src/reference_data/subsystems/state.json +0 -13
  460. package/src/constraint-runtime/src/reference_data/subsystems/types.json +0 -18
  461. package/src/constraint-runtime/src/reference_data/subsystems/upstreamproxy.json +0 -9
  462. package/src/constraint-runtime/src/reference_data/subsystems/utils.json +0 -32
  463. package/src/constraint-runtime/src/reference_data/subsystems/vim.json +0 -12
  464. package/src/constraint-runtime/src/reference_data/subsystems/voice.json +0 -8
  465. package/src/constraint-runtime/src/reference_data/tools_snapshot.json +0 -1042
  466. package/src/constraint-runtime/src/remote/index.ts +0 -15
  467. package/src/constraint-runtime/src/remote_runtime.ts +0 -17
  468. package/src/constraint-runtime/src/runtime/index.ts +0 -1
  469. package/src/constraint-runtime/src/runtime/session.ts +0 -42
  470. package/src/constraint-runtime/src/schemas/index.ts +0 -15
  471. package/src/constraint-runtime/src/screens/index.ts +0 -15
  472. package/src/constraint-runtime/src/server/index.ts +0 -15
  473. package/src/constraint-runtime/src/services/index.ts +0 -15
  474. package/src/constraint-runtime/src/session_store.ts +0 -32
  475. package/src/constraint-runtime/src/setup.ts +0 -50
  476. package/src/constraint-runtime/src/skills/index.ts +0 -1
  477. package/src/constraint-runtime/src/skills/skill-registry.ts +0 -40
  478. package/src/constraint-runtime/src/state/index.ts +0 -15
  479. package/src/constraint-runtime/src/system_init.ts +0 -21
  480. package/src/constraint-runtime/src/thinking/engine.ts +0 -61
  481. package/src/constraint-runtime/src/thinking/index.ts +0 -1
  482. package/src/constraint-runtime/src/tool_pool.ts +0 -20
  483. package/src/constraint-runtime/src/tools/OpenCLI/execAdapter.ts +0 -12
  484. package/src/constraint-runtime/src/tools/OpenCLI/listAdapters.ts +0 -12
  485. package/src/constraint-runtime/src/tools/OpenCLI/runCommand.ts +0 -13
  486. package/src/constraint-runtime/src/tools/PolymarketSDK/cancelOrder.ts +0 -10
  487. package/src/constraint-runtime/src/tools/PolymarketSDK/createOrder.ts +0 -13
  488. package/src/constraint-runtime/src/tools/PolymarketSDK/getMarket.ts +0 -14
  489. package/src/constraint-runtime/src/tools/PolymarketSDK/getOrders.ts +0 -10
  490. package/src/constraint-runtime/src/tools/PolymarketSDK/listMarkets.ts +0 -24
  491. package/src/constraint-runtime/src/tools/SafeSDK/confirmTransaction.ts +0 -13
  492. package/src/constraint-runtime/src/tools/SafeSDK/createTransaction.ts +0 -23
  493. package/src/constraint-runtime/src/tools/SafeSDK/deploySafe.ts +0 -12
  494. package/src/constraint-runtime/src/tools/SafeSDK/executeTransaction.ts +0 -12
  495. package/src/constraint-runtime/src/tools/SafeSDK/getBalance.ts +0 -10
  496. package/src/constraint-runtime/src/tools/SafeSDK/getPendingTransactions.ts +0 -10
  497. package/src/constraint-runtime/src/tools/SafeSDK/proposeTransaction.ts +0 -14
  498. package/src/constraint-runtime/src/tools/WalletTools/autoPay.ts +0 -58
  499. package/src/constraint-runtime/src/tools/WalletTools/createWallet.ts +0 -19
  500. package/src/constraint-runtime/src/tools/WalletTools/getBalance.ts +0 -28
  501. package/src/constraint-runtime/src/tools/WalletTools/importWallet.ts +0 -34
  502. package/src/constraint-runtime/src/tools/WalletTools/sendTransaction.ts +0 -50
  503. package/src/constraint-runtime/src/tools/WalletTools/signMessage.ts +0 -23
  504. package/src/constraint-runtime/src/tools/WalletTools/transferToken.ts +0 -49
  505. package/src/constraint-runtime/src/tools.ts +0 -100
  506. package/src/constraint-runtime/src/transcript.ts +0 -23
  507. package/src/constraint-runtime/src/types/index.ts +0 -15
  508. package/src/constraint-runtime/src/upstream_proxy/index.ts +0 -15
  509. package/src/constraint-runtime/src/utils/index.ts +0 -15
  510. package/src/constraint-runtime/src/vim/index.ts +0 -15
  511. package/src/constraint-runtime/src/voice/index.ts +0 -15
  512. package/src/constraint-runtime/tests/agent.test.ts +0 -20
  513. package/src/constraint-runtime/tests/constraint.test.ts +0 -47
  514. package/src/constraint-runtime/tests/skill.test.ts +0 -23
  515. package/src/constraint-runtime/tests/thinking.test.ts +0 -28
  516. package/src/constraint-runtime/tsconfig.json +0 -13
  517. package/src/pi-ecosystem/index.ts +0 -453
  518. package/src/pi-ecosystem-colony/index.ts +0 -482
  519. package/src/pi-ecosystem-goals/index.ts +0 -585
  520. package/src/pi-ecosystem-judgment/decision.ts +0 -431
  521. package/src/pi-ecosystem-judgment/distillation.ts +0 -398
  522. package/src/pi-ecosystem-judgment/human-value-store.ts +0 -580
  523. package/src/pi-ecosystem-judgment/index.ts +0 -678
  524. package/src/pi-ecosystem-judgment/value-injection.ts +0 -744
  525. package/src/pi-ecosystem-mcp/index.ts +0 -427
  526. package/src/pi-ecosystem-subagents/index.ts +0 -408
  527. package/src/test/ai-judgment-test.ts +0 -92
  528. package/src/test/bollharness-integration.test.ts +0 -398
  529. package/src/test/channel-agent-multi-dialogue.ts +0 -265
  530. package/src/test/channel-heartbeat-agent-test.ts +0 -244
  531. package/src/test/constraint-layer.test.ts +0 -191
  532. package/src/test/diap-identity-test.ts +0 -222
  533. package/src/test/diap-quick-test.ts +0 -73
  534. package/src/test/global-shared-context.test.ts +0 -393
  535. package/src/test/harness-judgment-injection.test.ts +0 -353
  536. package/src/test/harness-workflow-integrator-test.ts +0 -285
  537. package/src/test/human-value-store.test.ts +0 -316
  538. package/src/test/hybrid-integration-test.ts +0 -126
  539. package/src/test/hybrid-messenger-verify.ts +0 -68
  540. package/src/test/iroh-bistream-debug.ts +0 -50
  541. package/src/test/iroh-communication.test.ts +0 -81
  542. package/src/test/iroh-debug-test.ts +0 -69
  543. package/src/test/iroh-diap-test.ts +0 -90
  544. package/src/test/iroh-direct-connect.ts +0 -65
  545. package/src/test/iroh-e2e-fixed.ts +0 -106
  546. package/src/test/iroh-e2e-same-process.ts +0 -83
  547. package/src/test/iroh-e2e.ts +0 -83
  548. package/src/test/iroh-final-e2e.ts +0 -84
  549. package/src/test/iroh-relay-test.ts +0 -46
  550. package/src/test/iroh-simple-test.ts +0 -49
  551. package/src/test/iroh-transport-verify.ts +0 -60
  552. package/src/test/iroh-transport.test.ts +0 -47
  553. package/src/test/iroh-two-nodes.ts +0 -87
  554. package/src/test/iroh-verify.ts +0 -55
  555. package/src/test/judgment-decision.test.ts +0 -373
  556. package/src/test/llm-judgment-integration.test.ts +0 -257
  557. package/src/test/p2p-agent-complex-dialogue.ts +0 -490
  558. package/src/test/p2p-agent-dialogue.ts +0 -423
  559. package/src/test/p2p-agent-full-bidirectional.ts +0 -686
  560. package/src/test/p2p-agent-harness-flow.ts +0 -562
  561. package/src/test/p2p-agent-harness-single.ts +0 -175
  562. package/src/test/p2p-ai-dialogue-test.ts +0 -374
  563. package/src/test/p2p-cid-connect-test.ts +0 -245
  564. package/src/test/p2p-connect-receiver.ts +0 -85
  565. package/src/test/p2p-iroh-test.ts +0 -214
  566. package/src/test/p2p-minimal-test.ts +0 -264
  567. package/src/test/p2p-node-1.ts +0 -172
  568. package/src/test/p2p-node-2.ts +0 -172
  569. package/src/test/p2p-server.ts +0 -335
  570. package/src/test/p2p-two-nodes-test.ts +0 -542
  571. package/src/test/pi-sdk.test.ts +0 -47
  572. package/src/test/set-persona.ts +0 -56
  573. package/src/test/simple.test.ts +0 -11
  574. package/src/test/storage-integration.test.ts +0 -191
  575. package/src/test/subagent-manager.test.ts +0 -392
  576. package/src/test/test-gate-flow.test.ts +0 -92
  577. package/src/test/workflow-engine.test.ts +0 -101
  578. package/src/workflows/collaboration.ts +0 -455
  579. package/src/workflows/index.ts +0 -64
  580. package/vitest.config.ts +0 -12
  581. package//346/203/263/346/263/225.md +0 -79
@@ -1,60 +0,0 @@
1
- import { irohTransport } from '../network/iroh-transport.js';
2
-
3
- async function main() {
4
- console.log('=== iroh Transport Core Verification ===\n');
5
-
6
- let allPassed = true;
7
-
8
- console.log('[1] Start transport');
9
- try {
10
- const node = await irohTransport.start();
11
- console.log(' ✅ Started, ID:', node.nodeId.substring(0, 20) + '...');
12
- } catch (e) {
13
- console.log(' ❌ Failed:', e);
14
- allPassed = false;
15
- }
16
-
17
- console.log('\n[2] Running state');
18
- console.log(' ' + (irohTransport.isRunning() ? '✅ Running' : '❌ Not running'));
19
-
20
- console.log('\n[3] Node ID format');
21
- const nodeId = irohTransport.getNodeId();
22
- if (nodeId && nodeId.length === 64) {
23
- console.log(' ✅ Valid 64-char hex ID');
24
- } else {
25
- console.log(' ❌ Invalid ID');
26
- allPassed = false;
27
- }
28
-
29
- console.log('\n[4] Message handlers');
30
- irohTransport.onMessage('test', () => {});
31
- irohTransport.onMessage('*', () => {});
32
- console.log(' ✅ Handlers registered');
33
-
34
- console.log('\n[5] Shutdown');
35
- await irohTransport.shutdown();
36
- if (!irohTransport.isRunning()) {
37
- console.log(' ✅ Stopped');
38
- } else {
39
- console.log(' ❌ Still running');
40
- allPassed = false;
41
- }
42
-
43
- console.log('\n[6] Re-start after shutdown');
44
- try {
45
- await irohTransport.start();
46
- console.log(' ✅ Restart works');
47
- await irohTransport.shutdown();
48
- } catch (e) {
49
- console.log(' ❌ Restart failed');
50
- allPassed = false;
51
- }
52
-
53
- console.log('\n' + (allPassed ? '✅ ALL TESTS PASSED' : '❌ SOME TESTS FAILED'));
54
- process.exit(allPassed ? 0 : 1);
55
- }
56
-
57
- main().catch(e => {
58
- console.error('Error:', e);
59
- process.exit(1);
60
- });
@@ -1,47 +0,0 @@
1
- import { irohTransport } from '../network/iroh-transport.js';
2
-
3
- async function testBasicTransport() {
4
- console.log('=== Test 1: Basic Transport ===');
5
-
6
- const node = await irohTransport.start();
7
- console.log('Node started:', node.nodeId.substring(0, 16) + '...');
8
- console.log('Running:', irohTransport.isRunning());
9
-
10
- return node;
11
- }
12
-
13
- async function testMessageHandler() {
14
- console.log('\n=== Test 2: Message Handler ===');
15
-
16
- let receivedMsg: any = null;
17
-
18
- irohTransport.onMessage('test', (msg) => {
19
- console.log('Handler called!');
20
- receivedMsg = msg;
21
- });
22
-
23
- console.log('Handler registered');
24
- return receivedMsg;
25
- }
26
-
27
- async function testShutdown() {
28
- console.log('\n=== Test 3: Shutdown ===');
29
-
30
- await irohTransport.shutdown();
31
- console.log('Shutdown complete');
32
- console.log('Running:', irohTransport.isRunning());
33
- console.log('NodeId:', irohTransport.getNodeId());
34
- }
35
-
36
- async function runTests() {
37
- try {
38
- await testBasicTransport();
39
- await testMessageHandler();
40
- await testShutdown();
41
- console.log('\n=== All tests passed ===');
42
- } catch (e) {
43
- console.error('Test failed:', e);
44
- }
45
- }
46
-
47
- runTests();
@@ -1,87 +0,0 @@
1
- import { irohTransport } from '../network/iroh-transport.js';
2
-
3
- const args = process.argv.slice(2);
4
- const role = args[0] as 'server' | 'client';
5
- const targetNodeId = args[1];
6
-
7
- if (!role || !['server', 'client'].includes(role)) {
8
- console.log('Usage:');
9
- console.log(' Server: npx tsx src/test/iroh-two-nodes.ts server');
10
- console.log(' Client: npx tsx src/test/iroh-two-nodes.ts client <server-node-id>');
11
- process.exit(1);
12
- }
13
-
14
- async function runServer() {
15
- console.log('[Server] Starting iroh transport...');
16
- const node = await irohTransport.start();
17
- console.log('[Server] Node ID:', node.nodeId);
18
- console.log('[Server] Address:', node.addr);
19
- console.log('[Server] Waiting for connections...\n');
20
-
21
- let messageCount = 0;
22
-
23
- irohTransport.onMessage('ping', (msg) => {
24
- messageCount++;
25
- console.log(`[Server] Received ping #${messageCount} from ${msg.from.substring(0, 16)}...`);
26
- console.log(`[Server] Payload: "${new TextDecoder().decode(msg.payload)}"`);
27
-
28
- // 回复 pong
29
- irohTransport.sendMessage(msg.from, 'pong', new TextEncoder().encode('pong response'));
30
- });
31
-
32
- irohTransport.onMessage('data', (msg) => {
33
- messageCount++;
34
- console.log(`[Server] Received data #${messageCount}: ${msg.payload.length} bytes`);
35
- });
36
-
37
- // 保持运行
38
- await new Promise(resolve => setTimeout(resolve, 60000));
39
- }
40
-
41
- async function runClient(targetId: string) {
42
- if (!targetId) {
43
- console.error('[Client] Error: target node ID required');
44
- process.exit(1);
45
- }
46
-
47
- console.log('[Client] Starting iroh transport...');
48
- const node = await irohTransport.start();
49
- console.log('[Client] Node ID:', node.nodeId);
50
- console.log('[Client] Target:', targetId);
51
- console.log('[Client] Connecting to server...\n');
52
-
53
- // 等待连接建立
54
- await new Promise(resolve => setTimeout(resolve, 1000));
55
-
56
- // 发送 ping
57
- console.log('[Client] Sending ping...');
58
- const sent = await irohTransport.sendMessage(targetId, 'ping', new TextEncoder().encode('hello server'));
59
- console.log('[Client] Ping sent:', sent);
60
-
61
- // 发送数据
62
- await new Promise(resolve => setTimeout(resolve, 500));
63
- console.log('[Client] Sending data...');
64
- const data = new Uint8Array(1024).fill(65); // 1KB of 'A'
65
- await irohTransport.sendMessage(targetId, 'data', data);
66
- console.log('[Client] Data sent: 1024 bytes');
67
-
68
- // 等待响应
69
- await new Promise(resolve => setTimeout(resolve, 2000));
70
-
71
- irohTransport.onMessage('pong', (msg) => {
72
- console.log(`[Client] Received pong from ${msg.from.substring(0, 16)}...`);
73
- console.log(`[Client] Payload: "${new TextDecoder().decode(msg.payload)}"`);
74
- });
75
-
76
- // 等待更多响应
77
- await new Promise(resolve => setTimeout(resolve, 3000));
78
-
79
- await irohTransport.shutdown();
80
- console.log('[Client] Done');
81
- }
82
-
83
- if (role === 'server') {
84
- runServer();
85
- } else {
86
- runClient(targetNodeId!);
87
- }
@@ -1,55 +0,0 @@
1
- import { irohTransport } from '../network/iroh-transport.js';
2
-
3
- async function testIroh() {
4
- console.log('=== iroh Transport Test ===\n');
5
-
6
- console.log('1. Starting iroh node...');
7
- const node = await irohTransport.start();
8
- console.log(' Node ID:', node.nodeId);
9
- console.log(' Running:', irohTransport.isRunning());
10
- console.log('');
11
-
12
- console.log('2. Testing message handler...');
13
- let receivedCount = 0;
14
-
15
- irohTransport.onMessage('test', (msg) => {
16
- receivedCount++;
17
- console.log(` Received: type=${msg.type}, from=${msg.from.substring(0, 8)}..., payload="${new TextDecoder().decode(msg.payload)}"`);
18
- });
19
- console.log(' Handler registered for "test" type');
20
- console.log('');
21
-
22
- console.log('3. Testing wildcard handler...');
23
- let wildcardCount = 0;
24
-
25
- irohTransport.onMessage('*', (msg) => {
26
- wildcardCount++;
27
- console.log(` Wildcard: type=${msg.type}, from=${msg.from.substring(0, 8)}...`);
28
- });
29
- console.log(' Wildcard handler registered');
30
- console.log('');
31
-
32
- console.log('4. Simulating message dispatch (internal test)...');
33
- // This tests the dispatch logic internally
34
- // In real usage, messages come over the network
35
- console.log(' Message dispatch mechanism ready');
36
- console.log('');
37
-
38
- console.log('5. Testing getNodeId...');
39
- const nodeId = irohTransport.getNodeId();
40
- console.log(' Node ID matches:', nodeId === node.nodeId);
41
- console.log('');
42
-
43
- console.log('6. Testing shutdown...');
44
- await irohTransport.shutdown();
45
- console.log(' Running after shutdown:', irohTransport.isRunning());
46
- console.log(' Node ID after shutdown:', irohTransport.getNodeId());
47
- console.log('');
48
-
49
- console.log('=== All Tests Passed ===');
50
- }
51
-
52
- testIroh().catch((e) => {
53
- console.error('Test failed:', e);
54
- process.exit(1);
55
- });
@@ -1,373 +0,0 @@
1
- import { describe, it, expect, beforeEach, vi } from 'vitest';
2
- import {
3
- evaluateDecision,
4
- submitDecisionResponse,
5
- queryInternalAgents,
6
- getPendingDecisions,
7
- getDecisionRequest,
8
- getDecisionStats,
9
- setConfidenceThreshold,
10
- setDefaultDecisionLevel,
11
- type DecisionLevel,
12
- } from '../pi-ecosystem-judgment/decision.js';
13
- import * as judgmentModule from '../pi-ecosystem-judgment/index.js';
14
-
15
- vi.mock('../pi-ecosystem-colony/index.js', () => ({
16
- listAnts: vi.fn().mockReturnValue([
17
- { id: 'ant-1', name: 'BuilderAnt', signal: 'ACTIVE', capabilities: ['coding'] },
18
- { id: 'ant-2', name: 'ReviewerAnt', signal: 'ACTIVE', capabilities: ['review'] },
19
- { id: 'ant-3', name: 'TesterAnt', signal: 'ACTIVE', capabilities: ['testing'] },
20
- ]),
21
- }));
22
-
23
- vi.mock('../pi-ecosystem-subagents/index.js', () => ({
24
- listSubagents: vi.fn().mockReturnValue([
25
- { id: 'sub-1', name: 'CodeSubagent', status: 'running', capabilities: ['coding'] },
26
- { id: 'sub-2', name: 'DocSubagent', status: 'running', capabilities: ['writing'] },
27
- ]),
28
- }));
29
-
30
- describe('Decision System - Internal vs External Judgment Communication', () => {
31
- beforeEach(() => {
32
- setConfidenceThreshold(0.7);
33
- setDefaultDecisionLevel('autonomous');
34
- vi.clearAllMocks();
35
- });
36
-
37
- describe('Decision Level Determination', () => {
38
- it('should be autonomous when confidence >= threshold', async () => {
39
- vi.spyOn(judgmentModule, 'calculateConfidence').mockReturnValueOnce(0.9);
40
-
41
- const request = await evaluateDecision(
42
- 'Use const instead of var',
43
- 'typescript',
44
- 'agent-001',
45
- 0.7
46
- );
47
-
48
- expect(request.level).toBe('autonomous');
49
- expect(request.targets).toEqual([]);
50
- expect(request.status).toBe('pending');
51
- });
52
-
53
- it('should consult_internal when confidence >= threshold * 0.7 but < threshold', async () => {
54
- vi.spyOn(judgmentModule, 'calculateConfidence').mockReturnValueOnce(0.5);
55
-
56
- const request = await evaluateDecision(
57
- 'Refactor this function',
58
- 'refactor',
59
- 'agent-001',
60
- 0.7
61
- );
62
-
63
- expect(request.level).toBe('consult_internal');
64
- expect(request.targets).toContain('colony_ant');
65
- expect(request.targets).toContain('subagent');
66
- expect(request.targets).not.toContain('p2p_agent');
67
- expect(request.targets).not.toContain('human');
68
- });
69
-
70
- it('should consult_external when confidence >= threshold * 0.4 but < threshold * 0.7', async () => {
71
- vi.spyOn(judgmentModule, 'calculateConfidence').mockReturnValueOnce(0.35);
72
-
73
- const request = await evaluateDecision(
74
- 'Cross-system migration strategy',
75
- 'migration',
76
- 'agent-001',
77
- 0.7
78
- );
79
-
80
- expect(request.level).toBe('consult_external');
81
- expect(request.targets).toContain('p2p_agent');
82
- expect(request.targets).toContain('colony_ant');
83
- expect(request.targets).toContain('subagent');
84
- });
85
-
86
- it('should require_human when confidence < threshold * 0.4', async () => {
87
- vi.spyOn(judgmentModule, 'calculateConfidence').mockReturnValueOnce(0.2);
88
-
89
- const request = await evaluateDecision(
90
- 'Strategic pivot decision',
91
- 'strategy',
92
- 'agent-001',
93
- 0.7
94
- );
95
-
96
- expect(request.level).toBe('require_human');
97
- expect(request.targets).toEqual(['human']);
98
- });
99
-
100
- it('should default to confidence 0.5 when no judgments exist', async () => {
101
- vi.spyOn(judgmentModule, 'calculateConfidence').mockReturnValueOnce(0.5);
102
-
103
- const request = await evaluateDecision(
104
- 'No prior judgment context',
105
- 'unknown',
106
- 'agent-001',
107
- 0.7
108
- );
109
-
110
- expect(request.confidence).toBe(0.5);
111
- expect(request.level).toBe('consult_internal');
112
- expect(request.targets).toContain('colony_ant');
113
- });
114
- });
115
-
116
- describe('Internal Consultation (colony_ant, subagent)', () => {
117
- it('should query up to 3 colony ants for consult_internal', async () => {
118
- const request = await evaluateDecision(
119
- 'Which approach is better: A or B?',
120
- 'decision',
121
- 'agent-001',
122
- 0.7
123
- );
124
- request.level = 'consult_internal';
125
- request.targets = ['colony_ant', 'subagent'];
126
-
127
- const results = await queryInternalAgents(request);
128
-
129
- expect(results.length).toBeGreaterThan(0);
130
- expect(results.some(r => r.target === 'colony_ant')).toBe(true);
131
- });
132
-
133
- it('should query up to 2 subagents for consult_internal', async () => {
134
- const request = await evaluateDecision(
135
- 'Code review decision',
136
- 'review',
137
- 'agent-001',
138
- 0.7
139
- );
140
- request.level = 'consult_internal';
141
- request.targets = ['colony_ant', 'subagent'];
142
-
143
- const results = await queryInternalAgents(request);
144
-
145
- expect(results.some(r => r.target === 'subagent')).toBe(true);
146
- });
147
-
148
- it('should include consultation results in request', async () => {
149
- vi.spyOn(judgmentModule, 'calculateConfidence').mockReturnValueOnce(0.5);
150
-
151
- const request = await evaluateDecision(
152
- 'Implementation strategy',
153
- 'strategy',
154
- 'agent-001',
155
- 0.7
156
- );
157
-
158
- expect(request.targets.length).toBeGreaterThan(0);
159
- });
160
- });
161
-
162
- describe('External Consultation (p2p_agent)', () => {
163
- it('should include p2p_agent in consult_external targets', async () => {
164
- vi.spyOn(judgmentModule, 'calculateConfidence').mockReturnValueOnce(0.35);
165
-
166
- const request = await evaluateDecision(
167
- 'Peer system integration decision',
168
- 'integration',
169
- 'agent-001',
170
- 0.7
171
- );
172
-
173
- expect(request.level).toBe('consult_external');
174
- expect(request.targets).toContain('p2p_agent');
175
- });
176
-
177
- it('should support external peer-to-peer consultation', async () => {
178
- vi.spyOn(judgmentModule, 'calculateConfidence').mockReturnValueOnce(0.35);
179
-
180
- const request = await evaluateDecision(
181
- 'Protocol version negotiation',
182
- 'protocol',
183
- 'agent-001',
184
- 0.7
185
- );
186
-
187
- expect(request.targets).toContain('p2p_agent');
188
- expect(request.targets).toContain('colony_ant');
189
- expect(request.targets).toContain('subagent');
190
- });
191
- });
192
-
193
- describe('Decision Response Flow', () => {
194
- it('should update status to authorized on positive response', async () => {
195
- const request = await evaluateDecision(
196
- 'Proceed with deployment',
197
- 'deploy',
198
- 'agent-001',
199
- 0.7
200
- );
201
-
202
- const response = await submitDecisionResponse(request.id, {
203
- authorized: true,
204
- content: 'Approved',
205
- by: 'human',
206
- timestamp: new Date().toISOString(),
207
- });
208
-
209
- expect(response?.status).toBe('authorized');
210
- expect(response?.respondedAt).toBeDefined();
211
- });
212
-
213
- it('should update status to rejected on negative response', async () => {
214
- const request = await evaluateDecision(
215
- 'Skip tests for faster delivery',
216
- 'testing',
217
- 'agent-001',
218
- 0.7
219
- );
220
-
221
- const response = await submitDecisionResponse(request.id, {
222
- authorized: false,
223
- content: 'No, tests are required',
224
- by: 'human',
225
- timestamp: new Date().toISOString(),
226
- });
227
-
228
- expect(response?.status).toBe('rejected');
229
- });
230
-
231
- it('should support delegation to other targets', async () => {
232
- const request = await evaluateDecision(
233
- 'Architecture decision',
234
- 'architecture',
235
- 'agent-001',
236
- 0.7
237
- );
238
-
239
- const response = await submitDecisionResponse(request.id, {
240
- authorized: true,
241
- content: 'Delegating to senior architect',
242
- delegate: 'colony_ant',
243
- by: 'human',
244
- timestamp: new Date().toISOString(),
245
- });
246
-
247
- expect(response?.response?.delegate).toBe('colony_ant');
248
- });
249
- });
250
-
251
- describe('Decision State Tracking', () => {
252
- it('should track pending decisions', async () => {
253
- await evaluateDecision('Decision 1', 'context', 'agent-001', 0.7);
254
- await evaluateDecision('Decision 2', 'context', 'agent-001', 0.7);
255
-
256
- const pending = getPendingDecisions();
257
- expect(pending.length).toBeGreaterThanOrEqual(2);
258
- });
259
-
260
- it('should retrieve decision by ID', async () => {
261
- const created = await evaluateDecision('Test Decision', 'context', 'agent-001', 0.7);
262
- const retrieved = getDecisionRequest(created.id);
263
-
264
- expect(retrieved).toBeDefined();
265
- expect(retrieved?.description).toBe('Test Decision');
266
- });
267
-
268
- it('should calculate decision statistics', async () => {
269
- await evaluateDecision('Decision A', 'context', 'agent-001', 0.7);
270
- await evaluateDecision('Decision B', 'context', 'agent-001', 0.7);
271
-
272
- const stats = getDecisionStats();
273
- expect(stats.total).toBeGreaterThanOrEqual(2);
274
- expect(stats.pending).toBeGreaterThanOrEqual(2);
275
- });
276
- });
277
-
278
- describe('Threshold Sensitivity', () => {
279
- it('should escalate to require_human with very high threshold', async () => {
280
- setConfidenceThreshold(0.9);
281
- vi.spyOn(judgmentModule, 'calculateConfidence').mockReturnValueOnce(0.3);
282
-
283
- const request = await evaluateDecision(
284
- 'Conservative decision',
285
- 'context',
286
- 'agent-001'
287
- );
288
-
289
- expect(request.level).toBe('require_human');
290
- expect(request.targets).toEqual(['human']);
291
- });
292
-
293
- it('should be autonomous with low threshold', async () => {
294
- setConfidenceThreshold(0.3);
295
- vi.spyOn(judgmentModule, 'calculateConfidence').mockReturnValueOnce(0.5);
296
-
297
- const request = await evaluateDecision(
298
- 'Aggressive decision',
299
- 'context',
300
- 'agent-001'
301
- );
302
-
303
- expect(request.level).toBe('autonomous');
304
- expect(request.targets).toEqual([]);
305
- });
306
- });
307
-
308
- describe('Cross-Cutting Concerns', () => {
309
- it('should create unique decision IDs', async () => {
310
- const request1 = await evaluateDecision('Decision 1', 'c', 'a', 0.7);
311
- const request2 = await evaluateDecision('Decision 2', 'c', 'a', 0.7);
312
-
313
- expect(request1.id).not.toBe(request2.id);
314
- });
315
-
316
- it('should include agent ID in request', async () => {
317
- const request = await evaluateDecision('Test', 'c', 'my-agent-123', 0.7);
318
-
319
- expect(request.agentId).toBe('my-agent-123');
320
- });
321
-
322
- it('should record creation timestamp', async () => {
323
- const before = new Date().toISOString();
324
- const request = await evaluateDecision('Test', 'c', 'a', 0.7);
325
- const after = new Date().toISOString();
326
-
327
- expect(request.createdAt).toBeDefined();
328
- expect(request.createdAt >= before).toBe(true);
329
- expect(request.createdAt <= after).toBe(true);
330
- });
331
- });
332
- });
333
-
334
- describe('Decision Level Boundary Conditions', () => {
335
- beforeEach(() => {
336
- setConfidenceThreshold(0.7);
337
- });
338
-
339
- it.each([
340
- { confidence: 0.9, expectedLevel: 'autonomous' },
341
- { confidence: 0.5, expectedLevel: 'consult_internal' },
342
- { confidence: 0.35, expectedLevel: 'consult_external' },
343
- { confidence: 0.2, expectedLevel: 'require_human' },
344
- ])('confidence $confidence should map to $expectedLevel', async ({ confidence, expectedLevel }) => {
345
- vi.spyOn(judgmentModule, 'calculateConfidence').mockReturnValueOnce(confidence);
346
-
347
- const request = await evaluateDecision(
348
- 'Boundary test',
349
- 'boundary',
350
- 'agent-001',
351
- 0.7
352
- );
353
- expect(request.level).toBe(expectedLevel);
354
- });
355
- });
356
-
357
- describe('Consultation Target Matrix', () => {
358
- beforeEach(() => {
359
- setConfidenceThreshold(0.7);
360
- });
361
-
362
- const matrix: Array<{ level: DecisionLevel; expectedTargets: string[] }> = [
363
- { level: 'autonomous', expectedTargets: [] },
364
- { level: 'consult_internal', expectedTargets: ['colony_ant', 'subagent'] },
365
- { level: 'consult_external', expectedTargets: ['colony_ant', 'subagent', 'p2p_agent'] },
366
- { level: 'require_human', expectedTargets: ['human'] },
367
- ];
368
-
369
- it.each(matrix)('level $level should have targets $expectedTargets', ({ level, expectedTargets }) => {
370
- expect(level).toBeDefined();
371
- expect(expectedTargets).toBeDefined();
372
- });
373
- });