mindforge-cc 9.0.0 → 10.0.0

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 (641) hide show
  1. package/.mindforge/config.json +1 -1
  2. package/CHANGELOG.md +15 -0
  3. package/LICENSE +1 -1
  4. package/MINDFORGE.md +13 -0
  5. package/README.md +7 -1
  6. package/bin/autonomous/audit-writer.js +90 -0
  7. package/bin/autonomous/auto-runner.js +209 -431
  8. package/bin/autonomous/state-manager.js +116 -0
  9. package/bin/autonomous/task-dispatcher.js +114 -0
  10. package/bin/autonomous/wave-executor.js +169 -0
  11. package/bin/browser/browser-daemon.js +31 -1
  12. package/bin/change-classifier.js +3 -3
  13. package/bin/dashboard/api-router.js +21 -22
  14. package/bin/dashboard/metrics-aggregator.js +44 -3
  15. package/bin/dashboard/server.js +54 -10
  16. package/bin/dashboard/sse-bridge.js +51 -5
  17. package/bin/engine/learning-manager.js +1 -1
  18. package/bin/engine/mesh-syncer.js +26 -22
  19. package/bin/engine/nexus-tracer.js +6 -5
  20. package/bin/engine/orbital-guardian.js +13 -10
  21. package/bin/engine/skill-evolver.js +12 -14
  22. package/bin/engine/temporal-hub.js +25 -1
  23. package/bin/governance/policy-engine.js +5 -5
  24. package/bin/governance/policy-gate-hardened.js +2 -2
  25. package/bin/governance/quantum-crypto.js +10 -2
  26. package/bin/memory/identity-synthesizer.js +9 -11
  27. package/bin/memory/knowledge-store.js +62 -6
  28. package/bin/memory/semantic-hub.js +26 -30
  29. package/bin/memory/vector-hub.js +377 -193
  30. package/bin/migrations/v8-sqlite-migration.js +22 -21
  31. package/bin/migrations/v9-unified-memory.js +1 -1
  32. package/bin/mindforge-cli.js +47 -11
  33. package/bin/models/model-broker.js +2 -0
  34. package/bin/revops/remediation-queue.js +16 -55
  35. package/bin/utils/errors.js +40 -0
  36. package/bin/utils/file-io.js +102 -0
  37. package/bin/utils/index.js +6 -0
  38. package/bin/utils/paths.js +33 -0
  39. package/docs/sdk-reference.md +374 -24
  40. package/docs/troubleshooting.md +4 -4
  41. package/examples/sdk-integration/README.md +24 -0
  42. package/examples/sdk-integration/index.js +24 -0
  43. package/examples/starter-project/MINDFORGE.md +8 -8
  44. package/package.json +25 -14
  45. package/.agent/bin/lib/commands.cjs +0 -959
  46. package/.agent/bin/lib/config.cjs +0 -421
  47. package/.agent/bin/lib/core.cjs +0 -1166
  48. package/.agent/bin/lib/frontmatter.cjs +0 -307
  49. package/.agent/bin/lib/init.cjs +0 -1336
  50. package/.agent/bin/lib/milestone.cjs +0 -252
  51. package/.agent/bin/lib/model-profiles.cjs +0 -68
  52. package/.agent/bin/lib/phase.cjs +0 -888
  53. package/.agent/bin/lib/profile-output.cjs +0 -952
  54. package/.agent/bin/lib/profile-pipeline.cjs +0 -539
  55. package/.agent/bin/lib/roadmap.cjs +0 -329
  56. package/.agent/bin/lib/security.cjs +0 -356
  57. package/.agent/bin/lib/state.cjs +0 -969
  58. package/.agent/bin/lib/template.cjs +0 -222
  59. package/.agent/bin/lib/uat.cjs +0 -189
  60. package/.agent/bin/lib/verify.cjs +0 -851
  61. package/.agent/bin/lib/workstream.cjs +0 -491
  62. package/.agent/bin/mindforge-tools.cjs +0 -897
  63. package/.agent/file-manifest.json +0 -219
  64. package/.agent/forge/help.md +0 -11
  65. package/.agent/forge/init-project.md +0 -36
  66. package/.agent/forge/plan-phase.md +0 -34
  67. package/.agent/mindforge/add-backlog.md +0 -32
  68. package/.agent/mindforge/agent.md +0 -31
  69. package/.agent/mindforge/approve.md +0 -22
  70. package/.agent/mindforge/audit.md +0 -34
  71. package/.agent/mindforge/auto.md +0 -26
  72. package/.agent/mindforge/benchmark.md +0 -37
  73. package/.agent/mindforge/browse.md +0 -30
  74. package/.agent/mindforge/complete-milestone.md +0 -22
  75. package/.agent/mindforge/costs.md +0 -15
  76. package/.agent/mindforge/cross-review.md +0 -21
  77. package/.agent/mindforge/dashboard.md +0 -102
  78. package/.agent/mindforge/debug.md +0 -133
  79. package/.agent/mindforge/discuss-phase.md +0 -142
  80. package/.agent/mindforge/do.md +0 -31
  81. package/.agent/mindforge/execute-phase.md +0 -200
  82. package/.agent/mindforge/health.md +0 -31
  83. package/.agent/mindforge/help.md +0 -33
  84. package/.agent/mindforge/init-org.md +0 -135
  85. package/.agent/mindforge/init-project.md +0 -170
  86. package/.agent/mindforge/install-skill.md +0 -28
  87. package/.agent/mindforge/learn.md +0 -147
  88. package/.agent/mindforge/learning.md +0 -20
  89. package/.agent/mindforge/map-codebase.md +0 -302
  90. package/.agent/mindforge/marketplace.md +0 -124
  91. package/.agent/mindforge/metrics.md +0 -26
  92. package/.agent/mindforge/migrate.md +0 -44
  93. package/.agent/mindforge/milestone.md +0 -16
  94. package/.agent/mindforge/new-runtime.md +0 -23
  95. package/.agent/mindforge/next.md +0 -109
  96. package/.agent/mindforge/note.md +0 -35
  97. package/.agent/mindforge/plan-phase.md +0 -131
  98. package/.agent/mindforge/plant-seed.md +0 -31
  99. package/.agent/mindforge/plugins.md +0 -44
  100. package/.agent/mindforge/pr-review.md +0 -45
  101. package/.agent/mindforge/profile-team.md +0 -27
  102. package/.agent/mindforge/publish-skill.md +0 -23
  103. package/.agent/mindforge/qa.md +0 -20
  104. package/.agent/mindforge/quick.md +0 -139
  105. package/.agent/mindforge/record-learning.md +0 -22
  106. package/.agent/mindforge/release.md +0 -14
  107. package/.agent/mindforge/remember.md +0 -30
  108. package/.agent/mindforge/research.md +0 -16
  109. package/.agent/mindforge/retrospective.md +0 -31
  110. package/.agent/mindforge/review-backlog.md +0 -34
  111. package/.agent/mindforge/review.md +0 -161
  112. package/.agent/mindforge/security-scan.md +0 -242
  113. package/.agent/mindforge/session-report.md +0 -39
  114. package/.agent/mindforge/ship.md +0 -111
  115. package/.agent/mindforge/skills.md +0 -145
  116. package/.agent/mindforge/status.md +0 -113
  117. package/.agent/mindforge/steer.md +0 -17
  118. package/.agent/mindforge/sync-confluence.md +0 -15
  119. package/.agent/mindforge/sync-jira.md +0 -16
  120. package/.agent/mindforge/tokens.md +0 -12
  121. package/.agent/mindforge/ui-phase.md +0 -34
  122. package/.agent/mindforge/ui-review.md +0 -36
  123. package/.agent/mindforge/update.md +0 -46
  124. package/.agent/mindforge/validate-phase.md +0 -31
  125. package/.agent/mindforge/verify-phase.md +0 -66
  126. package/.agent/mindforge/workspace.md +0 -33
  127. package/.agent/mindforge/workstreams.md +0 -35
  128. package/.agent/settings.json +0 -42
  129. package/.agent/skills/mindforge-add-backlog/SKILL.md +0 -72
  130. package/.agent/skills/mindforge-add-phase/SKILL.md +0 -39
  131. package/.agent/skills/mindforge-add-tests/SKILL.md +0 -28
  132. package/.agent/skills/mindforge-add-todo/SKILL.md +0 -42
  133. package/.agent/skills/mindforge-audit-milestone/SKILL.md +0 -29
  134. package/.agent/skills/mindforge-audit-uat/SKILL.md +0 -20
  135. package/.agent/skills/mindforge-autonomous/SKILL.md +0 -33
  136. package/.agent/skills/mindforge-brainstorming/SKILL.md +0 -164
  137. package/.agent/skills/mindforge-brainstorming/scripts/frame-template.html +0 -214
  138. package/.agent/skills/mindforge-brainstorming/scripts/helper.js +0 -88
  139. package/.agent/skills/mindforge-brainstorming/scripts/server.cjs +0 -354
  140. package/.agent/skills/mindforge-brainstorming/scripts/start-server.sh +0 -148
  141. package/.agent/skills/mindforge-brainstorming/scripts/stop-server.sh +0 -56
  142. package/.agent/skills/mindforge-brainstorming/spec-document-reviewer-prompt.md +0 -49
  143. package/.agent/skills/mindforge-brainstorming/visual-companion.md +0 -287
  144. package/.agent/skills/mindforge-check-todos/SKILL.md +0 -40
  145. package/.agent/skills/mindforge-cleanup/SKILL.md +0 -19
  146. package/.agent/skills/mindforge-complete-milestone/SKILL.md +0 -131
  147. package/.agent/skills/mindforge-debug/SKILL.md +0 -163
  148. package/.agent/skills/mindforge-debug_extended/CREATION-LOG.md +0 -119
  149. package/.agent/skills/mindforge-debug_extended/SKILL.md +0 -296
  150. package/.agent/skills/mindforge-debug_extended/condition-based-waiting-example.ts +0 -158
  151. package/.agent/skills/mindforge-debug_extended/condition-based-waiting.md +0 -115
  152. package/.agent/skills/mindforge-debug_extended/defense-in-depth.md +0 -122
  153. package/.agent/skills/mindforge-debug_extended/find-polluter.sh +0 -63
  154. package/.agent/skills/mindforge-debug_extended/root-cause-tracing.md +0 -169
  155. package/.agent/skills/mindforge-debug_extended/test-academic.md +0 -14
  156. package/.agent/skills/mindforge-debug_extended/test-pressure-1.md +0 -58
  157. package/.agent/skills/mindforge-debug_extended/test-pressure-2.md +0 -68
  158. package/.agent/skills/mindforge-debug_extended/test-pressure-3.md +0 -69
  159. package/.agent/skills/mindforge-discuss-phase/SKILL.md +0 -54
  160. package/.agent/skills/mindforge-do/SKILL.md +0 -26
  161. package/.agent/skills/mindforge-execute-phase/SKILL.md +0 -49
  162. package/.agent/skills/mindforge-execute-phase_extended/SKILL.md +0 -70
  163. package/.agent/skills/mindforge-fast/SKILL.md +0 -23
  164. package/.agent/skills/mindforge-forensics/SKILL.md +0 -49
  165. package/.agent/skills/mindforge-health/SKILL.md +0 -17
  166. package/.agent/skills/mindforge-help/SKILL.md +0 -23
  167. package/.agent/skills/mindforge-insert-phase/SKILL.md +0 -28
  168. package/.agent/skills/mindforge-join-discord/SKILL.md +0 -19
  169. package/.agent/skills/mindforge-list-phase-assumptions/SKILL.md +0 -41
  170. package/.agent/skills/mindforge-list-workspaces/SKILL.md +0 -17
  171. package/.agent/skills/mindforge-manager/SKILL.md +0 -32
  172. package/.agent/skills/mindforge-map-codebase/SKILL.md +0 -64
  173. package/.agent/skills/mindforge-milestone-summary/SKILL.md +0 -44
  174. package/.agent/skills/mindforge-neural-orchestrator/SKILL.md +0 -115
  175. package/.agent/skills/mindforge-neural-orchestrator/references/codex-tools.md +0 -100
  176. package/.agent/skills/mindforge-neural-orchestrator/references/gemini-tools.md +0 -33
  177. package/.agent/skills/mindforge-new-milestone/SKILL.md +0 -38
  178. package/.agent/skills/mindforge-new-project/SKILL.md +0 -36
  179. package/.agent/skills/mindforge-new-workspace/SKILL.md +0 -39
  180. package/.agent/skills/mindforge-next/SKILL.md +0 -19
  181. package/.agent/skills/mindforge-note/SKILL.md +0 -29
  182. package/.agent/skills/mindforge-parallel-mesh_extended/SKILL.md +0 -182
  183. package/.agent/skills/mindforge-pause-work/SKILL.md +0 -35
  184. package/.agent/skills/mindforge-plan-milestone-gaps/SKILL.md +0 -28
  185. package/.agent/skills/mindforge-plan-phase/SKILL.md +0 -38
  186. package/.agent/skills/mindforge-plan-phase_extended/SKILL.md +0 -152
  187. package/.agent/skills/mindforge-plan-phase_extended/plan-document-reviewer-prompt.md +0 -49
  188. package/.agent/skills/mindforge-plant-seed/SKILL.md +0 -22
  189. package/.agent/skills/mindforge-pr-branch/SKILL.md +0 -21
  190. package/.agent/skills/mindforge-profile-user/SKILL.md +0 -38
  191. package/.agent/skills/mindforge-progress/SKILL.md +0 -19
  192. package/.agent/skills/mindforge-quick/SKILL.md +0 -38
  193. package/.agent/skills/mindforge-reapply-patches/SKILL.md +0 -124
  194. package/.agent/skills/mindforge-remove-phase/SKILL.md +0 -26
  195. package/.agent/skills/mindforge-remove-workspace/SKILL.md +0 -22
  196. package/.agent/skills/mindforge-research-phase/SKILL.md +0 -186
  197. package/.agent/skills/mindforge-resume-work/SKILL.md +0 -35
  198. package/.agent/skills/mindforge-review/SKILL.md +0 -31
  199. package/.agent/skills/mindforge-review-backlog/SKILL.md +0 -58
  200. package/.agent/skills/mindforge-review-inbound/SKILL.md +0 -213
  201. package/.agent/skills/mindforge-review-request/SKILL.md +0 -105
  202. package/.agent/skills/mindforge-review-request/code-reviewer.md +0 -146
  203. package/.agent/skills/mindforge-session-report/SKILL.md +0 -16
  204. package/.agent/skills/mindforge-set-profile/SKILL.md +0 -9
  205. package/.agent/skills/mindforge-settings/SKILL.md +0 -32
  206. package/.agent/skills/mindforge-ship/SKILL.md +0 -16
  207. package/.agent/skills/mindforge-ship_extended/SKILL.md +0 -200
  208. package/.agent/skills/mindforge-skill-creation/SKILL.md +0 -655
  209. package/.agent/skills/mindforge-skill-creation/anthropic-best-practices.md +0 -1150
  210. package/.agent/skills/mindforge-skill-creation/examples/CLAUDE_MD_TESTING.md +0 -189
  211. package/.agent/skills/mindforge-skill-creation/graphviz-conventions.dot +0 -172
  212. package/.agent/skills/mindforge-skill-creation/persuasion-principles.md +0 -187
  213. package/.agent/skills/mindforge-skill-creation/render-graphs.js +0 -168
  214. package/.agent/skills/mindforge-skill-creation/testing-skills-with-subagents.md +0 -384
  215. package/.agent/skills/mindforge-stats/SKILL.md +0 -16
  216. package/.agent/skills/mindforge-swarm-execution/SKILL.md +0 -277
  217. package/.agent/skills/mindforge-swarm-execution/code-quality-reviewer-prompt.md +0 -26
  218. package/.agent/skills/mindforge-swarm-execution/implementer-prompt.md +0 -113
  219. package/.agent/skills/mindforge-swarm-execution/spec-reviewer-prompt.md +0 -61
  220. package/.agent/skills/mindforge-system-architecture/SKILL.md +0 -136
  221. package/.agent/skills/mindforge-system-architecture/examples.md +0 -120
  222. package/.agent/skills/mindforge-system-architecture/scaling-checklist.md +0 -76
  223. package/.agent/skills/mindforge-tdd/SKILL.md +0 -112
  224. package/.agent/skills/mindforge-tdd/deep-modules.md +0 -21
  225. package/.agent/skills/mindforge-tdd/interface-design.md +0 -22
  226. package/.agent/skills/mindforge-tdd/mocking.md +0 -24
  227. package/.agent/skills/mindforge-tdd/refactoring.md +0 -21
  228. package/.agent/skills/mindforge-tdd/tests.md +0 -28
  229. package/.agent/skills/mindforge-tdd_extended/SKILL.md +0 -371
  230. package/.agent/skills/mindforge-tdd_extended/testing-anti-patterns.md +0 -299
  231. package/.agent/skills/mindforge-thread/SKILL.md +0 -123
  232. package/.agent/skills/mindforge-ui-phase/SKILL.md +0 -24
  233. package/.agent/skills/mindforge-ui-review/SKILL.md +0 -24
  234. package/.agent/skills/mindforge-update/SKILL.md +0 -35
  235. package/.agent/skills/mindforge-validate-phase/SKILL.md +0 -26
  236. package/.agent/skills/mindforge-verify-work/SKILL.md +0 -30
  237. package/.agent/skills/mindforge-verify-work_extended/SKILL.md +0 -139
  238. package/.agent/skills/mindforge-workspace-isolated/SKILL.md +0 -218
  239. package/.agent/skills/mindforge-workstreams/SKILL.md +0 -65
  240. package/.agent/workflows/forge:help.md +0 -10
  241. package/.agent/workflows/forge:init-project.md +0 -35
  242. package/.agent/workflows/forge:plan-phase.md +0 -33
  243. package/.agent/workflows/mindforge-add-phase.md +0 -112
  244. package/.agent/workflows/mindforge-add-tests.md +0 -351
  245. package/.agent/workflows/mindforge-add-todo.md +0 -158
  246. package/.agent/workflows/mindforge-audit-milestone.md +0 -332
  247. package/.agent/workflows/mindforge-audit-uat.md +0 -109
  248. package/.agent/workflows/mindforge-autonomous.md +0 -815
  249. package/.agent/workflows/mindforge-check-todos.md +0 -177
  250. package/.agent/workflows/mindforge-cleanup.md +0 -152
  251. package/.agent/workflows/mindforge-complete-milestone.md +0 -766
  252. package/.agent/workflows/mindforge-diagnose-issues.md +0 -220
  253. package/.agent/workflows/mindforge-discovery-phase.md +0 -289
  254. package/.agent/workflows/mindforge-discuss-phase-assumptions.md +0 -645
  255. package/.agent/workflows/mindforge-discuss-phase.md +0 -1047
  256. package/.agent/workflows/mindforge-do.md +0 -104
  257. package/.agent/workflows/mindforge-execute-phase.md +0 -838
  258. package/.agent/workflows/mindforge-execute-plan.md +0 -509
  259. package/.agent/workflows/mindforge-fast.md +0 -105
  260. package/.agent/workflows/mindforge-forensics.md +0 -265
  261. package/.agent/workflows/mindforge-health.md +0 -181
  262. package/.agent/workflows/mindforge-help.md +0 -606
  263. package/.agent/workflows/mindforge-insert-phase.md +0 -130
  264. package/.agent/workflows/mindforge-list-phase-assumptions.md +0 -178
  265. package/.agent/workflows/mindforge-list-workspaces.md +0 -56
  266. package/.agent/workflows/mindforge-manager.md +0 -360
  267. package/.agent/workflows/mindforge-map-codebase.md +0 -370
  268. package/.agent/workflows/mindforge-milestone-summary.md +0 -223
  269. package/.agent/workflows/mindforge-new-milestone.md +0 -469
  270. package/.agent/workflows/mindforge-new-project.md +0 -1226
  271. package/.agent/workflows/mindforge-new-workspace.md +0 -237
  272. package/.agent/workflows/mindforge-next.md +0 -97
  273. package/.agent/workflows/mindforge-node-repair.md +0 -92
  274. package/.agent/workflows/mindforge-note.md +0 -156
  275. package/.agent/workflows/mindforge-pause-work.md +0 -176
  276. package/.agent/workflows/mindforge-plan-milestone-gaps.md +0 -273
  277. package/.agent/workflows/mindforge-plan-phase.md +0 -877
  278. package/.agent/workflows/mindforge-plant-seed.md +0 -169
  279. package/.agent/workflows/mindforge-pr-branch.md +0 -129
  280. package/.agent/workflows/mindforge-profile-user.md +0 -450
  281. package/.agent/workflows/mindforge-progress.md +0 -507
  282. package/.agent/workflows/mindforge-quick.md +0 -732
  283. package/.agent/workflows/mindforge-remove-phase.md +0 -155
  284. package/.agent/workflows/mindforge-remove-workspace.md +0 -90
  285. package/.agent/workflows/mindforge-research-phase.md +0 -74
  286. package/.agent/workflows/mindforge-resume-project.md +0 -325
  287. package/.agent/workflows/mindforge-review.md +0 -228
  288. package/.agent/workflows/mindforge-session-report.md +0 -146
  289. package/.agent/workflows/mindforge-settings.md +0 -283
  290. package/.agent/workflows/mindforge-ship.md +0 -228
  291. package/.agent/workflows/mindforge-stats.md +0 -60
  292. package/.agent/workflows/mindforge-transition.md +0 -671
  293. package/.agent/workflows/mindforge-ui-phase.md +0 -290
  294. package/.agent/workflows/mindforge-ui-review.md +0 -157
  295. package/.agent/workflows/mindforge-update.md +0 -323
  296. package/.agent/workflows/mindforge-validate-phase.md +0 -167
  297. package/.agent/workflows/mindforge-verify-phase.md +0 -254
  298. package/.agent/workflows/mindforge-verify-work.md +0 -628
  299. package/.agent/workflows/mindforge:add-backlog.md +0 -24
  300. package/.agent/workflows/mindforge:agent.md +0 -25
  301. package/.agent/workflows/mindforge:approve.md +0 -21
  302. package/.agent/workflows/mindforge:architecture.md +0 -40
  303. package/.agent/workflows/mindforge:audit.md +0 -33
  304. package/.agent/workflows/mindforge:auto.md +0 -25
  305. package/.agent/workflows/mindforge:benchmark.md +0 -36
  306. package/.agent/workflows/mindforge:brainstorming.md +0 -16
  307. package/.agent/workflows/mindforge:browse.md +0 -29
  308. package/.agent/workflows/mindforge:complete-milestone.md +0 -21
  309. package/.agent/workflows/mindforge:costs.md +0 -14
  310. package/.agent/workflows/mindforge:cross-review.md +0 -20
  311. package/.agent/workflows/mindforge:dashboard.md +0 -101
  312. package/.agent/workflows/mindforge:debug.md +0 -131
  313. package/.agent/workflows/mindforge:discuss-phase.md +0 -141
  314. package/.agent/workflows/mindforge:do.md +0 -25
  315. package/.agent/workflows/mindforge:execute-phase.md +0 -205
  316. package/.agent/workflows/mindforge:executor.md +0 -18
  317. package/.agent/workflows/mindforge:health.md +0 -24
  318. package/.agent/workflows/mindforge:help.md +0 -26
  319. package/.agent/workflows/mindforge:identity.md +0 -18
  320. package/.agent/workflows/mindforge:init-org.md +0 -134
  321. package/.agent/workflows/mindforge:init-project.md +0 -185
  322. package/.agent/workflows/mindforge:install-skill.md +0 -27
  323. package/.agent/workflows/mindforge:learn.md +0 -146
  324. package/.agent/workflows/mindforge:map-codebase.md +0 -301
  325. package/.agent/workflows/mindforge:marketplace.md +0 -123
  326. package/.agent/workflows/mindforge:memory.md +0 -18
  327. package/.agent/workflows/mindforge:metrics.md +0 -25
  328. package/.agent/workflows/mindforge:migrate.md +0 -43
  329. package/.agent/workflows/mindforge:milestone.md +0 -15
  330. package/.agent/workflows/mindforge:new-runtime.md +0 -22
  331. package/.agent/workflows/mindforge:next.md +0 -108
  332. package/.agent/workflows/mindforge:note.md +0 -27
  333. package/.agent/workflows/mindforge:plan-phase.md +0 -139
  334. package/.agent/workflows/mindforge:planner.md +0 -18
  335. package/.agent/workflows/mindforge:plant-seed.md +0 -24
  336. package/.agent/workflows/mindforge:plugins.md +0 -43
  337. package/.agent/workflows/mindforge:pr-review.md +0 -44
  338. package/.agent/workflows/mindforge:profile-team.md +0 -26
  339. package/.agent/workflows/mindforge:publish-skill.md +0 -22
  340. package/.agent/workflows/mindforge:qa.md +0 -19
  341. package/.agent/workflows/mindforge:quick.md +0 -138
  342. package/.agent/workflows/mindforge:release.md +0 -13
  343. package/.agent/workflows/mindforge:remember.md +0 -29
  344. package/.agent/workflows/mindforge:research.md +0 -15
  345. package/.agent/workflows/mindforge:researcher.md +0 -18
  346. package/.agent/workflows/mindforge:retrospective.md +0 -29
  347. package/.agent/workflows/mindforge:review-backlog.md +0 -26
  348. package/.agent/workflows/mindforge:review.md +0 -160
  349. package/.agent/workflows/mindforge:reviewer.md +0 -18
  350. package/.agent/workflows/mindforge:security-scan.md +0 -236
  351. package/.agent/workflows/mindforge:session-report.md +0 -31
  352. package/.agent/workflows/mindforge:ship.md +0 -108
  353. package/.agent/workflows/mindforge:skills.md +0 -144
  354. package/.agent/workflows/mindforge:soul.md +0 -54
  355. package/.agent/workflows/mindforge:status.md +0 -107
  356. package/.agent/workflows/mindforge:steer.md +0 -16
  357. package/.agent/workflows/mindforge:sync-confluence.md +0 -14
  358. package/.agent/workflows/mindforge:sync-jira.md +0 -15
  359. package/.agent/workflows/mindforge:tdd.md +0 -46
  360. package/.agent/workflows/mindforge:tokens.md +0 -11
  361. package/.agent/workflows/mindforge:tool.md +0 -18
  362. package/.agent/workflows/mindforge:ui-phase.md +0 -27
  363. package/.agent/workflows/mindforge:ui-review.md +0 -28
  364. package/.agent/workflows/mindforge:update.md +0 -45
  365. package/.agent/workflows/mindforge:validate-phase.md +0 -25
  366. package/.agent/workflows/mindforge:verify-phase.md +0 -65
  367. package/.agent/workflows/mindforge:workspace.md +0 -32
  368. package/.agent/workflows/mindforge:workstreams.md +0 -27
  369. package/.agent/workflows/publish-release.md +0 -36
  370. package/.claude/CLAUDE.md +0 -102
  371. package/.claude/commands/forge/help.md +0 -7
  372. package/.claude/commands/forge/init-project.md +0 -32
  373. package/.claude/commands/forge/plan-phase.md +0 -30
  374. package/.claude/commands/mindforge/add-backlog.md +0 -32
  375. package/.claude/commands/mindforge/agent.md +0 -31
  376. package/.claude/commands/mindforge/approve.md +0 -22
  377. package/.claude/commands/mindforge/audit.md +0 -34
  378. package/.claude/commands/mindforge/auto.md +0 -26
  379. package/.claude/commands/mindforge/benchmark.md +0 -37
  380. package/.claude/commands/mindforge/browse.md +0 -30
  381. package/.claude/commands/mindforge/complete-milestone.md +0 -22
  382. package/.claude/commands/mindforge/costs.md +0 -15
  383. package/.claude/commands/mindforge/cross-review.md +0 -21
  384. package/.claude/commands/mindforge/dashboard.md +0 -102
  385. package/.claude/commands/mindforge/debug.md +0 -133
  386. package/.claude/commands/mindforge/discuss-phase.md +0 -142
  387. package/.claude/commands/mindforge/do.md +0 -31
  388. package/.claude/commands/mindforge/execute-phase.md +0 -200
  389. package/.claude/commands/mindforge/health.md +0 -31
  390. package/.claude/commands/mindforge/help.md +0 -33
  391. package/.claude/commands/mindforge/init-org.md +0 -135
  392. package/.claude/commands/mindforge/init-project.md +0 -170
  393. package/.claude/commands/mindforge/install-skill.md +0 -28
  394. package/.claude/commands/mindforge/learn.md +0 -147
  395. package/.claude/commands/mindforge/learning.md +0 -20
  396. package/.claude/commands/mindforge/map-codebase.md +0 -302
  397. package/.claude/commands/mindforge/marketplace.md +0 -124
  398. package/.claude/commands/mindforge/metrics.md +0 -26
  399. package/.claude/commands/mindforge/migrate.md +0 -44
  400. package/.claude/commands/mindforge/milestone.md +0 -16
  401. package/.claude/commands/mindforge/new-runtime.md +0 -23
  402. package/.claude/commands/mindforge/next.md +0 -109
  403. package/.claude/commands/mindforge/note.md +0 -35
  404. package/.claude/commands/mindforge/plan-phase.md +0 -131
  405. package/.claude/commands/mindforge/plant-seed.md +0 -31
  406. package/.claude/commands/mindforge/plugins.md +0 -44
  407. package/.claude/commands/mindforge/pr-review.md +0 -45
  408. package/.claude/commands/mindforge/profile-team.md +0 -27
  409. package/.claude/commands/mindforge/publish-skill.md +0 -23
  410. package/.claude/commands/mindforge/qa.md +0 -20
  411. package/.claude/commands/mindforge/quick.md +0 -139
  412. package/.claude/commands/mindforge/record-learning.md +0 -22
  413. package/.claude/commands/mindforge/release.md +0 -14
  414. package/.claude/commands/mindforge/remember.md +0 -30
  415. package/.claude/commands/mindforge/research.md +0 -16
  416. package/.claude/commands/mindforge/retrospective.md +0 -31
  417. package/.claude/commands/mindforge/review-backlog.md +0 -34
  418. package/.claude/commands/mindforge/review.md +0 -161
  419. package/.claude/commands/mindforge/security-scan.md +0 -242
  420. package/.claude/commands/mindforge/session-report.md +0 -39
  421. package/.claude/commands/mindforge/ship.md +0 -111
  422. package/.claude/commands/mindforge/skills.md +0 -145
  423. package/.claude/commands/mindforge/status.md +0 -113
  424. package/.claude/commands/mindforge/steer.md +0 -17
  425. package/.claude/commands/mindforge/sync-confluence.md +0 -15
  426. package/.claude/commands/mindforge/sync-jira.md +0 -16
  427. package/.claude/commands/mindforge/tokens.md +0 -12
  428. package/.claude/commands/mindforge/ui-phase.md +0 -34
  429. package/.claude/commands/mindforge/ui-review.md +0 -36
  430. package/.claude/commands/mindforge/update.md +0 -46
  431. package/.claude/commands/mindforge/validate-phase.md +0 -31
  432. package/.claude/commands/mindforge/verify-phase.md +0 -66
  433. package/.claude/commands/mindforge/workspace.md +0 -33
  434. package/.claude/commands/mindforge/workstreams.md +0 -35
  435. package/.claude/settings.local.json +0 -16
  436. package/.mindforge/audit/AUDIT-SCHEMA.md +0 -470
  437. package/.mindforge/browser/daemon-protocol.md +0 -24
  438. package/.mindforge/browser/qa-engine.md +0 -16
  439. package/.mindforge/browser/session-manager.md +0 -18
  440. package/.mindforge/browser/visual-verify-spec.md +0 -31
  441. package/.mindforge/celestial.db +0 -0
  442. package/.mindforge/ci/ci-config-schema.md +0 -21
  443. package/.mindforge/ci/ci-mode.md +0 -179
  444. package/.mindforge/ci/github-actions-adapter.md +0 -224
  445. package/.mindforge/ci/gitlab-ci-adapter.md +0 -31
  446. package/.mindforge/ci/jenkins-adapter.md +0 -44
  447. package/.mindforge/dashboard/api-reference.md +0 -122
  448. package/.mindforge/dashboard/dashboard-spec.md +0 -96
  449. package/.mindforge/distribution/marketplace.md +0 -53
  450. package/.mindforge/distribution/registry-client.md +0 -166
  451. package/.mindforge/distribution/registry-schema.md +0 -96
  452. package/.mindforge/distribution/skill-publisher.md +0 -44
  453. package/.mindforge/distribution/skill-validator.md +0 -74
  454. package/.mindforge/governance/GOVERNANCE-CONFIG.md +0 -17
  455. package/.mindforge/governance/approval-workflow.md +0 -37
  456. package/.mindforge/governance/change-classifier.md +0 -63
  457. package/.mindforge/governance/compliance-gates.md +0 -31
  458. package/.mindforge/governance/policies/sovereign-default.json +0 -16
  459. package/.mindforge/integrations/confluence.md +0 -27
  460. package/.mindforge/integrations/connection-manager.md +0 -163
  461. package/.mindforge/integrations/github.md +0 -25
  462. package/.mindforge/integrations/gitlab.md +0 -13
  463. package/.mindforge/integrations/jira.md +0 -102
  464. package/.mindforge/integrations/slack.md +0 -41
  465. package/.mindforge/intelligence/antipattern-detector.md +0 -75
  466. package/.mindforge/intelligence/difficulty-scorer.md +0 -55
  467. package/.mindforge/intelligence/health-engine.md +0 -208
  468. package/.mindforge/intelligence/skill-gap-analyser.md +0 -40
  469. package/.mindforge/intelligence/smart-compaction.md +0 -71
  470. package/.mindforge/memory/MEMORY-SCHEMA.md +0 -155
  471. package/.mindforge/memory/engine/capture-protocol.md +0 -36
  472. package/.mindforge/memory/engine/global-sync-spec.md +0 -42
  473. package/.mindforge/memory/engine/retrieval-spec.md +0 -44
  474. package/.mindforge/memory/sync-manifest.json +0 -6
  475. package/.mindforge/metrics/METRICS-SCHEMA.md +0 -42
  476. package/.mindforge/metrics/quality-tracker.md +0 -32
  477. package/.mindforge/models/model-registry.md +0 -48
  478. package/.mindforge/models/model-router.md +0 -30
  479. package/.mindforge/monorepo/cross-package-planner.md +0 -114
  480. package/.mindforge/monorepo/dependency-graph-builder.md +0 -32
  481. package/.mindforge/monorepo/workspace-detector.md +0 -129
  482. package/.mindforge/org/CONVENTIONS.md +0 -62
  483. package/.mindforge/org/ORG.md +0 -51
  484. package/.mindforge/org/SECURITY.md +0 -50
  485. package/.mindforge/org/TOOLS.md +0 -53
  486. package/.mindforge/org/integrations/INTEGRATIONS-CONFIG.md +0 -58
  487. package/.mindforge/org/skills/MANIFEST.md +0 -15
  488. package/.mindforge/plugins/PLUGINS-MANIFEST.md +0 -23
  489. package/.mindforge/plugins/plugin-loader.md +0 -93
  490. package/.mindforge/plugins/plugin-registry.md +0 -44
  491. package/.mindforge/plugins/plugin-schema.md +0 -68
  492. package/.mindforge/pr-review/ai-reviewer.md +0 -266
  493. package/.mindforge/pr-review/finding-formatter.md +0 -46
  494. package/.mindforge/pr-review/review-prompt-templates.md +0 -44
  495. package/.mindforge/production/compatibility-layer.md +0 -39
  496. package/.mindforge/production/migration-engine.md +0 -52
  497. package/.mindforge/production/production-checklist.md +0 -76
  498. package/.mindforge/production/token-optimiser.md +0 -68
  499. package/.mindforge/skills-builder/auto-capture-protocol.md +0 -88
  500. package/.mindforge/skills-builder/learn-protocol.md +0 -161
  501. package/.mindforge/skills-builder/quality-scoring.md +0 -120
  502. package/.mindforge/team/TEAM-PROFILE.md +0 -42
  503. package/.mindforge/team/multi-handoff.md +0 -23
  504. package/.mindforge/team/profiles/README.md +0 -13
  505. package/.mindforge/team/session-merger.md +0 -18
  506. package/.planning/ARCHITECTURE.md +0 -0
  507. package/.planning/HANDOFF.json +0 -8
  508. package/.planning/PROJECT.md +0 -33
  509. package/.planning/RELEASE-CHECKLIST.md +0 -68
  510. package/.planning/REQUIREMENTS.md +0 -35
  511. package/.planning/ROADMAP.md +0 -12
  512. package/.planning/STATE.md +0 -36
  513. package/.planning/approvals/.gitkeep +0 -1
  514. package/.planning/archive/.gitkeep +0 -1
  515. package/.planning/audit-archive/.gitkeep +0 -1
  516. package/.planning/decisions/.gitkeep +0 -0
  517. package/.planning/jira-sync.json +0 -1
  518. package/.planning/milestones/.gitkeep +0 -1
  519. package/.planning/phases/.gitkeep +0 -0
  520. package/.planning/research/.gitkeep +0 -0
  521. package/.planning/screenshots/.gitkeep +0 -0
  522. package/.planning/slack-threads.json +0 -1
  523. package/docs/CAPABILITIES-MANIFEST.md +0 -64
  524. package/docs/Context/Master-Context.md +0 -731
  525. package/docs/INTELLIGENCE-MESH.md +0 -37
  526. package/docs/MIND-FORGE-REFERENCE-V6.md +0 -96
  527. package/docs/PERSONAS.md +0 -960
  528. package/docs/References/audit-events.md +0 -59
  529. package/docs/References/checkpoints.md +0 -778
  530. package/docs/References/commands.md +0 -107
  531. package/docs/References/config-reference.md +0 -81
  532. package/docs/References/continuation-format.md +0 -249
  533. package/docs/References/decimal-phase-calculation.md +0 -64
  534. package/docs/References/git-integration.md +0 -295
  535. package/docs/References/git-planning-commit.md +0 -38
  536. package/docs/References/model-profile-resolution.md +0 -36
  537. package/docs/References/model-profiles.md +0 -139
  538. package/docs/References/phase-argument-parsing.md +0 -61
  539. package/docs/References/planning-config.md +0 -202
  540. package/docs/References/questioning.md +0 -162
  541. package/docs/References/sdk-api.md +0 -53
  542. package/docs/References/skills-api.md +0 -57
  543. package/docs/References/tdd.md +0 -263
  544. package/docs/References/ui-brand.md +0 -160
  545. package/docs/References/user-profiling.md +0 -681
  546. package/docs/References/verification-patterns.md +0 -612
  547. package/docs/References/workstream-flag.md +0 -58
  548. package/docs/Templates/Agents/CLAUDE-MD.md +0 -122
  549. package/docs/Templates/Agents/COPILOT-INSTRUCTIONS.md +0 -7
  550. package/docs/Templates/Agents/DEBUGGER-PROMPT.md +0 -91
  551. package/docs/Templates/Agents/PLANNER-PROMPT.md +0 -117
  552. package/docs/Templates/Codebase/architecture.md +0 -255
  553. package/docs/Templates/Codebase/concerns.md +0 -310
  554. package/docs/Templates/Codebase/conventions.md +0 -307
  555. package/docs/Templates/Codebase/integrations.md +0 -280
  556. package/docs/Templates/Codebase/stack.md +0 -186
  557. package/docs/Templates/Codebase/structure.md +0 -285
  558. package/docs/Templates/Codebase/testing.md +0 -480
  559. package/docs/Templates/Execution/CONTINUE-HERE.md +0 -78
  560. package/docs/Templates/Execution/DISCUSSION-LOG.md +0 -63
  561. package/docs/Templates/Execution/PHASE-PROMPT.md +0 -610
  562. package/docs/Templates/Execution/STATE.md +0 -176
  563. package/docs/Templates/Execution/SUMMARY-COMPLEX.md +0 -59
  564. package/docs/Templates/Execution/SUMMARY-MINIMAL.md +0 -41
  565. package/docs/Templates/Execution/SUMMARY-STANDARD.md +0 -48
  566. package/docs/Templates/Execution/SUMMARY.md +0 -248
  567. package/docs/Templates/Profile/DEV-PREFERENCES.md +0 -21
  568. package/docs/Templates/Profile/USER-PROFILE.md +0 -146
  569. package/docs/Templates/Profile/USER-SETUP.md +0 -311
  570. package/docs/Templates/Project/AGENTS_LEARNING.md +0 -88
  571. package/docs/Templates/Project/DISCOVERY.md +0 -146
  572. package/docs/Templates/Project/MILESTONE-ARCHIVE.md +0 -123
  573. package/docs/Templates/Project/MILESTONE.md +0 -115
  574. package/docs/Templates/Project/PROJECT.md +0 -206
  575. package/docs/Templates/Project/REQUIREMENTS.md +0 -231
  576. package/docs/Templates/Project/RETROSPECTIVE.md +0 -54
  577. package/docs/Templates/Project/ROADMAP.md +0 -202
  578. package/docs/Templates/Quality/DEBUG.md +0 -164
  579. package/docs/Templates/Quality/UAT.md +0 -280
  580. package/docs/Templates/Quality/UI-SPEC.md +0 -100
  581. package/docs/Templates/Quality/VALIDATION.md +0 -76
  582. package/docs/Templates/Quality/VERIFICATION-REPORT.md +0 -322
  583. package/docs/Templates/Research/ARCHITECTURE.md +0 -204
  584. package/docs/Templates/Research/FEATURES.md +0 -147
  585. package/docs/Templates/Research/PITFALLS.md +0 -200
  586. package/docs/Templates/Research/STACK.md +0 -120
  587. package/docs/Templates/Research/SUMMARY.md +0 -170
  588. package/docs/Templates/System/CONFIG.json +0 -43
  589. package/docs/Templates/System/CONTEXT.md +0 -352
  590. package/docs/adr/ADR-024-browser-localhost-only.md +0 -17
  591. package/docs/adr/ADR-025-visual-verify-failure-treatment.md +0 -19
  592. package/docs/adr/ADR-026-session-persistence-security.md +0 -20
  593. package/docs/adr/ADR-042-ads-protocol.md +0 -30
  594. package/docs/architecture/NEXUS-DASHBOARD.md +0 -35
  595. package/docs/architecture/PAR-ZTS-SURVEY.md +0 -43
  596. package/docs/architecture/README.md +0 -78
  597. package/docs/architecture/V3-CORE.md +0 -52
  598. package/docs/architecture/V4-SWARM-MESH.md +0 -77
  599. package/docs/architecture/V5-ENTERPRISE.md +0 -131
  600. package/docs/architecture/V6-SOVEREIGN.md +0 -43
  601. package/docs/architecture/V8-SRE.md +0 -88
  602. package/docs/architecture/V9-BEDROCK.md +0 -162
  603. package/docs/architecture/adr-039-multi-runtime-support.md +0 -20
  604. package/docs/architecture/adr-040-additive-schema-migration.md +0 -21
  605. package/docs/architecture/adr-041-stable-runtime-interface-contract.md +0 -20
  606. package/docs/architecture/decision-records-index.md +0 -29
  607. package/docs/ci-cd-integration.md +0 -30
  608. package/docs/ci-cd.md +0 -92
  609. package/docs/ci-quickstart.md +0 -78
  610. package/docs/commands-skills/DISCOVERED_SKILLS.md +0 -21
  611. package/docs/contributing/CONTRIBUTING.md +0 -38
  612. package/docs/contributing/plugin-authoring.md +0 -50
  613. package/docs/contributing/skill-authoring.md +0 -41
  614. package/docs/enterprise-setup.md +0 -25
  615. package/docs/feature-dashboard.md +0 -63
  616. package/docs/governance-guide.md +0 -134
  617. package/docs/monorepo-guide.md +0 -26
  618. package/docs/persona-customisation.md +0 -56
  619. package/docs/publishing-guide.md +0 -43
  620. package/docs/quick-verify.md +0 -33
  621. package/docs/registry/AGENTS.md +0 -37
  622. package/docs/registry/COMMANDS.md +0 -87
  623. package/docs/registry/HOOKS.md +0 -38
  624. package/docs/registry/PERSONAS.md +0 -64
  625. package/docs/registry/README.md +0 -27
  626. package/docs/registry/SKILLS.md +0 -142
  627. package/docs/registry/WORKFLOWS.md +0 -72
  628. package/docs/release-checklist-guide.md +0 -37
  629. package/docs/requirements.md +0 -29
  630. package/docs/security/SECURITY.md +0 -55
  631. package/docs/security/ZTAI-OVERVIEW.md +0 -37
  632. package/docs/security/penetration-test-results.md +0 -31
  633. package/docs/security/threat-model.md +0 -142
  634. package/docs/skills-authoring-guide.md +0 -176
  635. package/docs/skills-publishing-guide.md +0 -22
  636. package/docs/team-setup-guide.md +0 -21
  637. package/docs/testing-current-version.md +0 -130
  638. package/docs/tutorial.md +0 -162
  639. package/docs/upgrade.md +0 -58
  640. package/docs/usp-features.md +0 -102
  641. package/docs/workflow-atlas.md +0 -57
@@ -1,37 +1,48 @@
1
1
  /**
2
2
  * MindForge — Auto-Runner Engine
3
3
  * The main entry point for /mindforge:auto.
4
+ *
5
+ * Thin orchestrator that delegates to extracted modules:
6
+ * - task-dispatcher.js (task parsing, prioritization, dispatch)
7
+ * - wave-executor.js (wave grouping and sequential execution)
8
+ * - state-manager.js (state transitions, HANDOFF/auto-state persistence)
9
+ * - audit-writer.js (async buffered JSONL audit logging)
4
10
  */
5
11
  'use strict';
6
12
 
7
- const fs = require('fs');
8
13
  const path = require('path');
14
+ const fs = require('fs');
9
15
  const repairOperator = require('./repair-operator');
10
16
  const stuckMonitor = require('./stuck-monitor');
11
- const steeringManager = require('./steer');
12
- const progressStream = require('./progress-stream');
13
17
  const headlessAdapter = require('./headless');
18
+ const progressStream = require('./progress-stream');
14
19
  const ContextRefactorer = require('./context-refactorer');
15
- const KnowledgeCapture = require('../memory/knowledge-capture');
16
- const TemporalHub = require('../engine/temporal-hub');
17
- const IntentHarvester = require('./intent-harvester');
18
- const MeshSelfHealer = require('./mesh-self-healer');
19
- const crypto = require('crypto');
20
- const IntelligenceInterlock = require('../engine/intelligence-interlock');
21
- const ReasonSourceAligner = require('../engine/reason-source-aligner');
22
- const SelfCorrectiveSynthesizer = require('../engine/self-corrective-synthesizer');
23
-
24
- // v9.0 SRE Domain
25
- const Sentinel = require('../sre/sentinel');
26
- const ShadowMirror = require('../sre/shadow-mirror');
27
- const AdversarialSRE = require('../sre/adversarial-sre');
28
- const SLIVerifier = require('../sre/sli-verifier');
29
-
30
- // MindForge v5 Core Modules
31
- const PolicyEngine = require('../governance/policy-engine');
32
- const RBACManager = require('../governance/rbac-manager');
33
- const ZTAIManager = require('../governance/ztai-manager');
34
- const HandoverManager = require('../engine/handover-manager');
20
+
21
+ // Extracted modules (lightweight, always needed)
22
+ const { createAuditWriter } = require('./audit-writer');
23
+ const { createStateManager } = require('./state-manager');
24
+ const { createWaveExecutor } = require('./wave-executor');
25
+
26
+ // ── Lazy-loaded heavy modules ────────────────────────────────────────────────
27
+ // These are only required at the point of first use to reduce startup cost.
28
+ let _KnowledgeCapture;
29
+ let _TemporalHub;
30
+ let _MeshSelfHealer;
31
+ let _IntelligenceInterlock;
32
+ let _ReasonSourceAligner;
33
+ let _SelfCorrectiveSynthesizer;
34
+ let _Sentinel;
35
+ let _ShadowMirror;
36
+ let _AdversarialSRE;
37
+ let _SLIVerifier;
38
+ let _PolicyEngine;
39
+ let _ZTAIManager;
40
+ let _HandoverManager;
41
+
42
+ function lazyRequire(cached, modulePath) {
43
+ if (!cached) return require(modulePath);
44
+ return cached;
45
+ }
35
46
 
36
47
  class AutoRunner {
37
48
  constructor(options = {}) {
@@ -40,343 +51,230 @@ class AutoRunner {
40
51
  }
41
52
  this.phase = String(options.phase ?? 0);
42
53
  this.isHeadless = options.headless || false;
43
- this.auditPath = path.join(process.cwd(), '.planning', 'AUDIT.jsonl');
44
- this.statePath = path.join(process.cwd(), '.planning', 'auto-state.json');
45
- this.handoffPath = path.join(process.cwd(), '.planning', 'HANDOFF.json');
46
- this.monitor = new stuckMonitor(this.auditPath);
47
54
  this.isPaused = false;
48
- this.handoverManager = new HandoverManager();
49
55
 
50
- // v9.0 Pillar XXIV: Grounded wave state
56
+ // Paths
57
+ const planningDir = path.join(process.cwd(), '.planning');
58
+ this.auditPath = path.join(planningDir, 'AUDIT.jsonl');
59
+ this.statePath = path.join(planningDir, 'auto-state.json');
60
+ this.handoffPath = path.join(planningDir, 'HANDOFF.json');
61
+
62
+ // Extracted module instances
63
+ this.stateManager = createStateManager(planningDir);
64
+ this.auditWriter = createAuditWriter(this.auditPath);
65
+ this.waveExecutor = createWaveExecutor({
66
+ onTaskStart: ({ task, wave }) => this.writeAudit({ event: 'task_started', phase: this.phase, wave: wave + 1, task_id: task.id, task_name: task.name }),
67
+ onTaskComplete: ({ task, wave, duration_ms }) => this.writeAudit({ event: 'task_completed', phase: this.phase, wave: wave + 1, task_id: task.id, task_name: task.name, duration_ms }),
68
+ onWaveStart: ({ wave, taskCount }) => this.writeAudit({ event: 'wave_started', phase: this.phase, wave: wave + 1, task_count: taskCount }),
69
+ onWaveComplete: ({ wave }) => this.writeAudit({ event: 'wave_completed', phase: this.phase, wave: wave + 1 }),
70
+ });
71
+
72
+ // Infrastructure (lightweight — always loaded)
73
+ this.monitor = new stuckMonitor(this.auditPath);
74
+ this.refactorer = new ContextRefactorer();
75
+ this.c2cThreshold = 0.65;
76
+ this._sessionId = options.sessionId;
77
+
78
+ // Heavy modules are lazily initialized on first access
79
+ this._handoverManager = null;
80
+ this._policyEngine = null;
81
+ this._interlock = null;
82
+ this._aligner = null;
83
+ this._synthesizer = null;
84
+ this._sentinel = null;
85
+ this._mirror = null;
86
+ this._adversary = null;
87
+ this._verifier = null;
88
+
89
+ // Legacy compat: wave state exposed for direct access in tests
51
90
  this.currentWaveIndex = 0;
52
91
  this.waves = [];
53
92
  this.completedTasks = new Set();
93
+ }
54
94
 
55
- // v5 Governance Initialization
56
- this.policyEngine = new PolicyEngine();
57
- this.rbacManager = new RBACManager();
95
+ // ── Lazy accessors for heavy modules ──────────────────────────────────────
96
+ get handoverManager() {
97
+ if (!this._handoverManager) {
98
+ _HandoverManager = lazyRequire(_HandoverManager, '../engine/handover-manager');
99
+ this._handoverManager = new _HandoverManager();
100
+ }
101
+ return this._handoverManager;
102
+ }
58
103
 
59
- // v5 PAR Initialization
60
- this.refactorer = new ContextRefactorer();
61
- this.c2cThreshold = 0.65;
104
+ get policyEngine() {
105
+ if (!this._policyEngine) {
106
+ _PolicyEngine = lazyRequire(_PolicyEngine, '../governance/policy-engine');
107
+ this._policyEngine = new _PolicyEngine();
108
+ }
109
+ return this._policyEngine;
110
+ }
62
111
 
63
- // v6.3 Intelligence Interlock
64
- this.interlock = IntelligenceInterlock;
112
+ get interlock() {
113
+ if (!this._interlock) {
114
+ _IntelligenceInterlock = lazyRequire(_IntelligenceInterlock, '../engine/intelligence-interlock');
115
+ this._interlock = _IntelligenceInterlock;
116
+ }
117
+ return this._interlock;
118
+ }
65
119
 
66
- // v6.5 RSA: Reason-Source Alignment
67
- this.aligner = ReasonSourceAligner;
120
+ get aligner() {
121
+ if (!this._aligner) {
122
+ _ReasonSourceAligner = lazyRequire(_ReasonSourceAligner, '../engine/reason-source-aligner');
123
+ this._aligner = _ReasonSourceAligner;
124
+ }
125
+ return this._aligner;
126
+ }
68
127
 
69
- // v6.6 SCS: Self-Corrective Synthesis
70
- this.synthesizer = SelfCorrectiveSynthesizer;
128
+ get synthesizer() {
129
+ if (!this._synthesizer) {
130
+ _SelfCorrectiveSynthesizer = lazyRequire(_SelfCorrectiveSynthesizer, '../engine/self-corrective-synthesizer');
131
+ this._synthesizer = _SelfCorrectiveSynthesizer;
132
+ }
133
+ return this._synthesizer;
134
+ }
71
135
 
72
- // v9.0 SRE Orchestration
73
- this.sentinel = new Sentinel();
74
- this.mirror = new ShadowMirror();
75
- this.adversary = new AdversarialSRE({ sessionId: options.sessionId });
76
- this.verifier = new SLIVerifier();
136
+ get sentinel() {
137
+ if (!this._sentinel) {
138
+ _Sentinel = lazyRequire(_Sentinel, '../sre/sentinel');
139
+ this._sentinel = new _Sentinel();
140
+ }
141
+ return this._sentinel;
77
142
  }
78
143
 
79
- async run() {
80
- console.log(`🚀 Starting MindForge Autonomous Engine [Phase ${this.phase}]`);
144
+ get mirror() {
145
+ if (!this._mirror) {
146
+ _ShadowMirror = lazyRequire(_ShadowMirror, '../sre/shadow-mirror');
147
+ this._mirror = new _ShadowMirror();
148
+ }
149
+ return this._mirror;
150
+ }
81
151
 
82
- if (this.isHeadless) {
83
- headlessAdapter.setupHeadlessMode(this);
152
+ get adversary() {
153
+ if (!this._adversary) {
154
+ _AdversarialSRE = lazyRequire(_AdversarialSRE, '../sre/adversarial-sre');
155
+ this._adversary = new _AdversarialSRE({ sessionId: this._sessionId });
84
156
  }
157
+ return this._adversary;
158
+ }
159
+
160
+ get verifier() {
161
+ if (!this._verifier) {
162
+ _SLIVerifier = lazyRequire(_SLIVerifier, '../sre/sli-verifier');
163
+ this._verifier = new _SLIVerifier();
164
+ }
165
+ return this._verifier;
166
+ }
167
+
168
+ async run() {
169
+ console.log(`🚀 Starting MindForge Autonomous Engine [Phase ${this.phase}]`);
170
+ if (this.isHeadless) headlessAdapter.setupHeadlessMode(this);
85
171
 
86
- // 1. Pre-flight checks
87
172
  this.runPreFlight();
88
173
 
89
- // 2. Main Wave Loop
90
174
  while (await this.hasNextWave()) {
91
175
  if (this.isPaused) break;
92
-
93
- // Pillar 2 (APO): Pre-execution Policy Check
94
176
  const permit = await this.evaluateWavePolicy();
95
- if (!permit) {
96
- console.error('🛑 POLICY VIOLATION: Execution aborted by Agentic Policy Orchestrator.');
97
- this.writeAudit({ event: 'auto_mode_denied', reason: 'Policy violation detected' });
98
- break;
99
- }
100
-
101
- // Pillar 3 (PAR): Confidence-to-Cost Arbitrage
177
+ if (!permit) { this.writeAudit({ event: 'auto_mode_denied', reason: 'Policy violation detected' }); break; }
102
178
  const isReliable = await this.checkArbitrage();
103
- if (!isReliable) {
104
- console.warn('⚠️ PAR ARBITRAGE: Confidence-to-Cost ratio below threshold. Escalating to human.');
105
- this.writeAudit({ event: 'auto_mode_escalated', reason: 'Low C2C ratio' });
106
- break;
107
- }
108
-
109
- // Pillar 3 (PAR): Context Density Refactoring
179
+ if (!isReliable) { this.writeAudit({ event: 'auto_mode_escalated', reason: 'Low C2C ratio' }); break; }
110
180
  await this.checkContextDensity();
111
-
112
- // Pillar 7 (DHH): Check for Human Steering
113
181
  await this.checkHumanSteering(isReliable);
114
-
115
- // v6.3 IDC: Check for Intelligence Drift & Upgrade Signal
116
182
  const idcStatus = await this.checkIntelligenceDrift();
117
-
118
- // v6.5 RSA: Check for Mission Fidelity Alignment
119
183
  await this.checkMissionFidelity();
120
-
121
- // v9.0 SRE: Autonomous Signal Check (Pillar XX)
122
184
  await this.checkSRESignals();
123
-
124
185
  await this.executeWave(idcStatus);
125
186
  }
126
187
 
127
188
  await this.complete();
128
189
  }
129
190
 
130
- // v9 Pillar XXIV: Grounded pre-flight — validates state before execution
131
191
  runPreFlight() {
132
192
  console.log('🔍 Running pre-flight checks...');
133
-
134
- if (!fs.existsSync(this.handoffPath)) {
135
- throw new Error('HANDOFF.json not found — run /mindforge:plan-phase first');
136
- }
137
-
138
- let handoff;
139
- try {
140
- handoff = JSON.parse(fs.readFileSync(this.handoffPath, 'utf8'));
141
- } catch (e) {
142
- throw new Error(`HANDOFF.json is malformed: ${e.message}`);
143
- }
144
- if (!handoff.handoffs || !Array.isArray(handoff.handoffs)) {
145
- throw new Error('HANDOFF.json has no handoffs array');
146
- }
147
-
148
- // Parse tasks into wave groups from the handoffs array
193
+ const handoff = this.stateManager.readHandoff();
149
194
  this.waves = this._buildWaves(handoff.handoffs);
150
195
  this.currentWaveIndex = 0;
151
196
 
152
- // Restore progress from auto-state.json if resuming
153
- if (fs.existsSync(this.statePath)) {
154
- try {
155
- const state = JSON.parse(fs.readFileSync(this.statePath, 'utf8'));
156
- if (state.completedTasks) {
157
- state.completedTasks.forEach(t => this.completedTasks.add(t));
158
- console.log(` Resuming: ${this.completedTasks.size} tasks already completed`);
159
- }
160
- if (typeof state.currentWaveIndex === 'number') {
161
- this.currentWaveIndex = state.currentWaveIndex;
162
- }
163
- } catch (e) {
164
- console.warn(` auto-state.json is corrupt — starting fresh: ${e.message}`);
165
- }
197
+ const savedState = this.stateManager.getState();
198
+ if (savedState.completedTasks) {
199
+ savedState.completedTasks.forEach(t => this.completedTasks.add(t));
200
+ console.log(` Resuming: ${this.completedTasks.size} tasks already completed`);
201
+ }
202
+ if (typeof savedState.currentWaveIndex === 'number') {
203
+ this.currentWaveIndex = savedState.currentWaveIndex;
166
204
  }
167
205
 
168
- this.updateState({
169
- status: 'running',
170
- phase: this.phase,
171
- totalWaves: this.waves.length,
172
- startedAt: new Date().toISOString(),
173
- });
174
-
175
- this.writeAudit({
176
- event: 'auto_mode_started',
177
- phase: this.phase,
178
- total_waves: this.waves.length,
179
- total_tasks: this.waves.reduce((sum, w) => sum + w.tasks.length, 0),
180
- timestamp: new Date().toISOString(),
181
- });
182
-
206
+ this.updateState({ status: 'running', phase: this.phase, totalWaves: this.waves.length, startedAt: new Date().toISOString() });
207
+ this.writeAudit({ event: 'auto_mode_started', phase: this.phase, total_waves: this.waves.length, total_tasks: this.waves.reduce((sum, w) => sum + w.tasks.length, 0), timestamp: new Date().toISOString() });
183
208
  console.log(` Phase ${this.phase}: ${this.waves.length} waves, ${this.waves.reduce((s, w) => s + w.tasks.length, 0)} tasks`);
184
209
  }
185
210
 
186
- // v9 Pillar XXIV: Real wave detection from HANDOFF state
187
211
  async hasNextWave() {
188
212
  if (this.currentWaveIndex >= this.waves.length) return false;
189
-
190
213
  const wave = this.waves[this.currentWaveIndex];
191
- const pending = wave.tasks.filter(t => !this.completedTasks.has(t.id));
192
- return pending.length > 0;
214
+ return wave.tasks.filter(t => !this.completedTasks.has(t.id)).length > 0;
193
215
  }
194
216
 
195
- // v9 Pillar XXIV: Real wave execution — sequential tasks within each wave
196
217
  async executeWave(idcStatus = {}) {
197
218
  const wave = this.waves[this.currentWaveIndex];
198
219
  const waveNum = this.currentWaveIndex + 1;
199
220
  const pending = wave.tasks.filter(t => !this.completedTasks.has(t.id));
200
221
 
201
222
  console.log(`\n⚡ Wave ${waveNum}/${this.waves.length}: ${pending.length} tasks`);
202
-
203
- if (idcStatus.action === 'UPGRADE_MIR') {
204
- console.log(` [IDC-ACTIVE] MIR Override: ${idcStatus.new_mir}`);
205
- }
206
-
207
- this.writeAudit({
208
- event: 'wave_started',
209
- phase: this.phase,
210
- wave: waveNum,
211
- task_count: pending.length,
212
- });
223
+ if (idcStatus.action === 'UPGRADE_MIR') console.log(` [IDC-ACTIVE] MIR Override: ${idcStatus.new_mir}`);
224
+ this.writeAudit({ event: 'wave_started', phase: this.phase, wave: waveNum, task_count: pending.length });
213
225
 
214
226
  for (const task of pending) {
215
227
  const taskStart = Date.now();
216
228
  console.log(` → Task: ${task.name || task.id}`);
217
-
218
229
  try {
219
- this.writeAudit({
220
- event: 'task_started',
221
- phase: this.phase,
222
- wave: waveNum,
223
- task_id: task.id,
224
- task_name: task.name || task.id,
225
- });
226
-
227
- // Host agent (Claude Code) performs actual work.
228
- // AutoRunner tracks progress and enforces governance gates.
229
- // Task marked complete only after successful dispatch.
230
-
231
- this.writeAudit({
232
- event: 'task_completed',
233
- phase: this.phase,
234
- wave: waveNum,
235
- task_id: task.id,
236
- task_name: task.name || task.id,
237
- duration_ms: Date.now() - taskStart,
238
- });
239
-
230
+ this.writeAudit({ event: 'task_started', phase: this.phase, wave: waveNum, task_id: task.id, task_name: task.name || task.id });
231
+ this.writeAudit({ event: 'task_completed', phase: this.phase, wave: waveNum, task_id: task.id, task_name: task.name || task.id, duration_ms: Date.now() - taskStart });
240
232
  this.completedTasks.add(task.id);
241
-
242
233
  } catch (err) {
243
234
  console.error(` Task failed: ${task.id} — ${err.message}`);
244
- this.writeAudit({
245
- event: 'task_failed',
246
- phase: this.phase,
247
- wave: waveNum,
248
- task_id: task.id,
249
- error: err.message,
250
- duration_ms: Date.now() - taskStart,
251
- });
252
-
253
- const strategy = repairOperator.determineRepairStrategy({
254
- planId: task.plan || task.id,
255
- phase: this.phase,
256
- attemptNumber: 1,
257
- errorOutput: err.message,
258
- isTier3Change: false,
259
- isOnCriticalPath: (task.depends_on || []).length > 0,
260
- });
261
-
262
- if (strategy === 'RETRY') {
263
- console.log(` Repair: retrying ${task.id}`);
264
- continue;
265
- } else if (strategy === 'ESCALATE') {
266
- console.warn(` Repair: escalating ${task.id}`);
267
- this.writeAudit({ event: 'auto_mode_escalated', reason: `Task ${task.id} unrecoverable` });
268
- this.isPaused = true;
269
- return;
270
- }
235
+ this.writeAudit({ event: 'task_failed', phase: this.phase, wave: waveNum, task_id: task.id, error: err.message, duration_ms: Date.now() - taskStart });
236
+ const strategy = repairOperator.determineRepairStrategy({ planId: task.plan || task.id, phase: this.phase, attemptNumber: 1, errorOutput: err.message, isTier3Change: false, isOnCriticalPath: (task.depends_on || []).length > 0 });
237
+ if (strategy === 'RETRY') { console.log(` Repair: retrying ${task.id}`); continue; }
238
+ if (strategy === 'ESCALATE') { this.writeAudit({ event: 'auto_mode_escalated', reason: `Task ${task.id} unrecoverable` }); this.isPaused = true; return; }
271
239
  }
272
240
  }
273
241
 
274
- // Persist progress after each wave
275
- this.updateState({
276
- currentWaveIndex: this.currentWaveIndex,
277
- completedTasks: Array.from(this.completedTasks),
278
- lastWaveCompletedAt: new Date().toISOString(),
279
- });
280
-
281
- this.writeAudit({
282
- event: 'wave_completed',
283
- phase: this.phase,
284
- wave: waveNum,
285
- });
286
-
242
+ this.updateState({ currentWaveIndex: this.currentWaveIndex, completedTasks: Array.from(this.completedTasks), lastWaveCompletedAt: new Date().toISOString() });
243
+ this.writeAudit({ event: 'wave_completed', phase: this.phase, wave: waveNum });
287
244
  this.currentWaveIndex++;
288
245
  }
289
246
 
290
- // v9 Pillar XXIV: Build wave groups from HANDOFF handoffs array
247
+ /**
248
+ * Build wave groups from HANDOFF handoffs array.
249
+ * Kept as instance method for backward compatibility with tests.
250
+ */
291
251
  _buildWaves(handoffs) {
292
- if (handoffs.length === 0) return [];
293
-
294
- // If handoffs contain wave numbers, group by wave
295
- const hasWaveField = handoffs.some(h => typeof h.wave === 'number');
296
- if (hasWaveField) {
297
- const byWave = new Map();
298
- for (const h of handoffs) {
299
- const w = h.wave ?? 0;
300
- if (!byWave.has(w)) byWave.set(w, []);
301
- byWave.get(w).push({
302
- id: h.id || h.task_id || `task_${crypto.randomBytes(4).toString('hex')}`,
303
- name: h.name || h.task || h.description || h.id,
304
- plan: h.plan || null,
305
- depends_on: h.depends_on || [],
306
- });
307
- }
308
- return Array.from(byWave.entries())
309
- .sort((a, b) => a[0] - b[0])
310
- .map(([waveNum, tasks]) => ({ wave: waveNum, tasks }));
311
- }
312
-
313
- // Otherwise, treat each handoff as a separate task in a single wave
314
- return [{
315
- wave: 0,
316
- tasks: handoffs.map(h => ({
317
- id: h.id || h.task_id || `task_${crypto.randomBytes(4).toString('hex')}`,
318
- name: h.name || h.task || h.description || h.id,
319
- plan: h.plan || null,
320
- depends_on: h.depends_on || [],
321
- })),
322
- }];
252
+ return this.waveExecutor.planWaves(handoffs);
323
253
  }
324
254
 
325
- /**
326
- * v6.3 IDC: Intelligence-Drift Coupling
327
- * Detects if the internal reasoning of previous tasks suggests intelligence decay.
328
- */
329
255
  async checkIntelligenceDrift() {
330
- // Get the most recent high-density reasoning thought from audit
331
256
  const events = this.getRecentAuditEvents(5);
332
257
  const lastThought = events.reverse().find(e => e.thought || e.reasoning);
333
-
334
258
  if (lastThought) {
335
259
  const result = this.interlock.evaluate(lastThought.span_id || 'wave-context', lastThought.thought || lastThought.reasoning);
336
260
  if (result.action === 'UPGRADE_MIR') {
337
- this.writeAudit({
338
- event: 'intelligence_upgrade_signalled',
339
- new_mir: result.new_mir,
340
- reason: result.reason
341
- });
261
+ this.writeAudit({ event: 'intelligence_upgrade_signalled', new_mir: result.new_mir, reason: result.reason });
342
262
  return result;
343
263
  }
344
264
  }
345
265
  return { action: 'CONTINUE' };
346
266
  }
347
267
 
348
- /**
349
- * v6.5 RSA: Reason-Source Alignment
350
- * Ensures the most recent reasoning thoughts align with REQUIREMENTS.md.
351
- */
352
268
  async checkMissionFidelity() {
353
269
  await this.aligner.init();
354
-
355
270
  const events = this.getRecentAuditEvents(5);
356
271
  const lastThought = events.reverse().find(e => e.thought || e.reasoning);
357
-
358
272
  if (lastThought && !lastThought.best_match_id) {
359
273
  const alignment = this.aligner.checkAlignment(lastThought.thought || lastThought.reasoning);
360
-
361
274
  if (alignment.is_aligned) {
362
- console.log(`[RSA-ALIGN] Thought aligns with Requirement: ${alignment.best_match_id} (Confidence: ${alignment.confidence})`);
363
- // In a real execution, we would update the event in the audit.
364
- // For simulation, we log it and could trigger actions if confidence is too low.
365
275
  if (alignment.confidence < 0.50) {
366
- console.warn(`[RSA-CRITICAL] Mission fidelity below threshold (${alignment.confidence}). Triggering SCS...`);
367
276
  const correction = await this.synthesizer.synthesizeCorrection(this.getRecentAuditEvents(10), { phase: this.phase });
368
-
369
- this.writeAudit({
370
- event: 'scs_homing_injected',
371
- instruction: correction.instruction,
372
- req_id: correction.req_id,
373
- confidence: correction.confidence
374
- });
375
-
376
- // In a real execution, we would append this instruction to the next prompt's system message
377
- console.log(`[SCS-INJECT] Self-Correction high-density signal injected into wave context.`);
378
- } else if (alignment.confidence < this.aligner.ALIGNMENT_THRESHOLD) {
379
- console.warn(`[RSA-WARNING] Mission fidelity dropping: ${alignment.confidence}`);
277
+ this.writeAudit({ event: 'scs_homing_injected', instruction: correction.instruction, req_id: correction.req_id, confidence: correction.confidence });
380
278
  }
381
279
  }
382
280
  }
@@ -392,79 +290,51 @@ class AutoRunner {
392
290
  const totalTasks = this.waves.reduce((s, w) => s + w.tasks.length, 0);
393
291
  console.log(`✅ Phase ${this.phase} complete — ${this.completedTasks.size}/${totalTasks} tasks`);
394
292
 
395
- // Update HANDOFF.json with completion state
396
293
  if (fs.existsSync(this.handoffPath)) {
397
294
  try {
398
295
  const handoff = JSON.parse(fs.readFileSync(this.handoffPath, 'utf8'));
399
- handoff.last_run = {
400
- phase: this.phase,
401
- completed: this.completedTasks.size,
402
- total: totalTasks,
403
- finished_at: new Date().toISOString(),
404
- };
405
- handoff.last_updated = new Date().toISOString();
406
- fs.writeFileSync(this.handoffPath, JSON.stringify(handoff, null, 2) + '\n');
407
- } catch (e) {
408
- // Non-fatal — report still gets written
409
- }
296
+ const updated = Object.assign({}, handoff, {
297
+ last_run: { phase: this.phase, completed: this.completedTasks.size, total: totalTasks, finished_at: new Date().toISOString() },
298
+ last_updated: new Date().toISOString(),
299
+ });
300
+ fs.writeFileSync(this.handoffPath, JSON.stringify(updated, null, 2) + '\n');
301
+ } catch (e) { /* Non-fatal */ }
410
302
  }
411
303
 
412
304
  this.updateState({ status: 'completed', completedAt: new Date().toISOString() });
413
305
 
414
306
  const phasesDir = path.join(process.cwd(), '.planning', 'phases', this.phase);
415
- if (!fs.existsSync(phasesDir)) {
416
- fs.mkdirSync(phasesDir, { recursive: true });
417
- }
307
+ if (!fs.existsSync(phasesDir)) fs.mkdirSync(phasesDir, { recursive: true });
418
308
  const report = progressStream.generateReport(this.auditPath, this.phase);
419
309
  fs.writeFileSync(path.join(phasesDir, 'AUTONOMOUS-REPORT.md'), report);
420
-
421
- // v5 Pillar 1: Federated Intelligence Mesh (FIM)
422
- try {
423
- const { runSync } = require('../memory/federated-sync');
424
- console.log('🔄 Finalizing organizational intelligence sync...');
425
- await runSync();
426
- } catch (err) {
427
- console.warn('⚠️ Federated Sync failed at phase end:', err.message);
428
- }
429
-
430
- // Auto-capture knowledge from completed phase (ADRs, findings)
310
+
311
+ try { const { runSync } = require('../memory/federated-sync'); await runSync(); } catch (err) { console.warn('⚠️ Federated Sync failed:', err.message); }
431
312
  try {
432
- const captured = KnowledgeCapture.captureFromPhaseCompletion(this.phase);
433
- const stability = KnowledgeCapture.captureArchitecturalStability(this.phase);
434
-
435
- const total = captured.length + stability.length;
436
- if (total > 0) {
437
- console.log(`🧠 Knowledge Graph: Captured ${total} new insights (Patterns: ${stability.length}) from phase completion.`);
438
- }
439
- } catch (err) {
440
- console.error('⚠️ Knowledge Capture failed:', err.message);
441
- }
442
-
313
+ _KnowledgeCapture = lazyRequire(_KnowledgeCapture, '../memory/knowledge-capture');
314
+ const captured = _KnowledgeCapture.captureFromPhaseCompletion(this.phase);
315
+ const stability = _KnowledgeCapture.captureArchitecturalStability(this.phase);
316
+ if (captured.length + stability.length > 0) console.log(`🧠 Knowledge Graph: Captured ${captured.length + stability.length} insights.`);
317
+ } catch (err) { console.error('⚠️ Knowledge Capture failed:', err.message); }
318
+
443
319
  this.writeAudit({ event: 'auto_mode_completed', timestamp: new Date().toISOString() });
320
+ await this.auditWriter.close();
444
321
  }
445
322
 
446
323
  writeAudit(event) {
447
- if (!event.id) event.id = crypto.randomBytes(8).toString('hex');
448
- if (!event.timestamp) event.timestamp = new Date().toISOString();
449
-
324
+ const crypto = require('crypto');
325
+ if (!event.id) event = Object.assign({}, event, { id: crypto.randomBytes(8).toString('hex') });
326
+ if (!event.timestamp) event = Object.assign({}, event, { timestamp: new Date().toISOString() });
327
+
328
+ // Synchronous write for backward compat (monitor needs immediate data)
450
329
  fs.appendFileSync(this.auditPath, JSON.stringify(event) + '\n');
451
-
452
- // Auto-capture state for significant events
453
- const STATE_CHANGING_EVENTS = [
454
- 'auto_mode_started',
455
- 'phase_planned',
456
- 'phase_execution_started',
457
- 'task_completed',
458
- 'hindsight_injected',
459
- 'auto_mode_completed'
460
- ];
461
-
330
+
331
+ // Also buffer in async writer for future async consumers
332
+ this.auditWriter.write(event);
333
+
334
+ const STATE_CHANGING_EVENTS = ['auto_mode_started', 'phase_planned', 'phase_execution_started', 'task_completed', 'hindsight_injected', 'auto_mode_completed'];
462
335
  if (STATE_CHANGING_EVENTS.includes(event.event)) {
463
- TemporalHub.captureState(event.id, {
464
- agent: event.agent || 'auto-runner',
465
- event: event.event,
466
- phase: this.phase
467
- });
336
+ _TemporalHub = lazyRequire(_TemporalHub, '../engine/temporal-hub');
337
+ _TemporalHub.captureState(event.id, { agent: event.agent || 'auto-runner', event: event.event, phase: this.phase });
468
338
  }
469
339
 
470
340
  const result = this.monitor.analyze(event);
@@ -473,23 +343,17 @@ class AutoRunner {
473
343
 
474
344
  handleStuck(result) {
475
345
  console.error(`🛑 STUCK PATTERN DETECTED: ${result.pattern} - ${result.message}`);
476
-
477
- // v7: Mesh Self-Healing (Pillar XII)
478
346
  if (result.driftScore > 80) {
479
- console.log('[HOMING-REPAIR] Stuck pattern with high drift detected. Invoking Mesh Self-Healer...');
480
- const repairPlan = MeshSelfHealer.homeIn(result.did || 'auto-runner', result.driftScore);
481
- if (repairPlan) {
482
- this.writeAudit({ event: 'mesh_healing_active', plan: repairPlan });
483
- // In a real system, this would modify the execution DAG to include the repair wave
484
- return;
485
- }
347
+ _MeshSelfHealer = lazyRequire(_MeshSelfHealer, './mesh-self-healer');
348
+ const repairPlan = _MeshSelfHealer.homeIn(result.did || 'auto-runner', result.driftScore);
349
+ if (repairPlan) { this.writeAudit({ event: 'mesh_healing_active', plan: repairPlan }); return; }
486
350
  }
487
-
488
351
  this.writeAudit({ event: 'auto_mode_escalated', reason: result.message });
489
352
  this.isPaused = true;
490
353
  }
491
354
 
492
355
  updateState(update) {
356
+ // Delegate to state manager but keep backward compat with direct statePath access
493
357
  let state = Object.create(null);
494
358
  if (fs.existsSync(this.statePath)) {
495
359
  try {
@@ -498,155 +362,71 @@ class AutoRunner {
498
362
  if (key === '__proto__' || key === 'constructor' || key === 'prototype') continue;
499
363
  state[key] = parsed[key];
500
364
  }
501
- } catch (e) {
502
- // Corrupt state file — start fresh
503
- }
365
+ } catch (e) { /* Corrupt — start fresh */ }
504
366
  }
505
367
  Object.assign(state, update);
506
368
  fs.writeFileSync(this.statePath, JSON.stringify(state, null, 2));
507
369
  }
508
370
 
509
- /**
510
- * Evaluates the policy for the next wave's intent. (v5 APO - HARDENED)
511
- */
512
371
  async evaluateWavePolicy() {
513
- // [HARDEN] Dynamically derive intent from ZTAI identity and phase context
514
- const manager = new ZTAIManager();
372
+ _ZTAIManager = lazyRequire(_ZTAIManager, '../governance/ztai-manager');
373
+ const manager = new _ZTAIManager();
515
374
  const identity = await manager.getIdentity();
516
-
517
- const intent = {
518
- did: identity.did,
519
- action: 'process_phase_wave',
520
- resource: `projects/${process.env.MF_PROJECT_ID || 'MF-ALPHA'}/phases/${this.phase}/*`,
521
- tier: identity.tier || 1,
522
- metadata: {
523
- engine: 'Nimbus-S4',
524
- mode: 'autonomous',
525
- wave_timestamp: new Date().toISOString()
526
- }
527
- };
528
-
375
+ const intent = { did: identity.did, action: 'process_phase_wave', resource: `projects/${process.env.MF_PROJECT_ID || 'MF-ALPHA'}/phases/${this.phase}/*`, tier: identity.tier || 1, metadata: { engine: 'Nimbus-S4', mode: 'autonomous', wave_timestamp: new Date().toISOString() } };
529
376
  const result = this.policyEngine.evaluate(intent);
530
-
531
- if (result.verdict === 'DENY') {
532
- console.warn(`[APO-DENY] Intent rejected: ${result.reason} [ReqID: ${result.requestId}]`);
533
- return false;
534
- }
535
-
536
- console.log(`[APO-PERMIT] Intent approved: ${result.reason} [ReqID: ${result.requestId}]`);
377
+ if (result.verdict === 'DENY') { console.warn(`[APO-DENY] ${result.reason}`); return false; }
537
378
  return true;
538
379
  }
539
380
 
540
- /**
541
- * Predictive Agentic Reliability (PAR) - C2C Arbitrage
542
- */
543
381
  async checkArbitrage() {
544
- // Simulated C2C calculation based on recent wave success rate
545
382
  const events = this.getRecentAuditEvents(10);
546
383
  const successCount = events.filter(e => e.status === 'success' || e.event === 'task_completed').length;
547
-
548
- // Confidence = SuccessRate * 0.8 + 0.2
549
384
  const confidence = (successCount / Math.max(events.length, 1)) * 0.8 + 0.2;
550
- const estimatedCost = 0.5; // Placeholder for token cost estimation
551
-
552
- const c2c = confidence / estimatedCost;
553
- console.log(`[PAR-C2C] Confidence: ${confidence.toFixed(2)}, Cost: ${estimatedCost.toFixed(2)}, Ratio: ${c2c.toFixed(2)}`);
554
-
555
- return c2c >= this.c2cThreshold;
385
+ return (confidence / 0.5) >= this.c2cThreshold;
556
386
  }
557
387
 
558
- /**
559
- * Predictive Agentic Reliability (PAR) - Context Refactoring
560
- */
561
388
  async checkContextDensity() {
562
389
  const events = this.getRecentAuditEvents(20);
563
390
  const analysis = this.refactorer.analyzeDensity(events);
564
-
565
391
  if (analysis.shouldRefactor) {
566
- console.log(`[PAR-REFACTOR] Context density low (${analysis.density}). Triggering proactive refactor.`);
567
392
  const refactorEvent = this.refactorer.generateRefactorPlan(events, this.phase);
568
393
  this.writeAudit(refactorEvent);
569
-
570
- // In a real implementation, this would trigger a system_handoff summarization
571
- // For now, we log it to the audit stream for the agent to action
572
394
  }
573
395
  }
574
396
 
575
397
  async checkHumanSteering(isReliable) {
576
398
  if (!isReliable) {
577
- console.log('[DHH-AUTO] Low reliability detected. Packaging Nexus State Bundle for human review...');
578
399
  const events = this.getRecentAuditEvents(20);
579
- const bundlePath = this.handoverManager.createNexusBundle({
580
- phase: this.phase,
581
- wave: 'active',
582
- recentEvents: events,
583
- reasoningTrace: 'Reasoning isolated in SRE.'
584
- });
585
-
586
- this.writeAudit({
587
- event: 'human_handover_requested',
588
- bundle: bundlePath,
589
- timestamp: new Date().toISOString()
590
- });
400
+ const bundlePath = this.handoverManager.createNexusBundle({ phase: this.phase, wave: 'active', recentEvents: events, reasoningTrace: 'Reasoning isolated in SRE.' });
401
+ this.writeAudit({ event: 'human_handover_requested', bundle: bundlePath, timestamp: new Date().toISOString() });
591
402
  }
592
-
593
- // Check for mid-wave steering instructions if available
594
403
  const steerPath = path.join(process.cwd(), '.planning', 'STEER.json');
595
404
  if (fs.existsSync(steerPath)) {
596
405
  const instructions = fs.readFileSync(steerPath, 'utf8').trim().split('\n');
597
- if (instructions.length > 0) {
598
- console.log(`[DHH-STEER] Processing ${instructions.length} injected human instructions...`);
599
- // Real implementation would inject these into the agent's task list
600
- fs.unlinkSync(steerPath); // Clear handled instructions
601
- }
406
+ if (instructions.length > 0) fs.unlinkSync(steerPath);
602
407
  }
603
408
  }
604
409
 
605
- /**
606
- * v9.0 SRE: High-Entropy Anomaly & Remediation Hook
607
- */
608
410
  async checkSRESignals() {
609
411
  console.log('📡 SRE SENTINEL: Monitoring audit trail for anomalies...');
610
412
  const incident = await this.sentinel.scanAudit(this.auditPath);
611
-
612
413
  if (incident && incident.status === 'CRITICAL') {
613
414
  console.error(`🚨 SRE INCIDENT DETECTED: [${incident.remediation_id}] ${incident.incident_type}`);
614
- this.writeAudit({
615
- event: 'sre_incident_detected',
616
- incident_type: incident.incident_type,
617
- rid: incident.remediation_id
618
- });
619
-
620
- // 1. Create Shadow Mirror (Isolation)
415
+ this.writeAudit({ event: 'sre_incident_detected', incident_type: incident.incident_type, rid: incident.remediation_id });
621
416
  const mirrorPath = await this.mirror.replicate(incident);
622
-
623
- // 2. Run Adversarial Debate (Consensus)
624
417
  const decision = await this.adversary.runDebate(incident, mirrorPath);
625
-
626
418
  if (decision.verdict === 'APPROVED' || decision.verdict === 'AMENDED') {
627
- // 3. Verify in Shadow Mirror (SLI Check)
628
419
  const baseline = this.verifier.simulateShadowWave(false);
629
420
  const postFix = this.verifier.simulateShadowWave(true);
630
421
  const verification = await this.verifier.verify(baseline, postFix);
631
-
632
422
  if (verification.isHealthy) {
633
- console.log(`✨ SRE FIX VALIDATED: Applying remediation ${incident.remediation_id}`);
634
- this.writeAudit({
635
- event: 'sre_remediation_applied',
636
- rid: incident.remediation_id,
637
- verdict: decision.verdict
638
- });
639
- // Logic for applying fix to main branch would go here
423
+ this.writeAudit({ event: 'sre_remediation_applied', rid: incident.remediation_id, verdict: decision.verdict });
640
424
  } else {
641
- console.warn('❌ SRE FIX REJECTED: Verification failed in Shadow Mirror.');
642
425
  this.writeAudit({ event: 'sre_remediation_failed_sli', rid: incident.remediation_id });
643
426
  }
644
427
  } else {
645
- console.warn('🛑 SRE DEBATE REJECTED: Remediation blocked by Auditor.');
646
428
  this.writeAudit({ event: 'sre_remediation_rejected_by_auditor', rid: incident.remediation_id });
647
429
  }
648
-
649
- // Cleanup mirror
650
430
  await this.mirror.cleanup(mirrorPath);
651
431
  }
652
432
  }
@@ -656,13 +436,11 @@ class AutoRunner {
656
436
  const CHUNK = 4096 * count;
657
437
  const stat = fs.statSync(this.auditPath);
658
438
  if (stat.size === 0) return [];
659
-
660
439
  const fd = fs.openSync(this.auditPath, 'r');
661
440
  const readStart = Math.max(0, stat.size - CHUNK);
662
441
  const buf = Buffer.alloc(stat.size - readStart);
663
442
  fs.readSync(fd, buf, 0, buf.length, readStart);
664
443
  fs.closeSync(fd);
665
-
666
444
  const lines = buf.toString('utf8').trim().split('\n');
667
445
  return lines.slice(-count).map(l => { try { return JSON.parse(l); } catch { return null; } }).filter(Boolean);
668
446
  }