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.
- package/README.md +13 -17
- package/package.json +16 -35
- package/packages/@monomind/cli/.claude/agents/github/issue-tracker.md +0 -2
- package/packages/@monomind/cli/.claude/agents/github/pr-manager.md +0 -2
- package/packages/@monomind/cli/.claude/agents/github/repo-architect.md +3 -11
- package/packages/@monomind/cli/.claude/agents/goal/goal-planner.md +0 -1
- package/packages/@monomind/cli/.claude/commands/github/issue-tracker.md +0 -2
- package/packages/@monomind/cli/.claude/commands/github/pr-manager.md +0 -2
- package/packages/@monomind/cli/.claude/commands/github/repo-architect.md +3 -10
- package/packages/@monomind/cli/.claude/commands/mastermind/help.md +3 -3
- package/packages/@monomind/cli/.claude/commands/workflows/README.md +0 -1
- package/packages/@monomind/cli/.claude/commands/workflows/workflow-create.md +0 -1
- package/packages/@monomind/cli/.claude/commands/workflows/workflow-execute.md +1 -3
- package/packages/@monomind/cli/.claude/commands/workflows/workflow-export.md +0 -2
- package/packages/@monomind/cli/.claude/helpers/handlers/agent-start-handler.cjs +18 -1
- package/packages/@monomind/cli/.claude/helpers/handlers/edit-handler.cjs +15 -0
- package/packages/@monomind/cli/.claude/helpers/handlers/gates-handler.cjs +2 -8
- package/packages/@monomind/cli/.claude/helpers/handlers/route-handler.cjs +149 -7
- package/packages/@monomind/cli/.claude/helpers/handlers/session-handler.cjs +47 -25
- package/packages/@monomind/cli/.claude/helpers/handlers/session-restore-handler.cjs +80 -43
- package/packages/@monomind/cli/.claude/helpers/handlers/task-handler.cjs +8 -4
- package/packages/@monomind/cli/.claude/helpers/hook-handler.cjs +69 -16
- package/packages/@monomind/cli/.claude/helpers/intelligence.cjs +100 -9
- package/packages/@monomind/cli/.claude/helpers/router.cjs +78 -5
- package/packages/@monomind/cli/.claude/helpers/skill-registry.json +0 -189
- package/packages/@monomind/cli/.claude/helpers/token-tracker.cjs +10 -0
- package/packages/@monomind/cli/.claude/skills/github-toolkit/SKILL.md +60 -0
- package/packages/@monomind/cli/.claude/skills/hive-mind-advanced/SKILL.md +0 -15
- package/packages/@monomind/cli/.claude/skills/hooks-automation/SKILL.md +0 -1
- package/packages/@monomind/cli/.claude/skills/mastermind-skills/_protocol.md +1 -1
- package/packages/@monomind/cli/.claude/skills/mastermind-skills/build.md +1 -2
- package/packages/@monomind/cli/.claude/skills/memory-toolkit/SKILL.md +75 -0
- package/packages/@monomind/cli/.claude/skills/specialagent/SKILL.md +2 -4
- package/packages/@monomind/cli/.claude/skills/swarm-advanced/SKILL.md +0 -1
- package/packages/@monomind/cli/README.md +13 -17
- package/packages/@monomind/cli/dist/src/autopilot-state.js +4 -5
- package/packages/@monomind/cli/dist/src/browser/dashboard/server.js +129 -2
- package/packages/@monomind/cli/dist/src/browser/dashboard/ui.html +214 -1764
- package/packages/@monomind/cli/dist/src/capabilities/index.d.ts +0 -2
- package/packages/@monomind/cli/dist/src/capabilities/index.js +0 -1
- package/packages/@monomind/cli/dist/src/commands/agent-lifecycle.js +2 -6
- package/packages/@monomind/cli/dist/src/commands/analyze.d.ts +0 -4
- package/packages/@monomind/cli/dist/src/commands/analyze.js +1 -29
- package/packages/@monomind/cli/dist/src/commands/browse-workflow.js +2 -2
- package/packages/@monomind/cli/dist/src/commands/completions.js +3 -22
- package/packages/@monomind/cli/dist/src/commands/config.js +0 -6
- package/packages/@monomind/cli/dist/src/commands/doctor-project-checks.d.ts +12 -2
- package/packages/@monomind/cli/dist/src/commands/doctor-project-checks.js +130 -22
- package/packages/@monomind/cli/dist/src/commands/doctor.js +6 -5
- package/packages/@monomind/cli/dist/src/commands/guidance.d.ts +5 -1
- package/packages/@monomind/cli/dist/src/commands/guidance.js +11 -556
- package/packages/@monomind/cli/dist/src/commands/hive-mind-comms.js +11 -4
- package/packages/@monomind/cli/dist/src/commands/hive-mind.d.ts +4 -4
- package/packages/@monomind/cli/dist/src/commands/hive-mind.js +9 -6
- package/packages/@monomind/cli/dist/src/commands/hooks-formatting.d.ts +1 -5
- package/packages/@monomind/cli/dist/src/commands/hooks-formatting.js +1 -18
- package/packages/@monomind/cli/dist/src/commands/hooks-workers.d.ts +1 -1
- package/packages/@monomind/cli/dist/src/commands/hooks-workers.js +82 -330
- package/packages/@monomind/cli/dist/src/commands/index.d.ts +0 -5
- package/packages/@monomind/cli/dist/src/commands/index.js +0 -45
- package/packages/@monomind/cli/dist/src/commands/init-wizard.js +1 -1
- package/packages/@monomind/cli/dist/src/commands/init.js +4 -24
- package/packages/@monomind/cli/dist/src/commands/neural-core.js +11 -11
- package/packages/@monomind/cli/dist/src/commands/neural-optimize.js +9 -11
- package/packages/@monomind/cli/dist/src/commands/neural-registry.js +10 -10
- package/packages/@monomind/cli/dist/src/commands/providers.js +90 -1
- package/packages/@monomind/cli/dist/src/commands/search-universal.d.ts +7 -1
- package/packages/@monomind/cli/dist/src/commands/search-universal.js +59 -5
- package/packages/@monomind/cli/dist/src/commands/security-cve.js +3 -5
- package/packages/@monomind/cli/dist/src/commands/session.js +143 -3
- package/packages/@monomind/cli/dist/src/commands/start.js +0 -18
- package/packages/@monomind/cli/dist/src/commands/swarm.js +112 -65
- package/packages/@monomind/cli/dist/src/consensus/audit-writer.js +43 -1
- package/packages/@monomind/cli/dist/src/consensus/tally.d.ts +19 -0
- package/packages/@monomind/cli/dist/src/consensus/tally.js +34 -0
- package/packages/@monomind/cli/dist/src/index.d.ts +3 -2
- package/packages/@monomind/cli/dist/src/index.js +9 -12
- package/packages/@monomind/cli/dist/src/init/claudemd-generator.js +10 -14
- package/packages/@monomind/cli/dist/src/init/executor.js +39 -86
- package/packages/@monomind/cli/dist/src/init/settings-generator.js +0 -12
- package/packages/@monomind/cli/dist/src/init/statusline-generator.js +62 -0
- package/packages/@monomind/cli/dist/src/init/types.d.ts +2 -6
- package/packages/@monomind/cli/dist/src/init/types.js +0 -3
- package/packages/@monomind/cli/dist/src/knowledge/document-pipeline.js +18 -8
- package/packages/@monomind/cli/dist/src/mcp-client.js +0 -2
- package/packages/@monomind/cli/dist/src/mcp-server.js +12 -14
- package/packages/@monomind/cli/dist/src/mcp-tools/coherence/coherence-check.js +1 -19
- package/packages/@monomind/cli/dist/src/mcp-tools/coherence/types.d.ts +21 -20
- package/packages/@monomind/cli/dist/src/mcp-tools/coherence/types.js +3 -18
- package/packages/@monomind/cli/dist/src/mcp-tools/embeddings-tools.js +1 -7
- package/packages/@monomind/cli/dist/src/mcp-tools/graphify-tools.js +2 -2
- package/packages/@monomind/cli/dist/src/mcp-tools/guidance-tools.js +7 -17
- package/packages/@monomind/cli/dist/src/mcp-tools/hive-mind-tools.d.ts +8 -1
- package/packages/@monomind/cli/dist/src/mcp-tools/hive-mind-tools.js +174 -38
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-advanced.d.ts +18 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-advanced.js +25 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-intelligence.d.ts +4 -8
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-intelligence.js +33 -482
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-routing.d.ts +1 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-routing.js +51 -43
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-synthesis.d.ts +31 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-synthesis.js +196 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-tools.js +10 -8
- package/packages/@monomind/cli/dist/src/mcp-tools/index.d.ts +0 -1
- package/packages/@monomind/cli/dist/src/mcp-tools/index.js +0 -1
- package/packages/@monomind/cli/dist/src/mcp-tools/memory-tools.js +20 -29
- package/packages/@monomind/cli/dist/src/mcp-tools/monograph-tools.d.ts +6 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/monograph-tools.js +78 -220
- package/packages/@monomind/cli/dist/src/mcp-tools/neural-tools.d.ts +9 -4
- package/packages/@monomind/cli/dist/src/mcp-tools/neural-tools.js +242 -506
- package/packages/@monomind/cli/dist/src/mcp-tools/quality/coverage-analysis/prioritize-gaps.d.ts +12 -12
- package/packages/@monomind/cli/dist/src/mcp-tools/quality/security-compliance/detect-secrets.d.ts +4 -4
- package/packages/@monomind/cli/dist/src/mcp-tools/security-tools.js +103 -0
- package/packages/@monomind/cli/dist/src/memory/intelligence.d.ts +2 -1
- package/packages/@monomind/cli/dist/src/memory/intelligence.js +56 -43
- package/packages/@monomind/cli/dist/src/memory/memory-bridge.js +14 -9
- package/packages/@monomind/cli/dist/src/memory/memory-read.js +1 -19
- package/packages/@monomind/cli/dist/src/orgrt/types.d.ts +847 -0
- package/packages/@monomind/cli/dist/src/orgrt/types.js +51 -0
- package/packages/@monomind/cli/dist/src/parser.js +31 -5
- package/packages/@monomind/cli/dist/src/suggest.js +1 -7
- package/packages/@monomind/cli/dist/src/transfer/store/discovery.d.ts +3 -2
- package/packages/@monomind/cli/dist/src/transfer/store/discovery.js +22 -70
- package/packages/@monomind/cli/dist/src/ui/collector.mjs +69 -44
- package/packages/@monomind/cli/dist/src/ui/dashboard.html +112 -25
- package/packages/@monomind/cli/dist/src/ui/orgs.html +54 -0
- package/packages/@monomind/cli/dist/src/ui/server.mjs +87 -12
- package/packages/@monomind/cli/dist/src/update/checker.js +0 -1
- package/packages/@monomind/cli/dist/src/utils/cosine-similarity.d.ts +22 -0
- package/packages/@monomind/cli/dist/src/utils/cosine-similarity.js +38 -0
- package/packages/@monomind/cli/dist/src/utils/input-guards.d.ts +51 -0
- package/packages/@monomind/cli/dist/src/utils/input-guards.js +223 -0
- package/packages/@monomind/cli/dist/src/utils/json-file.d.ts +33 -0
- package/packages/@monomind/cli/dist/src/utils/json-file.js +57 -0
- package/packages/@monomind/cli/package.json +11 -7
- package/packages/@monomind/cli/scripts/sync-claude-assets.sh +16 -20
- package/scripts/generate-agent-avatars.mjs +0 -8
- package/.claude/agents/architecture/system-design/arch-system-design.md +0 -54
- package/.claude/agents/consensus/crdt-synchronizer.md +0 -977
- package/.claude/agents/consensus/quorum-manager.md +0 -803
- package/.claude/agents/consensus/security-manager.md +0 -602
- package/.claude/agents/core/coder.md +0 -262
- package/.claude/agents/core/coordinator.md +0 -71
- package/.claude/agents/core/planner.md +0 -170
- package/.claude/agents/core/researcher.md +0 -197
- package/.claude/agents/core/reviewer.md +0 -327
- package/.claude/agents/core/tester.md +0 -318
- package/.claude/agents/design/design-monodesign.md +0 -121
- package/.claude/agents/engineering/engineering-ai-data-remediation-engineer.md +0 -212
- package/.claude/agents/engineering/engineering-ai-engineer.md +0 -165
- package/.claude/agents/engineering/engineering-autonomous-optimization-architect.md +0 -108
- package/.claude/agents/engineering/engineering-backend-architect.md +0 -254
- package/.claude/agents/engineering/engineering-code-reviewer.md +0 -95
- package/.claude/agents/engineering/engineering-data-engineer.md +0 -307
- package/.claude/agents/engineering/engineering-database-optimizer.md +0 -200
- package/.claude/agents/engineering/engineering-devops-automator.md +0 -430
- package/.claude/agents/engineering/engineering-embedded-firmware-engineer.md +0 -174
- package/.claude/agents/engineering/engineering-feishu-integration-developer.md +0 -607
- package/.claude/agents/engineering/engineering-frontend-developer.md +0 -249
- package/.claude/agents/engineering/engineering-git-workflow-master.md +0 -108
- package/.claude/agents/engineering/engineering-incident-response-commander.md +0 -482
- package/.claude/agents/engineering/engineering-mobile-app-builder.md +0 -499
- package/.claude/agents/engineering/engineering-rapid-prototyper.md +0 -463
- package/.claude/agents/engineering/engineering-security-engineer.md +0 -303
- package/.claude/agents/engineering/engineering-senior-developer.md +0 -195
- package/.claude/agents/engineering/engineering-software-architect.md +0 -100
- package/.claude/agents/engineering/engineering-solidity-smart-contract-engineer.md +0 -528
- package/.claude/agents/engineering/engineering-sre.md +0 -114
- package/.claude/agents/engineering/engineering-technical-writer.md +0 -412
- package/.claude/agents/engineering/engineering-threat-detection-engineer.md +0 -540
- package/.claude/agents/engineering/engineering-wechat-mini-program-developer.md +0 -351
- package/.claude/agents/generated/case-analyst.md +0 -50
- package/.claude/agents/generated/channel-intelligence-director.md +0 -87
- package/.claude/agents/generated/chief-growth-officer.md +0 -88
- package/.claude/agents/generated/churn-analyst.md +0 -53
- package/.claude/agents/generated/code-reviewer.md +0 -55
- package/.claude/agents/generated/code-validator.md +0 -57
- package/.claude/agents/generated/complexity-scanner.md +0 -56
- package/.claude/agents/generated/content-seo-strategist.md +0 -90
- package/.claude/agents/generated/copy-editor.md +0 -45
- package/.claude/agents/generated/court-reporter.md +0 -50
- package/.claude/agents/generated/defender.md +0 -51
- package/.claude/agents/generated/devbot-orchestrator.md +0 -58
- package/.claude/agents/generated/devbot-planner.md +0 -63
- package/.claude/agents/generated/developer-community-strategist.md +0 -91
- package/.claude/agents/generated/editor-in-chief.md +0 -45
- package/.claude/agents/generated/fact-checker.md +0 -45
- package/.claude/agents/generated/impact-assessor.md +0 -54
- package/.claude/agents/generated/judge.md +0 -51
- package/.claude/agents/generated/outreach-partnership-strategist.md +0 -90
- package/.claude/agents/generated/prosecutor.md +0 -51
- package/.claude/agents/generated/reporter.md +0 -45
- package/.claude/agents/generated/social-media-strategist.md +0 -91
- package/.claude/agents/generated/video-visual-strategist.md +0 -90
- package/.claude/agents/github/code-review-swarm.md +0 -557
- package/.claude/agents/github/github-modes.md +0 -154
- package/.claude/agents/github/issue-tracker.md +0 -299
- package/.claude/agents/github/multi-repo-swarm.md +0 -525
- package/.claude/agents/github/pr-manager.md +0 -163
- package/.claude/agents/github/project-board-sync.md +0 -478
- package/.claude/agents/github/release-manager.md +0 -296
- package/.claude/agents/github/repo-architect.md +0 -359
- package/.claude/agents/github/swarm-issue.md +0 -548
- package/.claude/agents/github/swarm-pr.md +0 -427
- package/.claude/agents/github/sync-coordinator.md +0 -355
- package/.claude/agents/github/workflow-automation.md +0 -640
- package/.claude/agents/goal/goal-planner.md +0 -168
- package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +0 -129
- package/.claude/agents/hive-mind/queen-coordinator.md +0 -202
- package/.claude/agents/hive-mind/scout-explorer.md +0 -241
- package/.claude/agents/hive-mind/swarm-memory-manager.md +0 -192
- package/.claude/agents/hive-mind/worker-specialist.md +0 -216
- package/.claude/agents/marketing/marketing-competitive-content.md +0 -155
- package/.claude/agents/marketing/marketing-cro-specialist.md +0 -147
- package/.claude/agents/marketing/marketing-email-specialist.md +0 -90
- package/.claude/agents/marketing/marketing-launch-strategist.md +0 -129
- package/.claude/agents/marketing/marketing-pricing-strategist.md +0 -127
- package/.claude/agents/optimization/benchmark-suite.md +0 -665
- package/.claude/agents/optimization/load-balancer.md +0 -431
- package/.claude/agents/optimization/performance-monitor.md +0 -672
- package/.claude/agents/optimization/resource-allocator.md +0 -674
- package/.claude/agents/optimization/topology-optimizer.md +0 -808
- package/.claude/agents/reengineer-squad/boss.md +0 -113
- package/.claude/agents/reengineer-squad/critic-architect.md +0 -132
- package/.claude/agents/reengineer-squad/git-manager.md +0 -145
- package/.claude/agents/reengineer-squad/idea-generator.md +0 -95
- package/.claude/agents/reengineer-squad/implementer.md +0 -112
- package/.claude/agents/reengineer-squad/integration-planner.md +0 -112
- package/.claude/agents/reengineer-squad/source-analyst.md +0 -103
- package/.claude/agents/reengineer-squad/target-analyst.md +0 -118
- package/.claude/agents/reengineer-squad/tester.md +0 -105
- package/.claude/agents/schemas/architecture-output.json +0 -43
- package/.claude/agents/schemas/code-review-output.json +0 -28
- package/.claude/agents/schemas/generic-task-input.json +0 -12
- package/.claude/agents/schemas/implementation-output.json +0 -18
- package/.claude/agents/schemas/research-output.json +0 -31
- package/.claude/agents/schemas/security-audit-output.json +0 -29
- package/.claude/agents/schemas/test-report-output.json +0 -29
- package/.claude/agents/sparc/architecture.md +0 -453
- package/.claude/agents/sparc/pseudocode.md +0 -299
- package/.claude/agents/sparc/refinement.md +0 -504
- package/.claude/agents/sparc/specification.md +0 -258
- package/.claude/agents/specialists/integration-architect.md +0 -94
- package/.claude/agents/specialized/agentic-identity-trust.md +0 -388
- package/.claude/agents/specialized/agents-orchestrator.md +0 -368
- package/.claude/agents/specialized/automation-governance-architect.md +0 -217
- package/.claude/agents/specialized/blockchain-security-auditor.md +0 -497
- package/.claude/agents/specialized/compliance-auditor.md +0 -159
- package/.claude/agents/specialized/identity-graph-operator.md +0 -261
- package/.claude/agents/specialized/lsp-index-engineer.md +0 -315
- package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +0 -89
- package/.claude/agents/specialized/specialized-cultural-intelligence-strategist.md +0 -89
- package/.claude/agents/specialized/specialized-developer-advocate.md +0 -318
- package/.claude/agents/specialized/specialized-document-generator.md +0 -56
- package/.claude/agents/specialized/specialized-mcp-builder.md +0 -64
- package/.claude/agents/specialized/specialized-model-qa.md +0 -489
- package/.claude/agents/specialized/specialized-workflow-architect.md +0 -595
- package/.claude/agents/specialized/zk-steward.md +0 -212
- package/.claude/agents/swarm/mesh-coordinator.md +0 -363
- package/.claude/agents/templates/automation-smart-agent.md +0 -185
- package/.claude/agents/templates/coordinator-swarm-init.md +0 -83
- package/.claude/agents/templates/implementer-sparc-coder.md +0 -231
- package/.claude/agents/testing/production-validator.md +0 -375
- package/.claude/agents/testing/tdd-london-swarm.md +0 -241
- package/.claude/agents/testing/testing-accessibility-auditor.md +0 -322
- package/.claude/agents/testing/testing-api-tester.md +0 -307
- package/.claude/agents/testing/testing-evidence-collector.md +0 -213
- package/.claude/agents/testing/testing-performance-benchmarker.md +0 -269
- package/.claude/agents/testing/testing-test-results-analyzer.md +0 -306
- package/.claude/agents/testing/testing-tool-evaluator.md +0 -395
- package/.claude/agents/testing/testing-workflow-optimizer.md +0 -451
- package/.claude/commands/agents/README.md +0 -14
- package/.claude/commands/agents/agent-capabilities.md +0 -25
- package/.claude/commands/agents/agent-coordination.md +0 -32
- package/.claude/commands/agents/agent-spawning.md +0 -32
- package/.claude/commands/agents/agent-types.md +0 -30
- package/.claude/commands/analysis/README.md +0 -18
- package/.claude/commands/analysis/bottleneck-detect.md +0 -69
- package/.claude/commands/analysis/performance-bottlenecks.md +0 -59
- package/.claude/commands/analysis/performance-report.md +0 -52
- package/.claude/commands/analysis/token-usage.md +0 -47
- package/.claude/commands/automation/README.md +0 -19
- package/.claude/commands/automation/auto-agent.md +0 -86
- package/.claude/commands/automation/self-healing.md +0 -108
- package/.claude/commands/automation/session-memory.md +0 -89
- package/.claude/commands/automation/smart-agents.md +0 -81
- package/.claude/commands/automation/smart-spawn.md +0 -66
- package/.claude/commands/automation/workflow-select.md +0 -60
- package/.claude/commands/coordination/README.md +0 -13
- package/.claude/commands/coordination/agent-spawn.md +0 -69
- package/.claude/commands/coordination/swarm-init.md +0 -82
- package/.claude/commands/coordination/task-orchestrate.md +0 -79
- package/.claude/commands/github/README.md +0 -24
- package/.claude/commands/github/github-modes.md +0 -151
- package/.claude/commands/github/issue-tracker.md +0 -293
- package/.claude/commands/github/pr-manager.md +0 -173
- package/.claude/commands/github/release-manager.md +0 -343
- package/.claude/commands/github/repo-architect.md +0 -379
- package/.claude/commands/github/sync-coordinator.md +0 -297
- package/.claude/commands/hive-mind/README.md +0 -42
- package/.claude/commands/hive-mind/hive-mind-consensus.md +0 -72
- package/.claude/commands/hive-mind/hive-mind-init.md +0 -68
- package/.claude/commands/hive-mind/hive-mind-memory.md +0 -73
- package/.claude/commands/hive-mind/hive-mind-spawn.md +0 -82
- package/.claude/commands/hive-mind/hive-mind-status.md +0 -56
- package/.claude/commands/hive-mind/hive-mind-stop.md +0 -55
- package/.claude/commands/hive-mind/hive-mind.md +0 -87
- package/.claude/commands/hooks/README.md +0 -66
- package/.claude/commands/hooks/overview.md +0 -112
- package/.claude/commands/hooks/post-edit.md +0 -78
- package/.claude/commands/hooks/post-task.md +0 -62
- package/.claude/commands/hooks/pre-edit.md +0 -81
- package/.claude/commands/hooks/pre-task.md +0 -73
- package/.claude/commands/hooks/session-end.md +0 -82
- package/.claude/commands/hooks/setup.md +0 -132
- package/.claude/commands/mastermind/_repeat.md +0 -492
- package/.claude/commands/mastermind/_taskfile.md +0 -232
- package/.claude/commands/mastermind/adr.md +0 -9
- package/.claude/commands/mastermind/approve.md +0 -91
- package/.claude/commands/mastermind/architect.md +0 -52
- package/.claude/commands/mastermind/autodev.md +0 -28
- package/.claude/commands/mastermind/brain.md +0 -99
- package/.claude/commands/mastermind/budget.md +0 -5
- package/.claude/commands/mastermind/build.md +0 -23
- package/.claude/commands/mastermind/code-review.md +0 -314
- package/.claude/commands/mastermind/content.md +0 -23
- package/.claude/commands/mastermind/createorg.md +0 -136
- package/.claude/commands/mastermind/createtask.md +0 -372
- package/.claude/commands/mastermind/debug.md +0 -19
- package/.claude/commands/mastermind/design.md +0 -17
- package/.claude/commands/mastermind/do.md +0 -525
- package/.claude/commands/mastermind/execute.md +0 -17
- package/.claude/commands/mastermind/finance.md +0 -23
- package/.claude/commands/mastermind/finish.md +0 -17
- package/.claude/commands/mastermind/graph-status.md +0 -5
- package/.claude/commands/mastermind/help.md +0 -115
- package/.claude/commands/mastermind/idea.md +0 -23
- package/.claude/commands/mastermind/ideate.md +0 -258
- package/.claude/commands/mastermind/improve.md +0 -342
- package/.claude/commands/mastermind/loops.md +0 -5
- package/.claude/commands/mastermind/marketing.md +0 -23
- package/.claude/commands/mastermind/master.md +0 -1124
- package/.claude/commands/mastermind/memory.md +0 -227
- package/.claude/commands/mastermind/okf-export.md +0 -14
- package/.claude/commands/mastermind/okf-import.md +0 -15
- package/.claude/commands/mastermind/ops.md +0 -23
- package/.claude/commands/mastermind/orgs.md +0 -18
- package/.claude/commands/mastermind/orgstatus.md +0 -56
- package/.claude/commands/mastermind/plan.md +0 -23
- package/.claude/commands/mastermind/receive-review.md +0 -17
- package/.claude/commands/mastermind/references/antigravity-tools.md +0 -60
- package/.claude/commands/mastermind/references/claude-code-tools.md +0 -50
- package/.claude/commands/mastermind/references/codex-tools.md +0 -64
- package/.claude/commands/mastermind/references/copilot-tools.md +0 -49
- package/.claude/commands/mastermind/references/gemini-tools.md +0 -63
- package/.claude/commands/mastermind/references/pi-tools.md +0 -28
- package/.claude/commands/mastermind/release.md +0 -23
- package/.claude/commands/mastermind/repeat.md +0 -254
- package/.claude/commands/mastermind/research.md +0 -23
- package/.claude/commands/mastermind/review.md +0 -34
- package/.claude/commands/mastermind/runorg.md +0 -153
- package/.claude/commands/mastermind/sales.md +0 -23
- package/.claude/commands/mastermind/skill-builder.md +0 -17
- package/.claude/commands/mastermind/specialagents.md +0 -122
- package/.claude/commands/mastermind/stoporg.md +0 -75
- package/.claude/commands/mastermind/swarm.md +0 -158
- package/.claude/commands/mastermind/taskdev.md +0 -23
- package/.claude/commands/mastermind/tdd.md +0 -19
- package/.claude/commands/mastermind/techport.md +0 -27
- package/.claude/commands/mastermind/understand.md +0 -136
- package/.claude/commands/mastermind/verify.md +0 -19
- package/.claude/commands/mastermind/worktree.md +0 -17
- package/.claude/commands/mastermind.md +0 -121
- package/.claude/commands/memory/README.md +0 -79
- package/.claude/commands/memory/memory-search.md +0 -77
- package/.claude/commands/monitoring/README.md +0 -69
- package/.claude/commands/monitoring/agent-metrics.md +0 -65
- package/.claude/commands/monitoring/agents.md +0 -71
- package/.claude/commands/monitoring/status.md +0 -108
- package/.claude/commands/monobrowse.md +0 -21
- package/.claude/commands/monoes/README.md +0 -30
- package/.claude/commands/monoes/install.md +0 -163
- package/.claude/commands/monoes/monoagent.md +0 -148
- package/.claude/commands/monoes/monoclip.md +0 -64
- package/.claude/commands/monoes/monotask.md +0 -137
- package/.claude/commands/monograph/README.md +0 -102
- package/.claude/commands/monograph/monograph-build.md +0 -79
- package/.claude/commands/monograph/monograph-search.md +0 -96
- package/.claude/commands/monograph/monograph-stats.md +0 -53
- package/.claude/commands/monograph/monograph-watch.md +0 -63
- package/.claude/commands/monograph/monograph-wiki.md +0 -91
- package/.claude/commands/optimization/auto-topology.md +0 -85
- package/.claude/commands/optimization/performance-optimize.md +0 -79
- package/.claude/commands/pair/README.md +0 -79
- package/.claude/commands/pair/examples.md +0 -156
- package/.claude/commands/pair/modes.md +0 -122
- package/.claude/commands/pair/session.md +0 -124
- package/.claude/commands/sparc/analyzer.md +0 -35
- package/.claude/commands/sparc/architect.md +0 -36
- package/.claude/commands/sparc/ask.md +0 -56
- package/.claude/commands/sparc/batch-executor.md +0 -37
- package/.claude/commands/sparc/code.md +0 -48
- package/.claude/commands/sparc/coder.md +0 -37
- package/.claude/commands/sparc/debug.md +0 -42
- package/.claude/commands/sparc/debugger.md +0 -37
- package/.claude/commands/sparc/designer.md +0 -36
- package/.claude/commands/sparc/devops.md +0 -68
- package/.claude/commands/sparc/docs-writer.md +0 -39
- package/.claude/commands/sparc/documenter.md +0 -37
- package/.claude/commands/sparc/innovator.md +0 -37
- package/.claude/commands/sparc/integration.md +0 -42
- package/.claude/commands/sparc/mcp.md +0 -76
- package/.claude/commands/sparc/memory-manager.md +0 -57
- package/.claude/commands/sparc/optimizer.md +0 -37
- package/.claude/commands/sparc/orchestrator.md +0 -70
- package/.claude/commands/sparc/post-deployment-monitoring-mode.md +0 -42
- package/.claude/commands/sparc/refinement-optimization-mode.md +0 -42
- package/.claude/commands/sparc/researcher.md +0 -37
- package/.claude/commands/sparc/reviewer.md +0 -37
- package/.claude/commands/sparc/security-review.md +0 -39
- package/.claude/commands/sparc/sparc-modes.md +0 -120
- package/.claude/commands/sparc/sparc.md +0 -71
- package/.claude/commands/sparc/spec-pseudocode.md +0 -39
- package/.claude/commands/sparc/supabase-admin.md +0 -301
- package/.claude/commands/sparc/swarm-coordinator.md +0 -50
- package/.claude/commands/sparc/tdd.md +0 -37
- package/.claude/commands/sparc/tester.md +0 -37
- package/.claude/commands/sparc/tutorial.md +0 -38
- package/.claude/commands/sparc/workflow-manager.md +0 -37
- package/.claude/commands/sparc.md +0 -112
- package/.claude/commands/stream-chain/pipeline.md +0 -116
- package/.claude/commands/stream-chain/run.md +0 -156
- package/.claude/commands/swarm/README.md +0 -40
- package/.claude/commands/swarm/analysis.md +0 -73
- package/.claude/commands/swarm/development.md +0 -72
- package/.claude/commands/swarm/examples.md +0 -103
- package/.claude/commands/swarm/maintenance.md +0 -75
- package/.claude/commands/swarm/optimization.md +0 -84
- package/.claude/commands/swarm/research.md +0 -76
- package/.claude/commands/swarm/swarm.md +0 -79
- package/.claude/commands/swarm/testing.md +0 -80
- package/.claude/commands/tokens.md +0 -18
- package/.claude/commands/truth/start.md +0 -121
- package/.claude/commands/ts.md +0 -14
- package/.claude/commands/workflows/README.md +0 -65
- package/.claude/commands/workflows/development.md +0 -86
- package/.claude/commands/workflows/research.md +0 -89
- package/.claude/commands/workflows/workflow-create.md +0 -84
- package/.claude/commands/workflows/workflow-execute.md +0 -103
- package/.claude/commands/workflows/workflow-export.md +0 -90
- package/.claude/helpers/control-start.cjs +0 -184
- package/.claude/helpers/event-logger.cjs +0 -155
- package/.claude/helpers/extras-registry.json +0 -5141
- package/.claude/helpers/graphify-freshen.cjs +0 -140
- package/.claude/helpers/handlers/adr-draft-handler.cjs +0 -78
- package/.claude/helpers/handlers/agent-start-handler.cjs +0 -83
- package/.claude/helpers/handlers/budget-status-handler.cjs +0 -14
- package/.claude/helpers/handlers/capture-handler.cjs +0 -583
- package/.claude/helpers/handlers/compact-handler.cjs +0 -35
- package/.claude/helpers/handlers/edit-handler.cjs +0 -145
- package/.claude/helpers/handlers/gates-handler.cjs +0 -138
- package/.claude/helpers/handlers/graph-status-handler.cjs +0 -45
- package/.claude/helpers/handlers/loops-status-handler.cjs +0 -48
- package/.claude/helpers/handlers/route-handler.cjs +0 -381
- package/.claude/helpers/handlers/session-handler.cjs +0 -234
- package/.claude/helpers/handlers/session-restore-handler.cjs +0 -375
- package/.claude/helpers/handlers/stats-handler.cjs +0 -14
- package/.claude/helpers/handlers/task-handler.cjs +0 -206
- package/.claude/helpers/hook-handler.cjs +0 -765
- package/.claude/helpers/intelligence.cjs +0 -338
- package/.claude/helpers/learning-service.mjs +0 -61
- package/.claude/helpers/loop-tracker.cjs +0 -119
- package/.claude/helpers/mastermind-activate.cjs +0 -35
- package/.claude/helpers/memory-palace.cjs +0 -461
- package/.claude/helpers/memory.cjs +0 -193
- package/.claude/helpers/metrics-db.mjs +0 -87
- package/.claude/helpers/monolean-activate.cjs +0 -30
- package/.claude/helpers/monolean-config.cjs +0 -76
- package/.claude/helpers/monolean-instructions.cjs +0 -109
- package/.claude/helpers/monolean-propagate.cjs +0 -13
- package/.claude/helpers/monolean-tracker.cjs +0 -18
- package/.claude/helpers/router.cjs +0 -364
- package/.claude/helpers/session.cjs +0 -140
- package/.claude/helpers/skill-registry.json +0 -1043
- package/.claude/helpers/statusline.cjs +0 -1344
- package/.claude/helpers/toggle-statusline.cjs +0 -73
- package/.claude/helpers/token-tracker.cjs +0 -934
- package/.claude/helpers/utils/micro-agents.cjs +0 -354
- package/.claude/helpers/utils/monograph.cjs +0 -480
- package/.claude/helpers/utils/telemetry.cjs +0 -146
- package/.claude/mcp.json +0 -3
- package/.claude/scheduled_tasks.lock +0 -1
- package/.claude/settings.json +0 -475
- package/.claude/skills/.monomind/data/ranked-context.json +0 -5
- package/.claude/skills/.monomind/sessions/current.json +0 -13
- package/.claude/skills/.monomind/sessions/session-1777829336455.json +0 -15
- package/.claude/skills/.monomind/sessions/session-1777831614725.json +0 -15
- package/.claude/skills/.monomind/sessions/session-1777832095857.json +0 -15
- package/.claude/skills/.monomind/sessions/session-1777839814183.json +0 -15
- package/.claude/skills/.monomind/sessions/session-1777841847131.json +0 -15
- package/.claude/skills/.monomind/sessions/session-1777843309463.json +0 -15
- package/.claude/skills/.monomind/sessions/session-1777880867159.json +0 -15
- package/.claude/skills/.monomind/sessions/session-1777881884593.json +0 -15
- package/.claude/skills/.monomind/sessions/session-1777884090471.json +0 -15
- package/.claude/skills/.monomind/sessions/session-1777884808221.json +0 -15
- package/.claude/skills/.monomind/sessions/session-1777885672155.json +0 -15
- package/.claude/skills/.monomind/sessions/session-1777886852818.json +0 -15
- package/.claude/skills/.monomind/sessions/session-1777896532690.json +0 -15
- package/.claude/skills/agent-browser-testing/SKILL.md +0 -964
- package/.claude/skills/agentic-jujutsu/SKILL.md +0 -645
- package/.claude/skills/github-issue-triage/SKILL.md +0 -354
- package/.claude/skills/github-repo-recap/SKILL.md +0 -207
- package/.claude/skills/hive-mind-advanced/SKILL.md +0 -709
- package/.claude/skills/hooks-automation/SKILL.md +0 -1193
- package/.claude/skills/mastermind-skills/_agent-select.md +0 -132
- package/.claude/skills/mastermind-skills/_delegation.md +0 -83
- package/.claude/skills/mastermind-skills/_intake.md +0 -83
- package/.claude/skills/mastermind-skills/_protocol.md +0 -404
- package/.claude/skills/mastermind-skills/_repeat.md +0 -171
- package/.claude/skills/mastermind-skills/access.md +0 -236
- package/.claude/skills/mastermind-skills/activity.md +0 -191
- package/.claude/skills/mastermind-skills/adapter-manager.md +0 -259
- package/.claude/skills/mastermind-skills/adapters.md +0 -204
- package/.claude/skills/mastermind-skills/agent-detail.md +0 -242
- package/.claude/skills/mastermind-skills/agents.md +0 -178
- package/.claude/skills/mastermind-skills/approval-detail.md +0 -259
- package/.claude/skills/mastermind-skills/approve.md +0 -188
- package/.claude/skills/mastermind-skills/architect.md +0 -862
- package/.claude/skills/mastermind-skills/autodev.md +0 -360
- package/.claude/skills/mastermind-skills/backup.md +0 -197
- package/.claude/skills/mastermind-skills/bootstrap.md +0 -190
- package/.claude/skills/mastermind-skills/budgets.md +0 -237
- package/.claude/skills/mastermind-skills/build.md +0 -170
- package/.claude/skills/mastermind-skills/code-quality-reviewer-prompt.md +0 -60
- package/.claude/skills/mastermind-skills/companies.md +0 -256
- package/.claude/skills/mastermind-skills/content.md +0 -197
- package/.claude/skills/mastermind-skills/costs.md +0 -151
- package/.claude/skills/mastermind-skills/createorg.md +0 -862
- package/.claude/skills/mastermind-skills/debug.md +0 -232
- package/.claude/skills/mastermind-skills/design.md +0 -189
- package/.claude/skills/mastermind-skills/diagnose.md +0 -249
- package/.claude/skills/mastermind-skills/env.md +0 -198
- package/.claude/skills/mastermind-skills/environments.md +0 -250
- package/.claude/skills/mastermind-skills/execute.md +0 -104
- package/.claude/skills/mastermind-skills/export.md +0 -333
- package/.claude/skills/mastermind-skills/finance.md +0 -166
- package/.claude/skills/mastermind-skills/finish.md +0 -251
- package/.claude/skills/mastermind-skills/goal-detail.md +0 -255
- package/.claude/skills/mastermind-skills/goals.md +0 -149
- package/.claude/skills/mastermind-skills/heartbeat.md +0 -164
- package/.claude/skills/mastermind-skills/idea.md +0 -1142
- package/.claude/skills/mastermind-skills/implementer-prompt.md +0 -109
- package/.claude/skills/mastermind-skills/import.md +0 -281
- package/.claude/skills/mastermind-skills/inbox.md +0 -214
- package/.claude/skills/mastermind-skills/instance-settings.md +0 -315
- package/.claude/skills/mastermind-skills/instance.md +0 -233
- package/.claude/skills/mastermind-skills/invite-landing.md +0 -227
- package/.claude/skills/mastermind-skills/invites.md +0 -254
- package/.claude/skills/mastermind-skills/issue-detail.md +0 -291
- package/.claude/skills/mastermind-skills/issues.md +0 -235
- package/.claude/skills/mastermind-skills/join-queue.md +0 -170
- package/.claude/skills/mastermind-skills/liveness.md +0 -392
- package/.claude/skills/mastermind-skills/marketing.md +0 -228
- package/.claude/skills/mastermind-skills/memory.md +0 -321
- package/.claude/skills/mastermind-skills/monitor.md +0 -1284
- package/.claude/skills/mastermind-skills/monotask.md +0 -350
- package/.claude/skills/mastermind-skills/my-issues.md +0 -146
- package/.claude/skills/mastermind-skills/new-agent.md +0 -241
- package/.claude/skills/mastermind-skills/ops.md +0 -168
- package/.claude/skills/mastermind-skills/org-chart.md +0 -209
- package/.claude/skills/mastermind-skills/org-settings.md +0 -254
- package/.claude/skills/mastermind-skills/orgs.md +0 -98
- package/.claude/skills/mastermind-skills/orgstatus.md +0 -194
- package/.claude/skills/mastermind-skills/plan-to-tasks.md +0 -136
- package/.claude/skills/mastermind-skills/plan.md +0 -198
- package/.claude/skills/mastermind-skills/plugin-manager.md +0 -241
- package/.claude/skills/mastermind-skills/plugin-settings.md +0 -273
- package/.claude/skills/mastermind-skills/plugins.md +0 -190
- package/.claude/skills/mastermind-skills/profile.md +0 -187
- package/.claude/skills/mastermind-skills/project-detail.md +0 -249
- package/.claude/skills/mastermind-skills/project-workspace.md +0 -244
- package/.claude/skills/mastermind-skills/projects.md +0 -164
- package/.claude/skills/mastermind-skills/receive-review.md +0 -213
- package/.claude/skills/mastermind-skills/references/copywriting-frameworks.md +0 -181
- package/.claude/skills/mastermind-skills/references/persuasion-psychology.md +0 -158
- package/.claude/skills/mastermind-skills/release.md +0 -168
- package/.claude/skills/mastermind-skills/research.md +0 -168
- package/.claude/skills/mastermind-skills/review.md +0 -233
- package/.claude/skills/mastermind-skills/routine-detail.md +0 -253
- package/.claude/skills/mastermind-skills/routines.md +0 -203
- package/.claude/skills/mastermind-skills/runorg.md +0 -714
- package/.claude/skills/mastermind-skills/sales.md +0 -170
- package/.claude/skills/mastermind-skills/search.md +0 -186
- package/.claude/skills/mastermind-skills/secrets.md +0 -199
- package/.claude/skills/mastermind-skills/skill-builder.md +0 -274
- package/.claude/skills/mastermind-skills/skills.md +0 -156
- package/.claude/skills/mastermind-skills/spec-reviewer-prompt.md +0 -63
- package/.claude/skills/mastermind-skills/stoporg.md +0 -138
- package/.claude/skills/mastermind-skills/taskdev.md +0 -307
- package/.claude/skills/mastermind-skills/tasks.md +0 -149
- package/.claude/skills/mastermind-skills/tdd.md +0 -394
- package/.claude/skills/mastermind-skills/techport.md +0 -777
- package/.claude/skills/mastermind-skills/threads.md +0 -259
- package/.claude/skills/mastermind-skills/tree-control.md +0 -250
- package/.claude/skills/mastermind-skills/verify.md +0 -196
- package/.claude/skills/mastermind-skills/wiki.md +0 -314
- package/.claude/skills/mastermind-skills/workspace-detail.md +0 -317
- package/.claude/skills/mastermind-skills/workspaces.md +0 -261
- package/.claude/skills/mastermind-skills/worktree.md +0 -215
- package/.claude/skills/monodesign/SKILL.md +0 -333
- package/.claude/skills/monodesign/adapt.md +0 -53
- package/.claude/skills/monodesign/agents/monodesign-asset-producer.md +0 -100
- package/.claude/skills/monodesign/animate.md +0 -65
- package/.claude/skills/monodesign/audit.md +0 -89
- package/.claude/skills/monodesign/bolder.md +0 -50
- package/.claude/skills/monodesign/clarify.md +0 -64
- package/.claude/skills/monodesign/colorize.md +0 -68
- package/.claude/skills/monodesign/craft.md +0 -51
- package/.claude/skills/monodesign/critique.md +0 -66
- package/.claude/skills/monodesign/delight.md +0 -47
- package/.claude/skills/monodesign/distill.md +0 -56
- package/.claude/skills/monodesign/document.md +0 -83
- package/.claude/skills/monodesign/extract.md +0 -74
- package/.claude/skills/monodesign/harden.md +0 -65
- package/.claude/skills/monodesign/live.md +0 -59
- package/.claude/skills/monodesign/onboard.md +0 -50
- package/.claude/skills/monodesign/optimize.md +0 -64
- package/.claude/skills/monodesign/overdrive.md +0 -56
- package/.claude/skills/monodesign/polish.md +0 -68
- package/.claude/skills/monodesign/quieter.md +0 -57
- package/.claude/skills/monodesign/reference/adapt.md +0 -190
- package/.claude/skills/monodesign/reference/animate.md +0 -175
- package/.claude/skills/monodesign/reference/antipatterns-catalog.md +0 -359
- package/.claude/skills/monodesign/reference/audit.md +0 -133
- package/.claude/skills/monodesign/reference/bolder.md +0 -113
- package/.claude/skills/monodesign/reference/brand-workflow.md +0 -180
- package/.claude/skills/monodesign/reference/brand.md +0 -114
- package/.claude/skills/monodesign/reference/clarify.md +0 -174
- package/.claude/skills/monodesign/reference/codex.md +0 -107
- package/.claude/skills/monodesign/reference/cognitive-load.md +0 -106
- package/.claude/skills/monodesign/reference/color-and-contrast.md +0 -105
- package/.claude/skills/monodesign/reference/colorize.md +0 -154
- package/.claude/skills/monodesign/reference/component-specs.md +0 -260
- package/.claude/skills/monodesign/reference/component-states.md +0 -274
- package/.claude/skills/monodesign/reference/component-system.md +0 -358
- package/.claude/skills/monodesign/reference/copy-formulas.md +0 -160
- package/.claude/skills/monodesign/reference/craft.md +0 -196
- package/.claude/skills/monodesign/reference/critique.md +0 -213
- package/.claude/skills/monodesign/reference/delight.md +0 -302
- package/.claude/skills/monodesign/reference/design-principles.md +0 -246
- package/.claude/skills/monodesign/reference/distill.md +0 -111
- package/.claude/skills/monodesign/reference/document.md +0 -427
- package/.claude/skills/monodesign/reference/extract.md +0 -69
- package/.claude/skills/monodesign/reference/harden.md +0 -347
- package/.claude/skills/monodesign/reference/heuristics-scoring.md +0 -234
- package/.claude/skills/monodesign/reference/hooks.md +0 -99
- package/.claude/skills/monodesign/reference/image-prompts.md +0 -130
- package/.claude/skills/monodesign/reference/interaction-design.md +0 -195
- package/.claude/skills/monodesign/reference/layout.md +0 -141
- package/.claude/skills/monodesign/reference/live.md +0 -622
- package/.claude/skills/monodesign/reference/motion-design.md +0 -109
- package/.claude/skills/monodesign/reference/onboard.md +0 -234
- package/.claude/skills/monodesign/reference/optimize.md +0 -258
- package/.claude/skills/monodesign/reference/overdrive.md +0 -130
- package/.claude/skills/monodesign/reference/personas.md +0 -179
- package/.claude/skills/monodesign/reference/polish.md +0 -233
- package/.claude/skills/monodesign/reference/pre-delivery-checklist.md +0 -108
- package/.claude/skills/monodesign/reference/product.md +0 -62
- package/.claude/skills/monodesign/reference/quieter.md +0 -99
- package/.claude/skills/monodesign/reference/responsive-design.md +0 -114
- package/.claude/skills/monodesign/reference/shape.md +0 -151
- package/.claude/skills/monodesign/reference/spatial-design.md +0 -100
- package/.claude/skills/monodesign/reference/teach.md +0 -156
- package/.claude/skills/monodesign/reference/token-architecture.md +0 -222
- package/.claude/skills/monodesign/reference/typeset.md +0 -124
- package/.claude/skills/monodesign/reference/typography.md +0 -159
- package/.claude/skills/monodesign/reference/ux-research.md +0 -143
- package/.claude/skills/monodesign/reference/ux-rules.md +0 -211
- package/.claude/skills/monodesign/reference/ux-writing.md +0 -107
- package/.claude/skills/monodesign/shape.md +0 -71
- package/.claude/skills/monodesign/teach.md +0 -69
- package/.claude/skills/monodesign/typeset.md +0 -59
- package/.claude/skills/monolean/SKILL.md +0 -118
- package/.claude/skills/monolean-audit/SKILL.md +0 -41
- package/.claude/skills/monolean-debt/SKILL.md +0 -46
- package/.claude/skills/monolean-help/SKILL.md +0 -60
- package/.claude/skills/monolean-review/SKILL.md +0 -57
- package/.claude/skills/monomind/.monomind/registry.json +0 -6
- package/.claude/skills/monomind/browse-agentcore.md +0 -115
- package/.claude/skills/monomind/browse-electron.md +0 -188
- package/.claude/skills/monomind/browse-qa.md +0 -228
- package/.claude/skills/monomind/browse-references/authentication.md +0 -161
- package/.claude/skills/monomind/browse-references/trust-boundaries.md +0 -40
- package/.claude/skills/monomind/browse-references/video-recording.md +0 -83
- package/.claude/skills/monomind/browse-slack.md +0 -188
- package/.claude/skills/monomind/browse-vercel.md +0 -239
- package/.claude/skills/monomind/browse.md +0 -724
- package/.claude/skills/monomotion/SKILL.md +0 -145
- package/.claude/skills/monomotion/rules/api-control.md +0 -139
- package/.claude/skills/monomotion/rules/effects.md +0 -109
- package/.claude/skills/monomotion/rules/integration.md +0 -140
- package/.claude/skills/monomotion/rules/scroll.md +0 -131
- package/.claude/skills/monomotion/rules/sequencing.md +0 -105
- package/.claude/skills/monomotion/rules/svg.md +0 -101
- package/.claude/skills/monomotion/rules/text.md +0 -119
- package/.claude/skills/pair-programming/SKILL.md +0 -1202
- package/.claude/skills/performance-analysis/SKILL.md +0 -560
- package/.claude/skills/skill-builder/SKILL.md +0 -910
- package/.claude/skills/sparc-methodology/SKILL.md +0 -950
- package/.claude/skills/specialagent/SKILL.md +0 -208
- package/.claude/skills/stop-slop/SKILL.md +0 -67
- package/.claude/skills/stop-slop/references/examples.md +0 -61
- package/.claude/skills/stop-slop/references/phrases.md +0 -130
- package/.claude/skills/stop-slop/references/structures.md +0 -136
- package/.claude/skills/swarm-advanced/SKILL.md +0 -937
- package/.claude/skills/swarm-orchestration/SKILL.md +0 -179
- package/.claude/skills/verification-quality/SKILL.md +0 -674
- package/.claude/workflows/feature-dev.yaml +0 -18
- package/.claude/workflows/security-audit.yaml +0 -10
- package/packages/@monomind/cli/.claude/agents/generated/case-analyst.md +0 -50
- package/packages/@monomind/cli/.claude/agents/generated/channel-intelligence-director.md +0 -87
- package/packages/@monomind/cli/.claude/agents/generated/chief-growth-officer.md +0 -88
- package/packages/@monomind/cli/.claude/agents/generated/churn-analyst.md +0 -53
- package/packages/@monomind/cli/.claude/agents/generated/code-reviewer.md +0 -55
- package/packages/@monomind/cli/.claude/agents/generated/code-validator.md +0 -57
- package/packages/@monomind/cli/.claude/agents/generated/complexity-scanner.md +0 -56
- package/packages/@monomind/cli/.claude/agents/generated/content-seo-strategist.md +0 -90
- package/packages/@monomind/cli/.claude/agents/generated/copy-editor.md +0 -45
- package/packages/@monomind/cli/.claude/agents/generated/court-reporter.md +0 -50
- package/packages/@monomind/cli/.claude/agents/generated/defender.md +0 -51
- package/packages/@monomind/cli/.claude/agents/generated/devbot-orchestrator.md +0 -58
- package/packages/@monomind/cli/.claude/agents/generated/devbot-planner.md +0 -63
- package/packages/@monomind/cli/.claude/agents/generated/developer-community-strategist.md +0 -91
- package/packages/@monomind/cli/.claude/agents/generated/editor-in-chief.md +0 -45
- package/packages/@monomind/cli/.claude/agents/generated/fact-checker.md +0 -45
- package/packages/@monomind/cli/.claude/agents/generated/impact-assessor.md +0 -54
- package/packages/@monomind/cli/.claude/agents/generated/judge.md +0 -51
- package/packages/@monomind/cli/.claude/agents/generated/outreach-partnership-strategist.md +0 -90
- package/packages/@monomind/cli/.claude/agents/generated/prosecutor.md +0 -51
- package/packages/@monomind/cli/.claude/agents/generated/reporter.md +0 -45
- package/packages/@monomind/cli/.claude/agents/generated/social-media-strategist.md +0 -91
- package/packages/@monomind/cli/.claude/agents/generated/video-visual-strategist.md +0 -90
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/boss.md +0 -113
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/critic-architect.md +0 -132
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/git-manager.md +0 -145
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/idea-generator.md +0 -95
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/implementer.md +0 -112
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/integration-planner.md +0 -112
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/source-analyst.md +0 -103
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/target-analyst.md +0 -118
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/tester.md +0 -105
- package/packages/@monomind/cli/.claude/agents/sparc/architecture.md +0 -453
- package/packages/@monomind/cli/.claude/agents/sparc/pseudocode.md +0 -299
- package/packages/@monomind/cli/.claude/agents/sparc/refinement.md +0 -504
- package/packages/@monomind/cli/.claude/agents/sparc/specification.md +0 -258
- package/packages/@monomind/cli/.claude/agents/templates/implementer-sparc-coder.md +0 -231
- package/packages/@monomind/cli/.claude/commands/sparc/analyzer.md +0 -35
- package/packages/@monomind/cli/.claude/commands/sparc/architect.md +0 -36
- package/packages/@monomind/cli/.claude/commands/sparc/ask.md +0 -56
- package/packages/@monomind/cli/.claude/commands/sparc/batch-executor.md +0 -37
- package/packages/@monomind/cli/.claude/commands/sparc/code.md +0 -48
- package/packages/@monomind/cli/.claude/commands/sparc/coder.md +0 -37
- package/packages/@monomind/cli/.claude/commands/sparc/debug.md +0 -42
- package/packages/@monomind/cli/.claude/commands/sparc/debugger.md +0 -37
- package/packages/@monomind/cli/.claude/commands/sparc/designer.md +0 -36
- package/packages/@monomind/cli/.claude/commands/sparc/devops.md +0 -68
- package/packages/@monomind/cli/.claude/commands/sparc/docs-writer.md +0 -39
- package/packages/@monomind/cli/.claude/commands/sparc/documenter.md +0 -37
- package/packages/@monomind/cli/.claude/commands/sparc/innovator.md +0 -37
- package/packages/@monomind/cli/.claude/commands/sparc/integration.md +0 -42
- package/packages/@monomind/cli/.claude/commands/sparc/mcp.md +0 -76
- package/packages/@monomind/cli/.claude/commands/sparc/memory-manager.md +0 -57
- package/packages/@monomind/cli/.claude/commands/sparc/optimizer.md +0 -37
- package/packages/@monomind/cli/.claude/commands/sparc/orchestrator.md +0 -70
- package/packages/@monomind/cli/.claude/commands/sparc/post-deployment-monitoring-mode.md +0 -42
- package/packages/@monomind/cli/.claude/commands/sparc/refinement-optimization-mode.md +0 -42
- package/packages/@monomind/cli/.claude/commands/sparc/researcher.md +0 -37
- package/packages/@monomind/cli/.claude/commands/sparc/reviewer.md +0 -37
- package/packages/@monomind/cli/.claude/commands/sparc/security-review.md +0 -39
- package/packages/@monomind/cli/.claude/commands/sparc/sparc-modes.md +0 -120
- package/packages/@monomind/cli/.claude/commands/sparc/sparc.md +0 -71
- package/packages/@monomind/cli/.claude/commands/sparc/spec-pseudocode.md +0 -39
- package/packages/@monomind/cli/.claude/commands/sparc/supabase-admin.md +0 -301
- package/packages/@monomind/cli/.claude/commands/sparc/swarm-coordinator.md +0 -50
- package/packages/@monomind/cli/.claude/commands/sparc/tdd.md +0 -37
- package/packages/@monomind/cli/.claude/commands/sparc/tester.md +0 -37
- package/packages/@monomind/cli/.claude/commands/sparc/tutorial.md +0 -38
- package/packages/@monomind/cli/.claude/commands/sparc/workflow-manager.md +0 -37
- package/packages/@monomind/cli/.claude/commands/sparc.md +0 -112
- package/packages/@monomind/cli/.claude/skills/sparc-methodology/SKILL.md +0 -950
- package/packages/@monomind/cli/dist/src/capabilities/enrichment.d.ts +0 -44
- package/packages/@monomind/cli/dist/src/capabilities/enrichment.js +0 -141
- package/packages/@monomind/cli/dist/src/commands/analyze-boundaries.d.ts +0 -14
- package/packages/@monomind/cli/dist/src/commands/analyze-boundaries.js +0 -295
- package/packages/@monomind/cli/dist/src/commands/analyze-graph.d.ts +0 -14
- package/packages/@monomind/cli/dist/src/commands/analyze-graph.js +0 -304
- package/packages/@monomind/cli/dist/src/commands/claims.d.ts +0 -10
- package/packages/@monomind/cli/dist/src/commands/claims.js +0 -650
- package/packages/@monomind/cli/dist/src/commands/daemon.d.ts +0 -8
- package/packages/@monomind/cli/dist/src/commands/daemon.js +0 -681
- package/packages/@monomind/cli/dist/src/commands/enrich.d.ts +0 -10
- package/packages/@monomind/cli/dist/src/commands/enrich.js +0 -58
- package/packages/@monomind/cli/dist/src/commands/issues.d.ts +0 -21
- package/packages/@monomind/cli/dist/src/commands/issues.js +0 -575
- package/packages/@monomind/cli/dist/src/commands/workflow.d.ts +0 -8
- package/packages/@monomind/cli/dist/src/commands/workflow.js +0 -575
- package/packages/@monomind/cli/dist/src/consensus/vote-signer.d.ts +0 -36
- package/packages/@monomind/cli/dist/src/consensus/vote-signer.js +0 -88
- package/packages/@monomind/cli/dist/src/mcp-tools/workflow-tools.d.ts +0 -8
- package/packages/@monomind/cli/dist/src/mcp-tools/workflow-tools.js +0 -717
- package/packages/@monomind/cli/dist/src/services/claim-service.d.ts +0 -198
- package/packages/@monomind/cli/dist/src/services/claim-service.js +0 -890
- package/packages/@monomind/cli/dist/src/services/headless-worker-executor.d.ts +0 -311
- package/packages/@monomind/cli/dist/src/services/headless-worker-executor.js +0 -1183
- package/packages/@monomind/cli/dist/src/services/worker-daemon.d.ts +0 -230
- package/packages/@monomind/cli/dist/src/services/worker-daemon.js +0 -1350
- package/packages/@monomind/cli/dist/src/ui/.monomind/capture/active-run.json +0 -1
- package/packages/@monomind/guidance/README.md +0 -87
- package/packages/@monomind/guidance/dist/adversarial.d.ts +0 -284
- package/packages/@monomind/guidance/dist/adversarial.js +0 -572
- package/packages/@monomind/guidance/dist/analyzer.d.ts +0 -530
- package/packages/@monomind/guidance/dist/analyzer.js +0 -2518
- package/packages/@monomind/guidance/dist/artifacts.d.ts +0 -283
- package/packages/@monomind/guidance/dist/artifacts.js +0 -356
- package/packages/@monomind/guidance/dist/authority.d.ts +0 -290
- package/packages/@monomind/guidance/dist/authority.js +0 -558
- package/packages/@monomind/guidance/dist/capabilities.d.ts +0 -209
- package/packages/@monomind/guidance/dist/capabilities.js +0 -485
- package/packages/@monomind/guidance/dist/coherence.d.ts +0 -233
- package/packages/@monomind/guidance/dist/coherence.js +0 -378
- package/packages/@monomind/guidance/dist/compiler.d.ts +0 -87
- package/packages/@monomind/guidance/dist/compiler.js +0 -425
- package/packages/@monomind/guidance/dist/conformance-kit.d.ts +0 -225
- package/packages/@monomind/guidance/dist/conformance-kit.js +0 -629
- package/packages/@monomind/guidance/dist/continue-gate.d.ts +0 -214
- package/packages/@monomind/guidance/dist/continue-gate.js +0 -353
- package/packages/@monomind/guidance/dist/crypto-utils.d.ts +0 -17
- package/packages/@monomind/guidance/dist/crypto-utils.js +0 -24
- package/packages/@monomind/guidance/dist/evolution.d.ts +0 -282
- package/packages/@monomind/guidance/dist/evolution.js +0 -500
- package/packages/@monomind/guidance/dist/gates.d.ts +0 -79
- package/packages/@monomind/guidance/dist/gates.js +0 -302
- package/packages/@monomind/guidance/dist/gateway.d.ts +0 -206
- package/packages/@monomind/guidance/dist/gateway.js +0 -452
- package/packages/@monomind/guidance/dist/generators.d.ts +0 -153
- package/packages/@monomind/guidance/dist/generators.js +0 -682
- package/packages/@monomind/guidance/dist/headless.d.ts +0 -177
- package/packages/@monomind/guidance/dist/headless.js +0 -342
- package/packages/@monomind/guidance/dist/hooks.d.ts +0 -109
- package/packages/@monomind/guidance/dist/hooks.js +0 -347
- package/packages/@monomind/guidance/dist/index.d.ts +0 -203
- package/packages/@monomind/guidance/dist/index.js +0 -320
- package/packages/@monomind/guidance/dist/ledger.d.ts +0 -162
- package/packages/@monomind/guidance/dist/ledger.js +0 -375
- package/packages/@monomind/guidance/dist/manifest-validator.d.ts +0 -289
- package/packages/@monomind/guidance/dist/manifest-validator.js +0 -838
- package/packages/@monomind/guidance/dist/memory-gate.d.ts +0 -222
- package/packages/@monomind/guidance/dist/memory-gate.js +0 -382
- package/packages/@monomind/guidance/dist/meta-governance.d.ts +0 -265
- package/packages/@monomind/guidance/dist/meta-governance.js +0 -348
- package/packages/@monomind/guidance/dist/optimizer.d.ts +0 -104
- package/packages/@monomind/guidance/dist/optimizer.js +0 -329
- package/packages/@monomind/guidance/dist/persistence.d.ts +0 -189
- package/packages/@monomind/guidance/dist/persistence.js +0 -464
- package/packages/@monomind/guidance/dist/proof.d.ts +0 -185
- package/packages/@monomind/guidance/dist/proof.js +0 -238
- package/packages/@monomind/guidance/dist/retriever.d.ts +0 -116
- package/packages/@monomind/guidance/dist/retriever.js +0 -394
- package/packages/@monomind/guidance/dist/ruvbot-integration.d.ts +0 -370
- package/packages/@monomind/guidance/dist/ruvbot-integration.js +0 -738
- package/packages/@monomind/guidance/dist/temporal.d.ts +0 -428
- package/packages/@monomind/guidance/dist/temporal.js +0 -660
- package/packages/@monomind/guidance/dist/trust.d.ts +0 -283
- package/packages/@monomind/guidance/dist/trust.js +0 -474
- package/packages/@monomind/guidance/dist/truth-anchors.d.ts +0 -276
- package/packages/@monomind/guidance/dist/truth-anchors.js +0 -488
- package/packages/@monomind/guidance/dist/types.d.ts +0 -378
- package/packages/@monomind/guidance/dist/types.js +0 -10
- package/packages/@monomind/guidance/dist/uncertainty.d.ts +0 -372
- package/packages/@monomind/guidance/dist/uncertainty.js +0 -619
- package/packages/@monomind/guidance/dist/wasm-kernel.d.ts +0 -48
- package/packages/@monomind/guidance/dist/wasm-kernel.js +0 -158
- package/packages/@monomind/guidance/package.json +0 -119
|
@@ -52,6 +52,14 @@ module.exports = {
|
|
|
52
52
|
|
|
53
53
|
if (intelligence && intelligence.getContext) {
|
|
54
54
|
try {
|
|
55
|
+
// Each hook event runs as a fresh node process, so the module-level
|
|
56
|
+
// _entries cache is always empty here — without init() getContext()
|
|
57
|
+
// returns null on every prompt and stored patterns are never recalled.
|
|
58
|
+
// init() reads one small JSON file (auto-memory-store.json), so the
|
|
59
|
+
// per-prompt cost is negligible.
|
|
60
|
+
if (intelligence.init) {
|
|
61
|
+
try { intelligence.init(); } catch (e) { /* non-fatal */ }
|
|
62
|
+
}
|
|
55
63
|
// Bootstrap intelligence from monograph on first prompt if store is sparse
|
|
56
64
|
if (intelligence.bootstrapFromDb) {
|
|
57
65
|
try {
|
|
@@ -70,6 +78,43 @@ module.exports = {
|
|
|
70
78
|
const routeFn = router.routeTaskSemantic || router.routeTask;
|
|
71
79
|
var result = await Promise.resolve(routeFn(prompt));
|
|
72
80
|
|
|
81
|
+
// ── Enrichment: when router.cjs falls to the broad "coder" catch-all,
|
|
82
|
+
// try @monomind/routing's richer keyword pre-filter (30+ specialized
|
|
83
|
+
// rules for Solidity, game engines, DevOps, embedded, etc.) for a
|
|
84
|
+
// more specific agent match. This bridges the hooks layer (router.cjs)
|
|
85
|
+
// with the CLI routing package without requiring ESM imports. ─────────
|
|
86
|
+
if (result && result.agentSlug === 'coder' && result.confidence <= 0.8) {
|
|
87
|
+
try {
|
|
88
|
+
var routingPkgPath = path.resolve(
|
|
89
|
+
CWD, 'packages', '@monomind', 'routing', 'dist', 'keyword-pre-filter.js'
|
|
90
|
+
);
|
|
91
|
+
// Also check CLI's node_modules (symlinked workspace)
|
|
92
|
+
if (!fs.existsSync(routingPkgPath)) {
|
|
93
|
+
routingPkgPath = path.resolve(
|
|
94
|
+
CWD, 'packages', '@monomind', 'cli', 'node_modules',
|
|
95
|
+
'@monomind', 'routing', 'dist', 'keyword-pre-filter.js'
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
if (fs.existsSync(routingPkgPath)) {
|
|
99
|
+
var routingMod = await import(routingPkgPath);
|
|
100
|
+
var enrichRules = routingMod.DEFAULT_KEYWORD_ROUTES;
|
|
101
|
+
if (enrichRules && enrichRules.length > 0) {
|
|
102
|
+
for (var eri = 0; eri < enrichRules.length; eri++) {
|
|
103
|
+
var erRule = enrichRules[eri];
|
|
104
|
+
if (erRule.pattern && erRule.pattern.test(prompt)) {
|
|
105
|
+
result.agent = erRule.routeName || erRule.agentSlug;
|
|
106
|
+
result.agentSlug = erRule.agentSlug;
|
|
107
|
+
result.confidence = 0.90;
|
|
108
|
+
result.reason = 'Enriched: ' + (erRule.description || erRule.routeName);
|
|
109
|
+
result.enrichedFrom = 'routing-keyword-pre-filter';
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
} catch (e) { /* non-fatal — routing package may not be available */ }
|
|
116
|
+
}
|
|
117
|
+
|
|
73
118
|
// ── Agent success pattern lookup ──────────────────────────
|
|
74
119
|
try {
|
|
75
120
|
var patternDb = hCtx._openMonographDb();
|
|
@@ -113,7 +158,7 @@ module.exports = {
|
|
|
113
158
|
for (var ri = 0; ri < recentRf.length; ri++) {
|
|
114
159
|
try {
|
|
115
160
|
var rfEntry = JSON.parse(recentRf[ri]);
|
|
116
|
-
if (rfEntry.suggestedAgent === routedAgent) {
|
|
161
|
+
if (rfEntry.suggestedAgent === routedAgent && typeof rfEntry.intelligenceFeedback === 'boolean') {
|
|
117
162
|
agentFeedback.push(rfEntry.intelligenceFeedback);
|
|
118
163
|
}
|
|
119
164
|
} catch (e) {}
|
|
@@ -133,6 +178,23 @@ module.exports = {
|
|
|
133
178
|
// recommendations that are no longer injected into context. The statusline
|
|
134
179
|
// just shows the keyword router's pick; no need for 50 lines of overrides.
|
|
135
180
|
|
|
181
|
+
// ── Dispatch dedup: suppress re-recommending the same agent just dispatched ──
|
|
182
|
+
// agent-start-handler writes last-dispatch.json on SubagentStart.
|
|
183
|
+
// If the router picks the same agent within 60s, it's likely the parent re-routing
|
|
184
|
+
// the same prompt — log a note so the LLM can vary its approach.
|
|
185
|
+
try {
|
|
186
|
+
var dispatchPath = path.join(CWD, '.monomind', 'last-dispatch.json');
|
|
187
|
+
var MAX_DISPATCH = 4096;
|
|
188
|
+
if (fs.existsSync(dispatchPath) && fs.statSync(dispatchPath).size <= MAX_DISPATCH) {
|
|
189
|
+
var lastDispatch = JSON.parse(fs.readFileSync(dispatchPath, 'utf-8'));
|
|
190
|
+
var dispatchAge = Date.now() - new Date(lastDispatch.dispatchedAt || 0).getTime();
|
|
191
|
+
if (dispatchAge < 60000 && lastDispatch.agentType === (result.agentSlug || result.agent)) {
|
|
192
|
+
result.recentlyDispatched = true;
|
|
193
|
+
console.log('[DISPATCH_DEDUP] ' + lastDispatch.agentType + ' was dispatched ' + Math.round(dispatchAge / 1000) + 's ago — consider a different specialist or direct implementation');
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
} catch (e) { /* non-fatal */ }
|
|
197
|
+
|
|
136
198
|
var output = [];
|
|
137
199
|
var conf = result.confidence != null ? result.confidence : 0;
|
|
138
200
|
|
|
@@ -226,12 +288,74 @@ module.exports = {
|
|
|
226
288
|
console.log('[SECURITY] ' + secData.findings.length + ' findings from background scan. Review .monomind/metrics/security-audit.json');
|
|
227
289
|
}
|
|
228
290
|
}
|
|
229
|
-
// Codebase map
|
|
291
|
+
// Codebase map top files (high-centrality god nodes from monograph)
|
|
230
292
|
var mapFile = path.join(metricsDir, 'codebase-map.json');
|
|
231
293
|
if (fs.existsSync(mapFile) && fs.statSync(mapFile).size < 32768) {
|
|
232
294
|
var mapData = JSON.parse(fs.readFileSync(mapFile, 'utf-8'));
|
|
233
|
-
if (mapData && mapData.
|
|
234
|
-
console.log('[CODEBASE] ' + mapData.
|
|
295
|
+
if (mapData && mapData.topFiles && mapData.topFiles.length > 0) {
|
|
296
|
+
console.log('[CODEBASE] ' + mapData.topFiles.length + ' high-centrality files. Top: ' + (mapData.topFiles[0].ref || 'unknown') + ' (degree ' + (mapData.topFiles[0].degree || '?') + ')');
|
|
297
|
+
}
|
|
298
|
+
if (mapData && mapData.graphStaleness && mapData.graphStaleness.commitsBehind > 10) {
|
|
299
|
+
console.log('[CODEBASE] Graph index ' + mapData.graphStaleness.commitsBehind + ' commits behind HEAD — run monograph build');
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
// Deep dive findings (god nodes, high-degree files from background analysis)
|
|
303
|
+
var deepdiveFile = path.join(metricsDir, 'deepdive.json');
|
|
304
|
+
if (fs.existsSync(deepdiveFile) && fs.statSync(deepdiveFile).size < 32768) {
|
|
305
|
+
var ddData = JSON.parse(fs.readFileSync(deepdiveFile, 'utf-8'));
|
|
306
|
+
if (ddData && ddData.findings && ddData.findings.length > 0) {
|
|
307
|
+
for (var di = 0; di < ddData.findings.length; di++) {
|
|
308
|
+
var finding = ddData.findings[di];
|
|
309
|
+
if (finding.category === 'god_nodes' && finding.items && finding.items.length > 0) {
|
|
310
|
+
var topGod = finding.items[0];
|
|
311
|
+
console.log('[DEEPDIVE] ' + finding.items.length + ' god nodes. Top: ' + (topGod.name || 'unknown') + ' (degree ' + (topGod.degree || '?') + ') in ' + (topGod.file || 'unknown'));
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
// Ultralearn insights (bridge nodes crossing community boundaries)
|
|
317
|
+
var ultralearnFile = path.join(metricsDir, 'ultralearn.json');
|
|
318
|
+
if (fs.existsSync(ultralearnFile) && fs.statSync(ultralearnFile).size < 32768) {
|
|
319
|
+
var ulData = JSON.parse(fs.readFileSync(ultralearnFile, 'utf-8'));
|
|
320
|
+
if (ulData && ulData.insightsGained && ulData.insightsGained.length > 0) {
|
|
321
|
+
for (var ui = 0; ui < ulData.insightsGained.length; ui++) {
|
|
322
|
+
var insight = ulData.insightsGained[ui];
|
|
323
|
+
if (insight.category === 'bridge_nodes' && insight.items && insight.items.length > 0) {
|
|
324
|
+
var topBridge = insight.items[0];
|
|
325
|
+
console.log('[ARCHITECTURE] ' + insight.items.length + ' bridge nodes crossing community boundaries. Top: ' + (topBridge.name || 'unknown') + ' (' + (topBridge.crossCommunityEdges || '?') + ' cross-edges) in ' + (topBridge.location || 'unknown'));
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
// Performance metrics (daemon optimize worker)
|
|
331
|
+
var perfFile = path.join(metricsDir, 'performance.json');
|
|
332
|
+
if (fs.existsSync(perfFile) && fs.statSync(perfFile).size < 32768) {
|
|
333
|
+
var perfData = JSON.parse(fs.readFileSync(perfFile, 'utf-8'));
|
|
334
|
+
if (perfData && perfData.memoryUsage) {
|
|
335
|
+
var rssBytes = perfData.memoryUsage.rss || 0;
|
|
336
|
+
var rssMB = Math.round(rssBytes / (1024 * 1024));
|
|
337
|
+
if (rssMB > 512) {
|
|
338
|
+
console.log('[PERF] Daemon RSS ' + rssMB + 'MB (>512MB threshold). Consider restarting daemon or reducing worker concurrency');
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
// Memory consolidation health
|
|
343
|
+
var consolFile = path.join(metricsDir, 'consolidation.json');
|
|
344
|
+
if (fs.existsSync(consolFile) && fs.statSync(consolFile).size < 32768) {
|
|
345
|
+
var consolData = JSON.parse(fs.readFileSync(consolFile, 'utf-8'));
|
|
346
|
+
if (consolData && consolData.patternsConsolidated > 0) {
|
|
347
|
+
console.log('[MEMORY] ' + consolData.patternsConsolidated + ' patterns consolidated into ' + consolData.clustersCreated + ' RAPTOR clusters');
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
// Benchmark worker RSS (manual-trigger `daemon trigger -w benchmark`)
|
|
351
|
+
var benchFile = path.join(metricsDir, 'benchmark.json');
|
|
352
|
+
if (fs.existsSync(benchFile) && fs.statSync(benchFile).size < 32768) {
|
|
353
|
+
var benchData = JSON.parse(fs.readFileSync(benchFile, 'utf-8'));
|
|
354
|
+
if (benchData && benchData.benchmarks && benchData.benchmarks.memoryUsage) {
|
|
355
|
+
var benchRssMB = Math.round((benchData.benchmarks.memoryUsage.rss || 0) / (1024 * 1024));
|
|
356
|
+
if (benchRssMB > 512) {
|
|
357
|
+
console.log('[PERF] Benchmark snapshot RSS ' + benchRssMB + 'MB (>512MB threshold) at last `daemon trigger -w benchmark` run');
|
|
358
|
+
}
|
|
235
359
|
}
|
|
236
360
|
}
|
|
237
361
|
} catch (e) { /* non-fatal */ }
|
|
@@ -248,6 +372,15 @@ module.exports = {
|
|
|
248
372
|
var promptTokens = promptLower.match(/[a-z][a-z0-9_-]{2,}/g) || [];
|
|
249
373
|
if (promptTokens.length > 0) {
|
|
250
374
|
var matches = [];
|
|
375
|
+
// Truncate at the last space before maxLen so fragments never
|
|
376
|
+
// end mid-word (falls back to a hard cut for space-less text).
|
|
377
|
+
var truncAtWord = function(s, maxLen) {
|
|
378
|
+
s = String(s || '');
|
|
379
|
+
if (s.length <= maxLen) return s;
|
|
380
|
+
var cut = s.slice(0, maxLen);
|
|
381
|
+
var sp = cut.lastIndexOf(' ');
|
|
382
|
+
return sp > 40 ? cut.slice(0, sp) : cut;
|
|
383
|
+
};
|
|
251
384
|
// Only search last 200 episodes
|
|
252
385
|
var searchEps = epRaw.slice(-200);
|
|
253
386
|
for (var ei = 0; ei < searchEps.length; ei++) {
|
|
@@ -264,14 +397,23 @@ module.exports = {
|
|
|
264
397
|
}
|
|
265
398
|
var relevance = promptTokens.length > 0 ? hits / promptTokens.length : 0;
|
|
266
399
|
if (relevance >= 0.3 && hits >= 2) {
|
|
267
|
-
matches.push({ summary: (ep.summary || ''
|
|
400
|
+
matches.push({ summary: truncAtWord(ep.summary || '', 120), relevance: relevance, ts: ep.endedAt || 0 });
|
|
268
401
|
}
|
|
269
402
|
} catch (e) {}
|
|
270
403
|
}
|
|
271
|
-
// Show top 2 most relevant matches
|
|
404
|
+
// Show top 2 most relevant matches — dedupe by fragment text so
|
|
405
|
+
// two episodes from the same conversation don't inject the same
|
|
406
|
+
// truncated snippet twice.
|
|
272
407
|
if (matches.length > 0) {
|
|
273
408
|
matches.sort(function(a, b) { return b.relevance - a.relevance; });
|
|
274
|
-
var topMatches =
|
|
409
|
+
var topMatches = [];
|
|
410
|
+
var seenFrags = {};
|
|
411
|
+
for (var tmi = 0; tmi < matches.length && topMatches.length < 2; tmi++) {
|
|
412
|
+
var frag = matches[tmi].summary.replace(/\n/g, ' ').trim();
|
|
413
|
+
if (seenFrags[frag]) continue;
|
|
414
|
+
seenFrags[frag] = true;
|
|
415
|
+
topMatches.push(matches[tmi]);
|
|
416
|
+
}
|
|
275
417
|
var memLines = ['[MEMORY] Relevant past sessions:'];
|
|
276
418
|
for (var mi = 0; mi < topMatches.length; mi++) {
|
|
277
419
|
var ago = topMatches[mi].ts ? Math.round((Date.now() - topMatches[mi].ts) / 3600000) + 'h ago' : '';
|
|
@@ -33,7 +33,7 @@ module.exports = {
|
|
|
33
33
|
// sessionSuccess is derived from intelligence-outcomes.jsonl entries written
|
|
34
34
|
// during this session (last 30 minutes). A session is marked failed when the
|
|
35
35
|
// majority of feedback() calls carried success=false in that window.
|
|
36
|
-
var sessionSuccess =
|
|
36
|
+
var sessionSuccess = null; // null = no evidence; only set to a boolean from real signals
|
|
37
37
|
try {
|
|
38
38
|
var feedbackPath = path.join(CWD, '.monomind', 'routing-feedback.jsonl');
|
|
39
39
|
var lastRoutePath = path.join(CWD, '.monomind', 'last-route.json');
|
|
@@ -68,35 +68,41 @@ module.exports = {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
-
// else: modified files exist,
|
|
71
|
+
// else: modified files exist — work in progress, not evidence either way (leave null)
|
|
72
72
|
}
|
|
73
|
-
} catch (e) { /* non-critical —
|
|
73
|
+
} catch (e) { /* non-critical — leave null (no evidence) */ }
|
|
74
74
|
|
|
75
75
|
// Record session-end feedback WITH recentEdits (before consolidate clears them)
|
|
76
|
-
if (intelligence && intelligence.feedback) {
|
|
76
|
+
if (intelligence && intelligence.feedback && typeof sessionSuccess === 'boolean') {
|
|
77
77
|
try { intelligence.feedback(sessionSuccess); } catch (e) { /* non-fatal */ }
|
|
78
78
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
if (
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
79
|
+
// Normalize agent label to a lowercase slug ("Coder" → "coder", "backend dev" → "backend-dev")
|
|
80
|
+
var agentSlug = String(lastRoute.agent || '').trim().toLowerCase().replace(/\s+/g, '-');
|
|
81
|
+
// Skip non-agent placeholders — "AI selecting" etc. carry no routing signal
|
|
82
|
+
if (agentSlug && agentSlug !== 'ai-selecting' && agentSlug !== 'unknown') {
|
|
83
|
+
var feedbackEntry = {
|
|
84
|
+
timestamp: new Date().toISOString(),
|
|
85
|
+
suggestedAgent: agentSlug,
|
|
86
|
+
confidence: lastRoute.confidence,
|
|
87
|
+
sessionId: String(hookInput.sessionId || hookInput.session_id || '').slice(0, 128),
|
|
88
|
+
};
|
|
89
|
+
// Only write the success flag when derived from actual evidence (commits, outcomes)
|
|
90
|
+
if (typeof sessionSuccess === 'boolean') feedbackEntry.intelligenceFeedback = sessionSuccess;
|
|
91
|
+
fs.appendFileSync(feedbackPath, JSON.stringify(feedbackEntry) + '\n', 'utf-8');
|
|
92
|
+
// Rotate: keep last 1000 lines to prevent unbounded growth
|
|
93
|
+
try {
|
|
94
|
+
var MAX_FEEDBACK = 512 * 1024; // 512 KiB
|
|
95
|
+
if (fs.existsSync(feedbackPath) && fs.statSync(feedbackPath).size > MAX_FEEDBACK) {
|
|
96
|
+
// File too large — emergency trim without full read
|
|
97
|
+
throw new Error('skip-rotation');
|
|
98
|
+
}
|
|
99
|
+
var raw = fs.readFileSync(feedbackPath, 'utf-8');
|
|
100
|
+
var lines = raw.split('\n').filter(Boolean);
|
|
101
|
+
if (lines.length > 1000) {
|
|
102
|
+
fs.writeFileSync(feedbackPath, lines.slice(-1000).join('\n') + '\n', 'utf-8');
|
|
103
|
+
}
|
|
104
|
+
} catch (e2) { /* rotation is best-effort */ }
|
|
105
|
+
}
|
|
100
106
|
}
|
|
101
107
|
} catch (e) { /* non-fatal */ }
|
|
102
108
|
|
|
@@ -117,6 +123,22 @@ module.exports = {
|
|
|
117
123
|
}
|
|
118
124
|
} catch (e) { console.log('[WARN] Session end failed: ' + e.message); }
|
|
119
125
|
|
|
126
|
+
// Bridge to @monomind/hooks registry — fires SessionEnd hooks (episode-binner closeEpisode, observability bus).
|
|
127
|
+
// Each hook event runs in a fresh process, so hCtx._hooksModule set by session-restore in an
|
|
128
|
+
// earlier invocation is never visible here — must (re)load lazily via _ensureHooksModule().
|
|
129
|
+
var _hooksModule = hCtx._hooksModule || (hCtx._ensureHooksModule ? await hCtx._ensureHooksModule() : null);
|
|
130
|
+
if (_hooksModule && _hooksModule.executeHooks && _hooksModule.HookEvent) {
|
|
131
|
+
try {
|
|
132
|
+
await _hooksModule.executeHooks(_hooksModule.HookEvent.SessionEnd, {
|
|
133
|
+
session: {
|
|
134
|
+
id: String(hookInput.sessionId || hookInput.session_id || ''),
|
|
135
|
+
startedAt: new Date(),
|
|
136
|
+
},
|
|
137
|
+
success: sessionSuccess !== false, // null (no evidence) still counts as non-failure here
|
|
138
|
+
}, { continueOnError: true, timeout: 2000 });
|
|
139
|
+
} catch (e) { /* non-fatal */ }
|
|
140
|
+
}
|
|
141
|
+
|
|
120
142
|
// Memory Palace tombstone writes removed — redundant with raw session JSONL
|
|
121
143
|
|
|
122
144
|
// ── Context Persistence Auto-Archive ─────────────────────────────────
|
|
@@ -120,15 +120,92 @@ module.exports = {
|
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
// Bridge to @monomind/hooks compiled workers (GAP-001).
|
|
123
|
+
// Uses the shared hCtx._ensureHooksModule() (defined in hook-handler.cjs) so worker
|
|
124
|
+
// registration happens exactly once per process instead of being duplicated here —
|
|
125
|
+
// every other bridging handler (agent-start, pre-task, post-task, post-edit,
|
|
126
|
+
// session-end) calls the same lazy loader since each hook event is its own process.
|
|
123
127
|
try {
|
|
124
|
-
var hooksModule = await import('@monomind/hooks');
|
|
125
|
-
if (hooksModule
|
|
126
|
-
await runWithTimeout(function() { return hooksModule.initDefaultWorkers(); }, '@monomind/hooks.initDefaultWorkers()');
|
|
128
|
+
var hooksModule = hCtx._ensureHooksModule ? await hCtx._ensureHooksModule() : await import('@monomind/hooks');
|
|
129
|
+
if (hooksModule) {
|
|
127
130
|
hCtx._hooksModule = hooksModule;
|
|
128
131
|
console.log('[INFO] @monomind/hooks workers initialized');
|
|
132
|
+
|
|
133
|
+
// Gate enforcement lives entirely in gates-handler.cjs (its own regex
|
|
134
|
+
// table, run on every PreToolUse). The @monomind/guidance package that
|
|
135
|
+
// used to compile gate configs here was removed.
|
|
136
|
+
|
|
137
|
+
// Fire SessionStart event so observability bus and other SessionStart hooks activate
|
|
138
|
+
if (hooksModule.executeHooks && hooksModule.HookEvent) {
|
|
139
|
+
try {
|
|
140
|
+
await runWithTimeout(function() {
|
|
141
|
+
return hooksModule.executeHooks(hooksModule.HookEvent.SessionStart, {
|
|
142
|
+
session: {
|
|
143
|
+
id: String(hookInput.sessionId || hookInput.session_id || ''),
|
|
144
|
+
startedAt: new Date(),
|
|
145
|
+
},
|
|
146
|
+
}, { continueOnError: true, timeout: 1500 });
|
|
147
|
+
}, '@monomind/hooks.SessionStart');
|
|
148
|
+
} catch (e2) { /* non-fatal */ }
|
|
149
|
+
}
|
|
129
150
|
}
|
|
130
151
|
} catch (e) { /* @monomind/hooks not compiled yet — skip */ }
|
|
131
152
|
|
|
153
|
+
// Refresh worker metrics once per session start — the statusline
|
|
154
|
+
// (.claude/helpers/statusline.cjs) reads .monomind/metrics/ddd-progress.json,
|
|
155
|
+
// route-handler.cjs and doctor read codebase-map/security-audit/performance/
|
|
156
|
+
// consolidation.json; the @monomind/hooks workers are never otherwise
|
|
157
|
+
// scheduled on the live hook path (the worker daemon that used to produce
|
|
158
|
+
// these files was deleted).
|
|
159
|
+
//
|
|
160
|
+
// Staleness gating keeps session start fast: the metrics-producing workers
|
|
161
|
+
// only run when their output file is missing or older than 6 hours (ddd is
|
|
162
|
+
// refreshed every session, as before). Each run is capped by runWithTimeout
|
|
163
|
+
// (1.5s) — on timeout the awaiting stops but the worker keeps running and
|
|
164
|
+
// flushes atomically via tmp+rename, so a slow worker never blocks session
|
|
165
|
+
// start and never leaves a partial file.
|
|
166
|
+
try {
|
|
167
|
+
var _metricsDir = path.join(CWD, '.monomind', 'metrics');
|
|
168
|
+
fs.mkdirSync(_metricsDir, { recursive: true });
|
|
169
|
+
var STALE_MS = 6 * 60 * 60 * 1000; // 6 hours
|
|
170
|
+
var _isStale = function(outFile) {
|
|
171
|
+
try {
|
|
172
|
+
var st = fs.statSync(path.join(_metricsDir, outFile));
|
|
173
|
+
return (Date.now() - st.mtimeMs) > STALE_MS;
|
|
174
|
+
} catch (e) { return true; } // missing → run
|
|
175
|
+
};
|
|
176
|
+
var _hooksWorkers = [
|
|
177
|
+
{ factory: 'createDDDWorker', file: 'worker-ddd.js', out: 'ddd-progress.json', always: true },
|
|
178
|
+
{ factory: 'createMapWorker', file: 'worker-map.js', out: 'codebase-map.json' },
|
|
179
|
+
{ factory: 'createAuditWorker', file: 'worker-audit.js', out: 'security-audit.json' },
|
|
180
|
+
{ factory: 'createOptimizeWorker', file: 'worker-optimize.js', out: 'performance.json' },
|
|
181
|
+
{ factory: 'createConsolidateWorker', file: 'worker-consolidate.js', out: 'consolidation.json' },
|
|
182
|
+
];
|
|
183
|
+
var _hooksDistDir = path.join(CWD, 'packages', '@monomind', 'hooks', 'dist', 'workers');
|
|
184
|
+
for (var wi = 0; wi < _hooksWorkers.length; wi++) {
|
|
185
|
+
var _w = _hooksWorkers[wi];
|
|
186
|
+
if (!_w.always && !_isStale(_w.out)) continue;
|
|
187
|
+
try {
|
|
188
|
+
var _create = (hooksModule && typeof hooksModule[_w.factory] === 'function')
|
|
189
|
+
? hooksModule[_w.factory] : null;
|
|
190
|
+
if (!_create) {
|
|
191
|
+
// Dev-repo fallback: bare '@monomind/hooks' does not resolve from .claude/helpers
|
|
192
|
+
// in the monorepo (pnpm workspace link lives under packages/@monomind/cli), so
|
|
193
|
+
// import the compiled worker directly by path.
|
|
194
|
+
var _wDist = path.join(_hooksDistDir, _w.file);
|
|
195
|
+
if (fs.existsSync(_wDist)) {
|
|
196
|
+
var _wMod = await import('file://' + _wDist);
|
|
197
|
+
if (_wMod && typeof _wMod[_w.factory] === 'function') _create = _wMod[_w.factory];
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
if (_create) {
|
|
201
|
+
var _wRun = _create(CWD);
|
|
202
|
+
// runWithTimeout caps each at 1.5s so a slow worker can never block session start.
|
|
203
|
+
await runWithTimeout(function() { return _wRun(); }, '@monomind/hooks.' + _w.factory);
|
|
204
|
+
}
|
|
205
|
+
} catch (e) { /* non-fatal — worker unavailable */ }
|
|
206
|
+
}
|
|
207
|
+
} catch (e) { /* non-fatal — hooks workers unavailable */ }
|
|
208
|
+
|
|
132
209
|
// Context Persistence Auto-Restore
|
|
133
210
|
try {
|
|
134
211
|
var cpHook = await import('file://' + path.join(helpersDir, 'context-persistence-hook.mjs'));
|
|
@@ -275,46 +352,6 @@ module.exports = {
|
|
|
275
352
|
} catch (e) {}
|
|
276
353
|
} catch (e) { /* non-fatal */ }
|
|
277
354
|
|
|
278
|
-
// Daemon Auto-Start Check.
|
|
279
|
-
try {
|
|
280
|
-
var daemonPid = path.join(CWD, '.monomind', 'daemon.pid');
|
|
281
|
-
var daemonRunning = false;
|
|
282
|
-
if (fs.existsSync(daemonPid)) {
|
|
283
|
-
try {
|
|
284
|
-
var MAX_PID = 32; // 32 bytes — enough for any pid
|
|
285
|
-
if (fs.statSync(daemonPid).size <= MAX_PID) {
|
|
286
|
-
var pid = parseInt(fs.readFileSync(daemonPid, 'utf-8').trim(), 10);
|
|
287
|
-
if (Number.isInteger(pid) && pid > 0 && pid < 4194304) {
|
|
288
|
-
process.kill(pid, 0);
|
|
289
|
-
daemonRunning = true;
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
} catch (e) { /* pid stale */ }
|
|
293
|
-
}
|
|
294
|
-
if (!daemonRunning) {
|
|
295
|
-
var daemonCfg = {};
|
|
296
|
-
try {
|
|
297
|
-
var cfgPath = path.join(CWD, 'monomind.config.json');
|
|
298
|
-
var MAX_CFG = 256 * 1024; // 256 KiB
|
|
299
|
-
if (fs.existsSync(cfgPath) && fs.statSync(cfgPath).size <= MAX_CFG) daemonCfg = JSON.parse(fs.readFileSync(cfgPath, 'utf-8')).daemon || {};
|
|
300
|
-
} catch (e) {}
|
|
301
|
-
if (daemonCfg.autoStart) {
|
|
302
|
-
var spawn = require('child_process').spawn;
|
|
303
|
-
var daemonChild = spawn('npx', ['monomind', 'daemon', 'start'], {
|
|
304
|
-
cwd: CWD, detached: true, stdio: 'ignore'
|
|
305
|
-
});
|
|
306
|
-
daemonChild.on('error', function() {});
|
|
307
|
-
daemonChild.unref();
|
|
308
|
-
console.log('[DAEMON_AUTOSTART] Background daemon started (pid ' + daemonChild.pid + ')');
|
|
309
|
-
}
|
|
310
|
-
// Daemon not running + no autoStart: emit only if this project has a config
|
|
311
|
-
// (i.e. daemon was intentionally set up). Avoids noisy output in daemon-less projects.
|
|
312
|
-
else if (fs.existsSync(path.join(CWD, 'monomind.config.json'))) {
|
|
313
|
-
console.log('[DAEMON_STOPPED] Run `npx monomind daemon start` to enable background workers');
|
|
314
|
-
}
|
|
315
|
-
}
|
|
316
|
-
} catch (e) { /* non-fatal */ }
|
|
317
|
-
|
|
318
355
|
// Token Usage — inject daily/monthly cost summary.
|
|
319
356
|
try {
|
|
320
357
|
var tokenTracker = require(path.join(helpersDir, 'token-tracker.cjs'));
|
|
@@ -24,8 +24,10 @@ module.exports = {
|
|
|
24
24
|
// - PromptVersioning experiments (unused feature)
|
|
25
25
|
// - Monograph blast radius (already shown by post-edit hook on actual changes)
|
|
26
26
|
|
|
27
|
-
// Bridge to @monomind/hooks registry — fires Tasks 26 (PromptAssembler) and any other PreTask hooks
|
|
28
|
-
|
|
27
|
+
// Bridge to @monomind/hooks registry — fires Tasks 26 (PromptAssembler) and any other PreTask hooks.
|
|
28
|
+
// Each hook event runs in a fresh process, so hCtx._hooksModule set by session-restore in an
|
|
29
|
+
// earlier invocation is never visible here — must (re)load lazily via _ensureHooksModule().
|
|
30
|
+
var _hooksModule = hCtx._hooksModule || (hCtx._ensureHooksModule ? await hCtx._ensureHooksModule() : null);
|
|
29
31
|
if (_hooksModule && _hooksModule.executeHooks && _hooksModule.HookEvent) {
|
|
30
32
|
try {
|
|
31
33
|
await _hooksModule.executeHooks(_hooksModule.HookEvent.PreTask, {
|
|
@@ -81,8 +83,10 @@ module.exports = {
|
|
|
81
83
|
}
|
|
82
84
|
} catch (e) { /* non-fatal */ }
|
|
83
85
|
|
|
84
|
-
// Bridge to @monomind/hooks registry — fires Tasks 39 (SpecializationScorer) and any other PostTask hooks
|
|
85
|
-
|
|
86
|
+
// Bridge to @monomind/hooks registry — fires Tasks 39 (SpecializationScorer) and any other PostTask hooks.
|
|
87
|
+
// Each hook event runs in a fresh process, so hCtx._hooksModule set by session-restore in an
|
|
88
|
+
// earlier invocation is never visible here — must (re)load lazily via _ensureHooksModule().
|
|
89
|
+
var _hooksModule = hCtx._hooksModule || (hCtx._ensureHooksModule ? await hCtx._ensureHooksModule() : null);
|
|
86
90
|
if (_hooksModule && _hooksModule.executeHooks && _hooksModule.HookEvent) {
|
|
87
91
|
try {
|
|
88
92
|
await _hooksModule.executeHooks(_hooksModule.HookEvent.PostTask, {
|
|
@@ -15,11 +15,24 @@
|
|
|
15
15
|
* 2. @monomind/hooks TypeScript package (packages/@monomind/hooks/)
|
|
16
16
|
* A full TypeScript package with workers, learning services, and
|
|
17
17
|
* a WorkerManager. It compiles to dist/ but is only loaded
|
|
18
|
-
* optionally
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
18
|
+
* optionally, bridged at six lifecycle events: SessionStart (restore),
|
|
19
|
+
* PreTask, PostTask, PostEdit, SessionEnd, and AgentSpawn (agent-start).
|
|
20
|
+
* The CJS handlers in system (1) are the authoritative dispatch path;
|
|
21
|
+
* system (2) provides optional enrichment when the package is
|
|
22
|
+
* installed and built.
|
|
23
|
+
*
|
|
24
|
+
* IMPORTANT: each hook event is dispatched as its OWN fresh `node`
|
|
25
|
+
* process (Claude Code spawns one invocation per event — this file
|
|
26
|
+
* does not stay resident across events). So the @monomind/hooks
|
|
27
|
+
* module, and anything it registers (trace collector spans, episode
|
|
28
|
+
* binner, etc.), cannot be set up once and reused across events —
|
|
29
|
+
* every bridging handler must call hCtx._ensureHooksModule() itself,
|
|
30
|
+
* which lazily imports the package AND calls initDefaultWorkers() in
|
|
31
|
+
* that process before firing executeHooks(). Cross-event state (e.g.
|
|
32
|
+
* correlating a PreTask span to its matching PostTask) is NOT
|
|
33
|
+
* possible via in-memory maps for this reason; only handlers/hooks
|
|
34
|
+
* that persist state to disk (like the daemon workers under
|
|
35
|
+
* .monomind/metrics/) can meaningfully bridge across separate events.
|
|
23
36
|
*/
|
|
24
37
|
|
|
25
38
|
const path = require('path');
|
|
@@ -88,9 +101,43 @@ const session = safeRequire(path.join(helpersDir, 'session.cjs'));
|
|
|
88
101
|
const memory = safeRequire(path.join(helpersDir, 'memory.cjs'));
|
|
89
102
|
const intelligence = safeRequire(path.join(helpersDir, 'intelligence.cjs'));
|
|
90
103
|
|
|
91
|
-
// Module-level reference to @monomind/hooks — populated
|
|
92
|
-
//
|
|
104
|
+
// Module-level reference to @monomind/hooks — populated lazily via
|
|
105
|
+
// _ensureHooksModule(). NOTE: hook-handler.cjs runs as a fresh `node` process
|
|
106
|
+
// per hook event (Claude Code spawns one invocation per event, it does not
|
|
107
|
+
// keep the process alive across events), so a value set during one event
|
|
108
|
+
// (e.g. session-restore) is NOT visible to a later event's process (e.g.
|
|
109
|
+
// pre-task). Each handler that needs the bridge MUST call
|
|
110
|
+
// hCtx._ensureHooksModule() itself rather than reading hCtx._hooksModule
|
|
111
|
+
// directly, or the bridge silently no-ops.
|
|
93
112
|
let _hooksModule = null;
|
|
113
|
+
let _hooksModuleLoadAttempted = false;
|
|
114
|
+
async function _ensureHooksModule() {
|
|
115
|
+
if (_hooksModule) return _hooksModule;
|
|
116
|
+
if (_hooksModuleLoadAttempted) return null; // already tried+failed this process
|
|
117
|
+
_hooksModuleLoadAttempted = true;
|
|
118
|
+
// 1) Bare specifier — works when @monomind/hooks is installed/linked in a
|
|
119
|
+
// node_modules reachable from this file (e.g. an end-user install).
|
|
120
|
+
try {
|
|
121
|
+
_hooksModule = await import('@monomind/hooks');
|
|
122
|
+
} catch (e) {
|
|
123
|
+
_hooksModule = null;
|
|
124
|
+
}
|
|
125
|
+
// 2) Dev-repo fallback — in the monorepo the pnpm workspace link lives under
|
|
126
|
+
// packages/@monomind/cli/node_modules, NOT at the repo root, so the bare
|
|
127
|
+
// specifier never resolves from .claude/helpers. Import the compiled dist
|
|
128
|
+
// entry directly by path (same pattern as session-restore-handler.cjs).
|
|
129
|
+
if (!_hooksModule) {
|
|
130
|
+
try {
|
|
131
|
+
const _distIndex = path.join(CWD, 'packages', '@monomind', 'hooks', 'dist', 'index.js');
|
|
132
|
+
if (fs.existsSync(_distIndex)) {
|
|
133
|
+
_hooksModule = await import('file://' + _distIndex);
|
|
134
|
+
}
|
|
135
|
+
} catch (e) {
|
|
136
|
+
_hooksModule = null; // not built — bridge stays a fail-soft no-op
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return _hooksModule;
|
|
140
|
+
}
|
|
94
141
|
|
|
95
142
|
// ── Intelligence timeout protection (fixes #1530, #1531) ───────────────────
|
|
96
143
|
var INTELLIGENCE_TIMEOUT_MS = 1500;
|
|
@@ -212,9 +259,11 @@ var hCtx = {
|
|
|
212
259
|
intelligence: intelligence,
|
|
213
260
|
getLearningService: getLearningService,
|
|
214
261
|
isSimpleCommand: isSimpleCommand,
|
|
215
|
-
// Module-level singleton (populated by session-restore handler
|
|
262
|
+
// Module-level singleton (populated by session-restore handler, or lazily
|
|
263
|
+
// via _ensureHooksModule() — required since each hook event is a fresh process).
|
|
216
264
|
get _hooksModule() { return _hooksModule; },
|
|
217
265
|
set _hooksModule(v) { _hooksModule = v; },
|
|
266
|
+
_ensureHooksModule: _ensureHooksModule,
|
|
218
267
|
// Utility functions
|
|
219
268
|
_recordRecentEdit: _recordRecentEdit,
|
|
220
269
|
_getRecentEdits: _getRecentEdits,
|
|
@@ -292,9 +341,9 @@ const handlers = {
|
|
|
292
341
|
await h.handle(hCtx, 'auto');
|
|
293
342
|
},
|
|
294
343
|
|
|
295
|
-
'agent-start': () => {
|
|
344
|
+
'agent-start': async () => {
|
|
296
345
|
const h = require('./handlers/agent-start-handler.cjs');
|
|
297
|
-
h.handle(hCtx);
|
|
346
|
+
await h.handle(hCtx);
|
|
298
347
|
},
|
|
299
348
|
|
|
300
349
|
'adr-draft': () => {
|
|
@@ -757,9 +806,13 @@ if (command && handlers[command]) {
|
|
|
757
806
|
}
|
|
758
807
|
}
|
|
759
808
|
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
})
|
|
809
|
+
// Only run when executed directly (every real hook event spawns this file as a
|
|
810
|
+
// process). A require() — e.g. from tests verifying it loads — must not exit.
|
|
811
|
+
if (require.main === module) {
|
|
812
|
+
main().catch(function(e) {
|
|
813
|
+
console.log('[WARN] Hook handler error: ' + e.message);
|
|
814
|
+
}).finally(function() {
|
|
815
|
+
// Use process.exitCode if a gate set it (exit 2 = block), otherwise clean exit
|
|
816
|
+
process.exit(process.exitCode || 0);
|
|
817
|
+
});
|
|
818
|
+
}
|