@monoes/monomindcli 2.9.7 → 2.9.8

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 (295) hide show
  1. package/.claude/agents/design/design-monodesign.md +1 -2
  2. package/.claude/agents/engineering/engineering-ai-data-remediation-engineer.md +1 -2
  3. package/.claude/agents/engineering/engineering-ai-engineer.md +1 -2
  4. package/.claude/agents/engineering/engineering-autonomous-optimization-architect.md +0 -1
  5. package/.claude/agents/engineering/engineering-backend-architect.md +1 -2
  6. package/.claude/agents/engineering/engineering-code-reviewer.md +1 -2
  7. package/.claude/agents/engineering/engineering-data-engineer.md +1 -2
  8. package/.claude/agents/engineering/engineering-database-optimizer.md +1 -2
  9. package/.claude/agents/engineering/engineering-devops-automator.md +1 -2
  10. package/.claude/agents/engineering/engineering-embedded-firmware-engineer.md +1 -2
  11. package/.claude/agents/engineering/engineering-feishu-integration-developer.md +1 -2
  12. package/.claude/agents/engineering/engineering-frontend-developer.md +1 -2
  13. package/.claude/agents/engineering/engineering-git-workflow-master.md +1 -2
  14. package/.claude/agents/engineering/engineering-incident-response-commander.md +0 -1
  15. package/.claude/agents/engineering/engineering-mobile-app-builder.md +1 -2
  16. package/.claude/agents/engineering/engineering-rapid-prototyper.md +1 -2
  17. package/.claude/agents/engineering/engineering-security-engineer.md +1 -2
  18. package/.claude/agents/engineering/engineering-senior-developer.md +1 -2
  19. package/.claude/agents/engineering/engineering-software-architect.md +1 -2
  20. package/.claude/agents/engineering/engineering-solidity-smart-contract-engineer.md +1 -2
  21. package/.claude/agents/engineering/engineering-sre.md +0 -1
  22. package/.claude/agents/engineering/engineering-technical-writer.md +1 -2
  23. package/.claude/agents/engineering/engineering-threat-detection-engineer.md +0 -1
  24. package/.claude/agents/engineering/engineering-wechat-mini-program-developer.md +1 -2
  25. package/.claude/agents/github/code-review-swarm.md +0 -1
  26. package/.claude/agents/github/github-modes.md +0 -1
  27. package/.claude/agents/github/issue-tracker.md +0 -1
  28. package/.claude/agents/github/multi-repo-swarm.md +0 -1
  29. package/.claude/agents/github/pr-manager.md +0 -1
  30. package/.claude/agents/github/project-board-sync.md +0 -1
  31. package/.claude/agents/github/release-manager.md +0 -1
  32. package/.claude/agents/github/repo-architect.md +0 -1
  33. package/.claude/agents/github/swarm-issue.md +0 -1
  34. package/.claude/agents/github/swarm-pr.md +0 -1
  35. package/.claude/agents/github/sync-coordinator.md +0 -1
  36. package/.claude/agents/github/workflow-automation.md +0 -1
  37. package/.claude/agents/marketing/marketing-competitive-content.md +1 -2
  38. package/.claude/agents/marketing/marketing-cro-specialist.md +1 -2
  39. package/.claude/agents/marketing/marketing-email-specialist.md +1 -2
  40. package/.claude/agents/marketing/marketing-launch-strategist.md +1 -2
  41. package/.claude/agents/marketing/marketing-pricing-strategist.md +1 -2
  42. package/.claude/agents/specialized/agentic-identity-trust.md +0 -1
  43. package/.claude/agents/specialized/agents-orchestrator.md +1 -2
  44. package/.claude/agents/specialized/automation-governance-architect.md +1 -2
  45. package/.claude/agents/specialized/blockchain-security-auditor.md +1 -2
  46. package/.claude/agents/specialized/compliance-auditor.md +1 -2
  47. package/.claude/agents/specialized/identity-graph-operator.md +0 -1
  48. package/.claude/agents/specialized/lsp-index-engineer.md +1 -2
  49. package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +0 -1
  50. package/.claude/agents/specialized/specialized-cultural-intelligence-strategist.md +0 -1
  51. package/.claude/agents/specialized/specialized-developer-advocate.md +1 -2
  52. package/.claude/agents/specialized/specialized-document-generator.md +1 -2
  53. package/.claude/agents/specialized/specialized-mcp-builder.md +1 -2
  54. package/.claude/agents/specialized/specialized-model-qa.md +0 -1
  55. package/.claude/agents/specialized/specialized-workflow-architect.md +1 -2
  56. package/.claude/agents/specialized/zk-steward.md +1 -2
  57. package/.claude/agents/testing/production-validator.md +0 -1
  58. package/.claude/agents/testing/tdd-london-swarm.md +0 -1
  59. package/.claude/agents/testing/testing-accessibility-auditor.md +0 -1
  60. package/.claude/agents/testing/testing-api-tester.md +1 -2
  61. package/.claude/agents/testing/testing-evidence-collector.md +1 -2
  62. package/.claude/agents/testing/testing-performance-benchmarker.md +1 -2
  63. package/.claude/agents/testing/testing-test-results-analyzer.md +1 -2
  64. package/.claude/agents/testing/testing-tool-evaluator.md +1 -2
  65. package/.claude/agents/testing/testing-workflow-optimizer.md +1 -2
  66. package/.claude/commands/hooks/README.md +1 -1
  67. package/.claude/commands/memory/README.md +6 -7
  68. package/.claude/commands/monitoring/README.md +1 -1
  69. package/.claude/helpers/control-start.cjs +27 -7
  70. package/.claude/helpers/handlers/route-handler.cjs +22 -3
  71. package/.claude/helpers/handlers/session-handler.cjs +43 -0
  72. package/.claude/helpers/intelligence.cjs +27 -6
  73. package/.claude/helpers/statusline.cjs +45 -11
  74. package/.claude/skills/agentic-jujutsu/SKILL.md +17 -15
  75. package/.claude/skills/hive-mind-advanced/SKILL.md +212 -559
  76. package/.claude/skills/hooks-automation/SKILL.md +1 -1
  77. package/.claude/skills/mastermind-adapters/SKILL.md +0 -11
  78. package/.claude/skills/mastermind-agents/SKILL.md +0 -11
  79. package/.claude/skills/mastermind-backup/SKILL.md +0 -11
  80. package/.claude/skills/mastermind-bootstrap/SKILL.md +0 -11
  81. package/.claude/skills/mastermind-delegation/SKILL.md +14 -12
  82. package/.claude/skills/mastermind-idea/SKILL.md +0 -5
  83. package/.claude/skills/mastermind-monitor/SKILL.md +0 -15
  84. package/.claude/skills/mastermind-org-settings/SKILL.md +0 -11
  85. package/.claude/skills/mastermind-plugins/SKILL.md +0 -11
  86. package/.claude/skills/mastermind-protocol/SKILL.md +6 -124
  87. package/.claude/skills/mastermind-repeat/SKILL.md +0 -25
  88. package/.claude/skills/mastermind-review/SKILL.md +1 -1
  89. package/.claude/skills/mastermind-stoporg/SKILL.md +0 -19
  90. package/.claude/skills/memory-toolkit/SKILL.md +12 -11
  91. package/.claude/skills/monodesign/scripts/detector/engines/browser/drivers.mjs +8 -1
  92. package/.claude/skills/pair-programming/SKILL.md +1 -1
  93. package/.claude/skills/performance-analysis/SKILL.md +228 -484
  94. package/.claude/skills/specialagent/SKILL.md +31 -133
  95. package/.claude/skills/swarm-advanced/SKILL.md +2 -2
  96. package/.claude/skills/swarm-orchestration/SKILL.md +220 -150
  97. package/.claude/skills/verification-quality/SKILL.md +247 -571
  98. package/README.md +3 -3
  99. package/dist/src/commands/agent-lifecycle.js +3 -3
  100. package/dist/src/commands/agent-lifecycle.js.map +1 -1
  101. package/dist/src/commands/autopilot.d.ts.map +1 -1
  102. package/dist/src/commands/autopilot.js +7 -1
  103. package/dist/src/commands/autopilot.js.map +1 -1
  104. package/dist/src/commands/doc.d.ts.map +1 -1
  105. package/dist/src/commands/doc.js +14 -3
  106. package/dist/src/commands/doc.js.map +1 -1
  107. package/dist/src/commands/doctor-env-checks.d.ts +1 -1
  108. package/dist/src/commands/doctor-env-checks.d.ts.map +1 -1
  109. package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
  110. package/dist/src/commands/doctor-project-checks.js +3 -37
  111. package/dist/src/commands/doctor-project-checks.js.map +1 -1
  112. package/dist/src/commands/doctor.d.ts.map +1 -1
  113. package/dist/src/commands/doctor.js +30 -1
  114. package/dist/src/commands/doctor.js.map +1 -1
  115. package/dist/src/commands/hooks-coverage-commands.d.ts.map +1 -1
  116. package/dist/src/commands/hooks-coverage-commands.js +75 -67
  117. package/dist/src/commands/hooks-coverage-commands.js.map +1 -1
  118. package/dist/src/commands/hooks-workers.d.ts.map +1 -1
  119. package/dist/src/commands/hooks-workers.js +41 -10
  120. package/dist/src/commands/hooks-workers.js.map +1 -1
  121. package/dist/src/commands/hooks.js +1 -1
  122. package/dist/src/commands/index.d.ts +1 -1
  123. package/dist/src/commands/index.d.ts.map +1 -1
  124. package/dist/src/commands/index.js +20 -4
  125. package/dist/src/commands/index.js.map +1 -1
  126. package/dist/src/commands/init.d.ts.map +1 -1
  127. package/dist/src/commands/init.js +80 -7
  128. package/dist/src/commands/init.js.map +1 -1
  129. package/dist/src/commands/mcp.d.ts.map +1 -1
  130. package/dist/src/commands/mcp.js +78 -2
  131. package/dist/src/commands/mcp.js.map +1 -1
  132. package/dist/src/commands/neural-optimize.d.ts.map +1 -1
  133. package/dist/src/commands/neural-optimize.js +27 -5
  134. package/dist/src/commands/neural-optimize.js.map +1 -1
  135. package/dist/src/commands/org-observe.d.ts.map +1 -1
  136. package/dist/src/commands/org-observe.js +37 -30
  137. package/dist/src/commands/org-observe.js.map +1 -1
  138. package/dist/src/commands/org.d.ts.map +1 -1
  139. package/dist/src/commands/org.js +129 -2
  140. package/dist/src/commands/org.js.map +1 -1
  141. package/dist/src/commands/performance.js +1 -1
  142. package/dist/src/commands/performance.js.map +1 -1
  143. package/dist/src/commands/security-cve.d.ts.map +1 -1
  144. package/dist/src/commands/security-cve.js +1 -11
  145. package/dist/src/commands/security-cve.js.map +1 -1
  146. package/dist/src/commands/security-misc.d.ts +0 -9
  147. package/dist/src/commands/security-misc.d.ts.map +1 -1
  148. package/dist/src/commands/security-misc.js +33 -54
  149. package/dist/src/commands/security-misc.js.map +1 -1
  150. package/dist/src/commands/security-scan.d.ts.map +1 -1
  151. package/dist/src/commands/security-scan.js +3 -11
  152. package/dist/src/commands/security-scan.js.map +1 -1
  153. package/dist/src/commands/swarm.d.ts.map +1 -1
  154. package/dist/src/commands/swarm.js +7 -2
  155. package/dist/src/commands/swarm.js.map +1 -1
  156. package/dist/src/commands/ui.d.ts +8 -0
  157. package/dist/src/commands/ui.d.ts.map +1 -0
  158. package/dist/src/commands/ui.js +94 -0
  159. package/dist/src/commands/ui.js.map +1 -0
  160. package/dist/src/init/claudemd-generator.d.ts.map +1 -1
  161. package/dist/src/init/claudemd-generator.js +7 -9
  162. package/dist/src/init/claudemd-generator.js.map +1 -1
  163. package/dist/src/init/executor.d.ts.map +1 -1
  164. package/dist/src/init/executor.js +13 -3
  165. package/dist/src/init/executor.js.map +1 -1
  166. package/dist/src/init/kimi-generator.d.ts +3 -2
  167. package/dist/src/init/kimi-generator.d.ts.map +1 -1
  168. package/dist/src/init/kimi-generator.js +45 -13
  169. package/dist/src/init/kimi-generator.js.map +1 -1
  170. package/dist/src/init/statusline-generator.d.ts +1 -1
  171. package/dist/src/init/statusline-generator.js +1 -1
  172. package/dist/src/init/write-capabilities.js +7 -7
  173. package/dist/src/init/write-capabilities.js.map +1 -1
  174. package/dist/src/knowledge/document-pipeline.d.ts.map +1 -1
  175. package/dist/src/knowledge/document-pipeline.js +1 -0
  176. package/dist/src/knowledge/document-pipeline.js.map +1 -1
  177. package/dist/src/knowledge/eval/golden-set.d.ts.map +1 -1
  178. package/dist/src/knowledge/eval/golden-set.js +21 -32
  179. package/dist/src/knowledge/eval/golden-set.js.map +1 -1
  180. package/dist/src/mcp-tools/embeddings-tools.js +2 -2
  181. package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
  182. package/dist/src/mcp-tools/hooks-intelligence.d.ts.map +1 -1
  183. package/dist/src/mcp-tools/hooks-intelligence.js +29 -3
  184. package/dist/src/mcp-tools/hooks-intelligence.js.map +1 -1
  185. package/dist/src/mcp-tools/hooks-routing.d.ts.map +1 -1
  186. package/dist/src/mcp-tools/hooks-routing.js +32 -19
  187. package/dist/src/mcp-tools/hooks-routing.js.map +1 -1
  188. package/dist/src/mcp-tools/monograph/query-tools.d.ts.map +1 -1
  189. package/dist/src/mcp-tools/monograph/query-tools.js +48 -18
  190. package/dist/src/mcp-tools/monograph/query-tools.js.map +1 -1
  191. package/dist/src/mcp-tools/performance-tools.d.ts.map +1 -1
  192. package/dist/src/mcp-tools/performance-tools.js +15 -10
  193. package/dist/src/mcp-tools/performance-tools.js.map +1 -1
  194. package/dist/src/memory/embedding-operations.d.ts +4 -0
  195. package/dist/src/memory/embedding-operations.d.ts.map +1 -1
  196. package/dist/src/memory/embedding-operations.js +125 -32
  197. package/dist/src/memory/embedding-operations.js.map +1 -1
  198. package/dist/src/memory/hnsw-operations.d.ts +1 -1
  199. package/dist/src/memory/hnsw-operations.js +1 -1
  200. package/dist/src/memory/memory-bridge.d.ts +8 -0
  201. package/dist/src/memory/memory-bridge.d.ts.map +1 -1
  202. package/dist/src/memory/memory-bridge.js +37 -8
  203. package/dist/src/memory/memory-bridge.js.map +1 -1
  204. package/dist/src/memory/memory-read.d.ts +1 -1
  205. package/dist/src/memory/memory-read.js +2 -2
  206. package/dist/src/memory/memory-read.js.map +1 -1
  207. package/dist/src/orgrt/antigravity-runner.d.ts.map +1 -1
  208. package/dist/src/orgrt/antigravity-runner.js +6 -6
  209. package/dist/src/orgrt/antigravity-runner.js.map +1 -1
  210. package/dist/src/orgrt/checkpoint-ops.d.ts +11 -1
  211. package/dist/src/orgrt/checkpoint-ops.d.ts.map +1 -1
  212. package/dist/src/orgrt/checkpoint-ops.js +18 -86
  213. package/dist/src/orgrt/checkpoint-ops.js.map +1 -1
  214. package/dist/src/orgrt/checkpoint.d.ts +1 -1
  215. package/dist/src/orgrt/checkpoint.d.ts.map +1 -1
  216. package/dist/src/orgrt/checkpoint.js +3 -3
  217. package/dist/src/orgrt/checkpoint.js.map +1 -1
  218. package/dist/src/orgrt/daemon.d.ts +9 -1
  219. package/dist/src/orgrt/daemon.d.ts.map +1 -1
  220. package/dist/src/orgrt/daemon.js +267 -139
  221. package/dist/src/orgrt/daemon.js.map +1 -1
  222. package/dist/src/orgrt/decisions.d.ts +13 -0
  223. package/dist/src/orgrt/decisions.d.ts.map +1 -1
  224. package/dist/src/orgrt/decisions.js +95 -0
  225. package/dist/src/orgrt/decisions.js.map +1 -1
  226. package/dist/src/orgrt/forwarder.d.ts.map +1 -1
  227. package/dist/src/orgrt/forwarder.js +148 -15
  228. package/dist/src/orgrt/forwarder.js.map +1 -1
  229. package/dist/src/orgrt/kimicode-runner.js +1 -1
  230. package/dist/src/orgrt/kimicode-runner.js.map +1 -1
  231. package/dist/src/orgrt/opencode-runner.js +1 -1
  232. package/dist/src/orgrt/opencode-runner.js.map +1 -1
  233. package/dist/src/orgrt/session.d.ts +27 -1
  234. package/dist/src/orgrt/session.d.ts.map +1 -1
  235. package/dist/src/orgrt/session.js +67 -6
  236. package/dist/src/orgrt/session.js.map +1 -1
  237. package/dist/src/orgrt/task-dag.d.ts +11 -1
  238. package/dist/src/orgrt/task-dag.d.ts.map +1 -1
  239. package/dist/src/orgrt/task-dag.js +93 -2
  240. package/dist/src/orgrt/task-dag.js.map +1 -1
  241. package/dist/src/orgrt/templates.d.ts.map +1 -1
  242. package/dist/src/orgrt/templates.js +26 -2
  243. package/dist/src/orgrt/templates.js.map +1 -1
  244. package/dist/src/orgrt/types.d.ts +77 -1
  245. package/dist/src/orgrt/types.d.ts.map +1 -1
  246. package/dist/src/orgrt/types.js +28 -2
  247. package/dist/src/orgrt/types.js.map +1 -1
  248. package/dist/src/orgrt/vercel-providers.d.ts.map +1 -1
  249. package/dist/src/orgrt/vercel-providers.js +9 -4
  250. package/dist/src/orgrt/vercel-providers.js.map +1 -1
  251. package/dist/src/orgrt/vercel-runner.d.ts +0 -23
  252. package/dist/src/orgrt/vercel-runner.d.ts.map +1 -1
  253. package/dist/src/orgrt/vercel-runner.js +38 -7
  254. package/dist/src/orgrt/vercel-runner.js.map +1 -1
  255. package/dist/tsconfig.tsbuildinfo +1 -1
  256. package/package.json +3 -3
  257. package/.claude/commands/mastermind/approvev1.md +0 -94
  258. package/.claude/commands/mastermind/architect.md +0 -52
  259. package/.claude/commands/mastermind/autodev.md +0 -28
  260. package/.claude/commands/mastermind/build.md +0 -23
  261. package/.claude/commands/mastermind/finish.md +0 -17
  262. package/.claude/commands/mastermind/runorgv1.md +0 -159
  263. package/.claude/commands/mastermind/taskdev.md +0 -23
  264. package/.claude/commands/mastermind/tdd.md +0 -19
  265. package/.claude/commands/mastermind/verify.md +0 -19
  266. package/.claude/skills/mastermind-approvev1/SKILL.md +0 -191
  267. package/.claude/skills/mastermind-architect/SKILL.md +0 -862
  268. package/.claude/skills/mastermind-autodev/SKILL.md +0 -360
  269. package/.claude/skills/mastermind-build/SKILL.md +0 -169
  270. package/.claude/skills/mastermind-companies/SKILL.md +0 -256
  271. package/.claude/skills/mastermind-content/SKILL.md +0 -197
  272. package/.claude/skills/mastermind-costs/SKILL.md +0 -151
  273. package/.claude/skills/mastermind-finance/SKILL.md +0 -166
  274. package/.claude/skills/mastermind-finish/SKILL.md +0 -251
  275. package/.claude/skills/mastermind-heartbeatv1/SKILL.md +0 -167
  276. package/.claude/skills/mastermind-instance-settings/SKILL.md +0 -315
  277. package/.claude/skills/mastermind-marketing/SKILL.md +0 -228
  278. package/.claude/skills/mastermind-marketing/references/copywriting-frameworks.md +0 -181
  279. package/.claude/skills/mastermind-marketing/references/persuasion-psychology.md +0 -158
  280. package/.claude/skills/mastermind-ops/SKILL.md +0 -168
  281. package/.claude/skills/mastermind-org-chart/SKILL.md +0 -209
  282. package/.claude/skills/mastermind-project-detail/SKILL.md +0 -249
  283. package/.claude/skills/mastermind-project-workspace/SKILL.md +0 -244
  284. package/.claude/skills/mastermind-projects/SKILL.md +0 -167
  285. package/.claude/skills/mastermind-runorgv1/SKILL.md +0 -731
  286. package/.claude/skills/mastermind-sales/SKILL.md +0 -170
  287. package/.claude/skills/mastermind-taskdev/SKILL.md +0 -377
  288. package/.claude/skills/mastermind-taskdev/code-quality-reviewer-prompt.md +0 -60
  289. package/.claude/skills/mastermind-taskdev/final-reviewer-prompt.md +0 -144
  290. package/.claude/skills/mastermind-taskdev/implementer-prompt.md +0 -114
  291. package/.claude/skills/mastermind-taskdev/spec-reviewer-prompt.md +0 -80
  292. package/.claude/skills/mastermind-tdd/SKILL.md +0 -424
  293. package/.claude/skills/mastermind-verify/SKILL.md +0 -196
  294. package/.claude/skills/mastermind-wiki/SKILL.md +0 -314
  295. package/.claude/skills/monolean-review/SKILL.md +0 -57
@@ -1,10 +1,9 @@
1
1
  ---
2
2
  name: Workflow Architect
3
3
  description: Workflow design specialist who maps complete workflow trees for every system, user journey, and agent interaction — covering happy paths, all branch conditions, failure modes, recovery paths, handoff contracts, and observable states to produce build-ready specs that agents can implement against and QA can test against.
4
- color: orange
4
+ color: "#f97316"
5
5
  emoji: "\U0001F5FA\uFE0F"
6
6
  vibe: Every path the system can take — mapped, named, and specified before a single line is written.
7
- tools: Read, Write, Edit, WebSearch, WebFetch
8
7
  ---
9
8
 
10
9
  # Workflow Architect Agent Personality
@@ -1,10 +1,9 @@
1
1
  ---
2
2
  name: ZK Steward
3
3
  description: Zettelkasten knowledge-base steward (note-taking system, NOT zero-knowledge cryptography). Manages interconnected atomic notes in Luhmann's slip-box style; switches perspective to domain experts (Feynman, Munger, Ogilvy) by task. Use for personal knowledge management, note linking, complex task breakdown, and cross-domain decision support. For zero-knowledge proofs or ZK cryptography, use zk-steward is WRONG — use security-architect instead.
4
- color: teal
4
+ color: "#14b8a6"
5
5
  emoji: 🗃️
6
6
  vibe: Channels Luhmann's Zettelkasten to build connected, validated knowledge bases.
7
- tools: Read, Write, Edit, Bash, Glob, Grep
8
7
  ---
9
8
 
10
9
  # ZK Steward Agent
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  name: production-validator
3
3
  description: Production validation specialist ensuring applications are fully implemented and deployment-ready
4
- tools: Read, Write, Edit, Bash, Glob, Grep
5
4
  ---
6
5
 
7
6
  # Production Validation Agent
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  name: tdd-london-swarm
3
3
  description: TDD London School specialist for mock-driven development within swarm coordination
4
- tools: Read, Write, Edit, Bash, Glob, Grep
5
4
  capability:
6
5
  role: tdd-london-swarm
7
6
  goal: Drive development from user behavior down to implementation using mock-driven TDD
@@ -4,7 +4,6 @@ description: Expert accessibility specialist who audits interfaces against WCAG
4
4
  color: "#0077B6"
5
5
  emoji: ♿
6
6
  vibe: If it's not tested with a screen reader, it's not accessible.
7
- tools: Read, Write, Edit, Bash, Glob, Grep
8
7
  triggers:
9
8
  - pattern: "\\b(a11y|accessibility|wcag|aria|screen.?reader|voiceover|nvda|jaws)\\b"
10
9
  mode: "inject"
@@ -1,10 +1,9 @@
1
1
  ---
2
2
  name: API Tester
3
3
  description: Expert API testing specialist focused on comprehensive API validation, performance testing, and quality assurance across all systems and third-party integrations
4
- color: purple
4
+ color: "#a855f7"
5
5
  emoji: 🔌
6
6
  vibe: Breaks your API before your users do.
7
- tools: Read, Write, Edit, Bash, Glob, Grep
8
7
  ---
9
8
 
10
9
  # API Tester Agent Personality
@@ -1,10 +1,9 @@
1
1
  ---
2
2
  name: Evidence Collector
3
3
  description: Screenshot-obsessed, fantasy-allergic QA specialist - Default to finding 3-5 issues, requires visual proof for everything
4
- color: orange
4
+ color: "#f97316"
5
5
  emoji: 📸
6
6
  vibe: Screenshot-obsessed QA who won't approve anything without visual proof.
7
- tools: Read, Write, Edit, Bash, Glob, Grep
8
7
  ---
9
8
 
10
9
  # QA Agent Personality
@@ -1,10 +1,9 @@
1
1
  ---
2
2
  name: Performance Benchmarker
3
3
  description: Expert performance testing and optimization specialist focused on measuring, analyzing, and improving system performance across all applications and infrastructure
4
- color: orange
4
+ color: "#f97316"
5
5
  emoji: ⏱️
6
6
  vibe: Measures everything, optimizes what matters, and proves the improvement.
7
- tools: Read, Write, Edit, Bash, Glob, Grep
8
7
  ---
9
8
 
10
9
  # Performance Benchmarker Agent Personality
@@ -1,10 +1,9 @@
1
1
  ---
2
2
  name: Test Results Analyzer
3
3
  description: Expert test analysis specialist focused on comprehensive test result evaluation, quality metrics analysis, and actionable insight generation from testing activities
4
- color: indigo
4
+ color: "#6366f1"
5
5
  emoji: 📋
6
6
  vibe: Reads test results like a detective reads evidence — nothing gets past.
7
- tools: Read, Write, Edit, Bash, Glob, Grep
8
7
  ---
9
8
 
10
9
  # Test Results Analyzer Agent Personality
@@ -1,10 +1,9 @@
1
1
  ---
2
2
  name: Tool Evaluator
3
3
  description: Expert technology assessment specialist focused on evaluating, testing, and recommending tools, software, and platforms for business use and productivity optimization
4
- color: teal
4
+ color: "#14b8a6"
5
5
  emoji: 🔧
6
6
  vibe: Tests and recommends the right tools so your team doesn't waste time on the wrong ones.
7
- tools: Read, Write, Edit, Bash, Glob, Grep
8
7
  ---
9
8
 
10
9
  # Tool Evaluator Agent Personality
@@ -1,10 +1,9 @@
1
1
  ---
2
2
  name: Workflow Optimizer
3
3
  description: Expert process improvement specialist focused on analyzing, optimizing, and automating workflows across all business functions for maximum productivity and efficiency
4
- color: green
4
+ color: "#22c55e"
5
5
  emoji: ⚡
6
6
  vibe: Finds the bottleneck, fixes the process, automates the rest.
7
- tools: Read, Write, Edit, Bash, Glob, Grep
8
7
  ---
9
8
 
10
9
  # Workflow Optimizer Agent Personality
@@ -20,7 +20,7 @@ Self-learning hooks system for intelligent workflow automation. Invoked as `npx
20
20
 
21
21
  ```
22
22
  pre-edit Get context and agent suggestions before editing a file
23
- post-edit Record editing outcome for neural pattern learning
23
+ post-edit Record editing outcome for pattern logging
24
24
  pre-command Assess risk before executing a command
25
25
  post-command Record command execution outcome
26
26
  pre-task Register task start and get agent suggestions + model routing
@@ -4,13 +4,13 @@ name: memory:README
4
4
 
5
5
  # Memory Commands
6
6
 
7
- Commands for the LanceDB memory system — vector search, namespaced storage, HNSW indexing, and cross-session persistence.
7
+ Commands for the memory system — local SQLite persistent cache (sql.js/WASM) + local HF embeddings, namespaced storage, keyword fallback search, and cross-session persistence.
8
8
 
9
9
  ## Available Subcommands
10
10
 
11
11
  | Subcommand | Description |
12
12
  |---|---|
13
- | `memory init` | Initialize memory backend (lancedb, sqlite, hybrid) |
13
+ | `memory init` | Initialize memory backend (sqlite, hybrid) |
14
14
  | `memory store` | Store a memory entry with optional vector embedding |
15
15
  | `memory retrieve` | Retrieve a memory entry by key |
16
16
  | `memory search` | Search memory (semantic / keyword / hybrid) |
@@ -35,7 +35,7 @@ npx monomind memory init --backend hybrid
35
35
  npx monomind memory store --key "auth-pattern" --value "Use JWT with refresh tokens" --namespace "patterns"
36
36
 
37
37
  # Search
38
- npx monomind memory search --query "authentication" --type hybrid --build-hnsw
38
+ npx monomind memory search --query "authentication" --type hybrid
39
39
 
40
40
  # Retrieve exact key
41
41
  npx monomind memory retrieve --key "auth-pattern"
@@ -50,7 +50,7 @@ npx monomind memory import --input backup.json --merge
50
50
 
51
51
  ## Files
52
52
 
53
- - [memory-search.md](./memory-search.md) — Search memory (semantic/keyword/hybrid + HNSW)
53
+ - [memory-search.md](./memory-search.md) — Search memory (semantic/keyword/hybrid; pure-JS HNSW is a dead fallback path, not the default)
54
54
 
55
55
  ## MCP Tools
56
56
 
@@ -68,12 +68,11 @@ npx monomind memory import --input backup.json --merge
68
68
 
69
69
  | Backend | Description | Recommended |
70
70
  |---|---|---|
71
- | `lancedb` | Full LanceDB with HNSW vector search | Production |
72
71
  | `sqlite` | SQLite-only, no vector search | Lightweight |
73
- | `hybrid` | SQLite + LanceDB HNSW | Default (recommended) |
72
+ | `hybrid` | SQLite + local HF embeddings (keyword fallback; pure-JS HNSW is a dead fallback path, not the default) | Default (recommended) |
74
73
 
75
74
  ## See Also
76
75
 
77
76
  - `hooks intelligence` — pattern learning on top of memory
78
- - `neural` — neural pattern training
77
+ - `neural` — pattern logging
79
78
  - `session` — session state (separate from memory)
@@ -13,7 +13,7 @@ Commands for monitoring Monomind system health — swarm status, agents, tasks,
13
13
  | `status` | Full system status (swarm, agents, tasks, memory, MCP) |
14
14
  | `status agents` | Detailed agent table with uptime and success rate |
15
15
  | `status tasks` | Detailed task table with progress and priority |
16
- | `status memory` | Memory backend stats and HNSW performance |
16
+ | `status memory` | Memory backend stats (SQLite + local embeddings; keyword fallback) |
17
17
  | `agent metrics` | Agent performance metrics by type and time period |
18
18
  | `agent health` | Per-agent health check with optional watch mode |
19
19
  | `swarm status` | Swarm-specific status (topology, consensus, agents) |
@@ -89,7 +89,8 @@ function findCliPath() {
89
89
  }
90
90
 
91
91
  // Try npx monomind as last resort
92
- return { cmd: 'npx', args: ['monomind@latest'], usePort: false };
92
+ const npxCmd = process.platform === 'win32' ? 'npx.cmd' : 'npx';
93
+ return { cmd: npxCmd, args: ['monomind@latest'], usePort: false };
93
94
  }
94
95
 
95
96
  function readAuthCredential() {
@@ -220,6 +221,13 @@ async function main() {
220
221
  env: { ...process.env, CLAUDE_PROJECT_DIR: CWD, MONOMIND_BOUND_REPORT: BOUND_REPORT },
221
222
  });
222
223
 
224
+ child.on('error', (err) => {
225
+ if (String(process.env.MONOMIND_HOOK_QUIET || "") !== "1") {
226
+ process.stderr.write(`[control] spawn error: ${err.message}\n`);
227
+ }
228
+ releaseSpawnLock();
229
+ });
230
+
223
231
  child.unref();
224
232
 
225
233
  // Write optimistic status with DEFAULT_PORT immediately so dependent scripts
@@ -230,8 +238,8 @@ async function main() {
230
238
  // If port 4242 was in use, server.mjs auto-increments (up to +10).
231
239
  // Poll a few ports to find where it actually bound and update control.json.
232
240
  const http = require('http');
233
- // Resolves to the responder's pid (number), null for "answers but pid
234
- // unreadable" (auth-walled or old server), or false for "no answer".
241
+ // Resolves to the responder's pid (number), 'foreign-authwalled' for an
242
+ // auth-gated monomind server, null for unreadable, or false for "no answer".
235
243
  function probePort(p) {
236
244
  return new Promise((resolve) => {
237
245
  const req = http.get({ hostname: 'localhost', port: p, path: '/api/status', timeout: 1000 }, (res) => {
@@ -240,8 +248,10 @@ async function main() {
240
248
  res.on('end', () => {
241
249
  if (res.statusCode >= 500) return resolve(false);
242
250
  try {
243
- const pid = JSON.parse(body).pid;
244
- resolve(typeof pid === 'number' ? pid : null);
251
+ const parsed = JSON.parse(body);
252
+ if (typeof parsed.pid === 'number') return resolve(parsed.pid);
253
+ if (res.statusCode === 401 && parsed.error) return resolve('foreign-authwalled');
254
+ resolve(null);
245
255
  } catch { resolve(null); }
246
256
  });
247
257
  });
@@ -284,7 +294,9 @@ async function main() {
284
294
  }
285
295
  return;
286
296
  }
287
- if (p === DEFAULT_PORT && typeof responderPid === 'number') sawForeignOnDefault = true;
297
+ if (p === DEFAULT_PORT && (typeof responderPid === 'number' || responderPid === 'foreign-authwalled')) {
298
+ sawForeignOnDefault = true;
299
+ }
288
300
  // pid mismatch or unreadable — not provably ours, keep scanning
289
301
  }
290
302
  }
@@ -295,7 +307,15 @@ async function main() {
295
307
  // and kill our redundant child.
296
308
  try { process.kill(child.pid, 'SIGTERM'); } catch { /* already gone */ }
297
309
  if (String(process.env.MONOMIND_HOOK_QUIET || "") !== "1") process.stdout.write(`[control] port ${DEFAULT_PORT} is served by another project's control server — reusing it (killed redundant child)\n`);
298
- const foreignPid = await probePort(DEFAULT_PORT);
310
+ let foreignPid = await probePort(DEFAULT_PORT);
311
+ if (typeof foreignPid !== 'number' || foreignPid <= 0) {
312
+ try {
313
+ const { execFileSync } = require('child_process');
314
+ const lsofOut = execFileSync('lsof', ['-ti', `:${DEFAULT_PORT}`, '-sTCP:LISTEN'], { encoding: 'utf8', timeout: 3000 }).trim();
315
+ const parsedPid = parseInt(lsofOut.split('\n')[0], 10);
316
+ if (Number.isInteger(parsedPid) && parsedPid > 0) foreignPid = parsedPid;
317
+ } catch { /* ignore */ }
318
+ }
299
319
  writeStatus(typeof foreignPid === 'number' ? foreignPid : 0, DEFAULT_PORT);
300
320
  // Pair with the foreign server: resolve its project dir from its pid,
301
321
  // copy its dashboard-token beside OUR control.json (ingest is
@@ -302,23 +302,42 @@ module.exports = {
302
302
  var output = [];
303
303
  var conf = result.confidence != null ? result.confidence : 0;
304
304
 
305
- // ── Persist routing result for statusline display ─────────────
305
+ // ── Persist routing result for statusline display & outcome correlation ─
306
306
  try {
307
+ var crypto = require('crypto');
308
+ var routeId = typeof crypto.randomUUID === 'function' ? crypto.randomUUID() : ('route-' + Date.now() + '-' + Math.random().toString(36).slice(2, 8));
307
309
  var routeDir = path.join(CWD, '.monomind');
308
310
  fs.mkdirSync(routeDir, { recursive: true });
311
+ var agentName = result.agent || 'coder';
312
+ var confVal = typeof result.confidence === 'number' ? result.confidence : 0;
313
+ var promptSlice = (prompt || '').slice(0, 500);
309
314
  fs.writeFileSync(
310
315
  path.join(routeDir, 'last-route.json'),
311
316
  JSON.stringify({
312
- agent: result.agent || 'coder',
317
+ routeId: routeId,
318
+ agent: agentName,
313
319
  agentSlug: result.agentSlug || null,
314
320
  confidence: result.confidence,
315
321
  reason: result.reason,
316
- prompt: (prompt || '').slice(0, 500),
322
+ prompt: promptSlice,
317
323
  historicalPattern: result.historicalPattern || null,
318
324
  updatedAt: new Date().toISOString(),
319
325
  }),
320
326
  'utf-8'
321
327
  );
328
+
329
+ // Append initial route recommendation to route-outcomes.jsonl
330
+ var routeRec = {
331
+ routeId: routeId,
332
+ ts: Date.now(),
333
+ task: promptSlice,
334
+ recommendedAgent: agentName,
335
+ routingMethod: result.routingMethod || 'keyword',
336
+ confidence: confVal,
337
+ learningMode: 'js',
338
+ };
339
+ var outcomesPath = path.join(routeDir, 'route-outcomes.jsonl');
340
+ fs.appendFileSync(outcomesPath, JSON.stringify(routeRec) + '\n', 'utf-8');
322
341
  } catch (e) { /* non-fatal */ }
323
342
 
324
343
  // ── Skill auto-activation (the one thing the hook does better than Claude) ──
@@ -101,6 +101,49 @@ module.exports = {
101
101
  // Only write the success flag when derived from actual evidence (commits, outcomes)
102
102
  if (typeof sessionSuccess === 'boolean') feedbackEntry.intelligenceFeedback = sessionSuccess;
103
103
  fs.appendFileSync(feedbackPath, JSON.stringify(feedbackEntry) + '\n', 'utf-8');
104
+
105
+ // Also join/record into route-outcomes.jsonl if routeId exists or outcome measured
106
+ if (typeof sessionSuccess === 'boolean') {
107
+ try {
108
+ var routeOutcomesPath = path.join(CWD, '.monomind', 'route-outcomes.jsonl');
109
+ if (fs.existsSync(routeOutcomesPath)) {
110
+ var roLines = fs.readFileSync(routeOutcomesPath, 'utf-8').trim().split('\n').filter(Boolean);
111
+ var updated = false;
112
+ if (lastRoute.routeId) {
113
+ for (var ri = roLines.length - 1; ri >= 0; ri--) {
114
+ try {
115
+ var roRec = JSON.parse(roLines[ri]);
116
+ if (roRec.routeId === lastRoute.routeId) {
117
+ roRec.agentActuallyUsed = agentSlug;
118
+ roRec.measuredSuccess = sessionSuccess;
119
+ roLines[ri] = JSON.stringify(roRec);
120
+ updated = true;
121
+ break;
122
+ }
123
+ } catch (_) {}
124
+ }
125
+ }
126
+ if (!updated) {
127
+ // If not found by routeId, join latest unresolved record
128
+ for (var ri2 = roLines.length - 1; ri2 >= 0; ri2--) {
129
+ try {
130
+ var roRec2 = JSON.parse(roLines[ri2]);
131
+ if (roRec2.measuredSuccess === undefined) {
132
+ roRec2.agentActuallyUsed = agentSlug;
133
+ roRec2.measuredSuccess = sessionSuccess;
134
+ roLines[ri2] = JSON.stringify(roRec2);
135
+ updated = true;
136
+ break;
137
+ }
138
+ } catch (_) {}
139
+ }
140
+ }
141
+ if (updated) {
142
+ fs.writeFileSync(routeOutcomesPath, roLines.join('\n') + '\n', 'utf-8');
143
+ }
144
+ }
145
+ } catch (eRo) { /* non-fatal */ }
146
+ }
104
147
  // Rotate: keep last 1000 lines to prevent unbounded growth.
105
148
  try {
106
149
  var MAX_FEEDBACK = 512 * 1024; // 512 KiB
@@ -29,6 +29,21 @@ const MAX_FILE_SIZE = 10 * 1024 * 1024; // 10 MiB guard
29
29
  const RING_BUFFER_MAX = 50;
30
30
  const MAX_ENTRIES = 200;
31
31
 
32
+ // Same list as src/memory/text-tokens.ts's STOPWORDS (inlined — this is a
33
+ // standalone hook script with no access to the TS build). Without this,
34
+ // getContext()'s 2-word-overlap bar counts connector words like "you"/"can"/
35
+ // "the"/"that"/"any" as evidence of relevance, so almost any two prompts
36
+ // spuriously "match" and a stale, unrelated stored entry keeps resurfacing.
37
+ const STOPWORDS = new Set([
38
+ 'a', 'an', 'the', 'and', 'or', 'but', 'if', 'of', 'to', 'in', 'on', 'at', 'by',
39
+ 'for', 'with', 'from', 'is', 'are', 'was', 'were', 'be', 'been', 'being', 'do',
40
+ 'does', 'did', 'doing', 'have', 'has', 'had', 'i', 'we', 'you', 'it', 'its',
41
+ 'that', 'this', 'these', 'those', 'what', 'which', 'who', 'how', 'when', 'where',
42
+ 'why', 'can', 'could', 'should', 'would', 'will', 'my', 'our', 'me', 'us', 'as',
43
+ 'so', 'than', 'then', 'there', 'here', 'not', 'no', 'all', 'any', 'some', 'get',
44
+ 'got', 'about', 'into', 'over', 'out', 'up', 'down', 'again', 'am', 'they',
45
+ ]);
46
+
32
47
  var _entries = []; // deduplicated memory entries loaded from store
33
48
  var _recentEdits = []; // ring buffer of recently edited paths (in-memory, may be empty across subprocesses)
34
49
  var _lastContext = null; // last non-null context returned by getContext()
@@ -163,7 +178,7 @@ function getContext(prompt) {
163
178
  if (!prompt || typeof prompt !== 'string' || prompt.trim() === '') return null;
164
179
  if (_entries.length === 0) return null;
165
180
 
166
- var promptWords = prompt.toLowerCase().split(/\W+/).filter(function(w) { return w.length >= 3; });
181
+ var promptWords = prompt.toLowerCase().split(/\W+/).filter(function(w) { return w.length >= 3 && !STOPWORDS.has(w); });
167
182
  var promptSet = new Set(promptWords);
168
183
  if (promptSet.size < 2) return null; // need at least 2 meaningful words
169
184
 
@@ -171,11 +186,15 @@ function getContext(prompt) {
171
186
  for (var i = 0; i < _entries.length; i++) {
172
187
  var e = _entries[i];
173
188
  var content = ((e.content || '') + ' ' + (e.summary || '')).toLowerCase();
174
- var words = content.split(/\W+/).filter(function(w) { return w.length >= 3; });
189
+ var words = content.split(/\W+/).filter(function(w) { return w.length >= 3 && !STOPWORDS.has(w); });
190
+ // Count DISTINCT overlapping words, not raw occurrences — content and
191
+ // summary commonly repeat the same filenames, so a single shared word
192
+ // (e.g. "review" in both a file's name and its own summary restating it)
193
+ // was inflating hits to 2+ on its own, undermining the "distinct" bar
194
+ // this comment already promised.
195
+ var entrySet = new Set(words);
175
196
  var hits = 0;
176
- for (var j = 0; j < words.length; j++) {
177
- if (promptSet.has(words[j])) hits++;
178
- }
197
+ promptSet.forEach(function(w) { if (entrySet.has(w)) hits++; });
179
198
  // Require at least 2 distinct word matches to reduce false positives
180
199
  if (hits >= 2) {
181
200
  scored.push({ entry: e, hits: hits });
@@ -191,7 +210,9 @@ function getContext(prompt) {
191
210
  });
192
211
 
193
212
  var top = scored[0].entry;
194
- var result = '[INTELLIGENCE] ' + (top.summary || top.content || top.id || 'context match');
213
+ var text = String(top.summary || top.content || top.id || 'context match');
214
+ if (text.length > 160) text = text.slice(0, 160) + '…';
215
+ var result = '[INTELLIGENCE] ' + text;
195
216
  _lastContext = result;
196
217
  return result;
197
218
  }
@@ -932,9 +932,18 @@ function getHILPending() {
932
932
  return { pending };
933
933
  }
934
934
 
935
- // Active org runs — scan .monomind/orgs/*/runs/*.jsonl for recent activity
936
- // Also checks .git/monomind/orgs/ (git-safe path used by mastermind orgs).
937
- // An org is "active" if it has an events file modified within the last 10 minutes.
935
+ function isPidAlive(pid) {
936
+ if (!Number.isInteger(pid) || pid <= 0) return false;
937
+ try {
938
+ process.kill(pid, 0);
939
+ return true;
940
+ } catch {
941
+ return false;
942
+ }
943
+ }
944
+
945
+ // Active org runs — scan .monomind/orgs/*/runtime.json (Org Runtime v2)
946
+ // and fallback to .monomind/orgs/*/runs/*.jsonl / <runId>/bus.jsonl.
938
947
  function getActiveOrgs() {
939
948
  // Try git-common-dir path first (mastermind orgs store run files there)
940
949
  let orgsDir = path.join(CWD, '.monomind', 'orgs');
@@ -954,31 +963,54 @@ function getActiveOrgs() {
954
963
  try {
955
964
  const orgNames = fs.readdirSync(orgsDir).filter(f => !f.startsWith('.'));
956
965
  for (const orgName of orgNames.slice(0, 20)) {
957
- const runsDir = path.join(orgsDir, orgName, 'runs');
958
- if (!fs.existsSync(runsDir)) continue;
966
+ const orgPath = path.join(orgsDir, orgName);
967
+ const runtimePath = path.join(orgPath, 'runtime.json');
968
+ // 1) Org Runtime v2: runtime.json is authoritative
969
+ if (fs.existsSync(runtimePath)) {
970
+ try {
971
+ const stat = safeStat(runtimePath);
972
+ const age = stat ? now - stat.mtimeMs : 0;
973
+ const data = readJSON(runtimePath);
974
+ if (data && typeof data === 'object') {
975
+ const isRunning = data.status === 'running' && (typeof data.pid === 'number' ? isPidAlive(data.pid) : age < STALE_MS);
976
+ if (isRunning || age < STALE_MS) {
977
+ active.push({
978
+ name: orgName,
979
+ runId: typeof data.run === 'string' ? data.run : 'active',
980
+ ageMs: age,
981
+ running: isRunning,
982
+ });
983
+ continue;
984
+ }
985
+ }
986
+ } catch { /* fallback to directory scan */ }
987
+ }
988
+
989
+ // 2) Fallback: scan runs/ or <runId>/bus.jsonl
990
+ const runsDir = path.join(orgPath, 'runs');
991
+ const scanDir = fs.existsSync(runsDir) ? runsDir : orgPath;
959
992
  try {
960
- const files = cleanEntries(runsDir, f => f.endsWith('.jsonl'));
993
+ const files = cleanEntries(scanDir, f => f.endsWith('.jsonl') || f.endsWith('bus.jsonl'));
961
994
  if (!files.length) continue;
962
995
  files.sort();
963
996
  const latest = files[files.length - 1];
964
- const stat = safeStat(path.join(runsDir, latest));
997
+ const stat = safeStat(path.join(scanDir, latest));
965
998
  if (!stat) continue;
966
999
  const age = now - stat.mtimeMs;
967
1000
  if (age < STALE_MS) {
968
- // Check last event type to determine if still running
969
1001
  let isRunning = true;
970
1002
  try {
971
1003
  const MAX_RUN = 512 * 1024; // 512 KiB
972
1004
  if (stat.size <= MAX_RUN) {
973
- const raw = fs.readFileSync(path.join(runsDir, latest), 'utf-8');
1005
+ const raw = fs.readFileSync(path.join(scanDir, latest), 'utf-8');
974
1006
  const lines = raw.trim().split('\n').filter(Boolean);
975
1007
  if (lines.length) {
976
1008
  const lastEv = JSON.parse(lines[lines.length - 1]);
977
- if (lastEv.type === 'run:complete' || lastEv.type === 'org:complete') isRunning = false;
1009
+ if (lastEv.type === 'run:complete' || lastEv.type === 'org:complete' || (lastEv.type === 'status' && lastEv.msg === 'org stopped')) isRunning = false;
978
1010
  }
979
1011
  }
980
1012
  } catch { /* treat as running */ }
981
- active.push({ name: orgName, runId: latest.replace('.jsonl', ''), ageMs: age, running: isRunning });
1013
+ active.push({ name: orgName, runId: latest.replace('.jsonl', '').replace('/bus', ''), ageMs: age, running: isRunning });
982
1014
  }
983
1015
  } catch { /* skip */ }
984
1016
  }
@@ -1406,6 +1438,7 @@ function generateJSON() {
1406
1438
  tests: getTestStats(),
1407
1439
  git: { modified: git.modified, untracked: git.untracked, staged: git.staged, ahead: git.ahead, behind: git.behind },
1408
1440
  tokenCost: getTokenCostSummary(),
1441
+ activeOrgs: getActiveOrgs(),
1409
1442
  lastUpdated: new Date().toISOString(),
1410
1443
  };
1411
1444
  }
@@ -1429,6 +1462,7 @@ if (require.main !== module) {
1429
1462
  getSecurityStatus, getSwarmStatus, getADRStatus,
1430
1463
  getHooksStatus, getActiveAgent, getLanceDBStats,
1431
1464
  getLearningStats, getTestStats, getIntegrationStatus,
1465
+ getActiveOrgs,
1432
1466
  generateJSON,
1433
1467
  };
1434
1468
  }
@@ -1,24 +1,24 @@
1
1
  ---
2
2
  name: agentic-jujutsu
3
3
  description: |
4
- Quantum-resistant, self-learning version control for AI agents with ReasoningBank intelligence and multi-agent coordination
4
+ Self-learning version control for AI agents with ReasoningBank intelligence and multi-agent coordination. Wraps the separate `agentic-jujutsu` npm package.
5
5
  ---
6
6
 
7
7
  # Agentic Jujutsu - AI Agent Version Control
8
8
 
9
- > Quantum-ready, self-learning version control designed for multiple AI agents working simultaneously without conflicts.
9
+ > Self-learning version control designed for multiple AI agents working simultaneously without conflicts.
10
10
 
11
11
  ## When to Use This Skill
12
12
 
13
13
  Use **agentic-jujutsu** when you need:
14
14
  - Multiple AI agents modifying code simultaneously
15
- - Lock-free version control (23x faster than Git)
15
+ - Lock-free version control
16
16
  - Self-learning AI that improves from experience
17
- - Quantum-resistant security for future-proof protection
18
- - Automatic conflict resolution (87% success rate)
19
17
  - Pattern recognition and intelligent suggestions
20
18
  - Multi-agent coordination without blocking
21
19
 
20
+ > **Note:** this skill wraps the separate `agentic-jujutsu` npm package. Performance and feature claims should be verified against that package's own documentation before relying on them.
21
+
22
22
  ## Quick Start
23
23
 
24
24
  ### Installation
@@ -143,9 +143,9 @@ const similar = JSON.parse(tester.queryTrajectories('test feature', 5));
143
143
  console.log(`Found ${similar.length} similar test approaches`);
144
144
  ```
145
145
 
146
- ### 5. Quantum-Resistant Security (v2.3.0+)
146
+ ### 5. Cryptographic Integrity (v2.3.0+)
147
147
 
148
- Fast integrity verification with quantum-resistant cryptography:
148
+ Fast integrity verification with SHA3-512 hashing:
149
149
 
150
150
  ```javascript
151
151
  const { generateQuantumFingerprint, verifyQuantumFingerprint } = require('agentic-jujutsu');
@@ -405,7 +405,7 @@ for (let i = 1; i <= 10; i++) {
405
405
  | `getUserOperations(limit)` | Get user operations only | JjOperation[] |
406
406
  | `clearLog()` | Clear operation log | void |
407
407
 
408
- ### Quantum Security Methods (v2.3.0+)
408
+ ### Cryptographic Methods (v2.3.0+)
409
409
 
410
410
  | Method | Description | Returns |
411
411
  |--------|-------------|---------|
@@ -417,13 +417,15 @@ for (let i = 1; i <= 10; i++) {
417
417
 
418
418
  ## Performance Characteristics
419
419
 
420
- | Metric | Git | Agentic Jujutsu |
420
+ > The following figures are **vendor-published for the `agentic-jujutsu` npm package and not independently verified by monomind**. Treat as marketing claims until you benchmark against your own workload.
421
+
422
+ | Metric | Git | Agentic Jujutsu (vendor-claimed) |
421
423
  |--------|-----|-----------------|
422
- | Concurrent commits | 15 ops/s | 350 ops/s (23x) |
423
- | Context switching | 500-1000ms | 50-100ms (10x) |
424
- | Conflict resolution | 30-40% auto | 87% auto (2.5x) |
425
- | Lock waiting | 50 min/day | 0 min (∞) |
426
- | Quantum fingerprints | N/A | <1ms |
424
+ | Concurrent commits | 15 ops/s | 350 ops/s (claimed ~23x) |
425
+ | Context switching | 500-1000ms | 50-100ms (claimed ~10x) |
426
+ | Conflict resolution | 30-40% auto | 87% auto (claimed ~2.5x) |
427
+ | Lock waiting | 50 min/day | 0 min (claimed) |
428
+ | SHA3-512 fingerprints | N/A | <1ms |
427
429
 
428
430
  ## Best Practices
429
431
 
@@ -634,7 +636,7 @@ async function agentSwarm(taskList) {
634
636
 
635
637
  - **v2.3.2** - Documentation updates
636
638
  - **v2.3.1** - Validation fixes for ReasoningBank
637
- - **v2.3.0** - Quantum-resistant security with @qudag/napi-core
639
+ - **v2.3.0** - Cryptographic security (SHA3-512) with @qudag/napi-core
638
640
  - **v2.1.0** - Self-learning AI with ReasoningBank
639
641
  - **v2.0.0** - Zero-dependency installation with embedded jj binary
640
642