mindforge-cc 8.1.1 → 8.2.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 (1002) hide show
  1. package/.mindforge/celestial.db +0 -0
  2. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/CLAUDE.md +102 -0
  3. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/commands.cjs +959 -0
  4. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/config.cjs +421 -0
  5. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/core.cjs +1166 -0
  6. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/frontmatter.cjs +307 -0
  7. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/init.cjs +1336 -0
  8. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/milestone.cjs +252 -0
  9. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/model-profiles.cjs +68 -0
  10. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/phase.cjs +888 -0
  11. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/profile-output.cjs +952 -0
  12. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/profile-pipeline.cjs +539 -0
  13. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/roadmap.cjs +329 -0
  14. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/security.cjs +356 -0
  15. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/state.cjs +969 -0
  16. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/template.cjs +222 -0
  17. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/uat.cjs +189 -0
  18. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/verify.cjs +851 -0
  19. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/workstream.cjs +491 -0
  20. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/mindforge-tools.cjs +897 -0
  21. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/file-manifest.json +219 -0
  22. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/forge/help.md +11 -0
  23. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/forge/init-project.md +36 -0
  24. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/forge/plan-phase.md +34 -0
  25. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/hooks/mindforge-check-update.js +114 -0
  26. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/hooks/mindforge-context-monitor.js +156 -0
  27. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/hooks/mindforge-prompt-guard.js +96 -0
  28. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/hooks/mindforge-session-init_extended.js +42 -0
  29. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/hooks/mindforge-statusline.js +119 -0
  30. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/hooks/mindforge-workflow-guard.js +94 -0
  31. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/add-backlog.md +32 -0
  32. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/agent.md +31 -0
  33. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/approve.md +22 -0
  34. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/audit.md +34 -0
  35. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/auto.md +26 -0
  36. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/benchmark.md +37 -0
  37. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/browse.md +30 -0
  38. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/complete-milestone.md +22 -0
  39. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/costs.md +15 -0
  40. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/cross-review.md +21 -0
  41. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/dashboard.md +102 -0
  42. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/debug.md +133 -0
  43. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/discuss-phase.md +142 -0
  44. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/do.md +31 -0
  45. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/execute-phase.md +200 -0
  46. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/health.md +31 -0
  47. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/help.md +33 -0
  48. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/init-org.md +135 -0
  49. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/init-project.md +170 -0
  50. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/install-skill.md +28 -0
  51. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/learn.md +147 -0
  52. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/learning.md +20 -0
  53. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/map-codebase.md +302 -0
  54. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/marketplace.md +124 -0
  55. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/metrics.md +26 -0
  56. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/migrate.md +44 -0
  57. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/milestone.md +16 -0
  58. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/new-runtime.md +23 -0
  59. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/next.md +109 -0
  60. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/note.md +35 -0
  61. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/plan-phase.md +131 -0
  62. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/plant-seed.md +31 -0
  63. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/plugins.md +44 -0
  64. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/pr-review.md +45 -0
  65. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/profile-team.md +27 -0
  66. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/publish-skill.md +23 -0
  67. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/qa.md +20 -0
  68. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/quick.md +139 -0
  69. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/record-learning.md +22 -0
  70. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/release.md +14 -0
  71. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/remember.md +30 -0
  72. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/research.md +16 -0
  73. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/retrospective.md +31 -0
  74. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/review-backlog.md +34 -0
  75. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/review.md +161 -0
  76. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/security-scan.md +242 -0
  77. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/session-report.md +39 -0
  78. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/ship.md +111 -0
  79. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/skills.md +145 -0
  80. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/status.md +113 -0
  81. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/steer.md +17 -0
  82. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/sync-confluence.md +15 -0
  83. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/sync-jira.md +16 -0
  84. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/tokens.md +12 -0
  85. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/ui-phase.md +34 -0
  86. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/ui-review.md +36 -0
  87. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/update.md +46 -0
  88. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/validate-phase.md +31 -0
  89. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/verify-phase.md +66 -0
  90. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/workspace.md +33 -0
  91. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/workstreams.md +35 -0
  92. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/settings.json +42 -0
  93. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-add-backlog/SKILL.md +72 -0
  94. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-add-phase/SKILL.md +39 -0
  95. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-add-tests/SKILL.md +28 -0
  96. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-add-todo/SKILL.md +42 -0
  97. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-audit-milestone/SKILL.md +29 -0
  98. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-audit-uat/SKILL.md +20 -0
  99. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-autonomous/SKILL.md +33 -0
  100. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/SKILL.md +164 -0
  101. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/scripts/frame-template.html +214 -0
  102. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/scripts/helper.js +88 -0
  103. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/scripts/server.cjs +354 -0
  104. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/scripts/start-server.sh +148 -0
  105. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/scripts/stop-server.sh +56 -0
  106. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/spec-document-reviewer-prompt.md +49 -0
  107. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/visual-companion.md +287 -0
  108. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-check-todos/SKILL.md +40 -0
  109. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-cleanup/SKILL.md +19 -0
  110. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-complete-milestone/SKILL.md +131 -0
  111. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug/SKILL.md +163 -0
  112. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/CREATION-LOG.md +119 -0
  113. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/SKILL.md +296 -0
  114. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/condition-based-waiting-example.ts +158 -0
  115. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/condition-based-waiting.md +115 -0
  116. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/defense-in-depth.md +122 -0
  117. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/find-polluter.sh +63 -0
  118. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/root-cause-tracing.md +169 -0
  119. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/test-academic.md +14 -0
  120. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/test-pressure-1.md +58 -0
  121. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/test-pressure-2.md +68 -0
  122. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/test-pressure-3.md +69 -0
  123. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-discuss-phase/SKILL.md +54 -0
  124. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-do/SKILL.md +26 -0
  125. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-execute-phase/SKILL.md +49 -0
  126. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-execute-phase_extended/SKILL.md +70 -0
  127. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-fast/SKILL.md +23 -0
  128. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-forensics/SKILL.md +49 -0
  129. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-health/SKILL.md +17 -0
  130. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-help/SKILL.md +23 -0
  131. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-insert-phase/SKILL.md +28 -0
  132. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-join-discord/SKILL.md +19 -0
  133. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-list-phase-assumptions/SKILL.md +41 -0
  134. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-list-workspaces/SKILL.md +17 -0
  135. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-manager/SKILL.md +32 -0
  136. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-map-codebase/SKILL.md +64 -0
  137. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-milestone-summary/SKILL.md +44 -0
  138. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-neural-orchestrator/SKILL.md +115 -0
  139. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-neural-orchestrator/references/codex-tools.md +100 -0
  140. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-neural-orchestrator/references/gemini-tools.md +33 -0
  141. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-new-milestone/SKILL.md +38 -0
  142. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-new-project/SKILL.md +36 -0
  143. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-new-workspace/SKILL.md +39 -0
  144. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-next/SKILL.md +19 -0
  145. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-note/SKILL.md +29 -0
  146. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-parallel-mesh_extended/SKILL.md +182 -0
  147. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-pause-work/SKILL.md +35 -0
  148. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-plan-milestone-gaps/SKILL.md +28 -0
  149. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-plan-phase/SKILL.md +38 -0
  150. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-plan-phase_extended/SKILL.md +152 -0
  151. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-plan-phase_extended/plan-document-reviewer-prompt.md +49 -0
  152. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-plant-seed/SKILL.md +22 -0
  153. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-pr-branch/SKILL.md +21 -0
  154. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-profile-user/SKILL.md +38 -0
  155. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-progress/SKILL.md +19 -0
  156. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-quick/SKILL.md +38 -0
  157. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-reapply-patches/SKILL.md +124 -0
  158. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-remove-phase/SKILL.md +26 -0
  159. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-remove-workspace/SKILL.md +22 -0
  160. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-research-phase/SKILL.md +186 -0
  161. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-resume-work/SKILL.md +35 -0
  162. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-review/SKILL.md +31 -0
  163. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-review-backlog/SKILL.md +58 -0
  164. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-review-inbound/SKILL.md +213 -0
  165. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-review-request/SKILL.md +105 -0
  166. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-review-request/code-reviewer.md +146 -0
  167. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-session-report/SKILL.md +16 -0
  168. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-set-profile/SKILL.md +9 -0
  169. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-settings/SKILL.md +32 -0
  170. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-ship/SKILL.md +16 -0
  171. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-ship_extended/SKILL.md +200 -0
  172. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/SKILL.md +655 -0
  173. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/anthropic-best-practices.md +1150 -0
  174. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/examples/CLAUDE_MD_TESTING.md +189 -0
  175. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/graphviz-conventions.dot +172 -0
  176. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/persuasion-principles.md +187 -0
  177. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/render-graphs.js +168 -0
  178. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/testing-skills-with-subagents.md +384 -0
  179. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-stats/SKILL.md +16 -0
  180. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-swarm-execution/SKILL.md +277 -0
  181. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-swarm-execution/code-quality-reviewer-prompt.md +26 -0
  182. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-swarm-execution/implementer-prompt.md +113 -0
  183. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-swarm-execution/spec-reviewer-prompt.md +61 -0
  184. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-system-architecture/SKILL.md +136 -0
  185. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-system-architecture/examples.md +120 -0
  186. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-system-architecture/scaling-checklist.md +76 -0
  187. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd/SKILL.md +112 -0
  188. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd/deep-modules.md +21 -0
  189. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd/interface-design.md +22 -0
  190. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd/mocking.md +24 -0
  191. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd/refactoring.md +21 -0
  192. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd/tests.md +28 -0
  193. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd_extended/SKILL.md +371 -0
  194. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd_extended/testing-anti-patterns.md +299 -0
  195. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-thread/SKILL.md +123 -0
  196. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-ui-phase/SKILL.md +24 -0
  197. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-ui-review/SKILL.md +24 -0
  198. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-update/SKILL.md +35 -0
  199. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-validate-phase/SKILL.md +26 -0
  200. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-verify-work/SKILL.md +30 -0
  201. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-verify-work_extended/SKILL.md +139 -0
  202. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-workspace-isolated/SKILL.md +218 -0
  203. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-workstreams/SKILL.md +65 -0
  204. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/forge:help.md +10 -0
  205. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/forge:init-project.md +35 -0
  206. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/forge:plan-phase.md +33 -0
  207. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-add-phase.md +112 -0
  208. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-add-tests.md +351 -0
  209. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-add-todo.md +158 -0
  210. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-audit-milestone.md +332 -0
  211. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-audit-uat.md +109 -0
  212. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-autonomous.md +815 -0
  213. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-check-todos.md +177 -0
  214. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-cleanup.md +152 -0
  215. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-complete-milestone.md +766 -0
  216. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-diagnose-issues.md +220 -0
  217. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-discovery-phase.md +289 -0
  218. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-discuss-phase-assumptions.md +645 -0
  219. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-discuss-phase.md +1047 -0
  220. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-do.md +104 -0
  221. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-execute-phase.md +838 -0
  222. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-execute-plan.md +509 -0
  223. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-fast.md +105 -0
  224. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-forensics.md +265 -0
  225. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-health.md +181 -0
  226. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-help.md +606 -0
  227. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-insert-phase.md +130 -0
  228. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-list-phase-assumptions.md +178 -0
  229. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-list-workspaces.md +56 -0
  230. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-manager.md +360 -0
  231. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-map-codebase.md +370 -0
  232. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-milestone-summary.md +223 -0
  233. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-new-milestone.md +469 -0
  234. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-new-project.md +1226 -0
  235. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-new-workspace.md +237 -0
  236. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-next.md +97 -0
  237. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-node-repair.md +92 -0
  238. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-note.md +156 -0
  239. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-pause-work.md +176 -0
  240. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-plan-milestone-gaps.md +273 -0
  241. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-plan-phase.md +877 -0
  242. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-plant-seed.md +169 -0
  243. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-pr-branch.md +129 -0
  244. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-profile-user.md +450 -0
  245. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-progress.md +507 -0
  246. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-quick.md +732 -0
  247. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-remove-phase.md +155 -0
  248. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-remove-workspace.md +90 -0
  249. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-research-phase.md +74 -0
  250. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-resume-project.md +325 -0
  251. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-review.md +228 -0
  252. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-session-report.md +146 -0
  253. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-settings.md +283 -0
  254. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-ship.md +228 -0
  255. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-stats.md +60 -0
  256. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-transition.md +671 -0
  257. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-ui-phase.md +290 -0
  258. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-ui-review.md +157 -0
  259. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-update.md +323 -0
  260. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-validate-phase.md +167 -0
  261. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-verify-phase.md +254 -0
  262. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-verify-work.md +628 -0
  263. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:add-backlog.md +24 -0
  264. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:agent.md +25 -0
  265. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:approve.md +21 -0
  266. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:architecture.md +40 -0
  267. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:audit.md +33 -0
  268. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:auto.md +25 -0
  269. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:benchmark.md +36 -0
  270. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:brainstorming.md +16 -0
  271. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:browse.md +29 -0
  272. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:complete-milestone.md +21 -0
  273. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:costs.md +14 -0
  274. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:cross-review.md +20 -0
  275. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:dashboard.md +101 -0
  276. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:debug.md +131 -0
  277. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:discuss-phase.md +141 -0
  278. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:do.md +25 -0
  279. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:execute-phase.md +205 -0
  280. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:executor.md +18 -0
  281. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:health.md +24 -0
  282. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:help.md +26 -0
  283. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:identity.md +18 -0
  284. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:init-org.md +134 -0
  285. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:init-project.md +185 -0
  286. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:install-skill.md +27 -0
  287. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:learn.md +146 -0
  288. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:map-codebase.md +301 -0
  289. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:marketplace.md +123 -0
  290. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:memory.md +18 -0
  291. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:metrics.md +25 -0
  292. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:migrate.md +43 -0
  293. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:milestone.md +15 -0
  294. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:new-runtime.md +22 -0
  295. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:next.md +108 -0
  296. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:note.md +27 -0
  297. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:plan-phase.md +139 -0
  298. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:planner.md +18 -0
  299. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:plant-seed.md +24 -0
  300. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:plugins.md +43 -0
  301. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:pr-review.md +44 -0
  302. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:profile-team.md +26 -0
  303. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:publish-skill.md +22 -0
  304. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:qa.md +19 -0
  305. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:quick.md +138 -0
  306. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:release.md +13 -0
  307. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:remember.md +29 -0
  308. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:research.md +15 -0
  309. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:researcher.md +18 -0
  310. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:retrospective.md +29 -0
  311. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:review-backlog.md +26 -0
  312. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:review.md +160 -0
  313. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:reviewer.md +18 -0
  314. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:security-scan.md +236 -0
  315. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:session-report.md +31 -0
  316. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:ship.md +108 -0
  317. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:skills.md +144 -0
  318. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:soul.md +54 -0
  319. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:status.md +107 -0
  320. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:steer.md +16 -0
  321. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:sync-confluence.md +14 -0
  322. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:sync-jira.md +15 -0
  323. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:tdd.md +46 -0
  324. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:tokens.md +11 -0
  325. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:tool.md +18 -0
  326. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:ui-phase.md +27 -0
  327. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:ui-review.md +28 -0
  328. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:update.md +45 -0
  329. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:validate-phase.md +25 -0
  330. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:verify-phase.md +65 -0
  331. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:workspace.md +32 -0
  332. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:workstreams.md +27 -0
  333. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/publish-release.md +36 -0
  334. package/.mindforge/mirrors/mirror-sre-776a1cf9/.czrc +3 -0
  335. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/pull_request_template.md +29 -0
  336. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/ai-intelligence.yml +55 -0
  337. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/auto-pr.yml +80 -0
  338. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/control-plane.yml +79 -0
  339. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/execution-plane.yml +52 -0
  340. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/mindforge-ai-review.yml +68 -0
  341. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/mindforge-autonomous.yml +70 -0
  342. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/mindforge-ci.yml +224 -0
  343. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/mindforge-observability.yml +71 -0
  344. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/mindforge-release.yml +55 -0
  345. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/observability-plane.yml +40 -0
  346. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/release-plane.yml +43 -0
  347. package/.mindforge/mirrors/mirror-sre-776a1cf9/.gitlab-ci-mindforge.yml +18 -0
  348. package/.mindforge/mirrors/mirror-sre-776a1cf9/.husky/pre-commit +1 -0
  349. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/MINDFORGE-SCHEMA.json +165 -0
  350. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/MINDFORGE-V2-SCHEMA.json +47 -0
  351. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/audit/AUDIT-SCHEMA.md +470 -0
  352. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/browser/daemon-protocol.md +24 -0
  353. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/browser/qa-engine.md +16 -0
  354. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/browser/session-manager.md +18 -0
  355. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/browser/visual-verify-spec.md +31 -0
  356. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/bypasses.json +8 -0
  357. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/ci/ci-config-schema.md +21 -0
  358. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/ci/ci-mode.md +179 -0
  359. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/ci/github-actions-adapter.md +224 -0
  360. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/ci/gitlab-ci-adapter.md +31 -0
  361. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/ci/jenkins-adapter.md +44 -0
  362. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/config.json +66 -0
  363. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/dashboard/api-reference.md +122 -0
  364. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/dashboard/dashboard-spec.md +96 -0
  365. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/distribution/marketplace.md +53 -0
  366. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/distribution/registry-client.md +166 -0
  367. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/distribution/registry-schema.md +96 -0
  368. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/distribution/skill-publisher.md +44 -0
  369. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/distribution/skill-validator.md +74 -0
  370. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/ads-protocol.md +54 -0
  371. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/autonomous/auto-executor.md +266 -0
  372. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/autonomous/headless-adapter.md +66 -0
  373. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/autonomous/node-repair.md +190 -0
  374. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/autonomous/progress-reporter.md +58 -0
  375. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/autonomous/steering-manager.md +64 -0
  376. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/autonomous/stuck-detector.md +89 -0
  377. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/compaction-protocol.md +167 -0
  378. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/context-injector.md +154 -0
  379. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/dependency-parser.md +113 -0
  380. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/integrity.json +12 -0
  381. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/knowledge-graph-protocol.md +125 -0
  382. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/nexus-tracer.js +11 -0
  383. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/persona-factory.md +45 -0
  384. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/shard-controller.md +53 -0
  385. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/skills/conflict-resolver.md +69 -0
  386. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/skills/loader.md +184 -0
  387. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/skills/registry.md +98 -0
  388. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/skills/versioning.md +75 -0
  389. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/swarm-controller.md +59 -0
  390. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/temporal-protocol.md +40 -0
  391. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/verification-pipeline.md +111 -0
  392. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/wave-executor.md +285 -0
  393. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/governance/GOVERNANCE-CONFIG.md +17 -0
  394. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/governance/approval-workflow.md +37 -0
  395. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/governance/change-classifier.md +63 -0
  396. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/governance/compliance-gates.md +31 -0
  397. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/governance/policies/sovereign-default.json +16 -0
  398. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/integrations/confluence.md +27 -0
  399. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/integrations/connection-manager.md +163 -0
  400. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/integrations/github.md +25 -0
  401. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/integrations/gitlab.md +13 -0
  402. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/integrations/jira.md +102 -0
  403. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/integrations/slack.md +41 -0
  404. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/intelligence/antipattern-detector.md +75 -0
  405. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/intelligence/difficulty-scorer.md +55 -0
  406. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/intelligence/health-engine.md +208 -0
  407. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/intelligence/skill-gap-analyser.md +40 -0
  408. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/intelligence/smart-compaction.md +71 -0
  409. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/memory/MEMORY-SCHEMA.md +155 -0
  410. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/memory/engine/capture-protocol.md +36 -0
  411. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/memory/engine/global-sync-spec.md +42 -0
  412. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/memory/engine/retrieval-spec.md +44 -0
  413. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/metrics/METRICS-SCHEMA.md +42 -0
  414. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/metrics/quality-tracker.md +32 -0
  415. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/models/model-registry.md +48 -0
  416. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/models/model-router.md +30 -0
  417. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/monorepo/cross-package-planner.md +114 -0
  418. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/monorepo/dependency-graph-builder.md +32 -0
  419. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/monorepo/workspace-detector.md +129 -0
  420. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/org/CONVENTIONS.md +62 -0
  421. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/org/ORG.md +51 -0
  422. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/org/SECURITY.md +50 -0
  423. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/org/TOOLS.md +53 -0
  424. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/org/integrations/INTEGRATIONS-CONFIG.md +58 -0
  425. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/org/skills/MANIFEST.md +15 -0
  426. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/advisor-researcher.md +89 -0
  427. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/analyst.md +112 -0
  428. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/architect.md +108 -0
  429. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/assumptions-analyzer-extend.md +87 -0
  430. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/assumptions-analyzer.md +109 -0
  431. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/codebase-mapper-extend.md +93 -0
  432. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/codebase-mapper.md +770 -0
  433. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/coverage-specialist.md +104 -0
  434. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/debug-specialist.md +118 -0
  435. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/debugger.md +97 -0
  436. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/decision-architect.md +102 -0
  437. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/developer.md +97 -0
  438. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/executor.md +88 -0
  439. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/integration-checker.md +92 -0
  440. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/mf-executor.md +40 -0
  441. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/mf-memory.md +33 -0
  442. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/mf-planner.md +45 -0
  443. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/mf-researcher.md +39 -0
  444. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/mf-reviewer.md +35 -0
  445. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/mf-tool.md +33 -0
  446. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/nyquist-auditor.md +84 -0
  447. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/overrides/README.md +85 -0
  448. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/phase-researcher.md +107 -0
  449. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/plan-checker.md +92 -0
  450. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/planner.md +105 -0
  451. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/project-researcher.md +99 -0
  452. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/qa-engineer.md +113 -0
  453. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/release-manager.md +114 -0
  454. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/research-agent.md +109 -0
  455. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/research-synthesizer.md +101 -0
  456. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/roadmapper-extend.md +100 -0
  457. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/roadmapper.md +103 -0
  458. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/security-reviewer.md +114 -0
  459. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/swarm-templates.json +118 -0
  460. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/tech-writer.md +118 -0
  461. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/ui-auditor.md +94 -0
  462. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/ui-checker.md +89 -0
  463. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/ui-researcher.md +99 -0
  464. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/user-profiler.md +93 -0
  465. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/verifier.md +101 -0
  466. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/plugins/PLUGINS-MANIFEST.md +23 -0
  467. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/plugins/plugin-loader.md +93 -0
  468. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/plugins/plugin-registry.md +44 -0
  469. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/plugins/plugin-schema.md +68 -0
  470. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/pr-review/ai-reviewer.md +266 -0
  471. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/pr-review/finding-formatter.md +46 -0
  472. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/pr-review/review-prompt-templates.md +44 -0
  473. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/production/compatibility-layer.md +39 -0
  474. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/production/migration-engine.md +52 -0
  475. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/production/production-checklist.md +76 -0
  476. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/production/token-optimiser.md +68 -0
  477. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/remediation-queue.json +47 -0
  478. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/accessibility/SKILL.md +106 -0
  479. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/api-design/SKILL.md +98 -0
  480. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/code-quality/SKILL.md +88 -0
  481. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/data-privacy/SKILL.md +126 -0
  482. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/database-patterns/SKILL.md +192 -0
  483. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/documentation/SKILL.md +91 -0
  484. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/incident-response/SKILL.md +180 -0
  485. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/performance/SKILL.md +120 -0
  486. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/security-review/SKILL.md +83 -0
  487. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/testing-standards/SKILL.md +97 -0
  488. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills-builder/auto-capture-protocol.md +88 -0
  489. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills-builder/learn-protocol.md +161 -0
  490. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills-builder/quality-scoring.md +120 -0
  491. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/team/TEAM-PROFILE.md +42 -0
  492. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/team/multi-handoff.md +23 -0
  493. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/team/profiles/README.md +13 -0
  494. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/team/session-merger.md +18 -0
  495. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/ARCHITECTURE.md +0 -0
  496. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/AUDIT.jsonl +45 -0
  497. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/HANDOFF.json +8 -0
  498. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/PROJECT.md +33 -0
  499. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/RELEASE-CHECKLIST.md +68 -0
  500. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/REQUIREMENTS.md +23 -0
  501. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/ROADMAP.md +12 -0
  502. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/ROI.jsonl +2 -0
  503. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/STATE.md +31 -0
  504. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/approvals/.gitkeep +1 -0
  505. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/.gitkeep +1 -0
  506. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/org/CONVENTIONS.md +0 -0
  507. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/org/ORG.md +0 -0
  508. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/org/SECURITY.md +0 -0
  509. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/org/TOOLS.md +0 -0
  510. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/analyst.md +0 -0
  511. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/architect.md +0 -0
  512. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/debug-specialist.md +0 -0
  513. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/developer.md +26 -0
  514. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/qa-engineer.md +0 -0
  515. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/release-manager.md +0 -0
  516. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/security-reviewer.md +33 -0
  517. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/tech-writer.md +0 -0
  518. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/skills/api-design/SKILL.md +0 -0
  519. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/skills/code-quality/SKILL.md +0 -0
  520. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/skills/documentation/SKILL.md +0 -0
  521. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/skills/security-review/SKILL.md +23 -0
  522. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/skills/testing-standards/SKILL.md +27 -0
  523. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/ARCHITECTURE-AUDIT-REPORT.md +90 -0
  524. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/LOGS-BENCHMARKING.md +172 -0
  525. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/ROADMAP_V8.md +49 -0
  526. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/github-actions-logs.md +88 -0
  527. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-1-imp/DAY1-HARDEN.md +823 -0
  528. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-1-imp/DAY1-IMPLEMENT.md +2459 -0
  529. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-1-imp/DAY1-REVIEW.md +288 -0
  530. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-2-imp/DAY2-HARDEN.md +954 -0
  531. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-2-imp/DAY2-IMPLEMENT.md +2347 -0
  532. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-2-imp/DAY2-REVIEW.md +422 -0
  533. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-3-imp/DAY3-HARDEN.md +870 -0
  534. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-3-imp/DAY3-IMPLEMENT.md +2798 -0
  535. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-3-imp/DAY3-REVIEW.md +484 -0
  536. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-4-imp/DAY4-HARDEN.md +1087 -0
  537. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-4-imp/DAY4-IMPLEMENT.md +2874 -0
  538. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-4-imp/DAY4-REVIEW.md +386 -0
  539. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-5-imp/DAY5-HARDEN.md +1078 -0
  540. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-5-imp/DAY5-IMPLEMENT.md +3151 -0
  541. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-5-imp/DAY5-REVIEW.md +345 -0
  542. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-6-imp/DAY6-COMPLETE.md +3919 -0
  543. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-7-imp-prod/DAY7-PRODUCTION-FINAL.md +4513 -0
  544. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/ci-actions/github-workflows-v2.md +421 -0
  545. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/ci-actions/v2-ci-actions.md +292 -0
  546. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-10-imp/DAY10-MULTI-MODEL.md +3402 -0
  547. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-11-imp/DAY11-PERSISTENT-MEMORY.md +3237 -0
  548. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-12-imp/DAY12-REALTIME-DASHBOARD.md +3301 -0
  549. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-13-imp/DAY13-SELF-BUILDING-SKILLS.md +3798 -0
  550. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-14-prod-v2/DAY14-V2-PRODUCTION-RELEASE.md +2255 -0
  551. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-8-imp/DAY8-AUTONOMOUS-ENGINE.md +3400 -0
  552. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-9-imp/DAY9-BROWSER-RUNTIME.md +3293 -0
  553. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/audit-archive/.gitkeep +1 -0
  554. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/decisions/.gitkeep +0 -0
  555. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/jira-sync.json +5 -0
  556. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/milestones/.gitkeep +1 -0
  557. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/phases/.gitkeep +0 -0
  558. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/research/.gitkeep +0 -0
  559. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/screenshots/.gitkeep +0 -0
  560. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/slack-threads.json +3 -0
  561. package/.mindforge/mirrors/mirror-sre-776a1cf9/AGENTS_LEARNING.md +112 -0
  562. package/.mindforge/mirrors/mirror-sre-776a1cf9/CHANGELOG.md +1116 -0
  563. package/.mindforge/mirrors/mirror-sre-776a1cf9/LICENSE +21 -0
  564. package/.mindforge/mirrors/mirror-sre-776a1cf9/MINDFORGE.md +91 -0
  565. package/.mindforge/mirrors/mirror-sre-776a1cf9/README.md +424 -0
  566. package/.mindforge/mirrors/mirror-sre-776a1cf9/RELEASENOTES.md +199 -0
  567. package/.mindforge/mirrors/mirror-sre-776a1cf9/REPLICATION.json +12 -0
  568. package/.mindforge/mirrors/mirror-sre-776a1cf9/SECURITY.md +4 -0
  569. package/.mindforge/mirrors/mirror-sre-776a1cf9/SOUL.md +52 -0
  570. package/.mindforge/mirrors/mirror-sre-776a1cf9/agents/executor/IDENTITY.md +31 -0
  571. package/.mindforge/mirrors/mirror-sre-776a1cf9/agents/memory/IDENTITY.md +27 -0
  572. package/.mindforge/mirrors/mirror-sre-776a1cf9/agents/planner/IDENTITY.md +35 -0
  573. package/.mindforge/mirrors/mirror-sre-776a1cf9/agents/researcher/IDENTITY.md +29 -0
  574. package/.mindforge/mirrors/mirror-sre-776a1cf9/agents/reviewer/IDENTITY.md +31 -0
  575. package/.mindforge/mirrors/mirror-sre-776a1cf9/agents/tool/IDENTITY.md +27 -0
  576. package/.mindforge/mirrors/mirror-sre-776a1cf9/auto-pr.yml +74 -0
  577. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/auto-runner.js +378 -0
  578. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/context-refactorer.js +64 -0
  579. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/headless.js +36 -0
  580. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/intent-harvester.js +80 -0
  581. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/mesh-self-healer.js +67 -0
  582. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/progress-stream.js +49 -0
  583. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/repair-operator.js +213 -0
  584. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/steer.js +89 -0
  585. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/stuck-monitor.js +120 -0
  586. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/browser-daemon.js +139 -0
  587. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/daemon-manager.js +91 -0
  588. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/qa-engine.js +47 -0
  589. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/qa-report-writer.js +32 -0
  590. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/regression-writer.js +27 -0
  591. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/screenshot-store.js +49 -0
  592. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/session-manager.js +93 -0
  593. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/visual-verify-executor.js +89 -0
  594. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/change-classifier.js +86 -0
  595. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/api-router.js +198 -0
  596. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/approval-handler.js +134 -0
  597. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/frontend/index.html +751 -0
  598. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/metrics-aggregator.js +296 -0
  599. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/revops-api.js +47 -0
  600. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/server.js +138 -0
  601. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/sse-bridge.js +178 -0
  602. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/team-tracker.js +0 -0
  603. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/temporal-api.js +82 -0
  604. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/context-entropy-guard.js +94 -0
  605. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/feedback-loop.js +106 -0
  606. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/handover-manager.js +71 -0
  607. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/intelligence-interlock.js +39 -0
  608. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/learning-manager.js +181 -0
  609. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/logic-drift-detector.js +100 -0
  610. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/logic-validator.js +74 -0
  611. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/mesh-syncer.js +129 -0
  612. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/nexus-tracer.js +356 -0
  613. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/orbital-guardian.js +84 -0
  614. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/reason-source-aligner.js +111 -0
  615. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/remediation-engine.js +81 -0
  616. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/self-corrective-synthesizer.js +65 -0
  617. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/skill-evolver.js +105 -0
  618. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/sre-manager.js +117 -0
  619. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/temporal-cli.js +52 -0
  620. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/temporal-hindsight.js +115 -0
  621. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/temporal-hub.js +138 -0
  622. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/test-ceg.js +59 -0
  623. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/test-interlock.js +40 -0
  624. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/test-remediation.js +61 -0
  625. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/test-rsa.js +64 -0
  626. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/test-scs.js +57 -0
  627. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/test-v7-blueprint.js +44 -0
  628. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/gov-audit.js +38 -0
  629. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/approve.js +60 -0
  630. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/config-manager.js +85 -0
  631. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/impact-analyzer.js +141 -0
  632. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/policies/critical-data.json +1 -0
  633. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/policies/default-policies.jsonl +33 -0
  634. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/policy-engine.js +210 -0
  635. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/policy-gate-hardened.js +59 -0
  636. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/quantum-crypto.js +111 -0
  637. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/rbac-manager.js +109 -0
  638. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/test-config.js +40 -0
  639. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/test-crypto-pluggable.js +50 -0
  640. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/test-hardened-gate.js +71 -0
  641. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/trust-verifier.js +81 -0
  642. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/ztai-archiver.js +104 -0
  643. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/ztai-manager.js +239 -0
  644. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/hindsight-injector.js +59 -0
  645. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/install.js +129 -0
  646. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/installer-core.js +805 -0
  647. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/auto-shadow.js +274 -0
  648. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/cli.js +99 -0
  649. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/eis-client.js +95 -0
  650. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/embedding-engine.js +326 -0
  651. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/federated-sync.js +293 -0
  652. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/ghost-pattern-detector.js +69 -0
  653. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/global-sync.js +107 -0
  654. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/identity-synthesizer.js +146 -0
  655. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/knowledge-capture.js +442 -0
  656. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/knowledge-graph.js +609 -0
  657. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/knowledge-indexer.js +172 -0
  658. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/knowledge-store.js +337 -0
  659. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/pillar-health-tracker.js +63 -0
  660. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/semantic-hub.js +211 -0
  661. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/session-memory-loader.js +137 -0
  662. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/vector-hub.js +170 -0
  663. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/0.1.0-to-0.5.0.js +36 -0
  664. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/0.5.0-to-0.6.0.js +17 -0
  665. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/0.6.0-to-1.0.0.js +100 -0
  666. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/1.0.0-to-2.0.0.js +115 -0
  667. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/migrate.js +155 -0
  668. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/schema-versions.js +76 -0
  669. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/v8-sqlite-migration.js +85 -0
  670. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/mindforge-cc.sh +5 -0
  671. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/mindforge-cli.js +180 -0
  672. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/anthropic-provider.js +77 -0
  673. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/cloud-broker.js +161 -0
  674. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/cost-tracker.js +118 -0
  675. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/finops-hub.js +79 -0
  676. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/gemini-provider.js +79 -0
  677. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/model-broker.js +129 -0
  678. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/model-client.js +98 -0
  679. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/model-router.js +112 -0
  680. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/openai-provider.js +78 -0
  681. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/performance-stats.json +22 -0
  682. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/research/research-engine.js +115 -0
  683. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/review/ads-engine.js +126 -0
  684. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/review/ads-synthesizer.js +117 -0
  685. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/review/cross-review-engine.js +92 -0
  686. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/review/finding-synthesizer.js +116 -0
  687. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/review/review-report-writer.js +49 -0
  688. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/revops/debt-monitor.js +60 -0
  689. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/revops/market-evaluator.js +73 -0
  690. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/revops/remediation-queue.js +107 -0
  691. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/revops/roi-engine.js +65 -0
  692. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/revops/router-steering-v2.js +73 -0
  693. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/revops/velocity-forecaster.js +59 -0
  694. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/shard-helper.js +134 -0
  695. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skill-registry.js +232 -0
  696. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skill-validator.js +211 -0
  697. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/learn-cli.js +57 -0
  698. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/marketplace-cli.js +54 -0
  699. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/marketplace-client.js +198 -0
  700. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/pattern-detector.js +144 -0
  701. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/skill-generator.js +258 -0
  702. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/skill-registrar.js +107 -0
  703. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/skill-scorer.js +263 -0
  704. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/source-loader.js +268 -0
  705. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/spawn-agent.js +61 -0
  706. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/updater/changelog-fetcher.js +62 -0
  707. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/updater/self-update.js +169 -0
  708. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/updater/version-comparator.js +68 -0
  709. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/validate-config.js +92 -0
  710. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/wizard/config-generator.js +112 -0
  711. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/wizard/environment-detector.js +83 -0
  712. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/wizard/setup-wizard.js +240 -0
  713. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/wizard/theme.js +184 -0
  714. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/CAPABILITIES-MANIFEST.md +64 -0
  715. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Context/Master-Context.md +694 -0
  716. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/INTELLIGENCE-MESH.md +37 -0
  717. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/MIND-FORGE-REFERENCE-V6.md +96 -0
  718. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/PERSONAS.md +920 -0
  719. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/audit-events.md +59 -0
  720. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/checkpoints.md +778 -0
  721. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/commands.md +107 -0
  722. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/config-reference.md +81 -0
  723. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/continuation-format.md +249 -0
  724. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/decimal-phase-calculation.md +64 -0
  725. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/git-integration.md +295 -0
  726. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/git-planning-commit.md +38 -0
  727. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/model-profile-resolution.md +36 -0
  728. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/model-profiles.md +139 -0
  729. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/phase-argument-parsing.md +61 -0
  730. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/planning-config.md +202 -0
  731. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/questioning.md +162 -0
  732. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/sdk-api.md +53 -0
  733. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/skills-api.md +57 -0
  734. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/tdd.md +263 -0
  735. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/ui-brand.md +160 -0
  736. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/user-profiling.md +681 -0
  737. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/verification-patterns.md +612 -0
  738. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/workstream-flag.md +58 -0
  739. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Agents/CLAUDE-MD.md +122 -0
  740. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Agents/COPILOT-INSTRUCTIONS.md +7 -0
  741. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Agents/DEBUGGER-PROMPT.md +91 -0
  742. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Agents/PLANNER-PROMPT.md +117 -0
  743. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/architecture.md +255 -0
  744. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/concerns.md +310 -0
  745. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/conventions.md +307 -0
  746. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/integrations.md +280 -0
  747. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/stack.md +186 -0
  748. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/structure.md +285 -0
  749. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/testing.md +480 -0
  750. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/CONTINUE-HERE.md +78 -0
  751. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/DISCUSSION-LOG.md +63 -0
  752. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/PHASE-PROMPT.md +610 -0
  753. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/STATE.md +176 -0
  754. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/SUMMARY-COMPLEX.md +59 -0
  755. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/SUMMARY-MINIMAL.md +41 -0
  756. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/SUMMARY-STANDARD.md +48 -0
  757. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/SUMMARY.md +248 -0
  758. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Profile/DEV-PREFERENCES.md +21 -0
  759. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Profile/USER-PROFILE.md +146 -0
  760. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Profile/USER-SETUP.md +311 -0
  761. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/AGENTS_LEARNING.md +88 -0
  762. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/DISCOVERY.md +146 -0
  763. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/MILESTONE-ARCHIVE.md +123 -0
  764. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/MILESTONE.md +115 -0
  765. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/PROJECT.md +206 -0
  766. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/REQUIREMENTS.md +231 -0
  767. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/RETROSPECTIVE.md +54 -0
  768. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/ROADMAP.md +202 -0
  769. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Quality/DEBUG.md +164 -0
  770. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Quality/UAT.md +280 -0
  771. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Quality/UI-SPEC.md +100 -0
  772. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Quality/VALIDATION.md +76 -0
  773. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Quality/VERIFICATION-REPORT.md +322 -0
  774. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Research/ARCHITECTURE.md +204 -0
  775. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Research/FEATURES.md +147 -0
  776. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Research/PITFALLS.md +200 -0
  777. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Research/STACK.md +120 -0
  778. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Research/SUMMARY.md +170 -0
  779. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/System/CONFIG.json +43 -0
  780. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/System/CONTEXT.md +352 -0
  781. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/adr/ADR-024-browser-localhost-only.md +17 -0
  782. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/adr/ADR-025-visual-verify-failure-treatment.md +19 -0
  783. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/adr/ADR-026-session-persistence-security.md +20 -0
  784. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/adr/ADR-042-ads-protocol.md +30 -0
  785. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/NEXUS-DASHBOARD.md +35 -0
  786. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/PAR-ZTS-SURVEY.md +43 -0
  787. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/README.md +78 -0
  788. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/V3-CORE.md +52 -0
  789. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/V4-SWARM-MESH.md +77 -0
  790. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/V5-ENTERPRISE.md +131 -0
  791. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/V6-SOVEREIGN.md +43 -0
  792. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/adr-039-multi-runtime-support.md +20 -0
  793. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/adr-040-additive-schema-migration.md +21 -0
  794. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/adr-041-stable-runtime-interface-contract.md +20 -0
  795. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/decision-records-index.md +29 -0
  796. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/ci-cd-integration.md +30 -0
  797. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/ci-cd.md +92 -0
  798. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/ci-quickstart.md +78 -0
  799. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/commands-reference.md +144 -0
  800. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/commands-skills/DISCOVERED_SKILLS.md +21 -0
  801. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/contributing/CONTRIBUTING.md +38 -0
  802. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/contributing/plugin-authoring.md +50 -0
  803. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/contributing/skill-authoring.md +41 -0
  804. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/enterprise-setup.md +25 -0
  805. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/faq.md +38 -0
  806. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/feature-dashboard.md +63 -0
  807. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/getting-started.md +44 -0
  808. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/governance-guide.md +99 -0
  809. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/monorepo-guide.md +26 -0
  810. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/persona-customisation.md +56 -0
  811. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/publishing-guide.md +43 -0
  812. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/quick-verify.md +33 -0
  813. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/AGENTS.md +37 -0
  814. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/COMMANDS.md +87 -0
  815. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/HOOKS.md +38 -0
  816. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/PERSONAS.md +64 -0
  817. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/README.md +27 -0
  818. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/SKILLS.md +142 -0
  819. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/WORKFLOWS.md +72 -0
  820. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/release-checklist-guide.md +37 -0
  821. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/requirements.md +29 -0
  822. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/sdk-reference.md +27 -0
  823. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/security/SECURITY.md +55 -0
  824. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/security/ZTAI-OVERVIEW.md +37 -0
  825. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/security/penetration-test-results.md +31 -0
  826. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/security/threat-model.md +142 -0
  827. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/skills-authoring-guide.md +176 -0
  828. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/skills-publishing-guide.md +22 -0
  829. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/team-setup-guide.md +21 -0
  830. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/testing-current-version.md +130 -0
  831. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/troubleshooting.md +139 -0
  832. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/tutorial.md +162 -0
  833. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/upgrade.md +58 -0
  834. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/user-guide.md +244 -0
  835. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/usp-features.md +102 -0
  836. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/workflow-atlas.md +57 -0
  837. package/.mindforge/mirrors/mirror-sre-776a1cf9/eslint.config.mjs +31 -0
  838. package/.mindforge/mirrors/mirror-sre-776a1cf9/examples/starter-project/.planning/AUDIT.jsonl +1 -0
  839. package/.mindforge/mirrors/mirror-sre-776a1cf9/examples/starter-project/.planning/HANDOFF.json +23 -0
  840. package/.mindforge/mirrors/mirror-sre-776a1cf9/examples/starter-project/.planning/PROJECT.md +27 -0
  841. package/.mindforge/mirrors/mirror-sre-776a1cf9/examples/starter-project/.planning/STATE.md +10 -0
  842. package/.mindforge/mirrors/mirror-sre-776a1cf9/examples/starter-project/MINDFORGE.md +40 -0
  843. package/.mindforge/mirrors/mirror-sre-776a1cf9/examples/starter-project/README.md +14 -0
  844. package/.mindforge/mirrors/mirror-sre-776a1cf9/package-lock.json +3882 -0
  845. package/.mindforge/mirrors/mirror-sre-776a1cf9/package.json +66 -0
  846. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/README.md +69 -0
  847. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/eslint.config.mjs +34 -0
  848. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/package-lock.json +1507 -0
  849. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/package.json +30 -0
  850. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/src/client.ts +133 -0
  851. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/src/commands.ts +63 -0
  852. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/src/events.ts +166 -0
  853. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/src/index.ts +23 -0
  854. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/src/memory.ts +257 -0
  855. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/src/types.ts +87 -0
  856. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/tsconfig.json +13 -0
  857. package/.mindforge/mirrors/mirror-sre-776a1cf9/skills-lock.json +30 -0
  858. package/.mindforge/mirrors/mirror-sre-776a1cf9/test/sovereign-status.test.js +18 -0
  859. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/ads.test.js +121 -0
  860. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/audit.test.js +206 -0
  861. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/autonomous.test.js +53 -0
  862. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/browser.test.js +61 -0
  863. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/ci-mode.test.js +162 -0
  864. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/compaction.test.js +161 -0
  865. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/dashboard.test.js +327 -0
  866. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/distribution.test.js +205 -0
  867. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/e2e.test.js +618 -0
  868. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/entropy-test.js +47 -0
  869. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/feedback-loop.test.js +62 -0
  870. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/governance/test-cadia-optimizer.js +112 -0
  871. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/governance/test-policies/deny-security.json +9 -0
  872. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/governance/test-policies/permit-t2.json +10 -0
  873. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/governance.test.js +130 -0
  874. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/install.test.js +209 -0
  875. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/integrations.test.js +128 -0
  876. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/intelligence.test.js +117 -0
  877. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/knowledge-graph.test.js +593 -0
  878. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/learning-engine.test.js +69 -0
  879. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/mca-routing-test.js +37 -0
  880. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/memory.test.js +166 -0
  881. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/metrics.test.js +96 -0
  882. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/migration.test.js +308 -0
  883. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/model-broker.test.js +55 -0
  884. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/model-routing.test.js +111 -0
  885. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/nexus-tracing.test.js +49 -0
  886. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/production.test.js +416 -0
  887. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/release.test.js +99 -0
  888. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/revops-roi.test.js +52 -0
  889. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/run-nexus-tests.js +84 -0
  890. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/sdk.test.js +200 -0
  891. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/security-audit.test.js +67 -0
  892. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/self-building-skills.test.js +285 -0
  893. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/semantic-hub.test.js +91 -0
  894. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/sharding.test.js +87 -0
  895. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/skills-platform.test.js +389 -0
  896. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/sre-zk-proof-test.js +76 -0
  897. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/swarms.test.md +21 -0
  898. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/temporal-vision.test.js +68 -0
  899. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v7-pillar-integration.test.js +73 -0
  900. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v7-proactive-homing.test.js +53 -0
  901. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v7-sovereign-security.test.js +64 -0
  902. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v8-mesh-sync.test.js +76 -0
  903. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v8-orbital-governance.test.js +74 -0
  904. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v8-persistence.test.js +86 -0
  905. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v8-skill-evolution.test.js +74 -0
  906. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/wave-engine.test.js +336 -0
  907. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/ztai-enterprise.test.js +103 -0
  908. package/.planning/archive/v8-cleanup/.agents/skills/ai-image-generation/SKILL.md +147 -0
  909. package/.planning/archive/v8-cleanup/.agents/skills/ai-video-generation/SKILL.md +185 -0
  910. package/.planning/archive/v8-cleanup/.agents/skills/critique/SKILL.md +201 -0
  911. package/.planning/archive/v8-cleanup/.agents/skills/critique/reference/cognitive-load.md +106 -0
  912. package/.planning/archive/v8-cleanup/.agents/skills/critique/reference/heuristics-scoring.md +234 -0
  913. package/.planning/archive/v8-cleanup/.agents/skills/critique/reference/personas.md +178 -0
  914. package/.planning/archive/v8-cleanup/.agents/skills/elevenlabs-music/SKILL.md +191 -0
  915. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/SKILL.md +659 -0
  916. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/_sync_all.py +414 -0
  917. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/app-interface.csv +31 -0
  918. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/charts.csv +26 -0
  919. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/colors.csv +162 -0
  920. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/design.csv +1776 -0
  921. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/draft.csv +1779 -0
  922. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/google-fonts.csv +1924 -0
  923. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/icons.csv +106 -0
  924. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/landing.csv +35 -0
  925. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/products.csv +162 -0
  926. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  927. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  928. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/styles.csv +85 -0
  929. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/typography.csv +74 -0
  930. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/ui-reasoning.csv +162 -0
  931. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  932. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/scripts/core.py +247 -0
  933. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
  934. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/scripts/search.py +114 -0
  935. package/.planning/archive/v8-cleanup/.forge/org/CONVENTIONS.md +0 -0
  936. package/.planning/archive/v8-cleanup/.forge/org/ORG.md +0 -0
  937. package/.planning/archive/v8-cleanup/.forge/org/SECURITY.md +0 -0
  938. package/.planning/archive/v8-cleanup/.forge/org/TOOLS.md +0 -0
  939. package/.planning/archive/v8-cleanup/.forge/personas/analyst.md +0 -0
  940. package/.planning/archive/v8-cleanup/.forge/personas/architect.md +0 -0
  941. package/.planning/archive/v8-cleanup/.forge/personas/debug-specialist.md +0 -0
  942. package/.planning/archive/v8-cleanup/.forge/personas/developer.md +26 -0
  943. package/.planning/archive/v8-cleanup/.forge/personas/qa-engineer.md +0 -0
  944. package/.planning/archive/v8-cleanup/.forge/personas/release-manager.md +0 -0
  945. package/.planning/archive/v8-cleanup/.forge/personas/security-reviewer.md +33 -0
  946. package/.planning/archive/v8-cleanup/.forge/personas/tech-writer.md +0 -0
  947. package/.planning/archive/v8-cleanup/.forge/skills/api-design/SKILL.md +0 -0
  948. package/.planning/archive/v8-cleanup/.forge/skills/code-quality/SKILL.md +0 -0
  949. package/.planning/archive/v8-cleanup/.forge/skills/documentation/SKILL.md +0 -0
  950. package/.planning/archive/v8-cleanup/.forge/skills/security-review/SKILL.md +23 -0
  951. package/.planning/archive/v8-cleanup/.forge/skills/testing-standards/SKILL.md +27 -0
  952. package/.planning/archive/v8-cleanup/ARCHITECTURE-AUDIT-REPORT.md +90 -0
  953. package/.planning/archive/v8-cleanup/LOGS-BENCHMARKING.md +172 -0
  954. package/.planning/archive/v8-cleanup/MIND-FORGE-V6-ENTERPRISE-PROPOSAL.md +79 -0
  955. package/.planning/archive/v8-cleanup/ROADMAP_V7.md +67 -0
  956. package/.planning/archive/v8-cleanup/ROADMAP_V8.md +49 -0
  957. package/.planning/archive/v8-cleanup/github-actions-logs.md +88 -0
  958. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-1-imp/DAY1-HARDEN.md +823 -0
  959. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-1-imp/DAY1-IMPLEMENT.md +2459 -0
  960. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-1-imp/DAY1-REVIEW.md +288 -0
  961. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-2-imp/DAY2-HARDEN.md +954 -0
  962. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-2-imp/DAY2-IMPLEMENT.md +2347 -0
  963. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-2-imp/DAY2-REVIEW.md +422 -0
  964. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-3-imp/DAY3-HARDEN.md +870 -0
  965. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-3-imp/DAY3-IMPLEMENT.md +2798 -0
  966. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-3-imp/DAY3-REVIEW.md +484 -0
  967. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-4-imp/DAY4-HARDEN.md +1087 -0
  968. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-4-imp/DAY4-IMPLEMENT.md +2874 -0
  969. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-4-imp/DAY4-REVIEW.md +386 -0
  970. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-5-imp/DAY5-HARDEN.md +1078 -0
  971. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-5-imp/DAY5-IMPLEMENT.md +3151 -0
  972. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-5-imp/DAY5-REVIEW.md +345 -0
  973. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-6-imp/DAY6-COMPLETE.md +3919 -0
  974. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-7-imp-prod/DAY7-PRODUCTION-FINAL.md +4513 -0
  975. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/ci-actions/github-workflows-v2.md +421 -0
  976. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/ci-actions/v2-ci-actions.md +292 -0
  977. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-10-imp/DAY10-MULTI-MODEL.md +3402 -0
  978. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-11-imp/DAY11-PERSISTENT-MEMORY.md +3237 -0
  979. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-12-imp/DAY12-REALTIME-DASHBOARD.md +3301 -0
  980. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-13-imp/DAY13-SELF-BUILDING-SKILLS.md +3798 -0
  981. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-14-prod-v2/DAY14-V2-PRODUCTION-RELEASE.md +2255 -0
  982. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-8-imp/DAY8-AUTONOMOUS-ENGINE.md +3400 -0
  983. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-9-imp/DAY9-BROWSER-RUNTIME.md +3293 -0
  984. package/.planning/decisions/SRE-4e54a061.md +19 -0
  985. package/CHANGELOG.md +14 -0
  986. package/MINDFORGE.md +5 -4
  987. package/README.md +3 -2
  988. package/RELEASENOTES.md +17 -0
  989. package/bin/autonomous/auto-runner.js +64 -0
  990. package/bin/engine/learning-manager.js +4 -2
  991. package/bin/governance/impact-analyzer.js +4 -2
  992. package/bin/installer-core.js +18 -2
  993. package/bin/models/model-router.js +3 -1
  994. package/bin/sre/adversarial-sre.js +109 -0
  995. package/bin/sre/sentinel.js +128 -0
  996. package/bin/sre/shadow-mirror.js +122 -0
  997. package/bin/sre/sli-verifier.js +81 -0
  998. package/docs/Context/Master-Context.md +22 -2
  999. package/docs/PERSONAS.md +40 -0
  1000. package/docs/architecture/V8-SRE.md +88 -0
  1001. package/docs/governance-guide.md +43 -17
  1002. package/package.json +2 -2
@@ -0,0 +1,2255 @@
1
+ # MindForge v2 — Day 14: v2.0.0 Production Release
2
+ # Branch: `feat/mindforge-v2-release`
3
+ # Prerequisite: `feat/mindforge-v2-self-building-skills` merged to `main`
4
+ # Version target: v2.0.0 — "The Autonomous Enterprise"
5
+ # Theme: "Ship It. Every Promise Kept."
6
+
7
+ ---
8
+
9
+ ## BRANCH SETUP
10
+
11
+ ```bash
12
+ git checkout main
13
+ git pull origin main
14
+
15
+ # Verify Day 13 baseline — CRITICAL: everything must pass before release work begins
16
+ node -e "console.log(require('./package.json').version)" # Must be 2.0.0-alpha.6
17
+
18
+ # Run ALL 21 test suites — zero tolerance for failures before release
19
+ SUITES=(install wave-engine audit compaction skills-platform \
20
+ integrations governance intelligence metrics \
21
+ distribution ci-mode sdk production migration e2e \
22
+ autonomous browser model-routing memory dashboard \
23
+ self-building-skills)
24
+
25
+ FAIL=0
26
+ for suite in "${SUITES[@]}"; do
27
+ printf " %-35s" "${suite}..."
28
+ node tests/${suite}.test.js 2>&1 | tail -1 | grep -q "passed" && echo "✅" || { echo "❌ BLOCKED"; ((FAIL++)); }
29
+ done
30
+
31
+ [ "$FAIL" -gt 0 ] && echo "
32
+ ❌ $FAIL test suite(s) failing — FIX BEFORE STARTING DAY 14.
33
+ v2.0.0 release cannot proceed with failing tests." && exit 1
34
+
35
+ echo "
36
+ ✅ All 21 test suites pass. Day 14 release work may begin."
37
+
38
+ git checkout -b feat/mindforge-v2-release
39
+ ```
40
+
41
+ ---
42
+
43
+ ## DAY 14 SCOPE
44
+
45
+ Day 14 is **The Release**. Every feature built in Days 8-13 ships as a cohesive
46
+ v2.0.0 package. The scope is different from previous days: instead of building
47
+ new features, Day 14 integrates, validates, hardens, and ships everything built so far.
48
+
49
+ **The v2.0.0 promise:**
50
+ > "The only agentic framework that is simultaneously enterprise-grade
51
+ > (governance, compliance, integrations) AND autonomously capable
52
+ > (walk-away mode, browser automation, cross-model intelligence,
53
+ > persistent memory, real-time team dashboard, self-building skills)."
54
+
55
+ **Day 14 deliverables:**
56
+
57
+ | Deliverable | Description |
58
+ |---|---|
59
+ | Multi-runtime expansion | 6 runtimes: Claude Code, Antigravity, Cursor, OpenCode, Gemini CLI, GitHub Copilot |
60
+ | `/mindforge:new-runtime` command | Scaffold support for any new runtime |
61
+ | v2.0.0 migration script | 1.0.0→2.0.0 HANDOFF.json + AUDIT.jsonl backfill |
62
+ | 65-point production checklist | 50 original + 15 new v2 items (Section F) |
63
+ | Complete v2.0.0 CHANGELOG | Full "The Autonomous Enterprise" entry |
64
+ | Full test battery × 3 runs | All 22 test suites, zero failures, three consecutive passes |
65
+ | `tests/release.test.js` | 22nd and final test suite |
66
+ | v2.0.0 state file | MINDFORGE-STATE-V2.md for post-release continuation |
67
+ | npm pack simulation | Verify tarball integrity before publish |
68
+ | GitHub release notes | Complete release notes document |
69
+
70
+ **New commands today: 48 total (47 + new-runtime)**
71
+ **Final ADR count: 41 (ADR-001 through ADR-041)**
72
+
73
+ ---
74
+
75
+ # ═══════════════════════════════════════════════════════════════════════
76
+ # PART 1 — IMPLEMENTATION PROMPT
77
+ # ═══════════════════════════════════════════════════════════════════════
78
+
79
+ ---
80
+
81
+ ## TASK 1 — Multi-Runtime Expansion: Update installer for 6 runtimes
82
+
83
+ ### Update `bin/installer-core.js` RUNTIMES config
84
+
85
+ The existing installer supports Claude Code and Antigravity. Day 14 adds 4 more:
86
+ Cursor, OpenCode, Gemini CLI, and GitHub Copilot.
87
+
88
+ ```javascript
89
+ /**
90
+ * MindForge v2.0.0 — RUNTIMES configuration
91
+ * 6 runtimes supported: Claude Code, Antigravity, Cursor,
92
+ * OpenCode, Gemini CLI, GitHub Copilot.
93
+ *
94
+ * Each runtime definition:
95
+ * globalDir — Machine-level directory for global installations
96
+ * localDir — Project-level directory (relative to project root)
97
+ * commandsSubdir — Subdirectory within localDir for command files
98
+ * entryFile — Main agent instructions file name
99
+ * commandFormat — How this runtime reads commands ('slash' | 'file' | 'include')
100
+ * supportsSlash — Whether /mindforge:cmd syntax is used directly
101
+ */
102
+
103
+ // Replace the existing RUNTIMES const in bin/installer-core.js with:
104
+
105
+ const RUNTIMES = {
106
+
107
+ // ── Claude Code ─────────────────────────────────────────────────────────────
108
+ claude: {
109
+ id: 'claude',
110
+ displayName: 'Claude Code',
111
+ globalDir: path.join(home, '.claude'),
112
+ localDir: '.claude',
113
+ commandsSubdir: 'commands/mindforge',
114
+ entryFile: 'CLAUDE.md',
115
+ commandFormat: 'slash',
116
+ supportsSlash: true,
117
+ detect: () => !!(process.env.CLAUDE_CODE || fs.existsSync('.claude/CLAUDE.md')),
118
+ description: 'Anthropic Claude Code (claude.ai/code)',
119
+ installDocs: 'https://docs.anthropic.com/claude-code',
120
+ },
121
+
122
+ // ── Antigravity ──────────────────────────────────────────────────────────────
123
+ antigravity: {
124
+ id: 'antigravity',
125
+ displayName: 'Antigravity',
126
+ globalDir: path.join(home, '.antigravity'),
127
+ localDir: '.agent',
128
+ commandsSubdir: 'mindforge',
129
+ entryFile: 'CLAUDE.md',
130
+ commandFormat: 'slash',
131
+ supportsSlash: true,
132
+ detect: () => fs.existsSync('.agent/CLAUDE.md'),
133
+ description: 'Antigravity AI coding agent',
134
+ installDocs: 'https://antigravity.dev',
135
+ },
136
+
137
+ // ── Cursor ───────────────────────────────────────────────────────────────────
138
+ cursor: {
139
+ id: 'cursor',
140
+ displayName: 'Cursor',
141
+ globalDir: path.join(home, '.cursor', 'rules'),
142
+ localDir: '.cursor/rules',
143
+ commandsSubdir: 'mindforge',
144
+ entryFile: '.cursorrules',
145
+ commandFormat: 'file', // Cursor reads command files as context rules
146
+ supportsSlash: false, // Cursor uses @-rules, not /slash commands
147
+ detect: () => fs.existsSync('.cursor') || !!(process.env.CURSOR_TRACE_ID),
148
+ description: 'Cursor AI code editor (cursor.sh)',
149
+ installDocs: 'https://cursor.sh/docs',
150
+ notes: 'Commands are installed as Cursor rules in .cursor/rules/mindforge/. ' +
151
+ 'Use @mindforge-[command] in Cursor chat to reference them.',
152
+ },
153
+
154
+ // ── OpenCode ─────────────────────────────────────────────────────────────────
155
+ opencode: {
156
+ id: 'opencode',
157
+ displayName: 'OpenCode',
158
+ globalDir: path.join(home, '.config', 'opencode'),
159
+ localDir: '.opencode',
160
+ commandsSubdir: 'mindforge',
161
+ entryFile: 'CLAUDE.md', // OpenCode uses CLAUDE.md as its entry point
162
+ commandFormat: 'slash',
163
+ supportsSlash: true,
164
+ detect: () => fs.existsSync('.opencode') || !!(process.env.OPENCODE_SESSION),
165
+ description: 'OpenCode open-source coding agent (opencode.ai)',
166
+ installDocs: 'https://opencode.ai/docs',
167
+ },
168
+
169
+ // ── Gemini CLI ───────────────────────────────────────────────────────────────
170
+ gemini: {
171
+ id: 'gemini',
172
+ displayName: 'Gemini CLI',
173
+ globalDir: path.join(home, '.gemini'),
174
+ localDir: '.gemini',
175
+ commandsSubdir: 'mindforge',
176
+ entryFile: 'GEMINI.md', // Gemini CLI reads GEMINI.md as its instructions
177
+ commandFormat: 'slash',
178
+ supportsSlash: true,
179
+ detect: () => fs.existsSync('.gemini/GEMINI.md') || !!(process.env.GOOGLE_CLOUD_PROJECT && process.env.GEMINI_API_KEY),
180
+ description: 'Google Gemini CLI (developers.google.com/gemini-cli)',
181
+ installDocs: 'https://developers.google.com/gemini-cli',
182
+ },
183
+
184
+ // ── GitHub Copilot ───────────────────────────────────────────────────────────
185
+ copilot: {
186
+ id: 'copilot',
187
+ displayName: 'GitHub Copilot',
188
+ globalDir: path.join(home, '.github'),
189
+ localDir: '.github',
190
+ commandsSubdir: 'mindforge',
191
+ entryFile: 'copilot-instructions.md', // Copilot reads this as custom instructions
192
+ commandFormat: 'include', // Copilot uses @workspace + file references
193
+ supportsSlash: false,
194
+ detect: () => fs.existsSync('.github/copilot-instructions.md'),
195
+ description: 'GitHub Copilot (github.com/features/copilot)',
196
+ installDocs: 'https://docs.github.com/copilot/customizing-copilot',
197
+ notes: 'Commands are installed in .github/mindforge/. Reference with ' +
198
+ '@workspace #file:.github/mindforge/[command].md in Copilot chat.',
199
+ },
200
+ };
201
+
202
+ // Runtime entry point content adapters
203
+ // Different runtimes use different instructions file formats
204
+ const ENTRY_CONTENT = {
205
+ 'CLAUDE.md': () => generateClaudeMd(), // Claude Code / Antigravity / OpenCode
206
+ 'GEMINI.md': () => generateGeminiMd(), // Gemini CLI
207
+ '.cursorrules': () => generateCursorRules(), // Cursor
208
+ 'copilot-instructions.md': () => generateCopilotMd(), // GitHub Copilot
209
+ };
210
+
211
+ /**
212
+ * Generate GEMINI.md — adapted from CLAUDE.md for Gemini CLI conventions.
213
+ * Key differences: uses Gemini-specific model references, GEMINI.md filename.
214
+ */
215
+ function generateGeminiMd() {
216
+ const claudeMd = fs.readFileSync(path.join(__dirname, '..', '.claude', 'CLAUDE.md'), 'utf8');
217
+ return claudeMd
218
+ .replace(/CLAUDE\.md/g, 'GEMINI.md')
219
+ .replace(/Claude Code/g, 'Gemini CLI')
220
+ .replace(/claude-opus-4-5/g, 'gemini-2.5-pro')
221
+ .replace(/claude-sonnet-4-6/g, 'gemini-2.0-flash');
222
+ }
223
+
224
+ /**
225
+ * Generate .cursorrules — simplified rules for Cursor.
226
+ * Cursor rules are simpler than full CLAUDE.md — they describe project conventions.
227
+ */
228
+ function generateCursorRules() {
229
+ return `# MindForge Project Rules for Cursor
230
+
231
+ ## Project Management
232
+ This project uses MindForge for structured AI development.
233
+ All tasks must follow the PLAN → EXECUTE → VERIFY → SHIP lifecycle.
234
+
235
+ ## Before implementing anything
236
+ 1. Check .planning/phases/ for the current phase plan files
237
+ 2. Read the relevant PLAN-[N]-[M].md for your task
238
+ 3. Follow the persona in the <persona> field
239
+
240
+ ## File scope
241
+ Only modify files listed in the <files> field of your assigned PLAN file.
242
+
243
+ ## Quality gates
244
+ Always run: [project test command] before marking any task complete.
245
+ Never commit with failing tests.
246
+
247
+ ## Commands reference
248
+ MindForge commands are in .cursor/rules/mindforge/
249
+ Reference: @mindforge-[command-name]
250
+
251
+ ## Security
252
+ Follow .mindforge/org/SECURITY.md for all security-sensitive work.
253
+ Never commit secrets, API keys, or credentials.
254
+ `;
255
+ }
256
+
257
+ /**
258
+ * Generate copilot-instructions.md — GitHub Copilot custom instructions.
259
+ * Copilot uses a simpler format than full CLAUDE.md.
260
+ */
261
+ function generateCopilotMd() {
262
+ return `# MindForge Copilot Instructions
263
+
264
+ This project uses MindForge v2.0.0 for structured AI-assisted development.
265
+
266
+ ## Development workflow
267
+ Always plan before coding. Check .planning/phases/ for current phase plans.
268
+ Read PLAN-[N]-[M].md files before implementing any feature.
269
+ Run tests after every implementation.
270
+
271
+ ## Code standards
272
+ Follow .mindforge/org/CONVENTIONS.md for all code style decisions.
273
+ Follow .mindforge/org/SECURITY.md for security-sensitive code.
274
+
275
+ ## Available commands
276
+ MindForge command documentation is in .github/mindforge/.
277
+ Reference files in Copilot chat with: #file:.github/mindforge/[command].md
278
+
279
+ ## Testing
280
+ Run the full test suite before marking any task complete.
281
+ No exceptions: failing tests = incomplete task.
282
+ `;
283
+ }
284
+ ```
285
+
286
+ ### Update `bin/install.js` to support runtime selection
287
+
288
+ ```bash
289
+ # Add --runtime flag to install.js
290
+ # Usage: npx mindforge-cc@latest --runtime cursor
291
+ # Usage: npx mindforge-cc@latest --runtime all
292
+ # Usage: npx mindforge-cc@latest --runtime claude,gemini
293
+
294
+ # The installer already handles --all flag (all runtimes)
295
+ # Day 14 expands RUNTIMES map so --all now installs all 6
296
+ ```
297
+
298
+ **Commit:**
299
+ ```bash
300
+ git add bin/installer-core.js bin/install.js
301
+ git commit -m "feat(v2-release): expand installer to 6 runtimes (Cursor, OpenCode, Gemini CLI, Copilot)"
302
+ ```
303
+
304
+ ---
305
+
306
+ ## TASK 2 — Add `/mindforge:new-runtime` command
307
+
308
+ ### `.claude/commands/mindforge/new-runtime.md`
309
+
310
+ ```markdown
311
+ # MindForge v2 — New Runtime Command
312
+ # Usage: /mindforge:new-runtime [runtime-name] [--entry-file filename] [--commands-dir path]
313
+ # Version: v2.0.0
314
+
315
+ ## Purpose
316
+ Scaffold MindForge support for a new AI coding agent/runtime that isn't
317
+ included in the standard 6 supported runtimes.
318
+
319
+ If your team uses an internal AI coding tool, a custom fork of an open-source
320
+ agent, or a new runtime that was released after MindForge v2.0.0, this command
321
+ generates the required files to integrate it.
322
+
323
+ ## What it creates
324
+
325
+ ```
326
+ [runtime-local-dir]/
327
+ ├── [entry-file] ← Agent instructions (adapted from CLAUDE.md)
328
+ └── mindforge/
329
+ └── [48 command .md files] ← All MindForge commands adapted for runtime
330
+ ```
331
+
332
+ ## How it works
333
+
334
+ ### Step 1: Ask runtime details
335
+ ```
336
+ What is the runtime name? (kebab-case, e.g., "my-agent")
337
+ What directory does it use for instructions? (e.g., ".myagent")
338
+ What is its main instructions file name? (e.g., "AGENT.md")
339
+ Does it support /slash commands? (y/n)
340
+ Where is its global config directory? (~/.myagent)
341
+ ```
342
+
343
+ ### Step 2: Generate adapted instructions file
344
+ Create [local-dir]/[entry-file] by adapting .claude/CLAUDE.md:
345
+ - Replace Claude-specific references with runtime-appropriate equivalents
346
+ - Replace slash command syntax if the runtime doesn't support it
347
+ - Keep all MindForge protocols (PLAN first, AUDIT logging, etc.)
348
+
349
+ ### Step 3: Mirror all commands
350
+ Copy all 48 command files from .claude/commands/mindforge/ to
351
+ [local-dir]/mindforge/ with runtime-appropriate adaptations.
352
+
353
+ ### Step 4: Update installer config
354
+ Add the new runtime to MINDFORGE.md as a custom runtime config:
355
+ ```
356
+ CUSTOM_RUNTIME_NAME=my-agent
357
+ CUSTOM_RUNTIME_LOCAL_DIR=.myagent
358
+ CUSTOM_RUNTIME_COMMANDS_SUBDIR=mindforge
359
+ CUSTOM_RUNTIME_ENTRY_FILE=AGENT.md
360
+ CUSTOM_RUNTIME_SLASH_SUPPORT=false
361
+ ```
362
+
363
+ ### Step 5: Verify and report
364
+ ```
365
+ ✅ New runtime "my-agent" scaffolded
366
+
367
+ Files created:
368
+ .myagent/AGENT.md ← Entry point
369
+ .myagent/mindforge/ ← 48 command files
370
+
371
+ To activate:
372
+ 1. Restart your agent with the new configuration
373
+ 2. Run /mindforge:health to verify installation
374
+
375
+ Submit as a PR to add official support:
376
+ github.com/mindforge-dev/mindforge/pulls
377
+ ```
378
+
379
+ ## AUDIT entry
380
+ ```json
381
+ { "event": "new_runtime_scaffolded", "runtime_name": "[name]", "entry_file": "[file]", "commands_count": 48 }
382
+ ```
383
+ ```
384
+
385
+ **Commit:**
386
+ ```bash
387
+ cp .claude/commands/mindforge/new-runtime.md .agent/mindforge/new-runtime.md
388
+ git add .claude/commands/mindforge/new-runtime.md .agent/mindforge/new-runtime.md
389
+ git commit -m "feat(v2-release): add /mindforge:new-runtime command for custom runtime scaffolding"
390
+ ```
391
+
392
+ ---
393
+
394
+ ## TASK 3 — Write the v1.0.0→v2.0.0 Migration Script
395
+
396
+ ### `bin/migrations/1.0.0-to-2.0.0.js`
397
+
398
+ ```javascript
399
+ /**
400
+ * MindForge Migration: v1.0.0 → v2.0.0
401
+ *
402
+ * Handles all schema changes introduced in Days 8-13:
403
+ *
404
+ * HANDOFF.json additions:
405
+ * - autonomous_mode: { status, last_run_phase, last_run_at }
406
+ * - steering_queue_path: ".planning/steering-queue.jsonl"
407
+ * - knowledge_base_path: ".mindforge/memory/knowledge-base.jsonl"
408
+ * - schema_version: "2.0.0" (from "1.0.0")
409
+ *
410
+ * AUDIT.jsonl backfill:
411
+ * - Add model_used: "unknown" to existing entries (no model tracking in v1)
412
+ * - Add node_repair: false to existing entries
413
+ *
414
+ * New files/directories created if absent:
415
+ * - .mindforge/memory/ (knowledge graph)
416
+ * - .planning/steering-queue.jsonl
417
+ * - .planning/auto-state.json (initialized to IDLE)
418
+ *
419
+ * token-usage.jsonl:
420
+ * - Existing entries get cost_usd: null (v1 had no cost tracking)
421
+ * - Schema_version note added
422
+ *
423
+ * No destructive changes — all migrations are additive.
424
+ */
425
+ 'use strict';
426
+
427
+ const fs = require('fs');
428
+ const path = require('path');
429
+
430
+ const PLANNING_DIR = path.join(process.cwd(), '.planning');
431
+ const MFDIR = path.join(process.cwd(), '.mindforge');
432
+
433
+ module.exports = {
434
+ fromVersion: '1.0.0',
435
+ toVersion: '2.0.0',
436
+ description: 'Add v2.0.0 autonomous mode, knowledge graph, and model tracking fields',
437
+
438
+ async run(context = {}) {
439
+ const { dry_run = false, verbose = false } = context;
440
+ const log = msg => verbose && console.log(` [1.0.0→2.0.0] ${msg}`);
441
+ const changes = [];
442
+
443
+ // ── 1. Update HANDOFF.json ──────────────────────────────────────────────
444
+ const handoffPath = path.join(PLANNING_DIR, 'HANDOFF.json');
445
+ if (fs.existsSync(handoffPath)) {
446
+ const handoff = JSON.parse(fs.readFileSync(handoffPath, 'utf8'));
447
+
448
+ let updated = false;
449
+
450
+ // Add autonomous_mode field if absent
451
+ if (!handoff.autonomous_mode) {
452
+ handoff.autonomous_mode = {
453
+ status: 'idle',
454
+ last_run_phase: null,
455
+ last_run_at: null,
456
+ total_runs: 0,
457
+ };
458
+ updated = true;
459
+ log('Added autonomous_mode to HANDOFF.json');
460
+ changes.push('HANDOFF.json: added autonomous_mode');
461
+ }
462
+
463
+ // Add steering_queue_path if absent
464
+ if (!handoff.steering_queue_path) {
465
+ handoff.steering_queue_path = '.planning/steering-queue.jsonl';
466
+ updated = true;
467
+ log('Added steering_queue_path to HANDOFF.json');
468
+ changes.push('HANDOFF.json: added steering_queue_path');
469
+ }
470
+
471
+ // Add knowledge_base_path if absent
472
+ if (!handoff.knowledge_base_path) {
473
+ handoff.knowledge_base_path = '.mindforge/memory/knowledge-base.jsonl';
474
+ updated = true;
475
+ log('Added knowledge_base_path to HANDOFF.json');
476
+ changes.push('HANDOFF.json: added knowledge_base_path');
477
+ }
478
+
479
+ // Bump schema_version
480
+ if (handoff.schema_version !== '2.0.0') {
481
+ handoff.schema_version = '2.0.0';
482
+ updated = true;
483
+ log('Updated schema_version to 2.0.0');
484
+ changes.push('HANDOFF.json: schema_version → 2.0.0');
485
+ }
486
+
487
+ if (updated && !dry_run) {
488
+ fs.writeFileSync(handoffPath, JSON.stringify(handoff, null, 2));
489
+ }
490
+ }
491
+
492
+ // ── 2. Backfill AUDIT.jsonl with v2 fields ───────────────────────────────
493
+ const auditPath = path.join(PLANNING_DIR, 'AUDIT.jsonl');
494
+ if (fs.existsSync(auditPath)) {
495
+ const lines = fs.readFileSync(auditPath, 'utf8').split('\n').filter(Boolean);
496
+ let needsUpdate = false;
497
+ const updated = lines.map(line => {
498
+ try {
499
+ const entry = JSON.parse(line);
500
+ let changed = false;
501
+ if (entry.model_used === undefined) {
502
+ entry.model_used = 'unknown'; // v1 had no model tracking
503
+ changed = true;
504
+ }
505
+ if (entry.node_repair === undefined) {
506
+ entry.node_repair = false; // v1 had no node repair
507
+ changed = true;
508
+ }
509
+ if (changed) needsUpdate = true;
510
+ return JSON.stringify(entry);
511
+ } catch { return line; } // Keep malformed lines as-is
512
+ });
513
+
514
+ if (needsUpdate && !dry_run) {
515
+ fs.writeFileSync(auditPath, updated.join('\n') + '\n');
516
+ log(`Backfilled ${lines.length} AUDIT.jsonl entries with v2 fields`);
517
+ changes.push(`AUDIT.jsonl: backfilled ${lines.length} entries with model_used + node_repair`);
518
+ }
519
+ }
520
+
521
+ // ── 3. Create new v2 directories if absent ───────────────────────────────
522
+ const dirs = [
523
+ path.join(MFDIR, 'memory'),
524
+ path.join(MFDIR, 'models'),
525
+ path.join(MFDIR, 'browser'),
526
+ path.join(MFDIR, 'dashboard'),
527
+ ];
528
+ for (const dir of dirs) {
529
+ if (!fs.existsSync(dir)) {
530
+ if (!dry_run) fs.mkdirSync(dir, { recursive: true });
531
+ log(`Created directory: ${path.relative(process.cwd(), dir)}`);
532
+ changes.push(`Created: ${path.relative(process.cwd(), dir)}/`);
533
+ }
534
+ }
535
+
536
+ // ── 4. Initialize auto-state.json if absent ──────────────────────────────
537
+ const autoStatePath = path.join(PLANNING_DIR, 'auto-state.json');
538
+ if (!fs.existsSync(autoStatePath)) {
539
+ const initialState = {
540
+ schema_version: '2.0.0',
541
+ auto_mode_active: false,
542
+ status: 'idle',
543
+ phase: null,
544
+ wave_current: null,
545
+ wave_total: null,
546
+ tasks_completed: 0,
547
+ tasks_total: 0,
548
+ node_repairs: 0,
549
+ escalations: 0,
550
+ elapsed_ms: 0,
551
+ current_task: null,
552
+ last_commit: null,
553
+ updated_at: new Date().toISOString(),
554
+ };
555
+ if (!dry_run) fs.writeFileSync(autoStatePath, JSON.stringify(initialState, null, 2));
556
+ log('Created auto-state.json (initialized to idle)');
557
+ changes.push('Created: .planning/auto-state.json');
558
+ }
559
+
560
+ // ── 5. Initialize steering-queue.jsonl if absent ─────────────────────────
561
+ const steeringPath = path.join(PLANNING_DIR, 'steering-queue.jsonl');
562
+ if (!fs.existsSync(steeringPath)) {
563
+ if (!dry_run) fs.writeFileSync(steeringPath, '');
564
+ log('Created empty steering-queue.jsonl');
565
+ changes.push('Created: .planning/steering-queue.jsonl');
566
+ }
567
+
568
+ // ── 6. Backfill token-usage.jsonl with cost_usd field ────────────────────
569
+ const usagePath = path.join(MFDIR, 'metrics', 'token-usage.jsonl');
570
+ if (fs.existsSync(usagePath)) {
571
+ const lines = fs.readFileSync(usagePath, 'utf8').split('\n').filter(Boolean);
572
+ let needsUpdate = false;
573
+ const updated = lines.map(line => {
574
+ try {
575
+ const entry = JSON.parse(line);
576
+ if (entry.cost_usd === undefined) {
577
+ entry.cost_usd = null; // v1 had no cost tracking
578
+ needsUpdate = true;
579
+ }
580
+ return JSON.stringify(entry);
581
+ } catch { return line; }
582
+ });
583
+ if (needsUpdate && !dry_run) {
584
+ fs.writeFileSync(usagePath, updated.join('\n') + '\n');
585
+ log(`Backfilled ${lines.length} token-usage.jsonl entries with cost_usd: null`);
586
+ changes.push(`token-usage.jsonl: backfilled ${lines.length} entries with cost_usd`);
587
+ }
588
+ }
589
+
590
+ return { success: true, changes, version_from: '1.0.0', version_to: '2.0.0' };
591
+ },
592
+ };
593
+ ```
594
+
595
+ **Also update `bin/migrations/schema-versions.js`** to register the new migration:
596
+
597
+ ```javascript
598
+ // Add to the migrations registry:
599
+ {
600
+ fromVersion: '1.0.0',
601
+ toVersion: '2.0.0',
602
+ file: './1.0.0-to-2.0.0.js',
603
+ description: 'Add v2.0.0 autonomous mode, knowledge graph, browser daemon, and model tracking',
604
+ breaking: false, // All changes are additive
605
+ }
606
+ ```
607
+
608
+ **Commit:**
609
+ ```bash
610
+ git add bin/migrations/1.0.0-to-2.0.0.js bin/migrations/schema-versions.js
611
+ git commit -m "feat(v2-release): add v1.0.0→v2.0.0 migration script with additive schema changes"
612
+ ```
613
+
614
+ ---
615
+
616
+ ## TASK 4 — Update the Production Checklist to 65 Points
617
+
618
+ ### Update `.mindforge/production/production-checklist.md`
619
+
620
+ Extend the existing 50-point checklist with Section F (15 new v2 items):
621
+
622
+ ```markdown
623
+ # MindForge v2.0.0 Production Checklist
624
+
625
+ **Release gate:** ALL 65 items must be checked before tagging v2.0.0.
626
+ **Sections:** A (Installation) · B (Commands) · C (Governance) · D (Documentation) · E (Tests) · F (v2.0.0 Features)
627
+
628
+ ---
629
+
630
+ ## Section A — Installation (10 points) [unchanged from v1.0.0]
631
+
632
+ | # | Check | Verification | Verifier | Date |
633
+ |---|---|---|---|---|
634
+ | A01 | `npx mindforge-cc@latest` completes without error | Run in empty dir | | |
635
+ | A02 | `node tests/install.test.js` passes all assertions | Run test suite | | |
636
+ | A03 | `.claude/CLAUDE.md` matches `.agent/CLAUDE.md` exactly | `diff .claude/CLAUDE.md .agent/CLAUDE.md` | | |
637
+ | A04 | All 48 commands in `.claude/commands/mindforge/` | `ls .claude/commands/mindforge/ | wc -l` → 48 | | |
638
+ | A05 | All 48 commands mirrored in `.agent/mindforge/` | `diff <(ls .claude/commands/mindforge/) <(ls .agent/mindforge/)` | | |
639
+ | A06 | `MINDFORGE.md` is valid per schema | `node bin/validate-config.js` | | |
640
+ | A07 | Node.js ≥ 18 gate works | Run with Node 16 → should fail with message | | |
641
+ | A08 | `--dry-run` flag shows plan without executing | `npx mindforge-cc@latest --dry-run` | | |
642
+ | A09 | Uninstall preserves `.planning/` and `.mindforge/` | Run uninstall, verify dirs exist | | |
643
+ | A10 | Self-install detection works | Run inside mindforge-cc repo → no framework files copied | | |
644
+
645
+ ## Section B — Commands (10 points) [unchanged from v1.0.0]
646
+
647
+ | # | Check | Verification | Verifier | Date |
648
+ |---|---|---|---|---|
649
+ | B01 | `/mindforge:help` lists all 48 commands | Run and count | | |
650
+ | B02 | `/mindforge:init-project` creates all 8 planning files | Run in test dir, verify | | |
651
+ | B03 | `/mindforge:plan-phase` produces valid PLAN XML | Run and validate schema | | |
652
+ | B04 | `/mindforge:execute-phase` runs wave engine | Run with test plans, verify WAVE-REPORT | | |
653
+ | B05 | `/mindforge:verify-phase` runs all 4 verification stages | Run and verify VERIFICATION.md | | |
654
+ | B06 | `/mindforge:ship` creates PR with proper template | Run with --dry-run | | |
655
+ | B07 | `/mindforge:status` reads from all data sources | Run and verify all 6 sections present | | |
656
+ | B08 | `/mindforge:health --repair` fixes 7 known issue types | Introduce each issue, run health --repair | | |
657
+ | B09 | `/mindforge:audit --summary` reads AUDIT.jsonl | Run and verify output format | | |
658
+ | B10 | `/mindforge:retrospective` generates RETROSPECTIVE.md | Run with test data | | |
659
+
660
+ ## Section C — Governance Gates (10 points) [unchanged from v1.0.0]
661
+
662
+ | # | Check | Verification | Verifier | Date |
663
+ |---|---|---|---|---|
664
+ | C01 | Gate 1: CRITICAL security finding blocks ship | Add test CRITICAL finding → ship should fail | | |
665
+ | C02 | Gate 2: Failing tests block ship | Break a test → ship should fail | | |
666
+ | C03 | Gate 3: Secret detection blocks and CANNOT be overridden | Add a fake API key → ship must block | | |
667
+ | C04 | Gate 4: GDPR retention check is independent of skill loading | Uninstall data-privacy skill → Gate 4 still runs | | |
668
+ | C05 | Gate 5: CVE detection works | Add `npm:lodash@4.17.15` (known CVE) → should flag | | |
669
+ | C06 | Tier 3 change detection fires on auth file path | Touch `src/auth/login.ts` → must trigger Tier 3 | | |
670
+ | C07 | Tier 3 change detection fires on code content | Add `jwt.sign(` anywhere → must trigger Tier 3 | | |
671
+ | C08 | Emergency override works for EMERGENCY_APPROVERS only | Test with non-approver → blocked; with approver → allowed | | |
672
+ | C09 | Tier 3 approval expires after 4 hours | Set expires_at in past → approval should be expired | | |
673
+ | C10 | CI mode: Tier 3 always fails in CI regardless of settings | Set CI=true → Tier 3 must fail with clear message | | |
674
+
675
+ ## Section D — Documentation (10 points) [unchanged from v1.0.0]
676
+
677
+ | # | Check | Verification | Verifier | Date |
678
+ |---|---|---|---|---|
679
+ | D01 | README.md covers installation, quick start, all features | Read and verify completeness | | |
680
+ | D02 | `docs/reference/commands.md` documents all 48 commands | Count and verify | | |
681
+ | D03 | `docs/security/SECURITY.md` has responsible disclosure info | Verify contact + disclosure timeline | | |
682
+ | D04 | `docs/security/threat-model.md` covers 7 threat actors | Count threat actors | | |
683
+ | D05 | All 41 ADRs indexed in `docs/architecture/decision-records-index.md` | Count and verify links | | |
684
+ | D06 | CHANGELOG.md has complete entry for v2.0.0 | Read and verify all major features present | | |
685
+ | D07 | Migration guide exists for v1.0.0 → v2.0.0 | Verify migration script works end-to-end | | |
686
+ | D08 | Skills authoring guide is up to date for v2 | Verify quality scoring section added | | |
687
+ | D09 | `docs/multi-model-guide.md` covers model routing | Read and verify Day 10 content | | |
688
+ | D10 | `docs/self-building-skills-guide.md` covers learn command | Read and verify Day 13 content | | |
689
+
690
+ ## Section E — Test Coverage (10 points) [unchanged from v1.0.0]
691
+
692
+ | # | Check | Verification | Verifier | Date |
693
+ |---|---|---|---|---|
694
+ | E01 | All 22 test suites pass × 1 | `node tests/[each].test.js` | | |
695
+ | E02 | All 22 test suites pass × 2 (second run) | Re-run all | | |
696
+ | E03 | All 22 test suites pass × 3 (third run) | Re-run all | | |
697
+ | E04 | `node tests/e2e.test.js` completes full lifecycle | Run in fresh temp dir | | |
698
+ | E05 | `node tests/migration.test.js` covers v1.0.0→v2.0.0 | Verify new migration included | | |
699
+ | E06 | `node tests/release.test.js` passes all release validations | Run new release test suite | | |
700
+ | E07 | Zero TypeScript errors in sdk/ | `cd sdk && npx tsc --noEmit` | | |
701
+ | E08 | No secrets in any output file | `grep -r "sk-" bin/ .mindforge/ tests/` → no results | | |
702
+ | E09 | `package.json` version is exactly `2.0.0` | `node -e "console.log(require('./package.json').version)"` | | |
703
+ | E10 | `CHANGELOG.md` has `## [2.0.0]` entry at top | `head -5 CHANGELOG.md` | | |
704
+
705
+ ## Section F — v2.0.0 Features (15 points) [NEW for v2.0.0]
706
+
707
+ | # | Check | Verification | Verifier | Date |
708
+ |---|---|---|---|---|
709
+ | F01 | `/mindforge:auto` runs a complete phase end-to-end | Run on test project — wave completes without intervention | | |
710
+ | F02 | Node repair RETRY recovers from transient test failure | Inject flaky test → verify auto-recovery in AUDIT.jsonl | | |
711
+ | F03 | Node repair DECOMPOSE splits an oversized plan | Create plan >80K tokens → verify decomposed sub-plans | | |
712
+ | F04 | Node repair ESCALATE fires correctly and saves state | Hit max repair budget → verify ESCALATION.md created | | |
713
+ | F05 | `/mindforge:steer` injects guidance at task boundary | Run auto mode → steer in second terminal → verify pickup | | |
714
+ | F06 | Browser daemon starts, persists, and shuts down cleanly | Start → screenshot → verify PID file → stop | | |
715
+ | F07 | `/mindforge:qa` identifies affected routes after changes | Run QA after UI changes → verify QA-REPORT | | |
716
+ | F08 | `/mindforge:cross-review` runs with 2+ models | Run with ANTHROPIC_API_KEY + OPENAI_API_KEY → verify CROSS-REVIEW | | |
717
+ | F09 | Model routing: Tier 3 tasks use SECURITY_MODEL | Log a Tier 3 task → verify model_used in AUDIT.jsonl | | |
718
+ | F10 | Knowledge base captures entries from retrospective | Run /mindforge:retrospective → verify knowledge-base.jsonl | | |
719
+ | F11 | Dashboard server starts and shows live AUDIT stream | Start /mindforge:dashboard → open browser → verify SSE feed | | |
720
+ | F12 | `/mindforge:learn [url]` creates a valid SKILL.md | Run on a public docs URL → score must be ≥ 60 | | |
721
+ | F13 | All 6 runtimes install correctly | Run installer with each runtime flag | | |
722
+ | F14 | All v1.0.0 tests still pass (regression) | Run original 15 suites: install→e2e | | |
723
+ | F15 | v1.0.0 → v2.0.0 migration completes without data loss | Run migration on v1.0.0 project → verify HANDOFF.json | | |
724
+
725
+ ---
726
+
727
+ ## Release Gate Procedure
728
+
729
+ Before tagging v2.0.0:
730
+ 1. ALL 65 checklist items must be checked ✅
731
+ 2. Verifier name entered for each item
732
+ 3. Date entered for each item
733
+ 4. Final sign-off: `git tag -a v2.0.0 -m "The Autonomous Enterprise"`
734
+ 5. Push: `git push origin v2.0.0`
735
+ 6. npm publish: `npm publish --access public`
736
+ ```
737
+
738
+ **Commit:**
739
+ ```bash
740
+ git add .mindforge/production/production-checklist.md
741
+ git commit -m "feat(v2-release): extend production checklist to 65 points with Section F v2.0.0 features"
742
+ ```
743
+
744
+ ---
745
+
746
+ ## TASK 5 — Write the Complete v2.0.0 CHANGELOG Entry
747
+
748
+ ### Update `CHANGELOG.md`
749
+
750
+ Add the full v2.0.0 entry at the top:
751
+
752
+ ```markdown
753
+ ## [2.0.0] — "The Autonomous Enterprise" — 2026-03-23
754
+
755
+ > The only agentic framework simultaneously enterprise-grade AND autonomously capable.
756
+ > MindForge v2.0.0 ships everything your team needs to walk away and come back to
757
+ > a built feature — with your team watching it happen in real time.
758
+
759
+ ### Major new features
760
+
761
+ #### Autonomous Execution Mode (Days 8)
762
+ **Branch:** `feat/mindforge-v2-autonomous-engine`
763
+ - `/mindforge:auto [--phase N] [--milestone M] [--timeout T]` — walk-away execution mode
764
+ - `/mindforge:steer [instruction] [--priority normal|urgent|stop]` — mid-execution guidance
765
+ - Node repair operator: RETRY → DECOMPOSE → PRUNE → ESCALATE hierarchy
766
+ - RETRY: injects error context and retries with fresh context (max 1 attempt)
767
+ - DECOMPOSE: splits multi-domain plans into parallel sub-plans
768
+ - PRUNE: defers non-critical tasks to DEFERRED-ITEMS.md
769
+ - ESCALATE: saves state and notifies human (Tier 3 changes: immediate)
770
+ - Stuck detection: S01 (file churn), S02 (time overrun), S03 (identical errors),
771
+ S04 (context explosion), S05 (cascade failures) — all with automatic recovery
772
+ - Headless CI mode: exit 0 on timeout (state preserved), exit 1 on gate failures
773
+ - `bin/autonomous/` — headless.js, repair-operator.js, stuck-monitor.js, steer.js
774
+ - `tests/autonomous.test.js` (16th suite)
775
+
776
+ #### Persistent Browser Runtime + Visual QA (Day 9)
777
+ **Branch:** `feat/mindforge-v2-browser-runtime`
778
+ - Long-lived Chromium daemon at localhost:7338 (Playwright-backed, 16 HTTP endpoints)
779
+ - `/mindforge:browse` — navigate, click, type, screenshot, evaluate in live browser
780
+ - `/mindforge:qa` — systematic visual QA against affected routes after execution
781
+ - `<verify-visual>` XML tag in PLAN files — 13 directives for UI verification
782
+ - Cookie import from Chrome, Arc, Brave, Edge (handles SQLite + Windows FILETIME epoch)
783
+ - Named session persistence with per-session console error capture
784
+ - Screenshot store with phase namespacing and quota enforcement
785
+ - Auto-generated Playwright regression tests: `tests/regression/phase[N]-[slug].test.ts`
786
+ - `bin/browser/` — 8 modules for daemon, sessions, visual verification, QA, regressions
787
+ - `tests/browser.test.js` (17th suite)
788
+
789
+ #### Multi-Model Intelligence Layer (Day 10)
790
+ **Branch:** `feat/mindforge-v2-cross-model-review`
791
+ - 7-model registry: Claude (Opus/Sonnet/Haiku), GPT-4o/mini, Gemini (2.5 Pro/Flash)
792
+ - Persona-to-model routing (architect→PLANNER_MODEL, developer→EXECUTOR_MODEL, etc.)
793
+ - Tier 3 override: auth/payment/PII tasks always use SECURITY_MODEL
794
+ - `/mindforge:cross-review` — 3-round adversarial review (primary + adversarial + research)
795
+ - Consensus findings (2+ models agree) = high confidence
796
+ - Model-specific findings + contradiction detection
797
+ - `/mindforge:research` — deep research with Gemini 2.5 Pro 1M context
798
+ - `/mindforge:costs` — real-time cost tracking dashboard by model/phase/session
799
+ - Daily budget enforcement: MODEL_COST_HARD_LIMIT_USD blocks before API calls
800
+ - SSRF protection in research URL fetcher
801
+ - `bin/models/` + `bin/review/` + `bin/research/` — 9 modules
802
+ - `tests/model-routing.test.js` (18th suite)
803
+
804
+ #### Persistent Knowledge Graph (Day 11)
805
+ **Branch:** `feat/mindforge-v2-persistent-memory`
806
+ - Append-only JSONL knowledge graph: 5 types × 4 JSONL files
807
+ - `architectural_decision`, `code_pattern`, `bug_pattern`, `team_preference`, `domain_knowledge`
808
+ - TF-IDF relevance scoring with 30-second mtime-aware index cache
809
+ - 7 automatic capture triggers: phase completion, compaction, debug sessions,
810
+ retrospectives, security findings, cross-review consensus, steering instructions
811
+ - Injection guard: rejects prompt injection in knowledge content
812
+ - Global knowledge store: `~/.mindforge/global-knowledge-base.jsonl` (cross-project)
813
+ - Session start preloads relevant memories (🧠 Knowledge Base — N memories loaded)
814
+ - `/mindforge:remember` — add/query/export/stats/promote/deprecate
815
+ - `sdk/src/memory.ts` — TypeScript `MindForgeMemory` class
816
+ - `bin/memory/` — 5 modules: store, indexer, capture, session-loader, global-sync
817
+ - `tests/memory.test.js` (19th suite)
818
+
819
+ #### Real-Time Web Observability Dashboard (Day 12)
820
+ **Branch:** `feat/mindforge-v2-realtime-dashboard`
821
+ - Express.js server at localhost:7339 (localhost-only, no build step needed)
822
+ - 5-page dashboard: Activity Feed, Quality Metrics, Pending Approvals,
823
+ Knowledge Graph, Team Activity
824
+ - Server-Sent Events: live AUDIT.jsonl tail, inode rotation detection
825
+ - REST API: 10 endpoints for all project state
826
+ - Approval UI: approve/reject Tier 2/3 from browser
827
+ - Tier 3 requires typing plan ID to confirm (ADR-034)
828
+ - Quality charts: session scores, verify rates, security findings, cost trends
829
+ - Team activity: active developers, last-seen, file conflict detection
830
+ - `/mindforge:dashboard [--port 7339] [--open] [--stop]`
831
+ - `bin/dashboard/` — 6 modules + single-file HTML frontend (no external deps)
832
+ - `tests/dashboard.test.js` (20th suite)
833
+
834
+ #### Self-Building Skills Platform (Day 13)
835
+ **Branch:** `feat/mindforge-v2-self-building-skills`
836
+ - `/mindforge:learn [url|path|npm:pkg|--session]` — documentation-to-skill converter
837
+ - Auto-selects Gemini 2.5 Pro (1M context) for large docs, sonnet for smaller
838
+ - 3-step AI pipeline: extract patterns → generate triggers → write SKILL.md
839
+ - SSRF protection + redirect loop prevention (max 5 hops)
840
+ - Pre-save injection check: rejects skills containing injection patterns
841
+ - 7-dimension quality scorer (100 points, static analysis, < 100ms):
842
+ trigger_coverage(30) + mandatory_actions(25) + code_examples(20) + self_check(15)
843
+ + injection_safe(10) + no_placeholders(10) + version_history(10)
844
+ - Minimum to register: 60; minimum to publish: 80; injection = absolute FAIL
845
+ - Auto-capture: phase completion hook detects patterns across 2+ tasks
846
+ - `/mindforge:marketplace [search|featured|trending|install|publish]`
847
+ - Curated layer on top of npm registry with 12 featured skills
848
+ - `session_quality_lift` metric: real signal of skill value
849
+ - `bin/skills-builder/` — 6 modules
850
+ - `tests/self-building-skills.test.js` (21st suite)
851
+
852
+ #### Multi-Runtime Expansion (Day 14)
853
+ **Branch:** `feat/mindforge-v2-release`
854
+ - 6 supported runtimes: Claude Code, Antigravity, Cursor, OpenCode, Gemini CLI,
855
+ GitHub Copilot
856
+ - Runtime-specific entry files: CLAUDE.md, GEMINI.md, .cursorrules, copilot-instructions.md
857
+ - `/mindforge:new-runtime [name]` — scaffold support for any custom runtime
858
+ - `bin/installer-core.js` RUNTIMES config expanded with runtime detection, display names,
859
+ command format flags, and install documentation links
860
+
861
+ ### Breaking changes from v1.0.0
862
+
863
+ All changes are backwards compatible. Run `/mindforge:migrate` to update project files.
864
+
865
+ - `PLAN XML`: gains optional `<verify-visual>` tag (backwards compatible)
866
+ - `HANDOFF.json`: gains `autonomous_mode`, `steering_queue_path`, `knowledge_base_path` (optional)
867
+ - `AUDIT.jsonl`: gains `model_used`, `node_repair` fields (optional — backfilled by migration)
868
+ - `token-usage.jsonl`: gains `cost_usd` field per entry (optional — null for v1 entries)
869
+
870
+ ### Migration
871
+
872
+ ```bash
873
+ # Upgrade an existing v1.0.0 project to v2.0.0
874
+ /mindforge:migrate --from 1.0.0 --to 2.0.0
875
+
876
+ # Or for a fresh install on an existing project
877
+ npx mindforge-cc@latest --update
878
+ ```
879
+
880
+ All v1.0.0 projects are fully compatible with v2.0.0. The migration is additive-only.
881
+
882
+ ### Architecture Decision Records
883
+
884
+ v2.0.0 adds ADR-021 through ADR-041 (20 new ADRs):
885
+ - ADR-021: Autonomy boundary — human steers intent, agent executes
886
+ - ADR-022: Node repair hierarchy — RETRY → DECOMPOSE → PRUNE → ESCALATE
887
+ - ADR-023: Gate 3 pre-commit timing in auto mode
888
+ - ADR-024: Browser daemon localhost-only
889
+ - ADR-025: `<verify-visual>` failure = `<verify>` failure
890
+ - ADR-026: Session files gitignored — auth tokens never in git
891
+ - ADR-027: Persona determines model; Tier 3 always overrides to SECURITY_MODEL
892
+ - ADR-028: Adversarial second-reviewer prompt for cross-review
893
+ - ADR-029: Gemini uses x-goog-api-key header (not URL query param)
894
+ - ADR-030: Knowledge graph append-only — deprecate, never delete
895
+ - ADR-031: Knowledge reinforcement on explicit acknowledgment, not on load
896
+ - ADR-032: Global knowledge entries get 0.1 confidence penalty
897
+ - ADR-033: Dashboard binds to localhost only
898
+ - ADR-034: Tier 3 dashboard approvals require typing plan ID
899
+ - ADR-035: AUDIT entry written before approval file update
900
+ - ADR-036: Documentation is the authoritative source for skill content
901
+ - ADR-037: Pattern frequency ≥ 2 tasks as auto-capture threshold
902
+ - ADR-038: Minimum quality score of 60 for skill registration
903
+ - ADR-039: 6-runtime support via unified RUNTIMES config
904
+ - ADR-040: Migration is additive-only — no destructive schema changes in v2.0.0
905
+ - ADR-041: v2.0.0 stable interface contract (all v2 commands, ports, schemas are stable in 2.x)
906
+
907
+ ### Metrics at v2.0.0
908
+
909
+ | Metric | v1.0.0 | v2.0.0 |
910
+ |---|---|---|
911
+ | Commands | 36 | 48 |
912
+ | Core skills | 10 | 10 + marketplace |
913
+ | Agent personas | 8 | 9 (+ research-agent) |
914
+ | ADRs | 20 | 41 |
915
+ | Test suites | 15 | 22 |
916
+ | Runtimes | 2 | 6 |
917
+ | Network ports | 1 (SSE:7337) | 3 (SSE:7337, Browser:7338, Dashboard:7339) |
918
+ | npm package | mindforge-cc | mindforge-cc |
919
+ ```
920
+
921
+ **Commit:**
922
+ ```bash
923
+ git add CHANGELOG.md
924
+ git commit -m "docs(v2-release): complete v2.0.0 CHANGELOG — The Autonomous Enterprise"
925
+ ```
926
+
927
+ ---
928
+
929
+ ## TASK 6 — Write the v2.0.0 Release Test Suite
930
+
931
+ ### `tests/release.test.js`
932
+
933
+ ```javascript
934
+ /**
935
+ * MindForge v2.0.0 — Release Test Suite (22nd suite)
936
+ * Tests all v2.0.0 release requirements:
937
+ * - All 48 commands exist in both runtimes
938
+ * - All 6 runtimes have correct config
939
+ * - v2.0.0 migration script is complete
940
+ * - Production checklist has Section F
941
+ * - CHANGELOG has v2.0.0 entry
942
+ * - Version is exactly 2.0.0
943
+ * - All ADRs through ADR-041 exist
944
+ * - All 9 v2 components present (bins)
945
+ * - 65-point production checklist
946
+ * - SDK has memory.ts module
947
+ *
948
+ * Run: node tests/release.test.js
949
+ */
950
+ 'use strict';
951
+
952
+ const fs = require('fs');
953
+ const path = require('path');
954
+ const os = require('os');
955
+ const assert = require('assert');
956
+
957
+ let passed = 0, failed = 0;
958
+
959
+ function test(name, fn) {
960
+ try { fn(); console.log(` ✅ ${name}`); passed++; }
961
+ catch(e) { console.error(` ❌ ${name}\n ${e.message}`); failed++; }
962
+ }
963
+
964
+ // ═══════════════════════════════════════════════════════════════════════
965
+ console.log('\nMindForge v2.0.0 — Release Test Suite\n');
966
+
967
+ // ── Version ───────────────────────────────────────────────────────────────────
968
+ console.log('Version:');
969
+
970
+ test('package.json version is exactly 2.0.0', () => {
971
+ const v = JSON.parse(fs.readFileSync('package.json', 'utf8')).version;
972
+ assert.strictEqual(v, '2.0.0', `Expected exactly 2.0.0, got ${v}`);
973
+ });
974
+
975
+ test('CHANGELOG.md has ## [2.0.0] entry', () => {
976
+ const content = fs.readFileSync('CHANGELOG.md', 'utf8');
977
+ assert.ok(content.includes('## [2.0.0]'), 'CHANGELOG must have [2.0.0] entry');
978
+ assert.ok(content.includes('Autonomous Enterprise'), 'CHANGELOG must mention "Autonomous Enterprise"');
979
+ });
980
+
981
+ // ── All 48 commands ───────────────────────────────────────────────────────────
982
+ console.log('\nAll 48 commands:');
983
+
984
+ const ALL_COMMANDS = [
985
+ // v1.0.0 (36)
986
+ 'help','init-project','plan-phase','execute-phase','verify-phase','ship',
987
+ 'next','quick','status','debug',
988
+ 'skills','review','security-scan','map-codebase','discuss-phase',
989
+ 'audit','milestone','complete-milestone','approve','sync-jira','sync-confluence',
990
+ 'health','retrospective','profile-team','metrics',
991
+ 'init-org','install-skill','publish-skill','pr-review','workspace','benchmark',
992
+ 'update','migrate','plugins','tokens','release',
993
+ // v2.0.0 additions (12)
994
+ 'auto','steer', // Day 8
995
+ 'browse','qa', // Day 9
996
+ 'cross-review','research','costs', // Day 10
997
+ 'remember', // Day 11
998
+ 'dashboard', // Day 12
999
+ 'learn','marketplace', // Day 13
1000
+ 'new-runtime', // Day 14
1001
+ ];
1002
+
1003
+ assert.strictEqual(ALL_COMMANDS.length, 48, `Expected 48 commands, counted ${ALL_COMMANDS.length}`);
1004
+
1005
+ test('all 48 commands in .claude/commands/mindforge/', () => {
1006
+ const missing = ALL_COMMANDS.filter(c => !fs.existsSync(`.claude/commands/mindforge/${c}.md`));
1007
+ assert.strictEqual(missing.length, 0, `Missing: ${missing.join(', ')}`);
1008
+ });
1009
+
1010
+ test('all 48 commands mirrored in .agent/mindforge/', () => {
1011
+ const missing = ALL_COMMANDS.filter(c => !fs.existsSync(`.agent/mindforge/${c}.md`));
1012
+ assert.strictEqual(missing.length, 0, `Missing in .agent/: ${missing.join(', ')}`);
1013
+ });
1014
+
1015
+ test('no extra/unexpected command files in .claude/commands/mindforge/', () => {
1016
+ const actual = fs.readdirSync('.claude/commands/mindforge/').filter(f => f.endsWith('.md'));
1017
+ const expected = new Set(ALL_COMMANDS.map(c => `${c}.md`));
1018
+ const extra = actual.filter(f => !expected.has(f));
1019
+ assert.strictEqual(extra.length, 0, `Unexpected commands: ${extra.join(', ')}`);
1020
+ });
1021
+
1022
+ // ── All 6 runtimes ────────────────────────────────────────────────────────────
1023
+ console.log('\nMulti-runtime (6 runtimes):');
1024
+
1025
+ const EXPECTED_RUNTIMES = ['claude', 'antigravity', 'cursor', 'opencode', 'gemini', 'copilot'];
1026
+
1027
+ test('installer-core.js defines all 6 runtimes', () => {
1028
+ const content = fs.readFileSync('bin/installer-core.js', 'utf8');
1029
+ EXPECTED_RUNTIMES.forEach(rt => {
1030
+ assert.ok(content.includes(`'${rt}'`) || content.includes(`"${rt}"`),
1031
+ `Runtime "${rt}" not found in installer-core.js`);
1032
+ });
1033
+ });
1034
+
1035
+ test('Claude runtime has correct entry file (CLAUDE.md)', () => {
1036
+ const content = fs.readFileSync('bin/installer-core.js', 'utf8');
1037
+ assert.ok(content.includes("entryFile: 'CLAUDE.md'") || content.includes('entryFile: "CLAUDE.md"'),
1038
+ 'Claude runtime must use CLAUDE.md as entry file');
1039
+ });
1040
+
1041
+ test('Gemini runtime has correct entry file (GEMINI.md)', () => {
1042
+ const content = fs.readFileSync('bin/installer-core.js', 'utf8');
1043
+ assert.ok(content.includes("'GEMINI.md'") || content.includes('"GEMINI.md"'),
1044
+ 'Gemini runtime must use GEMINI.md');
1045
+ });
1046
+
1047
+ test('Cursor runtime has correct entry file (.cursorrules)', () => {
1048
+ const content = fs.readFileSync('bin/installer-core.js', 'utf8');
1049
+ assert.ok(content.includes("'.cursorrules'") || content.includes('".cursorrules"'),
1050
+ 'Cursor runtime must use .cursorrules');
1051
+ });
1052
+
1053
+ test('Copilot runtime has correct entry file (copilot-instructions.md)', () => {
1054
+ const content = fs.readFileSync('bin/installer-core.js', 'utf8');
1055
+ assert.ok(content.includes('copilot-instructions.md'),
1056
+ 'Copilot runtime must use copilot-instructions.md');
1057
+ });
1058
+
1059
+ test('new-runtime command exists in both runtimes', () => {
1060
+ assert.ok(fs.existsSync('.claude/commands/mindforge/new-runtime.md'), 'Missing in .claude/');
1061
+ assert.ok(fs.existsSync('.agent/mindforge/new-runtime.md'), 'Missing in .agent/');
1062
+ });
1063
+
1064
+ // ── Migration script ──────────────────────────────────────────────────────────
1065
+ console.log('\nMigration (v1.0.0 → v2.0.0):');
1066
+
1067
+ test('1.0.0-to-2.0.0.js migration script exists', () => {
1068
+ assert.ok(fs.existsSync('bin/migrations/1.0.0-to-2.0.0.js'), 'Migration script missing');
1069
+ });
1070
+
1071
+ test('migration script has correct fromVersion/toVersion', () => {
1072
+ const migration = require('../bin/migrations/1.0.0-to-2.0.0.js');
1073
+ assert.strictEqual(migration.fromVersion, '1.0.0', 'fromVersion must be 1.0.0');
1074
+ assert.strictEqual(migration.toVersion, '2.0.0', 'toVersion must be 2.0.0');
1075
+ });
1076
+
1077
+ test('migration adds autonomous_mode to HANDOFF.json', async () => {
1078
+ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'mf-migrate-'));
1079
+ const origCwd = process.cwd();
1080
+ process.chdir(tmpDir);
1081
+ try {
1082
+ // Create a minimal v1.0.0 HANDOFF.json
1083
+ fs.mkdirSync(path.join(tmpDir, '.planning'), { recursive: true });
1084
+ fs.mkdirSync(path.join(tmpDir, '.mindforge', 'metrics'), { recursive: true });
1085
+ fs.writeFileSync(
1086
+ path.join(tmpDir, '.planning', 'HANDOFF.json'),
1087
+ JSON.stringify({ schema_version: '1.0.0', next_task: 'Plan 1', _warning: 'no secrets', context_refs: [], blockers: [], decisions_needed: [] })
1088
+ );
1089
+ fs.writeFileSync(path.join(tmpDir, '.planning', 'AUDIT.jsonl'), '');
1090
+
1091
+ const migration = require('../bin/migrations/1.0.0-to-2.0.0.js');
1092
+ await migration.run({ verbose: false });
1093
+
1094
+ const updated = JSON.parse(fs.readFileSync(path.join(tmpDir, '.planning', 'HANDOFF.json'), 'utf8'));
1095
+ assert.ok(updated.autonomous_mode, 'Migration should add autonomous_mode');
1096
+ assert.strictEqual(updated.schema_version, '2.0.0', 'Migration should update schema_version to 2.0.0');
1097
+ assert.ok(updated.steering_queue_path, 'Migration should add steering_queue_path');
1098
+ assert.ok(updated.knowledge_base_path, 'Migration should add knowledge_base_path');
1099
+ } finally { process.chdir(origCwd); fs.rmSync(tmpDir, { recursive: true, force: true }); }
1100
+ });
1101
+
1102
+ test('migration creates auto-state.json', async () => {
1103
+ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'mf-migrate2-'));
1104
+ const origCwd = process.cwd();
1105
+ process.chdir(tmpDir);
1106
+ try {
1107
+ fs.mkdirSync(path.join(tmpDir, '.planning'), { recursive: true });
1108
+ fs.mkdirSync(path.join(tmpDir, '.mindforge', 'metrics'), { recursive: true });
1109
+ fs.writeFileSync(path.join(tmpDir, '.planning', 'HANDOFF.json'),
1110
+ JSON.stringify({ schema_version: '1.0.0', next_task: '', _warning: 'no secrets', context_refs: [], blockers: [], decisions_needed: [] }));
1111
+ fs.writeFileSync(path.join(tmpDir, '.planning', 'AUDIT.jsonl'), '');
1112
+
1113
+ const migration = require('../bin/migrations/1.0.0-to-2.0.0.js');
1114
+ await migration.run({ verbose: false });
1115
+
1116
+ assert.ok(fs.existsSync(path.join(tmpDir, '.planning', 'auto-state.json')),
1117
+ 'Migration should create auto-state.json');
1118
+ const state = JSON.parse(fs.readFileSync(path.join(tmpDir, '.planning', 'auto-state.json'), 'utf8'));
1119
+ assert.strictEqual(state.status, 'idle', 'auto-state.json should initialize to idle');
1120
+ } finally { process.chdir(origCwd); fs.rmSync(tmpDir, { recursive: true, force: true }); }
1121
+ });
1122
+
1123
+ test('migration is additive-only (no data loss)', async () => {
1124
+ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'mf-migrate3-'));
1125
+ const origCwd = process.cwd();
1126
+ process.chdir(tmpDir);
1127
+ try {
1128
+ fs.mkdirSync(path.join(tmpDir, '.planning'), { recursive: true });
1129
+ fs.mkdirSync(path.join(tmpDir, '.mindforge', 'metrics'), { recursive: true });
1130
+ const originalHandoff = {
1131
+ schema_version: '1.0.0',
1132
+ next_task: 'Run Plan 3-04',
1133
+ _warning: 'no secrets',
1134
+ context_refs: ['.planning/PROJECT.md'],
1135
+ blockers: [],
1136
+ decisions_needed: [],
1137
+ project: 'my-project', // Custom field that must survive migration
1138
+ custom_field: 'preserved',
1139
+ };
1140
+ fs.writeFileSync(path.join(tmpDir, '.planning', 'HANDOFF.json'), JSON.stringify(originalHandoff));
1141
+ fs.writeFileSync(path.join(tmpDir, '.planning', 'AUDIT.jsonl'), '');
1142
+
1143
+ const migration = require('../bin/migrations/1.0.0-to-2.0.0.js');
1144
+ await migration.run({ verbose: false });
1145
+
1146
+ const migrated = JSON.parse(fs.readFileSync(path.join(tmpDir, '.planning', 'HANDOFF.json'), 'utf8'));
1147
+ // Original fields must be preserved
1148
+ assert.strictEqual(migrated.next_task, 'Run Plan 3-04', 'next_task must be preserved');
1149
+ assert.strictEqual(migrated.project, 'my-project', 'project field must be preserved');
1150
+ assert.strictEqual(migrated.custom_field, 'preserved', 'Custom fields must be preserved');
1151
+ assert.deepStrictEqual(migrated.context_refs, ['.planning/PROJECT.md'], 'context_refs must be preserved');
1152
+ } finally { process.chdir(origCwd); fs.rmSync(tmpDir, { recursive: true, force: true }); }
1153
+ });
1154
+
1155
+ // ── Production checklist ──────────────────────────────────────────────────────
1156
+ console.log('\nProduction checklist:');
1157
+
1158
+ test('production-checklist.md has 65 items', () => {
1159
+ const content = fs.readFileSync('.mindforge/production/production-checklist.md', 'utf8');
1160
+ // Count table rows with | A/B/C/D/E/F[0-9][0-9] | pattern
1161
+ const items = content.match(/^\| [A-F]\d{2} \|/gm) || [];
1162
+ assert.ok(items.length >= 65, `Expected ≥65 checklist items, found ${items.length}`);
1163
+ });
1164
+
1165
+ test('production-checklist.md has Section F (v2.0.0 features)', () => {
1166
+ const content = fs.readFileSync('.mindforge/production/production-checklist.md', 'utf8');
1167
+ assert.ok(content.includes('Section F'), 'Must have Section F');
1168
+ assert.ok(content.includes('F01'), 'Must have F01 item');
1169
+ assert.ok(content.includes('F15'), 'Must have F15 item');
1170
+ const fItems = (content.match(/^\| F\d{2} \|/gm) || []).length;
1171
+ assert.strictEqual(fItems, 15, `Section F must have exactly 15 items, found ${fItems}`);
1172
+ });
1173
+
1174
+ // ── All ADRs through ADR-041 ──────────────────────────────────────────────────
1175
+ console.log('\nADRs (all 41):');
1176
+
1177
+ test('all 41 ADRs exist in .planning/decisions/', () => {
1178
+ if (!fs.existsSync('.planning/decisions')) {
1179
+ console.log(' (skipping — .planning/decisions not present in dev environment)');
1180
+ return;
1181
+ }
1182
+ const adrs = fs.readdirSync('.planning/decisions').filter(f => f.startsWith('ADR-') && f.endsWith('.md'));
1183
+ const numbers = adrs.map(f => parseInt(f.match(/ADR-(\d+)/)?.[1] || '0', 10)).filter(n => n > 0);
1184
+ assert.ok(Math.max(...numbers) >= 41, `Max ADR number should be ≥41, got ${Math.max(...numbers)}`);
1185
+ assert.ok(adrs.length >= 41, `Expected ≥41 ADRs, found ${adrs.length}`);
1186
+ });
1187
+
1188
+ test('ADR decision index mentions all v2.0.0 ADRs', () => {
1189
+ const indexPath = 'docs/architecture/decision-records-index.md';
1190
+ if (!fs.existsSync(indexPath)) return; // Skip if docs not yet updated
1191
+ const content = fs.readFileSync(indexPath, 'utf8');
1192
+ assert.ok(content.includes('ADR-039') || content.includes('ADR-041'),
1193
+ 'ADR index should reference v2.0.0 ADRs');
1194
+ });
1195
+
1196
+ // ── v2.0.0 component bins ────────────────────────────────────────────────────
1197
+ console.log('\nv2.0.0 component bins:');
1198
+
1199
+ const V2_BINS = [
1200
+ 'bin/autonomous/headless.js',
1201
+ 'bin/autonomous/repair-operator.js',
1202
+ 'bin/autonomous/stuck-monitor.js',
1203
+ 'bin/browser/browser-daemon.js',
1204
+ 'bin/browser/visual-verify-executor.js',
1205
+ 'bin/browser/qa-engine.js',
1206
+ 'bin/models/model-client.js',
1207
+ 'bin/models/model-router.js',
1208
+ 'bin/models/cost-tracker.js',
1209
+ 'bin/review/cross-review-engine.js',
1210
+ 'bin/research/research-engine.js',
1211
+ 'bin/memory/knowledge-store.js',
1212
+ 'bin/memory/knowledge-indexer.js',
1213
+ 'bin/memory/knowledge-capture.js',
1214
+ 'bin/dashboard/server.js',
1215
+ 'bin/dashboard/sse-bridge.js',
1216
+ 'bin/dashboard/api-router.js',
1217
+ 'bin/skills-builder/skill-generator.js',
1218
+ 'bin/skills-builder/skill-scorer.js',
1219
+ 'bin/skills-builder/source-loader.js',
1220
+ ];
1221
+
1222
+ test(`all ${V2_BINS.length} v2.0.0 binary modules exist`, () => {
1223
+ const missing = V2_BINS.filter(b => !fs.existsSync(b));
1224
+ assert.strictEqual(missing.length, 0, `Missing v2 bins:\n ${missing.join('\n ')}`);
1225
+ });
1226
+
1227
+ // ── All 22 test suites ────────────────────────────────────────────────────────
1228
+ console.log('\nAll 22 test suites:');
1229
+
1230
+ const ALL_SUITES = [
1231
+ // v1.0.0 (15 suites)
1232
+ 'install','wave-engine','audit','compaction','skills-platform',
1233
+ 'integrations','governance','intelligence','metrics',
1234
+ 'distribution','ci-mode','sdk','production','migration','e2e',
1235
+ // v2.0.0 additions (7 suites)
1236
+ 'autonomous','browser','model-routing','memory','dashboard',
1237
+ 'self-building-skills','release',
1238
+ ];
1239
+
1240
+ assert.strictEqual(ALL_SUITES.length, 22);
1241
+
1242
+ test(`all ${ALL_SUITES.length} test suites exist in tests/`, () => {
1243
+ const missing = ALL_SUITES.filter(s => !fs.existsSync(`tests/${s}.test.js`));
1244
+ assert.strictEqual(missing.length, 0, `Missing test suites: ${missing.join(', ')}`);
1245
+ });
1246
+
1247
+ // ── SDK memory module ─────────────────────────────────────────────────────────
1248
+ console.log('\nSDK:');
1249
+
1250
+ test('sdk/src/memory.ts exists (Day 11 addition)', () => {
1251
+ assert.ok(fs.existsSync('sdk/src/memory.ts'), 'sdk/src/memory.ts must exist');
1252
+ });
1253
+
1254
+ test('sdk/src/memory.ts exports MindForgeMemory class', () => {
1255
+ const content = fs.readFileSync('sdk/src/memory.ts', 'utf8');
1256
+ assert.ok(content.includes('MindForgeMemory'), 'Must export MindForgeMemory class');
1257
+ assert.ok(content.includes('remember('), 'Must have remember() method');
1258
+ assert.ok(content.includes('query('), 'Must have query() method');
1259
+ });
1260
+
1261
+ // ── Network ports (all 3) ────────────────────────────────────────────────────
1262
+ console.log('\nNetwork ports (all localhost-only):');
1263
+
1264
+ test('SDK SSE binds to 127.0.0.1:7337', () => {
1265
+ const content = fs.readFileSync('sdk/src/events.ts', 'utf8');
1266
+ assert.ok(content.includes('7337'), 'SDK SSE should use port 7337');
1267
+ assert.ok(content.includes('127.0.0.1'), 'SDK SSE must bind to 127.0.0.1');
1268
+ });
1269
+
1270
+ test('Browser daemon uses port 7338 (localhost)', () => {
1271
+ const content = fs.readFileSync('bin/browser/browser-daemon.js', 'utf8');
1272
+ assert.ok(content.includes('7338'), 'Browser daemon should use port 7338');
1273
+ assert.ok(content.includes('127.0.0.1'), 'Browser daemon must bind to 127.0.0.1');
1274
+ });
1275
+
1276
+ test('Dashboard server uses port 7339 (localhost)', () => {
1277
+ const content = fs.readFileSync('bin/dashboard/server.js', 'utf8');
1278
+ assert.ok(content.includes('7339'), 'Dashboard should use port 7339');
1279
+ assert.ok(content.includes('127.0.0.1'), 'Dashboard must bind to 127.0.0.1');
1280
+ assert.ok(!content.includes("'0.0.0.0'"), 'Dashboard must NOT bind to 0.0.0.0');
1281
+ });
1282
+
1283
+ // ── Security: no secrets in codebase ─────────────────────────────────────────
1284
+ console.log('\nSecurity:');
1285
+
1286
+ test('no hardcoded API keys in bin/ or .mindforge/', () => {
1287
+ const { execSync } = require('child_process');
1288
+ try {
1289
+ const result = execSync(
1290
+ 'grep -r --include="*.js" --include="*.ts" --include="*.md" ' +
1291
+ '-E "(sk-[a-zA-Z0-9]{20,}|AKIA[A-Z0-9]{16}|AIza[a-zA-Z0-9_-]{35})" ' +
1292
+ 'bin/ .mindforge/ sdk/ 2>/dev/null || echo "CLEAN"',
1293
+ { encoding: 'utf8' }
1294
+ );
1295
+ const lines = result.split('\n').filter(l => l && !l.includes('CLEAN') && !l.includes('TEST_ONLY') && !l.includes('example'));
1296
+ assert.strictEqual(lines.length, 0, `Found potential API keys:\n${lines.join('\n')}`);
1297
+ } catch { /* grep returning non-zero = clean */ }
1298
+ });
1299
+
1300
+ test('all server bindings checked — none on 0.0.0.0', () => {
1301
+ const serverFiles = [
1302
+ 'bin/dashboard/server.js',
1303
+ 'bin/browser/browser-daemon.js',
1304
+ 'sdk/src/events.ts',
1305
+ ];
1306
+ for (const f of serverFiles) {
1307
+ if (!fs.existsSync(f)) continue;
1308
+ const content = fs.readFileSync(f, 'utf8');
1309
+ assert.ok(!content.includes("'0.0.0.0'") && !content.includes('"0.0.0.0"'),
1310
+ `${f} must NOT bind to 0.0.0.0`);
1311
+ }
1312
+ });
1313
+
1314
+ // ── v2.0.0 MINDFORGE.md settings ─────────────────────────────────────────────
1315
+ console.log('\nMINDFORGE.md v2.0.0 settings:');
1316
+
1317
+ const REQUIRED_V2_SETTINGS = [
1318
+ 'PLANNER_MODEL', 'EXECUTOR_MODEL', 'SECURITY_MODEL', 'RESEARCH_MODEL',
1319
+ 'AUTO_MODE_DEFAULT_TIMEOUT_MINUTES', 'AUTO_NODE_REPAIR_BUDGET',
1320
+ 'BROWSER_PORT', 'BROWSER_HEADLESS',
1321
+ 'AUTO_CAPTURE_SKILLS', 'SKILL_QUALITY_MIN_SCORE',
1322
+ 'MODEL_COST_HARD_LIMIT_USD',
1323
+ ];
1324
+
1325
+ test('MINDFORGE.md has all required v2.0.0 settings', () => {
1326
+ const content = fs.readFileSync('MINDFORGE.md', 'utf8');
1327
+ const missing = REQUIRED_V2_SETTINGS.filter(s => !content.includes(s));
1328
+ assert.strictEqual(missing.length, 0, `Missing MINDFORGE.md settings: ${missing.join(', ')}`);
1329
+ });
1330
+
1331
+ // ── Results ───────────────────────────────────────────────────────────────────
1332
+ console.log(`\n${'═'.repeat(60)}`);
1333
+ console.log(`Release validation: ${passed} passed, ${failed} failed`);
1334
+
1335
+ if (failed > 0) {
1336
+ console.error(`\n❌ ${failed} release validation(s) failed.`);
1337
+ console.error(' v2.0.0 cannot be released until all pass.\n');
1338
+ process.exit(1);
1339
+ } else {
1340
+ console.log('\n✅ All release validations passed.');
1341
+ console.log(' MindForge v2.0.0 "The Autonomous Enterprise" is ready to ship.\n');
1342
+ }
1343
+ ```
1344
+
1345
+ **Commit:**
1346
+ ```bash
1347
+ git add tests/release.test.js
1348
+ git commit -m "test(v2-release): add release validation suite (22nd and final test suite)"
1349
+ ```
1350
+
1351
+ ---
1352
+
1353
+ ## TASK 7 — Run the Full Test Battery × 3 Runs
1354
+
1355
+ ```bash
1356
+ #!/usr/bin/env bash
1357
+ # Final pre-release test battery
1358
+ echo ""
1359
+ echo "╔══════════════════════════════════════════════════════════════╗"
1360
+ echo "║ MindForge v2.0.0 — Final Test Battery × 3 ║"
1361
+ echo "╚══════════════════════════════════════════════════════════════╝"
1362
+
1363
+ SUITES=(install wave-engine audit compaction skills-platform \
1364
+ integrations governance intelligence metrics \
1365
+ distribution ci-mode sdk production migration e2e \
1366
+ autonomous browser model-routing memory dashboard \
1367
+ self-building-skills release)
1368
+
1369
+ ALL_PASS=true
1370
+
1371
+ for RUN in 1 2 3; do
1372
+ echo ""
1373
+ echo " Run $RUN of 3"
1374
+ echo " ─────────────────────────────────────────────────────────"
1375
+ FAIL=0
1376
+ for s in "${SUITES[@]}"; do
1377
+ printf " %-35s" "${s}..."
1378
+ node tests/${s}.test.js 2>&1 | tail -1 | grep -q "passed" && echo "✅" || { echo "❌"; ((FAIL++)); ALL_PASS=false; }
1379
+ done
1380
+ [ "$FAIL" -gt 0 ] && echo " Run $RUN: $FAIL failure(s)" || echo " Run $RUN: All 22 passed ✅"
1381
+ done
1382
+
1383
+ echo ""
1384
+ $ALL_PASS && echo "✅ ALL 22 SUITES × 3 RUNS — RELEASE APPROVED" || { echo "❌ FAILURES — DO NOT RELEASE"; exit 1; }
1385
+ ```
1386
+
1387
+ ---
1388
+
1389
+ ## TASK 8 — Update docs/architecture/decision-records-index.md
1390
+
1391
+ ```bash
1392
+ cat >> docs/architecture/decision-records-index.md << 'EOF'
1393
+
1394
+ ## v2.0.0 ADRs (Days 8-14)
1395
+
1396
+ | ADR | Title | Day |
1397
+ |---|---|---|
1398
+ | ADR-021 | Autonomy boundary: human steers intent, agent executes implementation | 8 |
1399
+ | ADR-022 | Node repair hierarchy: RETRY before DECOMPOSE before PRUNE | 8 |
1400
+ | ADR-023 | Gate 3 runs pre-commit in auto mode (not post-wave) | 8 |
1401
+ | ADR-024 | Browser daemon localhost-only (127.0.0.1) | 9 |
1402
+ | ADR-025 | `<verify-visual>` failure = `<verify>` failure for node repair | 9 |
1403
+ | ADR-026 | Session files gitignored — auth tokens never in git | 9 |
1404
+ | ADR-027 | Persona determines model; Tier 3 always overrides to SECURITY_MODEL | 10 |
1405
+ | ADR-028 | Adversarial second-reviewer prompt for cross-review | 10 |
1406
+ | ADR-029 | Gemini uses x-goog-api-key header (not URL query param) | 10 |
1407
+ | ADR-030 | Knowledge graph is append-only (deprecate, never delete) | 11 |
1408
+ | ADR-031 | Knowledge reinforcement on explicit acknowledgment, not on load | 11 |
1409
+ | ADR-032 | Global knowledge entries carry a 0.1 confidence penalty | 11 |
1410
+ | ADR-033 | Dashboard binds to localhost only (127.0.0.1) | 12 |
1411
+ | ADR-034 | Tier 3 dashboard approvals require typing the plan ID | 12 |
1412
+ | ADR-035 | AUDIT entry written before approval file update (fail-safe ordering) | 12 |
1413
+ | ADR-036 | Documentation is the authoritative source for skill content | 13 |
1414
+ | ADR-037 | Pattern frequency ≥ 2 tasks as the auto-capture threshold | 13 |
1415
+ | ADR-038 | Minimum quality score of 60 for skill registration | 13 |
1416
+ | ADR-039 | 6-runtime support via unified RUNTIMES config map | 14 |
1417
+ | ADR-040 | v2.0.0 migration is additive-only (no destructive schema changes) | 14 |
1418
+ | ADR-041 | v2.0.0 stable interface contract (all ports, schemas, commands stable in 2.x) | 14 |
1419
+ EOF
1420
+ ```
1421
+
1422
+ **Commit:**
1423
+ ```bash
1424
+ git add docs/architecture/decision-records-index.md
1425
+ git commit -m "docs(v2-release): update ADR index with all 21 v2.0.0 ADRs (021-041)"
1426
+ ```
1427
+
1428
+ ---
1429
+
1430
+ ## TASK 9 — Bump to v2.0.0 and create git tag
1431
+
1432
+ ```bash
1433
+ # Final version bump
1434
+ node -e "
1435
+ const fs = require('fs');
1436
+ const p = JSON.parse(fs.readFileSync('package.json','utf8'));
1437
+ p.version = '2.0.0';
1438
+ fs.writeFileSync('package.json', JSON.stringify(p, null, 2) + '\n');
1439
+ console.log('Bumped to v2.0.0');
1440
+ "
1441
+
1442
+ # Final commit for the release
1443
+ git add package.json
1444
+ git commit -m "chore(release): bump to v2.0.0 — The Autonomous Enterprise"
1445
+
1446
+ # Tag the release
1447
+ git tag -a v2.0.0 -m "MindForge v2.0.0 — The Autonomous Enterprise
1448
+
1449
+ 48 commands · 22 test suites · 41 ADRs · 9 personas · 10 skills · 6 runtimes · 3 ports
1450
+
1451
+ New in v2.0.0:
1452
+ - /mindforge:auto — walk-away autonomous execution with node repair
1453
+ - /mindforge:browse, /mindforge:qa — persistent browser runtime + visual QA
1454
+ - /mindforge:cross-review, /mindforge:research, /mindforge:costs — multi-model intelligence
1455
+ - /mindforge:remember — persistent knowledge graph across sessions
1456
+ - /mindforge:dashboard — real-time web UI at localhost:7339
1457
+ - /mindforge:learn, /mindforge:marketplace — self-building skills platform
1458
+ - 6 runtimes: Claude Code, Antigravity, Cursor, OpenCode, Gemini CLI, GitHub Copilot"
1459
+
1460
+ git push origin feat/mindforge-v2-release
1461
+ git push origin v2.0.0
1462
+ ```
1463
+
1464
+ ---
1465
+
1466
+ ## TASK 10 — npm pack simulation (pre-publish verification)
1467
+
1468
+ ```bash
1469
+ #!/usr/bin/env bash
1470
+ echo "npm publish simulation"
1471
+ echo "════════════════════════"
1472
+
1473
+ # Create the tarball
1474
+ npm pack --dry-run 2>&1 | head -30
1475
+
1476
+ # Check actual pack
1477
+ npm pack
1478
+ TARBALL=$(ls mindforge-cc-2.0.0.tgz 2>/dev/null)
1479
+
1480
+ if [ -z "$TARBALL" ]; then
1481
+ echo "❌ npm pack failed — tarball not created"
1482
+ exit 1
1483
+ fi
1484
+
1485
+ echo "✅ Tarball created: $TARBALL"
1486
+ echo " Size: $(du -sh $TARBALL | cut -f1)"
1487
+
1488
+ # Verify tarball contents
1489
+ echo ""
1490
+ echo "Tarball contents:"
1491
+ tar -tzf "$TARBALL" | grep -E "\.(js|ts|md|json)$" | head -40
1492
+ echo "..."
1493
+
1494
+ # Verify critical files are included
1495
+ REQUIRED_IN_PACK=(
1496
+ "package/bin/install.js"
1497
+ "package/bin/installer-core.js"
1498
+ "package/.claude/CLAUDE.md"
1499
+ "package/.mindforge/org/SECURITY.md"
1500
+ "package/CHANGELOG.md"
1501
+ )
1502
+
1503
+ for f in "${REQUIRED_IN_PACK[@]}"; do
1504
+ tar -tzf "$TARBALL" | grep -q "$f" && echo " ✅ $f" || echo " ❌ MISSING: $f"
1505
+ done
1506
+
1507
+ # Verify node_modules NOT in tarball
1508
+ NODE_MODULES=$(tar -tzf "$TARBALL" | grep "node_modules" | wc -l | tr -d ' ')
1509
+ [ "$NODE_MODULES" -eq 0 ] && echo "✅ node_modules not in tarball" || echo "❌ node_modules IN tarball — check .npmignore"
1510
+
1511
+ # Clean up
1512
+ rm -f mindforge-cc-2.0.0.tgz
1513
+
1514
+ echo ""
1515
+ echo "✅ npm pack simulation complete — ready to publish"
1516
+ echo " To publish: npm publish --access public"
1517
+ ```
1518
+
1519
+ **Commit:**
1520
+ ```bash
1521
+ git add .
1522
+ git commit -m "chore(v2-release): final pre-publish verification — all checks passed"
1523
+ ```
1524
+
1525
+ ---
1526
+
1527
+ # ═══════════════════════════════════════════════════════════════════════
1528
+ # PART 2 — REVIEW PROMPT
1529
+ # ═══════════════════════════════════════════════════════════════════════
1530
+
1531
+ ---
1532
+
1533
+ ## DAY 14 REVIEW
1534
+
1535
+ Activate **`architect.md` + `security-reviewer.md` + `release-manager.md`** simultaneously.
1536
+
1537
+ Day 14 risk profile (release-specific):
1538
+ 1. **Migration data loss** — v1.0.0→v2.0.0 migration must be truly additive; any destructive operation loses user data
1539
+ 2. **Runtime cross-contamination** — installer copying wrong files to wrong runtime directories
1540
+ 3. **Tarball completeness** — npm pack missing critical files; or including sensitive files
1541
+ 4. **Version contract breakage** — v2.0.0 commands accidentally breaking v1.0.0 workflows
1542
+ 5. **Test suite inter-dependency** — test suites that pass individually but fail in sequence
1543
+ 6. **ADR-041 contract completeness** — the v2.0.0 stable interface contract must be precisely defined
1544
+
1545
+ ---
1546
+
1547
+ ## REVIEW PASS 1 — Migration: Data Preservation
1548
+
1549
+ Read `bin/migrations/1.0.0-to-2.0.0.js` completely.
1550
+
1551
+ - [ ] **`run()` does not run backup before making changes.** The v1.0.0 migration (Day 7) created a backup before applying any changes. The v2.0.0 migration writes directly to HANDOFF.json and AUDIT.jsonl without backup. If the migration is interrupted mid-way (process kill, disk full), files are partially modified. Fix: "Follow the same backup pattern as `bin/migrations/migrate.js`: create backup copy of HANDOFF.json and AUDIT.jsonl before any writes, restore on exception."
1552
+
1553
+ - [ ] **AUDIT.jsonl backfill reads and rewrites the ENTIRE file.** For projects with large AUDIT.jsonl files (10K+ lines), this loads the entire file into memory, modifies it, and writes it back. This is an O(n) memory and disk operation. Fix: "Only backfill if needed: check the first entry in AUDIT.jsonl to see if it already has `model_used`. If it does, skip the backfill — it was already run or this is a v2.0.0 project."
1554
+
1555
+ - [ ] **`require('../bin/migrations/1.0.0-to-2.0.0.js')` in test file may cache the module.** The test calls the migration three times across different temp directories (`process.chdir(tmpDir)`), but `require()` caches modules. The migration module reads `process.cwd()` at call time — this should work correctly. But the `require` cache means if the migration uses any module-level state (it doesn't, but document this explicitly with a comment in the migration file).
1556
+
1557
+ ---
1558
+
1559
+ ## REVIEW PASS 2 — Multi-Runtime: Installer Correctness
1560
+
1561
+ Read the updated `bin/installer-core.js` completely.
1562
+
1563
+ - [ ] **Cursor runtime uses `supportsSlash: false` but the commands are still `.md` files.** If Cursor doesn't support /slash commands, installing 48 command files that use `/mindforge:cmd` syntax as `@mindforge-cmd` references may confuse users. Fix: "For non-slash runtimes (cursor, copilot), add a preamble to each command file explaining how to reference it: '# To use this command in Cursor: @[filename without .md]'."
1564
+
1565
+ - [ ] **`generateGeminiMd()` does a model string replacement on CLAUDE.md.** If the CLAUDE.md content doesn't have the expected model strings (they may not be hardcoded in CLAUDE.md — they're in MINDFORGE.md), the replacement produces the original file with no changes and no error. Fix: "Verify the replacement was meaningful: if the generated GEMINI.md is identical to CLAUDE.md after replacement, log a warning rather than silently writing a wrong file."
1566
+
1567
+ - [ ] **The RUNTIMES config has `detect()` functions but the installer does not call them automatically.** The detection functions are only useful if the installer auto-detects which runtimes are present. If the user doesn't specify `--runtime`, the installer should call `detect()` and suggest detected runtimes. Document: "Auto-detection is provided for future use; in v2.0.0 the user explicitly specifies `--runtime`. Auto-suggest is planned for v2.1.0."
1568
+
1569
+ ---
1570
+
1571
+ ## REVIEW PASS 3 — Production Checklist: Completeness
1572
+
1573
+ Read `.mindforge/production/production-checklist.md` completely.
1574
+
1575
+ - [ ] **Section F item F13 says "All 6 runtimes install correctly" but doesn't specify which test to run.** The verification column says only "Run installer with each runtime flag" — this needs to be more precise. Fix: "F13 verification: `node bin/install.js --runtime cursor --dry-run && node bin/install.js --runtime gemini --dry-run && node bin/install.js --runtime copilot --dry-run`"
1576
+
1577
+ - [ ] **The checklist has items F14 and F15 about regression and migration, but these are tested by E01-E03 (all 22 suites × 3 runs).** There is overlap between Section E and Section F for regression testing. This is intentional (belt-and-suspenders for a release gate) but should be documented to avoid confusion: "F14 and F15 are explicit human verification steps, not automated — they confirm that the human ran the tests and confirmed results."
1578
+
1579
+ ---
1580
+
1581
+ ## REVIEW PASS 4 — Release Test Suite: Coverage Gaps
1582
+
1583
+ Read `tests/release.test.js` completely.
1584
+
1585
+ - [ ] **Migration data preservation test uses `process.chdir()` which affects ALL subsequent tests in the same process.** If a test fails mid-chdir, the process may remain in the temp directory, causing all subsequent tests to fail with file-not-found errors. Fix: "Each migration test should use a `try/finally` block that always calls `process.chdir(origCwd)` regardless of test outcome — this is already done in the test, but add `p.cleanup()` call to ensure temp dirs are removed."
1586
+
1587
+ - [ ] **The "no hardcoded API keys" test uses `grep` which may not be available on Windows.** The test uses `execSync('grep -r ...')`. Fix: "Add a `try/catch` around the execSync call and skip the test gracefully on Windows: `if (process.platform === 'win32') { console.log(' (skipping — grep not available on Windows)'); return; }`"
1588
+
1589
+ - [ ] **Missing test: migration dry_run mode.** The migration has a `dry_run` parameter but no test verifies it actually prevents file writes. Add: "Test that calling `migration.run({ dry_run: true })` on a v1.0.0 HANDOFF.json leaves the file unchanged."
1590
+
1591
+ ---
1592
+
1593
+ ## REVIEW PASS 5 — ADR-041: Stable Interface Contract
1594
+
1595
+ Read the Day 14 ADR additions.
1596
+
1597
+ - [ ] **ADR-041 (v2.0.0 stable interface contract) is referenced but not fully defined.** Like ADR-020 (v1.0.0 contract), ADR-041 must precisely specify what is stable in v2.0.0 and cannot change without a MAJOR version bump. Ensure ADR-041 explicitly lists:
1598
+ - All 48 command names (stable — no renames without deprecation period)
1599
+ - All 3 network port numbers (7337, 7338, 7339 — stable)
1600
+ - HANDOFF.json schema fields that are stable
1601
+ - AUDIT.jsonl event types that are stable
1602
+ - SDK public exports that are stable
1603
+ - Plugin API version (stable)
1604
+ - SKILL.md frontmatter format (stable)
1605
+
1606
+ ---
1607
+
1608
+ ## REVIEW PASS 6 — CHANGELOG and Documentation Completeness
1609
+
1610
+ Read `CHANGELOG.md` v2.0.0 entry completely.
1611
+
1612
+ - [ ] **The CHANGELOG entry doesn't mention the specific breaking changes file locations.** Users upgrading from v1.0.0 need to know exactly what changed in their `.planning/` directory. Fix: "Add to breaking changes: 'See `bin/migrations/1.0.0-to-2.0.0.js` for the complete list of schema changes. Run `/mindforge:migrate --from 1.0.0 --to 2.0.0 --dry-run` to preview changes before applying.'"
1613
+
1614
+ - [ ] **`docs/reference/commands.md` should be updated to list all 48 commands but may still show 36.** Verify: "Check `docs/reference/commands.md` — it must list all 48 commands with v2 additions clearly marked as 'New in v2.0.0'."
1615
+
1616
+ ---
1617
+
1618
+ ## REVIEW SUMMARY TABLE
1619
+
1620
+ ```
1621
+ ## Day 14 Review Summary
1622
+
1623
+ | Category | BLOCKING | MAJOR | MINOR | SUGGESTION |
1624
+ |-------------------------|----------|-------|-------|------------|
1625
+ | Migration Safety | | | | |
1626
+ | Multi-Runtime Installer | | | | |
1627
+ | Production Checklist | | | | |
1628
+ | Release Test Suite | | | | |
1629
+ | ADR-041 Contract | | | | |
1630
+ | CHANGELOG/Docs | | | | |
1631
+ | **TOTAL** | | | | |
1632
+
1633
+ ## Verdict
1634
+ [ ] ✅ APPROVED — Proceed to HARDEN section
1635
+ [ ] ⚠️ APPROVED WITH CONDITIONS
1636
+ [ ] ❌ NOT APPROVED — DO NOT RELEASE
1637
+ ```
1638
+
1639
+ ---
1640
+
1641
+ # ═══════════════════════════════════════════════════════════════════════
1642
+ # PART 3 — HARDENING PROMPT
1643
+ # ═══════════════════════════════════════════════════════════════════════
1644
+
1645
+ ---
1646
+
1647
+ ## DAY 14 HARDENING
1648
+
1649
+ Activate **`security-reviewer.md` + `release-manager.md` + `architect.md`** simultaneously.
1650
+
1651
+ ```bash
1652
+ # Confirm all 22 suites pass before hardening
1653
+ for suite in install wave-engine audit compaction skills-platform \
1654
+ integrations governance intelligence metrics \
1655
+ distribution ci-mode sdk production migration e2e \
1656
+ autonomous browser model-routing memory dashboard \
1657
+ self-building-skills release; do
1658
+ printf " %-35s" "${suite}..."
1659
+ node tests/${suite}.test.js 2>&1 | tail -1
1660
+ done
1661
+ ```
1662
+
1663
+ ---
1664
+
1665
+ ## HARDEN 1 — Add backup/restore to migration script
1666
+
1667
+ Update `bin/migrations/1.0.0-to-2.0.0.js`:
1668
+
1669
+ ```javascript
1670
+ // Add backup at the top of run():
1671
+ async function run(context = {}) {
1672
+ const { dry_run = false, verbose = false } = context;
1673
+ const log = msg => verbose && console.log(` [1.0.0→2.0.0] ${msg}`);
1674
+ const changes = [];
1675
+
1676
+ // ── BACKUP before any writes (consistent with migrate.js pattern) ──────────
1677
+ const backupDir = path.join(PLANNING_DIR, '.migration-backup-2.0.0');
1678
+ if (!dry_run) {
1679
+ fs.mkdirSync(backupDir, { recursive: true });
1680
+
1681
+ const filesToBackup = [
1682
+ path.join(PLANNING_DIR, 'HANDOFF.json'),
1683
+ path.join(PLANNING_DIR, 'AUDIT.jsonl'),
1684
+ path.join(MFDIR, 'metrics', 'token-usage.jsonl'),
1685
+ ].filter(f => fs.existsSync(f));
1686
+
1687
+ for (const f of filesToBackup) {
1688
+ const backupPath = path.join(backupDir, path.basename(f));
1689
+ fs.copyFileSync(f, backupPath);
1690
+ log(`Backed up: ${path.relative(process.cwd(), f)}`);
1691
+ }
1692
+ }
1693
+
1694
+ try {
1695
+ // ... existing migration logic unchanged ...
1696
+ return { success: true, changes, version_from: '1.0.0', version_to: '2.0.0' };
1697
+ } catch (err) {
1698
+ // Restore from backup on failure
1699
+ if (!dry_run && fs.existsSync(backupDir)) {
1700
+ for (const f of fs.readdirSync(backupDir)) {
1701
+ const backupPath = path.join(backupDir, f);
1702
+ const originalPath = f === 'HANDOFF.json' || f === 'AUDIT.jsonl'
1703
+ ? path.join(PLANNING_DIR, f)
1704
+ : path.join(MFDIR, 'metrics', f);
1705
+ fs.copyFileSync(backupPath, originalPath);
1706
+ log(`Restored from backup: ${f}`);
1707
+ }
1708
+ }
1709
+ throw err;
1710
+ }
1711
+ }
1712
+ ```
1713
+
1714
+ **Commit:**
1715
+ ```bash
1716
+ git add bin/migrations/1.0.0-to-2.0.0.js
1717
+ git commit -m "harden(v2-release): add backup/restore to v2.0.0 migration script"
1718
+ ```
1719
+
1720
+ ---
1721
+
1722
+ ## HARDEN 2 — Add AUDIT.jsonl smart backfill (skip if already v2)
1723
+
1724
+ Update backfill logic in migration:
1725
+
1726
+ ```javascript
1727
+ // Replace the AUDIT.jsonl backfill section:
1728
+ const auditPath = path.join(PLANNING_DIR, 'AUDIT.jsonl');
1729
+ if (fs.existsSync(auditPath)) {
1730
+ const content = fs.readFileSync(auditPath, 'utf8');
1731
+ const firstLine = content.split('\n').find(l => l.trim());
1732
+
1733
+ if (firstLine) {
1734
+ try {
1735
+ const firstEntry = JSON.parse(firstLine);
1736
+ // SMART SKIP: if first entry already has model_used, this is already v2
1737
+ if (firstEntry.model_used !== undefined) {
1738
+ log('AUDIT.jsonl already has v2 fields — skipping backfill');
1739
+ // Do NOT add to changes
1740
+ } else {
1741
+ // Needs backfill
1742
+ const lines = content.split('\n').filter(Boolean);
1743
+ const updated = lines.map(line => {
1744
+ try {
1745
+ const entry = JSON.parse(line);
1746
+ if (entry.model_used === undefined) entry.model_used = 'unknown';
1747
+ if (entry.node_repair === undefined) entry.node_repair = false;
1748
+ return JSON.stringify(entry);
1749
+ } catch { return line; }
1750
+ });
1751
+ if (!dry_run) fs.writeFileSync(auditPath, updated.join('\n') + '\n');
1752
+ log(`Backfilled ${lines.length} AUDIT.jsonl entries`);
1753
+ changes.push(`AUDIT.jsonl: backfilled ${lines.length} entries`);
1754
+ }
1755
+ } catch { /* malformed first line — skip backfill silently */ }
1756
+ }
1757
+ }
1758
+ ```
1759
+
1760
+ **Commit:**
1761
+ ```bash
1762
+ git add bin/migrations/1.0.0-to-2.0.0.js
1763
+ git commit -m "harden(v2-release): smart AUDIT.jsonl backfill — skip if already v2"
1764
+ ```
1765
+
1766
+ ---
1767
+
1768
+ ## HARDEN 3 — Write the full ADR-041 (v2.0.0 stable interface contract)
1769
+
1770
+ ### `.planning/decisions/ADR-041-v2-stable-interface-contract.md`
1771
+
1772
+ ```markdown
1773
+ # ADR-041: v2.0.0 Stable Interface Contract
1774
+
1775
+ **Status:** Accepted | **Date:** v2.0.0 | **Day:** 14
1776
+
1777
+ ## Context
1778
+ Like ADR-020 defined the v1.0.0 stable contract, this ADR defines exactly what
1779
+ is stable in v2.0.0 and cannot change without a MAJOR version bump (to 3.0.0).
1780
+
1781
+ ## Decision
1782
+
1783
+ ### Stable: Command names (all 48)
1784
+ The following command names are stable. They may not be renamed, removed, or
1785
+ have their core behaviour changed without a deprecation period of at least
1786
+ one minor version:
1787
+ ```
1788
+ v1.0.0 (36): help, init-project, plan-phase, execute-phase, verify-phase, ship,
1789
+ next, quick, status, debug, skills, review, security-scan, map-codebase,
1790
+ discuss-phase, audit, milestone, complete-milestone, approve, sync-jira,
1791
+ sync-confluence, health, retrospective, profile-team, metrics, init-org,
1792
+ install-skill, publish-skill, pr-review, workspace, benchmark, update,
1793
+ migrate, plugins, tokens, release
1794
+
1795
+ v2.0.0 additions (12): auto, steer, browse, qa, cross-review, research, costs,
1796
+ remember, dashboard, learn, marketplace, new-runtime
1797
+ ```
1798
+
1799
+ ### Stable: Network ports
1800
+ - 7337: SDK SSE event stream — stable in 2.x
1801
+ - 7338: Browser daemon HTTP API — stable in 2.x
1802
+ - 7339: Dashboard server — stable in 2.x
1803
+
1804
+ ### Stable: HANDOFF.json schema fields
1805
+ All fields present in schema_version: "2.0.0" are stable.
1806
+ Fields may be added (minor version), but not removed or renamed (major version).
1807
+ Core stable fields: schema_version, next_task, _warning, context_refs, blockers,
1808
+ decisions_needed, phase, plan, recent_commits, recent_files, autonomous_mode,
1809
+ steering_queue_path, knowledge_base_path.
1810
+
1811
+ ### Stable: AUDIT.jsonl event types
1812
+ These event types are stable — consumers may rely on them:
1813
+ task_started, task_completed, task_failed, security_finding, quality_gate_failed,
1814
+ context_compaction, phase_completed, decision_recorded, phase_execution_started,
1815
+ phase_execution_completed, skill_learned, model_routed, approval_granted,
1816
+ approval_rejected, dashboard_started, memory_applied, cross_review_completed.
1817
+ New event types may be added (minor version).
1818
+
1819
+ ### Stable: SDK public exports (sdk/src/index.ts)
1820
+ MindForgeClient, MindForgeEventStream, MindForgeMemory, and all TypeScript
1821
+ interfaces exported from sdk/src/index.ts are stable in 2.x.
1822
+ Internal modules (not exported via index.ts) are NOT stable.
1823
+
1824
+ ### Stable: Plugin API version
1825
+ plugin_api_version: "2.0.0" is stable — plugins targeting 2.x will work
1826
+ on any 2.x version.
1827
+
1828
+ ### Stable: SKILL.md frontmatter format
1829
+ The SKILL.md frontmatter schema (name, version, status, triggers, description)
1830
+ is stable in 2.x. New frontmatter fields may be added (minor version).
1831
+
1832
+ ### Stable: PLAN XML fields
1833
+ All XML tags in PLAN files (<task>, <n>, <persona>, <files>, <context>,
1834
+ <action>, <verify>, <verify-visual>, <dependencies>, <done>) are stable.
1835
+
1836
+ ### NOT stable in 2.x (may change in minor versions)
1837
+ - Internal `bin/` module APIs (used by CLI only)
1838
+ - `.mindforge/` spec file contents (engine/governance/intelligence specs)
1839
+ - Dashboard HTML/CSS/JS structure
1840
+ - HANDOFF.json optional fields added by v2 features
1841
+
1842
+ ## Consequences
1843
+ Plugins targeting v2.0.0 will work on v2.1.0, v2.2.0, etc.
1844
+ v1.0.0 projects can upgrade to v2.x without breaking any existing workflows.
1845
+ Developers building integrations on the SDK TypeScript types can rely on them
1846
+ through all 2.x releases.
1847
+ ```
1848
+
1849
+ **Commit:**
1850
+ ```bash
1851
+ git add .planning/decisions/ADR-041-v2-stable-interface-contract.md
1852
+ git commit -m "docs(adr): add ADR-041 v2.0.0 stable interface contract"
1853
+ ```
1854
+
1855
+ ---
1856
+
1857
+ ## HARDEN 4 — Add migration dry_run test and grep platform guard
1858
+
1859
+ ```javascript
1860
+ // Add to tests/release.test.js:
1861
+
1862
+ console.log('\nHardening tests:');
1863
+
1864
+ test('migration dry_run leaves HANDOFF.json unchanged', async () => {
1865
+ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'mf-dryrun-'));
1866
+ const origCwd = process.cwd();
1867
+ process.chdir(tmpDir);
1868
+ try {
1869
+ fs.mkdirSync(path.join(tmpDir, '.planning'), { recursive: true });
1870
+ fs.mkdirSync(path.join(tmpDir, '.mindforge', 'metrics'), { recursive: true });
1871
+ const originalContent = JSON.stringify({
1872
+ schema_version: '1.0.0', next_task: 'preserved', _warning: 'no secrets', context_refs: [], blockers: [], decisions_needed: []
1873
+ });
1874
+ fs.writeFileSync(path.join(tmpDir, '.planning', 'HANDOFF.json'), originalContent);
1875
+ fs.writeFileSync(path.join(tmpDir, '.planning', 'AUDIT.jsonl'), '');
1876
+
1877
+ const migration = require('../bin/migrations/1.0.0-to-2.0.0.js');
1878
+ await migration.run({ dry_run: true, verbose: false });
1879
+
1880
+ // File must be unchanged
1881
+ const afterContent = fs.readFileSync(path.join(tmpDir, '.planning', 'HANDOFF.json'), 'utf8');
1882
+ assert.strictEqual(afterContent, originalContent, 'dry_run must not modify HANDOFF.json');
1883
+ } finally { process.chdir(origCwd); fs.rmSync(tmpDir, { recursive: true, force: true }); }
1884
+ });
1885
+
1886
+ test('migration smart backfill skips AUDIT.jsonl already having v2 fields', async () => {
1887
+ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'mf-smart-'));
1888
+ const origCwd = process.cwd();
1889
+ process.chdir(tmpDir);
1890
+ try {
1891
+ fs.mkdirSync(path.join(tmpDir, '.planning'), { recursive: true });
1892
+ fs.mkdirSync(path.join(tmpDir, '.mindforge', 'metrics'), { recursive: true });
1893
+ fs.writeFileSync(path.join(tmpDir, '.planning', 'HANDOFF.json'),
1894
+ JSON.stringify({ schema_version: '1.0.0', next_task: '', _warning: 'no secrets', context_refs: [], blockers: [], decisions_needed: [] }));
1895
+ // AUDIT.jsonl already has model_used (simulates previously migrated)
1896
+ const alreadyV2 = JSON.stringify({ id: 'abc', timestamp: '2026-01-01T00:00:00Z', event: 'task_completed', agent: 'test', session_id: 's1', model_used: 'claude-sonnet-4-6', node_repair: false });
1897
+ fs.writeFileSync(path.join(tmpDir, '.planning', 'AUDIT.jsonl'), alreadyV2 + '\n');
1898
+
1899
+ const migration = require('../bin/migrations/1.0.0-to-2.0.0.js');
1900
+ const result = await migration.run({ verbose: false });
1901
+
1902
+ // Should NOT have 'AUDIT.jsonl: backfilled' in changes
1903
+ const backfillChange = result.changes.find(c => c.includes('AUDIT.jsonl: backfilled'));
1904
+ assert.ok(!backfillChange, 'Smart backfill should skip AUDIT.jsonl that already has v2 fields');
1905
+ } finally { process.chdir(origCwd); fs.rmSync(tmpDir, { recursive: true, force: true }); }
1906
+ });
1907
+ ```
1908
+
1909
+ **Commit:**
1910
+ ```bash
1911
+ git add tests/release.test.js
1912
+ git commit -m "test(v2-release): add dry_run and smart backfill skip tests"
1913
+ ```
1914
+
1915
+ ---
1916
+
1917
+ ## HARDEN 5 — Write final ADRs (ADR-039 and ADR-040)
1918
+
1919
+ ### `.planning/decisions/ADR-039-6-runtime-support.md`
1920
+
1921
+ ```markdown
1922
+ # ADR-039: 6-runtime support via unified RUNTIMES config map
1923
+
1924
+ **Status:** Accepted | **Date:** v2.0.0 | **Day:** 14
1925
+
1926
+ ## Context
1927
+ MindForge v1.0.0 supported Claude Code and Antigravity via hardcoded paths
1928
+ in the installer. How should additional runtimes be added?
1929
+
1930
+ ## Decision
1931
+ All runtime configurations are defined in a single RUNTIMES map in
1932
+ `bin/installer-core.js`. Each entry specifies: id, displayName, globalDir,
1933
+ localDir, commandsSubdir, entryFile, commandFormat, supportsSlash,
1934
+ detect function, description, installDocs, and optional notes.
1935
+
1936
+ ## Rationale
1937
+ A config-driven approach (vs. per-runtime code) means:
1938
+ 1. New runtimes require only a new config entry + an entry file generator
1939
+ 2. The installer logic is runtime-agnostic
1940
+ 3. auto-detection is unified (each runtime has a `detect()` function)
1941
+ 4. Tests can enumerate all runtimes from the config map
1942
+
1943
+ ## Consequences
1944
+ Adding a 7th runtime (e.g., Zed, Void) requires only a RUNTIMES entry.
1945
+ The `/mindforge:new-runtime` command lets teams add custom runtime support
1946
+ without modifying the core installer.
1947
+ ```
1948
+
1949
+ ### `.planning/decisions/ADR-040-migration-additive-only.md`
1950
+
1951
+ ```markdown
1952
+ # ADR-040: v2.0.0 migration is additive-only — no destructive schema changes
1953
+
1954
+ **Status:** Accepted | **Date:** v2.0.0 | **Day:** 14
1955
+
1956
+ ## Context
1957
+ How should v1.0.0→v2.0.0 migration handle schema changes?
1958
+
1959
+ ## Decision
1960
+ All v2.0.0 schema changes are additive. The migration adds new fields to
1961
+ existing files but never removes, renames, or modifies existing field values.
1962
+ If a field already exists with a non-null value, it is preserved unchanged.
1963
+
1964
+ ## Rationale
1965
+ Destructive migration operations are irreversible without a backup.
1966
+ Additive-only means:
1967
+ 1. Migration is safe to run multiple times (idempotent for new fields)
1968
+ 2. Rollback is trivial (remove the added fields, done)
1969
+ 3. v1.0.0 tools can still read v2.0.0 files (graceful degradation)
1970
+ 4. Custom fields in user HANDOFF.json files are never touched
1971
+
1972
+ ## Implementation
1973
+ - `autonomous_mode`, `steering_queue_path`, `knowledge_base_path` are ADDED to HANDOFF.json
1974
+ - `model_used`, `node_repair` are ADDED to existing AUDIT.jsonl entries (backfill)
1975
+ - `cost_usd` is ADDED to token-usage.jsonl entries (backfill with null)
1976
+ - Nothing is deleted, renamed, or overwritten with different semantics
1977
+
1978
+ ## Consequences
1979
+ The migration can be re-run safely on already-migrated projects (smart skip).
1980
+ Teams who customised their HANDOFF.json schema do not lose custom fields.
1981
+ All changes are verified by `tests/release.test.js` migration data preservation test.
1982
+ ```
1983
+
1984
+ **Commit:**
1985
+ ```bash
1986
+ git add .planning/decisions/ADR-039*.md .planning/decisions/ADR-040*.md
1987
+ git commit -m "docs(adr): add ADR-039 6-runtime config, ADR-040 additive-only migration"
1988
+ ```
1989
+
1990
+ ---
1991
+
1992
+ ## HARDEN 6 — Update docs/reference/commands.md with all 48 commands
1993
+
1994
+ ```bash
1995
+ # Verify the commands reference is current
1996
+ grep -c "^## /mindforge:" docs/reference/commands.md 2>/dev/null | tr -d ' '
1997
+ # Must be >= 48
1998
+
1999
+ # If not, add v2.0.0 commands section:
2000
+ cat >> docs/reference/commands.md << 'EOF'
2001
+
2002
+ ---
2003
+
2004
+ ## v2.0.0 Commands (New in "The Autonomous Enterprise")
2005
+
2006
+ ### /mindforge:auto
2007
+ Walk-away autonomous execution mode. See `auto.md` for full documentation.
2008
+
2009
+ ### /mindforge:steer
2010
+ Mid-execution guidance injection. See `steer.md`.
2011
+
2012
+ ### /mindforge:browse
2013
+ Persistent browser control with session management. See `browse.md`.
2014
+
2015
+ ### /mindforge:qa
2016
+ Visual QA against affected routes. See `qa.md`.
2017
+
2018
+ ### /mindforge:cross-review
2019
+ Multi-model adversarial code review. See `cross-review.md`.
2020
+
2021
+ ### /mindforge:research
2022
+ Deep research via Gemini 1M context window. See `research.md`.
2023
+
2024
+ ### /mindforge:costs
2025
+ Real-time cost tracking dashboard. See `costs.md`.
2026
+
2027
+ ### /mindforge:remember
2028
+ Persistent knowledge graph management. See `remember.md`.
2029
+
2030
+ ### /mindforge:dashboard
2031
+ Real-time web observability dashboard. See `dashboard.md`.
2032
+
2033
+ ### /mindforge:learn
2034
+ Convert any documentation into a reusable skill. See `learn.md`.
2035
+
2036
+ ### /mindforge:marketplace
2037
+ Community skills marketplace. See `marketplace.md`.
2038
+
2039
+ ### /mindforge:new-runtime
2040
+ Scaffold support for a new AI coding runtime. See `new-runtime.md`.
2041
+ EOF
2042
+ ```
2043
+
2044
+ **Commit:**
2045
+ ```bash
2046
+ git add docs/reference/commands.md
2047
+ git commit -m "docs(v2-release): update commands reference with all 48 v2.0.0 commands"
2048
+ ```
2049
+
2050
+ ---
2051
+
2052
+ ## HARDEN 7 — Final × 3 test battery and release verification
2053
+
2054
+ ```bash
2055
+ #!/usr/bin/env bash
2056
+ echo ""
2057
+ echo "╔══════════════════════════════════════════════════════════════════╗"
2058
+ echo "║ MindForge v2.0.0 — FINAL RELEASE VERIFICATION ║"
2059
+ echo "╚══════════════════════════════════════════════════════════════════╝"
2060
+ echo ""
2061
+
2062
+ PASS=true
2063
+
2064
+ # ── Version check ──────────────────────────────────────────────────────────────
2065
+ V=$(node -e "console.log(require('./package.json').version)")
2066
+ [[ "${V}" == "2.0.0" ]] && echo " Version: ${V} ✅" || { echo " ❌ Version is ${V}, must be 2.0.0"; PASS=false; }
2067
+
2068
+ # ── Command counts ─────────────────────────────────────────────────────────────
2069
+ CLAUDE_CMDS=$(ls .claude/commands/mindforge/*.md 2>/dev/null | wc -l | tr -d ' ')
2070
+ AGENT_CMDS=$(ls .agent/mindforge/*.md 2>/dev/null | wc -l | tr -d ' ')
2071
+ [ "$CLAUDE_CMDS" -eq 48 ] && echo " .claude commands: ${CLAUDE_CMDS} ✅" || { echo " ❌ .claude commands: ${CLAUDE_CMDS} (expected 48)"; PASS=false; }
2072
+ [ "$AGENT_CMDS" -eq 48 ] && echo " .agent commands: ${AGENT_CMDS} ✅" || { echo " ❌ .agent commands: ${AGENT_CMDS} (expected 48)"; PASS=false; }
2073
+
2074
+ # ── Test battery × 3 ──────────────────────────────────────────────────────────
2075
+ SUITES=(install wave-engine audit compaction skills-platform \
2076
+ integrations governance intelligence metrics \
2077
+ distribution ci-mode sdk production migration e2e \
2078
+ autonomous browser model-routing memory dashboard \
2079
+ self-building-skills release)
2080
+
2081
+ for RUN in 1 2 3; do
2082
+ echo ""
2083
+ echo " ── Test run ${RUN}/3 ──────────────────────────────────────────────"
2084
+ FAIL=0
2085
+ for s in "${SUITES[@]}"; do
2086
+ printf " %-35s" "${s}..."
2087
+ node tests/${s}.test.js 2>&1 | tail -1 | grep -q "passed" && echo "✅" || { echo "❌"; ((FAIL++)); PASS=false; }
2088
+ done
2089
+ [ "$FAIL" -gt 0 ] && echo " ❌ Run ${RUN}: ${FAIL} failure(s)" || echo " ✅ Run ${RUN}: All 22 passed"
2090
+ done
2091
+
2092
+ # ── Security checks ────────────────────────────────────────────────────────────
2093
+ echo ""
2094
+ echo " ── Security ──────────────────────────────────────────────────────"
2095
+
2096
+ # No 0.0.0.0 bindings
2097
+ UNSAFE=$(grep -r "0\.0\.0\.0" bin/dashboard/ bin/browser/ sdk/ 2>/dev/null | grep -v "#" | grep -v "//" || true)
2098
+ [ -z "$UNSAFE" ] && echo " Localhost-only bindings ✅" || { echo " ❌ 0.0.0.0 binding found"; PASS=false; }
2099
+
2100
+ # No API keys in code
2101
+ KEYS=$(grep -r --include="*.js" -E "sk-[a-zA-Z0-9]{20,}" bin/ 2>/dev/null | grep -v "TEST_ONLY\|example\|REDACTED" || true)
2102
+ [ -z "$KEYS" ] && echo " No hardcoded API keys ✅" || { echo " ❌ Potential API keys found"; PASS=false; }
2103
+
2104
+ # ── CHANGELOG ─────────────────────────────────────────────────────────────────
2105
+ echo ""
2106
+ echo " ── Documentation ─────────────────────────────────────────────────"
2107
+ head -3 CHANGELOG.md | grep -q "2.0.0" && echo " CHANGELOG has v2.0.0 entry ✅" || { echo " ❌ CHANGELOG missing v2.0.0"; PASS=false; }
2108
+
2109
+ ADRS=$(ls .planning/decisions/ADR-*.md 2>/dev/null | wc -l | tr -d ' ')
2110
+ [ "$ADRS" -ge 41 ] && echo " ADRs: ${ADRS} ✅" || { echo " ❌ ADRs: ${ADRS} (expected ≥41)"; PASS=false; }
2111
+
2112
+ # ── Final verdict ──────────────────────────────────────────────────────────────
2113
+ echo ""
2114
+ echo "══════════════════════════════════════════════════════════════════"
2115
+ if $PASS; then
2116
+ echo " ✅✅✅ ALL CHECKS PASSED — v2.0.0 RELEASE APPROVED ✅✅✅"
2117
+ echo ""
2118
+ echo " Next steps:"
2119
+ echo " git tag -a v2.0.0 -m 'The Autonomous Enterprise'"
2120
+ echo " git push origin v2.0.0"
2121
+ echo " npm publish --access public"
2122
+ else
2123
+ echo " ❌ RELEASE BLOCKED — Fix failures above before releasing v2.0.0"
2124
+ exit 1
2125
+ fi
2126
+ ```
2127
+
2128
+ **Final commit:**
2129
+ ```bash
2130
+ git add .
2131
+ git commit -m "harden(v2-release): final release hardening — backup in migration, ADR-041 contract, test fixes"
2132
+ git push origin feat/mindforge-v2-release
2133
+ ```
2134
+
2135
+ ---
2136
+
2137
+ ## TASK 11 — Create Final v2.0.0 State File
2138
+
2139
+ Create `MINDFORGE-STATE-V2.md` as the authoritative context file for anyone
2140
+ continuing work after v2.0.0 ships:
2141
+
2142
+ ```bash
2143
+ # The state file is the MINDFORGE-STATE-DAY12.md from the previous session,
2144
+ # updated with Day 13 and Day 14 additions.
2145
+ # See MINDFORGE-STATE-DAY12.md for the full day-by-day history.
2146
+ # This brief state file provides the Day 14-onwards quick context.
2147
+ ```
2148
+
2149
+ ```markdown
2150
+ # MINDFORGE-STATE-V2.md
2151
+ # Post-release state for v2.0.0 "The Autonomous Enterprise"
2152
+ # Use this file to start any new work after the v2.0.0 release
2153
+
2154
+ ## Version: 2.0.0 (stable release)
2155
+ ## Branch: main (post-merge)
2156
+
2157
+ ## What was shipped in v2.0.0
2158
+ (see CHANGELOG.md ## [2.0.0] for complete list)
2159
+
2160
+ ## Metrics
2161
+ - Commands: 48 (36 v1.0.0 + 12 v2.0.0)
2162
+ - Test suites: 22
2163
+ - ADRs: 41
2164
+ - Personas: 9
2165
+ - Core skills: 10
2166
+ - Runtimes: 6
2167
+ - Network ports: 3 (7337/7338/7339)
2168
+ - npm: mindforge-cc@2.0.0
2169
+
2170
+ ## Known gaps for v2.1.0
2171
+ 1. SDK TypeScript compilation — sdk/dist/ still not built
2172
+ 2. Windows path handling — not validated on Windows
2173
+ 3. Runtime auto-detection — detect() functions exist but not used in installer
2174
+ 4. Lazy file reading enforcement — still advisory
2175
+ 5. True parallel wave execution in interactive mode — still sequential
2176
+ 6. Dashboard knowledge graph as force-directed graph — still a list view
2177
+ 7. PLAN XML format — should migrate to YAML (MAJOR breaking change, deferred to v3.0.0)
2178
+
2179
+ ## v2.1.0 roadmap candidates
2180
+ - SDK TypeScript build pipeline (npx tsc in sdk/)
2181
+ - Runtime auto-detection in installer (suggest detected runtimes)
2182
+ - Dashboard WebSocket upgrade (vs current SSE for full bidirectional)
2183
+ - Skills: session_quality_lift computation (requires telemetry system)
2184
+ - /mindforge:auto --milestone M across multiple phases
2185
+ - Windows path handling validation and fix
2186
+ ```
2187
+
2188
+ **Commit:**
2189
+ ```bash
2190
+ git add MINDFORGE-STATE-V2.md
2191
+ git commit -m "docs(v2-release): add post-release v2.0.0 state file for continuation"
2192
+ git push origin feat/mindforge-v2-release
2193
+ ```
2194
+
2195
+ ---
2196
+
2197
+ ## DAY 14 COMPLETE — v2.0.0 SHIPPED
2198
+
2199
+ | Component | Status |
2200
+ |---|---|
2201
+ | Multi-runtime (6): Claude, Antigravity, Cursor, OpenCode, Gemini, Copilot | ✅ |
2202
+ | `/mindforge:new-runtime` command (48th command) | ✅ |
2203
+ | v1.0.0→v2.0.0 migration script (additive-only, with backup) | ✅ |
2204
+ | 65-point production checklist (50 + 15 new Section F items) | ✅ |
2205
+ | Complete v2.0.0 CHANGELOG | ✅ |
2206
+ | Full test battery × 3 runs — all 22 suites | ✅ |
2207
+ | `tests/release.test.js` (22nd and final suite) | ✅ |
2208
+ | ADR-039 (6-runtime config), ADR-040 (additive migration), ADR-041 (stable contract) | ✅ |
2209
+ | npm pack simulation — tarball integrity verified | ✅ |
2210
+ | git tag v2.0.0 — "The Autonomous Enterprise" | ✅ |
2211
+ | MINDFORGE-STATE-V2.md — post-release continuation file | ✅ |
2212
+
2213
+ ---
2214
+
2215
+ ## FINAL v2.0.0 METRICS
2216
+
2217
+ | Metric | v1.0.0 | v2.0.0 | Change |
2218
+ |---|---|---|---|
2219
+ | Commands | 36 | 48 | +12 |
2220
+ | Core skills | 10 | 10 + ∞ marketplace | |
2221
+ | Agent personas | 8 | 9 | +1 (research-agent) |
2222
+ | ADRs | 20 | 41 | +21 |
2223
+ | Test suites | 15 | 22 | +7 |
2224
+ | Runtimes | 2 | 6 | +4 |
2225
+ | Network ports | 1 | 3 | +2 |
2226
+ | Binary modules | ~12 | ~40 | +28 |
2227
+ | SDK modules | 5 | 6 (+memory.ts) | +1 |
2228
+ | npm package | mindforge-cc@1.0.0 | mindforge-cc@2.0.0 | |
2229
+
2230
+ ---
2231
+
2232
+ ## THE v2.0.0 COMPETITIVE POSITION
2233
+
2234
+ > **"The only agentic framework that is simultaneously enterprise-grade AND
2235
+ > autonomously capable. Everything else is either enterprise without autonomy,
2236
+ > or autonomous without enterprise."**
2237
+
2238
+ | Capability | MindForge v2 | MindForge v2 | BMAD v6 | Superpowers | gstack |
2239
+ |---|---|---|---|---|---|
2240
+ | Autonomous walk-away mode | ✅✅ | ✅ | ❌ | ❌ | ❌ |
2241
+ | Node repair / stuck recovery | ✅✅ | ✅ | ❌ | ❌ | ❌ |
2242
+ | Persistent browser runtime | ✅✅ | ❌ | ❌ | ❌ | ✅ |
2243
+ | Cross-model code review | ✅✅ | ❌ | ❌ | ❌ | ✅ |
2244
+ | Enterprise governance | ✅✅✅ | ❌ | Partial | ❌ | ❌ |
2245
+ | Persistent long-term memory | ✅✅ | ❌ | ❌ | ❌ | ❌ |
2246
+ | Real-time web dashboard | ✅✅ | ❌ | ❌ | ❌ | Partial |
2247
+ | Self-building skills | ✅✅ | ❌ | ❌ | ✅ | ❌ |
2248
+ | Multi-runtime support | ✅✅ (6) | ✅ (6+) | ✅ (4+) | ✅ (5+) | ✅ (1) |
2249
+ | TypeScript SDK | ✅✅ | ❌ | ❌ | ❌ | ❌ |
2250
+ | Jira/Confluence/Slack | ✅✅ | ❌ | ❌ | ❌ | ❌ |
2251
+
2252
+ **MindForge v2.0.0 — "The Autonomous Enterprise"**
2253
+ **Branch:** `feat/mindforge-v2-release`
2254
+ **Tag:** `v2.0.0`
2255
+ **npm:** `mindforge-cc@2.0.0`