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
@@ -8,13 +8,15 @@
8
8
  * /mindforge:dashboard [--port 7339] [--open] [--stop]
9
9
  *
10
10
  * Security: binds to 127.0.0.1 only (ADR-017 policy).
11
- * No authentication localhost-only access is the security model.
11
+ * Bearer token auth on all mutating endpoints (POST/PUT/DELETE).
12
+ * Token printed to console at startup and written to .mindforge/.dashboard-token.
12
13
  */
13
14
  'use strict';
14
15
 
15
16
  const http = require('http');
16
17
  const path = require('path');
17
18
  const fs = require('fs');
19
+ const crypto = require('crypto');
18
20
  const ARGS = process.argv.slice(2);
19
21
 
20
22
  const PORT = parseInt(ARGS.find((_, i, a) => a[i-1] === '--port') || '7339', 10);
@@ -39,6 +41,39 @@ const RevOpsAPI = require('./revops-api');
39
41
  // ── Express app ───────────────────────────────────────────────────────────────
40
42
  const app = express();
41
43
 
44
+ // ── Bearer token authentication ──────────────────────────────────────────────
45
+ const DASHBOARD_TOKEN = crypto.randomBytes(32).toString('hex');
46
+ const TOKEN_FILE = path.join(process.cwd(), '.mindforge', '.dashboard-token');
47
+
48
+ // Write token to file with restrictive permissions (owner-only read/write)
49
+ fs.mkdirSync(path.dirname(TOKEN_FILE), { recursive: true });
50
+ fs.writeFileSync(TOKEN_FILE, DASHBOARD_TOKEN, { mode: 0o600 });
51
+
52
+ /**
53
+ * requireAuth — Validates Bearer token on mutating requests (POST/PUT/DELETE).
54
+ * GET requests pass through unguarded for the dashboard UI.
55
+ */
56
+ function requireAuth(req, res, next) {
57
+ if (req.method === 'GET' || req.method === 'OPTIONS') return next();
58
+
59
+ const authHeader = req.headers.authorization;
60
+ if (!authHeader || !authHeader.startsWith('Bearer ')) {
61
+ return res.status(401).json({
62
+ error: 'Authentication required. Use the token printed at dashboard startup.'
63
+ });
64
+ }
65
+
66
+ const provided = authHeader.slice(7);
67
+ // Constant-time comparison to prevent timing attacks
68
+ if (!crypto.timingSafeEqual(Buffer.from(provided), Buffer.from(DASHBOARD_TOKEN))) {
69
+ return res.status(401).json({
70
+ error: 'Authentication required. Use the token printed at dashboard startup.'
71
+ });
72
+ }
73
+
74
+ next();
75
+ }
76
+
42
77
  // Security middleware
43
78
  app.use((req, res, next) => {
44
79
  const addr = req.socket.remoteAddress;
@@ -49,19 +84,18 @@ app.use((req, res, next) => {
49
84
  next();
50
85
  });
51
86
 
52
- // CORS — only allow requests from localhost origins
87
+ // CORS — restrict to dashboard's own origin only (prevent cross-origin attacks)
88
+ const DASHBOARD_ORIGIN = `http://127.0.0.1:${PORT}`;
53
89
  app.use((req, res, next) => {
54
90
  const origin = req.headers.origin;
55
91
 
56
- if (origin && /^https?:\/\/(localhost|127\.0\.0\.1)(:\d+)?$/.test(origin)) {
57
- // Explicit localhost origin — set CORS headers
58
- res.setHeader('Access-Control-Allow-Origin', origin);
92
+ if (origin === DASHBOARD_ORIGIN) {
93
+ res.setHeader('Access-Control-Allow-Origin', DASHBOARD_ORIGIN);
59
94
  res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
60
- res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
61
- res.setHeader('Vary', 'Origin'); // Important: vary by origin for caching
95
+ res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');
96
+ res.setHeader('Vary', 'Origin');
62
97
  }
63
- // No origin header (same-origin/curl/postman): don't set CORS headers
64
- // This is correct — same-origin requests don't need CORS headers
98
+ // Reject cross-origin requests from other localhost ports/origins
65
99
  if (req.method === 'OPTIONS') return res.status(204).end();
66
100
  next();
67
101
  });
@@ -71,11 +105,17 @@ app.use(express.json({ limit: '64kb' })); // Limit request body size
71
105
  // Security headers
72
106
  app.use((req, res, next) => {
73
107
  res.setHeader('X-Content-Type-Options', 'nosniff');
74
- res.setHeader('X-Frame-Options', 'SAMEORIGIN');
108
+ res.setHeader('X-Frame-Options', 'DENY');
75
109
  res.setHeader('Cache-Control', 'no-store'); // Never cache dashboard responses
110
+ res.setHeader('Content-Security-Policy', "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; connect-src 'self'");
111
+ res.setHeader('X-XSS-Protection', '1; mode=block');
112
+ res.setHeader('Referrer-Policy', 'strict-origin-when-cross-origin');
76
113
  next();
77
114
  });
78
115
 
116
+ // ── Apply requireAuth to mutating API routes ─────────────────────────────────
117
+ app.use('/api', requireAuth);
118
+
79
119
  // ── Static frontend ───────────────────────────────────────────────────────────
80
120
  app.get('/', (req, res) => {
81
121
  if (!fs.existsSync(FRONTEND)) {
@@ -103,6 +143,8 @@ server.listen(PORT, '127.0.0.1', () => {
103
143
  console.log(` Status: http://localhost:${PORT}/api/status`);
104
144
  console.log(` Events: http://localhost:${PORT}/events`);
105
145
  console.log(` PID: ${process.pid}`);
146
+ console.log(`[Dashboard] Auth token: ${DASHBOARD_TOKEN}`);
147
+ console.log(` Token file: ${TOKEN_FILE}`);
106
148
  console.log('\n Press CTRL+C to stop\n');
107
149
 
108
150
  if (OPEN_BROWSER) {
@@ -127,6 +169,8 @@ server.on('error', err => {
127
169
  function shutdown(signal) {
128
170
  console.log(`\n[dashboard] ${signal} received — shutting down`);
129
171
  SSE.stop();
172
+ // Remove sensitive token file on shutdown
173
+ if (fs.existsSync(TOKEN_FILE)) fs.unlinkSync(TOKEN_FILE);
130
174
  server.close(() => {
131
175
  if (fs.existsSync(PID_FILE)) fs.unlinkSync(PID_FILE);
132
176
  process.exit(0);
@@ -25,12 +25,19 @@ let _auditInode = 0; // Track file inode for rotation detection
25
25
  let _lastAutoState = '';
26
26
  let _lastApprovals = '';
27
27
 
28
+ // ── Smart polling: mtime tracking ────────────────────────────────────────────
29
+ const _lastMtimes = Object.create(null);
30
+
28
31
  // ── Client management ─────────────────────────────────────────────────────────
29
32
 
30
33
  function addClient(res) {
34
+ const wasEmpty = clients.size === 0;
31
35
  clients.add(res);
36
+ if (wasEmpty) startPolling();
37
+
32
38
  res.on('close', () => {
33
39
  clients.delete(res);
40
+ if (clients.size === 0) stopPolling();
34
41
  });
35
42
  }
36
43
 
@@ -106,6 +113,10 @@ function pollAutoState() {
106
113
  if (!fs.existsSync(AUTO_STATE_PATH)) return;
107
114
 
108
115
  try {
116
+ const mtime = fs.statSync(AUTO_STATE_PATH).mtimeMs;
117
+ if (mtime === _lastMtimes[AUTO_STATE_PATH]) return; // unchanged
118
+ _lastMtimes[AUTO_STATE_PATH] = mtime;
119
+
109
120
  const raw = fs.readFileSync(AUTO_STATE_PATH, 'utf8');
110
121
  if (raw === _lastAutoState) return;
111
122
  _lastAutoState = raw;
@@ -120,6 +131,10 @@ function pollApprovals() {
120
131
  if (!fs.existsSync(APPROVAL_DIR)) return;
121
132
 
122
133
  try {
134
+ const mtime = fs.statSync(APPROVAL_DIR).mtimeMs;
135
+ if (mtime === _lastMtimes[APPROVAL_DIR]) return; // unchanged
136
+ _lastMtimes[APPROVAL_DIR] = mtime;
137
+
123
138
  const files = fs.readdirSync(APPROVAL_DIR)
124
139
  .filter(f => f.startsWith('APPROVAL-') && f.endsWith('.json'))
125
140
  .sort();
@@ -139,17 +154,25 @@ function pollApprovals() {
139
154
  } catch { /* ignore */ }
140
155
  }
141
156
 
142
- // ── Keepalive ─────────────────────────────────────────────────────────────────
157
+ // ── Polling lifecycle (idle-aware) ────────────────────────────────────────────
143
158
 
144
159
  let _pollInterval = null;
145
160
  let _pingInterval = null;
161
+ let _initialized = false;
146
162
 
147
- function start() {
148
- // Initialize AUDIT position
149
- if (fs.existsSync(AUDIT_PATH)) {
163
+ /**
164
+ * Start polling only when at least one client is connected.
165
+ * Idempotent — calling when already polling is a no-op.
166
+ */
167
+ function startPolling() {
168
+ if (_pollInterval) return; // Already polling
169
+
170
+ // Initialize AUDIT position on first start
171
+ if (!_initialized && fs.existsSync(AUDIT_PATH)) {
150
172
  const stat = fs.statSync(AUDIT_PATH);
151
173
  _lastAuditSize = stat.size;
152
174
  _auditInode = stat.ino;
175
+ _initialized = true;
153
176
  }
154
177
 
155
178
  // Poll every 2 seconds
@@ -168,11 +191,34 @@ function start() {
168
191
  _pingInterval.unref();
169
192
  }
170
193
 
171
- function stop() {
194
+ /**
195
+ * Stop polling when zero clients are connected.
196
+ * Idempotent — calling when already stopped is a no-op.
197
+ */
198
+ function stopPolling() {
172
199
  if (_pollInterval) { clearInterval(_pollInterval); _pollInterval = null; }
173
200
  if (_pingInterval) { clearInterval(_pingInterval); _pingInterval = null; }
174
201
  }
175
202
 
203
+ /**
204
+ * Public start — initializes the bridge (legacy compat).
205
+ * Actual polling begins only when the first client connects.
206
+ */
207
+ function start() {
208
+ // Pre-initialize AUDIT position so first client gets instant data
209
+ if (!_initialized && fs.existsSync(AUDIT_PATH)) {
210
+ const stat = fs.statSync(AUDIT_PATH);
211
+ _lastAuditSize = stat.size;
212
+ _auditInode = stat.ino;
213
+ _initialized = true;
214
+ }
215
+ // Polling starts lazily when addClient() is called
216
+ }
217
+
218
+ function stop() {
219
+ stopPolling();
220
+ }
221
+
176
222
  function getClientCount() { return clients.size; }
177
223
 
178
224
  module.exports = { addClient, broadcast, start, stop, getClientCount };
@@ -169,7 +169,7 @@ if (require.main === module) {
169
169
  context: 'CLI Manual Test',
170
170
  category: 'Architecture'
171
171
  });
172
- console.log(` ${this.colors.dim('')} ${this.colors.magenta('🛡️ SOVEREIGN INTELLIGENCE v8.2.0')} — PQAS & Proactive Homing Enabled`);
172
+ console.log(' │ 🛡️ SOVEREIGN INTELLIGENCE v8.2.0 — PQAS & Proactive Homing Enabled');
173
173
  const status = await manager.getStatus();
174
174
  console.log('📊 Learning System Status:', status);
175
175
  } else {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * MindForge v8 — Federated Mesh Synthesis (FMS)
3
3
  * Component: Mesh Syncer (Pillar XVI)
4
- *
4
+ *
5
5
  * Facilitates secure, signed knowledge handoffs between MindForge nodes.
6
6
  */
7
7
  'use strict';
@@ -15,10 +15,13 @@ const configManager = require('../governance/config-manager');
15
15
 
16
16
  class MeshSyncer {
17
17
  constructor() {
18
- this.nodeId = configManager.get('mesh.node_id', 'unknown-node');
19
18
  this.vhInitialized = false;
20
19
  }
21
20
 
21
+ get nodeId() {
22
+ return configManager.get('mesh.node_id', 'unknown-node');
23
+ }
24
+
22
25
  async ensureInit() {
23
26
  if (!this.vhInitialized) {
24
27
  await vectorHub.init();
@@ -36,14 +39,18 @@ class MeshSyncer {
36
39
  console.log(`[MeshSyncer] Exporting bundle from ${this.nodeId}...`);
37
40
 
38
41
  // 1. Fetch Traces (Golden ones or since date)
39
- let traceQuery = vectorHub.db.selectFrom('traces').selectAll();
42
+ let traces;
40
43
  if (options.since) {
41
- traceQuery = traceQuery.where('timestamp', '>', options.since);
44
+ traces = vectorHub.query(
45
+ 'SELECT * FROM traces WHERE timestamp > ? LIMIT 100',
46
+ [options.since]
47
+ );
48
+ } else {
49
+ traces = vectorHub.query('SELECT * FROM traces LIMIT 100');
42
50
  }
43
- const traces = await traceQuery.limit(100).execute();
44
51
 
45
52
  // 2. Fetch Skills
46
- const skills = await vectorHub.db.selectFrom('skills').selectAll().execute();
53
+ const skills = vectorHub.query('SELECT * FROM skills');
47
54
 
48
55
  const payload = {
49
56
  version: '1.0.0',
@@ -53,14 +60,13 @@ class MeshSyncer {
53
60
  };
54
61
 
55
62
  // 3. Sign the bundle using ZTAI
56
- // Note: In v8, we sign the entire payload string to ensure integrity.
57
63
  const did = configManager.get('governance.active_did');
58
64
  if (!did) {
59
65
  throw new Error('[MeshSyncer] No active DID found for signing. Secure identity required.');
60
66
  }
61
67
 
62
68
  const signature = await ztaiManager.signData(did, JSON.stringify(payload));
63
-
69
+
64
70
  const bundle = {
65
71
  payload,
66
72
  signature,
@@ -105,20 +111,18 @@ class MeshSyncer {
105
111
  // 3. Merge Skills
106
112
  const skills = payload.data.skills || [];
107
113
  for (const skill of skills) {
108
- await vectorHub.db.insertInto('skills')
109
- .values({
110
- skill_id: skill.skill_id,
111
- name: skill.name,
112
- description: skill.description,
113
- path: skill.path,
114
- success_rate: skill.success_rate,
115
- last_verified: new Date().toISOString()
116
- })
117
- .onConflict(oc => oc.column('skill_id').doUpdateSet({
118
- success_rate: Math.max(skill.success_rate || 0, 0.5), // Optimistic merge
119
- last_verified: new Date().toISOString()
120
- }))
121
- .execute();
114
+ vectorHub.run(
115
+ `INSERT OR REPLACE INTO skills (skill_id, name, description, path, success_rate, last_verified)
116
+ VALUES (?, ?, ?, ?, ?, ?)`,
117
+ [
118
+ skill.skill_id,
119
+ skill.name,
120
+ skill.description,
121
+ skill.path,
122
+ Math.max(skill.success_rate || 0, 0.5),
123
+ new Date().toISOString()
124
+ ]
125
+ );
122
126
  }
123
127
 
124
128
  console.log(`[MeshSyncer] Successfully imported ${traces.length} external traces and ${skills.length} skills.`);
@@ -15,6 +15,7 @@ const driftDetector = require('./logic-drift-detector'); // v6.1 Pillar X
15
15
  const remediationEngine = require('./remediation-engine'); // v6.1 Pillar X
16
16
  const logicValidator = require('./logic-validator'); // v7 Pillar X
17
17
  const vectorHub = require('../memory/vector-hub'); // v8 Pillar XV
18
+ const { AuditWriter } = require('../utils/file-io');
18
19
 
19
20
  class NexusTracer {
20
21
  constructor(config = {}) {
@@ -31,8 +32,11 @@ class NexusTracer {
31
32
  this.RES_THRESHOLD = configManager.get('governance.res_threshold', 0.8);
32
33
  this.entropyCache = new Map();
33
34
 
35
+ // v9: Async Audit Writer (replaces sync appendFileSync)
36
+ this._auditWriter = new AuditWriter(this.auditPath);
37
+
34
38
  // v6.1: Neural Drift Remediation (NDR)
35
- this.DRIFT_SAMPLE_RATE = 1.0;
39
+ this.DRIFT_SAMPLE_RATE = 1.0;
36
40
 
37
41
  // v7: Agentic SBOM with Arbitrage
38
42
  this.sbom = {
@@ -292,10 +296,7 @@ class NexusTracer {
292
296
  }
293
297
 
294
298
  try {
295
- if (!fs.existsSync(path.dirname(this.auditPath))) {
296
- fs.mkdirSync(path.dirname(this.auditPath), { recursive: true });
297
- }
298
- fs.appendFileSync(this.auditPath, JSON.stringify(entry) + '\n');
299
+ await this._auditWriter.write(entry);
299
300
  } catch (err) {
300
301
  console.error(`[NexusTracer] Failed to write audit entry: ${err.message}`);
301
302
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * MindForge v8 — Orbital Governance
3
3
  * Component: Orbital Guardian (Pillar XVIII)
4
- *
4
+ *
5
5
  * Manages hardware-bound/biometric attestations for high-blast-radius actions.
6
6
  */
7
7
  'use strict';
@@ -51,9 +51,11 @@ class OrbitalGuardian {
51
51
  };
52
52
 
53
53
  // 2. Persist to SQLite (Source of truth for v8 Governance Dashboard)
54
- await vectorHub.db.insertInto('attestations')
55
- .values(attestation)
56
- .execute();
54
+ vectorHub.run(
55
+ `INSERT INTO attestations (id, request_id, status, attestation_payload, timestamp)
56
+ VALUES (?, ?, ?, ?, ?)`,
57
+ [attestation.id, attestation.request_id, attestation.status, attestation.attestation_payload, attestation.timestamp]
58
+ );
57
59
 
58
60
  console.log(`[ORBITAL-GUARDIAN] Attestation SUCCESS: ${attestation.id}`);
59
61
  return attestation;
@@ -63,14 +65,15 @@ class OrbitalGuardian {
63
65
  * Verifies if a request has a valid hardware bypass.
64
66
  */
65
67
  async verify(requestId) {
68
+ if (!requestId) return { verified: false };
66
69
  await this.ensureInit();
67
-
68
- const record = await vectorHub.db.selectFrom('attestations')
69
- .selectAll()
70
- .where('request_id', '=', requestId)
71
- .where('status', '=', 'APPROVED')
72
- .executeTakeFirst();
73
70
 
71
+ const results = vectorHub.query(
72
+ 'SELECT * FROM attestations WHERE request_id = ? AND status = ? LIMIT 1',
73
+ [requestId, 'APPROVED']
74
+ );
75
+
76
+ const record = results[0];
74
77
  if (!record) return { verified: false };
75
78
 
76
79
  return {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * MindForge v8 — Autonomous Skill Evolution (ASE)
3
3
  * Component: Skill Evolver (Pillar XVII)
4
- *
4
+ *
5
5
  * Mines successful reasoning patterns to synthesize new reusable skills.
6
6
  */
7
7
  'use strict';
@@ -32,12 +32,11 @@ class SkillEvolver {
32
32
  await this.ensureInit();
33
33
  console.log('[ASE] Starting skill evolution cycle...');
34
34
 
35
- // 1. Mine Golden Traces (Drift < 0.1)
36
- const goldenTraces = await vectorHub.db.selectFrom('traces')
37
- .selectAll()
38
- .where('drift_score', '<', this.threshold)
39
- .where('event', '=', 'reasoning_trace')
40
- .execute();
35
+ // 1. Mine Golden Traces (Drift < threshold)
36
+ const goldenTraces = vectorHub.query(
37
+ 'SELECT * FROM traces WHERE drift_score < ? AND event = ?',
38
+ [this.threshold, 'reasoning_trace']
39
+ );
41
40
 
42
41
  if (goldenTraces.length < this.minCount) {
43
42
  console.log(`[ASE] Only ${goldenTraces.length} golden traces found. Threshold is ${this.minCount}. Evolution deferred.`);
@@ -67,12 +66,12 @@ class SkillEvolver {
67
66
  const clusters = new Map();
68
67
 
69
68
  for (const t of traces) {
70
- const metadata = JSON.parse(t.metadata || '{}');
71
69
  // Group by agent and the first 20 chars of thought as a simple proxy for 'intent'
72
- const key = `${t.agent || 'unknown'}:${t.content.substring(0, 20)}`;
73
-
70
+ const content = t.content || '';
71
+ const key = `${t.agent || 'unknown'}:${content.substring(0, 20)}`;
72
+
74
73
  if (!clusters.has(key)) {
75
- clusters.set(key, { traces: [], agent: t.agent, intent: t.content.substring(0, 50) });
74
+ clusters.set(key, { traces: [], agent: t.agent, intent: content.substring(0, 50) });
76
75
  }
77
76
  clusters.get(key).traces.push(t);
78
77
  }
@@ -85,11 +84,10 @@ class SkillEvolver {
85
84
  */
86
85
  async _synthesize(cluster) {
87
86
  const id = `ev_${crypto.randomBytes(4).toString('hex')}`;
88
- const timestamp = new Date().toISOString();
89
-
87
+
90
88
  // Abstract the strategy from the trace content
91
89
  const summary = cluster.traces.map(t => `- ${t.content}`).join('\n');
92
-
90
+
93
91
  return {
94
92
  id,
95
93
  name: `Synthesized Skill (${cluster.agent}) - ${id}`,
@@ -23,9 +23,15 @@ class TemporalHub {
23
23
  * @param {object} metadata - Optional context (task_name, session_id)
24
24
  */
25
25
  static captureState(auditId, metadata = {}) {
26
+ if (!/^[a-f0-9-]{8,40}$/.test(auditId)) {
27
+ throw new Error('Invalid audit ID format');
28
+ }
26
29
  if (!fs.existsSync(PLANNING_DIR)) return null;
27
-
30
+
28
31
  const snapshotDir = path.join(HISTORY_DIR, auditId);
32
+ if (!path.resolve(snapshotDir).startsWith(path.resolve(HISTORY_DIR))) {
33
+ throw new Error('Path traversal detected in audit ID');
34
+ }
29
35
  if (!fs.existsSync(snapshotDir)) {
30
36
  fs.mkdirSync(snapshotDir, { recursive: true });
31
37
  }
@@ -69,7 +75,13 @@ class TemporalHub {
69
75
  * @param {string} auditId
70
76
  */
71
77
  static rollbackTo(auditId) {
78
+ if (!/^[a-f0-9-]{8,40}$/.test(auditId)) {
79
+ throw new Error('Invalid audit ID format');
80
+ }
72
81
  const snapshotDir = path.join(HISTORY_DIR, auditId);
82
+ if (!path.resolve(snapshotDir).startsWith(path.resolve(HISTORY_DIR))) {
83
+ throw new Error('Path traversal detected in audit ID');
84
+ }
73
85
  if (!fs.existsSync(snapshotDir)) {
74
86
  throw new Error(`Snapshot ${auditId} not found in history.`);
75
87
  }
@@ -116,7 +128,13 @@ class TemporalHub {
116
128
  * Read a file from a specific historical snapshot.
117
129
  */
118
130
  static getSnapshotFile(auditId, filePath) {
131
+ if (!/^[a-f0-9-]{8,40}$/.test(auditId)) {
132
+ throw new Error('Invalid audit ID format');
133
+ }
119
134
  const snapPath = path.join(HISTORY_DIR, auditId, path.basename(filePath));
135
+ if (!path.resolve(snapPath).startsWith(path.resolve(HISTORY_DIR))) {
136
+ throw new Error('Path traversal detected in audit ID');
137
+ }
120
138
  if (fs.existsSync(snapPath)) {
121
139
  return fs.readFileSync(snapPath, 'utf8');
122
140
  }
@@ -127,7 +145,13 @@ class TemporalHub {
127
145
  * Capture terminal output for a command and associate with audit point.
128
146
  */
129
147
  static captureTerminal(auditId, stdout, stderr) {
148
+ if (!/^[a-f0-9-]{8,40}$/.test(auditId)) {
149
+ throw new Error('Invalid audit ID format');
150
+ }
130
151
  const logDir = path.join(HISTORY_DIR, auditId, 'logs');
152
+ if (!path.resolve(logDir).startsWith(path.resolve(HISTORY_DIR))) {
153
+ throw new Error('Path traversal detected in audit ID');
154
+ }
131
155
  if (!fs.existsSync(logDir)) fs.mkdirSync(logDir, { recursive: true });
132
156
 
133
157
  if (stdout) fs.writeFileSync(path.join(logDir, 'stdout.log'), stdout);
@@ -8,12 +8,14 @@ const fs = require('node:fs');
8
8
  const path = require('node:path');
9
9
  const ImpactAnalyzer = require('./impact-analyzer');
10
10
  const policyGate = require('./policy-gate-hardened');
11
+ const { AuditWriter } = require('../utils/file-io');
11
12
 
12
13
  class PolicyEngine {
13
14
  constructor(config = {}) {
14
15
  this.policiesDir = config.policiesDir || path.join(__dirname, 'policies');
15
16
  this.planningDir = config.planningDir || path.join(process.cwd(), '.planning');
16
17
  this.auditLogPath = path.join(this.planningDir, 'RISK-AUDIT.jsonl');
18
+ this._auditWriter = new AuditWriter(this.auditLogPath);
17
19
  this.ensurePoliciesDir();
18
20
  }
19
21
 
@@ -73,7 +75,7 @@ class PolicyEngine {
73
75
  // [PQAS] v7: Hardened Biometric Bypass for Risk > 95
74
76
  if (impactScore > 95) {
75
77
  const gateResult = await policyGate.evaluateBypass(intent, impactScore);
76
- if (gateResult.status === 'WAIT_FOR_BIOMETRIC') {
78
+ if (gateResult.status === 'WAIT_FOR_BIOMETRIC' || gateResult.status === 'WAIT_FOR_ORBITAL') {
77
79
  verdict = {
78
80
  verdict: 'DENY',
79
81
  reason: gateResult.reason,
@@ -143,7 +145,7 @@ class PolicyEngine {
143
145
  }
144
146
 
145
147
  logAudit(intent, impactScore, verdict) {
146
- const entry = JSON.stringify({
148
+ this._auditWriter.write({
147
149
  timestamp: new Date().toISOString(),
148
150
  requestId: verdict.requestId,
149
151
  did: intent.did,
@@ -153,9 +155,7 @@ class PolicyEngine {
153
155
  impactScore,
154
156
  verdict: verdict.verdict,
155
157
  reason: verdict.reason
156
- }) + '\n';
157
-
158
- fs.appendFileSync(this.auditLogPath, entry);
158
+ });
159
159
  }
160
160
 
161
161
  loadPolicies() {
@@ -38,8 +38,8 @@ class PolicyGateHardened {
38
38
  }
39
39
 
40
40
  // 2. Trigger Orbital Challenge
41
- return {
42
- status: 'WAIT_FOR_ORBITAL',
41
+ return {
42
+ status: 'WAIT_FOR_ORBITAL',
43
43
  reason: 'Hardware/Biometric attestation required for orbital-tier mutation',
44
44
  challenge_id: `orb_${Math.random().toString(36).substr(2, 6)}`,
45
45
  impact: impactScore
@@ -103,8 +103,16 @@ class QuantumCrypto {
103
103
 
104
104
  verifyZKProof(proof, intentId) {
105
105
  if (!proof.startsWith('zkp_v1_')) return false;
106
- // Real verification would check the Merkle root of the execution trace
107
- return true; // Simulated success
106
+ // SECURITY: Real ZK verification is not yet implemented.
107
+ // Governance gate MUST block by default — fail-closed.
108
+ console.warn(
109
+ `[SECURITY][quantum-crypto] verifyZKProof is a STUB — real ZK verification not yet implemented. ` +
110
+ `Blocking proof for intent="${intentId}". All governance checks will fail until a real verifier is integrated.`
111
+ );
112
+ throw new Error(
113
+ 'ZK proof verification is not implemented. Governance gate denies by default. ' +
114
+ 'Integrate a real ZK verifier (e.g., snarkjs/circom) before enabling this path.'
115
+ );
108
116
  }
109
117
  }
110
118
 
@@ -18,7 +18,7 @@ class IdentitySynthesizer {
18
18
  */
19
19
  async bootstrap(answers = {}) {
20
20
  const blueprint = this.getGrandBlueprint();
21
-
21
+
22
22
  // Inject initialization metadata into the blueprint
23
23
  let soulContent = blueprint
24
24
  .replace(/{USER_CONTEXT}/g, answers.user || 'Sovereign Agent User')
@@ -33,14 +33,12 @@ class IdentitySynthesizer {
33
33
  */
34
34
  async evolve() {
35
35
  await vectorHub.init();
36
-
36
+
37
37
  // 1. Mine recent traces (Golden & Ghost)
38
- const traces = await vectorHub.db.selectFrom('traces')
39
- .selectAll()
40
- .where('event', '=', 'reasoning_trace')
41
- .orderBy('timestamp', 'desc')
42
- .limit(100)
43
- .execute();
38
+ const traces = vectorHub.query(
39
+ 'SELECT * FROM traces WHERE event = ? ORDER BY timestamp DESC LIMIT 100',
40
+ ['reasoning_trace']
41
+ );
44
42
 
45
43
  if (traces.length === 0) {
46
44
  console.log(`[IDENTITY] No execution traces found in celestial.db. Evolution skipped.`);
@@ -49,7 +47,7 @@ class IdentitySynthesizer {
49
47
 
50
48
  // 2. Extract Decision Heuristics
51
49
  const heuristics = this._extractHeuristics(traces);
52
-
50
+
53
51
  // 3. Update SOUL.md sections (v8.1 Intelligence Mirroring)
54
52
  await this._applyMirroring(heuristics);
55
53
  }
@@ -76,11 +74,11 @@ class IdentitySynthesizer {
76
74
 
77
75
  async _applyMirroring(heuristics) {
78
76
  let content = await fs.readFile(this.soulPath, 'utf8');
79
-
77
+
80
78
  // Update the Decision Engine section with derived heuristics
81
79
  const heuristicMarker = `Decision Mode = ${heuristics.mode} (Derived from traces)`;
82
80
  content = content.replace(/Decision Mode = .*/, heuristicMarker);
83
-
81
+
84
82
  await fs.writeFile(this.soulPath, content);
85
83
  console.log(`[IDENTITY] SOUL.md evolved: Mode shifted to ${heuristics.mode}.`);
86
84
  }