mindforge-cc 9.0.0 → 10.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (717) hide show
  1. package/.mindforge/config.json +1 -1
  2. package/.mindforge/personas/a11y-architect.md +190 -0
  3. package/.mindforge/personas/accessibility-tester.md +108 -0
  4. package/.mindforge/personas/api-designer.md +190 -0
  5. package/.mindforge/personas/api-gateway-architect.md +168 -0
  6. package/.mindforge/personas/api-load-tester.md +144 -0
  7. package/.mindforge/personas/authentication-architect.md +163 -0
  8. package/.mindforge/personas/backup-recovery-specialist.md +181 -0
  9. package/.mindforge/personas/browser-extension-architect.md +96 -0
  10. package/.mindforge/personas/build-optimizer.md +160 -0
  11. package/.mindforge/personas/caching-strategist.md +180 -0
  12. package/.mindforge/personas/chaos-engineer.md +207 -0
  13. package/.mindforge/personas/cli-designer.md +151 -0
  14. package/.mindforge/personas/cloud-architect.md +229 -0
  15. package/.mindforge/personas/code-archeologist.md +176 -0
  16. package/.mindforge/personas/code-explorer.md +144 -0
  17. package/.mindforge/personas/compliance-auditor.md +190 -0
  18. package/.mindforge/personas/concurrency-expert.md +310 -0
  19. package/.mindforge/personas/config-management-expert.md +277 -0
  20. package/.mindforge/personas/contract-tester.md +224 -0
  21. package/.mindforge/personas/cost-analyst.md +209 -0
  22. package/.mindforge/personas/data-engineer.md +235 -0
  23. package/.mindforge/personas/data-privacy-engineer.md +187 -0
  24. package/.mindforge/personas/database-expert.md +223 -0
  25. package/.mindforge/personas/dependency-auditor.md +181 -0
  26. package/.mindforge/personas/design-system-engineer.md +115 -0
  27. package/.mindforge/personas/devops-engineer.md +561 -0
  28. package/.mindforge/personas/domain-modeler.md +127 -0
  29. package/.mindforge/personas/email-systems-engineer.md +119 -0
  30. package/.mindforge/personas/error-handling-architect.md +246 -0
  31. package/.mindforge/personas/event-driven-architect.md +134 -0
  32. package/.mindforge/personas/frontend-architect.md +107 -0
  33. package/.mindforge/personas/git-forensics.md +146 -0
  34. package/.mindforge/personas/git-workflow-expert.md +161 -0
  35. package/.mindforge/personas/go-specialist.md +249 -0
  36. package/.mindforge/personas/graphql-specialist.md +195 -0
  37. package/.mindforge/personas/incident-commander.md +214 -0
  38. package/.mindforge/personas/internationalization-expert.md +164 -0
  39. package/.mindforge/personas/java-specialist.md +271 -0
  40. package/.mindforge/personas/kubernetes-debugger.md +175 -0
  41. package/.mindforge/personas/logging-architect.md +200 -0
  42. package/.mindforge/personas/migration-specialist.md +237 -0
  43. package/.mindforge/personas/ml-engineer.md +312 -0
  44. package/.mindforge/personas/mobile-engineer.md +183 -0
  45. package/.mindforge/personas/monorepo-architect.md +323 -0
  46. package/.mindforge/personas/observability-engineer.md +217 -0
  47. package/.mindforge/personas/onboarding-guide.md +265 -0
  48. package/.mindforge/personas/performance-optimizer.md +293 -0
  49. package/.mindforge/personas/product-manager.md +105 -0
  50. package/.mindforge/personas/prompt-engineer.md +200 -0
  51. package/.mindforge/personas/python-specialist.md +277 -0
  52. package/.mindforge/personas/queue-architect.md +136 -0
  53. package/.mindforge/personas/react-specialist.md +97 -0
  54. package/.mindforge/personas/real-time-engineer.md +121 -0
  55. package/.mindforge/personas/refactoring-expert.md +117 -0
  56. package/.mindforge/personas/regex-craftsman.md +130 -0
  57. package/.mindforge/personas/rust-specialist.md +262 -0
  58. package/.mindforge/personas/sdk-designer.md +185 -0
  59. package/.mindforge/personas/search-engineer.md +290 -0
  60. package/.mindforge/personas/senior-reviewer.md +372 -0
  61. package/.mindforge/personas/seo-specialist.md +99 -0
  62. package/.mindforge/personas/spec-reviewer.md +172 -0
  63. package/.mindforge/personas/state-machine-designer.md +172 -0
  64. package/.mindforge/personas/swarm-templates.json +72 -18
  65. package/.mindforge/personas/tailwind-specialist.md +95 -0
  66. package/.mindforge/personas/tech-debt-analyst.md +200 -0
  67. package/.mindforge/personas/tech-stack-selector.md +118 -0
  68. package/.mindforge/personas/technical-interviewer.md +158 -0
  69. package/.mindforge/personas/test-data-engineer.md +169 -0
  70. package/.mindforge/personas/typescript-wizard.md +247 -0
  71. package/.mindforge/personas/ux-auditor.md +251 -0
  72. package/.mindforge/personas/webhook-designer.md +161 -0
  73. package/CHANGELOG.md +82 -0
  74. package/LICENSE +1 -1
  75. package/MINDFORGE.md +18 -5
  76. package/README.md +7 -1
  77. package/RELEASENOTES.md +121 -193
  78. package/SECURITY.md +108 -2
  79. package/bin/autonomous/audit-writer.js +90 -0
  80. package/bin/autonomous/auto-runner.js +209 -431
  81. package/bin/autonomous/state-manager.js +116 -0
  82. package/bin/autonomous/task-dispatcher.js +114 -0
  83. package/bin/autonomous/wave-executor.js +169 -0
  84. package/bin/browser/browser-daemon.js +31 -1
  85. package/bin/change-classifier.js +3 -3
  86. package/bin/dashboard/api-router.js +21 -22
  87. package/bin/dashboard/metrics-aggregator.js +44 -3
  88. package/bin/dashboard/server.js +54 -10
  89. package/bin/dashboard/sse-bridge.js +51 -5
  90. package/bin/engine/learning-manager.js +1 -1
  91. package/bin/engine/mesh-syncer.js +26 -22
  92. package/bin/engine/nexus-tracer.js +6 -5
  93. package/bin/engine/orbital-guardian.js +13 -10
  94. package/bin/engine/skill-evolver.js +12 -14
  95. package/bin/engine/temporal-hub.js +25 -1
  96. package/bin/governance/policy-engine.js +5 -5
  97. package/bin/governance/policy-gate-hardened.js +2 -2
  98. package/bin/governance/quantum-crypto.js +10 -2
  99. package/bin/memory/identity-synthesizer.js +9 -11
  100. package/bin/memory/knowledge-store.js +62 -6
  101. package/bin/memory/semantic-hub.js +26 -30
  102. package/bin/memory/vector-hub.js +377 -193
  103. package/bin/migrations/v8-sqlite-migration.js +22 -21
  104. package/bin/migrations/v9-unified-memory.js +1 -1
  105. package/bin/mindforge-cli.js +47 -11
  106. package/bin/models/model-broker.js +2 -0
  107. package/bin/revops/remediation-queue.js +16 -55
  108. package/bin/utils/errors.js +40 -0
  109. package/bin/utils/file-io.js +102 -0
  110. package/bin/utils/index.js +6 -0
  111. package/bin/utils/paths.js +33 -0
  112. package/docs/commands-reference.md +38 -2
  113. package/docs/getting-started.md +16 -6
  114. package/docs/sdk-reference.md +374 -24
  115. package/docs/troubleshooting.md +4 -4
  116. package/docs/user-guide.md +31 -11
  117. package/examples/sdk-integration/README.md +24 -0
  118. package/examples/sdk-integration/index.js +24 -0
  119. package/examples/starter-project/MINDFORGE.md +8 -8
  120. package/package.json +30 -15
  121. package/.agent/bin/lib/commands.cjs +0 -959
  122. package/.agent/bin/lib/config.cjs +0 -421
  123. package/.agent/bin/lib/core.cjs +0 -1166
  124. package/.agent/bin/lib/frontmatter.cjs +0 -307
  125. package/.agent/bin/lib/init.cjs +0 -1336
  126. package/.agent/bin/lib/milestone.cjs +0 -252
  127. package/.agent/bin/lib/model-profiles.cjs +0 -68
  128. package/.agent/bin/lib/phase.cjs +0 -888
  129. package/.agent/bin/lib/profile-output.cjs +0 -952
  130. package/.agent/bin/lib/profile-pipeline.cjs +0 -539
  131. package/.agent/bin/lib/roadmap.cjs +0 -329
  132. package/.agent/bin/lib/security.cjs +0 -356
  133. package/.agent/bin/lib/state.cjs +0 -969
  134. package/.agent/bin/lib/template.cjs +0 -222
  135. package/.agent/bin/lib/uat.cjs +0 -189
  136. package/.agent/bin/lib/verify.cjs +0 -851
  137. package/.agent/bin/lib/workstream.cjs +0 -491
  138. package/.agent/bin/mindforge-tools.cjs +0 -897
  139. package/.agent/file-manifest.json +0 -219
  140. package/.agent/forge/help.md +0 -11
  141. package/.agent/forge/init-project.md +0 -36
  142. package/.agent/forge/plan-phase.md +0 -34
  143. package/.agent/mindforge/add-backlog.md +0 -32
  144. package/.agent/mindforge/agent.md +0 -31
  145. package/.agent/mindforge/approve.md +0 -22
  146. package/.agent/mindforge/audit.md +0 -34
  147. package/.agent/mindforge/auto.md +0 -26
  148. package/.agent/mindforge/benchmark.md +0 -37
  149. package/.agent/mindforge/browse.md +0 -30
  150. package/.agent/mindforge/complete-milestone.md +0 -22
  151. package/.agent/mindforge/costs.md +0 -15
  152. package/.agent/mindforge/cross-review.md +0 -21
  153. package/.agent/mindforge/dashboard.md +0 -102
  154. package/.agent/mindforge/debug.md +0 -133
  155. package/.agent/mindforge/discuss-phase.md +0 -142
  156. package/.agent/mindforge/do.md +0 -31
  157. package/.agent/mindforge/execute-phase.md +0 -200
  158. package/.agent/mindforge/health.md +0 -31
  159. package/.agent/mindforge/help.md +0 -33
  160. package/.agent/mindforge/init-org.md +0 -135
  161. package/.agent/mindforge/init-project.md +0 -170
  162. package/.agent/mindforge/install-skill.md +0 -28
  163. package/.agent/mindforge/learn.md +0 -147
  164. package/.agent/mindforge/learning.md +0 -20
  165. package/.agent/mindforge/map-codebase.md +0 -302
  166. package/.agent/mindforge/marketplace.md +0 -124
  167. package/.agent/mindforge/metrics.md +0 -26
  168. package/.agent/mindforge/migrate.md +0 -44
  169. package/.agent/mindforge/milestone.md +0 -16
  170. package/.agent/mindforge/new-runtime.md +0 -23
  171. package/.agent/mindforge/next.md +0 -109
  172. package/.agent/mindforge/note.md +0 -35
  173. package/.agent/mindforge/plan-phase.md +0 -131
  174. package/.agent/mindforge/plant-seed.md +0 -31
  175. package/.agent/mindforge/plugins.md +0 -44
  176. package/.agent/mindforge/pr-review.md +0 -45
  177. package/.agent/mindforge/profile-team.md +0 -27
  178. package/.agent/mindforge/publish-skill.md +0 -23
  179. package/.agent/mindforge/qa.md +0 -20
  180. package/.agent/mindforge/quick.md +0 -139
  181. package/.agent/mindforge/record-learning.md +0 -22
  182. package/.agent/mindforge/release.md +0 -14
  183. package/.agent/mindforge/remember.md +0 -30
  184. package/.agent/mindforge/research.md +0 -16
  185. package/.agent/mindforge/retrospective.md +0 -31
  186. package/.agent/mindforge/review-backlog.md +0 -34
  187. package/.agent/mindforge/review.md +0 -161
  188. package/.agent/mindforge/security-scan.md +0 -242
  189. package/.agent/mindforge/session-report.md +0 -39
  190. package/.agent/mindforge/ship.md +0 -111
  191. package/.agent/mindforge/skills.md +0 -145
  192. package/.agent/mindforge/status.md +0 -113
  193. package/.agent/mindforge/steer.md +0 -17
  194. package/.agent/mindforge/sync-confluence.md +0 -15
  195. package/.agent/mindforge/sync-jira.md +0 -16
  196. package/.agent/mindforge/tokens.md +0 -12
  197. package/.agent/mindforge/ui-phase.md +0 -34
  198. package/.agent/mindforge/ui-review.md +0 -36
  199. package/.agent/mindforge/update.md +0 -46
  200. package/.agent/mindforge/validate-phase.md +0 -31
  201. package/.agent/mindforge/verify-phase.md +0 -66
  202. package/.agent/mindforge/workspace.md +0 -33
  203. package/.agent/mindforge/workstreams.md +0 -35
  204. package/.agent/settings.json +0 -42
  205. package/.agent/skills/mindforge-add-backlog/SKILL.md +0 -72
  206. package/.agent/skills/mindforge-add-phase/SKILL.md +0 -39
  207. package/.agent/skills/mindforge-add-tests/SKILL.md +0 -28
  208. package/.agent/skills/mindforge-add-todo/SKILL.md +0 -42
  209. package/.agent/skills/mindforge-audit-milestone/SKILL.md +0 -29
  210. package/.agent/skills/mindforge-audit-uat/SKILL.md +0 -20
  211. package/.agent/skills/mindforge-autonomous/SKILL.md +0 -33
  212. package/.agent/skills/mindforge-brainstorming/SKILL.md +0 -164
  213. package/.agent/skills/mindforge-brainstorming/scripts/frame-template.html +0 -214
  214. package/.agent/skills/mindforge-brainstorming/scripts/helper.js +0 -88
  215. package/.agent/skills/mindforge-brainstorming/scripts/server.cjs +0 -354
  216. package/.agent/skills/mindforge-brainstorming/scripts/start-server.sh +0 -148
  217. package/.agent/skills/mindforge-brainstorming/scripts/stop-server.sh +0 -56
  218. package/.agent/skills/mindforge-brainstorming/spec-document-reviewer-prompt.md +0 -49
  219. package/.agent/skills/mindforge-brainstorming/visual-companion.md +0 -287
  220. package/.agent/skills/mindforge-check-todos/SKILL.md +0 -40
  221. package/.agent/skills/mindforge-cleanup/SKILL.md +0 -19
  222. package/.agent/skills/mindforge-complete-milestone/SKILL.md +0 -131
  223. package/.agent/skills/mindforge-debug/SKILL.md +0 -163
  224. package/.agent/skills/mindforge-debug_extended/CREATION-LOG.md +0 -119
  225. package/.agent/skills/mindforge-debug_extended/SKILL.md +0 -296
  226. package/.agent/skills/mindforge-debug_extended/condition-based-waiting-example.ts +0 -158
  227. package/.agent/skills/mindforge-debug_extended/condition-based-waiting.md +0 -115
  228. package/.agent/skills/mindforge-debug_extended/defense-in-depth.md +0 -122
  229. package/.agent/skills/mindforge-debug_extended/find-polluter.sh +0 -63
  230. package/.agent/skills/mindforge-debug_extended/root-cause-tracing.md +0 -169
  231. package/.agent/skills/mindforge-debug_extended/test-academic.md +0 -14
  232. package/.agent/skills/mindforge-debug_extended/test-pressure-1.md +0 -58
  233. package/.agent/skills/mindforge-debug_extended/test-pressure-2.md +0 -68
  234. package/.agent/skills/mindforge-debug_extended/test-pressure-3.md +0 -69
  235. package/.agent/skills/mindforge-discuss-phase/SKILL.md +0 -54
  236. package/.agent/skills/mindforge-do/SKILL.md +0 -26
  237. package/.agent/skills/mindforge-execute-phase/SKILL.md +0 -49
  238. package/.agent/skills/mindforge-execute-phase_extended/SKILL.md +0 -70
  239. package/.agent/skills/mindforge-fast/SKILL.md +0 -23
  240. package/.agent/skills/mindforge-forensics/SKILL.md +0 -49
  241. package/.agent/skills/mindforge-health/SKILL.md +0 -17
  242. package/.agent/skills/mindforge-help/SKILL.md +0 -23
  243. package/.agent/skills/mindforge-insert-phase/SKILL.md +0 -28
  244. package/.agent/skills/mindforge-join-discord/SKILL.md +0 -19
  245. package/.agent/skills/mindforge-list-phase-assumptions/SKILL.md +0 -41
  246. package/.agent/skills/mindforge-list-workspaces/SKILL.md +0 -17
  247. package/.agent/skills/mindforge-manager/SKILL.md +0 -32
  248. package/.agent/skills/mindforge-map-codebase/SKILL.md +0 -64
  249. package/.agent/skills/mindforge-milestone-summary/SKILL.md +0 -44
  250. package/.agent/skills/mindforge-neural-orchestrator/SKILL.md +0 -115
  251. package/.agent/skills/mindforge-neural-orchestrator/references/codex-tools.md +0 -100
  252. package/.agent/skills/mindforge-neural-orchestrator/references/gemini-tools.md +0 -33
  253. package/.agent/skills/mindforge-new-milestone/SKILL.md +0 -38
  254. package/.agent/skills/mindforge-new-project/SKILL.md +0 -36
  255. package/.agent/skills/mindforge-new-workspace/SKILL.md +0 -39
  256. package/.agent/skills/mindforge-next/SKILL.md +0 -19
  257. package/.agent/skills/mindforge-note/SKILL.md +0 -29
  258. package/.agent/skills/mindforge-parallel-mesh_extended/SKILL.md +0 -182
  259. package/.agent/skills/mindforge-pause-work/SKILL.md +0 -35
  260. package/.agent/skills/mindforge-plan-milestone-gaps/SKILL.md +0 -28
  261. package/.agent/skills/mindforge-plan-phase/SKILL.md +0 -38
  262. package/.agent/skills/mindforge-plan-phase_extended/SKILL.md +0 -152
  263. package/.agent/skills/mindforge-plan-phase_extended/plan-document-reviewer-prompt.md +0 -49
  264. package/.agent/skills/mindforge-plant-seed/SKILL.md +0 -22
  265. package/.agent/skills/mindforge-pr-branch/SKILL.md +0 -21
  266. package/.agent/skills/mindforge-profile-user/SKILL.md +0 -38
  267. package/.agent/skills/mindforge-progress/SKILL.md +0 -19
  268. package/.agent/skills/mindforge-quick/SKILL.md +0 -38
  269. package/.agent/skills/mindforge-reapply-patches/SKILL.md +0 -124
  270. package/.agent/skills/mindforge-remove-phase/SKILL.md +0 -26
  271. package/.agent/skills/mindforge-remove-workspace/SKILL.md +0 -22
  272. package/.agent/skills/mindforge-research-phase/SKILL.md +0 -186
  273. package/.agent/skills/mindforge-resume-work/SKILL.md +0 -35
  274. package/.agent/skills/mindforge-review/SKILL.md +0 -31
  275. package/.agent/skills/mindforge-review-backlog/SKILL.md +0 -58
  276. package/.agent/skills/mindforge-review-inbound/SKILL.md +0 -213
  277. package/.agent/skills/mindforge-review-request/SKILL.md +0 -105
  278. package/.agent/skills/mindforge-review-request/code-reviewer.md +0 -146
  279. package/.agent/skills/mindforge-session-report/SKILL.md +0 -16
  280. package/.agent/skills/mindforge-set-profile/SKILL.md +0 -9
  281. package/.agent/skills/mindforge-settings/SKILL.md +0 -32
  282. package/.agent/skills/mindforge-ship/SKILL.md +0 -16
  283. package/.agent/skills/mindforge-ship_extended/SKILL.md +0 -200
  284. package/.agent/skills/mindforge-skill-creation/SKILL.md +0 -655
  285. package/.agent/skills/mindforge-skill-creation/anthropic-best-practices.md +0 -1150
  286. package/.agent/skills/mindforge-skill-creation/examples/CLAUDE_MD_TESTING.md +0 -189
  287. package/.agent/skills/mindforge-skill-creation/graphviz-conventions.dot +0 -172
  288. package/.agent/skills/mindforge-skill-creation/persuasion-principles.md +0 -187
  289. package/.agent/skills/mindforge-skill-creation/render-graphs.js +0 -168
  290. package/.agent/skills/mindforge-skill-creation/testing-skills-with-subagents.md +0 -384
  291. package/.agent/skills/mindforge-stats/SKILL.md +0 -16
  292. package/.agent/skills/mindforge-swarm-execution/SKILL.md +0 -277
  293. package/.agent/skills/mindforge-swarm-execution/code-quality-reviewer-prompt.md +0 -26
  294. package/.agent/skills/mindforge-swarm-execution/implementer-prompt.md +0 -113
  295. package/.agent/skills/mindforge-swarm-execution/spec-reviewer-prompt.md +0 -61
  296. package/.agent/skills/mindforge-system-architecture/SKILL.md +0 -136
  297. package/.agent/skills/mindforge-system-architecture/examples.md +0 -120
  298. package/.agent/skills/mindforge-system-architecture/scaling-checklist.md +0 -76
  299. package/.agent/skills/mindforge-tdd/SKILL.md +0 -112
  300. package/.agent/skills/mindforge-tdd/deep-modules.md +0 -21
  301. package/.agent/skills/mindforge-tdd/interface-design.md +0 -22
  302. package/.agent/skills/mindforge-tdd/mocking.md +0 -24
  303. package/.agent/skills/mindforge-tdd/refactoring.md +0 -21
  304. package/.agent/skills/mindforge-tdd/tests.md +0 -28
  305. package/.agent/skills/mindforge-tdd_extended/SKILL.md +0 -371
  306. package/.agent/skills/mindforge-tdd_extended/testing-anti-patterns.md +0 -299
  307. package/.agent/skills/mindforge-thread/SKILL.md +0 -123
  308. package/.agent/skills/mindforge-ui-phase/SKILL.md +0 -24
  309. package/.agent/skills/mindforge-ui-review/SKILL.md +0 -24
  310. package/.agent/skills/mindforge-update/SKILL.md +0 -35
  311. package/.agent/skills/mindforge-validate-phase/SKILL.md +0 -26
  312. package/.agent/skills/mindforge-verify-work/SKILL.md +0 -30
  313. package/.agent/skills/mindforge-verify-work_extended/SKILL.md +0 -139
  314. package/.agent/skills/mindforge-workspace-isolated/SKILL.md +0 -218
  315. package/.agent/skills/mindforge-workstreams/SKILL.md +0 -65
  316. package/.agent/workflows/forge:help.md +0 -10
  317. package/.agent/workflows/forge:init-project.md +0 -35
  318. package/.agent/workflows/forge:plan-phase.md +0 -33
  319. package/.agent/workflows/mindforge-add-phase.md +0 -112
  320. package/.agent/workflows/mindforge-add-tests.md +0 -351
  321. package/.agent/workflows/mindforge-add-todo.md +0 -158
  322. package/.agent/workflows/mindforge-audit-milestone.md +0 -332
  323. package/.agent/workflows/mindforge-audit-uat.md +0 -109
  324. package/.agent/workflows/mindforge-autonomous.md +0 -815
  325. package/.agent/workflows/mindforge-check-todos.md +0 -177
  326. package/.agent/workflows/mindforge-cleanup.md +0 -152
  327. package/.agent/workflows/mindforge-complete-milestone.md +0 -766
  328. package/.agent/workflows/mindforge-diagnose-issues.md +0 -220
  329. package/.agent/workflows/mindforge-discovery-phase.md +0 -289
  330. package/.agent/workflows/mindforge-discuss-phase-assumptions.md +0 -645
  331. package/.agent/workflows/mindforge-discuss-phase.md +0 -1047
  332. package/.agent/workflows/mindforge-do.md +0 -104
  333. package/.agent/workflows/mindforge-execute-phase.md +0 -838
  334. package/.agent/workflows/mindforge-execute-plan.md +0 -509
  335. package/.agent/workflows/mindforge-fast.md +0 -105
  336. package/.agent/workflows/mindforge-forensics.md +0 -265
  337. package/.agent/workflows/mindforge-health.md +0 -181
  338. package/.agent/workflows/mindforge-help.md +0 -606
  339. package/.agent/workflows/mindforge-insert-phase.md +0 -130
  340. package/.agent/workflows/mindforge-list-phase-assumptions.md +0 -178
  341. package/.agent/workflows/mindforge-list-workspaces.md +0 -56
  342. package/.agent/workflows/mindforge-manager.md +0 -360
  343. package/.agent/workflows/mindforge-map-codebase.md +0 -370
  344. package/.agent/workflows/mindforge-milestone-summary.md +0 -223
  345. package/.agent/workflows/mindforge-new-milestone.md +0 -469
  346. package/.agent/workflows/mindforge-new-project.md +0 -1226
  347. package/.agent/workflows/mindforge-new-workspace.md +0 -237
  348. package/.agent/workflows/mindforge-next.md +0 -97
  349. package/.agent/workflows/mindforge-node-repair.md +0 -92
  350. package/.agent/workflows/mindforge-note.md +0 -156
  351. package/.agent/workflows/mindforge-pause-work.md +0 -176
  352. package/.agent/workflows/mindforge-plan-milestone-gaps.md +0 -273
  353. package/.agent/workflows/mindforge-plan-phase.md +0 -877
  354. package/.agent/workflows/mindforge-plant-seed.md +0 -169
  355. package/.agent/workflows/mindforge-pr-branch.md +0 -129
  356. package/.agent/workflows/mindforge-profile-user.md +0 -450
  357. package/.agent/workflows/mindforge-progress.md +0 -507
  358. package/.agent/workflows/mindforge-quick.md +0 -732
  359. package/.agent/workflows/mindforge-remove-phase.md +0 -155
  360. package/.agent/workflows/mindforge-remove-workspace.md +0 -90
  361. package/.agent/workflows/mindforge-research-phase.md +0 -74
  362. package/.agent/workflows/mindforge-resume-project.md +0 -325
  363. package/.agent/workflows/mindforge-review.md +0 -228
  364. package/.agent/workflows/mindforge-session-report.md +0 -146
  365. package/.agent/workflows/mindforge-settings.md +0 -283
  366. package/.agent/workflows/mindforge-ship.md +0 -228
  367. package/.agent/workflows/mindforge-stats.md +0 -60
  368. package/.agent/workflows/mindforge-transition.md +0 -671
  369. package/.agent/workflows/mindforge-ui-phase.md +0 -290
  370. package/.agent/workflows/mindforge-ui-review.md +0 -157
  371. package/.agent/workflows/mindforge-update.md +0 -323
  372. package/.agent/workflows/mindforge-validate-phase.md +0 -167
  373. package/.agent/workflows/mindforge-verify-phase.md +0 -254
  374. package/.agent/workflows/mindforge-verify-work.md +0 -628
  375. package/.agent/workflows/mindforge:add-backlog.md +0 -24
  376. package/.agent/workflows/mindforge:agent.md +0 -25
  377. package/.agent/workflows/mindforge:approve.md +0 -21
  378. package/.agent/workflows/mindforge:architecture.md +0 -40
  379. package/.agent/workflows/mindforge:audit.md +0 -33
  380. package/.agent/workflows/mindforge:auto.md +0 -25
  381. package/.agent/workflows/mindforge:benchmark.md +0 -36
  382. package/.agent/workflows/mindforge:brainstorming.md +0 -16
  383. package/.agent/workflows/mindforge:browse.md +0 -29
  384. package/.agent/workflows/mindforge:complete-milestone.md +0 -21
  385. package/.agent/workflows/mindforge:costs.md +0 -14
  386. package/.agent/workflows/mindforge:cross-review.md +0 -20
  387. package/.agent/workflows/mindforge:dashboard.md +0 -101
  388. package/.agent/workflows/mindforge:debug.md +0 -131
  389. package/.agent/workflows/mindforge:discuss-phase.md +0 -141
  390. package/.agent/workflows/mindforge:do.md +0 -25
  391. package/.agent/workflows/mindforge:execute-phase.md +0 -205
  392. package/.agent/workflows/mindforge:executor.md +0 -18
  393. package/.agent/workflows/mindforge:health.md +0 -24
  394. package/.agent/workflows/mindforge:help.md +0 -26
  395. package/.agent/workflows/mindforge:identity.md +0 -18
  396. package/.agent/workflows/mindforge:init-org.md +0 -134
  397. package/.agent/workflows/mindforge:init-project.md +0 -185
  398. package/.agent/workflows/mindforge:install-skill.md +0 -27
  399. package/.agent/workflows/mindforge:learn.md +0 -146
  400. package/.agent/workflows/mindforge:map-codebase.md +0 -301
  401. package/.agent/workflows/mindforge:marketplace.md +0 -123
  402. package/.agent/workflows/mindforge:memory.md +0 -18
  403. package/.agent/workflows/mindforge:metrics.md +0 -25
  404. package/.agent/workflows/mindforge:migrate.md +0 -43
  405. package/.agent/workflows/mindforge:milestone.md +0 -15
  406. package/.agent/workflows/mindforge:new-runtime.md +0 -22
  407. package/.agent/workflows/mindforge:next.md +0 -108
  408. package/.agent/workflows/mindforge:note.md +0 -27
  409. package/.agent/workflows/mindforge:plan-phase.md +0 -139
  410. package/.agent/workflows/mindforge:planner.md +0 -18
  411. package/.agent/workflows/mindforge:plant-seed.md +0 -24
  412. package/.agent/workflows/mindforge:plugins.md +0 -43
  413. package/.agent/workflows/mindforge:pr-review.md +0 -44
  414. package/.agent/workflows/mindforge:profile-team.md +0 -26
  415. package/.agent/workflows/mindforge:publish-skill.md +0 -22
  416. package/.agent/workflows/mindforge:qa.md +0 -19
  417. package/.agent/workflows/mindforge:quick.md +0 -138
  418. package/.agent/workflows/mindforge:release.md +0 -13
  419. package/.agent/workflows/mindforge:remember.md +0 -29
  420. package/.agent/workflows/mindforge:research.md +0 -15
  421. package/.agent/workflows/mindforge:researcher.md +0 -18
  422. package/.agent/workflows/mindforge:retrospective.md +0 -29
  423. package/.agent/workflows/mindforge:review-backlog.md +0 -26
  424. package/.agent/workflows/mindforge:review.md +0 -160
  425. package/.agent/workflows/mindforge:reviewer.md +0 -18
  426. package/.agent/workflows/mindforge:security-scan.md +0 -236
  427. package/.agent/workflows/mindforge:session-report.md +0 -31
  428. package/.agent/workflows/mindforge:ship.md +0 -108
  429. package/.agent/workflows/mindforge:skills.md +0 -144
  430. package/.agent/workflows/mindforge:soul.md +0 -54
  431. package/.agent/workflows/mindforge:status.md +0 -107
  432. package/.agent/workflows/mindforge:steer.md +0 -16
  433. package/.agent/workflows/mindforge:sync-confluence.md +0 -14
  434. package/.agent/workflows/mindforge:sync-jira.md +0 -15
  435. package/.agent/workflows/mindforge:tdd.md +0 -46
  436. package/.agent/workflows/mindforge:tokens.md +0 -11
  437. package/.agent/workflows/mindforge:tool.md +0 -18
  438. package/.agent/workflows/mindforge:ui-phase.md +0 -27
  439. package/.agent/workflows/mindforge:ui-review.md +0 -28
  440. package/.agent/workflows/mindforge:update.md +0 -45
  441. package/.agent/workflows/mindforge:validate-phase.md +0 -25
  442. package/.agent/workflows/mindforge:verify-phase.md +0 -65
  443. package/.agent/workflows/mindforge:workspace.md +0 -32
  444. package/.agent/workflows/mindforge:workstreams.md +0 -27
  445. package/.agent/workflows/publish-release.md +0 -36
  446. package/.claude/CLAUDE.md +0 -102
  447. package/.claude/commands/forge/help.md +0 -7
  448. package/.claude/commands/forge/init-project.md +0 -32
  449. package/.claude/commands/forge/plan-phase.md +0 -30
  450. package/.claude/commands/mindforge/add-backlog.md +0 -32
  451. package/.claude/commands/mindforge/agent.md +0 -31
  452. package/.claude/commands/mindforge/approve.md +0 -22
  453. package/.claude/commands/mindforge/audit.md +0 -34
  454. package/.claude/commands/mindforge/auto.md +0 -26
  455. package/.claude/commands/mindforge/benchmark.md +0 -37
  456. package/.claude/commands/mindforge/browse.md +0 -30
  457. package/.claude/commands/mindforge/complete-milestone.md +0 -22
  458. package/.claude/commands/mindforge/costs.md +0 -15
  459. package/.claude/commands/mindforge/cross-review.md +0 -21
  460. package/.claude/commands/mindforge/dashboard.md +0 -102
  461. package/.claude/commands/mindforge/debug.md +0 -133
  462. package/.claude/commands/mindforge/discuss-phase.md +0 -142
  463. package/.claude/commands/mindforge/do.md +0 -31
  464. package/.claude/commands/mindforge/execute-phase.md +0 -200
  465. package/.claude/commands/mindforge/health.md +0 -31
  466. package/.claude/commands/mindforge/help.md +0 -33
  467. package/.claude/commands/mindforge/init-org.md +0 -135
  468. package/.claude/commands/mindforge/init-project.md +0 -170
  469. package/.claude/commands/mindforge/install-skill.md +0 -28
  470. package/.claude/commands/mindforge/learn.md +0 -147
  471. package/.claude/commands/mindforge/learning.md +0 -20
  472. package/.claude/commands/mindforge/map-codebase.md +0 -302
  473. package/.claude/commands/mindforge/marketplace.md +0 -124
  474. package/.claude/commands/mindforge/metrics.md +0 -26
  475. package/.claude/commands/mindforge/migrate.md +0 -44
  476. package/.claude/commands/mindforge/milestone.md +0 -16
  477. package/.claude/commands/mindforge/new-runtime.md +0 -23
  478. package/.claude/commands/mindforge/next.md +0 -109
  479. package/.claude/commands/mindforge/note.md +0 -35
  480. package/.claude/commands/mindforge/plan-phase.md +0 -131
  481. package/.claude/commands/mindforge/plant-seed.md +0 -31
  482. package/.claude/commands/mindforge/plugins.md +0 -44
  483. package/.claude/commands/mindforge/pr-review.md +0 -45
  484. package/.claude/commands/mindforge/profile-team.md +0 -27
  485. package/.claude/commands/mindforge/publish-skill.md +0 -23
  486. package/.claude/commands/mindforge/qa.md +0 -20
  487. package/.claude/commands/mindforge/quick.md +0 -139
  488. package/.claude/commands/mindforge/record-learning.md +0 -22
  489. package/.claude/commands/mindforge/release.md +0 -14
  490. package/.claude/commands/mindforge/remember.md +0 -30
  491. package/.claude/commands/mindforge/research.md +0 -16
  492. package/.claude/commands/mindforge/retrospective.md +0 -31
  493. package/.claude/commands/mindforge/review-backlog.md +0 -34
  494. package/.claude/commands/mindforge/review.md +0 -161
  495. package/.claude/commands/mindforge/security-scan.md +0 -242
  496. package/.claude/commands/mindforge/session-report.md +0 -39
  497. package/.claude/commands/mindforge/ship.md +0 -111
  498. package/.claude/commands/mindforge/skills.md +0 -145
  499. package/.claude/commands/mindforge/status.md +0 -113
  500. package/.claude/commands/mindforge/steer.md +0 -17
  501. package/.claude/commands/mindforge/sync-confluence.md +0 -15
  502. package/.claude/commands/mindforge/sync-jira.md +0 -16
  503. package/.claude/commands/mindforge/tokens.md +0 -12
  504. package/.claude/commands/mindforge/ui-phase.md +0 -34
  505. package/.claude/commands/mindforge/ui-review.md +0 -36
  506. package/.claude/commands/mindforge/update.md +0 -46
  507. package/.claude/commands/mindforge/validate-phase.md +0 -31
  508. package/.claude/commands/mindforge/verify-phase.md +0 -66
  509. package/.claude/commands/mindforge/workspace.md +0 -33
  510. package/.claude/commands/mindforge/workstreams.md +0 -35
  511. package/.claude/settings.local.json +0 -16
  512. package/.mindforge/audit/AUDIT-SCHEMA.md +0 -470
  513. package/.mindforge/browser/daemon-protocol.md +0 -24
  514. package/.mindforge/browser/qa-engine.md +0 -16
  515. package/.mindforge/browser/session-manager.md +0 -18
  516. package/.mindforge/browser/visual-verify-spec.md +0 -31
  517. package/.mindforge/celestial.db +0 -0
  518. package/.mindforge/ci/ci-config-schema.md +0 -21
  519. package/.mindforge/ci/ci-mode.md +0 -179
  520. package/.mindforge/ci/github-actions-adapter.md +0 -224
  521. package/.mindforge/ci/gitlab-ci-adapter.md +0 -31
  522. package/.mindforge/ci/jenkins-adapter.md +0 -44
  523. package/.mindforge/dashboard/api-reference.md +0 -122
  524. package/.mindforge/dashboard/dashboard-spec.md +0 -96
  525. package/.mindforge/distribution/marketplace.md +0 -53
  526. package/.mindforge/distribution/registry-client.md +0 -166
  527. package/.mindforge/distribution/registry-schema.md +0 -96
  528. package/.mindforge/distribution/skill-publisher.md +0 -44
  529. package/.mindforge/distribution/skill-validator.md +0 -74
  530. package/.mindforge/governance/GOVERNANCE-CONFIG.md +0 -17
  531. package/.mindforge/governance/approval-workflow.md +0 -37
  532. package/.mindforge/governance/change-classifier.md +0 -63
  533. package/.mindforge/governance/compliance-gates.md +0 -31
  534. package/.mindforge/governance/policies/sovereign-default.json +0 -16
  535. package/.mindforge/integrations/confluence.md +0 -27
  536. package/.mindforge/integrations/connection-manager.md +0 -163
  537. package/.mindforge/integrations/github.md +0 -25
  538. package/.mindforge/integrations/gitlab.md +0 -13
  539. package/.mindforge/integrations/jira.md +0 -102
  540. package/.mindforge/integrations/slack.md +0 -41
  541. package/.mindforge/intelligence/antipattern-detector.md +0 -75
  542. package/.mindforge/intelligence/difficulty-scorer.md +0 -55
  543. package/.mindforge/intelligence/health-engine.md +0 -208
  544. package/.mindforge/intelligence/skill-gap-analyser.md +0 -40
  545. package/.mindforge/intelligence/smart-compaction.md +0 -71
  546. package/.mindforge/memory/MEMORY-SCHEMA.md +0 -155
  547. package/.mindforge/memory/engine/capture-protocol.md +0 -36
  548. package/.mindforge/memory/engine/global-sync-spec.md +0 -42
  549. package/.mindforge/memory/engine/retrieval-spec.md +0 -44
  550. package/.mindforge/memory/sync-manifest.json +0 -6
  551. package/.mindforge/metrics/METRICS-SCHEMA.md +0 -42
  552. package/.mindforge/metrics/quality-tracker.md +0 -32
  553. package/.mindforge/models/model-registry.md +0 -48
  554. package/.mindforge/models/model-router.md +0 -30
  555. package/.mindforge/monorepo/cross-package-planner.md +0 -114
  556. package/.mindforge/monorepo/dependency-graph-builder.md +0 -32
  557. package/.mindforge/monorepo/workspace-detector.md +0 -129
  558. package/.mindforge/org/CONVENTIONS.md +0 -62
  559. package/.mindforge/org/ORG.md +0 -51
  560. package/.mindforge/org/SECURITY.md +0 -50
  561. package/.mindforge/org/TOOLS.md +0 -53
  562. package/.mindforge/org/integrations/INTEGRATIONS-CONFIG.md +0 -58
  563. package/.mindforge/org/skills/MANIFEST.md +0 -15
  564. package/.mindforge/plugins/PLUGINS-MANIFEST.md +0 -23
  565. package/.mindforge/plugins/plugin-loader.md +0 -93
  566. package/.mindforge/plugins/plugin-registry.md +0 -44
  567. package/.mindforge/plugins/plugin-schema.md +0 -68
  568. package/.mindforge/pr-review/ai-reviewer.md +0 -266
  569. package/.mindforge/pr-review/finding-formatter.md +0 -46
  570. package/.mindforge/pr-review/review-prompt-templates.md +0 -44
  571. package/.mindforge/production/compatibility-layer.md +0 -39
  572. package/.mindforge/production/migration-engine.md +0 -52
  573. package/.mindforge/production/production-checklist.md +0 -76
  574. package/.mindforge/production/token-optimiser.md +0 -68
  575. package/.mindforge/skills-builder/auto-capture-protocol.md +0 -88
  576. package/.mindforge/skills-builder/learn-protocol.md +0 -161
  577. package/.mindforge/skills-builder/quality-scoring.md +0 -120
  578. package/.mindforge/team/TEAM-PROFILE.md +0 -42
  579. package/.mindforge/team/multi-handoff.md +0 -23
  580. package/.mindforge/team/profiles/README.md +0 -13
  581. package/.mindforge/team/session-merger.md +0 -18
  582. package/.planning/ARCHITECTURE.md +0 -0
  583. package/.planning/HANDOFF.json +0 -8
  584. package/.planning/PROJECT.md +0 -33
  585. package/.planning/RELEASE-CHECKLIST.md +0 -68
  586. package/.planning/REQUIREMENTS.md +0 -35
  587. package/.planning/ROADMAP.md +0 -12
  588. package/.planning/STATE.md +0 -36
  589. package/.planning/approvals/.gitkeep +0 -1
  590. package/.planning/archive/.gitkeep +0 -1
  591. package/.planning/audit-archive/.gitkeep +0 -1
  592. package/.planning/decisions/.gitkeep +0 -0
  593. package/.planning/jira-sync.json +0 -1
  594. package/.planning/milestones/.gitkeep +0 -1
  595. package/.planning/phases/.gitkeep +0 -0
  596. package/.planning/research/.gitkeep +0 -0
  597. package/.planning/screenshots/.gitkeep +0 -0
  598. package/.planning/slack-threads.json +0 -1
  599. package/docs/CAPABILITIES-MANIFEST.md +0 -64
  600. package/docs/Context/Master-Context.md +0 -731
  601. package/docs/INTELLIGENCE-MESH.md +0 -37
  602. package/docs/MIND-FORGE-REFERENCE-V6.md +0 -96
  603. package/docs/PERSONAS.md +0 -960
  604. package/docs/References/audit-events.md +0 -59
  605. package/docs/References/checkpoints.md +0 -778
  606. package/docs/References/commands.md +0 -107
  607. package/docs/References/config-reference.md +0 -81
  608. package/docs/References/continuation-format.md +0 -249
  609. package/docs/References/decimal-phase-calculation.md +0 -64
  610. package/docs/References/git-integration.md +0 -295
  611. package/docs/References/git-planning-commit.md +0 -38
  612. package/docs/References/model-profile-resolution.md +0 -36
  613. package/docs/References/model-profiles.md +0 -139
  614. package/docs/References/phase-argument-parsing.md +0 -61
  615. package/docs/References/planning-config.md +0 -202
  616. package/docs/References/questioning.md +0 -162
  617. package/docs/References/sdk-api.md +0 -53
  618. package/docs/References/skills-api.md +0 -57
  619. package/docs/References/tdd.md +0 -263
  620. package/docs/References/ui-brand.md +0 -160
  621. package/docs/References/user-profiling.md +0 -681
  622. package/docs/References/verification-patterns.md +0 -612
  623. package/docs/References/workstream-flag.md +0 -58
  624. package/docs/Templates/Agents/CLAUDE-MD.md +0 -122
  625. package/docs/Templates/Agents/COPILOT-INSTRUCTIONS.md +0 -7
  626. package/docs/Templates/Agents/DEBUGGER-PROMPT.md +0 -91
  627. package/docs/Templates/Agents/PLANNER-PROMPT.md +0 -117
  628. package/docs/Templates/Codebase/architecture.md +0 -255
  629. package/docs/Templates/Codebase/concerns.md +0 -310
  630. package/docs/Templates/Codebase/conventions.md +0 -307
  631. package/docs/Templates/Codebase/integrations.md +0 -280
  632. package/docs/Templates/Codebase/stack.md +0 -186
  633. package/docs/Templates/Codebase/structure.md +0 -285
  634. package/docs/Templates/Codebase/testing.md +0 -480
  635. package/docs/Templates/Execution/CONTINUE-HERE.md +0 -78
  636. package/docs/Templates/Execution/DISCUSSION-LOG.md +0 -63
  637. package/docs/Templates/Execution/PHASE-PROMPT.md +0 -610
  638. package/docs/Templates/Execution/STATE.md +0 -176
  639. package/docs/Templates/Execution/SUMMARY-COMPLEX.md +0 -59
  640. package/docs/Templates/Execution/SUMMARY-MINIMAL.md +0 -41
  641. package/docs/Templates/Execution/SUMMARY-STANDARD.md +0 -48
  642. package/docs/Templates/Execution/SUMMARY.md +0 -248
  643. package/docs/Templates/Profile/DEV-PREFERENCES.md +0 -21
  644. package/docs/Templates/Profile/USER-PROFILE.md +0 -146
  645. package/docs/Templates/Profile/USER-SETUP.md +0 -311
  646. package/docs/Templates/Project/AGENTS_LEARNING.md +0 -88
  647. package/docs/Templates/Project/DISCOVERY.md +0 -146
  648. package/docs/Templates/Project/MILESTONE-ARCHIVE.md +0 -123
  649. package/docs/Templates/Project/MILESTONE.md +0 -115
  650. package/docs/Templates/Project/PROJECT.md +0 -206
  651. package/docs/Templates/Project/REQUIREMENTS.md +0 -231
  652. package/docs/Templates/Project/RETROSPECTIVE.md +0 -54
  653. package/docs/Templates/Project/ROADMAP.md +0 -202
  654. package/docs/Templates/Quality/DEBUG.md +0 -164
  655. package/docs/Templates/Quality/UAT.md +0 -280
  656. package/docs/Templates/Quality/UI-SPEC.md +0 -100
  657. package/docs/Templates/Quality/VALIDATION.md +0 -76
  658. package/docs/Templates/Quality/VERIFICATION-REPORT.md +0 -322
  659. package/docs/Templates/Research/ARCHITECTURE.md +0 -204
  660. package/docs/Templates/Research/FEATURES.md +0 -147
  661. package/docs/Templates/Research/PITFALLS.md +0 -200
  662. package/docs/Templates/Research/STACK.md +0 -120
  663. package/docs/Templates/Research/SUMMARY.md +0 -170
  664. package/docs/Templates/System/CONFIG.json +0 -43
  665. package/docs/Templates/System/CONTEXT.md +0 -352
  666. package/docs/adr/ADR-024-browser-localhost-only.md +0 -17
  667. package/docs/adr/ADR-025-visual-verify-failure-treatment.md +0 -19
  668. package/docs/adr/ADR-026-session-persistence-security.md +0 -20
  669. package/docs/adr/ADR-042-ads-protocol.md +0 -30
  670. package/docs/architecture/NEXUS-DASHBOARD.md +0 -35
  671. package/docs/architecture/PAR-ZTS-SURVEY.md +0 -43
  672. package/docs/architecture/README.md +0 -78
  673. package/docs/architecture/V3-CORE.md +0 -52
  674. package/docs/architecture/V4-SWARM-MESH.md +0 -77
  675. package/docs/architecture/V5-ENTERPRISE.md +0 -131
  676. package/docs/architecture/V6-SOVEREIGN.md +0 -43
  677. package/docs/architecture/V8-SRE.md +0 -88
  678. package/docs/architecture/V9-BEDROCK.md +0 -162
  679. package/docs/architecture/adr-039-multi-runtime-support.md +0 -20
  680. package/docs/architecture/adr-040-additive-schema-migration.md +0 -21
  681. package/docs/architecture/adr-041-stable-runtime-interface-contract.md +0 -20
  682. package/docs/architecture/decision-records-index.md +0 -29
  683. package/docs/ci-cd-integration.md +0 -30
  684. package/docs/ci-cd.md +0 -92
  685. package/docs/ci-quickstart.md +0 -78
  686. package/docs/commands-skills/DISCOVERED_SKILLS.md +0 -21
  687. package/docs/contributing/CONTRIBUTING.md +0 -38
  688. package/docs/contributing/plugin-authoring.md +0 -50
  689. package/docs/contributing/skill-authoring.md +0 -41
  690. package/docs/enterprise-setup.md +0 -25
  691. package/docs/feature-dashboard.md +0 -63
  692. package/docs/governance-guide.md +0 -134
  693. package/docs/monorepo-guide.md +0 -26
  694. package/docs/persona-customisation.md +0 -56
  695. package/docs/publishing-guide.md +0 -43
  696. package/docs/quick-verify.md +0 -33
  697. package/docs/registry/AGENTS.md +0 -37
  698. package/docs/registry/COMMANDS.md +0 -87
  699. package/docs/registry/HOOKS.md +0 -38
  700. package/docs/registry/PERSONAS.md +0 -64
  701. package/docs/registry/README.md +0 -27
  702. package/docs/registry/SKILLS.md +0 -142
  703. package/docs/registry/WORKFLOWS.md +0 -72
  704. package/docs/release-checklist-guide.md +0 -37
  705. package/docs/requirements.md +0 -29
  706. package/docs/security/SECURITY.md +0 -55
  707. package/docs/security/ZTAI-OVERVIEW.md +0 -37
  708. package/docs/security/penetration-test-results.md +0 -31
  709. package/docs/security/threat-model.md +0 -142
  710. package/docs/skills-authoring-guide.md +0 -176
  711. package/docs/skills-publishing-guide.md +0 -22
  712. package/docs/team-setup-guide.md +0 -21
  713. package/docs/testing-current-version.md +0 -130
  714. package/docs/tutorial.md +0 -162
  715. package/docs/upgrade.md +0 -58
  716. package/docs/usp-features.md +0 -102
  717. package/docs/workflow-atlas.md +0 -57
@@ -1,26 +1,28 @@
1
- const Database = require('better-sqlite3');
2
- const { Kysely, SqliteDialect, sql } = require('kysely');
1
+ /**
2
+ * MindForge v9 VectorHub WASM SQLite Persistence Layer
3
+ * Uses sql.js (Emscripten-compiled SQLite) for zero native dependency operation.
4
+ * No node-gyp, no C++ compiler required — works everywhere Node runs.
5
+ */
6
+ 'use strict';
7
+
3
8
  const crypto = require('crypto');
4
9
  const path = require('path');
5
10
  const fs = require('fs');
6
11
 
7
12
  /**
8
- * MindForge v9 VectorHub
9
- * Unified Persistence Layer — traces, remediations, skills, knowledge, and graph edges.
13
+ * VectorHub Unified Persistence Layer
14
+ * Traces, remediations, skills, knowledge, and graph edges.
15
+ *
16
+ * This version uses sql.js (WASM-based SQLite) instead of better-sqlite3.
17
+ * Initialization is async — callers must await init() before use.
10
18
  */
11
19
  class VectorHub {
12
20
  constructor(dbPath = null) {
13
21
  this.dbPath = dbPath || path.join(process.cwd(), '.mindforge', 'celestial.db');
14
- this._ensureDir();
15
-
16
- const nativeDb = new Database(this.dbPath);
17
- this.db = new Kysely({
18
- dialect: new SqliteDialect({
19
- database: nativeDb,
20
- }),
21
- });
22
-
22
+ this._db = null;
23
23
  this.initialized = false;
24
+ this._writeCount = 0;
25
+ this._batchSize = 10;
24
26
  }
25
27
 
26
28
  _ensureDir() {
@@ -31,133 +33,235 @@ class VectorHub {
31
33
  }
32
34
 
33
35
  /**
34
- * Initialize tables and FTS5 search.
36
+ * Initialize the WASM SQLite database and create tables + indexes.
35
37
  */
36
38
  async init() {
37
39
  if (this.initialized) return;
38
40
 
39
- // Traces Table
40
- await this.db.schema
41
- .createTable('traces')
42
- .ifNotExists()
43
- .addColumn('id', 'text', (col) => col.primaryKey())
44
- .addColumn('trace_id', 'text', (col) => col.notNull())
45
- .addColumn('span_id', 'text')
46
- .addColumn('event', 'text', (col) => col.notNull())
47
- .addColumn('timestamp', 'text', (col) => col.notNull())
48
- .addColumn('agent', 'text')
49
- .addColumn('content', 'text')
50
- .addColumn('metadata', 'text') // JSON blob
51
- .addColumn('drift_score', 'real')
52
- .addColumn('mesh_node_id', 'text') // v8 Pillar XVI
53
- .execute();
54
-
55
- // Remediations Table
56
- await this.db.schema
57
- .createTable('remediations')
58
- .ifNotExists()
59
- .addColumn('id', 'text', (col) => col.primaryKey())
60
- .addColumn('trace_id', 'text', (col) => col.notNull())
61
- .addColumn('strategy', 'text', (col) => col.notNull())
62
- .addColumn('status', 'text', (col) => col.notNull())
63
- .addColumn('timestamp', 'text', (col) => col.notNull())
64
- .addColumn('outcome', 'text')
65
- .execute();
66
-
67
- // Skills Table
68
- await this.db.schema
69
- .createTable('skills')
70
- .ifNotExists()
71
- .addColumn('skill_id', 'text', (col) => col.primaryKey())
72
- .addColumn('name', 'text', (col) => col.notNull())
73
- .addColumn('description', 'text')
74
- .addColumn('path', 'text')
75
- .addColumn('success_rate', 'real', (col) => col.defaultTo(0.0))
76
- .addColumn('last_verified', 'text')
77
- .execute();
78
-
79
- // Attestations Table (v8 Pillar XVIII)
80
- await this.db.schema
81
- .createTable('attestations')
82
- .ifNotExists()
83
- .addColumn('id', 'text', (col) => col.primaryKey())
84
- .addColumn('request_id', 'text', (col) => col.notNull())
85
- .addColumn('status', 'text', (col) => col.notNull()) // APPROVED / REJECTED
86
- .addColumn('attestation_payload', 'text') // Signed blob from hardware enclave
87
- .addColumn('timestamp', 'text', (col) => col.notNull())
88
- .execute();
89
-
90
- // Config Table
91
- await this.db.schema
92
- .createTable('mesh_config')
93
- .ifNotExists()
94
- .addColumn('key', 'text', (col) => col.primaryKey())
95
- .addColumn('value', 'text')
96
- .execute();
97
-
98
- // v9 Pillar XXVI: Unified Knowledge table (migrated from JSONL stores)
99
- await this.db.schema
100
- .createTable('knowledge')
101
- .ifNotExists()
102
- .addColumn('id', 'text', (col) => col.primaryKey())
103
- .addColumn('type', 'text', (col) => col.notNull())
104
- .addColumn('content', 'text', (col) => col.notNull())
105
- .addColumn('tags', 'text')
106
- .addColumn('source', 'text')
107
- .addColumn('confidence', 'real', (col) => col.defaultTo(1.0))
108
- .addColumn('created_at', 'text', (col) => col.notNull())
109
- .addColumn('updated_at', 'text')
110
- .addColumn('metadata', 'text')
111
- .execute();
112
-
113
- // v9 Pillar XXVI: Graph edges table (migrated from knowledge-graph JSONL)
114
- await this.db.schema
115
- .createTable('graph_edges')
116
- .ifNotExists()
117
- .addColumn('id', 'text', (col) => col.primaryKey())
118
- .addColumn('source_id', 'text', (col) => col.notNull())
119
- .addColumn('target_id', 'text', (col) => col.notNull())
120
- .addColumn('edge_type', 'text', (col) => col.notNull())
121
- .addColumn('weight', 'real', (col) => col.defaultTo(1.0))
122
- .addColumn('created_at', 'text', (col) => col.notNull())
123
- .execute();
124
-
125
- // v9 Pillar XXVII: Migration tracking table
126
- await this.db.schema
127
- .createTable('_migrations')
128
- .ifNotExists()
129
- .addColumn('id', 'integer', (col) => col.primaryKey())
130
- .addColumn('name', 'text', (col) => col.notNull())
131
- .addColumn('applied_at', 'text', (col) => col.notNull())
132
- .execute();
133
-
134
- // Enable Full-Text Search (FTS5) for traces and knowledge
135
- await sql`
41
+ const initSqlJs = require('sql.js');
42
+ const SQL = await initSqlJs();
43
+
44
+ this._ensureDir();
45
+
46
+ // Load existing database from disk if present
47
+ if (fs.existsSync(this.dbPath)) {
48
+ const buffer = fs.readFileSync(this.dbPath);
49
+ this._db = new SQL.Database(buffer);
50
+ } else {
51
+ this._db = new SQL.Database();
52
+ }
53
+
54
+ // Pragmas for performance and reliability
55
+ this._db.run('PRAGMA journal_mode=WAL;');
56
+ this._db.run('PRAGMA synchronous=NORMAL;');
57
+ this._db.run('PRAGMA busy_timeout=5000;');
58
+
59
+ // ── Table Creation ──────────────────────────────────────────────────────
60
+
61
+ this._db.run(`
62
+ CREATE TABLE IF NOT EXISTS traces (
63
+ id TEXT PRIMARY KEY,
64
+ trace_id TEXT NOT NULL,
65
+ span_id TEXT,
66
+ event TEXT NOT NULL,
67
+ timestamp TEXT NOT NULL,
68
+ agent TEXT,
69
+ content TEXT,
70
+ metadata TEXT,
71
+ drift_score REAL,
72
+ mesh_node_id TEXT
73
+ )
74
+ `);
75
+
76
+ this._db.run(`
77
+ CREATE TABLE IF NOT EXISTS remediations (
78
+ id TEXT PRIMARY KEY,
79
+ trace_id TEXT NOT NULL,
80
+ strategy TEXT NOT NULL,
81
+ status TEXT NOT NULL,
82
+ timestamp TEXT NOT NULL,
83
+ outcome TEXT
84
+ )
85
+ `);
86
+
87
+ this._db.run(`
88
+ CREATE TABLE IF NOT EXISTS skills (
89
+ skill_id TEXT PRIMARY KEY,
90
+ name TEXT NOT NULL,
91
+ description TEXT,
92
+ path TEXT,
93
+ success_rate REAL DEFAULT 0.0,
94
+ last_verified TEXT
95
+ )
96
+ `);
97
+
98
+ this._db.run(`
99
+ CREATE TABLE IF NOT EXISTS attestations (
100
+ id TEXT PRIMARY KEY,
101
+ request_id TEXT NOT NULL,
102
+ status TEXT NOT NULL,
103
+ attestation_payload TEXT,
104
+ timestamp TEXT NOT NULL
105
+ )
106
+ `);
107
+
108
+ this._db.run(`
109
+ CREATE TABLE IF NOT EXISTS mesh_config (
110
+ key TEXT PRIMARY KEY,
111
+ value TEXT
112
+ )
113
+ `);
114
+
115
+ this._db.run(`
116
+ CREATE TABLE IF NOT EXISTS knowledge (
117
+ id TEXT PRIMARY KEY,
118
+ type TEXT NOT NULL,
119
+ content TEXT NOT NULL,
120
+ tags TEXT,
121
+ source TEXT,
122
+ confidence REAL DEFAULT 1.0,
123
+ created_at TEXT NOT NULL,
124
+ updated_at TEXT,
125
+ metadata TEXT
126
+ )
127
+ `);
128
+
129
+ this._db.run(`
130
+ CREATE TABLE IF NOT EXISTS graph_edges (
131
+ id TEXT PRIMARY KEY,
132
+ source_id TEXT NOT NULL,
133
+ target_id TEXT NOT NULL,
134
+ edge_type TEXT NOT NULL,
135
+ weight REAL DEFAULT 1.0,
136
+ created_at TEXT NOT NULL
137
+ )
138
+ `);
139
+
140
+ this._db.run(`
141
+ CREATE TABLE IF NOT EXISTS _migrations (
142
+ id INTEGER PRIMARY KEY,
143
+ name TEXT NOT NULL,
144
+ applied_at TEXT NOT NULL
145
+ )
146
+ `);
147
+
148
+ // ── FTS4 Virtual Tables (FTS4 is available in all sql.js builds) ────────
149
+
150
+ this._db.run(`
136
151
  CREATE VIRTUAL TABLE IF NOT EXISTS traces_search
137
- USING fts5(trace_id, content, agent, tokenize='porter');
138
- `.execute(this.db);
152
+ USING fts4(trace_id, content, agent, tokenize=porter)
153
+ `);
139
154
 
140
- await sql`
155
+ this._db.run(`
141
156
  CREATE VIRTUAL TABLE IF NOT EXISTS knowledge_search
142
- USING fts5(id, content, tags, tokenize='porter');
143
- `.execute(this.db);
157
+ USING fts4(id, content, tags, tokenize=porter)
158
+ `);
159
+
160
+ // ── Indexes ─────────────────────────────────────────────────────────────
144
161
 
145
- // v9: Secondary indexes for common query patterns
146
- await sql`CREATE INDEX IF NOT EXISTS idx_traces_trace_id ON traces(trace_id)`.execute(this.db);
147
- await sql`CREATE INDEX IF NOT EXISTS idx_traces_timestamp ON traces(timestamp)`.execute(this.db);
148
- await sql`CREATE INDEX IF NOT EXISTS idx_knowledge_type ON knowledge(type)`.execute(this.db);
149
- await sql`CREATE INDEX IF NOT EXISTS idx_graph_edges_source ON graph_edges(source_id)`.execute(this.db);
150
- await sql`CREATE INDEX IF NOT EXISTS idx_graph_edges_target ON graph_edges(target_id)`.execute(this.db);
151
- await sql`CREATE UNIQUE INDEX IF NOT EXISTS idx_migrations_name ON _migrations(name)`.execute(this.db);
162
+ this._db.run('CREATE INDEX IF NOT EXISTS idx_traces_trace_id ON traces(trace_id)');
163
+ this._db.run('CREATE INDEX IF NOT EXISTS idx_traces_timestamp ON traces(timestamp)');
164
+ this._db.run('CREATE INDEX IF NOT EXISTS idx_knowledge_type ON knowledge(type)');
165
+ this._db.run('CREATE INDEX IF NOT EXISTS idx_graph_edges_source ON graph_edges(source_id)');
166
+ this._db.run('CREATE INDEX IF NOT EXISTS idx_graph_edges_target ON graph_edges(target_id)');
167
+ this._db.run('CREATE UNIQUE INDEX IF NOT EXISTS idx_migrations_name ON _migrations(name)');
152
168
 
153
169
  this.initialized = true;
154
- console.log(`[VectorHub] Initialized SQLite persistence at ${this.dbPath}`);
170
+ this.save();
171
+ console.log(`[VectorHub] Initialized WASM SQLite persistence at ${this.dbPath}`);
155
172
  }
156
173
 
174
+ /**
175
+ * Persist the in-memory database to disk.
176
+ */
177
+ save() {
178
+ if (!this._db) return;
179
+ try {
180
+ this._ensureDir();
181
+ const data = this._db.export();
182
+ const buffer = Buffer.from(data);
183
+ fs.writeFileSync(this.dbPath, buffer);
184
+ } catch (err) {
185
+ console.warn(`[VectorHub] Failed to save database: ${err.message}`);
186
+ }
187
+ }
188
+
189
+ /**
190
+ * Auto-save after N writes.
191
+ */
192
+ _autosave() {
193
+ this._writeCount++;
194
+ if (this._writeCount >= this._batchSize) {
195
+ this.save();
196
+ this._writeCount = 0;
197
+ }
198
+ }
199
+
200
+ /**
201
+ * Close the database and save final state to disk.
202
+ */
157
203
  async close() {
158
- await this.db.destroy();
204
+ if (this._db) {
205
+ this.save();
206
+ this._db.close();
207
+ this._db = null;
208
+ this.initialized = false;
209
+ }
210
+ }
211
+
212
+ // ── Raw Query Interface ─────────────────────────────────────────────────────
213
+ // These methods replace direct Kysely .db access for consumers.
214
+
215
+ /**
216
+ * Run a SQL query that returns rows (SELECT).
217
+ * @param {string} sqlText - SQL query
218
+ * @param {Array} params - Bound parameters
219
+ * @returns {Array<Object>} Array of row objects
220
+ */
221
+ query(sqlText, params = []) {
222
+ const stmt = this._db.prepare(sqlText);
223
+ stmt.bind(params);
224
+ const results = [];
225
+ while (stmt.step()) {
226
+ results.push(stmt.getAsObject());
227
+ }
228
+ stmt.free();
229
+ return results;
159
230
  }
160
231
 
232
+ /**
233
+ * Run a SQL statement that does not return rows (INSERT, UPDATE, DELETE).
234
+ * @param {string} sqlText - SQL statement
235
+ * @param {Array} params - Bound parameters
236
+ */
237
+ run(sqlText, params = []) {
238
+ this._db.run(sqlText, params);
239
+ this._autosave();
240
+ }
241
+
242
+ /**
243
+ * Run multiple statements inside a transaction.
244
+ * @param {Function} fn - Function that receives { query, run } helpers
245
+ */
246
+ async transaction(fn) {
247
+ this._db.run('BEGIN TRANSACTION');
248
+ try {
249
+ await fn({
250
+ query: (sqlText, params) => this.query(sqlText, params),
251
+ run: (sqlText, params) => {
252
+ this._db.run(sqlText, params);
253
+ },
254
+ });
255
+ this._db.run('COMMIT');
256
+ this._autosave();
257
+ } catch (err) {
258
+ this._db.run('ROLLBACK');
259
+ throw err;
260
+ }
261
+ }
262
+
263
+ // ── Trace API ─────────────────────────────────────────────────────────────
264
+
161
265
  /**
162
266
  * Record a trace event.
163
267
  */
@@ -172,44 +276,99 @@ class VectorHub {
172
276
  content: data.content || null,
173
277
  metadata: data.metadata ? JSON.stringify(data.metadata) : null,
174
278
  drift_score: data.drift_score || 0,
175
- mesh_node_id: data.mesh_node_id || null
279
+ mesh_node_id: data.mesh_node_id || null,
176
280
  };
177
281
 
178
- await this.db.insertInto('traces')
179
- .values(entry)
180
- .onConflict(oc => oc.column('id').doUpdateSet({
181
- metadata: entry.metadata,
182
- mesh_node_id: entry.mesh_node_id,
183
- drift_score: entry.drift_score
184
- }))
185
- .execute();
186
-
187
- // Update FTS5 index if content exists
282
+ this.run(
283
+ `INSERT OR REPLACE INTO traces (id, trace_id, span_id, event, timestamp, agent, content, metadata, drift_score, mesh_node_id)
284
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,
285
+ [entry.id, entry.trace_id, entry.span_id, entry.event, entry.timestamp, entry.agent, entry.content, entry.metadata, entry.drift_score, entry.mesh_node_id]
286
+ );
287
+
288
+ // Update FTS index if content exists
188
289
  if (entry.content) {
189
- await sql`DELETE FROM traces_search WHERE trace_id = ${entry.trace_id}`.execute(this.db);
190
- await sql`INSERT INTO traces_search (trace_id, content, agent) VALUES (${entry.trace_id}, ${entry.content}, ${entry.agent})`
191
- .execute(this.db);
290
+ this._db.run('DELETE FROM traces_search WHERE trace_id = ?', [entry.trace_id]);
291
+ this._db.run(
292
+ 'INSERT INTO traces_search (trace_id, content, agent) VALUES (?, ?, ?)',
293
+ [entry.trace_id, entry.content, entry.agent]
294
+ );
192
295
  }
193
-
296
+
194
297
  return entry.id;
195
298
  }
196
299
 
197
300
  /**
198
- * Semantic search for previous traces.
301
+ * Query traces with optional filters.
302
+ * @param {Object} opts - { trace_id, event, since, limit }
303
+ */
304
+ async queryTraces(opts = {}) {
305
+ let sqlText = 'SELECT * FROM traces WHERE 1=1';
306
+ const params = [];
307
+
308
+ if (opts.trace_id) {
309
+ sqlText += ' AND trace_id = ?';
310
+ params.push(opts.trace_id);
311
+ }
312
+ if (opts.event) {
313
+ sqlText += ' AND event = ?';
314
+ params.push(opts.event);
315
+ }
316
+ if (opts.since) {
317
+ sqlText += ' AND timestamp > ?';
318
+ params.push(opts.since);
319
+ }
320
+
321
+ sqlText += ' ORDER BY timestamp DESC LIMIT ?';
322
+ params.push(Math.min(Math.max(parseInt(opts.limit) || 100, 1), 1000));
323
+
324
+ return this.query(sqlText, params);
325
+ }
326
+
327
+ /**
328
+ * Full-text search for traces.
199
329
  */
200
330
  async searchTraces(rawQuery) {
201
- const query = '"' + rawQuery.replace(/"/g, '""') + '"';
202
- const results = await sql`
203
- SELECT t.*, ts.rank
204
- FROM traces t
205
- JOIN traces_search ts ON t.trace_id = ts.trace_id
206
- WHERE traces_search MATCH ${query}
207
- ORDER BY ts.rank
208
- LIMIT 10
209
- `.execute(this.db);
210
- return results.rows;
331
+ const escaped = rawQuery.replace(/"/g, '""');
332
+ const ftsQuery = `"${escaped}"`;
333
+ return this.query(
334
+ `SELECT t.*
335
+ FROM traces t
336
+ JOIN traces_search ts ON t.trace_id = ts.trace_id
337
+ WHERE traces_search MATCH ?
338
+ LIMIT 10`,
339
+ [ftsQuery]
340
+ );
341
+ }
342
+
343
+ /**
344
+ * Full-text search for traces (alias for backward compat).
345
+ */
346
+ async searchFTS(rawQuery) {
347
+ return this.searchTraces(rawQuery);
211
348
  }
212
- // ── v9 Pillar XXVI: Unified Knowledge API ─────────────────────────────────
349
+
350
+ /**
351
+ * Get database statistics.
352
+ */
353
+ async getStats() {
354
+ const traceCount = this.query('SELECT COUNT(*) as count FROM traces')[0]?.count || 0;
355
+ const knowledgeCount = this.query('SELECT COUNT(*) as count FROM knowledge')[0]?.count || 0;
356
+ const edgeCount = this.query('SELECT COUNT(*) as count FROM graph_edges')[0]?.count || 0;
357
+ const skillCount = this.query('SELECT COUNT(*) as count FROM skills')[0]?.count || 0;
358
+ const remediationCount = this.query('SELECT COUNT(*) as count FROM remediations')[0]?.count || 0;
359
+
360
+ return {
361
+ traces: traceCount,
362
+ knowledge: knowledgeCount,
363
+ edges: edgeCount,
364
+ skills: skillCount,
365
+ remediations: remediationCount,
366
+ dbPath: this.dbPath,
367
+ dbSizeBytes: fs.existsSync(this.dbPath) ? fs.statSync(this.dbPath).size : 0,
368
+ };
369
+ }
370
+
371
+ // ── Knowledge API (v9 Pillar XXVI) ────────────────────────────────────────
213
372
 
214
373
  async saveKnowledge(entry) {
215
374
  const now = new Date().toISOString();
@@ -225,35 +384,34 @@ class VectorHub {
225
384
  metadata: entry.metadata ? JSON.stringify(entry.metadata) : null,
226
385
  };
227
386
 
228
- await this.db.insertInto('knowledge')
229
- .values(record)
230
- .onConflict(oc => oc.column('id').doUpdateSet({
231
- content: record.content,
232
- tags: record.tags,
233
- confidence: record.confidence,
234
- updated_at: record.updated_at,
235
- metadata: record.metadata,
236
- }))
237
- .execute();
238
-
239
- await sql`DELETE FROM knowledge_search WHERE id = ${record.id}`.execute(this.db);
240
- await sql`INSERT INTO knowledge_search (id, content, tags) VALUES (${record.id}, ${record.content}, ${record.tags})`
241
- .execute(this.db);
387
+ this.run(
388
+ `INSERT OR REPLACE INTO knowledge (id, type, content, tags, source, confidence, created_at, updated_at, metadata)
389
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,
390
+ [record.id, record.type, record.content, record.tags, record.source, record.confidence, record.created_at, record.updated_at, record.metadata]
391
+ );
392
+
393
+ // Update FTS index
394
+ this._db.run('DELETE FROM knowledge_search WHERE id = ?', [record.id]);
395
+ this._db.run(
396
+ 'INSERT INTO knowledge_search (id, content, tags) VALUES (?, ?, ?)',
397
+ [record.id, record.content, record.tags]
398
+ );
399
+ this._autosave();
242
400
 
243
401
  return record.id;
244
402
  }
245
403
 
246
404
  async searchKnowledge(rawQuery, limit = 10) {
247
- const query = '"' + rawQuery.replace(/"/g, '""') + '"';
248
- const results = await sql`
249
- SELECT k.*, ks.rank
250
- FROM knowledge k
251
- JOIN knowledge_search ks ON k.id = ks.id
252
- WHERE knowledge_search MATCH ${query}
253
- ORDER BY ks.rank
254
- LIMIT ${limit}
255
- `.execute(this.db);
256
- return results.rows;
405
+ const escaped = rawQuery.replace(/"/g, '""');
406
+ const ftsQuery = `"${escaped}"`;
407
+ return this.query(
408
+ `SELECT k.*
409
+ FROM knowledge k
410
+ JOIN knowledge_search ks ON k.id = ks.id
411
+ WHERE knowledge_search MATCH ?
412
+ LIMIT ?`,
413
+ [ftsQuery, limit]
414
+ );
257
415
  }
258
416
 
259
417
  async saveEdge(edge) {
@@ -266,37 +424,63 @@ class VectorHub {
266
424
  created_at: edge.created_at || new Date().toISOString(),
267
425
  };
268
426
 
269
- await this.db.insertInto('graph_edges')
270
- .values(record)
271
- .onConflict(oc => oc.column('id').doNothing())
272
- .execute();
427
+ this.run(
428
+ `INSERT OR IGNORE INTO graph_edges (id, source_id, target_id, edge_type, weight, created_at)
429
+ VALUES (?, ?, ?, ?, ?, ?)`,
430
+ [record.id, record.source_id, record.target_id, record.edge_type, record.weight, record.created_at]
431
+ );
273
432
 
274
433
  return record.id;
275
434
  }
276
435
 
277
436
  async getEdges(nodeId) {
278
- const results = await this.db.selectFrom('graph_edges')
279
- .selectAll()
280
- .where((eb) => eb.or([
281
- eb('source_id', '=', nodeId),
282
- eb('target_id', '=', nodeId),
283
- ]))
284
- .execute();
285
- return results;
437
+ return this.query(
438
+ 'SELECT * FROM graph_edges WHERE source_id = ? OR target_id = ?',
439
+ [nodeId, nodeId]
440
+ );
286
441
  }
287
442
 
288
- // ── v9 Pillar XXVII: Migration tracking ──────────────────────────────────
443
+ // ── Migration Tracking (v9 Pillar XXVII) ─────────────────────────────────
289
444
 
290
445
  async getAppliedMigrations() {
291
- const rows = await this.db.selectFrom('_migrations').selectAll().execute();
446
+ const rows = this.query('SELECT name FROM _migrations');
292
447
  return rows.map(r => r.name);
293
448
  }
294
449
 
295
450
  async recordMigration(name) {
296
- await sql`INSERT OR IGNORE INTO _migrations (name, applied_at) VALUES (${name}, ${new Date().toISOString()})`
297
- .execute(this.db);
451
+ this.run(
452
+ 'INSERT OR IGNORE INTO _migrations (name, applied_at) VALUES (?, ?)',
453
+ [name, new Date().toISOString()]
454
+ );
298
455
  }
299
456
  }
300
457
 
301
- module.exports = new VectorHub();
458
+ // ── Factory Function ──────────────────────────────────────────────────────────
459
+
460
+ /**
461
+ * Create a new VectorHub instance (async factory).
462
+ * @param {string} [dbPath] - Optional path for the SQLite database file
463
+ * @returns {Promise<VectorHub>} Initialized VectorHub instance
464
+ */
465
+ async function createVectorHub(dbPath) {
466
+ const hub = new VectorHub(dbPath);
467
+ await hub.init();
468
+ return hub;
469
+ }
470
+
471
+ // Lazy singleton — not instantiated until first method call
472
+ let _instance = null;
473
+ const lazyHub = new Proxy({}, {
474
+ get(_, prop) {
475
+ if (prop === 'VectorHub') return VectorHub;
476
+ if (prop === 'createVectorHub') return createVectorHub;
477
+ if (!_instance) _instance = new VectorHub();
478
+ return typeof _instance[prop] === 'function'
479
+ ? _instance[prop].bind(_instance)
480
+ : _instance[prop];
481
+ }
482
+ });
483
+
484
+ module.exports = lazyHub;
302
485
  module.exports.VectorHub = VectorHub;
486
+ module.exports.createVectorHub = createVectorHub;