mindforge-cc 8.1.0 → 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 (1007) hide show
  1. package/.claude/CLAUDE.md +4 -3
  2. package/.mindforge/celestial.db +0 -0
  3. package/.mindforge/engine/integrity.json +1 -1
  4. package/.mindforge/governance/policies/sovereign-default.json +1 -1
  5. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/CLAUDE.md +102 -0
  6. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/commands.cjs +959 -0
  7. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/config.cjs +421 -0
  8. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/core.cjs +1166 -0
  9. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/frontmatter.cjs +307 -0
  10. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/init.cjs +1336 -0
  11. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/milestone.cjs +252 -0
  12. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/model-profiles.cjs +68 -0
  13. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/phase.cjs +888 -0
  14. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/profile-output.cjs +952 -0
  15. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/profile-pipeline.cjs +539 -0
  16. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/roadmap.cjs +329 -0
  17. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/security.cjs +356 -0
  18. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/state.cjs +969 -0
  19. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/template.cjs +222 -0
  20. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/uat.cjs +189 -0
  21. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/verify.cjs +851 -0
  22. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/workstream.cjs +491 -0
  23. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/mindforge-tools.cjs +897 -0
  24. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/file-manifest.json +219 -0
  25. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/forge/help.md +11 -0
  26. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/forge/init-project.md +36 -0
  27. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/forge/plan-phase.md +34 -0
  28. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/hooks/mindforge-check-update.js +114 -0
  29. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/hooks/mindforge-context-monitor.js +156 -0
  30. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/hooks/mindforge-prompt-guard.js +96 -0
  31. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/hooks/mindforge-session-init_extended.js +42 -0
  32. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/hooks/mindforge-statusline.js +119 -0
  33. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/hooks/mindforge-workflow-guard.js +94 -0
  34. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/add-backlog.md +32 -0
  35. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/agent.md +31 -0
  36. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/approve.md +22 -0
  37. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/audit.md +34 -0
  38. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/auto.md +26 -0
  39. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/benchmark.md +37 -0
  40. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/browse.md +30 -0
  41. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/complete-milestone.md +22 -0
  42. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/costs.md +15 -0
  43. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/cross-review.md +21 -0
  44. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/dashboard.md +102 -0
  45. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/debug.md +133 -0
  46. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/discuss-phase.md +142 -0
  47. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/do.md +31 -0
  48. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/execute-phase.md +200 -0
  49. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/health.md +31 -0
  50. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/help.md +33 -0
  51. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/init-org.md +135 -0
  52. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/init-project.md +170 -0
  53. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/install-skill.md +28 -0
  54. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/learn.md +147 -0
  55. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/learning.md +20 -0
  56. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/map-codebase.md +302 -0
  57. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/marketplace.md +124 -0
  58. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/metrics.md +26 -0
  59. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/migrate.md +44 -0
  60. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/milestone.md +16 -0
  61. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/new-runtime.md +23 -0
  62. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/next.md +109 -0
  63. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/note.md +35 -0
  64. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/plan-phase.md +131 -0
  65. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/plant-seed.md +31 -0
  66. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/plugins.md +44 -0
  67. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/pr-review.md +45 -0
  68. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/profile-team.md +27 -0
  69. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/publish-skill.md +23 -0
  70. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/qa.md +20 -0
  71. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/quick.md +139 -0
  72. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/record-learning.md +22 -0
  73. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/release.md +14 -0
  74. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/remember.md +30 -0
  75. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/research.md +16 -0
  76. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/retrospective.md +31 -0
  77. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/review-backlog.md +34 -0
  78. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/review.md +161 -0
  79. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/security-scan.md +242 -0
  80. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/session-report.md +39 -0
  81. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/ship.md +111 -0
  82. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/skills.md +145 -0
  83. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/status.md +113 -0
  84. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/steer.md +17 -0
  85. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/sync-confluence.md +15 -0
  86. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/sync-jira.md +16 -0
  87. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/tokens.md +12 -0
  88. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/ui-phase.md +34 -0
  89. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/ui-review.md +36 -0
  90. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/update.md +46 -0
  91. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/validate-phase.md +31 -0
  92. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/verify-phase.md +66 -0
  93. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/workspace.md +33 -0
  94. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/workstreams.md +35 -0
  95. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/settings.json +42 -0
  96. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-add-backlog/SKILL.md +72 -0
  97. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-add-phase/SKILL.md +39 -0
  98. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-add-tests/SKILL.md +28 -0
  99. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-add-todo/SKILL.md +42 -0
  100. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-audit-milestone/SKILL.md +29 -0
  101. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-audit-uat/SKILL.md +20 -0
  102. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-autonomous/SKILL.md +33 -0
  103. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/SKILL.md +164 -0
  104. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/scripts/frame-template.html +214 -0
  105. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/scripts/helper.js +88 -0
  106. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/scripts/server.cjs +354 -0
  107. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/scripts/start-server.sh +148 -0
  108. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/scripts/stop-server.sh +56 -0
  109. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/spec-document-reviewer-prompt.md +49 -0
  110. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/visual-companion.md +287 -0
  111. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-check-todos/SKILL.md +40 -0
  112. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-cleanup/SKILL.md +19 -0
  113. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-complete-milestone/SKILL.md +131 -0
  114. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug/SKILL.md +163 -0
  115. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/CREATION-LOG.md +119 -0
  116. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/SKILL.md +296 -0
  117. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/condition-based-waiting-example.ts +158 -0
  118. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/condition-based-waiting.md +115 -0
  119. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/defense-in-depth.md +122 -0
  120. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/find-polluter.sh +63 -0
  121. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/root-cause-tracing.md +169 -0
  122. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/test-academic.md +14 -0
  123. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/test-pressure-1.md +58 -0
  124. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/test-pressure-2.md +68 -0
  125. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/test-pressure-3.md +69 -0
  126. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-discuss-phase/SKILL.md +54 -0
  127. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-do/SKILL.md +26 -0
  128. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-execute-phase/SKILL.md +49 -0
  129. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-execute-phase_extended/SKILL.md +70 -0
  130. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-fast/SKILL.md +23 -0
  131. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-forensics/SKILL.md +49 -0
  132. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-health/SKILL.md +17 -0
  133. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-help/SKILL.md +23 -0
  134. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-insert-phase/SKILL.md +28 -0
  135. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-join-discord/SKILL.md +19 -0
  136. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-list-phase-assumptions/SKILL.md +41 -0
  137. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-list-workspaces/SKILL.md +17 -0
  138. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-manager/SKILL.md +32 -0
  139. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-map-codebase/SKILL.md +64 -0
  140. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-milestone-summary/SKILL.md +44 -0
  141. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-neural-orchestrator/SKILL.md +115 -0
  142. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-neural-orchestrator/references/codex-tools.md +100 -0
  143. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-neural-orchestrator/references/gemini-tools.md +33 -0
  144. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-new-milestone/SKILL.md +38 -0
  145. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-new-project/SKILL.md +36 -0
  146. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-new-workspace/SKILL.md +39 -0
  147. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-next/SKILL.md +19 -0
  148. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-note/SKILL.md +29 -0
  149. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-parallel-mesh_extended/SKILL.md +182 -0
  150. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-pause-work/SKILL.md +35 -0
  151. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-plan-milestone-gaps/SKILL.md +28 -0
  152. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-plan-phase/SKILL.md +38 -0
  153. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-plan-phase_extended/SKILL.md +152 -0
  154. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-plan-phase_extended/plan-document-reviewer-prompt.md +49 -0
  155. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-plant-seed/SKILL.md +22 -0
  156. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-pr-branch/SKILL.md +21 -0
  157. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-profile-user/SKILL.md +38 -0
  158. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-progress/SKILL.md +19 -0
  159. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-quick/SKILL.md +38 -0
  160. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-reapply-patches/SKILL.md +124 -0
  161. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-remove-phase/SKILL.md +26 -0
  162. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-remove-workspace/SKILL.md +22 -0
  163. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-research-phase/SKILL.md +186 -0
  164. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-resume-work/SKILL.md +35 -0
  165. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-review/SKILL.md +31 -0
  166. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-review-backlog/SKILL.md +58 -0
  167. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-review-inbound/SKILL.md +213 -0
  168. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-review-request/SKILL.md +105 -0
  169. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-review-request/code-reviewer.md +146 -0
  170. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-session-report/SKILL.md +16 -0
  171. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-set-profile/SKILL.md +9 -0
  172. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-settings/SKILL.md +32 -0
  173. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-ship/SKILL.md +16 -0
  174. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-ship_extended/SKILL.md +200 -0
  175. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/SKILL.md +655 -0
  176. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/anthropic-best-practices.md +1150 -0
  177. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/examples/CLAUDE_MD_TESTING.md +189 -0
  178. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/graphviz-conventions.dot +172 -0
  179. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/persuasion-principles.md +187 -0
  180. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/render-graphs.js +168 -0
  181. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/testing-skills-with-subagents.md +384 -0
  182. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-stats/SKILL.md +16 -0
  183. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-swarm-execution/SKILL.md +277 -0
  184. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-swarm-execution/code-quality-reviewer-prompt.md +26 -0
  185. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-swarm-execution/implementer-prompt.md +113 -0
  186. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-swarm-execution/spec-reviewer-prompt.md +61 -0
  187. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-system-architecture/SKILL.md +136 -0
  188. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-system-architecture/examples.md +120 -0
  189. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-system-architecture/scaling-checklist.md +76 -0
  190. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd/SKILL.md +112 -0
  191. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd/deep-modules.md +21 -0
  192. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd/interface-design.md +22 -0
  193. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd/mocking.md +24 -0
  194. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd/refactoring.md +21 -0
  195. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd/tests.md +28 -0
  196. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd_extended/SKILL.md +371 -0
  197. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd_extended/testing-anti-patterns.md +299 -0
  198. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-thread/SKILL.md +123 -0
  199. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-ui-phase/SKILL.md +24 -0
  200. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-ui-review/SKILL.md +24 -0
  201. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-update/SKILL.md +35 -0
  202. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-validate-phase/SKILL.md +26 -0
  203. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-verify-work/SKILL.md +30 -0
  204. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-verify-work_extended/SKILL.md +139 -0
  205. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-workspace-isolated/SKILL.md +218 -0
  206. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-workstreams/SKILL.md +65 -0
  207. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/forge:help.md +10 -0
  208. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/forge:init-project.md +35 -0
  209. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/forge:plan-phase.md +33 -0
  210. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-add-phase.md +112 -0
  211. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-add-tests.md +351 -0
  212. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-add-todo.md +158 -0
  213. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-audit-milestone.md +332 -0
  214. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-audit-uat.md +109 -0
  215. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-autonomous.md +815 -0
  216. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-check-todos.md +177 -0
  217. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-cleanup.md +152 -0
  218. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-complete-milestone.md +766 -0
  219. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-diagnose-issues.md +220 -0
  220. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-discovery-phase.md +289 -0
  221. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-discuss-phase-assumptions.md +645 -0
  222. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-discuss-phase.md +1047 -0
  223. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-do.md +104 -0
  224. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-execute-phase.md +838 -0
  225. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-execute-plan.md +509 -0
  226. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-fast.md +105 -0
  227. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-forensics.md +265 -0
  228. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-health.md +181 -0
  229. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-help.md +606 -0
  230. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-insert-phase.md +130 -0
  231. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-list-phase-assumptions.md +178 -0
  232. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-list-workspaces.md +56 -0
  233. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-manager.md +360 -0
  234. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-map-codebase.md +370 -0
  235. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-milestone-summary.md +223 -0
  236. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-new-milestone.md +469 -0
  237. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-new-project.md +1226 -0
  238. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-new-workspace.md +237 -0
  239. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-next.md +97 -0
  240. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-node-repair.md +92 -0
  241. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-note.md +156 -0
  242. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-pause-work.md +176 -0
  243. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-plan-milestone-gaps.md +273 -0
  244. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-plan-phase.md +877 -0
  245. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-plant-seed.md +169 -0
  246. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-pr-branch.md +129 -0
  247. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-profile-user.md +450 -0
  248. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-progress.md +507 -0
  249. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-quick.md +732 -0
  250. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-remove-phase.md +155 -0
  251. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-remove-workspace.md +90 -0
  252. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-research-phase.md +74 -0
  253. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-resume-project.md +325 -0
  254. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-review.md +228 -0
  255. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-session-report.md +146 -0
  256. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-settings.md +283 -0
  257. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-ship.md +228 -0
  258. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-stats.md +60 -0
  259. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-transition.md +671 -0
  260. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-ui-phase.md +290 -0
  261. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-ui-review.md +157 -0
  262. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-update.md +323 -0
  263. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-validate-phase.md +167 -0
  264. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-verify-phase.md +254 -0
  265. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-verify-work.md +628 -0
  266. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:add-backlog.md +24 -0
  267. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:agent.md +25 -0
  268. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:approve.md +21 -0
  269. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:architecture.md +40 -0
  270. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:audit.md +33 -0
  271. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:auto.md +25 -0
  272. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:benchmark.md +36 -0
  273. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:brainstorming.md +16 -0
  274. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:browse.md +29 -0
  275. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:complete-milestone.md +21 -0
  276. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:costs.md +14 -0
  277. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:cross-review.md +20 -0
  278. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:dashboard.md +101 -0
  279. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:debug.md +131 -0
  280. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:discuss-phase.md +141 -0
  281. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:do.md +25 -0
  282. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:execute-phase.md +205 -0
  283. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:executor.md +18 -0
  284. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:health.md +24 -0
  285. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:help.md +26 -0
  286. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:identity.md +18 -0
  287. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:init-org.md +134 -0
  288. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:init-project.md +185 -0
  289. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:install-skill.md +27 -0
  290. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:learn.md +146 -0
  291. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:map-codebase.md +301 -0
  292. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:marketplace.md +123 -0
  293. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:memory.md +18 -0
  294. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:metrics.md +25 -0
  295. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:migrate.md +43 -0
  296. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:milestone.md +15 -0
  297. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:new-runtime.md +22 -0
  298. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:next.md +108 -0
  299. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:note.md +27 -0
  300. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:plan-phase.md +139 -0
  301. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:planner.md +18 -0
  302. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:plant-seed.md +24 -0
  303. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:plugins.md +43 -0
  304. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:pr-review.md +44 -0
  305. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:profile-team.md +26 -0
  306. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:publish-skill.md +22 -0
  307. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:qa.md +19 -0
  308. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:quick.md +138 -0
  309. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:release.md +13 -0
  310. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:remember.md +29 -0
  311. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:research.md +15 -0
  312. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:researcher.md +18 -0
  313. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:retrospective.md +29 -0
  314. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:review-backlog.md +26 -0
  315. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:review.md +160 -0
  316. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:reviewer.md +18 -0
  317. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:security-scan.md +236 -0
  318. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:session-report.md +31 -0
  319. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:ship.md +108 -0
  320. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:skills.md +144 -0
  321. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:soul.md +54 -0
  322. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:status.md +107 -0
  323. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:steer.md +16 -0
  324. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:sync-confluence.md +14 -0
  325. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:sync-jira.md +15 -0
  326. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:tdd.md +46 -0
  327. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:tokens.md +11 -0
  328. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:tool.md +18 -0
  329. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:ui-phase.md +27 -0
  330. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:ui-review.md +28 -0
  331. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:update.md +45 -0
  332. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:validate-phase.md +25 -0
  333. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:verify-phase.md +65 -0
  334. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:workspace.md +32 -0
  335. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:workstreams.md +27 -0
  336. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/publish-release.md +36 -0
  337. package/.mindforge/mirrors/mirror-sre-776a1cf9/.czrc +3 -0
  338. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/pull_request_template.md +29 -0
  339. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/ai-intelligence.yml +55 -0
  340. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/auto-pr.yml +80 -0
  341. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/control-plane.yml +79 -0
  342. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/execution-plane.yml +52 -0
  343. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/mindforge-ai-review.yml +68 -0
  344. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/mindforge-autonomous.yml +70 -0
  345. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/mindforge-ci.yml +224 -0
  346. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/mindforge-observability.yml +71 -0
  347. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/mindforge-release.yml +55 -0
  348. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/observability-plane.yml +40 -0
  349. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/release-plane.yml +43 -0
  350. package/.mindforge/mirrors/mirror-sre-776a1cf9/.gitlab-ci-mindforge.yml +18 -0
  351. package/.mindforge/mirrors/mirror-sre-776a1cf9/.husky/pre-commit +1 -0
  352. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/MINDFORGE-SCHEMA.json +165 -0
  353. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/MINDFORGE-V2-SCHEMA.json +47 -0
  354. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/audit/AUDIT-SCHEMA.md +470 -0
  355. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/browser/daemon-protocol.md +24 -0
  356. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/browser/qa-engine.md +16 -0
  357. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/browser/session-manager.md +18 -0
  358. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/browser/visual-verify-spec.md +31 -0
  359. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/bypasses.json +8 -0
  360. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/ci/ci-config-schema.md +21 -0
  361. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/ci/ci-mode.md +179 -0
  362. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/ci/github-actions-adapter.md +224 -0
  363. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/ci/gitlab-ci-adapter.md +31 -0
  364. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/ci/jenkins-adapter.md +44 -0
  365. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/config.json +66 -0
  366. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/dashboard/api-reference.md +122 -0
  367. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/dashboard/dashboard-spec.md +96 -0
  368. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/distribution/marketplace.md +53 -0
  369. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/distribution/registry-client.md +166 -0
  370. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/distribution/registry-schema.md +96 -0
  371. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/distribution/skill-publisher.md +44 -0
  372. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/distribution/skill-validator.md +74 -0
  373. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/ads-protocol.md +54 -0
  374. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/autonomous/auto-executor.md +266 -0
  375. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/autonomous/headless-adapter.md +66 -0
  376. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/autonomous/node-repair.md +190 -0
  377. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/autonomous/progress-reporter.md +58 -0
  378. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/autonomous/steering-manager.md +64 -0
  379. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/autonomous/stuck-detector.md +89 -0
  380. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/compaction-protocol.md +167 -0
  381. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/context-injector.md +154 -0
  382. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/dependency-parser.md +113 -0
  383. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/integrity.json +12 -0
  384. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/knowledge-graph-protocol.md +125 -0
  385. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/nexus-tracer.js +11 -0
  386. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/persona-factory.md +45 -0
  387. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/shard-controller.md +53 -0
  388. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/skills/conflict-resolver.md +69 -0
  389. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/skills/loader.md +184 -0
  390. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/skills/registry.md +98 -0
  391. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/skills/versioning.md +75 -0
  392. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/swarm-controller.md +59 -0
  393. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/temporal-protocol.md +40 -0
  394. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/verification-pipeline.md +111 -0
  395. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/wave-executor.md +285 -0
  396. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/governance/GOVERNANCE-CONFIG.md +17 -0
  397. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/governance/approval-workflow.md +37 -0
  398. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/governance/change-classifier.md +63 -0
  399. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/governance/compliance-gates.md +31 -0
  400. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/governance/policies/sovereign-default.json +16 -0
  401. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/integrations/confluence.md +27 -0
  402. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/integrations/connection-manager.md +163 -0
  403. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/integrations/github.md +25 -0
  404. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/integrations/gitlab.md +13 -0
  405. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/integrations/jira.md +102 -0
  406. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/integrations/slack.md +41 -0
  407. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/intelligence/antipattern-detector.md +75 -0
  408. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/intelligence/difficulty-scorer.md +55 -0
  409. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/intelligence/health-engine.md +208 -0
  410. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/intelligence/skill-gap-analyser.md +40 -0
  411. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/intelligence/smart-compaction.md +71 -0
  412. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/memory/MEMORY-SCHEMA.md +155 -0
  413. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/memory/engine/capture-protocol.md +36 -0
  414. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/memory/engine/global-sync-spec.md +42 -0
  415. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/memory/engine/retrieval-spec.md +44 -0
  416. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/metrics/METRICS-SCHEMA.md +42 -0
  417. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/metrics/quality-tracker.md +32 -0
  418. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/models/model-registry.md +48 -0
  419. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/models/model-router.md +30 -0
  420. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/monorepo/cross-package-planner.md +114 -0
  421. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/monorepo/dependency-graph-builder.md +32 -0
  422. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/monorepo/workspace-detector.md +129 -0
  423. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/org/CONVENTIONS.md +62 -0
  424. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/org/ORG.md +51 -0
  425. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/org/SECURITY.md +50 -0
  426. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/org/TOOLS.md +53 -0
  427. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/org/integrations/INTEGRATIONS-CONFIG.md +58 -0
  428. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/org/skills/MANIFEST.md +15 -0
  429. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/advisor-researcher.md +89 -0
  430. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/analyst.md +112 -0
  431. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/architect.md +108 -0
  432. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/assumptions-analyzer-extend.md +87 -0
  433. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/assumptions-analyzer.md +109 -0
  434. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/codebase-mapper-extend.md +93 -0
  435. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/codebase-mapper.md +770 -0
  436. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/coverage-specialist.md +104 -0
  437. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/debug-specialist.md +118 -0
  438. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/debugger.md +97 -0
  439. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/decision-architect.md +102 -0
  440. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/developer.md +97 -0
  441. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/executor.md +88 -0
  442. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/integration-checker.md +92 -0
  443. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/mf-executor.md +40 -0
  444. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/mf-memory.md +33 -0
  445. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/mf-planner.md +45 -0
  446. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/mf-researcher.md +39 -0
  447. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/mf-reviewer.md +35 -0
  448. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/mf-tool.md +33 -0
  449. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/nyquist-auditor.md +84 -0
  450. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/overrides/README.md +85 -0
  451. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/phase-researcher.md +107 -0
  452. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/plan-checker.md +92 -0
  453. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/planner.md +105 -0
  454. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/project-researcher.md +99 -0
  455. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/qa-engineer.md +113 -0
  456. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/release-manager.md +114 -0
  457. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/research-agent.md +109 -0
  458. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/research-synthesizer.md +101 -0
  459. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/roadmapper-extend.md +100 -0
  460. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/roadmapper.md +103 -0
  461. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/security-reviewer.md +114 -0
  462. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/swarm-templates.json +118 -0
  463. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/tech-writer.md +118 -0
  464. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/ui-auditor.md +94 -0
  465. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/ui-checker.md +89 -0
  466. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/ui-researcher.md +99 -0
  467. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/user-profiler.md +93 -0
  468. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/verifier.md +101 -0
  469. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/plugins/PLUGINS-MANIFEST.md +23 -0
  470. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/plugins/plugin-loader.md +93 -0
  471. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/plugins/plugin-registry.md +44 -0
  472. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/plugins/plugin-schema.md +68 -0
  473. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/pr-review/ai-reviewer.md +266 -0
  474. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/pr-review/finding-formatter.md +46 -0
  475. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/pr-review/review-prompt-templates.md +44 -0
  476. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/production/compatibility-layer.md +39 -0
  477. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/production/migration-engine.md +52 -0
  478. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/production/production-checklist.md +76 -0
  479. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/production/token-optimiser.md +68 -0
  480. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/remediation-queue.json +47 -0
  481. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/accessibility/SKILL.md +106 -0
  482. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/api-design/SKILL.md +98 -0
  483. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/code-quality/SKILL.md +88 -0
  484. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/data-privacy/SKILL.md +126 -0
  485. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/database-patterns/SKILL.md +192 -0
  486. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/documentation/SKILL.md +91 -0
  487. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/incident-response/SKILL.md +180 -0
  488. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/performance/SKILL.md +120 -0
  489. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/security-review/SKILL.md +83 -0
  490. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/testing-standards/SKILL.md +97 -0
  491. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills-builder/auto-capture-protocol.md +88 -0
  492. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills-builder/learn-protocol.md +161 -0
  493. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills-builder/quality-scoring.md +120 -0
  494. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/team/TEAM-PROFILE.md +42 -0
  495. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/team/multi-handoff.md +23 -0
  496. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/team/profiles/README.md +13 -0
  497. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/team/session-merger.md +18 -0
  498. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/ARCHITECTURE.md +0 -0
  499. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/AUDIT.jsonl +45 -0
  500. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/HANDOFF.json +8 -0
  501. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/PROJECT.md +33 -0
  502. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/RELEASE-CHECKLIST.md +68 -0
  503. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/REQUIREMENTS.md +23 -0
  504. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/ROADMAP.md +12 -0
  505. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/ROI.jsonl +2 -0
  506. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/STATE.md +31 -0
  507. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/approvals/.gitkeep +1 -0
  508. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/.gitkeep +1 -0
  509. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/org/CONVENTIONS.md +0 -0
  510. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/org/ORG.md +0 -0
  511. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/org/SECURITY.md +0 -0
  512. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/org/TOOLS.md +0 -0
  513. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/analyst.md +0 -0
  514. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/architect.md +0 -0
  515. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/debug-specialist.md +0 -0
  516. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/developer.md +26 -0
  517. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/qa-engineer.md +0 -0
  518. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/release-manager.md +0 -0
  519. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/security-reviewer.md +33 -0
  520. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/tech-writer.md +0 -0
  521. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/skills/api-design/SKILL.md +0 -0
  522. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/skills/code-quality/SKILL.md +0 -0
  523. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/skills/documentation/SKILL.md +0 -0
  524. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/skills/security-review/SKILL.md +23 -0
  525. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/skills/testing-standards/SKILL.md +27 -0
  526. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/ARCHITECTURE-AUDIT-REPORT.md +90 -0
  527. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/LOGS-BENCHMARKING.md +172 -0
  528. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/ROADMAP_V8.md +49 -0
  529. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/github-actions-logs.md +88 -0
  530. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-1-imp/DAY1-HARDEN.md +823 -0
  531. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-1-imp/DAY1-IMPLEMENT.md +2459 -0
  532. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-1-imp/DAY1-REVIEW.md +288 -0
  533. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-2-imp/DAY2-HARDEN.md +954 -0
  534. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-2-imp/DAY2-IMPLEMENT.md +2347 -0
  535. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-2-imp/DAY2-REVIEW.md +422 -0
  536. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-3-imp/DAY3-HARDEN.md +870 -0
  537. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-3-imp/DAY3-IMPLEMENT.md +2798 -0
  538. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-3-imp/DAY3-REVIEW.md +484 -0
  539. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-4-imp/DAY4-HARDEN.md +1087 -0
  540. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-4-imp/DAY4-IMPLEMENT.md +2874 -0
  541. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-4-imp/DAY4-REVIEW.md +386 -0
  542. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-5-imp/DAY5-HARDEN.md +1078 -0
  543. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-5-imp/DAY5-IMPLEMENT.md +3151 -0
  544. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-5-imp/DAY5-REVIEW.md +345 -0
  545. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-6-imp/DAY6-COMPLETE.md +3919 -0
  546. 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
  547. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/ci-actions/github-workflows-v2.md +421 -0
  548. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/ci-actions/v2-ci-actions.md +292 -0
  549. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-10-imp/DAY10-MULTI-MODEL.md +3402 -0
  550. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-11-imp/DAY11-PERSISTENT-MEMORY.md +3237 -0
  551. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-12-imp/DAY12-REALTIME-DASHBOARD.md +3301 -0
  552. 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
  553. 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
  554. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-8-imp/DAY8-AUTONOMOUS-ENGINE.md +3400 -0
  555. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-9-imp/DAY9-BROWSER-RUNTIME.md +3293 -0
  556. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/audit-archive/.gitkeep +1 -0
  557. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/decisions/.gitkeep +0 -0
  558. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/jira-sync.json +5 -0
  559. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/milestones/.gitkeep +1 -0
  560. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/phases/.gitkeep +0 -0
  561. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/research/.gitkeep +0 -0
  562. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/screenshots/.gitkeep +0 -0
  563. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/slack-threads.json +3 -0
  564. package/.mindforge/mirrors/mirror-sre-776a1cf9/AGENTS_LEARNING.md +112 -0
  565. package/.mindforge/mirrors/mirror-sre-776a1cf9/CHANGELOG.md +1116 -0
  566. package/.mindforge/mirrors/mirror-sre-776a1cf9/LICENSE +21 -0
  567. package/.mindforge/mirrors/mirror-sre-776a1cf9/MINDFORGE.md +91 -0
  568. package/.mindforge/mirrors/mirror-sre-776a1cf9/README.md +424 -0
  569. package/.mindforge/mirrors/mirror-sre-776a1cf9/RELEASENOTES.md +199 -0
  570. package/.mindforge/mirrors/mirror-sre-776a1cf9/REPLICATION.json +12 -0
  571. package/.mindforge/mirrors/mirror-sre-776a1cf9/SECURITY.md +4 -0
  572. package/.mindforge/mirrors/mirror-sre-776a1cf9/SOUL.md +52 -0
  573. package/.mindforge/mirrors/mirror-sre-776a1cf9/agents/executor/IDENTITY.md +31 -0
  574. package/.mindforge/mirrors/mirror-sre-776a1cf9/agents/memory/IDENTITY.md +27 -0
  575. package/.mindforge/mirrors/mirror-sre-776a1cf9/agents/planner/IDENTITY.md +35 -0
  576. package/.mindforge/mirrors/mirror-sre-776a1cf9/agents/researcher/IDENTITY.md +29 -0
  577. package/.mindforge/mirrors/mirror-sre-776a1cf9/agents/reviewer/IDENTITY.md +31 -0
  578. package/.mindforge/mirrors/mirror-sre-776a1cf9/agents/tool/IDENTITY.md +27 -0
  579. package/.mindforge/mirrors/mirror-sre-776a1cf9/auto-pr.yml +74 -0
  580. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/auto-runner.js +378 -0
  581. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/context-refactorer.js +64 -0
  582. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/headless.js +36 -0
  583. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/intent-harvester.js +80 -0
  584. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/mesh-self-healer.js +67 -0
  585. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/progress-stream.js +49 -0
  586. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/repair-operator.js +213 -0
  587. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/steer.js +89 -0
  588. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/stuck-monitor.js +120 -0
  589. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/browser-daemon.js +139 -0
  590. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/daemon-manager.js +91 -0
  591. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/qa-engine.js +47 -0
  592. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/qa-report-writer.js +32 -0
  593. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/regression-writer.js +27 -0
  594. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/screenshot-store.js +49 -0
  595. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/session-manager.js +93 -0
  596. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/visual-verify-executor.js +89 -0
  597. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/change-classifier.js +86 -0
  598. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/api-router.js +198 -0
  599. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/approval-handler.js +134 -0
  600. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/frontend/index.html +751 -0
  601. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/metrics-aggregator.js +296 -0
  602. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/revops-api.js +47 -0
  603. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/server.js +138 -0
  604. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/sse-bridge.js +178 -0
  605. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/team-tracker.js +0 -0
  606. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/temporal-api.js +82 -0
  607. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/context-entropy-guard.js +94 -0
  608. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/feedback-loop.js +106 -0
  609. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/handover-manager.js +71 -0
  610. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/intelligence-interlock.js +39 -0
  611. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/learning-manager.js +181 -0
  612. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/logic-drift-detector.js +100 -0
  613. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/logic-validator.js +74 -0
  614. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/mesh-syncer.js +129 -0
  615. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/nexus-tracer.js +356 -0
  616. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/orbital-guardian.js +84 -0
  617. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/reason-source-aligner.js +111 -0
  618. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/remediation-engine.js +81 -0
  619. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/self-corrective-synthesizer.js +65 -0
  620. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/skill-evolver.js +105 -0
  621. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/sre-manager.js +117 -0
  622. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/temporal-cli.js +52 -0
  623. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/temporal-hindsight.js +115 -0
  624. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/temporal-hub.js +138 -0
  625. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/test-ceg.js +59 -0
  626. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/test-interlock.js +40 -0
  627. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/test-remediation.js +61 -0
  628. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/test-rsa.js +64 -0
  629. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/test-scs.js +57 -0
  630. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/test-v7-blueprint.js +44 -0
  631. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/gov-audit.js +38 -0
  632. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/approve.js +60 -0
  633. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/config-manager.js +85 -0
  634. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/impact-analyzer.js +141 -0
  635. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/policies/critical-data.json +1 -0
  636. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/policies/default-policies.jsonl +33 -0
  637. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/policy-engine.js +210 -0
  638. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/policy-gate-hardened.js +59 -0
  639. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/quantum-crypto.js +111 -0
  640. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/rbac-manager.js +109 -0
  641. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/test-config.js +40 -0
  642. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/test-crypto-pluggable.js +50 -0
  643. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/test-hardened-gate.js +71 -0
  644. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/trust-verifier.js +81 -0
  645. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/ztai-archiver.js +104 -0
  646. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/ztai-manager.js +239 -0
  647. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/hindsight-injector.js +59 -0
  648. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/install.js +129 -0
  649. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/installer-core.js +805 -0
  650. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/auto-shadow.js +274 -0
  651. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/cli.js +99 -0
  652. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/eis-client.js +95 -0
  653. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/embedding-engine.js +326 -0
  654. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/federated-sync.js +293 -0
  655. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/ghost-pattern-detector.js +69 -0
  656. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/global-sync.js +107 -0
  657. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/identity-synthesizer.js +146 -0
  658. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/knowledge-capture.js +442 -0
  659. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/knowledge-graph.js +609 -0
  660. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/knowledge-indexer.js +172 -0
  661. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/knowledge-store.js +337 -0
  662. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/pillar-health-tracker.js +63 -0
  663. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/semantic-hub.js +211 -0
  664. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/session-memory-loader.js +137 -0
  665. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/vector-hub.js +170 -0
  666. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/0.1.0-to-0.5.0.js +36 -0
  667. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/0.5.0-to-0.6.0.js +17 -0
  668. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/0.6.0-to-1.0.0.js +100 -0
  669. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/1.0.0-to-2.0.0.js +115 -0
  670. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/migrate.js +155 -0
  671. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/schema-versions.js +76 -0
  672. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/v8-sqlite-migration.js +85 -0
  673. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/mindforge-cc.sh +5 -0
  674. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/mindforge-cli.js +180 -0
  675. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/anthropic-provider.js +77 -0
  676. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/cloud-broker.js +161 -0
  677. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/cost-tracker.js +118 -0
  678. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/finops-hub.js +79 -0
  679. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/gemini-provider.js +79 -0
  680. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/model-broker.js +129 -0
  681. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/model-client.js +98 -0
  682. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/model-router.js +112 -0
  683. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/openai-provider.js +78 -0
  684. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/performance-stats.json +22 -0
  685. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/research/research-engine.js +115 -0
  686. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/review/ads-engine.js +126 -0
  687. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/review/ads-synthesizer.js +117 -0
  688. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/review/cross-review-engine.js +92 -0
  689. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/review/finding-synthesizer.js +116 -0
  690. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/review/review-report-writer.js +49 -0
  691. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/revops/debt-monitor.js +60 -0
  692. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/revops/market-evaluator.js +73 -0
  693. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/revops/remediation-queue.js +107 -0
  694. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/revops/roi-engine.js +65 -0
  695. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/revops/router-steering-v2.js +73 -0
  696. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/revops/velocity-forecaster.js +59 -0
  697. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/shard-helper.js +134 -0
  698. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skill-registry.js +232 -0
  699. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skill-validator.js +211 -0
  700. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/learn-cli.js +57 -0
  701. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/marketplace-cli.js +54 -0
  702. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/marketplace-client.js +198 -0
  703. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/pattern-detector.js +144 -0
  704. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/skill-generator.js +258 -0
  705. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/skill-registrar.js +107 -0
  706. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/skill-scorer.js +263 -0
  707. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/source-loader.js +268 -0
  708. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/spawn-agent.js +61 -0
  709. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/updater/changelog-fetcher.js +62 -0
  710. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/updater/self-update.js +169 -0
  711. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/updater/version-comparator.js +68 -0
  712. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/validate-config.js +92 -0
  713. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/wizard/config-generator.js +112 -0
  714. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/wizard/environment-detector.js +83 -0
  715. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/wizard/setup-wizard.js +240 -0
  716. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/wizard/theme.js +184 -0
  717. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/CAPABILITIES-MANIFEST.md +64 -0
  718. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Context/Master-Context.md +694 -0
  719. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/INTELLIGENCE-MESH.md +37 -0
  720. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/MIND-FORGE-REFERENCE-V6.md +96 -0
  721. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/PERSONAS.md +920 -0
  722. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/audit-events.md +59 -0
  723. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/checkpoints.md +778 -0
  724. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/commands.md +107 -0
  725. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/config-reference.md +81 -0
  726. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/continuation-format.md +249 -0
  727. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/decimal-phase-calculation.md +64 -0
  728. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/git-integration.md +295 -0
  729. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/git-planning-commit.md +38 -0
  730. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/model-profile-resolution.md +36 -0
  731. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/model-profiles.md +139 -0
  732. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/phase-argument-parsing.md +61 -0
  733. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/planning-config.md +202 -0
  734. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/questioning.md +162 -0
  735. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/sdk-api.md +53 -0
  736. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/skills-api.md +57 -0
  737. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/tdd.md +263 -0
  738. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/ui-brand.md +160 -0
  739. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/user-profiling.md +681 -0
  740. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/verification-patterns.md +612 -0
  741. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/workstream-flag.md +58 -0
  742. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Agents/CLAUDE-MD.md +122 -0
  743. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Agents/COPILOT-INSTRUCTIONS.md +7 -0
  744. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Agents/DEBUGGER-PROMPT.md +91 -0
  745. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Agents/PLANNER-PROMPT.md +117 -0
  746. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/architecture.md +255 -0
  747. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/concerns.md +310 -0
  748. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/conventions.md +307 -0
  749. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/integrations.md +280 -0
  750. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/stack.md +186 -0
  751. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/structure.md +285 -0
  752. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/testing.md +480 -0
  753. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/CONTINUE-HERE.md +78 -0
  754. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/DISCUSSION-LOG.md +63 -0
  755. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/PHASE-PROMPT.md +610 -0
  756. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/STATE.md +176 -0
  757. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/SUMMARY-COMPLEX.md +59 -0
  758. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/SUMMARY-MINIMAL.md +41 -0
  759. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/SUMMARY-STANDARD.md +48 -0
  760. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/SUMMARY.md +248 -0
  761. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Profile/DEV-PREFERENCES.md +21 -0
  762. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Profile/USER-PROFILE.md +146 -0
  763. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Profile/USER-SETUP.md +311 -0
  764. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/AGENTS_LEARNING.md +88 -0
  765. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/DISCOVERY.md +146 -0
  766. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/MILESTONE-ARCHIVE.md +123 -0
  767. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/MILESTONE.md +115 -0
  768. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/PROJECT.md +206 -0
  769. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/REQUIREMENTS.md +231 -0
  770. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/RETROSPECTIVE.md +54 -0
  771. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/ROADMAP.md +202 -0
  772. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Quality/DEBUG.md +164 -0
  773. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Quality/UAT.md +280 -0
  774. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Quality/UI-SPEC.md +100 -0
  775. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Quality/VALIDATION.md +76 -0
  776. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Quality/VERIFICATION-REPORT.md +322 -0
  777. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Research/ARCHITECTURE.md +204 -0
  778. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Research/FEATURES.md +147 -0
  779. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Research/PITFALLS.md +200 -0
  780. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Research/STACK.md +120 -0
  781. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Research/SUMMARY.md +170 -0
  782. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/System/CONFIG.json +43 -0
  783. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/System/CONTEXT.md +352 -0
  784. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/adr/ADR-024-browser-localhost-only.md +17 -0
  785. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/adr/ADR-025-visual-verify-failure-treatment.md +19 -0
  786. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/adr/ADR-026-session-persistence-security.md +20 -0
  787. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/adr/ADR-042-ads-protocol.md +30 -0
  788. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/NEXUS-DASHBOARD.md +35 -0
  789. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/PAR-ZTS-SURVEY.md +43 -0
  790. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/README.md +78 -0
  791. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/V3-CORE.md +52 -0
  792. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/V4-SWARM-MESH.md +77 -0
  793. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/V5-ENTERPRISE.md +131 -0
  794. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/V6-SOVEREIGN.md +43 -0
  795. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/adr-039-multi-runtime-support.md +20 -0
  796. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/adr-040-additive-schema-migration.md +21 -0
  797. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/adr-041-stable-runtime-interface-contract.md +20 -0
  798. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/decision-records-index.md +29 -0
  799. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/ci-cd-integration.md +30 -0
  800. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/ci-cd.md +92 -0
  801. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/ci-quickstart.md +78 -0
  802. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/commands-reference.md +144 -0
  803. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/commands-skills/DISCOVERED_SKILLS.md +21 -0
  804. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/contributing/CONTRIBUTING.md +38 -0
  805. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/contributing/plugin-authoring.md +50 -0
  806. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/contributing/skill-authoring.md +41 -0
  807. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/enterprise-setup.md +25 -0
  808. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/faq.md +38 -0
  809. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/feature-dashboard.md +63 -0
  810. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/getting-started.md +44 -0
  811. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/governance-guide.md +99 -0
  812. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/monorepo-guide.md +26 -0
  813. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/persona-customisation.md +56 -0
  814. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/publishing-guide.md +43 -0
  815. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/quick-verify.md +33 -0
  816. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/AGENTS.md +37 -0
  817. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/COMMANDS.md +87 -0
  818. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/HOOKS.md +38 -0
  819. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/PERSONAS.md +64 -0
  820. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/README.md +27 -0
  821. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/SKILLS.md +142 -0
  822. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/WORKFLOWS.md +72 -0
  823. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/release-checklist-guide.md +37 -0
  824. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/requirements.md +29 -0
  825. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/sdk-reference.md +27 -0
  826. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/security/SECURITY.md +55 -0
  827. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/security/ZTAI-OVERVIEW.md +37 -0
  828. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/security/penetration-test-results.md +31 -0
  829. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/security/threat-model.md +142 -0
  830. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/skills-authoring-guide.md +176 -0
  831. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/skills-publishing-guide.md +22 -0
  832. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/team-setup-guide.md +21 -0
  833. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/testing-current-version.md +130 -0
  834. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/troubleshooting.md +139 -0
  835. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/tutorial.md +162 -0
  836. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/upgrade.md +58 -0
  837. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/user-guide.md +244 -0
  838. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/usp-features.md +102 -0
  839. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/workflow-atlas.md +57 -0
  840. package/.mindforge/mirrors/mirror-sre-776a1cf9/eslint.config.mjs +31 -0
  841. package/.mindforge/mirrors/mirror-sre-776a1cf9/examples/starter-project/.planning/AUDIT.jsonl +1 -0
  842. package/.mindforge/mirrors/mirror-sre-776a1cf9/examples/starter-project/.planning/HANDOFF.json +23 -0
  843. package/.mindforge/mirrors/mirror-sre-776a1cf9/examples/starter-project/.planning/PROJECT.md +27 -0
  844. package/.mindforge/mirrors/mirror-sre-776a1cf9/examples/starter-project/.planning/STATE.md +10 -0
  845. package/.mindforge/mirrors/mirror-sre-776a1cf9/examples/starter-project/MINDFORGE.md +40 -0
  846. package/.mindforge/mirrors/mirror-sre-776a1cf9/examples/starter-project/README.md +14 -0
  847. package/.mindforge/mirrors/mirror-sre-776a1cf9/package-lock.json +3882 -0
  848. package/.mindforge/mirrors/mirror-sre-776a1cf9/package.json +66 -0
  849. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/README.md +69 -0
  850. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/eslint.config.mjs +34 -0
  851. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/package-lock.json +1507 -0
  852. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/package.json +30 -0
  853. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/src/client.ts +133 -0
  854. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/src/commands.ts +63 -0
  855. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/src/events.ts +166 -0
  856. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/src/index.ts +23 -0
  857. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/src/memory.ts +257 -0
  858. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/src/types.ts +87 -0
  859. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/tsconfig.json +13 -0
  860. package/.mindforge/mirrors/mirror-sre-776a1cf9/skills-lock.json +30 -0
  861. package/.mindforge/mirrors/mirror-sre-776a1cf9/test/sovereign-status.test.js +18 -0
  862. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/ads.test.js +121 -0
  863. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/audit.test.js +206 -0
  864. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/autonomous.test.js +53 -0
  865. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/browser.test.js +61 -0
  866. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/ci-mode.test.js +162 -0
  867. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/compaction.test.js +161 -0
  868. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/dashboard.test.js +327 -0
  869. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/distribution.test.js +205 -0
  870. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/e2e.test.js +618 -0
  871. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/entropy-test.js +47 -0
  872. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/feedback-loop.test.js +62 -0
  873. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/governance/test-cadia-optimizer.js +112 -0
  874. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/governance/test-policies/deny-security.json +9 -0
  875. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/governance/test-policies/permit-t2.json +10 -0
  876. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/governance.test.js +130 -0
  877. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/install.test.js +209 -0
  878. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/integrations.test.js +128 -0
  879. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/intelligence.test.js +117 -0
  880. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/knowledge-graph.test.js +593 -0
  881. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/learning-engine.test.js +69 -0
  882. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/mca-routing-test.js +37 -0
  883. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/memory.test.js +166 -0
  884. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/metrics.test.js +96 -0
  885. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/migration.test.js +308 -0
  886. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/model-broker.test.js +55 -0
  887. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/model-routing.test.js +111 -0
  888. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/nexus-tracing.test.js +49 -0
  889. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/production.test.js +416 -0
  890. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/release.test.js +99 -0
  891. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/revops-roi.test.js +52 -0
  892. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/run-nexus-tests.js +84 -0
  893. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/sdk.test.js +200 -0
  894. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/security-audit.test.js +67 -0
  895. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/self-building-skills.test.js +285 -0
  896. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/semantic-hub.test.js +91 -0
  897. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/sharding.test.js +87 -0
  898. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/skills-platform.test.js +389 -0
  899. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/sre-zk-proof-test.js +76 -0
  900. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/swarms.test.md +21 -0
  901. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/temporal-vision.test.js +68 -0
  902. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v7-pillar-integration.test.js +73 -0
  903. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v7-proactive-homing.test.js +53 -0
  904. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v7-sovereign-security.test.js +64 -0
  905. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v8-mesh-sync.test.js +76 -0
  906. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v8-orbital-governance.test.js +74 -0
  907. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v8-persistence.test.js +86 -0
  908. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v8-skill-evolution.test.js +74 -0
  909. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/wave-engine.test.js +336 -0
  910. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/ztai-enterprise.test.js +103 -0
  911. package/.planning/archive/v8-cleanup/.agents/skills/ai-image-generation/SKILL.md +147 -0
  912. package/.planning/archive/v8-cleanup/.agents/skills/ai-video-generation/SKILL.md +185 -0
  913. package/.planning/archive/v8-cleanup/.agents/skills/critique/SKILL.md +201 -0
  914. package/.planning/archive/v8-cleanup/.agents/skills/critique/reference/cognitive-load.md +106 -0
  915. package/.planning/archive/v8-cleanup/.agents/skills/critique/reference/heuristics-scoring.md +234 -0
  916. package/.planning/archive/v8-cleanup/.agents/skills/critique/reference/personas.md +178 -0
  917. package/.planning/archive/v8-cleanup/.agents/skills/elevenlabs-music/SKILL.md +191 -0
  918. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/SKILL.md +659 -0
  919. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/_sync_all.py +414 -0
  920. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/app-interface.csv +31 -0
  921. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/charts.csv +26 -0
  922. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/colors.csv +162 -0
  923. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/design.csv +1776 -0
  924. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/draft.csv +1779 -0
  925. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/google-fonts.csv +1924 -0
  926. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/icons.csv +106 -0
  927. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/landing.csv +35 -0
  928. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/products.csv +162 -0
  929. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  930. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  931. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/styles.csv +85 -0
  932. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/typography.csv +74 -0
  933. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/ui-reasoning.csv +162 -0
  934. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  935. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/scripts/core.py +247 -0
  936. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
  937. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/scripts/search.py +114 -0
  938. package/.planning/archive/v8-cleanup/.forge/org/CONVENTIONS.md +0 -0
  939. package/.planning/archive/v8-cleanup/.forge/org/ORG.md +0 -0
  940. package/.planning/archive/v8-cleanup/.forge/org/SECURITY.md +0 -0
  941. package/.planning/archive/v8-cleanup/.forge/org/TOOLS.md +0 -0
  942. package/.planning/archive/v8-cleanup/.forge/personas/analyst.md +0 -0
  943. package/.planning/archive/v8-cleanup/.forge/personas/architect.md +0 -0
  944. package/.planning/archive/v8-cleanup/.forge/personas/debug-specialist.md +0 -0
  945. package/.planning/archive/v8-cleanup/.forge/personas/developer.md +26 -0
  946. package/.planning/archive/v8-cleanup/.forge/personas/qa-engineer.md +0 -0
  947. package/.planning/archive/v8-cleanup/.forge/personas/release-manager.md +0 -0
  948. package/.planning/archive/v8-cleanup/.forge/personas/security-reviewer.md +33 -0
  949. package/.planning/archive/v8-cleanup/.forge/personas/tech-writer.md +0 -0
  950. package/.planning/archive/v8-cleanup/.forge/skills/api-design/SKILL.md +0 -0
  951. package/.planning/archive/v8-cleanup/.forge/skills/code-quality/SKILL.md +0 -0
  952. package/.planning/archive/v8-cleanup/.forge/skills/documentation/SKILL.md +0 -0
  953. package/.planning/archive/v8-cleanup/.forge/skills/security-review/SKILL.md +23 -0
  954. package/.planning/archive/v8-cleanup/.forge/skills/testing-standards/SKILL.md +27 -0
  955. package/.planning/archive/v8-cleanup/ARCHITECTURE-AUDIT-REPORT.md +90 -0
  956. package/.planning/archive/v8-cleanup/LOGS-BENCHMARKING.md +172 -0
  957. package/.planning/archive/v8-cleanup/MIND-FORGE-V6-ENTERPRISE-PROPOSAL.md +79 -0
  958. package/.planning/archive/v8-cleanup/ROADMAP_V7.md +67 -0
  959. package/.planning/archive/v8-cleanup/ROADMAP_V8.md +49 -0
  960. package/.planning/archive/v8-cleanup/github-actions-logs.md +88 -0
  961. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-1-imp/DAY1-HARDEN.md +823 -0
  962. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-1-imp/DAY1-IMPLEMENT.md +2459 -0
  963. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-1-imp/DAY1-REVIEW.md +288 -0
  964. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-2-imp/DAY2-HARDEN.md +954 -0
  965. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-2-imp/DAY2-IMPLEMENT.md +2347 -0
  966. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-2-imp/DAY2-REVIEW.md +422 -0
  967. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-3-imp/DAY3-HARDEN.md +870 -0
  968. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-3-imp/DAY3-IMPLEMENT.md +2798 -0
  969. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-3-imp/DAY3-REVIEW.md +484 -0
  970. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-4-imp/DAY4-HARDEN.md +1087 -0
  971. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-4-imp/DAY4-IMPLEMENT.md +2874 -0
  972. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-4-imp/DAY4-REVIEW.md +386 -0
  973. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-5-imp/DAY5-HARDEN.md +1078 -0
  974. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-5-imp/DAY5-IMPLEMENT.md +3151 -0
  975. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-5-imp/DAY5-REVIEW.md +345 -0
  976. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-6-imp/DAY6-COMPLETE.md +3919 -0
  977. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-7-imp-prod/DAY7-PRODUCTION-FINAL.md +4513 -0
  978. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/ci-actions/github-workflows-v2.md +421 -0
  979. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/ci-actions/v2-ci-actions.md +292 -0
  980. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-10-imp/DAY10-MULTI-MODEL.md +3402 -0
  981. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-11-imp/DAY11-PERSISTENT-MEMORY.md +3237 -0
  982. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-12-imp/DAY12-REALTIME-DASHBOARD.md +3301 -0
  983. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-13-imp/DAY13-SELF-BUILDING-SKILLS.md +3798 -0
  984. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-14-prod-v2/DAY14-V2-PRODUCTION-RELEASE.md +2255 -0
  985. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-8-imp/DAY8-AUTONOMOUS-ENGINE.md +3400 -0
  986. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-9-imp/DAY9-BROWSER-RUNTIME.md +3293 -0
  987. package/.planning/decisions/SRE-4e54a061.md +19 -0
  988. package/CHANGELOG.md +14 -0
  989. package/MINDFORGE.md +5 -4
  990. package/README.md +12 -3
  991. package/RELEASENOTES.md +17 -0
  992. package/bin/autonomous/auto-runner.js +64 -0
  993. package/bin/engine/learning-manager.js +4 -2
  994. package/bin/governance/impact-analyzer.js +4 -2
  995. package/bin/installer-core.js +18 -2
  996. package/bin/models/model-router.js +3 -1
  997. package/bin/sre/adversarial-sre.js +109 -0
  998. package/bin/sre/sentinel.js +128 -0
  999. package/bin/sre/shadow-mirror.js +122 -0
  1000. package/bin/sre/sli-verifier.js +81 -0
  1001. package/bin/wizard/theme.js +1 -1
  1002. package/docs/Context/Master-Context.md +22 -2
  1003. package/docs/PERSONAS.md +40 -0
  1004. package/docs/architecture/V8-SRE.md +88 -0
  1005. package/docs/commands-skills/DISCOVERED_SKILLS.md +1 -1
  1006. package/docs/governance-guide.md +43 -17
  1007. package/package.json +11 -3
@@ -0,0 +1,1336 @@
1
+ /**
2
+ * Init — Compound init commands for workflow bootstrapping
3
+ */
4
+
5
+ const fs = require('fs');
6
+ const path = require('path');
7
+ const { execSync } = require('child_process');
8
+ const { loadConfig, resolveModelInternal, findPhaseInternal, getRoadmapPhaseInternal, pathExistsInternal, generateSlugInternal, getMilestoneInfo, getMilestonePhaseFilter, stripShippedMilestones, extractCurrentMilestone, normalizePhaseName, planningPaths, planningDir, planningRoot, toPosixPath, output, error } = require('./core.cjs');
9
+
10
+ function getLatestCompletedMilestone(cwd) {
11
+ const milestonesPath = path.join(planningRoot(cwd), 'MILESTONES.md');
12
+ if (!fs.existsSync(milestonesPath)) return null;
13
+
14
+ try {
15
+ const content = fs.readFileSync(milestonesPath, 'utf-8');
16
+ const match = content.match(/^##\s+(v[\d.]+)\s+(.+?)\s+\(Shipped:/m);
17
+ if (!match) return null;
18
+ return {
19
+ version: match[1],
20
+ name: match[2].trim(),
21
+ };
22
+ } catch {
23
+ return null;
24
+ }
25
+ }
26
+
27
+ /**
28
+ * Inject `project_root` into an init result object.
29
+ * Workflows use this to prefix `.planning/` paths correctly when the agent's CWD
30
+ * differs from the project root (e.g., inside a sub-repo).
31
+ */
32
+ function withProjectRoot(cwd, result) {
33
+ result.project_root = cwd;
34
+ return result;
35
+ }
36
+
37
+ function cmdInitExecutePhase(cwd, phase, raw) {
38
+ if (!phase) {
39
+ error('phase required for init execute-phase');
40
+ }
41
+
42
+ const config = loadConfig(cwd);
43
+ let phaseInfo = findPhaseInternal(cwd, phase);
44
+ const milestone = getMilestoneInfo(cwd);
45
+
46
+ const roadmapPhase = getRoadmapPhaseInternal(cwd, phase);
47
+
48
+ // Fallback to ROADMAP.md if no phase directory exists yet
49
+ if (!phaseInfo && roadmapPhase?.found) {
50
+ const phaseName = roadmapPhase.phase_name;
51
+ phaseInfo = {
52
+ found: true,
53
+ directory: null,
54
+ phase_number: roadmapPhase.phase_number,
55
+ phase_name: phaseName,
56
+ phase_slug: phaseName ? phaseName.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-+|-+$/g, '') : null,
57
+ plans: [],
58
+ summaries: [],
59
+ incomplete_plans: [],
60
+ has_research: false,
61
+ has_context: false,
62
+ has_verification: false,
63
+ has_reviews: false,
64
+ };
65
+ }
66
+ const reqMatch = roadmapPhase?.section?.match(/^\*\*Requirements\*\*:[^\S\n]*([^\n]*)$/m);
67
+ const reqExtracted = reqMatch
68
+ ? reqMatch[1].replace(/[\[\]]/g, '').split(',').map(s => s.trim()).filter(Boolean).join(', ')
69
+ : null;
70
+ const phase_req_ids = (reqExtracted && reqExtracted !== 'TBD') ? reqExtracted : null;
71
+
72
+ const result = {
73
+ // Models
74
+ executor_model: resolveModelInternal(cwd, 'mindforge-executor'),
75
+ verifier_model: resolveModelInternal(cwd, 'mindforge-verifier'),
76
+
77
+ // Config flags
78
+ commit_docs: config.commit_docs,
79
+ sub_repos: config.sub_repos,
80
+ parallelization: config.parallelization,
81
+ context_window: config.context_window,
82
+ branching_strategy: config.branching_strategy,
83
+ phase_branch_template: config.phase_branch_template,
84
+ milestone_branch_template: config.milestone_branch_template,
85
+ verifier_enabled: config.verifier,
86
+
87
+ // Phase info
88
+ phase_found: !!phaseInfo,
89
+ phase_dir: phaseInfo?.directory || null,
90
+ phase_number: phaseInfo?.phase_number || null,
91
+ phase_name: phaseInfo?.phase_name || null,
92
+ phase_slug: phaseInfo?.phase_slug || null,
93
+ phase_req_ids,
94
+
95
+ // Plan inventory
96
+ plans: phaseInfo?.plans || [],
97
+ summaries: phaseInfo?.summaries || [],
98
+ incomplete_plans: phaseInfo?.incomplete_plans || [],
99
+ plan_count: phaseInfo?.plans?.length || 0,
100
+ incomplete_count: phaseInfo?.incomplete_plans?.length || 0,
101
+
102
+ // Branch name (pre-computed)
103
+ branch_name: config.branching_strategy === 'phase' && phaseInfo
104
+ ? config.phase_branch_template
105
+ .replace('{phase}', phaseInfo.phase_number)
106
+ .replace('{slug}', phaseInfo.phase_slug || 'phase')
107
+ : config.branching_strategy === 'milestone'
108
+ ? config.milestone_branch_template
109
+ .replace('{milestone}', milestone.version)
110
+ .replace('{slug}', generateSlugInternal(milestone.name) || 'milestone')
111
+ : null,
112
+
113
+ // Milestone info
114
+ milestone_version: milestone.version,
115
+ milestone_name: milestone.name,
116
+ milestone_slug: generateSlugInternal(milestone.name),
117
+
118
+ // File existence
119
+ state_exists: fs.existsSync(path.join(planningDir(cwd), 'STATE.md')),
120
+ roadmap_exists: fs.existsSync(path.join(planningDir(cwd), 'ROADMAP.md')),
121
+ config_exists: fs.existsSync(path.join(planningDir(cwd), 'config.json')),
122
+ // File paths
123
+ state_path: toPosixPath(path.relative(cwd, path.join(planningDir(cwd), 'STATE.md'))),
124
+ roadmap_path: toPosixPath(path.relative(cwd, path.join(planningDir(cwd), 'ROADMAP.md'))),
125
+ config_path: toPosixPath(path.relative(cwd, path.join(planningDir(cwd), 'config.json'))),
126
+ };
127
+
128
+ output(withProjectRoot(cwd, result), raw);
129
+ }
130
+
131
+ function cmdInitPlanPhase(cwd, phase, raw) {
132
+ if (!phase) {
133
+ error('phase required for init plan-phase');
134
+ }
135
+
136
+ const config = loadConfig(cwd);
137
+ let phaseInfo = findPhaseInternal(cwd, phase);
138
+
139
+ const roadmapPhase = getRoadmapPhaseInternal(cwd, phase);
140
+
141
+ // Fallback to ROADMAP.md if no phase directory exists yet
142
+ if (!phaseInfo && roadmapPhase?.found) {
143
+ const phaseName = roadmapPhase.phase_name;
144
+ phaseInfo = {
145
+ found: true,
146
+ directory: null,
147
+ phase_number: roadmapPhase.phase_number,
148
+ phase_name: phaseName,
149
+ phase_slug: phaseName ? phaseName.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-+|-+$/g, '') : null,
150
+ plans: [],
151
+ summaries: [],
152
+ incomplete_plans: [],
153
+ has_research: false,
154
+ has_context: false,
155
+ has_verification: false,
156
+ has_reviews: false,
157
+ };
158
+ }
159
+ const reqMatch = roadmapPhase?.section?.match(/^\*\*Requirements\*\*:[^\S\n]*([^\n]*)$/m);
160
+ const reqExtracted = reqMatch
161
+ ? reqMatch[1].replace(/[\[\]]/g, '').split(',').map(s => s.trim()).filter(Boolean).join(', ')
162
+ : null;
163
+ const phase_req_ids = (reqExtracted && reqExtracted !== 'TBD') ? reqExtracted : null;
164
+
165
+ const result = {
166
+ // Models
167
+ researcher_model: resolveModelInternal(cwd, 'mindforge-phase-researcher'),
168
+ planner_model: resolveModelInternal(cwd, 'mindforge-planner'),
169
+ checker_model: resolveModelInternal(cwd, 'mindforge-plan-checker'),
170
+
171
+ // Workflow flags
172
+ research_enabled: config.research,
173
+ plan_checker_enabled: config.plan_checker,
174
+ nyquist_validation_enabled: config.nyquist_validation,
175
+ commit_docs: config.commit_docs,
176
+ text_mode: config.text_mode,
177
+
178
+ // Phase info
179
+ phase_found: !!phaseInfo,
180
+ phase_dir: phaseInfo?.directory || null,
181
+ phase_number: phaseInfo?.phase_number || null,
182
+ phase_name: phaseInfo?.phase_name || null,
183
+ phase_slug: phaseInfo?.phase_slug || null,
184
+ padded_phase: phaseInfo?.phase_number ? normalizePhaseName(phaseInfo.phase_number) : null,
185
+ phase_req_ids,
186
+
187
+ // Existing artifacts
188
+ has_research: phaseInfo?.has_research || false,
189
+ has_context: phaseInfo?.has_context || false,
190
+ has_reviews: phaseInfo?.has_reviews || false,
191
+ has_plans: (phaseInfo?.plans?.length || 0) > 0,
192
+ plan_count: phaseInfo?.plans?.length || 0,
193
+
194
+ // Environment
195
+ planning_exists: fs.existsSync(planningDir(cwd)),
196
+ roadmap_exists: fs.existsSync(path.join(planningDir(cwd), 'ROADMAP.md')),
197
+
198
+ // File paths
199
+ state_path: toPosixPath(path.relative(cwd, path.join(planningDir(cwd), 'STATE.md'))),
200
+ roadmap_path: toPosixPath(path.relative(cwd, path.join(planningDir(cwd), 'ROADMAP.md'))),
201
+ requirements_path: toPosixPath(path.relative(cwd, path.join(planningDir(cwd), 'REQUIREMENTS.md'))),
202
+ };
203
+
204
+ if (phaseInfo?.directory) {
205
+ // Find *-CONTEXT.md in phase directory
206
+ const phaseDirFull = path.join(cwd, phaseInfo.directory);
207
+ try {
208
+ const files = fs.readdirSync(phaseDirFull);
209
+ const contextFile = files.find(f => f.endsWith('-CONTEXT.md') || f === 'CONTEXT.md');
210
+ if (contextFile) {
211
+ result.context_path = toPosixPath(path.join(phaseInfo.directory, contextFile));
212
+ }
213
+ const researchFile = files.find(f => f.endsWith('-RESEARCH.md') || f === 'RESEARCH.md');
214
+ if (researchFile) {
215
+ result.research_path = toPosixPath(path.join(phaseInfo.directory, researchFile));
216
+ }
217
+ const verificationFile = files.find(f => f.endsWith('-VERIFICATION.md') || f === 'VERIFICATION.md');
218
+ if (verificationFile) {
219
+ result.verification_path = toPosixPath(path.join(phaseInfo.directory, verificationFile));
220
+ }
221
+ const uatFile = files.find(f => f.endsWith('-UAT.md') || f === 'UAT.md');
222
+ if (uatFile) {
223
+ result.uat_path = toPosixPath(path.join(phaseInfo.directory, uatFile));
224
+ }
225
+ const reviewsFile = files.find(f => f.endsWith('-REVIEWS.md') || f === 'REVIEWS.md');
226
+ if (reviewsFile) {
227
+ result.reviews_path = toPosixPath(path.join(phaseInfo.directory, reviewsFile));
228
+ }
229
+ } catch { /* intentionally empty */ }
230
+ }
231
+
232
+ output(withProjectRoot(cwd, result), raw);
233
+ }
234
+
235
+ function cmdInitNewProject(cwd, raw) {
236
+ const config = loadConfig(cwd);
237
+
238
+ // Detect Brave Search API key availability
239
+ const homedir = require('os').homedir();
240
+ const braveKeyFile = path.join(homedir, '.mindforge', 'brave_api_key');
241
+ const hasBraveSearch = !!(process.env.BRAVE_API_KEY || fs.existsSync(braveKeyFile));
242
+
243
+ // Detect Firecrawl API key availability
244
+ const firecrawlKeyFile = path.join(homedir, '.mindforge', 'firecrawl_api_key');
245
+ const hasFirecrawl = !!(process.env.FIRECRAWL_API_KEY || fs.existsSync(firecrawlKeyFile));
246
+
247
+ // Detect Exa API key availability
248
+ const exaKeyFile = path.join(homedir, '.mindforge', 'exa_api_key');
249
+ const hasExaSearch = !!(process.env.EXA_API_KEY || fs.existsSync(exaKeyFile));
250
+
251
+ // Detect existing code (cross-platform — no Unix `find` dependency)
252
+ let hasCode = false;
253
+ let hasPackageFile = false;
254
+ try {
255
+ const codeExtensions = new Set(['.ts', '.js', '.py', '.go', '.rs', '.swift', '.java']);
256
+ const skipDirs = new Set(['node_modules', '.git', '.planning', '.claude', '__pycache__', 'target', 'dist', 'build']);
257
+ function findCodeFiles(dir, depth) {
258
+ if (depth > 3) return false;
259
+ let entries;
260
+ try { entries = fs.readdirSync(dir, { withFileTypes: true }); } catch { return false; }
261
+ for (const entry of entries) {
262
+ if (entry.isFile() && codeExtensions.has(path.extname(entry.name))) return true;
263
+ if (entry.isDirectory() && !skipDirs.has(entry.name)) {
264
+ if (findCodeFiles(path.join(dir, entry.name), depth + 1)) return true;
265
+ }
266
+ }
267
+ return false;
268
+ }
269
+ hasCode = findCodeFiles(cwd, 0);
270
+ } catch { /* intentionally empty — best-effort detection */ }
271
+
272
+ hasPackageFile = pathExistsInternal(cwd, 'package.json') ||
273
+ pathExistsInternal(cwd, 'requirements.txt') ||
274
+ pathExistsInternal(cwd, 'Cargo.toml') ||
275
+ pathExistsInternal(cwd, 'go.mod') ||
276
+ pathExistsInternal(cwd, 'Package.swift');
277
+
278
+ const result = {
279
+ // Models
280
+ researcher_model: resolveModelInternal(cwd, 'mindforge-project-researcher'),
281
+ synthesizer_model: resolveModelInternal(cwd, 'mindforge-research-synthesizer'),
282
+ roadmapper_model: resolveModelInternal(cwd, 'mindforge-roadmapper'),
283
+
284
+ // Config
285
+ commit_docs: config.commit_docs,
286
+
287
+ // Existing state
288
+ project_exists: pathExistsInternal(cwd, '.planning/PROJECT.md'),
289
+ has_codebase_map: pathExistsInternal(cwd, '.planning/codebase'),
290
+ planning_exists: pathExistsInternal(cwd, '.planning'),
291
+
292
+ // Brownfield detection
293
+ has_existing_code: hasCode,
294
+ has_package_file: hasPackageFile,
295
+ is_brownfield: hasCode || hasPackageFile,
296
+ needs_codebase_map: (hasCode || hasPackageFile) && !pathExistsInternal(cwd, '.planning/codebase'),
297
+
298
+ // Git state
299
+ has_git: pathExistsInternal(cwd, '.git'),
300
+
301
+ // Enhanced search
302
+ brave_search_available: hasBraveSearch,
303
+ firecrawl_available: hasFirecrawl,
304
+ exa_search_available: hasExaSearch,
305
+
306
+ // File paths
307
+ project_path: '.planning/PROJECT.md',
308
+ };
309
+
310
+ output(withProjectRoot(cwd, result), raw);
311
+ }
312
+
313
+ function cmdInitNewMilestone(cwd, raw) {
314
+ const config = loadConfig(cwd);
315
+ const milestone = getMilestoneInfo(cwd);
316
+ const latestCompleted = getLatestCompletedMilestone(cwd);
317
+ const phasesDir = path.join(planningDir(cwd), 'phases');
318
+ let phaseDirCount = 0;
319
+
320
+ try {
321
+ if (fs.existsSync(phasesDir)) {
322
+ phaseDirCount = fs.readdirSync(phasesDir, { withFileTypes: true })
323
+ .filter(entry => entry.isDirectory())
324
+ .length;
325
+ }
326
+ } catch {}
327
+
328
+ const result = {
329
+ // Models
330
+ researcher_model: resolveModelInternal(cwd, 'mindforge-project-researcher'),
331
+ synthesizer_model: resolveModelInternal(cwd, 'mindforge-research-synthesizer'),
332
+ roadmapper_model: resolveModelInternal(cwd, 'mindforge-roadmapper'),
333
+
334
+ // Config
335
+ commit_docs: config.commit_docs,
336
+ research_enabled: config.research,
337
+
338
+ // Current milestone
339
+ current_milestone: milestone.version,
340
+ current_milestone_name: milestone.name,
341
+ latest_completed_milestone: latestCompleted?.version || null,
342
+ latest_completed_milestone_name: latestCompleted?.name || null,
343
+ phase_dir_count: phaseDirCount,
344
+ phase_archive_path: latestCompleted ? toPosixPath(path.relative(cwd, path.join(planningRoot(cwd), 'milestones', `${latestCompleted.version}-phases`))) : null,
345
+
346
+ // File existence
347
+ project_exists: pathExistsInternal(cwd, '.planning/PROJECT.md'),
348
+ roadmap_exists: fs.existsSync(path.join(planningDir(cwd), 'ROADMAP.md')),
349
+ state_exists: fs.existsSync(path.join(planningDir(cwd), 'STATE.md')),
350
+
351
+ // File paths
352
+ project_path: '.planning/PROJECT.md',
353
+ roadmap_path: toPosixPath(path.relative(cwd, path.join(planningDir(cwd), 'ROADMAP.md'))),
354
+ state_path: toPosixPath(path.relative(cwd, path.join(planningDir(cwd), 'STATE.md'))),
355
+ };
356
+
357
+ output(withProjectRoot(cwd, result), raw);
358
+ }
359
+
360
+ function cmdInitQuick(cwd, description, raw) {
361
+ const config = loadConfig(cwd);
362
+ const now = new Date();
363
+ const slug = description ? generateSlugInternal(description)?.substring(0, 40) : null;
364
+
365
+ // Generate collision-resistant quick task ID: YYMMDD-xxx
366
+ // xxx = 2-second precision blocks since midnight, encoded as 3-char Base36 (lowercase)
367
+ // Range: 000 (00:00:00) to xbz (23:59:58), guaranteed 3 chars for any time of day.
368
+ // Provides ~2s uniqueness window per user — practically collision-free across a team.
369
+ const yy = String(now.getFullYear()).slice(-2);
370
+ const mm = String(now.getMonth() + 1).padStart(2, '0');
371
+ const dd = String(now.getDate()).padStart(2, '0');
372
+ const dateStr = yy + mm + dd;
373
+ const secondsSinceMidnight = now.getHours() * 3600 + now.getMinutes() * 60 + now.getSeconds();
374
+ const timeBlocks = Math.floor(secondsSinceMidnight / 2);
375
+ const timeEncoded = timeBlocks.toString(36).padStart(3, '0');
376
+ const quickId = dateStr + '-' + timeEncoded;
377
+ const branchSlug = slug || 'quick';
378
+ const quickBranchName = config.quick_branch_template
379
+ ? config.quick_branch_template
380
+ .replace('{num}', quickId)
381
+ .replace('{quick}', quickId)
382
+ .replace('{slug}', branchSlug)
383
+ : null;
384
+
385
+ const result = {
386
+ // Models
387
+ planner_model: resolveModelInternal(cwd, 'mindforge-planner'),
388
+ executor_model: resolveModelInternal(cwd, 'mindforge-executor'),
389
+ checker_model: resolveModelInternal(cwd, 'mindforge-plan-checker'),
390
+ verifier_model: resolveModelInternal(cwd, 'mindforge-verifier'),
391
+
392
+ // Config
393
+ commit_docs: config.commit_docs,
394
+ branch_name: quickBranchName,
395
+
396
+ // Quick task info
397
+ quick_id: quickId,
398
+ slug: slug,
399
+ description: description || null,
400
+
401
+ // Timestamps
402
+ date: now.toISOString().split('T')[0],
403
+ timestamp: now.toISOString(),
404
+
405
+ // Paths
406
+ quick_dir: '.planning/quick',
407
+ task_dir: slug ? `.planning/quick/${quickId}-${slug}` : null,
408
+
409
+ // File existence
410
+ roadmap_exists: fs.existsSync(path.join(planningDir(cwd), 'ROADMAP.md')),
411
+ planning_exists: fs.existsSync(planningRoot(cwd)),
412
+
413
+ };
414
+
415
+ output(withProjectRoot(cwd, result), raw);
416
+ }
417
+
418
+ function cmdInitResume(cwd, raw) {
419
+ const config = loadConfig(cwd);
420
+
421
+ // Check for interrupted agent
422
+ let interruptedAgentId = null;
423
+ try {
424
+ interruptedAgentId = fs.readFileSync(path.join(planningRoot(cwd), 'current-agent-id.txt'), 'utf-8').trim();
425
+ } catch { /* intentionally empty */ }
426
+
427
+ const result = {
428
+ // File existence
429
+ state_exists: fs.existsSync(path.join(planningDir(cwd), 'STATE.md')),
430
+ roadmap_exists: fs.existsSync(path.join(planningDir(cwd), 'ROADMAP.md')),
431
+ project_exists: pathExistsInternal(cwd, '.planning/PROJECT.md'),
432
+ planning_exists: fs.existsSync(planningRoot(cwd)),
433
+
434
+ // File paths
435
+ state_path: toPosixPath(path.relative(cwd, path.join(planningDir(cwd), 'STATE.md'))),
436
+ roadmap_path: toPosixPath(path.relative(cwd, path.join(planningDir(cwd), 'ROADMAP.md'))),
437
+ project_path: '.planning/PROJECT.md',
438
+
439
+ // Agent state
440
+ has_interrupted_agent: !!interruptedAgentId,
441
+ interrupted_agent_id: interruptedAgentId,
442
+
443
+ // Config
444
+ commit_docs: config.commit_docs,
445
+ };
446
+
447
+ output(withProjectRoot(cwd, result), raw);
448
+ }
449
+
450
+ function cmdInitVerifyWork(cwd, phase, raw) {
451
+ if (!phase) {
452
+ error('phase required for init verify-work');
453
+ }
454
+
455
+ const config = loadConfig(cwd);
456
+ let phaseInfo = findPhaseInternal(cwd, phase);
457
+
458
+ // Fallback to ROADMAP.md if no phase directory exists yet
459
+ if (!phaseInfo) {
460
+ const roadmapPhase = getRoadmapPhaseInternal(cwd, phase);
461
+ if (roadmapPhase?.found) {
462
+ const phaseName = roadmapPhase.phase_name;
463
+ phaseInfo = {
464
+ found: true,
465
+ directory: null,
466
+ phase_number: roadmapPhase.phase_number,
467
+ phase_name: phaseName,
468
+ phase_slug: phaseName ? phaseName.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-+|-+$/g, '') : null,
469
+ plans: [],
470
+ summaries: [],
471
+ incomplete_plans: [],
472
+ has_research: false,
473
+ has_context: false,
474
+ has_verification: false,
475
+ };
476
+ }
477
+ }
478
+
479
+ const result = {
480
+ // Models
481
+ planner_model: resolveModelInternal(cwd, 'mindforge-planner'),
482
+ checker_model: resolveModelInternal(cwd, 'mindforge-plan-checker'),
483
+
484
+ // Config
485
+ commit_docs: config.commit_docs,
486
+
487
+ // Phase info
488
+ phase_found: !!phaseInfo,
489
+ phase_dir: phaseInfo?.directory || null,
490
+ phase_number: phaseInfo?.phase_number || null,
491
+ phase_name: phaseInfo?.phase_name || null,
492
+
493
+ // Existing artifacts
494
+ has_verification: phaseInfo?.has_verification || false,
495
+ };
496
+
497
+ output(withProjectRoot(cwd, result), raw);
498
+ }
499
+
500
+ function cmdInitPhaseOp(cwd, phase, raw) {
501
+ const config = loadConfig(cwd);
502
+ let phaseInfo = findPhaseInternal(cwd, phase);
503
+
504
+ // If the only disk match comes from an archived milestone, prefer the
505
+ // current milestone's ROADMAP entry so discuss-phase and similar flows
506
+ // don't attach to shipped work that reused the same phase number.
507
+ if (phaseInfo?.archived) {
508
+ const roadmapPhase = getRoadmapPhaseInternal(cwd, phase);
509
+ if (roadmapPhase?.found) {
510
+ const phaseName = roadmapPhase.phase_name;
511
+ phaseInfo = {
512
+ found: true,
513
+ directory: null,
514
+ phase_number: roadmapPhase.phase_number,
515
+ phase_name: phaseName,
516
+ phase_slug: phaseName ? phaseName.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-+|-+$/g, '') : null,
517
+ plans: [],
518
+ summaries: [],
519
+ incomplete_plans: [],
520
+ has_research: false,
521
+ has_context: false,
522
+ has_verification: false,
523
+ };
524
+ }
525
+ }
526
+
527
+ // Fallback to ROADMAP.md if no directory exists (e.g., Plans: TBD)
528
+ if (!phaseInfo) {
529
+ const roadmapPhase = getRoadmapPhaseInternal(cwd, phase);
530
+ if (roadmapPhase?.found) {
531
+ const phaseName = roadmapPhase.phase_name;
532
+ phaseInfo = {
533
+ found: true,
534
+ directory: null,
535
+ phase_number: roadmapPhase.phase_number,
536
+ phase_name: phaseName,
537
+ phase_slug: phaseName ? phaseName.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-+|-+$/g, '') : null,
538
+ plans: [],
539
+ summaries: [],
540
+ incomplete_plans: [],
541
+ has_research: false,
542
+ has_context: false,
543
+ has_verification: false,
544
+ };
545
+ }
546
+ }
547
+
548
+ const result = {
549
+ // Config
550
+ commit_docs: config.commit_docs,
551
+ brave_search: config.brave_search,
552
+ firecrawl: config.firecrawl,
553
+ exa_search: config.exa_search,
554
+
555
+ // Phase info
556
+ phase_found: !!phaseInfo,
557
+ phase_dir: phaseInfo?.directory || null,
558
+ phase_number: phaseInfo?.phase_number || null,
559
+ phase_name: phaseInfo?.phase_name || null,
560
+ phase_slug: phaseInfo?.phase_slug || null,
561
+ padded_phase: phaseInfo?.phase_number ? normalizePhaseName(phaseInfo.phase_number) : null,
562
+
563
+ // Existing artifacts
564
+ has_research: phaseInfo?.has_research || false,
565
+ has_context: phaseInfo?.has_context || false,
566
+ has_plans: (phaseInfo?.plans?.length || 0) > 0,
567
+ has_verification: phaseInfo?.has_verification || false,
568
+ has_reviews: phaseInfo?.has_reviews || false,
569
+ plan_count: phaseInfo?.plans?.length || 0,
570
+
571
+ // File existence
572
+ roadmap_exists: fs.existsSync(path.join(planningDir(cwd), 'ROADMAP.md')),
573
+ planning_exists: fs.existsSync(planningDir(cwd)),
574
+
575
+ // File paths
576
+ state_path: toPosixPath(path.relative(cwd, path.join(planningDir(cwd), 'STATE.md'))),
577
+ roadmap_path: toPosixPath(path.relative(cwd, path.join(planningDir(cwd), 'ROADMAP.md'))),
578
+ requirements_path: toPosixPath(path.relative(cwd, path.join(planningDir(cwd), 'REQUIREMENTS.md'))),
579
+ };
580
+
581
+ if (phaseInfo?.directory) {
582
+ const phaseDirFull = path.join(cwd, phaseInfo.directory);
583
+ try {
584
+ const files = fs.readdirSync(phaseDirFull);
585
+ const contextFile = files.find(f => f.endsWith('-CONTEXT.md') || f === 'CONTEXT.md');
586
+ if (contextFile) {
587
+ result.context_path = toPosixPath(path.join(phaseInfo.directory, contextFile));
588
+ }
589
+ const researchFile = files.find(f => f.endsWith('-RESEARCH.md') || f === 'RESEARCH.md');
590
+ if (researchFile) {
591
+ result.research_path = toPosixPath(path.join(phaseInfo.directory, researchFile));
592
+ }
593
+ const verificationFile = files.find(f => f.endsWith('-VERIFICATION.md') || f === 'VERIFICATION.md');
594
+ if (verificationFile) {
595
+ result.verification_path = toPosixPath(path.join(phaseInfo.directory, verificationFile));
596
+ }
597
+ const uatFile = files.find(f => f.endsWith('-UAT.md') || f === 'UAT.md');
598
+ if (uatFile) {
599
+ result.uat_path = toPosixPath(path.join(phaseInfo.directory, uatFile));
600
+ }
601
+ const reviewsFile = files.find(f => f.endsWith('-REVIEWS.md') || f === 'REVIEWS.md');
602
+ if (reviewsFile) {
603
+ result.reviews_path = toPosixPath(path.join(phaseInfo.directory, reviewsFile));
604
+ }
605
+ } catch { /* intentionally empty */ }
606
+ }
607
+
608
+ output(withProjectRoot(cwd, result), raw);
609
+ }
610
+
611
+ function cmdInitTodos(cwd, area, raw) {
612
+ const config = loadConfig(cwd);
613
+ const now = new Date();
614
+
615
+ // List todos (reuse existing logic)
616
+ const pendingDir = path.join(planningDir(cwd), 'todos', 'pending');
617
+ let count = 0;
618
+ const todos = [];
619
+
620
+ try {
621
+ const files = fs.readdirSync(pendingDir).filter(f => f.endsWith('.md'));
622
+ for (const file of files) {
623
+ try {
624
+ const content = fs.readFileSync(path.join(pendingDir, file), 'utf-8');
625
+ const createdMatch = content.match(/^created:\s*(.+)$/m);
626
+ const titleMatch = content.match(/^title:\s*(.+)$/m);
627
+ const areaMatch = content.match(/^area:\s*(.+)$/m);
628
+ const todoArea = areaMatch ? areaMatch[1].trim() : 'general';
629
+
630
+ if (area && todoArea !== area) continue;
631
+
632
+ count++;
633
+ todos.push({
634
+ file,
635
+ created: createdMatch ? createdMatch[1].trim() : 'unknown',
636
+ title: titleMatch ? titleMatch[1].trim() : 'Untitled',
637
+ area: todoArea,
638
+ path: toPosixPath(path.relative(cwd, path.join(planningDir(cwd), 'todos', 'pending', file))),
639
+ });
640
+ } catch { /* intentionally empty */ }
641
+ }
642
+ } catch { /* intentionally empty */ }
643
+
644
+ const result = {
645
+ // Config
646
+ commit_docs: config.commit_docs,
647
+
648
+ // Timestamps
649
+ date: now.toISOString().split('T')[0],
650
+ timestamp: now.toISOString(),
651
+
652
+ // Todo inventory
653
+ todo_count: count,
654
+ todos,
655
+ area_filter: area || null,
656
+
657
+ // Paths
658
+ pending_dir: toPosixPath(path.relative(cwd, path.join(planningDir(cwd), 'todos', 'pending'))),
659
+ completed_dir: toPosixPath(path.relative(cwd, path.join(planningDir(cwd), 'todos', 'completed'))),
660
+
661
+ // File existence
662
+ planning_exists: fs.existsSync(planningDir(cwd)),
663
+ todos_dir_exists: fs.existsSync(path.join(planningDir(cwd), 'todos')),
664
+ pending_dir_exists: fs.existsSync(path.join(planningDir(cwd), 'todos', 'pending')),
665
+ };
666
+
667
+ output(withProjectRoot(cwd, result), raw);
668
+ }
669
+
670
+ function cmdInitMilestoneOp(cwd, raw) {
671
+ const config = loadConfig(cwd);
672
+ const milestone = getMilestoneInfo(cwd);
673
+
674
+ // Count phases
675
+ let phaseCount = 0;
676
+ let completedPhases = 0;
677
+ const phasesDir = path.join(planningDir(cwd), 'phases');
678
+ try {
679
+ const entries = fs.readdirSync(phasesDir, { withFileTypes: true });
680
+ const dirs = entries.filter(e => e.isDirectory()).map(e => e.name);
681
+ phaseCount = dirs.length;
682
+
683
+ // Count phases with summaries (completed)
684
+ for (const dir of dirs) {
685
+ try {
686
+ const phaseFiles = fs.readdirSync(path.join(phasesDir, dir));
687
+ const hasSummary = phaseFiles.some(f => f.endsWith('-SUMMARY.md') || f === 'SUMMARY.md');
688
+ if (hasSummary) completedPhases++;
689
+ } catch { /* intentionally empty */ }
690
+ }
691
+ } catch { /* intentionally empty */ }
692
+
693
+ // Check archive
694
+ const archiveDir = path.join(planningRoot(cwd), 'archive');
695
+ let archivedMilestones = [];
696
+ try {
697
+ archivedMilestones = fs.readdirSync(archiveDir, { withFileTypes: true })
698
+ .filter(e => e.isDirectory())
699
+ .map(e => e.name);
700
+ } catch { /* intentionally empty */ }
701
+
702
+ const result = {
703
+ // Config
704
+ commit_docs: config.commit_docs,
705
+
706
+ // Current milestone
707
+ milestone_version: milestone.version,
708
+ milestone_name: milestone.name,
709
+ milestone_slug: generateSlugInternal(milestone.name),
710
+
711
+ // Phase counts
712
+ phase_count: phaseCount,
713
+ completed_phases: completedPhases,
714
+ all_phases_complete: phaseCount > 0 && phaseCount === completedPhases,
715
+
716
+ // Archive
717
+ archived_milestones: archivedMilestones,
718
+ archive_count: archivedMilestones.length,
719
+
720
+ // File existence
721
+ project_exists: pathExistsInternal(cwd, '.planning/PROJECT.md'),
722
+ roadmap_exists: fs.existsSync(path.join(planningDir(cwd), 'ROADMAP.md')),
723
+ state_exists: fs.existsSync(path.join(planningDir(cwd), 'STATE.md')),
724
+ archive_exists: fs.existsSync(path.join(planningRoot(cwd), 'archive')),
725
+ phases_dir_exists: fs.existsSync(path.join(planningDir(cwd), 'phases')),
726
+ };
727
+
728
+ output(withProjectRoot(cwd, result), raw);
729
+ }
730
+
731
+ function cmdInitMapCodebase(cwd, raw) {
732
+ const config = loadConfig(cwd);
733
+
734
+ // Check for existing codebase maps
735
+ const codebaseDir = path.join(planningRoot(cwd), 'codebase');
736
+ let existingMaps = [];
737
+ try {
738
+ existingMaps = fs.readdirSync(codebaseDir).filter(f => f.endsWith('.md'));
739
+ } catch { /* intentionally empty */ }
740
+
741
+ const result = {
742
+ // Models
743
+ mapper_model: resolveModelInternal(cwd, 'mindforge-codebase-mapper'),
744
+
745
+ // Config
746
+ commit_docs: config.commit_docs,
747
+ search_gitignored: config.search_gitignored,
748
+ parallelization: config.parallelization,
749
+
750
+ // Paths
751
+ codebase_dir: '.planning/codebase',
752
+
753
+ // Existing maps
754
+ existing_maps: existingMaps,
755
+ has_maps: existingMaps.length > 0,
756
+
757
+ // File existence
758
+ planning_exists: pathExistsInternal(cwd, '.planning'),
759
+ codebase_dir_exists: pathExistsInternal(cwd, '.planning/codebase'),
760
+ };
761
+
762
+ output(withProjectRoot(cwd, result), raw);
763
+ }
764
+
765
+ function cmdInitManager(cwd, raw) {
766
+ const config = loadConfig(cwd);
767
+ const milestone = getMilestoneInfo(cwd);
768
+
769
+ // Use planningPaths for forward-compatibility with workstream scoping (#1268)
770
+ const paths = planningPaths(cwd);
771
+
772
+ // Validate prerequisites
773
+ if (!fs.existsSync(paths.roadmap)) {
774
+ error('No ROADMAP.md found. Run /mindforge-new-milestone first.');
775
+ }
776
+ if (!fs.existsSync(paths.state)) {
777
+ error('No STATE.md found. Run /mindforge-new-milestone first.');
778
+ }
779
+ const rawContent = fs.readFileSync(paths.roadmap, 'utf-8');
780
+ const content = extractCurrentMilestone(rawContent, cwd);
781
+ const phasesDir = paths.phases;
782
+ const isDirInMilestone = getMilestonePhaseFilter(cwd);
783
+
784
+ const phasePattern = /#{2,4}\s*Phase\s+(\d+[A-Z]?(?:\.\d+)*)\s*:\s*([^\n]+)/gi;
785
+ const phases = [];
786
+ let match;
787
+
788
+ while ((match = phasePattern.exec(content)) !== null) {
789
+ const phaseNum = match[1];
790
+ const phaseName = match[2].replace(/\(INSERTED\)/i, '').trim();
791
+
792
+ const sectionStart = match.index;
793
+ const restOfContent = content.slice(sectionStart);
794
+ const nextHeader = restOfContent.match(/\n#{2,4}\s+Phase\s+\d/i);
795
+ const sectionEnd = nextHeader ? sectionStart + nextHeader.index : content.length;
796
+ const section = content.slice(sectionStart, sectionEnd);
797
+
798
+ const goalMatch = section.match(/\*\*Goal(?::\*\*|\*\*:)\s*([^\n]+)/i);
799
+ const goal = goalMatch ? goalMatch[1].trim() : null;
800
+
801
+ const dependsMatch = section.match(/\*\*Depends on(?::\*\*|\*\*:)\s*([^\n]+)/i);
802
+ const depends_on = dependsMatch ? dependsMatch[1].trim() : null;
803
+
804
+ const normalized = normalizePhaseName(phaseNum);
805
+ let diskStatus = 'no_directory';
806
+ let planCount = 0;
807
+ let summaryCount = 0;
808
+ let hasContext = false;
809
+ let hasResearch = false;
810
+ let lastActivity = null;
811
+ let isActive = false;
812
+
813
+ try {
814
+ const entries = fs.readdirSync(phasesDir, { withFileTypes: true });
815
+ const dirs = entries.filter(e => e.isDirectory()).map(e => e.name).filter(isDirInMilestone);
816
+ const dirMatch = dirs.find(d => d.startsWith(normalized + '-') || d === normalized);
817
+
818
+ if (dirMatch) {
819
+ const fullDir = path.join(phasesDir, dirMatch);
820
+ const phaseFiles = fs.readdirSync(fullDir);
821
+ planCount = phaseFiles.filter(f => f.endsWith('-PLAN.md') || f === 'PLAN.md').length;
822
+ summaryCount = phaseFiles.filter(f => f.endsWith('-SUMMARY.md') || f === 'SUMMARY.md').length;
823
+ hasContext = phaseFiles.some(f => f.endsWith('-CONTEXT.md') || f === 'CONTEXT.md');
824
+ hasResearch = phaseFiles.some(f => f.endsWith('-RESEARCH.md') || f === 'RESEARCH.md');
825
+
826
+ if (summaryCount >= planCount && planCount > 0) diskStatus = 'complete';
827
+ else if (summaryCount > 0) diskStatus = 'partial';
828
+ else if (planCount > 0) diskStatus = 'planned';
829
+ else if (hasResearch) diskStatus = 'researched';
830
+ else if (hasContext) diskStatus = 'discussed';
831
+ else diskStatus = 'empty';
832
+
833
+ // Activity detection: check most recent file mtime
834
+ const now = Date.now();
835
+ let newestMtime = 0;
836
+ for (const f of phaseFiles) {
837
+ try {
838
+ const stat = fs.statSync(path.join(fullDir, f));
839
+ if (stat.mtimeMs > newestMtime) newestMtime = stat.mtimeMs;
840
+ } catch { /* intentionally empty */ }
841
+ }
842
+ if (newestMtime > 0) {
843
+ lastActivity = new Date(newestMtime).toISOString();
844
+ isActive = (now - newestMtime) < 300000; // 5 minutes
845
+ }
846
+ }
847
+ } catch { /* intentionally empty */ }
848
+
849
+ // Check ROADMAP checkbox status
850
+ const checkboxPattern = new RegExp(`-\\s*\\[(x| )\\]\\s*.*Phase\\s+${phaseNum.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}[:\\s]`, 'i');
851
+ const checkboxMatch = content.match(checkboxPattern);
852
+ const roadmapComplete = checkboxMatch ? checkboxMatch[1] === 'x' : false;
853
+ if (roadmapComplete && diskStatus !== 'complete') {
854
+ diskStatus = 'complete';
855
+ }
856
+
857
+ phases.push({
858
+ number: phaseNum,
859
+ name: phaseName,
860
+ goal,
861
+ depends_on,
862
+ disk_status: diskStatus,
863
+ has_context: hasContext,
864
+ has_research: hasResearch,
865
+ plan_count: planCount,
866
+ summary_count: summaryCount,
867
+ roadmap_complete: roadmapComplete,
868
+ last_activity: lastActivity,
869
+ is_active: isActive,
870
+ });
871
+ }
872
+
873
+ // Compute display names: truncate to keep table aligned
874
+ const MAX_NAME_WIDTH = 20;
875
+ for (const phase of phases) {
876
+ if (phase.name.length > MAX_NAME_WIDTH) {
877
+ phase.display_name = phase.name.slice(0, MAX_NAME_WIDTH - 1) + '…';
878
+ } else {
879
+ phase.display_name = phase.name;
880
+ }
881
+ }
882
+
883
+ // Dependency satisfaction: check if all depends_on phases are complete
884
+ const completedNums = new Set(phases.filter(p => p.disk_status === 'complete').map(p => p.number));
885
+ for (const phase of phases) {
886
+ if (!phase.depends_on || /^none$/i.test(phase.depends_on.trim())) {
887
+ phase.deps_satisfied = true;
888
+ } else {
889
+ // Parse "Phase 1, Phase 3" or "1, 3" formats
890
+ const depNums = phase.depends_on.match(/\d+(?:\.\d+)*/g) || [];
891
+ phase.deps_satisfied = depNums.every(n => completedNums.has(n));
892
+ phase.dep_phases = depNums;
893
+ }
894
+ }
895
+
896
+ // Compact dependency display for dashboard
897
+ for (const phase of phases) {
898
+ phase.deps_display = (phase.dep_phases && phase.dep_phases.length > 0)
899
+ ? phase.dep_phases.join(',')
900
+ : '—';
901
+ }
902
+
903
+ // Sliding window: discuss is sequential — only the first undiscussed phase is available
904
+ let foundNextToDiscuss = false;
905
+ for (const phase of phases) {
906
+ if (!foundNextToDiscuss && (phase.disk_status === 'empty' || phase.disk_status === 'no_directory')) {
907
+ phase.is_next_to_discuss = true;
908
+ foundNextToDiscuss = true;
909
+ } else {
910
+ phase.is_next_to_discuss = false;
911
+ }
912
+ }
913
+
914
+ // Check for WAITING.json signal
915
+ let waitingSignal = null;
916
+ try {
917
+ const waitingPath = path.join(cwd, '.planning', 'WAITING.json');
918
+ if (fs.existsSync(waitingPath)) {
919
+ waitingSignal = JSON.parse(fs.readFileSync(waitingPath, 'utf-8'));
920
+ }
921
+ } catch { /* intentionally empty */ }
922
+
923
+ // Compute recommended actions (execute > plan > discuss)
924
+ const recommendedActions = [];
925
+ for (const phase of phases) {
926
+ if (phase.disk_status === 'complete') continue;
927
+
928
+ if (phase.disk_status === 'planned' && phase.deps_satisfied) {
929
+ recommendedActions.push({
930
+ phase: phase.number,
931
+ phase_name: phase.name,
932
+ action: 'execute',
933
+ reason: `${phase.plan_count} plans ready, dependencies met`,
934
+ command: `/mindforge-execute-phase ${phase.number}`,
935
+ });
936
+ } else if (phase.disk_status === 'discussed' || phase.disk_status === 'researched') {
937
+ recommendedActions.push({
938
+ phase: phase.number,
939
+ phase_name: phase.name,
940
+ action: 'plan',
941
+ reason: 'Context gathered, ready for planning',
942
+ command: `/mindforge-plan-phase ${phase.number}`,
943
+ });
944
+ } else if ((phase.disk_status === 'empty' || phase.disk_status === 'no_directory') && phase.is_next_to_discuss) {
945
+ recommendedActions.push({
946
+ phase: phase.number,
947
+ phase_name: phase.name,
948
+ action: 'discuss',
949
+ reason: 'Unblocked, ready to gather context',
950
+ command: `/mindforge-discuss-phase ${phase.number}`,
951
+ });
952
+ }
953
+ }
954
+
955
+ // Filter recommendations: no parallel execute/plan unless phases are independent
956
+ // Two phases are "independent" if neither depends on the other (directly or transitively)
957
+ const phaseMap = new Map(phases.map(p => [p.number, p]));
958
+
959
+ function reaches(from, to, visited = new Set()) {
960
+ if (visited.has(from)) return false;
961
+ visited.add(from);
962
+ const p = phaseMap.get(from);
963
+ if (!p || !p.dep_phases || p.dep_phases.length === 0) return false;
964
+ if (p.dep_phases.includes(to)) return true;
965
+ return p.dep_phases.some(dep => reaches(dep, to, visited));
966
+ }
967
+
968
+ function hasDepRelationship(numA, numB) {
969
+ return reaches(numA, numB) || reaches(numB, numA);
970
+ }
971
+
972
+ // Detect phases with active work (file modified in last 5 min)
973
+ const activeExecuting = phases.filter(p =>
974
+ p.disk_status === 'partial' ||
975
+ (p.disk_status === 'planned' && p.is_active)
976
+ );
977
+ const activePlanning = phases.filter(p =>
978
+ p.is_active && (p.disk_status === 'discussed' || p.disk_status === 'researched')
979
+ );
980
+
981
+ const filteredActions = recommendedActions.filter(action => {
982
+ if (action.action === 'execute' && activeExecuting.length > 0) {
983
+ // Only allow if independent of ALL actively-executing phases
984
+ return activeExecuting.every(active => !hasDepRelationship(action.phase, active.number));
985
+ }
986
+ if (action.action === 'plan' && activePlanning.length > 0) {
987
+ // Only allow if independent of ALL actively-planning phases
988
+ return activePlanning.every(active => !hasDepRelationship(action.phase, active.number));
989
+ }
990
+ return true;
991
+ });
992
+
993
+ const completedCount = phases.filter(p => p.disk_status === 'complete').length;
994
+ const result = {
995
+ milestone_version: milestone.version,
996
+ milestone_name: milestone.name,
997
+ phases,
998
+ phase_count: phases.length,
999
+ completed_count: completedCount,
1000
+ in_progress_count: phases.filter(p => ['partial', 'planned', 'discussed', 'researched'].includes(p.disk_status)).length,
1001
+ recommended_actions: filteredActions,
1002
+ waiting_signal: waitingSignal,
1003
+ all_complete: completedCount === phases.length && phases.length > 0,
1004
+ project_exists: pathExistsInternal(cwd, '.planning/PROJECT.md'),
1005
+ roadmap_exists: true,
1006
+ state_exists: true,
1007
+ };
1008
+
1009
+ output(withProjectRoot(cwd, result), raw);
1010
+ }
1011
+
1012
+ function cmdInitProgress(cwd, raw) {
1013
+ const config = loadConfig(cwd);
1014
+ const milestone = getMilestoneInfo(cwd);
1015
+
1016
+ // Analyze phases — filter to current milestone and include ROADMAP-only phases
1017
+ const phasesDir = path.join(planningDir(cwd), 'phases');
1018
+ const phases = [];
1019
+ let currentPhase = null;
1020
+ let nextPhase = null;
1021
+
1022
+ // Build set of phases defined in ROADMAP for the current milestone
1023
+ const roadmapPhaseNums = new Set();
1024
+ const roadmapPhaseNames = new Map();
1025
+ try {
1026
+ const roadmapContent = extractCurrentMilestone(
1027
+ fs.readFileSync(path.join(planningDir(cwd), 'ROADMAP.md'), 'utf-8'), cwd
1028
+ );
1029
+ const headingPattern = /#{2,4}\s*Phase\s+(\d+[A-Z]?(?:\.\d+)*)\s*:\s*([^\n]+)/gi;
1030
+ let hm;
1031
+ while ((hm = headingPattern.exec(roadmapContent)) !== null) {
1032
+ roadmapPhaseNums.add(hm[1]);
1033
+ roadmapPhaseNames.set(hm[1], hm[2].replace(/\(INSERTED\)/i, '').trim());
1034
+ }
1035
+ } catch { /* intentionally empty */ }
1036
+
1037
+ const isDirInMilestone = getMilestonePhaseFilter(cwd);
1038
+ const seenPhaseNums = new Set();
1039
+
1040
+ try {
1041
+ const entries = fs.readdirSync(phasesDir, { withFileTypes: true });
1042
+ const dirs = entries.filter(e => e.isDirectory()).map(e => e.name)
1043
+ .filter(isDirInMilestone)
1044
+ .sort((a, b) => {
1045
+ const pa = a.match(/^(\d+[A-Z]?(?:\.\d+)*)/i);
1046
+ const pb = b.match(/^(\d+[A-Z]?(?:\.\d+)*)/i);
1047
+ if (!pa || !pb) return a.localeCompare(b);
1048
+ return parseInt(pa[1], 10) - parseInt(pb[1], 10);
1049
+ });
1050
+
1051
+ for (const dir of dirs) {
1052
+ const match = dir.match(/^(\d+[A-Z]?(?:\.\d+)*)-?(.*)/i);
1053
+ const phaseNumber = match ? match[1] : dir;
1054
+ const phaseName = match && match[2] ? match[2] : null;
1055
+ seenPhaseNums.add(phaseNumber.replace(/^0+/, '') || '0');
1056
+
1057
+ const phasePath = path.join(phasesDir, dir);
1058
+ const phaseFiles = fs.readdirSync(phasePath);
1059
+
1060
+ const plans = phaseFiles.filter(f => f.endsWith('-PLAN.md') || f === 'PLAN.md');
1061
+ const summaries = phaseFiles.filter(f => f.endsWith('-SUMMARY.md') || f === 'SUMMARY.md');
1062
+ const hasResearch = phaseFiles.some(f => f.endsWith('-RESEARCH.md') || f === 'RESEARCH.md');
1063
+
1064
+ const status = summaries.length >= plans.length && plans.length > 0 ? 'complete' :
1065
+ plans.length > 0 ? 'in_progress' :
1066
+ hasResearch ? 'researched' : 'pending';
1067
+
1068
+ const phaseInfo = {
1069
+ number: phaseNumber,
1070
+ name: phaseName,
1071
+ directory: toPosixPath(path.relative(cwd, path.join(planningDir(cwd), 'phases', dir))),
1072
+ status,
1073
+ plan_count: plans.length,
1074
+ summary_count: summaries.length,
1075
+ has_research: hasResearch,
1076
+ };
1077
+
1078
+ phases.push(phaseInfo);
1079
+
1080
+ // Find current (first incomplete with plans) and next (first pending)
1081
+ if (!currentPhase && (status === 'in_progress' || status === 'researched')) {
1082
+ currentPhase = phaseInfo;
1083
+ }
1084
+ if (!nextPhase && status === 'pending') {
1085
+ nextPhase = phaseInfo;
1086
+ }
1087
+ }
1088
+ } catch { /* intentionally empty */ }
1089
+
1090
+ // Add phases defined in ROADMAP but not yet scaffolded to disk
1091
+ for (const [num, name] of roadmapPhaseNames) {
1092
+ const stripped = num.replace(/^0+/, '') || '0';
1093
+ if (!seenPhaseNums.has(stripped)) {
1094
+ const phaseInfo = {
1095
+ number: num,
1096
+ name: name.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-+|-+$/g, ''),
1097
+ directory: null,
1098
+ status: 'not_started',
1099
+ plan_count: 0,
1100
+ summary_count: 0,
1101
+ has_research: false,
1102
+ };
1103
+ phases.push(phaseInfo);
1104
+ if (!nextPhase && !currentPhase) {
1105
+ nextPhase = phaseInfo;
1106
+ }
1107
+ }
1108
+ }
1109
+
1110
+ // Re-sort phases by number after adding ROADMAP-only phases
1111
+ phases.sort((a, b) => parseInt(a.number, 10) - parseInt(b.number, 10));
1112
+
1113
+ // Check for paused work
1114
+ let pausedAt = null;
1115
+ try {
1116
+ const state = fs.readFileSync(path.join(planningDir(cwd), 'STATE.md'), 'utf-8');
1117
+ const pauseMatch = state.match(/\*\*Paused At:\*\*\s*(.+)/);
1118
+ if (pauseMatch) pausedAt = pauseMatch[1].trim();
1119
+ } catch { /* intentionally empty */ }
1120
+
1121
+ const result = {
1122
+ // Models
1123
+ executor_model: resolveModelInternal(cwd, 'mindforge-executor'),
1124
+ planner_model: resolveModelInternal(cwd, 'mindforge-planner'),
1125
+
1126
+ // Config
1127
+ commit_docs: config.commit_docs,
1128
+
1129
+ // Milestone
1130
+ milestone_version: milestone.version,
1131
+ milestone_name: milestone.name,
1132
+
1133
+ // Phase overview
1134
+ phases,
1135
+ phase_count: phases.length,
1136
+ completed_count: phases.filter(p => p.status === 'complete').length,
1137
+ in_progress_count: phases.filter(p => p.status === 'in_progress').length,
1138
+
1139
+ // Current state
1140
+ current_phase: currentPhase,
1141
+ next_phase: nextPhase,
1142
+ paused_at: pausedAt,
1143
+ has_work_in_progress: !!currentPhase,
1144
+
1145
+ // File existence
1146
+ project_exists: pathExistsInternal(cwd, '.planning/PROJECT.md'),
1147
+ roadmap_exists: fs.existsSync(path.join(planningDir(cwd), 'ROADMAP.md')),
1148
+ state_exists: fs.existsSync(path.join(planningDir(cwd), 'STATE.md')),
1149
+ // File paths
1150
+ state_path: toPosixPath(path.relative(cwd, path.join(planningDir(cwd), 'STATE.md'))),
1151
+ roadmap_path: toPosixPath(path.relative(cwd, path.join(planningDir(cwd), 'ROADMAP.md'))),
1152
+ project_path: '.planning/PROJECT.md',
1153
+ config_path: toPosixPath(path.relative(cwd, path.join(planningDir(cwd), 'config.json'))),
1154
+ };
1155
+
1156
+ output(withProjectRoot(cwd, result), raw);
1157
+ }
1158
+
1159
+ /**
1160
+ * Detect child git repos in a directory (one level deep).
1161
+ * Returns array of { name, path, has_uncommitted } objects.
1162
+ */
1163
+ function detectChildRepos(dir) {
1164
+ const repos = [];
1165
+ let entries;
1166
+ try { entries = fs.readdirSync(dir, { withFileTypes: true }); } catch { return repos; }
1167
+ for (const entry of entries) {
1168
+ if (!entry.isDirectory()) continue;
1169
+ if (entry.name.startsWith('.')) continue;
1170
+ const fullPath = path.join(dir, entry.name);
1171
+ const gitDir = path.join(fullPath, '.git');
1172
+ if (fs.existsSync(gitDir)) {
1173
+ let hasUncommitted = false;
1174
+ try {
1175
+ const status = execSync('git status --porcelain', { cwd: fullPath, encoding: 'utf8', timeout: 5000 });
1176
+ hasUncommitted = status.trim().length > 0;
1177
+ } catch { /* best-effort */ }
1178
+ repos.push({ name: entry.name, path: fullPath, has_uncommitted: hasUncommitted });
1179
+ }
1180
+ }
1181
+ return repos;
1182
+ }
1183
+
1184
+ function cmdInitNewWorkspace(cwd, raw) {
1185
+ const homedir = process.env.HOME || require('os').homedir();
1186
+ const defaultBase = path.join(homedir, 'mindforge-workspaces');
1187
+
1188
+ // Detect child git repos for interactive selection
1189
+ const childRepos = detectChildRepos(cwd);
1190
+
1191
+ // Check if git worktree is available
1192
+ let worktreeAvailable = false;
1193
+ try {
1194
+ execSync('git --version', { encoding: 'utf8', timeout: 5000, stdio: 'pipe' });
1195
+ worktreeAvailable = true;
1196
+ } catch { /* no git at all */ }
1197
+
1198
+ const result = {
1199
+ default_workspace_base: defaultBase,
1200
+ child_repos: childRepos,
1201
+ child_repo_count: childRepos.length,
1202
+ worktree_available: worktreeAvailable,
1203
+ is_git_repo: pathExistsInternal(cwd, '.git'),
1204
+ cwd_repo_name: path.basename(cwd),
1205
+ };
1206
+
1207
+ output(withProjectRoot(cwd, result), raw);
1208
+ }
1209
+
1210
+ function cmdInitListWorkspaces(cwd, raw) {
1211
+ const homedir = process.env.HOME || require('os').homedir();
1212
+ const defaultBase = path.join(homedir, 'mindforge-workspaces');
1213
+
1214
+ const workspaces = [];
1215
+ if (fs.existsSync(defaultBase)) {
1216
+ let entries;
1217
+ try { entries = fs.readdirSync(defaultBase, { withFileTypes: true }); } catch { entries = []; }
1218
+ for (const entry of entries) {
1219
+ if (!entry.isDirectory()) continue;
1220
+ const wsPath = path.join(defaultBase, entry.name);
1221
+ const manifestPath = path.join(wsPath, 'WORKSPACE.md');
1222
+ if (!fs.existsSync(manifestPath)) continue;
1223
+
1224
+ let repoCount = 0;
1225
+ let hasProject = false;
1226
+ let strategy = 'unknown';
1227
+ try {
1228
+ const manifest = fs.readFileSync(manifestPath, 'utf8');
1229
+ const strategyMatch = manifest.match(/^Strategy:\s*(.+)$/m);
1230
+ if (strategyMatch) strategy = strategyMatch[1].trim();
1231
+ // Count table rows (lines starting with |, excluding header and separator)
1232
+ const tableRows = manifest.split('\n').filter(l => l.match(/^\|\s*\w/) && !l.includes('Repo') && !l.includes('---'));
1233
+ repoCount = tableRows.length;
1234
+ } catch { /* best-effort */ }
1235
+ hasProject = fs.existsSync(path.join(wsPath, '.planning', 'PROJECT.md'));
1236
+
1237
+ workspaces.push({
1238
+ name: entry.name,
1239
+ path: wsPath,
1240
+ repo_count: repoCount,
1241
+ strategy,
1242
+ has_project: hasProject,
1243
+ });
1244
+ }
1245
+ }
1246
+
1247
+ const result = {
1248
+ workspace_base: defaultBase,
1249
+ workspaces,
1250
+ workspace_count: workspaces.length,
1251
+ };
1252
+
1253
+ output(result, raw);
1254
+ }
1255
+
1256
+ function cmdInitRemoveWorkspace(cwd, name, raw) {
1257
+ const homedir = process.env.HOME || require('os').homedir();
1258
+ const defaultBase = path.join(homedir, 'mindforge-workspaces');
1259
+
1260
+ if (!name) {
1261
+ error('workspace name required for init remove-workspace');
1262
+ }
1263
+
1264
+ const wsPath = path.join(defaultBase, name);
1265
+ const manifestPath = path.join(wsPath, 'WORKSPACE.md');
1266
+
1267
+ if (!fs.existsSync(wsPath)) {
1268
+ error(`Workspace not found: ${wsPath}`);
1269
+ }
1270
+
1271
+ // Parse manifest for repo info
1272
+ const repos = [];
1273
+ let strategy = 'unknown';
1274
+ if (fs.existsSync(manifestPath)) {
1275
+ try {
1276
+ const manifest = fs.readFileSync(manifestPath, 'utf8');
1277
+ const strategyMatch = manifest.match(/^Strategy:\s*(.+)$/m);
1278
+ if (strategyMatch) strategy = strategyMatch[1].trim();
1279
+
1280
+ // Parse table rows for repo names and source paths
1281
+ const lines = manifest.split('\n');
1282
+ for (const line of lines) {
1283
+ const match = line.match(/^\|\s*(\S+)\s*\|\s*(\S+)\s*\|\s*(\S+)\s*\|\s*(\S+)\s*\|$/);
1284
+ if (match && match[1] !== 'Repo' && !match[1].includes('---')) {
1285
+ repos.push({ name: match[1], source: match[2], branch: match[3], strategy: match[4] });
1286
+ }
1287
+ }
1288
+ } catch { /* best-effort */ }
1289
+ }
1290
+
1291
+ // Check for uncommitted changes in workspace repos
1292
+ const dirtyRepos = [];
1293
+ for (const repo of repos) {
1294
+ const repoPath = path.join(wsPath, repo.name);
1295
+ if (!fs.existsSync(repoPath)) continue;
1296
+ try {
1297
+ const status = execSync('git status --porcelain', { cwd: repoPath, encoding: 'utf8', timeout: 5000, stdio: 'pipe' });
1298
+ if (status.trim().length > 0) {
1299
+ dirtyRepos.push(repo.name);
1300
+ }
1301
+ } catch { /* best-effort */ }
1302
+ }
1303
+
1304
+ const result = {
1305
+ workspace_name: name,
1306
+ workspace_path: wsPath,
1307
+ has_manifest: fs.existsSync(manifestPath),
1308
+ strategy,
1309
+ repos,
1310
+ repo_count: repos.length,
1311
+ dirty_repos: dirtyRepos,
1312
+ has_dirty_repos: dirtyRepos.length > 0,
1313
+ };
1314
+
1315
+ output(result, raw);
1316
+ }
1317
+
1318
+ module.exports = {
1319
+ cmdInitExecutePhase,
1320
+ cmdInitPlanPhase,
1321
+ cmdInitNewProject,
1322
+ cmdInitNewMilestone,
1323
+ cmdInitQuick,
1324
+ cmdInitResume,
1325
+ cmdInitVerifyWork,
1326
+ cmdInitPhaseOp,
1327
+ cmdInitTodos,
1328
+ cmdInitMilestoneOp,
1329
+ cmdInitMapCodebase,
1330
+ cmdInitProgress,
1331
+ cmdInitManager,
1332
+ cmdInitNewWorkspace,
1333
+ cmdInitListWorkspaces,
1334
+ cmdInitRemoveWorkspace,
1335
+ detectChildRepos,
1336
+ };