monomind 1.19.0 → 2.0.0

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 (870) hide show
  1. package/README.md +2 -5
  2. package/package.json +15 -34
  3. package/packages/@monomind/cli/.claude/agents/github/issue-tracker.md +0 -2
  4. package/packages/@monomind/cli/.claude/agents/github/pr-manager.md +0 -2
  5. package/packages/@monomind/cli/.claude/agents/github/repo-architect.md +3 -11
  6. package/packages/@monomind/cli/.claude/agents/goal/goal-planner.md +0 -1
  7. package/packages/@monomind/cli/.claude/commands/github/issue-tracker.md +0 -2
  8. package/packages/@monomind/cli/.claude/commands/github/pr-manager.md +0 -2
  9. package/packages/@monomind/cli/.claude/commands/github/repo-architect.md +3 -10
  10. package/packages/@monomind/cli/.claude/commands/mastermind/help.md +3 -3
  11. package/packages/@monomind/cli/.claude/commands/workflows/README.md +0 -1
  12. package/packages/@monomind/cli/.claude/commands/workflows/workflow-create.md +0 -1
  13. package/packages/@monomind/cli/.claude/commands/workflows/workflow-execute.md +1 -3
  14. package/packages/@monomind/cli/.claude/commands/workflows/workflow-export.md +0 -2
  15. package/packages/@monomind/cli/.claude/helpers/handlers/agent-start-handler.cjs +18 -1
  16. package/packages/@monomind/cli/.claude/helpers/handlers/edit-handler.cjs +15 -0
  17. package/packages/@monomind/cli/.claude/helpers/handlers/gates-handler.cjs +2 -8
  18. package/packages/@monomind/cli/.claude/helpers/handlers/route-handler.cjs +149 -7
  19. package/packages/@monomind/cli/.claude/helpers/handlers/session-handler.cjs +47 -25
  20. package/packages/@monomind/cli/.claude/helpers/handlers/session-restore-handler.cjs +80 -43
  21. package/packages/@monomind/cli/.claude/helpers/handlers/task-handler.cjs +8 -4
  22. package/packages/@monomind/cli/.claude/helpers/hook-handler.cjs +69 -16
  23. package/packages/@monomind/cli/.claude/helpers/intelligence.cjs +100 -9
  24. package/packages/@monomind/cli/.claude/helpers/router.cjs +78 -5
  25. package/packages/@monomind/cli/.claude/helpers/skill-registry.json +0 -189
  26. package/packages/@monomind/cli/.claude/skills/github-toolkit/SKILL.md +60 -0
  27. package/packages/@monomind/cli/.claude/skills/hive-mind-advanced/SKILL.md +0 -15
  28. package/packages/@monomind/cli/.claude/skills/hooks-automation/SKILL.md +0 -1
  29. package/packages/@monomind/cli/.claude/skills/mastermind-skills/_protocol.md +1 -1
  30. package/packages/@monomind/cli/.claude/skills/mastermind-skills/build.md +1 -2
  31. package/packages/@monomind/cli/.claude/skills/memory-toolkit/SKILL.md +75 -0
  32. package/packages/@monomind/cli/.claude/skills/specialagent/SKILL.md +2 -4
  33. package/packages/@monomind/cli/.claude/skills/swarm-advanced/SKILL.md +0 -1
  34. package/packages/@monomind/cli/README.md +2 -5
  35. package/packages/@monomind/cli/dist/src/autopilot-state.js +4 -5
  36. package/packages/@monomind/cli/dist/src/browser/dashboard/server.js +69 -1
  37. package/packages/@monomind/cli/dist/src/browser/dashboard/ui.html +214 -1764
  38. package/packages/@monomind/cli/dist/src/capabilities/index.d.ts +0 -2
  39. package/packages/@monomind/cli/dist/src/capabilities/index.js +0 -1
  40. package/packages/@monomind/cli/dist/src/commands/agent-lifecycle.js +2 -6
  41. package/packages/@monomind/cli/dist/src/commands/analyze.d.ts +0 -4
  42. package/packages/@monomind/cli/dist/src/commands/analyze.js +1 -29
  43. package/packages/@monomind/cli/dist/src/commands/completions.js +3 -22
  44. package/packages/@monomind/cli/dist/src/commands/config.js +0 -6
  45. package/packages/@monomind/cli/dist/src/commands/doctor-project-checks.d.ts +12 -2
  46. package/packages/@monomind/cli/dist/src/commands/doctor-project-checks.js +130 -22
  47. package/packages/@monomind/cli/dist/src/commands/doctor.js +6 -5
  48. package/packages/@monomind/cli/dist/src/commands/guidance.d.ts +5 -1
  49. package/packages/@monomind/cli/dist/src/commands/guidance.js +11 -556
  50. package/packages/@monomind/cli/dist/src/commands/hive-mind-comms.js +11 -4
  51. package/packages/@monomind/cli/dist/src/commands/hive-mind.d.ts +4 -4
  52. package/packages/@monomind/cli/dist/src/commands/hive-mind.js +9 -6
  53. package/packages/@monomind/cli/dist/src/commands/hooks-formatting.d.ts +1 -5
  54. package/packages/@monomind/cli/dist/src/commands/hooks-formatting.js +1 -18
  55. package/packages/@monomind/cli/dist/src/commands/hooks-workers.d.ts +1 -1
  56. package/packages/@monomind/cli/dist/src/commands/hooks-workers.js +82 -330
  57. package/packages/@monomind/cli/dist/src/commands/index.d.ts +0 -5
  58. package/packages/@monomind/cli/dist/src/commands/index.js +0 -45
  59. package/packages/@monomind/cli/dist/src/commands/init-wizard.js +1 -1
  60. package/packages/@monomind/cli/dist/src/commands/init.js +4 -24
  61. package/packages/@monomind/cli/dist/src/commands/neural-core.js +11 -11
  62. package/packages/@monomind/cli/dist/src/commands/neural-optimize.js +9 -11
  63. package/packages/@monomind/cli/dist/src/commands/neural-registry.js +10 -10
  64. package/packages/@monomind/cli/dist/src/commands/providers.js +90 -1
  65. package/packages/@monomind/cli/dist/src/commands/search-universal.d.ts +7 -1
  66. package/packages/@monomind/cli/dist/src/commands/search-universal.js +59 -5
  67. package/packages/@monomind/cli/dist/src/commands/security-cve.js +3 -5
  68. package/packages/@monomind/cli/dist/src/commands/session.js +143 -3
  69. package/packages/@monomind/cli/dist/src/commands/start.js +0 -18
  70. package/packages/@monomind/cli/dist/src/commands/swarm.js +112 -65
  71. package/packages/@monomind/cli/dist/src/consensus/audit-writer.js +43 -1
  72. package/packages/@monomind/cli/dist/src/consensus/tally.d.ts +19 -0
  73. package/packages/@monomind/cli/dist/src/consensus/tally.js +34 -0
  74. package/packages/@monomind/cli/dist/src/index.d.ts +3 -2
  75. package/packages/@monomind/cli/dist/src/index.js +9 -12
  76. package/packages/@monomind/cli/dist/src/init/claudemd-generator.js +10 -14
  77. package/packages/@monomind/cli/dist/src/init/executor.js +39 -86
  78. package/packages/@monomind/cli/dist/src/init/settings-generator.js +0 -12
  79. package/packages/@monomind/cli/dist/src/init/statusline-generator.js +62 -0
  80. package/packages/@monomind/cli/dist/src/init/types.d.ts +2 -6
  81. package/packages/@monomind/cli/dist/src/init/types.js +0 -3
  82. package/packages/@monomind/cli/dist/src/knowledge/document-pipeline.js +18 -8
  83. package/packages/@monomind/cli/dist/src/mcp-client.js +0 -2
  84. package/packages/@monomind/cli/dist/src/mcp-server.js +12 -14
  85. package/packages/@monomind/cli/dist/src/mcp-tools/coherence/coherence-check.js +1 -19
  86. package/packages/@monomind/cli/dist/src/mcp-tools/coherence/types.d.ts +3 -2
  87. package/packages/@monomind/cli/dist/src/mcp-tools/coherence/types.js +3 -18
  88. package/packages/@monomind/cli/dist/src/mcp-tools/embeddings-tools.js +1 -7
  89. package/packages/@monomind/cli/dist/src/mcp-tools/graphify-tools.js +2 -2
  90. package/packages/@monomind/cli/dist/src/mcp-tools/guidance-tools.js +7 -17
  91. package/packages/@monomind/cli/dist/src/mcp-tools/hive-mind-tools.d.ts +8 -1
  92. package/packages/@monomind/cli/dist/src/mcp-tools/hive-mind-tools.js +174 -38
  93. package/packages/@monomind/cli/dist/src/mcp-tools/hooks-advanced.d.ts +18 -0
  94. package/packages/@monomind/cli/dist/src/mcp-tools/hooks-advanced.js +25 -0
  95. package/packages/@monomind/cli/dist/src/mcp-tools/hooks-intelligence.d.ts +4 -8
  96. package/packages/@monomind/cli/dist/src/mcp-tools/hooks-intelligence.js +33 -482
  97. package/packages/@monomind/cli/dist/src/mcp-tools/hooks-routing.d.ts +1 -0
  98. package/packages/@monomind/cli/dist/src/mcp-tools/hooks-routing.js +51 -43
  99. package/packages/@monomind/cli/dist/src/mcp-tools/hooks-synthesis.d.ts +31 -0
  100. package/packages/@monomind/cli/dist/src/mcp-tools/hooks-synthesis.js +196 -0
  101. package/packages/@monomind/cli/dist/src/mcp-tools/hooks-tools.js +10 -8
  102. package/packages/@monomind/cli/dist/src/mcp-tools/index.d.ts +0 -1
  103. package/packages/@monomind/cli/dist/src/mcp-tools/index.js +0 -1
  104. package/packages/@monomind/cli/dist/src/mcp-tools/memory-tools.js +20 -29
  105. package/packages/@monomind/cli/dist/src/mcp-tools/monograph-tools.d.ts +6 -0
  106. package/packages/@monomind/cli/dist/src/mcp-tools/monograph-tools.js +78 -220
  107. package/packages/@monomind/cli/dist/src/mcp-tools/neural-tools.d.ts +9 -4
  108. package/packages/@monomind/cli/dist/src/mcp-tools/neural-tools.js +242 -506
  109. package/packages/@monomind/cli/dist/src/mcp-tools/security-tools.js +103 -0
  110. package/packages/@monomind/cli/dist/src/memory/intelligence.d.ts +2 -1
  111. package/packages/@monomind/cli/dist/src/memory/intelligence.js +56 -43
  112. package/packages/@monomind/cli/dist/src/memory/memory-bridge.js +14 -9
  113. package/packages/@monomind/cli/dist/src/memory/memory-read.js +1 -19
  114. package/packages/@monomind/cli/dist/src/suggest.js +1 -7
  115. package/packages/@monomind/cli/dist/src/transfer/store/discovery.d.ts +3 -2
  116. package/packages/@monomind/cli/dist/src/transfer/store/discovery.js +22 -70
  117. package/packages/@monomind/cli/dist/src/update/checker.js +0 -1
  118. package/packages/@monomind/cli/dist/src/utils/cosine-similarity.d.ts +22 -0
  119. package/packages/@monomind/cli/dist/src/utils/cosine-similarity.js +38 -0
  120. package/packages/@monomind/cli/dist/src/utils/input-guards.d.ts +51 -0
  121. package/packages/@monomind/cli/dist/src/utils/input-guards.js +223 -0
  122. package/packages/@monomind/cli/dist/src/utils/json-file.d.ts +33 -0
  123. package/packages/@monomind/cli/dist/src/utils/json-file.js +57 -0
  124. package/packages/@monomind/cli/package.json +9 -6
  125. package/packages/@monomind/cli/scripts/sync-claude-assets.sh +16 -20
  126. package/scripts/generate-agent-avatars.mjs +0 -8
  127. package/.claude/agents/architecture/system-design/arch-system-design.md +0 -54
  128. package/.claude/agents/consensus/crdt-synchronizer.md +0 -977
  129. package/.claude/agents/consensus/quorum-manager.md +0 -803
  130. package/.claude/agents/consensus/security-manager.md +0 -602
  131. package/.claude/agents/core/coder.md +0 -262
  132. package/.claude/agents/core/coordinator.md +0 -71
  133. package/.claude/agents/core/planner.md +0 -170
  134. package/.claude/agents/core/researcher.md +0 -197
  135. package/.claude/agents/core/reviewer.md +0 -327
  136. package/.claude/agents/core/tester.md +0 -318
  137. package/.claude/agents/design/design-monodesign.md +0 -121
  138. package/.claude/agents/engineering/engineering-ai-data-remediation-engineer.md +0 -212
  139. package/.claude/agents/engineering/engineering-ai-engineer.md +0 -165
  140. package/.claude/agents/engineering/engineering-autonomous-optimization-architect.md +0 -108
  141. package/.claude/agents/engineering/engineering-backend-architect.md +0 -254
  142. package/.claude/agents/engineering/engineering-code-reviewer.md +0 -95
  143. package/.claude/agents/engineering/engineering-data-engineer.md +0 -307
  144. package/.claude/agents/engineering/engineering-database-optimizer.md +0 -200
  145. package/.claude/agents/engineering/engineering-devops-automator.md +0 -430
  146. package/.claude/agents/engineering/engineering-embedded-firmware-engineer.md +0 -174
  147. package/.claude/agents/engineering/engineering-feishu-integration-developer.md +0 -607
  148. package/.claude/agents/engineering/engineering-frontend-developer.md +0 -249
  149. package/.claude/agents/engineering/engineering-git-workflow-master.md +0 -108
  150. package/.claude/agents/engineering/engineering-incident-response-commander.md +0 -482
  151. package/.claude/agents/engineering/engineering-mobile-app-builder.md +0 -499
  152. package/.claude/agents/engineering/engineering-rapid-prototyper.md +0 -463
  153. package/.claude/agents/engineering/engineering-security-engineer.md +0 -303
  154. package/.claude/agents/engineering/engineering-senior-developer.md +0 -195
  155. package/.claude/agents/engineering/engineering-software-architect.md +0 -100
  156. package/.claude/agents/engineering/engineering-solidity-smart-contract-engineer.md +0 -528
  157. package/.claude/agents/engineering/engineering-sre.md +0 -114
  158. package/.claude/agents/engineering/engineering-technical-writer.md +0 -412
  159. package/.claude/agents/engineering/engineering-threat-detection-engineer.md +0 -540
  160. package/.claude/agents/engineering/engineering-wechat-mini-program-developer.md +0 -351
  161. package/.claude/agents/generated/case-analyst.md +0 -50
  162. package/.claude/agents/generated/channel-intelligence-director.md +0 -87
  163. package/.claude/agents/generated/chief-growth-officer.md +0 -88
  164. package/.claude/agents/generated/churn-analyst.md +0 -53
  165. package/.claude/agents/generated/code-reviewer.md +0 -55
  166. package/.claude/agents/generated/code-validator.md +0 -57
  167. package/.claude/agents/generated/complexity-scanner.md +0 -56
  168. package/.claude/agents/generated/content-seo-strategist.md +0 -90
  169. package/.claude/agents/generated/copy-editor.md +0 -45
  170. package/.claude/agents/generated/court-reporter.md +0 -50
  171. package/.claude/agents/generated/defender.md +0 -51
  172. package/.claude/agents/generated/devbot-orchestrator.md +0 -58
  173. package/.claude/agents/generated/devbot-planner.md +0 -63
  174. package/.claude/agents/generated/developer-community-strategist.md +0 -91
  175. package/.claude/agents/generated/editor-in-chief.md +0 -45
  176. package/.claude/agents/generated/fact-checker.md +0 -45
  177. package/.claude/agents/generated/impact-assessor.md +0 -54
  178. package/.claude/agents/generated/judge.md +0 -51
  179. package/.claude/agents/generated/outreach-partnership-strategist.md +0 -90
  180. package/.claude/agents/generated/prosecutor.md +0 -51
  181. package/.claude/agents/generated/reporter.md +0 -45
  182. package/.claude/agents/generated/social-media-strategist.md +0 -91
  183. package/.claude/agents/generated/video-visual-strategist.md +0 -90
  184. package/.claude/agents/github/code-review-swarm.md +0 -557
  185. package/.claude/agents/github/github-modes.md +0 -154
  186. package/.claude/agents/github/issue-tracker.md +0 -299
  187. package/.claude/agents/github/multi-repo-swarm.md +0 -525
  188. package/.claude/agents/github/pr-manager.md +0 -163
  189. package/.claude/agents/github/project-board-sync.md +0 -478
  190. package/.claude/agents/github/release-manager.md +0 -296
  191. package/.claude/agents/github/repo-architect.md +0 -359
  192. package/.claude/agents/github/swarm-issue.md +0 -548
  193. package/.claude/agents/github/swarm-pr.md +0 -427
  194. package/.claude/agents/github/sync-coordinator.md +0 -355
  195. package/.claude/agents/github/workflow-automation.md +0 -640
  196. package/.claude/agents/goal/goal-planner.md +0 -168
  197. package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +0 -129
  198. package/.claude/agents/hive-mind/queen-coordinator.md +0 -202
  199. package/.claude/agents/hive-mind/scout-explorer.md +0 -241
  200. package/.claude/agents/hive-mind/swarm-memory-manager.md +0 -192
  201. package/.claude/agents/hive-mind/worker-specialist.md +0 -216
  202. package/.claude/agents/marketing/marketing-competitive-content.md +0 -155
  203. package/.claude/agents/marketing/marketing-cro-specialist.md +0 -147
  204. package/.claude/agents/marketing/marketing-email-specialist.md +0 -90
  205. package/.claude/agents/marketing/marketing-launch-strategist.md +0 -129
  206. package/.claude/agents/marketing/marketing-pricing-strategist.md +0 -127
  207. package/.claude/agents/optimization/benchmark-suite.md +0 -665
  208. package/.claude/agents/optimization/load-balancer.md +0 -431
  209. package/.claude/agents/optimization/performance-monitor.md +0 -672
  210. package/.claude/agents/optimization/resource-allocator.md +0 -674
  211. package/.claude/agents/optimization/topology-optimizer.md +0 -808
  212. package/.claude/agents/reengineer-squad/boss.md +0 -113
  213. package/.claude/agents/reengineer-squad/critic-architect.md +0 -132
  214. package/.claude/agents/reengineer-squad/git-manager.md +0 -145
  215. package/.claude/agents/reengineer-squad/idea-generator.md +0 -95
  216. package/.claude/agents/reengineer-squad/implementer.md +0 -112
  217. package/.claude/agents/reengineer-squad/integration-planner.md +0 -112
  218. package/.claude/agents/reengineer-squad/source-analyst.md +0 -103
  219. package/.claude/agents/reengineer-squad/target-analyst.md +0 -118
  220. package/.claude/agents/reengineer-squad/tester.md +0 -105
  221. package/.claude/agents/schemas/architecture-output.json +0 -43
  222. package/.claude/agents/schemas/code-review-output.json +0 -28
  223. package/.claude/agents/schemas/generic-task-input.json +0 -12
  224. package/.claude/agents/schemas/implementation-output.json +0 -18
  225. package/.claude/agents/schemas/research-output.json +0 -31
  226. package/.claude/agents/schemas/security-audit-output.json +0 -29
  227. package/.claude/agents/schemas/test-report-output.json +0 -29
  228. package/.claude/agents/sparc/architecture.md +0 -453
  229. package/.claude/agents/sparc/pseudocode.md +0 -299
  230. package/.claude/agents/sparc/refinement.md +0 -504
  231. package/.claude/agents/sparc/specification.md +0 -258
  232. package/.claude/agents/specialists/integration-architect.md +0 -94
  233. package/.claude/agents/specialized/agentic-identity-trust.md +0 -388
  234. package/.claude/agents/specialized/agents-orchestrator.md +0 -368
  235. package/.claude/agents/specialized/automation-governance-architect.md +0 -217
  236. package/.claude/agents/specialized/blockchain-security-auditor.md +0 -497
  237. package/.claude/agents/specialized/compliance-auditor.md +0 -159
  238. package/.claude/agents/specialized/identity-graph-operator.md +0 -261
  239. package/.claude/agents/specialized/lsp-index-engineer.md +0 -315
  240. package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +0 -89
  241. package/.claude/agents/specialized/specialized-cultural-intelligence-strategist.md +0 -89
  242. package/.claude/agents/specialized/specialized-developer-advocate.md +0 -318
  243. package/.claude/agents/specialized/specialized-document-generator.md +0 -56
  244. package/.claude/agents/specialized/specialized-mcp-builder.md +0 -64
  245. package/.claude/agents/specialized/specialized-model-qa.md +0 -489
  246. package/.claude/agents/specialized/specialized-workflow-architect.md +0 -595
  247. package/.claude/agents/specialized/zk-steward.md +0 -212
  248. package/.claude/agents/swarm/mesh-coordinator.md +0 -363
  249. package/.claude/agents/templates/automation-smart-agent.md +0 -185
  250. package/.claude/agents/templates/coordinator-swarm-init.md +0 -83
  251. package/.claude/agents/templates/implementer-sparc-coder.md +0 -231
  252. package/.claude/agents/testing/production-validator.md +0 -375
  253. package/.claude/agents/testing/tdd-london-swarm.md +0 -241
  254. package/.claude/agents/testing/testing-accessibility-auditor.md +0 -322
  255. package/.claude/agents/testing/testing-api-tester.md +0 -307
  256. package/.claude/agents/testing/testing-evidence-collector.md +0 -213
  257. package/.claude/agents/testing/testing-performance-benchmarker.md +0 -269
  258. package/.claude/agents/testing/testing-test-results-analyzer.md +0 -306
  259. package/.claude/agents/testing/testing-tool-evaluator.md +0 -395
  260. package/.claude/agents/testing/testing-workflow-optimizer.md +0 -451
  261. package/.claude/commands/agents/README.md +0 -14
  262. package/.claude/commands/agents/agent-capabilities.md +0 -25
  263. package/.claude/commands/agents/agent-coordination.md +0 -32
  264. package/.claude/commands/agents/agent-spawning.md +0 -32
  265. package/.claude/commands/agents/agent-types.md +0 -30
  266. package/.claude/commands/analysis/README.md +0 -18
  267. package/.claude/commands/analysis/bottleneck-detect.md +0 -69
  268. package/.claude/commands/analysis/performance-bottlenecks.md +0 -59
  269. package/.claude/commands/analysis/performance-report.md +0 -52
  270. package/.claude/commands/analysis/token-usage.md +0 -47
  271. package/.claude/commands/automation/README.md +0 -19
  272. package/.claude/commands/automation/auto-agent.md +0 -86
  273. package/.claude/commands/automation/self-healing.md +0 -108
  274. package/.claude/commands/automation/session-memory.md +0 -89
  275. package/.claude/commands/automation/smart-agents.md +0 -81
  276. package/.claude/commands/automation/smart-spawn.md +0 -66
  277. package/.claude/commands/automation/workflow-select.md +0 -60
  278. package/.claude/commands/coordination/README.md +0 -13
  279. package/.claude/commands/coordination/agent-spawn.md +0 -69
  280. package/.claude/commands/coordination/swarm-init.md +0 -82
  281. package/.claude/commands/coordination/task-orchestrate.md +0 -79
  282. package/.claude/commands/github/README.md +0 -24
  283. package/.claude/commands/github/github-modes.md +0 -151
  284. package/.claude/commands/github/issue-tracker.md +0 -293
  285. package/.claude/commands/github/pr-manager.md +0 -173
  286. package/.claude/commands/github/release-manager.md +0 -343
  287. package/.claude/commands/github/repo-architect.md +0 -379
  288. package/.claude/commands/github/sync-coordinator.md +0 -297
  289. package/.claude/commands/hive-mind/README.md +0 -42
  290. package/.claude/commands/hive-mind/hive-mind-consensus.md +0 -72
  291. package/.claude/commands/hive-mind/hive-mind-init.md +0 -68
  292. package/.claude/commands/hive-mind/hive-mind-memory.md +0 -73
  293. package/.claude/commands/hive-mind/hive-mind-spawn.md +0 -82
  294. package/.claude/commands/hive-mind/hive-mind-status.md +0 -56
  295. package/.claude/commands/hive-mind/hive-mind-stop.md +0 -55
  296. package/.claude/commands/hive-mind/hive-mind.md +0 -87
  297. package/.claude/commands/hooks/README.md +0 -66
  298. package/.claude/commands/hooks/overview.md +0 -112
  299. package/.claude/commands/hooks/post-edit.md +0 -78
  300. package/.claude/commands/hooks/post-task.md +0 -62
  301. package/.claude/commands/hooks/pre-edit.md +0 -81
  302. package/.claude/commands/hooks/pre-task.md +0 -73
  303. package/.claude/commands/hooks/session-end.md +0 -82
  304. package/.claude/commands/hooks/setup.md +0 -132
  305. package/.claude/commands/mastermind/_repeat.md +0 -492
  306. package/.claude/commands/mastermind/_taskfile.md +0 -232
  307. package/.claude/commands/mastermind/adr.md +0 -9
  308. package/.claude/commands/mastermind/approve.md +0 -91
  309. package/.claude/commands/mastermind/architect.md +0 -52
  310. package/.claude/commands/mastermind/autodev.md +0 -28
  311. package/.claude/commands/mastermind/brain.md +0 -99
  312. package/.claude/commands/mastermind/budget.md +0 -5
  313. package/.claude/commands/mastermind/build.md +0 -23
  314. package/.claude/commands/mastermind/code-review.md +0 -314
  315. package/.claude/commands/mastermind/content.md +0 -23
  316. package/.claude/commands/mastermind/createorg.md +0 -136
  317. package/.claude/commands/mastermind/createtask.md +0 -372
  318. package/.claude/commands/mastermind/debug.md +0 -19
  319. package/.claude/commands/mastermind/design.md +0 -17
  320. package/.claude/commands/mastermind/do.md +0 -525
  321. package/.claude/commands/mastermind/execute.md +0 -17
  322. package/.claude/commands/mastermind/finance.md +0 -23
  323. package/.claude/commands/mastermind/finish.md +0 -17
  324. package/.claude/commands/mastermind/graph-status.md +0 -5
  325. package/.claude/commands/mastermind/help.md +0 -115
  326. package/.claude/commands/mastermind/idea.md +0 -23
  327. package/.claude/commands/mastermind/ideate.md +0 -258
  328. package/.claude/commands/mastermind/improve.md +0 -342
  329. package/.claude/commands/mastermind/loops.md +0 -5
  330. package/.claude/commands/mastermind/marketing.md +0 -23
  331. package/.claude/commands/mastermind/master.md +0 -1124
  332. package/.claude/commands/mastermind/memory.md +0 -227
  333. package/.claude/commands/mastermind/okf-export.md +0 -14
  334. package/.claude/commands/mastermind/okf-import.md +0 -15
  335. package/.claude/commands/mastermind/ops.md +0 -23
  336. package/.claude/commands/mastermind/orgs.md +0 -18
  337. package/.claude/commands/mastermind/orgstatus.md +0 -56
  338. package/.claude/commands/mastermind/plan.md +0 -23
  339. package/.claude/commands/mastermind/receive-review.md +0 -17
  340. package/.claude/commands/mastermind/references/antigravity-tools.md +0 -60
  341. package/.claude/commands/mastermind/references/claude-code-tools.md +0 -50
  342. package/.claude/commands/mastermind/references/codex-tools.md +0 -64
  343. package/.claude/commands/mastermind/references/copilot-tools.md +0 -49
  344. package/.claude/commands/mastermind/references/gemini-tools.md +0 -63
  345. package/.claude/commands/mastermind/references/pi-tools.md +0 -28
  346. package/.claude/commands/mastermind/release.md +0 -23
  347. package/.claude/commands/mastermind/repeat.md +0 -254
  348. package/.claude/commands/mastermind/research.md +0 -23
  349. package/.claude/commands/mastermind/review.md +0 -34
  350. package/.claude/commands/mastermind/runorg.md +0 -153
  351. package/.claude/commands/mastermind/sales.md +0 -23
  352. package/.claude/commands/mastermind/skill-builder.md +0 -17
  353. package/.claude/commands/mastermind/specialagents.md +0 -122
  354. package/.claude/commands/mastermind/stoporg.md +0 -75
  355. package/.claude/commands/mastermind/swarm.md +0 -158
  356. package/.claude/commands/mastermind/taskdev.md +0 -23
  357. package/.claude/commands/mastermind/tdd.md +0 -19
  358. package/.claude/commands/mastermind/techport.md +0 -27
  359. package/.claude/commands/mastermind/understand.md +0 -136
  360. package/.claude/commands/mastermind/verify.md +0 -19
  361. package/.claude/commands/mastermind/worktree.md +0 -17
  362. package/.claude/commands/mastermind.md +0 -121
  363. package/.claude/commands/memory/README.md +0 -79
  364. package/.claude/commands/memory/memory-search.md +0 -77
  365. package/.claude/commands/monitoring/README.md +0 -69
  366. package/.claude/commands/monitoring/agent-metrics.md +0 -65
  367. package/.claude/commands/monitoring/agents.md +0 -71
  368. package/.claude/commands/monitoring/status.md +0 -108
  369. package/.claude/commands/monobrowse.md +0 -21
  370. package/.claude/commands/monoes/README.md +0 -30
  371. package/.claude/commands/monoes/install.md +0 -163
  372. package/.claude/commands/monoes/monoagent.md +0 -148
  373. package/.claude/commands/monoes/monoclip.md +0 -64
  374. package/.claude/commands/monoes/monotask.md +0 -137
  375. package/.claude/commands/monograph/README.md +0 -102
  376. package/.claude/commands/monograph/monograph-build.md +0 -79
  377. package/.claude/commands/monograph/monograph-search.md +0 -96
  378. package/.claude/commands/monograph/monograph-stats.md +0 -53
  379. package/.claude/commands/monograph/monograph-watch.md +0 -63
  380. package/.claude/commands/monograph/monograph-wiki.md +0 -91
  381. package/.claude/commands/optimization/auto-topology.md +0 -85
  382. package/.claude/commands/optimization/performance-optimize.md +0 -79
  383. package/.claude/commands/pair/README.md +0 -79
  384. package/.claude/commands/pair/examples.md +0 -156
  385. package/.claude/commands/pair/modes.md +0 -122
  386. package/.claude/commands/pair/session.md +0 -124
  387. package/.claude/commands/sparc/analyzer.md +0 -35
  388. package/.claude/commands/sparc/architect.md +0 -36
  389. package/.claude/commands/sparc/ask.md +0 -56
  390. package/.claude/commands/sparc/batch-executor.md +0 -37
  391. package/.claude/commands/sparc/code.md +0 -48
  392. package/.claude/commands/sparc/coder.md +0 -37
  393. package/.claude/commands/sparc/debug.md +0 -42
  394. package/.claude/commands/sparc/debugger.md +0 -37
  395. package/.claude/commands/sparc/designer.md +0 -36
  396. package/.claude/commands/sparc/devops.md +0 -68
  397. package/.claude/commands/sparc/docs-writer.md +0 -39
  398. package/.claude/commands/sparc/documenter.md +0 -37
  399. package/.claude/commands/sparc/innovator.md +0 -37
  400. package/.claude/commands/sparc/integration.md +0 -42
  401. package/.claude/commands/sparc/mcp.md +0 -76
  402. package/.claude/commands/sparc/memory-manager.md +0 -57
  403. package/.claude/commands/sparc/optimizer.md +0 -37
  404. package/.claude/commands/sparc/orchestrator.md +0 -70
  405. package/.claude/commands/sparc/post-deployment-monitoring-mode.md +0 -42
  406. package/.claude/commands/sparc/refinement-optimization-mode.md +0 -42
  407. package/.claude/commands/sparc/researcher.md +0 -37
  408. package/.claude/commands/sparc/reviewer.md +0 -37
  409. package/.claude/commands/sparc/security-review.md +0 -39
  410. package/.claude/commands/sparc/sparc-modes.md +0 -120
  411. package/.claude/commands/sparc/sparc.md +0 -71
  412. package/.claude/commands/sparc/spec-pseudocode.md +0 -39
  413. package/.claude/commands/sparc/supabase-admin.md +0 -301
  414. package/.claude/commands/sparc/swarm-coordinator.md +0 -50
  415. package/.claude/commands/sparc/tdd.md +0 -37
  416. package/.claude/commands/sparc/tester.md +0 -37
  417. package/.claude/commands/sparc/tutorial.md +0 -38
  418. package/.claude/commands/sparc/workflow-manager.md +0 -37
  419. package/.claude/commands/sparc.md +0 -112
  420. package/.claude/commands/stream-chain/pipeline.md +0 -116
  421. package/.claude/commands/stream-chain/run.md +0 -156
  422. package/.claude/commands/swarm/README.md +0 -40
  423. package/.claude/commands/swarm/analysis.md +0 -73
  424. package/.claude/commands/swarm/development.md +0 -72
  425. package/.claude/commands/swarm/examples.md +0 -103
  426. package/.claude/commands/swarm/maintenance.md +0 -75
  427. package/.claude/commands/swarm/optimization.md +0 -84
  428. package/.claude/commands/swarm/research.md +0 -76
  429. package/.claude/commands/swarm/swarm.md +0 -79
  430. package/.claude/commands/swarm/testing.md +0 -80
  431. package/.claude/commands/tokens.md +0 -18
  432. package/.claude/commands/truth/start.md +0 -121
  433. package/.claude/commands/ts.md +0 -14
  434. package/.claude/commands/workflows/README.md +0 -65
  435. package/.claude/commands/workflows/development.md +0 -86
  436. package/.claude/commands/workflows/research.md +0 -89
  437. package/.claude/commands/workflows/workflow-create.md +0 -84
  438. package/.claude/commands/workflows/workflow-execute.md +0 -103
  439. package/.claude/commands/workflows/workflow-export.md +0 -90
  440. package/.claude/helpers/control-start.cjs +0 -184
  441. package/.claude/helpers/event-logger.cjs +0 -155
  442. package/.claude/helpers/extras-registry.json +0 -5141
  443. package/.claude/helpers/graphify-freshen.cjs +0 -140
  444. package/.claude/helpers/handlers/adr-draft-handler.cjs +0 -78
  445. package/.claude/helpers/handlers/agent-start-handler.cjs +0 -83
  446. package/.claude/helpers/handlers/budget-status-handler.cjs +0 -14
  447. package/.claude/helpers/handlers/capture-handler.cjs +0 -583
  448. package/.claude/helpers/handlers/compact-handler.cjs +0 -35
  449. package/.claude/helpers/handlers/edit-handler.cjs +0 -145
  450. package/.claude/helpers/handlers/gates-handler.cjs +0 -138
  451. package/.claude/helpers/handlers/graph-status-handler.cjs +0 -45
  452. package/.claude/helpers/handlers/loops-status-handler.cjs +0 -48
  453. package/.claude/helpers/handlers/route-handler.cjs +0 -381
  454. package/.claude/helpers/handlers/session-handler.cjs +0 -234
  455. package/.claude/helpers/handlers/session-restore-handler.cjs +0 -375
  456. package/.claude/helpers/handlers/stats-handler.cjs +0 -14
  457. package/.claude/helpers/handlers/task-handler.cjs +0 -206
  458. package/.claude/helpers/hook-handler.cjs +0 -765
  459. package/.claude/helpers/intelligence.cjs +0 -338
  460. package/.claude/helpers/learning-service.mjs +0 -61
  461. package/.claude/helpers/loop-tracker.cjs +0 -119
  462. package/.claude/helpers/mastermind-activate.cjs +0 -35
  463. package/.claude/helpers/memory-palace.cjs +0 -461
  464. package/.claude/helpers/memory.cjs +0 -193
  465. package/.claude/helpers/metrics-db.mjs +0 -87
  466. package/.claude/helpers/monolean-activate.cjs +0 -30
  467. package/.claude/helpers/monolean-config.cjs +0 -76
  468. package/.claude/helpers/monolean-instructions.cjs +0 -109
  469. package/.claude/helpers/monolean-propagate.cjs +0 -13
  470. package/.claude/helpers/monolean-tracker.cjs +0 -18
  471. package/.claude/helpers/router.cjs +0 -364
  472. package/.claude/helpers/session.cjs +0 -140
  473. package/.claude/helpers/skill-registry.json +0 -1043
  474. package/.claude/helpers/statusline.cjs +0 -1344
  475. package/.claude/helpers/toggle-statusline.cjs +0 -73
  476. package/.claude/helpers/token-tracker.cjs +0 -934
  477. package/.claude/helpers/utils/micro-agents.cjs +0 -354
  478. package/.claude/helpers/utils/monograph.cjs +0 -480
  479. package/.claude/helpers/utils/telemetry.cjs +0 -146
  480. package/.claude/mcp.json +0 -3
  481. package/.claude/scheduled_tasks.lock +0 -1
  482. package/.claude/settings.json +0 -475
  483. package/.claude/skills/.monomind/data/ranked-context.json +0 -5
  484. package/.claude/skills/.monomind/sessions/current.json +0 -13
  485. package/.claude/skills/.monomind/sessions/session-1777829336455.json +0 -15
  486. package/.claude/skills/.monomind/sessions/session-1777831614725.json +0 -15
  487. package/.claude/skills/.monomind/sessions/session-1777832095857.json +0 -15
  488. package/.claude/skills/.monomind/sessions/session-1777839814183.json +0 -15
  489. package/.claude/skills/.monomind/sessions/session-1777841847131.json +0 -15
  490. package/.claude/skills/.monomind/sessions/session-1777843309463.json +0 -15
  491. package/.claude/skills/.monomind/sessions/session-1777880867159.json +0 -15
  492. package/.claude/skills/.monomind/sessions/session-1777881884593.json +0 -15
  493. package/.claude/skills/.monomind/sessions/session-1777884090471.json +0 -15
  494. package/.claude/skills/.monomind/sessions/session-1777884808221.json +0 -15
  495. package/.claude/skills/.monomind/sessions/session-1777885672155.json +0 -15
  496. package/.claude/skills/.monomind/sessions/session-1777886852818.json +0 -15
  497. package/.claude/skills/.monomind/sessions/session-1777896532690.json +0 -15
  498. package/.claude/skills/agent-browser-testing/SKILL.md +0 -964
  499. package/.claude/skills/agentic-jujutsu/SKILL.md +0 -645
  500. package/.claude/skills/github-issue-triage/SKILL.md +0 -354
  501. package/.claude/skills/github-repo-recap/SKILL.md +0 -207
  502. package/.claude/skills/hive-mind-advanced/SKILL.md +0 -709
  503. package/.claude/skills/hooks-automation/SKILL.md +0 -1193
  504. package/.claude/skills/mastermind-skills/_agent-select.md +0 -132
  505. package/.claude/skills/mastermind-skills/_delegation.md +0 -83
  506. package/.claude/skills/mastermind-skills/_intake.md +0 -83
  507. package/.claude/skills/mastermind-skills/_protocol.md +0 -404
  508. package/.claude/skills/mastermind-skills/_repeat.md +0 -171
  509. package/.claude/skills/mastermind-skills/access.md +0 -236
  510. package/.claude/skills/mastermind-skills/activity.md +0 -191
  511. package/.claude/skills/mastermind-skills/adapter-manager.md +0 -259
  512. package/.claude/skills/mastermind-skills/adapters.md +0 -204
  513. package/.claude/skills/mastermind-skills/agent-detail.md +0 -242
  514. package/.claude/skills/mastermind-skills/agents.md +0 -178
  515. package/.claude/skills/mastermind-skills/approval-detail.md +0 -259
  516. package/.claude/skills/mastermind-skills/approve.md +0 -188
  517. package/.claude/skills/mastermind-skills/architect.md +0 -862
  518. package/.claude/skills/mastermind-skills/autodev.md +0 -360
  519. package/.claude/skills/mastermind-skills/backup.md +0 -197
  520. package/.claude/skills/mastermind-skills/bootstrap.md +0 -190
  521. package/.claude/skills/mastermind-skills/budgets.md +0 -237
  522. package/.claude/skills/mastermind-skills/build.md +0 -170
  523. package/.claude/skills/mastermind-skills/code-quality-reviewer-prompt.md +0 -60
  524. package/.claude/skills/mastermind-skills/companies.md +0 -256
  525. package/.claude/skills/mastermind-skills/content.md +0 -197
  526. package/.claude/skills/mastermind-skills/costs.md +0 -151
  527. package/.claude/skills/mastermind-skills/createorg.md +0 -862
  528. package/.claude/skills/mastermind-skills/debug.md +0 -232
  529. package/.claude/skills/mastermind-skills/design.md +0 -189
  530. package/.claude/skills/mastermind-skills/diagnose.md +0 -249
  531. package/.claude/skills/mastermind-skills/env.md +0 -198
  532. package/.claude/skills/mastermind-skills/environments.md +0 -250
  533. package/.claude/skills/mastermind-skills/execute.md +0 -104
  534. package/.claude/skills/mastermind-skills/export.md +0 -333
  535. package/.claude/skills/mastermind-skills/finance.md +0 -166
  536. package/.claude/skills/mastermind-skills/finish.md +0 -251
  537. package/.claude/skills/mastermind-skills/goal-detail.md +0 -255
  538. package/.claude/skills/mastermind-skills/goals.md +0 -149
  539. package/.claude/skills/mastermind-skills/heartbeat.md +0 -164
  540. package/.claude/skills/mastermind-skills/idea.md +0 -1142
  541. package/.claude/skills/mastermind-skills/implementer-prompt.md +0 -109
  542. package/.claude/skills/mastermind-skills/import.md +0 -281
  543. package/.claude/skills/mastermind-skills/inbox.md +0 -214
  544. package/.claude/skills/mastermind-skills/instance-settings.md +0 -315
  545. package/.claude/skills/mastermind-skills/instance.md +0 -233
  546. package/.claude/skills/mastermind-skills/invite-landing.md +0 -227
  547. package/.claude/skills/mastermind-skills/invites.md +0 -254
  548. package/.claude/skills/mastermind-skills/issue-detail.md +0 -291
  549. package/.claude/skills/mastermind-skills/issues.md +0 -235
  550. package/.claude/skills/mastermind-skills/join-queue.md +0 -170
  551. package/.claude/skills/mastermind-skills/liveness.md +0 -392
  552. package/.claude/skills/mastermind-skills/marketing.md +0 -228
  553. package/.claude/skills/mastermind-skills/memory.md +0 -321
  554. package/.claude/skills/mastermind-skills/monitor.md +0 -1284
  555. package/.claude/skills/mastermind-skills/monotask.md +0 -350
  556. package/.claude/skills/mastermind-skills/my-issues.md +0 -146
  557. package/.claude/skills/mastermind-skills/new-agent.md +0 -241
  558. package/.claude/skills/mastermind-skills/ops.md +0 -168
  559. package/.claude/skills/mastermind-skills/org-chart.md +0 -209
  560. package/.claude/skills/mastermind-skills/org-settings.md +0 -254
  561. package/.claude/skills/mastermind-skills/orgs.md +0 -98
  562. package/.claude/skills/mastermind-skills/orgstatus.md +0 -194
  563. package/.claude/skills/mastermind-skills/plan-to-tasks.md +0 -136
  564. package/.claude/skills/mastermind-skills/plan.md +0 -198
  565. package/.claude/skills/mastermind-skills/plugin-manager.md +0 -241
  566. package/.claude/skills/mastermind-skills/plugin-settings.md +0 -273
  567. package/.claude/skills/mastermind-skills/plugins.md +0 -190
  568. package/.claude/skills/mastermind-skills/profile.md +0 -187
  569. package/.claude/skills/mastermind-skills/project-detail.md +0 -249
  570. package/.claude/skills/mastermind-skills/project-workspace.md +0 -244
  571. package/.claude/skills/mastermind-skills/projects.md +0 -164
  572. package/.claude/skills/mastermind-skills/receive-review.md +0 -213
  573. package/.claude/skills/mastermind-skills/references/copywriting-frameworks.md +0 -181
  574. package/.claude/skills/mastermind-skills/references/persuasion-psychology.md +0 -158
  575. package/.claude/skills/mastermind-skills/release.md +0 -168
  576. package/.claude/skills/mastermind-skills/research.md +0 -168
  577. package/.claude/skills/mastermind-skills/review.md +0 -233
  578. package/.claude/skills/mastermind-skills/routine-detail.md +0 -253
  579. package/.claude/skills/mastermind-skills/routines.md +0 -203
  580. package/.claude/skills/mastermind-skills/runorg.md +0 -714
  581. package/.claude/skills/mastermind-skills/sales.md +0 -170
  582. package/.claude/skills/mastermind-skills/search.md +0 -186
  583. package/.claude/skills/mastermind-skills/secrets.md +0 -199
  584. package/.claude/skills/mastermind-skills/skill-builder.md +0 -274
  585. package/.claude/skills/mastermind-skills/skills.md +0 -156
  586. package/.claude/skills/mastermind-skills/spec-reviewer-prompt.md +0 -63
  587. package/.claude/skills/mastermind-skills/stoporg.md +0 -138
  588. package/.claude/skills/mastermind-skills/taskdev.md +0 -307
  589. package/.claude/skills/mastermind-skills/tasks.md +0 -149
  590. package/.claude/skills/mastermind-skills/tdd.md +0 -394
  591. package/.claude/skills/mastermind-skills/techport.md +0 -777
  592. package/.claude/skills/mastermind-skills/threads.md +0 -259
  593. package/.claude/skills/mastermind-skills/tree-control.md +0 -250
  594. package/.claude/skills/mastermind-skills/verify.md +0 -196
  595. package/.claude/skills/mastermind-skills/wiki.md +0 -314
  596. package/.claude/skills/mastermind-skills/workspace-detail.md +0 -317
  597. package/.claude/skills/mastermind-skills/workspaces.md +0 -261
  598. package/.claude/skills/mastermind-skills/worktree.md +0 -215
  599. package/.claude/skills/monodesign/SKILL.md +0 -333
  600. package/.claude/skills/monodesign/adapt.md +0 -53
  601. package/.claude/skills/monodesign/agents/monodesign-asset-producer.md +0 -100
  602. package/.claude/skills/monodesign/animate.md +0 -65
  603. package/.claude/skills/monodesign/audit.md +0 -89
  604. package/.claude/skills/monodesign/bolder.md +0 -50
  605. package/.claude/skills/monodesign/clarify.md +0 -64
  606. package/.claude/skills/monodesign/colorize.md +0 -68
  607. package/.claude/skills/monodesign/craft.md +0 -51
  608. package/.claude/skills/monodesign/critique.md +0 -66
  609. package/.claude/skills/monodesign/delight.md +0 -47
  610. package/.claude/skills/monodesign/distill.md +0 -56
  611. package/.claude/skills/monodesign/document.md +0 -83
  612. package/.claude/skills/monodesign/extract.md +0 -74
  613. package/.claude/skills/monodesign/harden.md +0 -65
  614. package/.claude/skills/monodesign/live.md +0 -59
  615. package/.claude/skills/monodesign/onboard.md +0 -50
  616. package/.claude/skills/monodesign/optimize.md +0 -64
  617. package/.claude/skills/monodesign/overdrive.md +0 -56
  618. package/.claude/skills/monodesign/polish.md +0 -68
  619. package/.claude/skills/monodesign/quieter.md +0 -57
  620. package/.claude/skills/monodesign/reference/adapt.md +0 -190
  621. package/.claude/skills/monodesign/reference/animate.md +0 -175
  622. package/.claude/skills/monodesign/reference/antipatterns-catalog.md +0 -359
  623. package/.claude/skills/monodesign/reference/audit.md +0 -133
  624. package/.claude/skills/monodesign/reference/bolder.md +0 -113
  625. package/.claude/skills/monodesign/reference/brand-workflow.md +0 -180
  626. package/.claude/skills/monodesign/reference/brand.md +0 -114
  627. package/.claude/skills/monodesign/reference/clarify.md +0 -174
  628. package/.claude/skills/monodesign/reference/codex.md +0 -107
  629. package/.claude/skills/monodesign/reference/cognitive-load.md +0 -106
  630. package/.claude/skills/monodesign/reference/color-and-contrast.md +0 -105
  631. package/.claude/skills/monodesign/reference/colorize.md +0 -154
  632. package/.claude/skills/monodesign/reference/component-specs.md +0 -260
  633. package/.claude/skills/monodesign/reference/component-states.md +0 -274
  634. package/.claude/skills/monodesign/reference/component-system.md +0 -358
  635. package/.claude/skills/monodesign/reference/copy-formulas.md +0 -160
  636. package/.claude/skills/monodesign/reference/craft.md +0 -196
  637. package/.claude/skills/monodesign/reference/critique.md +0 -213
  638. package/.claude/skills/monodesign/reference/delight.md +0 -302
  639. package/.claude/skills/monodesign/reference/design-principles.md +0 -246
  640. package/.claude/skills/monodesign/reference/distill.md +0 -111
  641. package/.claude/skills/monodesign/reference/document.md +0 -427
  642. package/.claude/skills/monodesign/reference/extract.md +0 -69
  643. package/.claude/skills/monodesign/reference/harden.md +0 -347
  644. package/.claude/skills/monodesign/reference/heuristics-scoring.md +0 -234
  645. package/.claude/skills/monodesign/reference/hooks.md +0 -99
  646. package/.claude/skills/monodesign/reference/image-prompts.md +0 -130
  647. package/.claude/skills/monodesign/reference/interaction-design.md +0 -195
  648. package/.claude/skills/monodesign/reference/layout.md +0 -141
  649. package/.claude/skills/monodesign/reference/live.md +0 -622
  650. package/.claude/skills/monodesign/reference/motion-design.md +0 -109
  651. package/.claude/skills/monodesign/reference/onboard.md +0 -234
  652. package/.claude/skills/monodesign/reference/optimize.md +0 -258
  653. package/.claude/skills/monodesign/reference/overdrive.md +0 -130
  654. package/.claude/skills/monodesign/reference/personas.md +0 -179
  655. package/.claude/skills/monodesign/reference/polish.md +0 -233
  656. package/.claude/skills/monodesign/reference/pre-delivery-checklist.md +0 -108
  657. package/.claude/skills/monodesign/reference/product.md +0 -62
  658. package/.claude/skills/monodesign/reference/quieter.md +0 -99
  659. package/.claude/skills/monodesign/reference/responsive-design.md +0 -114
  660. package/.claude/skills/monodesign/reference/shape.md +0 -151
  661. package/.claude/skills/monodesign/reference/spatial-design.md +0 -100
  662. package/.claude/skills/monodesign/reference/teach.md +0 -156
  663. package/.claude/skills/monodesign/reference/token-architecture.md +0 -222
  664. package/.claude/skills/monodesign/reference/typeset.md +0 -124
  665. package/.claude/skills/monodesign/reference/typography.md +0 -159
  666. package/.claude/skills/monodesign/reference/ux-research.md +0 -143
  667. package/.claude/skills/monodesign/reference/ux-rules.md +0 -211
  668. package/.claude/skills/monodesign/reference/ux-writing.md +0 -107
  669. package/.claude/skills/monodesign/shape.md +0 -71
  670. package/.claude/skills/monodesign/teach.md +0 -69
  671. package/.claude/skills/monodesign/typeset.md +0 -59
  672. package/.claude/skills/monolean/SKILL.md +0 -118
  673. package/.claude/skills/monolean-audit/SKILL.md +0 -41
  674. package/.claude/skills/monolean-debt/SKILL.md +0 -46
  675. package/.claude/skills/monolean-help/SKILL.md +0 -60
  676. package/.claude/skills/monolean-review/SKILL.md +0 -57
  677. package/.claude/skills/monomind/.monomind/registry.json +0 -6
  678. package/.claude/skills/monomind/browse-agentcore.md +0 -115
  679. package/.claude/skills/monomind/browse-electron.md +0 -188
  680. package/.claude/skills/monomind/browse-qa.md +0 -228
  681. package/.claude/skills/monomind/browse-references/authentication.md +0 -161
  682. package/.claude/skills/monomind/browse-references/trust-boundaries.md +0 -40
  683. package/.claude/skills/monomind/browse-references/video-recording.md +0 -83
  684. package/.claude/skills/monomind/browse-slack.md +0 -188
  685. package/.claude/skills/monomind/browse-vercel.md +0 -239
  686. package/.claude/skills/monomind/browse.md +0 -724
  687. package/.claude/skills/monomotion/SKILL.md +0 -145
  688. package/.claude/skills/monomotion/rules/api-control.md +0 -139
  689. package/.claude/skills/monomotion/rules/effects.md +0 -109
  690. package/.claude/skills/monomotion/rules/integration.md +0 -140
  691. package/.claude/skills/monomotion/rules/scroll.md +0 -131
  692. package/.claude/skills/monomotion/rules/sequencing.md +0 -105
  693. package/.claude/skills/monomotion/rules/svg.md +0 -101
  694. package/.claude/skills/monomotion/rules/text.md +0 -119
  695. package/.claude/skills/pair-programming/SKILL.md +0 -1202
  696. package/.claude/skills/performance-analysis/SKILL.md +0 -560
  697. package/.claude/skills/skill-builder/SKILL.md +0 -910
  698. package/.claude/skills/sparc-methodology/SKILL.md +0 -950
  699. package/.claude/skills/specialagent/SKILL.md +0 -208
  700. package/.claude/skills/stop-slop/SKILL.md +0 -67
  701. package/.claude/skills/stop-slop/references/examples.md +0 -61
  702. package/.claude/skills/stop-slop/references/phrases.md +0 -130
  703. package/.claude/skills/stop-slop/references/structures.md +0 -136
  704. package/.claude/skills/swarm-advanced/SKILL.md +0 -937
  705. package/.claude/skills/swarm-orchestration/SKILL.md +0 -179
  706. package/.claude/skills/verification-quality/SKILL.md +0 -674
  707. package/.claude/workflows/feature-dev.yaml +0 -18
  708. package/.claude/workflows/security-audit.yaml +0 -10
  709. package/packages/@monomind/cli/.claude/agents/generated/case-analyst.md +0 -50
  710. package/packages/@monomind/cli/.claude/agents/generated/channel-intelligence-director.md +0 -87
  711. package/packages/@monomind/cli/.claude/agents/generated/chief-growth-officer.md +0 -88
  712. package/packages/@monomind/cli/.claude/agents/generated/churn-analyst.md +0 -53
  713. package/packages/@monomind/cli/.claude/agents/generated/code-reviewer.md +0 -55
  714. package/packages/@monomind/cli/.claude/agents/generated/code-validator.md +0 -57
  715. package/packages/@monomind/cli/.claude/agents/generated/complexity-scanner.md +0 -56
  716. package/packages/@monomind/cli/.claude/agents/generated/content-seo-strategist.md +0 -90
  717. package/packages/@monomind/cli/.claude/agents/generated/copy-editor.md +0 -45
  718. package/packages/@monomind/cli/.claude/agents/generated/court-reporter.md +0 -50
  719. package/packages/@monomind/cli/.claude/agents/generated/defender.md +0 -51
  720. package/packages/@monomind/cli/.claude/agents/generated/devbot-orchestrator.md +0 -58
  721. package/packages/@monomind/cli/.claude/agents/generated/devbot-planner.md +0 -63
  722. package/packages/@monomind/cli/.claude/agents/generated/developer-community-strategist.md +0 -91
  723. package/packages/@monomind/cli/.claude/agents/generated/editor-in-chief.md +0 -45
  724. package/packages/@monomind/cli/.claude/agents/generated/fact-checker.md +0 -45
  725. package/packages/@monomind/cli/.claude/agents/generated/impact-assessor.md +0 -54
  726. package/packages/@monomind/cli/.claude/agents/generated/judge.md +0 -51
  727. package/packages/@monomind/cli/.claude/agents/generated/outreach-partnership-strategist.md +0 -90
  728. package/packages/@monomind/cli/.claude/agents/generated/prosecutor.md +0 -51
  729. package/packages/@monomind/cli/.claude/agents/generated/reporter.md +0 -45
  730. package/packages/@monomind/cli/.claude/agents/generated/social-media-strategist.md +0 -91
  731. package/packages/@monomind/cli/.claude/agents/generated/video-visual-strategist.md +0 -90
  732. package/packages/@monomind/cli/.claude/agents/reengineer-squad/boss.md +0 -113
  733. package/packages/@monomind/cli/.claude/agents/reengineer-squad/critic-architect.md +0 -132
  734. package/packages/@monomind/cli/.claude/agents/reengineer-squad/git-manager.md +0 -145
  735. package/packages/@monomind/cli/.claude/agents/reengineer-squad/idea-generator.md +0 -95
  736. package/packages/@monomind/cli/.claude/agents/reengineer-squad/implementer.md +0 -112
  737. package/packages/@monomind/cli/.claude/agents/reengineer-squad/integration-planner.md +0 -112
  738. package/packages/@monomind/cli/.claude/agents/reengineer-squad/source-analyst.md +0 -103
  739. package/packages/@monomind/cli/.claude/agents/reengineer-squad/target-analyst.md +0 -118
  740. package/packages/@monomind/cli/.claude/agents/reengineer-squad/tester.md +0 -105
  741. package/packages/@monomind/cli/.claude/agents/sparc/architecture.md +0 -453
  742. package/packages/@monomind/cli/.claude/agents/sparc/pseudocode.md +0 -299
  743. package/packages/@monomind/cli/.claude/agents/sparc/refinement.md +0 -504
  744. package/packages/@monomind/cli/.claude/agents/sparc/specification.md +0 -258
  745. package/packages/@monomind/cli/.claude/agents/templates/implementer-sparc-coder.md +0 -231
  746. package/packages/@monomind/cli/.claude/commands/sparc/analyzer.md +0 -35
  747. package/packages/@monomind/cli/.claude/commands/sparc/architect.md +0 -36
  748. package/packages/@monomind/cli/.claude/commands/sparc/ask.md +0 -56
  749. package/packages/@monomind/cli/.claude/commands/sparc/batch-executor.md +0 -37
  750. package/packages/@monomind/cli/.claude/commands/sparc/code.md +0 -48
  751. package/packages/@monomind/cli/.claude/commands/sparc/coder.md +0 -37
  752. package/packages/@monomind/cli/.claude/commands/sparc/debug.md +0 -42
  753. package/packages/@monomind/cli/.claude/commands/sparc/debugger.md +0 -37
  754. package/packages/@monomind/cli/.claude/commands/sparc/designer.md +0 -36
  755. package/packages/@monomind/cli/.claude/commands/sparc/devops.md +0 -68
  756. package/packages/@monomind/cli/.claude/commands/sparc/docs-writer.md +0 -39
  757. package/packages/@monomind/cli/.claude/commands/sparc/documenter.md +0 -37
  758. package/packages/@monomind/cli/.claude/commands/sparc/innovator.md +0 -37
  759. package/packages/@monomind/cli/.claude/commands/sparc/integration.md +0 -42
  760. package/packages/@monomind/cli/.claude/commands/sparc/mcp.md +0 -76
  761. package/packages/@monomind/cli/.claude/commands/sparc/memory-manager.md +0 -57
  762. package/packages/@monomind/cli/.claude/commands/sparc/optimizer.md +0 -37
  763. package/packages/@monomind/cli/.claude/commands/sparc/orchestrator.md +0 -70
  764. package/packages/@monomind/cli/.claude/commands/sparc/post-deployment-monitoring-mode.md +0 -42
  765. package/packages/@monomind/cli/.claude/commands/sparc/refinement-optimization-mode.md +0 -42
  766. package/packages/@monomind/cli/.claude/commands/sparc/researcher.md +0 -37
  767. package/packages/@monomind/cli/.claude/commands/sparc/reviewer.md +0 -37
  768. package/packages/@monomind/cli/.claude/commands/sparc/security-review.md +0 -39
  769. package/packages/@monomind/cli/.claude/commands/sparc/sparc-modes.md +0 -120
  770. package/packages/@monomind/cli/.claude/commands/sparc/sparc.md +0 -71
  771. package/packages/@monomind/cli/.claude/commands/sparc/spec-pseudocode.md +0 -39
  772. package/packages/@monomind/cli/.claude/commands/sparc/supabase-admin.md +0 -301
  773. package/packages/@monomind/cli/.claude/commands/sparc/swarm-coordinator.md +0 -50
  774. package/packages/@monomind/cli/.claude/commands/sparc/tdd.md +0 -37
  775. package/packages/@monomind/cli/.claude/commands/sparc/tester.md +0 -37
  776. package/packages/@monomind/cli/.claude/commands/sparc/tutorial.md +0 -38
  777. package/packages/@monomind/cli/.claude/commands/sparc/workflow-manager.md +0 -37
  778. package/packages/@monomind/cli/.claude/commands/sparc.md +0 -112
  779. package/packages/@monomind/cli/.claude/skills/sparc-methodology/SKILL.md +0 -950
  780. package/packages/@monomind/cli/dist/src/capabilities/enrichment.d.ts +0 -44
  781. package/packages/@monomind/cli/dist/src/capabilities/enrichment.js +0 -141
  782. package/packages/@monomind/cli/dist/src/commands/analyze-boundaries.d.ts +0 -14
  783. package/packages/@monomind/cli/dist/src/commands/analyze-boundaries.js +0 -295
  784. package/packages/@monomind/cli/dist/src/commands/analyze-graph.d.ts +0 -14
  785. package/packages/@monomind/cli/dist/src/commands/analyze-graph.js +0 -304
  786. package/packages/@monomind/cli/dist/src/commands/claims.d.ts +0 -10
  787. package/packages/@monomind/cli/dist/src/commands/claims.js +0 -650
  788. package/packages/@monomind/cli/dist/src/commands/daemon.d.ts +0 -8
  789. package/packages/@monomind/cli/dist/src/commands/daemon.js +0 -681
  790. package/packages/@monomind/cli/dist/src/commands/enrich.d.ts +0 -10
  791. package/packages/@monomind/cli/dist/src/commands/enrich.js +0 -58
  792. package/packages/@monomind/cli/dist/src/commands/issues.d.ts +0 -21
  793. package/packages/@monomind/cli/dist/src/commands/issues.js +0 -575
  794. package/packages/@monomind/cli/dist/src/commands/workflow.d.ts +0 -8
  795. package/packages/@monomind/cli/dist/src/commands/workflow.js +0 -575
  796. package/packages/@monomind/cli/dist/src/mcp-tools/workflow-tools.d.ts +0 -8
  797. package/packages/@monomind/cli/dist/src/mcp-tools/workflow-tools.js +0 -717
  798. package/packages/@monomind/cli/dist/src/services/claim-service.d.ts +0 -198
  799. package/packages/@monomind/cli/dist/src/services/claim-service.js +0 -890
  800. package/packages/@monomind/cli/dist/src/services/headless-worker-executor.d.ts +0 -311
  801. package/packages/@monomind/cli/dist/src/services/headless-worker-executor.js +0 -1183
  802. package/packages/@monomind/cli/dist/src/services/worker-daemon.d.ts +0 -230
  803. package/packages/@monomind/cli/dist/src/services/worker-daemon.js +0 -1350
  804. package/packages/@monomind/cli/dist/src/ui/.monomind/capture/active-run.json +0 -1
  805. package/packages/@monomind/guidance/README.md +0 -87
  806. package/packages/@monomind/guidance/dist/adversarial.d.ts +0 -284
  807. package/packages/@monomind/guidance/dist/adversarial.js +0 -572
  808. package/packages/@monomind/guidance/dist/analyzer.d.ts +0 -530
  809. package/packages/@monomind/guidance/dist/analyzer.js +0 -2518
  810. package/packages/@monomind/guidance/dist/artifacts.d.ts +0 -283
  811. package/packages/@monomind/guidance/dist/artifacts.js +0 -356
  812. package/packages/@monomind/guidance/dist/authority.d.ts +0 -290
  813. package/packages/@monomind/guidance/dist/authority.js +0 -558
  814. package/packages/@monomind/guidance/dist/capabilities.d.ts +0 -209
  815. package/packages/@monomind/guidance/dist/capabilities.js +0 -485
  816. package/packages/@monomind/guidance/dist/coherence.d.ts +0 -233
  817. package/packages/@monomind/guidance/dist/coherence.js +0 -378
  818. package/packages/@monomind/guidance/dist/compiler.d.ts +0 -87
  819. package/packages/@monomind/guidance/dist/compiler.js +0 -425
  820. package/packages/@monomind/guidance/dist/conformance-kit.d.ts +0 -225
  821. package/packages/@monomind/guidance/dist/conformance-kit.js +0 -629
  822. package/packages/@monomind/guidance/dist/continue-gate.d.ts +0 -214
  823. package/packages/@monomind/guidance/dist/continue-gate.js +0 -353
  824. package/packages/@monomind/guidance/dist/crypto-utils.d.ts +0 -17
  825. package/packages/@monomind/guidance/dist/crypto-utils.js +0 -24
  826. package/packages/@monomind/guidance/dist/evolution.d.ts +0 -282
  827. package/packages/@monomind/guidance/dist/evolution.js +0 -500
  828. package/packages/@monomind/guidance/dist/gates.d.ts +0 -79
  829. package/packages/@monomind/guidance/dist/gates.js +0 -302
  830. package/packages/@monomind/guidance/dist/gateway.d.ts +0 -206
  831. package/packages/@monomind/guidance/dist/gateway.js +0 -452
  832. package/packages/@monomind/guidance/dist/generators.d.ts +0 -153
  833. package/packages/@monomind/guidance/dist/generators.js +0 -682
  834. package/packages/@monomind/guidance/dist/headless.d.ts +0 -177
  835. package/packages/@monomind/guidance/dist/headless.js +0 -342
  836. package/packages/@monomind/guidance/dist/hooks.d.ts +0 -109
  837. package/packages/@monomind/guidance/dist/hooks.js +0 -347
  838. package/packages/@monomind/guidance/dist/index.d.ts +0 -203
  839. package/packages/@monomind/guidance/dist/index.js +0 -320
  840. package/packages/@monomind/guidance/dist/ledger.d.ts +0 -162
  841. package/packages/@monomind/guidance/dist/ledger.js +0 -375
  842. package/packages/@monomind/guidance/dist/manifest-validator.d.ts +0 -289
  843. package/packages/@monomind/guidance/dist/manifest-validator.js +0 -838
  844. package/packages/@monomind/guidance/dist/memory-gate.d.ts +0 -222
  845. package/packages/@monomind/guidance/dist/memory-gate.js +0 -382
  846. package/packages/@monomind/guidance/dist/meta-governance.d.ts +0 -265
  847. package/packages/@monomind/guidance/dist/meta-governance.js +0 -348
  848. package/packages/@monomind/guidance/dist/optimizer.d.ts +0 -104
  849. package/packages/@monomind/guidance/dist/optimizer.js +0 -329
  850. package/packages/@monomind/guidance/dist/persistence.d.ts +0 -189
  851. package/packages/@monomind/guidance/dist/persistence.js +0 -464
  852. package/packages/@monomind/guidance/dist/proof.d.ts +0 -185
  853. package/packages/@monomind/guidance/dist/proof.js +0 -238
  854. package/packages/@monomind/guidance/dist/retriever.d.ts +0 -116
  855. package/packages/@monomind/guidance/dist/retriever.js +0 -394
  856. package/packages/@monomind/guidance/dist/ruvbot-integration.d.ts +0 -370
  857. package/packages/@monomind/guidance/dist/ruvbot-integration.js +0 -738
  858. package/packages/@monomind/guidance/dist/temporal.d.ts +0 -428
  859. package/packages/@monomind/guidance/dist/temporal.js +0 -660
  860. package/packages/@monomind/guidance/dist/trust.d.ts +0 -283
  861. package/packages/@monomind/guidance/dist/trust.js +0 -474
  862. package/packages/@monomind/guidance/dist/truth-anchors.d.ts +0 -276
  863. package/packages/@monomind/guidance/dist/truth-anchors.js +0 -488
  864. package/packages/@monomind/guidance/dist/types.d.ts +0 -378
  865. package/packages/@monomind/guidance/dist/types.js +0 -10
  866. package/packages/@monomind/guidance/dist/uncertainty.d.ts +0 -372
  867. package/packages/@monomind/guidance/dist/uncertainty.js +0 -619
  868. package/packages/@monomind/guidance/dist/wasm-kernel.d.ts +0 -48
  869. package/packages/@monomind/guidance/dist/wasm-kernel.js +0 -158
  870. package/packages/@monomind/guidance/package.json +0 -119
@@ -1,765 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Monomind Hook Handler (Cross-Platform)
4
- * Dispatches hook events to the appropriate helper modules.
5
- *
6
- * ARCHITECTURE NOTE — Two Hook Systems
7
- * =====================================
8
- * There are two independent hook systems in this project:
9
- *
10
- * 1. .claude/helpers/ CJS handlers (THIS FILE and ./handlers/*.cjs)
11
- * These are the handlers that actually run via settings.json hook
12
- * configuration. They are plain CommonJS scripts invoked directly
13
- * by Claude Code's hook runtime. This is the "live" system.
14
- *
15
- * 2. @monomind/hooks TypeScript package (packages/@monomind/hooks/)
16
- * A full TypeScript package with workers, learning services, and
17
- * a WorkerManager. It compiles to dist/ but is only loaded
18
- * optionally — currently at session-restore (to bridge pre-task /
19
- * post-task into the hook registry) and at session-restore for a
20
- * non-blocking security scan. The CJS handlers in system (1) are
21
- * the authoritative dispatch path; system (2) provides optional
22
- * enrichment when the package is installed and built.
23
- */
24
-
25
- const path = require('path');
26
- const fs = require('fs');
27
-
28
- const helpersDir = __dirname;
29
- const CWD = process.env.CLAUDE_PROJECT_DIR || process.cwd();
30
-
31
- const telemetry = require('./utils/telemetry.cjs');
32
- const monograph = require('./utils/monograph.cjs');
33
- const microAgents = require('./utils/micro-agents.cjs');
34
-
35
- const {
36
- _recordRecentEdit, _getRecentEdits, _recordToolCall,
37
- _getBudgetStatus, _recordHookLatency, _recordDecisionMarkers,
38
- } = telemetry;
39
-
40
- const {
41
- _requireMonograph, _openMonographDb, _isGraphFresh,
42
- getMonographSuggestions, getMonographNeighbors,
43
- _recordGraphTelemetry, _injectCompactGraphMap,
44
- _findAffectedTests, _maybeRebuildMonograph,
45
- } = monograph;
46
-
47
- const {
48
- safeRequire,
49
- _triggerExtractYamlValue, _triggerFinalize, _triggerExtractFromFrontmatter,
50
- _triggerCollectMdFiles, _triggerBuildIndex, scanMicroAgentTriggers,
51
- _buildKnowledgeSearchFn, _autoIndexKnowledge,
52
- } = microAgents;
53
-
54
- // ── LearningService module-level singleton ─────────────────────────────────────
55
- // Singleton contract: one LearningService instance is created per hook-handler
56
- // process. initialize() opens the SQLite DB; consolidate() is called at
57
- // session-end. Hoisting to module scope ensures the DB is not reopened on every
58
- // session-end invocation (which would create a fresh in-memory-only instance
59
- // each time, discarding any state accumulated during the session).
60
- //
61
- // We cache the Promise (not the resolved value) so that concurrent callers all
62
- // await the same initialization. Caching only the resolved value allowed two
63
- // concurrent callers to both enter the `if (!_learningService)` branch and
64
- // construct separate LearningService instances, leaving an orphaned DB handle.
65
- var _learningServicePromise = null;
66
- async function getLearningService() {
67
- if (!_learningServicePromise) {
68
- _learningServicePromise = (async function() {
69
- try {
70
- var lsMod = await import('file://' + path.join(__dirname, 'learning-service.mjs'));
71
- var LearningService = lsMod.LearningService || (lsMod.default && lsMod.default.LearningService);
72
- if (!LearningService) return null;
73
- var svc = new LearningService();
74
- if (typeof svc.initialize === 'function') await svc.initialize();
75
- return svc;
76
- } catch (e) {
77
- _learningServicePromise = null; // allow retry on error
78
- return null;
79
- }
80
- })();
81
- }
82
- return _learningServicePromise;
83
- }
84
-
85
-
86
- const router = safeRequire(path.join(helpersDir, 'router.cjs'));
87
- const session = safeRequire(path.join(helpersDir, 'session.cjs'));
88
- const memory = safeRequire(path.join(helpersDir, 'memory.cjs'));
89
- const intelligence = safeRequire(path.join(helpersDir, 'intelligence.cjs'));
90
-
91
- // Module-level reference to @monomind/hooks — populated at session-restore,
92
- // then used by pre-task / post-task to bridge into the hook registry (Tasks 26, 39).
93
- let _hooksModule = null;
94
-
95
- // ── Intelligence timeout protection (fixes #1530, #1531) ───────────────────
96
- var INTELLIGENCE_TIMEOUT_MS = 1500;
97
- function runWithTimeout(fn, label) {
98
- return new Promise(function(resolve) {
99
- var settled = false;
100
- var timer = setTimeout(function() {
101
- if (!settled) {
102
- settled = true;
103
- process.stderr.write("[WARN] " + label + " timed out after " + INTELLIGENCE_TIMEOUT_MS + "ms, skipping\n");
104
- resolve(null);
105
- }
106
- }, INTELLIGENCE_TIMEOUT_MS);
107
- Promise.resolve().then(fn).then(
108
- function(result) { if (!settled) { settled = true; clearTimeout(timer); resolve(result); } },
109
- function() { if (!settled) { settled = true; clearTimeout(timer); resolve(null); } }
110
- );
111
- });
112
- }
113
-
114
-
115
- const [,, command, ...args] = process.argv;
116
-
117
- // Read stdin — Claude Code sends hook data as JSON via stdin
118
- // Uses a timeout to prevent hanging when stdin is in an ambiguous state
119
- // (not TTY, not a proper pipe) which happens with Claude Code hook invocations.
120
- // Hard cap at 1 MiB: a legitimate hook payload (tool name + input) is at most
121
- // a few KB; anything larger is either a bug or an adversarial OOM attempt.
122
- const MAX_STDIN_BYTES = 1 * 1024 * 1024; // 1 MiB
123
- async function readStdin() {
124
- if (process.stdin.isTTY) return '';
125
- return new Promise((resolve) => {
126
- let data = '';
127
- let byteCount = 0;
128
- let truncated = false;
129
- const timer = setTimeout(() => {
130
- process.stdin.removeAllListeners();
131
- process.stdin.pause();
132
- resolve(data);
133
- }, 500);
134
- process.stdin.setEncoding('utf8');
135
- process.stdin.on('data', (chunk) => {
136
- if (truncated) return;
137
- byteCount += Buffer.byteLength(chunk, 'utf8');
138
- if (byteCount > MAX_STDIN_BYTES) {
139
- truncated = true;
140
- process.stdin.pause();
141
- clearTimeout(timer);
142
- resolve(''); // discard oversized input to prevent OOM
143
- return;
144
- }
145
- data += chunk;
146
- });
147
- process.stdin.on('end', () => { clearTimeout(timer); resolve(data); });
148
- process.stdin.on('error', () => { clearTimeout(timer); resolve(data); });
149
- process.stdin.resume();
150
- });
151
- }
152
-
153
- async function main() {
154
- // Global safety timeout: hooks must NEVER hang (#1530, #1531)
155
- var safetyTimer = setTimeout(function() {
156
- process.stderr.write("[WARN] Hook handler global timeout (5s), forcing exit\n");
157
- process.exit(0);
158
- }, 5000);
159
- safetyTimer.unref();
160
-
161
- let stdinData = '';
162
- try { stdinData = await readStdin(); } catch (e) { /* ignore stdin errors */ }
163
-
164
- let hookInput = {};
165
- if (stdinData.trim()) {
166
- try {
167
- const parsed = JSON.parse(stdinData);
168
- if (parsed !== null && typeof parsed === 'object' && !Array.isArray(parsed)) {
169
- hookInput = parsed;
170
- }
171
- } catch (e) { /* ignore parse errors */ }
172
- }
173
-
174
- // Merge stdin data into prompt resolution: prefer stdin fields, then env vars.
175
- // NEVER fall back to argv args — shell glob expansion of braces in bash output
176
- // creates junk files (#1342). Use env vars or stdin only.
177
- // Normalize snake_case/camelCase: Claude Code sends tool_input/tool_name (snake_case)
178
- var toolInput = hookInput.toolInput || hookInput.tool_input || {};
179
- var toolName = hookInput.toolName || hookInput.tool_name || '';
180
-
181
- var prompt = hookInput.prompt || hookInput.command
182
- || (typeof toolInput === 'string' ? toolInput : (toolInput.command || toolInput.prompt || ''))
183
- || process.env.PROMPT || process.env.TOOL_INPUT_command || '';
184
-
185
- // Detect prompts that are predefined single-action commands that don't
186
- // need agent routing or skill suggestions — invoking those adds token
187
- // overhead without any benefit.
188
- function isSimpleCommand(p) {
189
- if (typeof p !== 'string') return false;
190
- var s = p.trim();
191
- // Slash commands: /ts, /list-agents, /commit, /help, /use-agent etc.
192
- if (/^\/[a-z0-9_-]+(\s|$)/i.test(s)) return true;
193
- // Short single-word operator tokens (toggle, list, status)
194
- if (/^(ts|ls|ps|pwd|help|clear|exit|quit|status|toggle|refresh)$/i.test(s)) return true;
195
- // Already-resolved command messages (Claude Code sends hook with command-name context)
196
- var cmdName = hookInput.commandName || hookInput.command_name || '';
197
- if (cmdName && cmdName.length > 0) return true;
198
- return false;
199
- }
200
-
201
- // Build shared hook context — passed to extracted handler modules so they
202
- // don't need to capture main()-scoped or module-scoped variables via closure.
203
- var hCtx = {
204
- hookInput: hookInput,
205
- toolInput: toolInput,
206
- toolName: toolName,
207
- prompt: prompt,
208
- args: args,
209
- CWD: CWD,
210
- session: session,
211
- router: router,
212
- intelligence: intelligence,
213
- getLearningService: getLearningService,
214
- isSimpleCommand: isSimpleCommand,
215
- // Module-level singleton (populated by session-restore handler)
216
- get _hooksModule() { return _hooksModule; },
217
- set _hooksModule(v) { _hooksModule = v; },
218
- // Utility functions
219
- _recordRecentEdit: _recordRecentEdit,
220
- _getRecentEdits: _getRecentEdits,
221
- _findAffectedTests: _findAffectedTests,
222
- _recordHookLatency: _recordHookLatency,
223
- _getBudgetStatus: _getBudgetStatus,
224
- _injectCompactGraphMap: _injectCompactGraphMap,
225
- _maybeRebuildMonograph: _maybeRebuildMonograph,
226
- _buildKnowledgeSearchFn: _buildKnowledgeSearchFn,
227
- getMonographSuggestions: getMonographSuggestions,
228
- getMonographNeighbors: getMonographNeighbors,
229
- runWithTimeout: runWithTimeout,
230
- safeRequire: safeRequire,
231
- scanMicroAgentTriggers: scanMicroAgentTriggers,
232
- _recordGraphTelemetry: _recordGraphTelemetry,
233
- _recordDecisionMarkers: _recordDecisionMarkers,
234
- _recordToolCall: _recordToolCall,
235
- _openMonographDb: _openMonographDb,
236
- _requireMonograph: _requireMonograph,
237
- _isGraphFresh: _isGraphFresh,
238
- _triggerExtractYamlValue: _triggerExtractYamlValue,
239
- _triggerFinalize: _triggerFinalize,
240
- _triggerExtractFromFrontmatter: _triggerExtractFromFrontmatter,
241
- _triggerCollectMdFiles: _triggerCollectMdFiles,
242
- _triggerBuildIndex: _triggerBuildIndex,
243
- _autoIndexKnowledge: _autoIndexKnowledge,
244
- helpersDir: helpersDir,
245
- fs: fs,
246
- path: path,
247
- };
248
-
249
- const handlers = {
250
- 'route': async () => {
251
- const h = require('./handlers/route-handler.cjs');
252
- await h.handle(hCtx);
253
- },
254
-
255
- 'post-edit': async () => {
256
- const h = require('./handlers/edit-handler.cjs');
257
- await h.handle(hCtx);
258
- },
259
-
260
-
261
- 'session-restore': async () => {
262
- const h = require('./handlers/session-restore-handler.cjs');
263
- await h.handleRestore(hCtx);
264
- },
265
-
266
-
267
- 'session-end': async () => {
268
- const h = require('./handlers/session-handler.cjs');
269
- await h.handleEnd(hCtx);
270
- },
271
-
272
-
273
- 'pre-task': async () => {
274
- const h = require('./handlers/task-handler.cjs');
275
- await h.handlePreTask(hCtx);
276
- },
277
-
278
-
279
- 'post-task': async () => {
280
- const h = require('./handlers/task-handler.cjs');
281
- await h.handlePostTask(hCtx);
282
- },
283
-
284
-
285
- 'compact-manual': async () => {
286
- const h = require('./handlers/compact-handler.cjs');
287
- await h.handle(hCtx, 'manual');
288
- },
289
-
290
- 'compact-auto': async () => {
291
- const h = require('./handlers/compact-handler.cjs');
292
- await h.handle(hCtx, 'auto');
293
- },
294
-
295
- 'agent-start': () => {
296
- const h = require('./handlers/agent-start-handler.cjs');
297
- h.handle(hCtx);
298
- },
299
-
300
- 'adr-draft': () => {
301
- const h = require('./handlers/adr-draft-handler.cjs');
302
- h.handle(hCtx);
303
- },
304
-
305
- 'pre-bash': () => {
306
- var cmd = (hCtx.toolInput && (hCtx.toolInput.command || hCtx.toolInput.cmd)) || '';
307
- var isGrep = /\b(?:grep|rg|ag)\b/.test(cmd);
308
- var isFind = /\b(?:find|fd)\b/.test(cmd) && !isGrep;
309
- if (isGrep || isFind) {
310
- var graphAssisted = false;
311
- if (_isGraphFresh()) {
312
- try {
313
- if (isGrep) {
314
- // Extract pattern from grep/rg/ag — find the first quoted string that
315
- // looks like a search pattern (not a flag value like "*.ts" or "!dir")
316
- var grepCmd = cmd.match(/\b(grep|rg|ag)\b/)[1];
317
- var cmdAfterTool = cmd.slice(cmd.indexOf(grepCmd) + grepCmd.length);
318
- var allQuoted = [];
319
- var _qre = /["']([^"']{3,80})["']/g;
320
- var _qm;
321
- while ((_qm = _qre.exec(cmdAfterTool)) !== null) allQuoted.push(_qm[1]);
322
- // Pick the first quoted string that looks like identifier/symbol, not a glob/path
323
- var pattern = allQuoted.find(function(q) { return /[a-zA-Z]/.test(q) && !/^[!*.]/.test(q) && !/[*?{}]/.test(q); });
324
- // Fallback: unquoted bare identifier after flags
325
- if (!pattern) {
326
- var _um = cmdAfterTool.match(/(?:^|\s)(?!-)([a-zA-Z_$][a-zA-Z0-9_$-]*[a-zA-Z0-9])(?:\s|$)/);
327
- if (_um) pattern = _um[1];
328
- }
329
- if (pattern && pattern.length >= 3 && pattern.length <= 80) {
330
- var db = _openMonographDb();
331
- if (db) {
332
- // Stop words: language keywords + generic single-word identifiers
333
- // that match Variable nodes in markdown/scripts (not real code symbols)
334
- // monolean: only JS/TS reserved words — generic identifiers (handler, config, router, etc.) are valid symbol names
335
- var _grepStop = {import:1,export:1,from:1,require:1,return:1,function:1,const:1,let:1,var:1,class:1,interface:1,type:1,extends:1,implements:1,async:1,await:1,yield:1,throw:1,catch:1,finally:1,typeof:1,instanceof:1,void:1,null:1,undefined:1,true:1,false:1,this:1,super:1,new:1,delete:1,switch:1,case:1,break:1,continue:1,default:1,else:1,while:1,for:1,with:1,static:1,enum:1,string:1,number:1,object:1,boolean:1};
336
-
337
- // --- Strategy 1: clean identifier → exact name match (case-sensitive) ---
338
- if (/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(pattern) && pattern.length >= 4
339
- && !_grepStop[pattern.toLowerCase()]) {
340
- var row = db.prepare(
341
- 'SELECT n.name, n.file_path, n.start_line FROM nodes n WHERE n.name = ? AND n.label NOT IN (\'Concept\',\'Community\',\'Folder\') AND n.file_path IS NOT NULL AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
342
- ).get(pattern);
343
- if (row) {
344
- graphAssisted = true;
345
- var hint = row.file_path + (row.start_line != null ? ':' + row.start_line : '');
346
- console.log('[MONOGRAPH_HINT] ' + pattern + ' → ' + hint);
347
- }
348
- }
349
-
350
- // --- Strategy 2: case-insensitive name match (uses COLLATE NOCASE index) ---
351
- if (!graphAssisted && /^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(pattern) && pattern.length >= 4
352
- && !_grepStop[pattern.toLowerCase()]) {
353
- var row = db.prepare(
354
- 'SELECT n.name, n.file_path, n.start_line FROM nodes n WHERE n.name = ? COLLATE NOCASE AND n.label NOT IN (\'Concept\',\'Community\',\'Folder\') AND n.file_path IS NOT NULL AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
355
- ).get(pattern);
356
- if (row) {
357
- graphAssisted = true;
358
- var hint = row.file_path + (row.start_line != null ? ':' + row.start_line : '');
359
- console.log('[MONOGRAPH_HINT] ' + row.name + ' → ' + hint);
360
- }
361
- }
362
-
363
- // --- Strategy 3: dotted filename (db.ts, orchestrator.ts) → File node lookup ---
364
- if (!graphAssisted && /^[a-zA-Z0-9_-]+\.[a-z]{1,4}$/.test(pattern)) {
365
- var row = db.prepare(
366
- 'SELECT n.name, n.file_path FROM nodes n WHERE n.name = ? AND n.label = \'File\' LIMIT 1'
367
- ).get(pattern);
368
- if (row) {
369
- graphAssisted = true;
370
- console.log('[MONOGRAPH_HINT] file ' + pattern + ' → ' + row.file_path);
371
- }
372
- }
373
-
374
- // --- Strategy 4: file path fragment (hyphenated: "scope-resolution") ---
375
- if (!graphAssisted && /^[a-zA-Z0-9_-]+(\.[a-zA-Z]+)?$/.test(pattern) && pattern.length >= 5
376
- && pattern.indexOf('-') !== -1) {
377
- var pathLike = '%/' + pattern + '%';
378
- var row = db.prepare(
379
- 'SELECT n.name, n.file_path FROM nodes n WHERE n.label = \'File\' AND n.file_path LIKE ? LIMIT 1'
380
- ).get(pathLike);
381
- if (row) {
382
- graphAssisted = true;
383
- console.log('[MONOGRAPH_HINT] file ' + pattern + ' → ' + row.file_path);
384
- }
385
- }
386
-
387
- // --- Strategy 5: extract ≥4-char identifiers from regex patterns ---
388
- if (!graphAssisted) {
389
- var identifiers = pattern.match(/[a-zA-Z_$][a-zA-Z0-9_$]{3,}/g) || [];
390
- var tried = {};
391
- for (var ji = 0; ji < identifiers.length && !graphAssisted; ji++) {
392
- var id = identifiers[ji];
393
- if (_grepStop[id.toLowerCase()] || tried[id.toLowerCase()]) continue;
394
- tried[id.toLowerCase()] = 1;
395
- var row2 = db.prepare(
396
- 'SELECT n.name, n.file_path, n.start_line FROM nodes n WHERE n.name = ? COLLATE NOCASE AND n.label NOT IN (\'Concept\',\'Community\',\'Folder\') AND n.file_path IS NOT NULL AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
397
- ).get(id);
398
- if (row2) {
399
- graphAssisted = true;
400
- var hint2 = row2.file_path + (row2.start_line != null ? ':' + row2.start_line : '');
401
- console.log('[MONOGRAPH_HINT] ' + row2.name + ' → ' + hint2);
402
- }
403
- }
404
- }
405
-
406
- // --- Strategy 6: FTS5 trigram substring match ---
407
- if (!graphAssisted && pattern.length >= 4) {
408
- try {
409
- var ftsPattern = '"' + pattern.replace(/"/g, '""') + '"';
410
- var ftsRow = db.prepare(
411
- 'SELECT n.name, n.file_path, n.start_line FROM nodes_fts f ' +
412
- 'JOIN nodes n ON n.rowid = f.rowid ' +
413
- 'WHERE nodes_fts MATCH ? ' +
414
- 'AND n.label NOT IN (\'Concept\',\'Community\',\'Folder\') ' +
415
- 'AND n.file_path IS NOT NULL AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
416
- ).get(ftsPattern);
417
- if (ftsRow) {
418
- graphAssisted = true;
419
- var ftsHint = ftsRow.file_path + (ftsRow.start_line != null ? ':' + ftsRow.start_line : '');
420
- console.log('[MONOGRAPH_HINT] ' + ftsRow.name + ' → ' + ftsHint);
421
- }
422
- } catch (e) { /* FTS table may not exist */ }
423
- }
424
-
425
- // --- Strategy 7: dotted property access (ctx.allFilesCached, cache.hashFile) ---
426
- if (!graphAssisted && pattern.indexOf('.') !== -1 && /^[a-zA-Z_$]/.test(pattern)) {
427
- var dotParts = pattern.split('.').filter(function(p) { return p.length >= 4 && /^[a-zA-Z_$]/.test(p); });
428
- for (var di = dotParts.length - 1; di >= 0 && !graphAssisted; di--) {
429
- var dp = dotParts[di];
430
- if (_grepStop[dp.toLowerCase()]) continue;
431
- var drow = db.prepare(
432
- 'SELECT n.name, n.file_path, n.start_line FROM nodes n WHERE n.name = ? COLLATE NOCASE AND n.label NOT IN (\'Concept\',\'Community\',\'Folder\') AND n.file_path IS NOT NULL AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
433
- ).get(dp);
434
- if (drow) {
435
- graphAssisted = true;
436
- var dhint = drow.file_path + (drow.start_line != null ? ':' + drow.start_line : '');
437
- console.log('[MONOGRAPH_HINT] ' + drow.name + ' → ' + dhint);
438
- }
439
- }
440
- }
441
-
442
- // --- Strategy 8: snake_case → camelCase conversion ---
443
- if (!graphAssisted && pattern.indexOf('_') !== -1 && /^[a-z]/.test(pattern) && pattern.length >= 6) {
444
- var camel = pattern.replace(/_([a-z])/g, function(_, c) { return c.toUpperCase(); });
445
- if (camel !== pattern && !_grepStop[camel.toLowerCase()]) {
446
- var crow = db.prepare(
447
- 'SELECT n.name, n.file_path, n.start_line FROM nodes n WHERE n.name = ? COLLATE NOCASE AND n.label NOT IN (\'Concept\',\'Community\',\'Folder\') AND n.file_path IS NOT NULL AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
448
- ).get(camel);
449
- if (crow) {
450
- graphAssisted = true;
451
- var chint = crow.file_path + (crow.start_line != null ? ':' + crow.start_line : '');
452
- console.log('[MONOGRAPH_HINT] ' + crow.name + ' → ' + chint);
453
- }
454
- }
455
- }
456
-
457
- // --- Strategy 9: alternation patterns (TODO\|FIXME, mock\|fake\|stub) ---
458
- if (!graphAssisted && pattern.indexOf('|') !== -1) {
459
- var altParts = pattern.split(/\\?\|/).map(function(p) {
460
- return p.replace(/[^a-zA-Z0-9_$]/g, '');
461
- }).filter(function(p) {
462
- return p.length >= 4 && /^[a-zA-Z_$]/.test(p) && !_grepStop[p.toLowerCase()];
463
- });
464
- for (var ai = 0; ai < altParts.length && !graphAssisted; ai++) {
465
- var arow = db.prepare(
466
- 'SELECT n.name, n.file_path, n.start_line FROM nodes n WHERE n.name = ? COLLATE NOCASE AND n.label NOT IN (\'Concept\',\'Community\',\'Folder\') AND n.file_path IS NOT NULL AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
467
- ).get(altParts[ai]);
468
- if (arow) {
469
- graphAssisted = true;
470
- var ahint = arow.file_path + (arow.start_line != null ? ':' + arow.start_line : '');
471
- console.log('[MONOGRAPH_HINT] ' + arow.name + ' → ' + ahint);
472
- }
473
- }
474
- }
475
-
476
- }
477
- }
478
- // --- Strategy 10: grep targeting a known source directory ---
479
- // Runs outside `if (pattern)` so it works even when pattern extraction fails
480
- if (!graphAssisted) {
481
- var db10 = _openMonographDb();
482
- if (db10) {
483
- var dirMatch10 = cmdAfterTool.match(/\b(src|packages(?:\/[a-zA-Z0-9_@/-]*)?)\//);
484
- if (dirMatch10) {
485
- var dirPath10 = dirMatch10[1].replace(/\/$/, '');
486
- var drow10 = db10.prepare(
487
- 'SELECT COUNT(*) AS c FROM nodes WHERE label = \'File\' AND file_path LIKE ? LIMIT 1'
488
- ).get('%' + dirPath10 + '/%');
489
- if (drow10 && drow10.c > 0) {
490
- graphAssisted = true;
491
- console.log('[MONOGRAPH_HINT] grep scope ' + dirPath10 + ' has ' + drow10.c + ' indexed files');
492
- }
493
- }
494
- }
495
- }
496
- } else {
497
- // find/fd -name "foo.ts" — check if the filename exists in File nodes
498
- var fm = cmd.match(/-name\s+["']([^"'*?]+\.[a-z]+)["']/);
499
- if (fm && fm[1]) {
500
- var db = _openMonographDb();
501
- if (db) {
502
- var row = db.prepare(
503
- 'SELECT n.file_path FROM nodes n WHERE n.name = ? AND n.label = \'File\' LIMIT 1'
504
- ).get(fm[1]);
505
- if (row) {
506
- graphAssisted = true;
507
- console.log('[MONOGRAPH_HINT] file ' + fm[1] + ' → ' + row.file_path);
508
- }
509
- }
510
- }
511
- // find -name "*worker*" — extract core word from wildcard patterns
512
- if (!graphAssisted) {
513
- var wm = cmd.match(/-name\s+["'][*]?([a-zA-Z][a-zA-Z0-9_-]{3,})[*]?(?:\.[a-z]+)?["']/);
514
- if (wm && wm[1]) {
515
- var db = _openMonographDb();
516
- if (db) {
517
- var wrow = db.prepare(
518
- 'SELECT n.name, n.file_path FROM nodes n WHERE n.name LIKE ? AND n.label = \'File\' AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
519
- ).get('%' + wm[1] + '%');
520
- if (wrow) {
521
- graphAssisted = true;
522
- console.log('[MONOGRAPH_HINT] file *' + wm[1] + '* → ' + wrow.file_path);
523
- }
524
- }
525
- }
526
- }
527
- // find with -type f in a known directory scope
528
- if (!graphAssisted) {
529
- var fdm = cmd.match(/\bfind\s+(\S*(?:src|packages|lib|app)[a-zA-Z0-9_@/-]*)/);
530
- if (fdm && fdm[1]) {
531
- var db = _openMonographDb();
532
- if (db) {
533
- var fdrow = db.prepare(
534
- 'SELECT COUNT(*) AS c FROM nodes WHERE label = \'File\' AND file_path LIKE ? LIMIT 1'
535
- ).get(fdm[1].replace(/\/$/, '') + '/%');
536
- if (fdrow && fdrow.c > 0) {
537
- graphAssisted = true;
538
- console.log('[MONOGRAPH_HINT] find scope ' + fdm[1] + ' has ' + fdrow.c + ' indexed files');
539
- }
540
- }
541
- }
542
- }
543
- }
544
- } catch (e) { /* non-fatal */ }
545
- }
546
- if (graphAssisted) _recordGraphTelemetry('graph_assist_search');
547
- else if (isGrep) _recordGraphTelemetry('bash_grep_call');
548
- else _recordGraphTelemetry('bash_find_call');
549
- }
550
- // Enforcement gate: destructive operations
551
- var gates = require('./handlers/gates-handler.cjs');
552
- gates.handlePreBash(hCtx);
553
- },
554
-
555
- 'pre-write': () => {
556
- // Enforcement gate: secrets detection before Write/Edit/MultiEdit lands on disk
557
- var gates = require('./handlers/gates-handler.cjs');
558
- gates.handlePreWrite(hCtx);
559
- },
560
-
561
- 'pre-search': () => {
562
- var tool = hCtx.toolName || '';
563
- var graphResolved = false;
564
- try {
565
- var grepPattern = (typeof toolInput === 'object' && toolInput !== null)
566
- ? (toolInput.pattern || toolInput.query || '')
567
- : '';
568
- if (grepPattern.length >= 4 && grepPattern.length <= 80 && _isGraphFresh()) {
569
- var db = _openMonographDb();
570
- if (db) {
571
- try {
572
- // monolean: only JS/TS reserved words — generic identifiers are valid symbol names
573
- var _searchStop = {import:1,export:1,from:1,require:1,return:1,function:1,const:1,let:1,var:1,class:1,interface:1,type:1,extends:1,implements:1,async:1,await:1,yield:1,throw:1,catch:1,finally:1,typeof:1,instanceof:1,void:1,null:1,undefined:1,true:1,false:1,this:1,super:1,new:1,delete:1,switch:1,case:1,break:1,continue:1,default:1,else:1,while:1,for:1,with:1,static:1,enum:1,string:1,number:1,object:1,boolean:1};
574
-
575
- var isCleanSymbol = /^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(grepPattern);
576
-
577
- // Strategy 1: exact name match (case-sensitive)
578
- if (isCleanSymbol && !_searchStop[grepPattern.toLowerCase()]) {
579
- var row = db.prepare(
580
- 'SELECT n.name, n.file_path, n.start_line FROM nodes n ' +
581
- 'WHERE n.name = ? AND n.label NOT IN (\'Concept\',\'Community\',\'Folder\') ' +
582
- 'AND n.file_path IS NOT NULL AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
583
- ).get(grepPattern);
584
- if (row) {
585
- graphResolved = true;
586
- var hint = row.file_path + (row.start_line != null ? ':' + row.start_line : '');
587
- console.log('[MONOGRAPH_HINT] ' + grepPattern + ' found at ' + hint);
588
- }
589
- }
590
-
591
- // Strategy 2: case-insensitive name match (uses COLLATE NOCASE index)
592
- if (!graphResolved && isCleanSymbol && !_searchStop[grepPattern.toLowerCase()]) {
593
- var row = db.prepare(
594
- 'SELECT n.name, n.file_path, n.start_line FROM nodes n ' +
595
- 'WHERE n.name = ? COLLATE NOCASE AND n.label NOT IN (\'Concept\',\'Community\',\'Folder\') ' +
596
- 'AND n.file_path IS NOT NULL AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
597
- ).get(grepPattern);
598
- if (row) {
599
- graphResolved = true;
600
- var hint = row.file_path + (row.start_line != null ? ':' + row.start_line : '');
601
- console.log('[MONOGRAPH_HINT] ' + row.name + ' found at ' + hint);
602
- }
603
- }
604
-
605
- // Strategy 3: dotted filename (db.ts, orchestrator.ts) → File node lookup
606
- if (!graphResolved && /^[a-zA-Z0-9_-]+\.[a-z]{1,4}$/.test(grepPattern)) {
607
- var row = db.prepare(
608
- 'SELECT n.name, n.file_path FROM nodes n WHERE n.name = ? AND n.label = \'File\' LIMIT 1'
609
- ).get(grepPattern);
610
- if (row) {
611
- graphResolved = true;
612
- console.log('[MONOGRAPH_HINT] file ' + grepPattern + ' found at ' + row.file_path);
613
- }
614
- }
615
-
616
- // Strategy 4: file path fragment (hyphenated: "scope-resolution")
617
- if (!graphResolved && /^[a-zA-Z0-9_-]+(\.[a-zA-Z]+)?$/.test(grepPattern)
618
- && grepPattern.length >= 5 && grepPattern.indexOf('-') !== -1) {
619
- var pathLike = '%/' + grepPattern + '%';
620
- var row = db.prepare(
621
- 'SELECT n.file_path FROM nodes n WHERE n.label = \'File\' AND n.file_path LIKE ? LIMIT 1'
622
- ).get(pathLike);
623
- if (row) {
624
- graphResolved = true;
625
- console.log('[MONOGRAPH_HINT] file ' + grepPattern + ' found at ' + row.file_path);
626
- }
627
- }
628
-
629
- // Strategy 5: extract ≥4-char identifiers, case-insensitive match
630
- if (!graphResolved) {
631
- var identifiers = grepPattern.match(/[a-zA-Z_$][a-zA-Z0-9_$]{3,}/g) || [];
632
- var tried = {};
633
- for (var sj = 0; sj < identifiers.length && !graphResolved; sj++) {
634
- var id = identifiers[sj];
635
- if (_searchStop[id.toLowerCase()] || tried[id.toLowerCase()]) continue;
636
- tried[id.toLowerCase()] = 1;
637
- var row2 = db.prepare(
638
- 'SELECT n.name, n.file_path, n.start_line FROM nodes n ' +
639
- 'WHERE n.name = ? COLLATE NOCASE AND n.label NOT IN (\'Concept\',\'Community\',\'Folder\') ' +
640
- 'AND n.file_path IS NOT NULL AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
641
- ).get(id);
642
- if (row2) {
643
- graphResolved = true;
644
- var hint2 = row2.file_path + (row2.start_line != null ? ':' + row2.start_line : '');
645
- console.log('[MONOGRAPH_HINT] ' + row2.name + ' found at ' + hint2);
646
- }
647
- }
648
- }
649
-
650
- // Strategy 6: FTS5 trigram substring match (catches partial/compound names)
651
- if (!graphResolved && grepPattern.length >= 4) {
652
- try {
653
- var ftsQ = '"' + grepPattern.replace(/"/g, '""') + '"';
654
- var ftsRow = db.prepare(
655
- 'SELECT n.name, n.file_path, n.start_line FROM nodes_fts f ' +
656
- 'JOIN nodes n ON n.rowid = f.rowid ' +
657
- 'WHERE nodes_fts MATCH ? ' +
658
- 'AND n.label NOT IN (\'Concept\',\'Community\',\'Folder\') ' +
659
- 'AND n.file_path IS NOT NULL AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
660
- ).get(ftsQ);
661
- if (ftsRow) {
662
- graphResolved = true;
663
- var ftsHint = ftsRow.file_path + (ftsRow.start_line != null ? ':' + ftsRow.start_line : '');
664
- console.log('[MONOGRAPH_HINT] ' + ftsRow.name + ' found at ' + ftsHint);
665
- }
666
- } catch (e) { /* FTS table may not exist */ }
667
- }
668
-
669
- // Strategy 7: dotted property access (ctx.allFilesCached, cache.hashFile)
670
- if (!graphResolved && grepPattern.indexOf('.') !== -1 && /^[a-zA-Z_$]/.test(grepPattern)) {
671
- var dotParts = grepPattern.split('.').filter(function(p) { return p.length >= 4 && /^[a-zA-Z_$]/.test(p); });
672
- for (var di = dotParts.length - 1; di >= 0 && !graphResolved; di--) {
673
- var dp = dotParts[di];
674
- if (_searchStop[dp.toLowerCase()]) continue;
675
- var drow = db.prepare(
676
- 'SELECT n.name, n.file_path, n.start_line FROM nodes n ' +
677
- 'WHERE n.name = ? COLLATE NOCASE AND n.label NOT IN (\'Concept\',\'Community\',\'Folder\') ' +
678
- 'AND n.file_path IS NOT NULL AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
679
- ).get(dp);
680
- if (drow) {
681
- graphResolved = true;
682
- var dhint = drow.file_path + (drow.start_line != null ? ':' + drow.start_line : '');
683
- console.log('[MONOGRAPH_HINT] ' + drow.name + ' found at ' + dhint);
684
- }
685
- }
686
- }
687
-
688
- // Strategy 8: snake_case → camelCase conversion
689
- if (!graphResolved && grepPattern.indexOf('_') !== -1 && /^[a-z]/.test(grepPattern) && grepPattern.length >= 6) {
690
- var camel = grepPattern.replace(/_([a-z])/g, function(_, c) { return c.toUpperCase(); });
691
- if (camel !== grepPattern && !_searchStop[camel.toLowerCase()]) {
692
- var crow = db.prepare(
693
- 'SELECT n.name, n.file_path, n.start_line FROM nodes n ' +
694
- 'WHERE n.name = ? COLLATE NOCASE AND n.label NOT IN (\'Concept\',\'Community\',\'Folder\') ' +
695
- 'AND n.file_path IS NOT NULL AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
696
- ).get(camel);
697
- if (crow) {
698
- graphResolved = true;
699
- var chint = crow.file_path + (crow.start_line != null ? ':' + crow.start_line : '');
700
- console.log('[MONOGRAPH_HINT] ' + crow.name + ' found at ' + chint);
701
- }
702
- }
703
- }
704
- } catch (e) { /* non-fatal */ }
705
- }
706
- }
707
- } catch (e) { /* non-fatal */ }
708
-
709
- if (graphResolved) {
710
- _recordGraphTelemetry('graph_assist_search');
711
- } else if (tool === 'Grep') {
712
- _recordGraphTelemetry('grep_call');
713
- } else if (tool === 'Glob') {
714
- _recordGraphTelemetry('glob_call');
715
- }
716
- },
717
-
718
- 'post-graph-tool': () => {
719
- // Record monograph MCP tool calls as graph wins
720
- _recordGraphTelemetry('monograph_call');
721
- },
722
-
723
- 'graph-status': () => {
724
- const h = require('./handlers/graph-status-handler.cjs');
725
- h.handle(hCtx);
726
- },
727
-
728
- 'budget-status': () => {
729
- const h = require('./handlers/budget-status-handler.cjs');
730
- h.handle(hCtx);
731
- },
732
-
733
- 'loops-status': () => {
734
- const h = require('./handlers/loops-status-handler.cjs');
735
- h.handle(hCtx);
736
- },
737
-
738
- 'stats': async () => {
739
- const h = require('./handlers/stats-handler.cjs');
740
- await h.handle(hCtx);
741
- },
742
- };
743
-
744
- if (command && handlers[command]) {
745
- var _hookStart = Date.now();
746
- try {
747
- await Promise.resolve(handlers[command]());
748
- } catch (e) {
749
- console.log('[WARN] Hook ' + command + ' encountered an error: ' + e.message);
750
- } finally {
751
- try { _recordHookLatency(command, Date.now() - _hookStart); } catch (_) {}
752
- }
753
- } else if (command) {
754
- console.log('[OK] Hook: ' + command);
755
- } else {
756
- console.log('Usage: hook-handler.cjs <route|pre-bash|pre-search|post-edit|post-graph-tool|session-restore|session-end|pre-task|post-task|compact-manual|compact-auto|stats>');
757
- }
758
- }
759
-
760
- main().catch(function(e) {
761
- console.log('[WARN] Hook handler error: ' + e.message);
762
- }).finally(function() {
763
- // Use process.exitCode if a gate set it (exit 2 = block), otherwise clean exit
764
- process.exit(process.exitCode || 0);
765
- });