monomind 1.19.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (883) hide show
  1. package/README.md +13 -17
  2. package/package.json +16 -35
  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/helpers/token-tracker.cjs +10 -0
  27. package/packages/@monomind/cli/.claude/skills/github-toolkit/SKILL.md +60 -0
  28. package/packages/@monomind/cli/.claude/skills/hive-mind-advanced/SKILL.md +0 -15
  29. package/packages/@monomind/cli/.claude/skills/hooks-automation/SKILL.md +0 -1
  30. package/packages/@monomind/cli/.claude/skills/mastermind-skills/_protocol.md +1 -1
  31. package/packages/@monomind/cli/.claude/skills/mastermind-skills/build.md +1 -2
  32. package/packages/@monomind/cli/.claude/skills/memory-toolkit/SKILL.md +75 -0
  33. package/packages/@monomind/cli/.claude/skills/specialagent/SKILL.md +2 -4
  34. package/packages/@monomind/cli/.claude/skills/swarm-advanced/SKILL.md +0 -1
  35. package/packages/@monomind/cli/README.md +13 -17
  36. package/packages/@monomind/cli/dist/src/autopilot-state.js +4 -5
  37. package/packages/@monomind/cli/dist/src/browser/dashboard/server.js +129 -2
  38. package/packages/@monomind/cli/dist/src/browser/dashboard/ui.html +214 -1764
  39. package/packages/@monomind/cli/dist/src/capabilities/index.d.ts +0 -2
  40. package/packages/@monomind/cli/dist/src/capabilities/index.js +0 -1
  41. package/packages/@monomind/cli/dist/src/commands/agent-lifecycle.js +2 -6
  42. package/packages/@monomind/cli/dist/src/commands/analyze.d.ts +0 -4
  43. package/packages/@monomind/cli/dist/src/commands/analyze.js +1 -29
  44. package/packages/@monomind/cli/dist/src/commands/browse-workflow.js +2 -2
  45. package/packages/@monomind/cli/dist/src/commands/completions.js +3 -22
  46. package/packages/@monomind/cli/dist/src/commands/config.js +0 -6
  47. package/packages/@monomind/cli/dist/src/commands/doctor-project-checks.d.ts +12 -2
  48. package/packages/@monomind/cli/dist/src/commands/doctor-project-checks.js +130 -22
  49. package/packages/@monomind/cli/dist/src/commands/doctor.js +6 -5
  50. package/packages/@monomind/cli/dist/src/commands/guidance.d.ts +5 -1
  51. package/packages/@monomind/cli/dist/src/commands/guidance.js +11 -556
  52. package/packages/@monomind/cli/dist/src/commands/hive-mind-comms.js +11 -4
  53. package/packages/@monomind/cli/dist/src/commands/hive-mind.d.ts +4 -4
  54. package/packages/@monomind/cli/dist/src/commands/hive-mind.js +9 -6
  55. package/packages/@monomind/cli/dist/src/commands/hooks-formatting.d.ts +1 -5
  56. package/packages/@monomind/cli/dist/src/commands/hooks-formatting.js +1 -18
  57. package/packages/@monomind/cli/dist/src/commands/hooks-workers.d.ts +1 -1
  58. package/packages/@monomind/cli/dist/src/commands/hooks-workers.js +82 -330
  59. package/packages/@monomind/cli/dist/src/commands/index.d.ts +0 -5
  60. package/packages/@monomind/cli/dist/src/commands/index.js +0 -45
  61. package/packages/@monomind/cli/dist/src/commands/init-wizard.js +1 -1
  62. package/packages/@monomind/cli/dist/src/commands/init.js +4 -24
  63. package/packages/@monomind/cli/dist/src/commands/neural-core.js +11 -11
  64. package/packages/@monomind/cli/dist/src/commands/neural-optimize.js +9 -11
  65. package/packages/@monomind/cli/dist/src/commands/neural-registry.js +10 -10
  66. package/packages/@monomind/cli/dist/src/commands/providers.js +90 -1
  67. package/packages/@monomind/cli/dist/src/commands/search-universal.d.ts +7 -1
  68. package/packages/@monomind/cli/dist/src/commands/search-universal.js +59 -5
  69. package/packages/@monomind/cli/dist/src/commands/security-cve.js +3 -5
  70. package/packages/@monomind/cli/dist/src/commands/session.js +143 -3
  71. package/packages/@monomind/cli/dist/src/commands/start.js +0 -18
  72. package/packages/@monomind/cli/dist/src/commands/swarm.js +112 -65
  73. package/packages/@monomind/cli/dist/src/consensus/audit-writer.js +43 -1
  74. package/packages/@monomind/cli/dist/src/consensus/tally.d.ts +19 -0
  75. package/packages/@monomind/cli/dist/src/consensus/tally.js +34 -0
  76. package/packages/@monomind/cli/dist/src/index.d.ts +3 -2
  77. package/packages/@monomind/cli/dist/src/index.js +9 -12
  78. package/packages/@monomind/cli/dist/src/init/claudemd-generator.js +10 -14
  79. package/packages/@monomind/cli/dist/src/init/executor.js +39 -86
  80. package/packages/@monomind/cli/dist/src/init/settings-generator.js +0 -12
  81. package/packages/@monomind/cli/dist/src/init/statusline-generator.js +62 -0
  82. package/packages/@monomind/cli/dist/src/init/types.d.ts +2 -6
  83. package/packages/@monomind/cli/dist/src/init/types.js +0 -3
  84. package/packages/@monomind/cli/dist/src/knowledge/document-pipeline.js +18 -8
  85. package/packages/@monomind/cli/dist/src/mcp-client.js +0 -2
  86. package/packages/@monomind/cli/dist/src/mcp-server.js +12 -14
  87. package/packages/@monomind/cli/dist/src/mcp-tools/coherence/coherence-check.js +1 -19
  88. package/packages/@monomind/cli/dist/src/mcp-tools/coherence/types.d.ts +21 -20
  89. package/packages/@monomind/cli/dist/src/mcp-tools/coherence/types.js +3 -18
  90. package/packages/@monomind/cli/dist/src/mcp-tools/embeddings-tools.js +1 -7
  91. package/packages/@monomind/cli/dist/src/mcp-tools/graphify-tools.js +2 -2
  92. package/packages/@monomind/cli/dist/src/mcp-tools/guidance-tools.js +7 -17
  93. package/packages/@monomind/cli/dist/src/mcp-tools/hive-mind-tools.d.ts +8 -1
  94. package/packages/@monomind/cli/dist/src/mcp-tools/hive-mind-tools.js +174 -38
  95. package/packages/@monomind/cli/dist/src/mcp-tools/hooks-advanced.d.ts +18 -0
  96. package/packages/@monomind/cli/dist/src/mcp-tools/hooks-advanced.js +25 -0
  97. package/packages/@monomind/cli/dist/src/mcp-tools/hooks-intelligence.d.ts +4 -8
  98. package/packages/@monomind/cli/dist/src/mcp-tools/hooks-intelligence.js +33 -482
  99. package/packages/@monomind/cli/dist/src/mcp-tools/hooks-routing.d.ts +1 -0
  100. package/packages/@monomind/cli/dist/src/mcp-tools/hooks-routing.js +51 -43
  101. package/packages/@monomind/cli/dist/src/mcp-tools/hooks-synthesis.d.ts +31 -0
  102. package/packages/@monomind/cli/dist/src/mcp-tools/hooks-synthesis.js +196 -0
  103. package/packages/@monomind/cli/dist/src/mcp-tools/hooks-tools.js +10 -8
  104. package/packages/@monomind/cli/dist/src/mcp-tools/index.d.ts +0 -1
  105. package/packages/@monomind/cli/dist/src/mcp-tools/index.js +0 -1
  106. package/packages/@monomind/cli/dist/src/mcp-tools/memory-tools.js +20 -29
  107. package/packages/@monomind/cli/dist/src/mcp-tools/monograph-tools.d.ts +6 -0
  108. package/packages/@monomind/cli/dist/src/mcp-tools/monograph-tools.js +78 -220
  109. package/packages/@monomind/cli/dist/src/mcp-tools/neural-tools.d.ts +9 -4
  110. package/packages/@monomind/cli/dist/src/mcp-tools/neural-tools.js +242 -506
  111. package/packages/@monomind/cli/dist/src/mcp-tools/quality/coverage-analysis/prioritize-gaps.d.ts +12 -12
  112. package/packages/@monomind/cli/dist/src/mcp-tools/quality/security-compliance/detect-secrets.d.ts +4 -4
  113. package/packages/@monomind/cli/dist/src/mcp-tools/security-tools.js +103 -0
  114. package/packages/@monomind/cli/dist/src/memory/intelligence.d.ts +2 -1
  115. package/packages/@monomind/cli/dist/src/memory/intelligence.js +56 -43
  116. package/packages/@monomind/cli/dist/src/memory/memory-bridge.js +14 -9
  117. package/packages/@monomind/cli/dist/src/memory/memory-read.js +1 -19
  118. package/packages/@monomind/cli/dist/src/orgrt/types.d.ts +847 -0
  119. package/packages/@monomind/cli/dist/src/orgrt/types.js +51 -0
  120. package/packages/@monomind/cli/dist/src/parser.js +31 -5
  121. package/packages/@monomind/cli/dist/src/suggest.js +1 -7
  122. package/packages/@monomind/cli/dist/src/transfer/store/discovery.d.ts +3 -2
  123. package/packages/@monomind/cli/dist/src/transfer/store/discovery.js +22 -70
  124. package/packages/@monomind/cli/dist/src/ui/collector.mjs +69 -44
  125. package/packages/@monomind/cli/dist/src/ui/dashboard.html +112 -25
  126. package/packages/@monomind/cli/dist/src/ui/orgs.html +54 -0
  127. package/packages/@monomind/cli/dist/src/ui/server.mjs +87 -12
  128. package/packages/@monomind/cli/dist/src/update/checker.js +0 -1
  129. package/packages/@monomind/cli/dist/src/utils/cosine-similarity.d.ts +22 -0
  130. package/packages/@monomind/cli/dist/src/utils/cosine-similarity.js +38 -0
  131. package/packages/@monomind/cli/dist/src/utils/input-guards.d.ts +51 -0
  132. package/packages/@monomind/cli/dist/src/utils/input-guards.js +223 -0
  133. package/packages/@monomind/cli/dist/src/utils/json-file.d.ts +33 -0
  134. package/packages/@monomind/cli/dist/src/utils/json-file.js +57 -0
  135. package/packages/@monomind/cli/package.json +11 -7
  136. package/packages/@monomind/cli/scripts/sync-claude-assets.sh +16 -20
  137. package/scripts/generate-agent-avatars.mjs +0 -8
  138. package/.claude/agents/architecture/system-design/arch-system-design.md +0 -54
  139. package/.claude/agents/consensus/crdt-synchronizer.md +0 -977
  140. package/.claude/agents/consensus/quorum-manager.md +0 -803
  141. package/.claude/agents/consensus/security-manager.md +0 -602
  142. package/.claude/agents/core/coder.md +0 -262
  143. package/.claude/agents/core/coordinator.md +0 -71
  144. package/.claude/agents/core/planner.md +0 -170
  145. package/.claude/agents/core/researcher.md +0 -197
  146. package/.claude/agents/core/reviewer.md +0 -327
  147. package/.claude/agents/core/tester.md +0 -318
  148. package/.claude/agents/design/design-monodesign.md +0 -121
  149. package/.claude/agents/engineering/engineering-ai-data-remediation-engineer.md +0 -212
  150. package/.claude/agents/engineering/engineering-ai-engineer.md +0 -165
  151. package/.claude/agents/engineering/engineering-autonomous-optimization-architect.md +0 -108
  152. package/.claude/agents/engineering/engineering-backend-architect.md +0 -254
  153. package/.claude/agents/engineering/engineering-code-reviewer.md +0 -95
  154. package/.claude/agents/engineering/engineering-data-engineer.md +0 -307
  155. package/.claude/agents/engineering/engineering-database-optimizer.md +0 -200
  156. package/.claude/agents/engineering/engineering-devops-automator.md +0 -430
  157. package/.claude/agents/engineering/engineering-embedded-firmware-engineer.md +0 -174
  158. package/.claude/agents/engineering/engineering-feishu-integration-developer.md +0 -607
  159. package/.claude/agents/engineering/engineering-frontend-developer.md +0 -249
  160. package/.claude/agents/engineering/engineering-git-workflow-master.md +0 -108
  161. package/.claude/agents/engineering/engineering-incident-response-commander.md +0 -482
  162. package/.claude/agents/engineering/engineering-mobile-app-builder.md +0 -499
  163. package/.claude/agents/engineering/engineering-rapid-prototyper.md +0 -463
  164. package/.claude/agents/engineering/engineering-security-engineer.md +0 -303
  165. package/.claude/agents/engineering/engineering-senior-developer.md +0 -195
  166. package/.claude/agents/engineering/engineering-software-architect.md +0 -100
  167. package/.claude/agents/engineering/engineering-solidity-smart-contract-engineer.md +0 -528
  168. package/.claude/agents/engineering/engineering-sre.md +0 -114
  169. package/.claude/agents/engineering/engineering-technical-writer.md +0 -412
  170. package/.claude/agents/engineering/engineering-threat-detection-engineer.md +0 -540
  171. package/.claude/agents/engineering/engineering-wechat-mini-program-developer.md +0 -351
  172. package/.claude/agents/generated/case-analyst.md +0 -50
  173. package/.claude/agents/generated/channel-intelligence-director.md +0 -87
  174. package/.claude/agents/generated/chief-growth-officer.md +0 -88
  175. package/.claude/agents/generated/churn-analyst.md +0 -53
  176. package/.claude/agents/generated/code-reviewer.md +0 -55
  177. package/.claude/agents/generated/code-validator.md +0 -57
  178. package/.claude/agents/generated/complexity-scanner.md +0 -56
  179. package/.claude/agents/generated/content-seo-strategist.md +0 -90
  180. package/.claude/agents/generated/copy-editor.md +0 -45
  181. package/.claude/agents/generated/court-reporter.md +0 -50
  182. package/.claude/agents/generated/defender.md +0 -51
  183. package/.claude/agents/generated/devbot-orchestrator.md +0 -58
  184. package/.claude/agents/generated/devbot-planner.md +0 -63
  185. package/.claude/agents/generated/developer-community-strategist.md +0 -91
  186. package/.claude/agents/generated/editor-in-chief.md +0 -45
  187. package/.claude/agents/generated/fact-checker.md +0 -45
  188. package/.claude/agents/generated/impact-assessor.md +0 -54
  189. package/.claude/agents/generated/judge.md +0 -51
  190. package/.claude/agents/generated/outreach-partnership-strategist.md +0 -90
  191. package/.claude/agents/generated/prosecutor.md +0 -51
  192. package/.claude/agents/generated/reporter.md +0 -45
  193. package/.claude/agents/generated/social-media-strategist.md +0 -91
  194. package/.claude/agents/generated/video-visual-strategist.md +0 -90
  195. package/.claude/agents/github/code-review-swarm.md +0 -557
  196. package/.claude/agents/github/github-modes.md +0 -154
  197. package/.claude/agents/github/issue-tracker.md +0 -299
  198. package/.claude/agents/github/multi-repo-swarm.md +0 -525
  199. package/.claude/agents/github/pr-manager.md +0 -163
  200. package/.claude/agents/github/project-board-sync.md +0 -478
  201. package/.claude/agents/github/release-manager.md +0 -296
  202. package/.claude/agents/github/repo-architect.md +0 -359
  203. package/.claude/agents/github/swarm-issue.md +0 -548
  204. package/.claude/agents/github/swarm-pr.md +0 -427
  205. package/.claude/agents/github/sync-coordinator.md +0 -355
  206. package/.claude/agents/github/workflow-automation.md +0 -640
  207. package/.claude/agents/goal/goal-planner.md +0 -168
  208. package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +0 -129
  209. package/.claude/agents/hive-mind/queen-coordinator.md +0 -202
  210. package/.claude/agents/hive-mind/scout-explorer.md +0 -241
  211. package/.claude/agents/hive-mind/swarm-memory-manager.md +0 -192
  212. package/.claude/agents/hive-mind/worker-specialist.md +0 -216
  213. package/.claude/agents/marketing/marketing-competitive-content.md +0 -155
  214. package/.claude/agents/marketing/marketing-cro-specialist.md +0 -147
  215. package/.claude/agents/marketing/marketing-email-specialist.md +0 -90
  216. package/.claude/agents/marketing/marketing-launch-strategist.md +0 -129
  217. package/.claude/agents/marketing/marketing-pricing-strategist.md +0 -127
  218. package/.claude/agents/optimization/benchmark-suite.md +0 -665
  219. package/.claude/agents/optimization/load-balancer.md +0 -431
  220. package/.claude/agents/optimization/performance-monitor.md +0 -672
  221. package/.claude/agents/optimization/resource-allocator.md +0 -674
  222. package/.claude/agents/optimization/topology-optimizer.md +0 -808
  223. package/.claude/agents/reengineer-squad/boss.md +0 -113
  224. package/.claude/agents/reengineer-squad/critic-architect.md +0 -132
  225. package/.claude/agents/reengineer-squad/git-manager.md +0 -145
  226. package/.claude/agents/reengineer-squad/idea-generator.md +0 -95
  227. package/.claude/agents/reengineer-squad/implementer.md +0 -112
  228. package/.claude/agents/reengineer-squad/integration-planner.md +0 -112
  229. package/.claude/agents/reengineer-squad/source-analyst.md +0 -103
  230. package/.claude/agents/reengineer-squad/target-analyst.md +0 -118
  231. package/.claude/agents/reengineer-squad/tester.md +0 -105
  232. package/.claude/agents/schemas/architecture-output.json +0 -43
  233. package/.claude/agents/schemas/code-review-output.json +0 -28
  234. package/.claude/agents/schemas/generic-task-input.json +0 -12
  235. package/.claude/agents/schemas/implementation-output.json +0 -18
  236. package/.claude/agents/schemas/research-output.json +0 -31
  237. package/.claude/agents/schemas/security-audit-output.json +0 -29
  238. package/.claude/agents/schemas/test-report-output.json +0 -29
  239. package/.claude/agents/sparc/architecture.md +0 -453
  240. package/.claude/agents/sparc/pseudocode.md +0 -299
  241. package/.claude/agents/sparc/refinement.md +0 -504
  242. package/.claude/agents/sparc/specification.md +0 -258
  243. package/.claude/agents/specialists/integration-architect.md +0 -94
  244. package/.claude/agents/specialized/agentic-identity-trust.md +0 -388
  245. package/.claude/agents/specialized/agents-orchestrator.md +0 -368
  246. package/.claude/agents/specialized/automation-governance-architect.md +0 -217
  247. package/.claude/agents/specialized/blockchain-security-auditor.md +0 -497
  248. package/.claude/agents/specialized/compliance-auditor.md +0 -159
  249. package/.claude/agents/specialized/identity-graph-operator.md +0 -261
  250. package/.claude/agents/specialized/lsp-index-engineer.md +0 -315
  251. package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +0 -89
  252. package/.claude/agents/specialized/specialized-cultural-intelligence-strategist.md +0 -89
  253. package/.claude/agents/specialized/specialized-developer-advocate.md +0 -318
  254. package/.claude/agents/specialized/specialized-document-generator.md +0 -56
  255. package/.claude/agents/specialized/specialized-mcp-builder.md +0 -64
  256. package/.claude/agents/specialized/specialized-model-qa.md +0 -489
  257. package/.claude/agents/specialized/specialized-workflow-architect.md +0 -595
  258. package/.claude/agents/specialized/zk-steward.md +0 -212
  259. package/.claude/agents/swarm/mesh-coordinator.md +0 -363
  260. package/.claude/agents/templates/automation-smart-agent.md +0 -185
  261. package/.claude/agents/templates/coordinator-swarm-init.md +0 -83
  262. package/.claude/agents/templates/implementer-sparc-coder.md +0 -231
  263. package/.claude/agents/testing/production-validator.md +0 -375
  264. package/.claude/agents/testing/tdd-london-swarm.md +0 -241
  265. package/.claude/agents/testing/testing-accessibility-auditor.md +0 -322
  266. package/.claude/agents/testing/testing-api-tester.md +0 -307
  267. package/.claude/agents/testing/testing-evidence-collector.md +0 -213
  268. package/.claude/agents/testing/testing-performance-benchmarker.md +0 -269
  269. package/.claude/agents/testing/testing-test-results-analyzer.md +0 -306
  270. package/.claude/agents/testing/testing-tool-evaluator.md +0 -395
  271. package/.claude/agents/testing/testing-workflow-optimizer.md +0 -451
  272. package/.claude/commands/agents/README.md +0 -14
  273. package/.claude/commands/agents/agent-capabilities.md +0 -25
  274. package/.claude/commands/agents/agent-coordination.md +0 -32
  275. package/.claude/commands/agents/agent-spawning.md +0 -32
  276. package/.claude/commands/agents/agent-types.md +0 -30
  277. package/.claude/commands/analysis/README.md +0 -18
  278. package/.claude/commands/analysis/bottleneck-detect.md +0 -69
  279. package/.claude/commands/analysis/performance-bottlenecks.md +0 -59
  280. package/.claude/commands/analysis/performance-report.md +0 -52
  281. package/.claude/commands/analysis/token-usage.md +0 -47
  282. package/.claude/commands/automation/README.md +0 -19
  283. package/.claude/commands/automation/auto-agent.md +0 -86
  284. package/.claude/commands/automation/self-healing.md +0 -108
  285. package/.claude/commands/automation/session-memory.md +0 -89
  286. package/.claude/commands/automation/smart-agents.md +0 -81
  287. package/.claude/commands/automation/smart-spawn.md +0 -66
  288. package/.claude/commands/automation/workflow-select.md +0 -60
  289. package/.claude/commands/coordination/README.md +0 -13
  290. package/.claude/commands/coordination/agent-spawn.md +0 -69
  291. package/.claude/commands/coordination/swarm-init.md +0 -82
  292. package/.claude/commands/coordination/task-orchestrate.md +0 -79
  293. package/.claude/commands/github/README.md +0 -24
  294. package/.claude/commands/github/github-modes.md +0 -151
  295. package/.claude/commands/github/issue-tracker.md +0 -293
  296. package/.claude/commands/github/pr-manager.md +0 -173
  297. package/.claude/commands/github/release-manager.md +0 -343
  298. package/.claude/commands/github/repo-architect.md +0 -379
  299. package/.claude/commands/github/sync-coordinator.md +0 -297
  300. package/.claude/commands/hive-mind/README.md +0 -42
  301. package/.claude/commands/hive-mind/hive-mind-consensus.md +0 -72
  302. package/.claude/commands/hive-mind/hive-mind-init.md +0 -68
  303. package/.claude/commands/hive-mind/hive-mind-memory.md +0 -73
  304. package/.claude/commands/hive-mind/hive-mind-spawn.md +0 -82
  305. package/.claude/commands/hive-mind/hive-mind-status.md +0 -56
  306. package/.claude/commands/hive-mind/hive-mind-stop.md +0 -55
  307. package/.claude/commands/hive-mind/hive-mind.md +0 -87
  308. package/.claude/commands/hooks/README.md +0 -66
  309. package/.claude/commands/hooks/overview.md +0 -112
  310. package/.claude/commands/hooks/post-edit.md +0 -78
  311. package/.claude/commands/hooks/post-task.md +0 -62
  312. package/.claude/commands/hooks/pre-edit.md +0 -81
  313. package/.claude/commands/hooks/pre-task.md +0 -73
  314. package/.claude/commands/hooks/session-end.md +0 -82
  315. package/.claude/commands/hooks/setup.md +0 -132
  316. package/.claude/commands/mastermind/_repeat.md +0 -492
  317. package/.claude/commands/mastermind/_taskfile.md +0 -232
  318. package/.claude/commands/mastermind/adr.md +0 -9
  319. package/.claude/commands/mastermind/approve.md +0 -91
  320. package/.claude/commands/mastermind/architect.md +0 -52
  321. package/.claude/commands/mastermind/autodev.md +0 -28
  322. package/.claude/commands/mastermind/brain.md +0 -99
  323. package/.claude/commands/mastermind/budget.md +0 -5
  324. package/.claude/commands/mastermind/build.md +0 -23
  325. package/.claude/commands/mastermind/code-review.md +0 -314
  326. package/.claude/commands/mastermind/content.md +0 -23
  327. package/.claude/commands/mastermind/createorg.md +0 -136
  328. package/.claude/commands/mastermind/createtask.md +0 -372
  329. package/.claude/commands/mastermind/debug.md +0 -19
  330. package/.claude/commands/mastermind/design.md +0 -17
  331. package/.claude/commands/mastermind/do.md +0 -525
  332. package/.claude/commands/mastermind/execute.md +0 -17
  333. package/.claude/commands/mastermind/finance.md +0 -23
  334. package/.claude/commands/mastermind/finish.md +0 -17
  335. package/.claude/commands/mastermind/graph-status.md +0 -5
  336. package/.claude/commands/mastermind/help.md +0 -115
  337. package/.claude/commands/mastermind/idea.md +0 -23
  338. package/.claude/commands/mastermind/ideate.md +0 -258
  339. package/.claude/commands/mastermind/improve.md +0 -342
  340. package/.claude/commands/mastermind/loops.md +0 -5
  341. package/.claude/commands/mastermind/marketing.md +0 -23
  342. package/.claude/commands/mastermind/master.md +0 -1124
  343. package/.claude/commands/mastermind/memory.md +0 -227
  344. package/.claude/commands/mastermind/okf-export.md +0 -14
  345. package/.claude/commands/mastermind/okf-import.md +0 -15
  346. package/.claude/commands/mastermind/ops.md +0 -23
  347. package/.claude/commands/mastermind/orgs.md +0 -18
  348. package/.claude/commands/mastermind/orgstatus.md +0 -56
  349. package/.claude/commands/mastermind/plan.md +0 -23
  350. package/.claude/commands/mastermind/receive-review.md +0 -17
  351. package/.claude/commands/mastermind/references/antigravity-tools.md +0 -60
  352. package/.claude/commands/mastermind/references/claude-code-tools.md +0 -50
  353. package/.claude/commands/mastermind/references/codex-tools.md +0 -64
  354. package/.claude/commands/mastermind/references/copilot-tools.md +0 -49
  355. package/.claude/commands/mastermind/references/gemini-tools.md +0 -63
  356. package/.claude/commands/mastermind/references/pi-tools.md +0 -28
  357. package/.claude/commands/mastermind/release.md +0 -23
  358. package/.claude/commands/mastermind/repeat.md +0 -254
  359. package/.claude/commands/mastermind/research.md +0 -23
  360. package/.claude/commands/mastermind/review.md +0 -34
  361. package/.claude/commands/mastermind/runorg.md +0 -153
  362. package/.claude/commands/mastermind/sales.md +0 -23
  363. package/.claude/commands/mastermind/skill-builder.md +0 -17
  364. package/.claude/commands/mastermind/specialagents.md +0 -122
  365. package/.claude/commands/mastermind/stoporg.md +0 -75
  366. package/.claude/commands/mastermind/swarm.md +0 -158
  367. package/.claude/commands/mastermind/taskdev.md +0 -23
  368. package/.claude/commands/mastermind/tdd.md +0 -19
  369. package/.claude/commands/mastermind/techport.md +0 -27
  370. package/.claude/commands/mastermind/understand.md +0 -136
  371. package/.claude/commands/mastermind/verify.md +0 -19
  372. package/.claude/commands/mastermind/worktree.md +0 -17
  373. package/.claude/commands/mastermind.md +0 -121
  374. package/.claude/commands/memory/README.md +0 -79
  375. package/.claude/commands/memory/memory-search.md +0 -77
  376. package/.claude/commands/monitoring/README.md +0 -69
  377. package/.claude/commands/monitoring/agent-metrics.md +0 -65
  378. package/.claude/commands/monitoring/agents.md +0 -71
  379. package/.claude/commands/monitoring/status.md +0 -108
  380. package/.claude/commands/monobrowse.md +0 -21
  381. package/.claude/commands/monoes/README.md +0 -30
  382. package/.claude/commands/monoes/install.md +0 -163
  383. package/.claude/commands/monoes/monoagent.md +0 -148
  384. package/.claude/commands/monoes/monoclip.md +0 -64
  385. package/.claude/commands/monoes/monotask.md +0 -137
  386. package/.claude/commands/monograph/README.md +0 -102
  387. package/.claude/commands/monograph/monograph-build.md +0 -79
  388. package/.claude/commands/monograph/monograph-search.md +0 -96
  389. package/.claude/commands/monograph/monograph-stats.md +0 -53
  390. package/.claude/commands/monograph/monograph-watch.md +0 -63
  391. package/.claude/commands/monograph/monograph-wiki.md +0 -91
  392. package/.claude/commands/optimization/auto-topology.md +0 -85
  393. package/.claude/commands/optimization/performance-optimize.md +0 -79
  394. package/.claude/commands/pair/README.md +0 -79
  395. package/.claude/commands/pair/examples.md +0 -156
  396. package/.claude/commands/pair/modes.md +0 -122
  397. package/.claude/commands/pair/session.md +0 -124
  398. package/.claude/commands/sparc/analyzer.md +0 -35
  399. package/.claude/commands/sparc/architect.md +0 -36
  400. package/.claude/commands/sparc/ask.md +0 -56
  401. package/.claude/commands/sparc/batch-executor.md +0 -37
  402. package/.claude/commands/sparc/code.md +0 -48
  403. package/.claude/commands/sparc/coder.md +0 -37
  404. package/.claude/commands/sparc/debug.md +0 -42
  405. package/.claude/commands/sparc/debugger.md +0 -37
  406. package/.claude/commands/sparc/designer.md +0 -36
  407. package/.claude/commands/sparc/devops.md +0 -68
  408. package/.claude/commands/sparc/docs-writer.md +0 -39
  409. package/.claude/commands/sparc/documenter.md +0 -37
  410. package/.claude/commands/sparc/innovator.md +0 -37
  411. package/.claude/commands/sparc/integration.md +0 -42
  412. package/.claude/commands/sparc/mcp.md +0 -76
  413. package/.claude/commands/sparc/memory-manager.md +0 -57
  414. package/.claude/commands/sparc/optimizer.md +0 -37
  415. package/.claude/commands/sparc/orchestrator.md +0 -70
  416. package/.claude/commands/sparc/post-deployment-monitoring-mode.md +0 -42
  417. package/.claude/commands/sparc/refinement-optimization-mode.md +0 -42
  418. package/.claude/commands/sparc/researcher.md +0 -37
  419. package/.claude/commands/sparc/reviewer.md +0 -37
  420. package/.claude/commands/sparc/security-review.md +0 -39
  421. package/.claude/commands/sparc/sparc-modes.md +0 -120
  422. package/.claude/commands/sparc/sparc.md +0 -71
  423. package/.claude/commands/sparc/spec-pseudocode.md +0 -39
  424. package/.claude/commands/sparc/supabase-admin.md +0 -301
  425. package/.claude/commands/sparc/swarm-coordinator.md +0 -50
  426. package/.claude/commands/sparc/tdd.md +0 -37
  427. package/.claude/commands/sparc/tester.md +0 -37
  428. package/.claude/commands/sparc/tutorial.md +0 -38
  429. package/.claude/commands/sparc/workflow-manager.md +0 -37
  430. package/.claude/commands/sparc.md +0 -112
  431. package/.claude/commands/stream-chain/pipeline.md +0 -116
  432. package/.claude/commands/stream-chain/run.md +0 -156
  433. package/.claude/commands/swarm/README.md +0 -40
  434. package/.claude/commands/swarm/analysis.md +0 -73
  435. package/.claude/commands/swarm/development.md +0 -72
  436. package/.claude/commands/swarm/examples.md +0 -103
  437. package/.claude/commands/swarm/maintenance.md +0 -75
  438. package/.claude/commands/swarm/optimization.md +0 -84
  439. package/.claude/commands/swarm/research.md +0 -76
  440. package/.claude/commands/swarm/swarm.md +0 -79
  441. package/.claude/commands/swarm/testing.md +0 -80
  442. package/.claude/commands/tokens.md +0 -18
  443. package/.claude/commands/truth/start.md +0 -121
  444. package/.claude/commands/ts.md +0 -14
  445. package/.claude/commands/workflows/README.md +0 -65
  446. package/.claude/commands/workflows/development.md +0 -86
  447. package/.claude/commands/workflows/research.md +0 -89
  448. package/.claude/commands/workflows/workflow-create.md +0 -84
  449. package/.claude/commands/workflows/workflow-execute.md +0 -103
  450. package/.claude/commands/workflows/workflow-export.md +0 -90
  451. package/.claude/helpers/control-start.cjs +0 -184
  452. package/.claude/helpers/event-logger.cjs +0 -155
  453. package/.claude/helpers/extras-registry.json +0 -5141
  454. package/.claude/helpers/graphify-freshen.cjs +0 -140
  455. package/.claude/helpers/handlers/adr-draft-handler.cjs +0 -78
  456. package/.claude/helpers/handlers/agent-start-handler.cjs +0 -83
  457. package/.claude/helpers/handlers/budget-status-handler.cjs +0 -14
  458. package/.claude/helpers/handlers/capture-handler.cjs +0 -583
  459. package/.claude/helpers/handlers/compact-handler.cjs +0 -35
  460. package/.claude/helpers/handlers/edit-handler.cjs +0 -145
  461. package/.claude/helpers/handlers/gates-handler.cjs +0 -138
  462. package/.claude/helpers/handlers/graph-status-handler.cjs +0 -45
  463. package/.claude/helpers/handlers/loops-status-handler.cjs +0 -48
  464. package/.claude/helpers/handlers/route-handler.cjs +0 -381
  465. package/.claude/helpers/handlers/session-handler.cjs +0 -234
  466. package/.claude/helpers/handlers/session-restore-handler.cjs +0 -375
  467. package/.claude/helpers/handlers/stats-handler.cjs +0 -14
  468. package/.claude/helpers/handlers/task-handler.cjs +0 -206
  469. package/.claude/helpers/hook-handler.cjs +0 -765
  470. package/.claude/helpers/intelligence.cjs +0 -338
  471. package/.claude/helpers/learning-service.mjs +0 -61
  472. package/.claude/helpers/loop-tracker.cjs +0 -119
  473. package/.claude/helpers/mastermind-activate.cjs +0 -35
  474. package/.claude/helpers/memory-palace.cjs +0 -461
  475. package/.claude/helpers/memory.cjs +0 -193
  476. package/.claude/helpers/metrics-db.mjs +0 -87
  477. package/.claude/helpers/monolean-activate.cjs +0 -30
  478. package/.claude/helpers/monolean-config.cjs +0 -76
  479. package/.claude/helpers/monolean-instructions.cjs +0 -109
  480. package/.claude/helpers/monolean-propagate.cjs +0 -13
  481. package/.claude/helpers/monolean-tracker.cjs +0 -18
  482. package/.claude/helpers/router.cjs +0 -364
  483. package/.claude/helpers/session.cjs +0 -140
  484. package/.claude/helpers/skill-registry.json +0 -1043
  485. package/.claude/helpers/statusline.cjs +0 -1344
  486. package/.claude/helpers/toggle-statusline.cjs +0 -73
  487. package/.claude/helpers/token-tracker.cjs +0 -934
  488. package/.claude/helpers/utils/micro-agents.cjs +0 -354
  489. package/.claude/helpers/utils/monograph.cjs +0 -480
  490. package/.claude/helpers/utils/telemetry.cjs +0 -146
  491. package/.claude/mcp.json +0 -3
  492. package/.claude/scheduled_tasks.lock +0 -1
  493. package/.claude/settings.json +0 -475
  494. package/.claude/skills/.monomind/data/ranked-context.json +0 -5
  495. package/.claude/skills/.monomind/sessions/current.json +0 -13
  496. package/.claude/skills/.monomind/sessions/session-1777829336455.json +0 -15
  497. package/.claude/skills/.monomind/sessions/session-1777831614725.json +0 -15
  498. package/.claude/skills/.monomind/sessions/session-1777832095857.json +0 -15
  499. package/.claude/skills/.monomind/sessions/session-1777839814183.json +0 -15
  500. package/.claude/skills/.monomind/sessions/session-1777841847131.json +0 -15
  501. package/.claude/skills/.monomind/sessions/session-1777843309463.json +0 -15
  502. package/.claude/skills/.monomind/sessions/session-1777880867159.json +0 -15
  503. package/.claude/skills/.monomind/sessions/session-1777881884593.json +0 -15
  504. package/.claude/skills/.monomind/sessions/session-1777884090471.json +0 -15
  505. package/.claude/skills/.monomind/sessions/session-1777884808221.json +0 -15
  506. package/.claude/skills/.monomind/sessions/session-1777885672155.json +0 -15
  507. package/.claude/skills/.monomind/sessions/session-1777886852818.json +0 -15
  508. package/.claude/skills/.monomind/sessions/session-1777896532690.json +0 -15
  509. package/.claude/skills/agent-browser-testing/SKILL.md +0 -964
  510. package/.claude/skills/agentic-jujutsu/SKILL.md +0 -645
  511. package/.claude/skills/github-issue-triage/SKILL.md +0 -354
  512. package/.claude/skills/github-repo-recap/SKILL.md +0 -207
  513. package/.claude/skills/hive-mind-advanced/SKILL.md +0 -709
  514. package/.claude/skills/hooks-automation/SKILL.md +0 -1193
  515. package/.claude/skills/mastermind-skills/_agent-select.md +0 -132
  516. package/.claude/skills/mastermind-skills/_delegation.md +0 -83
  517. package/.claude/skills/mastermind-skills/_intake.md +0 -83
  518. package/.claude/skills/mastermind-skills/_protocol.md +0 -404
  519. package/.claude/skills/mastermind-skills/_repeat.md +0 -171
  520. package/.claude/skills/mastermind-skills/access.md +0 -236
  521. package/.claude/skills/mastermind-skills/activity.md +0 -191
  522. package/.claude/skills/mastermind-skills/adapter-manager.md +0 -259
  523. package/.claude/skills/mastermind-skills/adapters.md +0 -204
  524. package/.claude/skills/mastermind-skills/agent-detail.md +0 -242
  525. package/.claude/skills/mastermind-skills/agents.md +0 -178
  526. package/.claude/skills/mastermind-skills/approval-detail.md +0 -259
  527. package/.claude/skills/mastermind-skills/approve.md +0 -188
  528. package/.claude/skills/mastermind-skills/architect.md +0 -862
  529. package/.claude/skills/mastermind-skills/autodev.md +0 -360
  530. package/.claude/skills/mastermind-skills/backup.md +0 -197
  531. package/.claude/skills/mastermind-skills/bootstrap.md +0 -190
  532. package/.claude/skills/mastermind-skills/budgets.md +0 -237
  533. package/.claude/skills/mastermind-skills/build.md +0 -170
  534. package/.claude/skills/mastermind-skills/code-quality-reviewer-prompt.md +0 -60
  535. package/.claude/skills/mastermind-skills/companies.md +0 -256
  536. package/.claude/skills/mastermind-skills/content.md +0 -197
  537. package/.claude/skills/mastermind-skills/costs.md +0 -151
  538. package/.claude/skills/mastermind-skills/createorg.md +0 -862
  539. package/.claude/skills/mastermind-skills/debug.md +0 -232
  540. package/.claude/skills/mastermind-skills/design.md +0 -189
  541. package/.claude/skills/mastermind-skills/diagnose.md +0 -249
  542. package/.claude/skills/mastermind-skills/env.md +0 -198
  543. package/.claude/skills/mastermind-skills/environments.md +0 -250
  544. package/.claude/skills/mastermind-skills/execute.md +0 -104
  545. package/.claude/skills/mastermind-skills/export.md +0 -333
  546. package/.claude/skills/mastermind-skills/finance.md +0 -166
  547. package/.claude/skills/mastermind-skills/finish.md +0 -251
  548. package/.claude/skills/mastermind-skills/goal-detail.md +0 -255
  549. package/.claude/skills/mastermind-skills/goals.md +0 -149
  550. package/.claude/skills/mastermind-skills/heartbeat.md +0 -164
  551. package/.claude/skills/mastermind-skills/idea.md +0 -1142
  552. package/.claude/skills/mastermind-skills/implementer-prompt.md +0 -109
  553. package/.claude/skills/mastermind-skills/import.md +0 -281
  554. package/.claude/skills/mastermind-skills/inbox.md +0 -214
  555. package/.claude/skills/mastermind-skills/instance-settings.md +0 -315
  556. package/.claude/skills/mastermind-skills/instance.md +0 -233
  557. package/.claude/skills/mastermind-skills/invite-landing.md +0 -227
  558. package/.claude/skills/mastermind-skills/invites.md +0 -254
  559. package/.claude/skills/mastermind-skills/issue-detail.md +0 -291
  560. package/.claude/skills/mastermind-skills/issues.md +0 -235
  561. package/.claude/skills/mastermind-skills/join-queue.md +0 -170
  562. package/.claude/skills/mastermind-skills/liveness.md +0 -392
  563. package/.claude/skills/mastermind-skills/marketing.md +0 -228
  564. package/.claude/skills/mastermind-skills/memory.md +0 -321
  565. package/.claude/skills/mastermind-skills/monitor.md +0 -1284
  566. package/.claude/skills/mastermind-skills/monotask.md +0 -350
  567. package/.claude/skills/mastermind-skills/my-issues.md +0 -146
  568. package/.claude/skills/mastermind-skills/new-agent.md +0 -241
  569. package/.claude/skills/mastermind-skills/ops.md +0 -168
  570. package/.claude/skills/mastermind-skills/org-chart.md +0 -209
  571. package/.claude/skills/mastermind-skills/org-settings.md +0 -254
  572. package/.claude/skills/mastermind-skills/orgs.md +0 -98
  573. package/.claude/skills/mastermind-skills/orgstatus.md +0 -194
  574. package/.claude/skills/mastermind-skills/plan-to-tasks.md +0 -136
  575. package/.claude/skills/mastermind-skills/plan.md +0 -198
  576. package/.claude/skills/mastermind-skills/plugin-manager.md +0 -241
  577. package/.claude/skills/mastermind-skills/plugin-settings.md +0 -273
  578. package/.claude/skills/mastermind-skills/plugins.md +0 -190
  579. package/.claude/skills/mastermind-skills/profile.md +0 -187
  580. package/.claude/skills/mastermind-skills/project-detail.md +0 -249
  581. package/.claude/skills/mastermind-skills/project-workspace.md +0 -244
  582. package/.claude/skills/mastermind-skills/projects.md +0 -164
  583. package/.claude/skills/mastermind-skills/receive-review.md +0 -213
  584. package/.claude/skills/mastermind-skills/references/copywriting-frameworks.md +0 -181
  585. package/.claude/skills/mastermind-skills/references/persuasion-psychology.md +0 -158
  586. package/.claude/skills/mastermind-skills/release.md +0 -168
  587. package/.claude/skills/mastermind-skills/research.md +0 -168
  588. package/.claude/skills/mastermind-skills/review.md +0 -233
  589. package/.claude/skills/mastermind-skills/routine-detail.md +0 -253
  590. package/.claude/skills/mastermind-skills/routines.md +0 -203
  591. package/.claude/skills/mastermind-skills/runorg.md +0 -714
  592. package/.claude/skills/mastermind-skills/sales.md +0 -170
  593. package/.claude/skills/mastermind-skills/search.md +0 -186
  594. package/.claude/skills/mastermind-skills/secrets.md +0 -199
  595. package/.claude/skills/mastermind-skills/skill-builder.md +0 -274
  596. package/.claude/skills/mastermind-skills/skills.md +0 -156
  597. package/.claude/skills/mastermind-skills/spec-reviewer-prompt.md +0 -63
  598. package/.claude/skills/mastermind-skills/stoporg.md +0 -138
  599. package/.claude/skills/mastermind-skills/taskdev.md +0 -307
  600. package/.claude/skills/mastermind-skills/tasks.md +0 -149
  601. package/.claude/skills/mastermind-skills/tdd.md +0 -394
  602. package/.claude/skills/mastermind-skills/techport.md +0 -777
  603. package/.claude/skills/mastermind-skills/threads.md +0 -259
  604. package/.claude/skills/mastermind-skills/tree-control.md +0 -250
  605. package/.claude/skills/mastermind-skills/verify.md +0 -196
  606. package/.claude/skills/mastermind-skills/wiki.md +0 -314
  607. package/.claude/skills/mastermind-skills/workspace-detail.md +0 -317
  608. package/.claude/skills/mastermind-skills/workspaces.md +0 -261
  609. package/.claude/skills/mastermind-skills/worktree.md +0 -215
  610. package/.claude/skills/monodesign/SKILL.md +0 -333
  611. package/.claude/skills/monodesign/adapt.md +0 -53
  612. package/.claude/skills/monodesign/agents/monodesign-asset-producer.md +0 -100
  613. package/.claude/skills/monodesign/animate.md +0 -65
  614. package/.claude/skills/monodesign/audit.md +0 -89
  615. package/.claude/skills/monodesign/bolder.md +0 -50
  616. package/.claude/skills/monodesign/clarify.md +0 -64
  617. package/.claude/skills/monodesign/colorize.md +0 -68
  618. package/.claude/skills/monodesign/craft.md +0 -51
  619. package/.claude/skills/monodesign/critique.md +0 -66
  620. package/.claude/skills/monodesign/delight.md +0 -47
  621. package/.claude/skills/monodesign/distill.md +0 -56
  622. package/.claude/skills/monodesign/document.md +0 -83
  623. package/.claude/skills/monodesign/extract.md +0 -74
  624. package/.claude/skills/monodesign/harden.md +0 -65
  625. package/.claude/skills/monodesign/live.md +0 -59
  626. package/.claude/skills/monodesign/onboard.md +0 -50
  627. package/.claude/skills/monodesign/optimize.md +0 -64
  628. package/.claude/skills/monodesign/overdrive.md +0 -56
  629. package/.claude/skills/monodesign/polish.md +0 -68
  630. package/.claude/skills/monodesign/quieter.md +0 -57
  631. package/.claude/skills/monodesign/reference/adapt.md +0 -190
  632. package/.claude/skills/monodesign/reference/animate.md +0 -175
  633. package/.claude/skills/monodesign/reference/antipatterns-catalog.md +0 -359
  634. package/.claude/skills/monodesign/reference/audit.md +0 -133
  635. package/.claude/skills/monodesign/reference/bolder.md +0 -113
  636. package/.claude/skills/monodesign/reference/brand-workflow.md +0 -180
  637. package/.claude/skills/monodesign/reference/brand.md +0 -114
  638. package/.claude/skills/monodesign/reference/clarify.md +0 -174
  639. package/.claude/skills/monodesign/reference/codex.md +0 -107
  640. package/.claude/skills/monodesign/reference/cognitive-load.md +0 -106
  641. package/.claude/skills/monodesign/reference/color-and-contrast.md +0 -105
  642. package/.claude/skills/monodesign/reference/colorize.md +0 -154
  643. package/.claude/skills/monodesign/reference/component-specs.md +0 -260
  644. package/.claude/skills/monodesign/reference/component-states.md +0 -274
  645. package/.claude/skills/monodesign/reference/component-system.md +0 -358
  646. package/.claude/skills/monodesign/reference/copy-formulas.md +0 -160
  647. package/.claude/skills/monodesign/reference/craft.md +0 -196
  648. package/.claude/skills/monodesign/reference/critique.md +0 -213
  649. package/.claude/skills/monodesign/reference/delight.md +0 -302
  650. package/.claude/skills/monodesign/reference/design-principles.md +0 -246
  651. package/.claude/skills/monodesign/reference/distill.md +0 -111
  652. package/.claude/skills/monodesign/reference/document.md +0 -427
  653. package/.claude/skills/monodesign/reference/extract.md +0 -69
  654. package/.claude/skills/monodesign/reference/harden.md +0 -347
  655. package/.claude/skills/monodesign/reference/heuristics-scoring.md +0 -234
  656. package/.claude/skills/monodesign/reference/hooks.md +0 -99
  657. package/.claude/skills/monodesign/reference/image-prompts.md +0 -130
  658. package/.claude/skills/monodesign/reference/interaction-design.md +0 -195
  659. package/.claude/skills/monodesign/reference/layout.md +0 -141
  660. package/.claude/skills/monodesign/reference/live.md +0 -622
  661. package/.claude/skills/monodesign/reference/motion-design.md +0 -109
  662. package/.claude/skills/monodesign/reference/onboard.md +0 -234
  663. package/.claude/skills/monodesign/reference/optimize.md +0 -258
  664. package/.claude/skills/monodesign/reference/overdrive.md +0 -130
  665. package/.claude/skills/monodesign/reference/personas.md +0 -179
  666. package/.claude/skills/monodesign/reference/polish.md +0 -233
  667. package/.claude/skills/monodesign/reference/pre-delivery-checklist.md +0 -108
  668. package/.claude/skills/monodesign/reference/product.md +0 -62
  669. package/.claude/skills/monodesign/reference/quieter.md +0 -99
  670. package/.claude/skills/monodesign/reference/responsive-design.md +0 -114
  671. package/.claude/skills/monodesign/reference/shape.md +0 -151
  672. package/.claude/skills/monodesign/reference/spatial-design.md +0 -100
  673. package/.claude/skills/monodesign/reference/teach.md +0 -156
  674. package/.claude/skills/monodesign/reference/token-architecture.md +0 -222
  675. package/.claude/skills/monodesign/reference/typeset.md +0 -124
  676. package/.claude/skills/monodesign/reference/typography.md +0 -159
  677. package/.claude/skills/monodesign/reference/ux-research.md +0 -143
  678. package/.claude/skills/monodesign/reference/ux-rules.md +0 -211
  679. package/.claude/skills/monodesign/reference/ux-writing.md +0 -107
  680. package/.claude/skills/monodesign/shape.md +0 -71
  681. package/.claude/skills/monodesign/teach.md +0 -69
  682. package/.claude/skills/monodesign/typeset.md +0 -59
  683. package/.claude/skills/monolean/SKILL.md +0 -118
  684. package/.claude/skills/monolean-audit/SKILL.md +0 -41
  685. package/.claude/skills/monolean-debt/SKILL.md +0 -46
  686. package/.claude/skills/monolean-help/SKILL.md +0 -60
  687. package/.claude/skills/monolean-review/SKILL.md +0 -57
  688. package/.claude/skills/monomind/.monomind/registry.json +0 -6
  689. package/.claude/skills/monomind/browse-agentcore.md +0 -115
  690. package/.claude/skills/monomind/browse-electron.md +0 -188
  691. package/.claude/skills/monomind/browse-qa.md +0 -228
  692. package/.claude/skills/monomind/browse-references/authentication.md +0 -161
  693. package/.claude/skills/monomind/browse-references/trust-boundaries.md +0 -40
  694. package/.claude/skills/monomind/browse-references/video-recording.md +0 -83
  695. package/.claude/skills/monomind/browse-slack.md +0 -188
  696. package/.claude/skills/monomind/browse-vercel.md +0 -239
  697. package/.claude/skills/monomind/browse.md +0 -724
  698. package/.claude/skills/monomotion/SKILL.md +0 -145
  699. package/.claude/skills/monomotion/rules/api-control.md +0 -139
  700. package/.claude/skills/monomotion/rules/effects.md +0 -109
  701. package/.claude/skills/monomotion/rules/integration.md +0 -140
  702. package/.claude/skills/monomotion/rules/scroll.md +0 -131
  703. package/.claude/skills/monomotion/rules/sequencing.md +0 -105
  704. package/.claude/skills/monomotion/rules/svg.md +0 -101
  705. package/.claude/skills/monomotion/rules/text.md +0 -119
  706. package/.claude/skills/pair-programming/SKILL.md +0 -1202
  707. package/.claude/skills/performance-analysis/SKILL.md +0 -560
  708. package/.claude/skills/skill-builder/SKILL.md +0 -910
  709. package/.claude/skills/sparc-methodology/SKILL.md +0 -950
  710. package/.claude/skills/specialagent/SKILL.md +0 -208
  711. package/.claude/skills/stop-slop/SKILL.md +0 -67
  712. package/.claude/skills/stop-slop/references/examples.md +0 -61
  713. package/.claude/skills/stop-slop/references/phrases.md +0 -130
  714. package/.claude/skills/stop-slop/references/structures.md +0 -136
  715. package/.claude/skills/swarm-advanced/SKILL.md +0 -937
  716. package/.claude/skills/swarm-orchestration/SKILL.md +0 -179
  717. package/.claude/skills/verification-quality/SKILL.md +0 -674
  718. package/.claude/workflows/feature-dev.yaml +0 -18
  719. package/.claude/workflows/security-audit.yaml +0 -10
  720. package/packages/@monomind/cli/.claude/agents/generated/case-analyst.md +0 -50
  721. package/packages/@monomind/cli/.claude/agents/generated/channel-intelligence-director.md +0 -87
  722. package/packages/@monomind/cli/.claude/agents/generated/chief-growth-officer.md +0 -88
  723. package/packages/@monomind/cli/.claude/agents/generated/churn-analyst.md +0 -53
  724. package/packages/@monomind/cli/.claude/agents/generated/code-reviewer.md +0 -55
  725. package/packages/@monomind/cli/.claude/agents/generated/code-validator.md +0 -57
  726. package/packages/@monomind/cli/.claude/agents/generated/complexity-scanner.md +0 -56
  727. package/packages/@monomind/cli/.claude/agents/generated/content-seo-strategist.md +0 -90
  728. package/packages/@monomind/cli/.claude/agents/generated/copy-editor.md +0 -45
  729. package/packages/@monomind/cli/.claude/agents/generated/court-reporter.md +0 -50
  730. package/packages/@monomind/cli/.claude/agents/generated/defender.md +0 -51
  731. package/packages/@monomind/cli/.claude/agents/generated/devbot-orchestrator.md +0 -58
  732. package/packages/@monomind/cli/.claude/agents/generated/devbot-planner.md +0 -63
  733. package/packages/@monomind/cli/.claude/agents/generated/developer-community-strategist.md +0 -91
  734. package/packages/@monomind/cli/.claude/agents/generated/editor-in-chief.md +0 -45
  735. package/packages/@monomind/cli/.claude/agents/generated/fact-checker.md +0 -45
  736. package/packages/@monomind/cli/.claude/agents/generated/impact-assessor.md +0 -54
  737. package/packages/@monomind/cli/.claude/agents/generated/judge.md +0 -51
  738. package/packages/@monomind/cli/.claude/agents/generated/outreach-partnership-strategist.md +0 -90
  739. package/packages/@monomind/cli/.claude/agents/generated/prosecutor.md +0 -51
  740. package/packages/@monomind/cli/.claude/agents/generated/reporter.md +0 -45
  741. package/packages/@monomind/cli/.claude/agents/generated/social-media-strategist.md +0 -91
  742. package/packages/@monomind/cli/.claude/agents/generated/video-visual-strategist.md +0 -90
  743. package/packages/@monomind/cli/.claude/agents/reengineer-squad/boss.md +0 -113
  744. package/packages/@monomind/cli/.claude/agents/reengineer-squad/critic-architect.md +0 -132
  745. package/packages/@monomind/cli/.claude/agents/reengineer-squad/git-manager.md +0 -145
  746. package/packages/@monomind/cli/.claude/agents/reengineer-squad/idea-generator.md +0 -95
  747. package/packages/@monomind/cli/.claude/agents/reengineer-squad/implementer.md +0 -112
  748. package/packages/@monomind/cli/.claude/agents/reengineer-squad/integration-planner.md +0 -112
  749. package/packages/@monomind/cli/.claude/agents/reengineer-squad/source-analyst.md +0 -103
  750. package/packages/@monomind/cli/.claude/agents/reengineer-squad/target-analyst.md +0 -118
  751. package/packages/@monomind/cli/.claude/agents/reengineer-squad/tester.md +0 -105
  752. package/packages/@monomind/cli/.claude/agents/sparc/architecture.md +0 -453
  753. package/packages/@monomind/cli/.claude/agents/sparc/pseudocode.md +0 -299
  754. package/packages/@monomind/cli/.claude/agents/sparc/refinement.md +0 -504
  755. package/packages/@monomind/cli/.claude/agents/sparc/specification.md +0 -258
  756. package/packages/@monomind/cli/.claude/agents/templates/implementer-sparc-coder.md +0 -231
  757. package/packages/@monomind/cli/.claude/commands/sparc/analyzer.md +0 -35
  758. package/packages/@monomind/cli/.claude/commands/sparc/architect.md +0 -36
  759. package/packages/@monomind/cli/.claude/commands/sparc/ask.md +0 -56
  760. package/packages/@monomind/cli/.claude/commands/sparc/batch-executor.md +0 -37
  761. package/packages/@monomind/cli/.claude/commands/sparc/code.md +0 -48
  762. package/packages/@monomind/cli/.claude/commands/sparc/coder.md +0 -37
  763. package/packages/@monomind/cli/.claude/commands/sparc/debug.md +0 -42
  764. package/packages/@monomind/cli/.claude/commands/sparc/debugger.md +0 -37
  765. package/packages/@monomind/cli/.claude/commands/sparc/designer.md +0 -36
  766. package/packages/@monomind/cli/.claude/commands/sparc/devops.md +0 -68
  767. package/packages/@monomind/cli/.claude/commands/sparc/docs-writer.md +0 -39
  768. package/packages/@monomind/cli/.claude/commands/sparc/documenter.md +0 -37
  769. package/packages/@monomind/cli/.claude/commands/sparc/innovator.md +0 -37
  770. package/packages/@monomind/cli/.claude/commands/sparc/integration.md +0 -42
  771. package/packages/@monomind/cli/.claude/commands/sparc/mcp.md +0 -76
  772. package/packages/@monomind/cli/.claude/commands/sparc/memory-manager.md +0 -57
  773. package/packages/@monomind/cli/.claude/commands/sparc/optimizer.md +0 -37
  774. package/packages/@monomind/cli/.claude/commands/sparc/orchestrator.md +0 -70
  775. package/packages/@monomind/cli/.claude/commands/sparc/post-deployment-monitoring-mode.md +0 -42
  776. package/packages/@monomind/cli/.claude/commands/sparc/refinement-optimization-mode.md +0 -42
  777. package/packages/@monomind/cli/.claude/commands/sparc/researcher.md +0 -37
  778. package/packages/@monomind/cli/.claude/commands/sparc/reviewer.md +0 -37
  779. package/packages/@monomind/cli/.claude/commands/sparc/security-review.md +0 -39
  780. package/packages/@monomind/cli/.claude/commands/sparc/sparc-modes.md +0 -120
  781. package/packages/@monomind/cli/.claude/commands/sparc/sparc.md +0 -71
  782. package/packages/@monomind/cli/.claude/commands/sparc/spec-pseudocode.md +0 -39
  783. package/packages/@monomind/cli/.claude/commands/sparc/supabase-admin.md +0 -301
  784. package/packages/@monomind/cli/.claude/commands/sparc/swarm-coordinator.md +0 -50
  785. package/packages/@monomind/cli/.claude/commands/sparc/tdd.md +0 -37
  786. package/packages/@monomind/cli/.claude/commands/sparc/tester.md +0 -37
  787. package/packages/@monomind/cli/.claude/commands/sparc/tutorial.md +0 -38
  788. package/packages/@monomind/cli/.claude/commands/sparc/workflow-manager.md +0 -37
  789. package/packages/@monomind/cli/.claude/commands/sparc.md +0 -112
  790. package/packages/@monomind/cli/.claude/skills/sparc-methodology/SKILL.md +0 -950
  791. package/packages/@monomind/cli/dist/src/capabilities/enrichment.d.ts +0 -44
  792. package/packages/@monomind/cli/dist/src/capabilities/enrichment.js +0 -141
  793. package/packages/@monomind/cli/dist/src/commands/analyze-boundaries.d.ts +0 -14
  794. package/packages/@monomind/cli/dist/src/commands/analyze-boundaries.js +0 -295
  795. package/packages/@monomind/cli/dist/src/commands/analyze-graph.d.ts +0 -14
  796. package/packages/@monomind/cli/dist/src/commands/analyze-graph.js +0 -304
  797. package/packages/@monomind/cli/dist/src/commands/claims.d.ts +0 -10
  798. package/packages/@monomind/cli/dist/src/commands/claims.js +0 -650
  799. package/packages/@monomind/cli/dist/src/commands/daemon.d.ts +0 -8
  800. package/packages/@monomind/cli/dist/src/commands/daemon.js +0 -681
  801. package/packages/@monomind/cli/dist/src/commands/enrich.d.ts +0 -10
  802. package/packages/@monomind/cli/dist/src/commands/enrich.js +0 -58
  803. package/packages/@monomind/cli/dist/src/commands/issues.d.ts +0 -21
  804. package/packages/@monomind/cli/dist/src/commands/issues.js +0 -575
  805. package/packages/@monomind/cli/dist/src/commands/workflow.d.ts +0 -8
  806. package/packages/@monomind/cli/dist/src/commands/workflow.js +0 -575
  807. package/packages/@monomind/cli/dist/src/consensus/vote-signer.d.ts +0 -36
  808. package/packages/@monomind/cli/dist/src/consensus/vote-signer.js +0 -88
  809. package/packages/@monomind/cli/dist/src/mcp-tools/workflow-tools.d.ts +0 -8
  810. package/packages/@monomind/cli/dist/src/mcp-tools/workflow-tools.js +0 -717
  811. package/packages/@monomind/cli/dist/src/services/claim-service.d.ts +0 -198
  812. package/packages/@monomind/cli/dist/src/services/claim-service.js +0 -890
  813. package/packages/@monomind/cli/dist/src/services/headless-worker-executor.d.ts +0 -311
  814. package/packages/@monomind/cli/dist/src/services/headless-worker-executor.js +0 -1183
  815. package/packages/@monomind/cli/dist/src/services/worker-daemon.d.ts +0 -230
  816. package/packages/@monomind/cli/dist/src/services/worker-daemon.js +0 -1350
  817. package/packages/@monomind/cli/dist/src/ui/.monomind/capture/active-run.json +0 -1
  818. package/packages/@monomind/guidance/README.md +0 -87
  819. package/packages/@monomind/guidance/dist/adversarial.d.ts +0 -284
  820. package/packages/@monomind/guidance/dist/adversarial.js +0 -572
  821. package/packages/@monomind/guidance/dist/analyzer.d.ts +0 -530
  822. package/packages/@monomind/guidance/dist/analyzer.js +0 -2518
  823. package/packages/@monomind/guidance/dist/artifacts.d.ts +0 -283
  824. package/packages/@monomind/guidance/dist/artifacts.js +0 -356
  825. package/packages/@monomind/guidance/dist/authority.d.ts +0 -290
  826. package/packages/@monomind/guidance/dist/authority.js +0 -558
  827. package/packages/@monomind/guidance/dist/capabilities.d.ts +0 -209
  828. package/packages/@monomind/guidance/dist/capabilities.js +0 -485
  829. package/packages/@monomind/guidance/dist/coherence.d.ts +0 -233
  830. package/packages/@monomind/guidance/dist/coherence.js +0 -378
  831. package/packages/@monomind/guidance/dist/compiler.d.ts +0 -87
  832. package/packages/@monomind/guidance/dist/compiler.js +0 -425
  833. package/packages/@monomind/guidance/dist/conformance-kit.d.ts +0 -225
  834. package/packages/@monomind/guidance/dist/conformance-kit.js +0 -629
  835. package/packages/@monomind/guidance/dist/continue-gate.d.ts +0 -214
  836. package/packages/@monomind/guidance/dist/continue-gate.js +0 -353
  837. package/packages/@monomind/guidance/dist/crypto-utils.d.ts +0 -17
  838. package/packages/@monomind/guidance/dist/crypto-utils.js +0 -24
  839. package/packages/@monomind/guidance/dist/evolution.d.ts +0 -282
  840. package/packages/@monomind/guidance/dist/evolution.js +0 -500
  841. package/packages/@monomind/guidance/dist/gates.d.ts +0 -79
  842. package/packages/@monomind/guidance/dist/gates.js +0 -302
  843. package/packages/@monomind/guidance/dist/gateway.d.ts +0 -206
  844. package/packages/@monomind/guidance/dist/gateway.js +0 -452
  845. package/packages/@monomind/guidance/dist/generators.d.ts +0 -153
  846. package/packages/@monomind/guidance/dist/generators.js +0 -682
  847. package/packages/@monomind/guidance/dist/headless.d.ts +0 -177
  848. package/packages/@monomind/guidance/dist/headless.js +0 -342
  849. package/packages/@monomind/guidance/dist/hooks.d.ts +0 -109
  850. package/packages/@monomind/guidance/dist/hooks.js +0 -347
  851. package/packages/@monomind/guidance/dist/index.d.ts +0 -203
  852. package/packages/@monomind/guidance/dist/index.js +0 -320
  853. package/packages/@monomind/guidance/dist/ledger.d.ts +0 -162
  854. package/packages/@monomind/guidance/dist/ledger.js +0 -375
  855. package/packages/@monomind/guidance/dist/manifest-validator.d.ts +0 -289
  856. package/packages/@monomind/guidance/dist/manifest-validator.js +0 -838
  857. package/packages/@monomind/guidance/dist/memory-gate.d.ts +0 -222
  858. package/packages/@monomind/guidance/dist/memory-gate.js +0 -382
  859. package/packages/@monomind/guidance/dist/meta-governance.d.ts +0 -265
  860. package/packages/@monomind/guidance/dist/meta-governance.js +0 -348
  861. package/packages/@monomind/guidance/dist/optimizer.d.ts +0 -104
  862. package/packages/@monomind/guidance/dist/optimizer.js +0 -329
  863. package/packages/@monomind/guidance/dist/persistence.d.ts +0 -189
  864. package/packages/@monomind/guidance/dist/persistence.js +0 -464
  865. package/packages/@monomind/guidance/dist/proof.d.ts +0 -185
  866. package/packages/@monomind/guidance/dist/proof.js +0 -238
  867. package/packages/@monomind/guidance/dist/retriever.d.ts +0 -116
  868. package/packages/@monomind/guidance/dist/retriever.js +0 -394
  869. package/packages/@monomind/guidance/dist/ruvbot-integration.d.ts +0 -370
  870. package/packages/@monomind/guidance/dist/ruvbot-integration.js +0 -738
  871. package/packages/@monomind/guidance/dist/temporal.d.ts +0 -428
  872. package/packages/@monomind/guidance/dist/temporal.js +0 -660
  873. package/packages/@monomind/guidance/dist/trust.d.ts +0 -283
  874. package/packages/@monomind/guidance/dist/trust.js +0 -474
  875. package/packages/@monomind/guidance/dist/truth-anchors.d.ts +0 -276
  876. package/packages/@monomind/guidance/dist/truth-anchors.js +0 -488
  877. package/packages/@monomind/guidance/dist/types.d.ts +0 -378
  878. package/packages/@monomind/guidance/dist/types.js +0 -10
  879. package/packages/@monomind/guidance/dist/uncertainty.d.ts +0 -372
  880. package/packages/@monomind/guidance/dist/uncertainty.js +0 -619
  881. package/packages/@monomind/guidance/dist/wasm-kernel.d.ts +0 -48
  882. package/packages/@monomind/guidance/dist/wasm-kernel.js +0 -158
  883. 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
- });