mindforge-cc 8.2.0 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1048) hide show
  1. package/.claude/settings.local.json +16 -0
  2. package/.mindforge/celestial.db +0 -0
  3. package/.mindforge/config.json +7 -7
  4. package/.planning/REQUIREMENTS.md +13 -1
  5. package/.planning/STATE.md +13 -8
  6. package/.planning/jira-sync.json +1 -5
  7. package/.planning/slack-threads.json +1 -3
  8. package/CHANGELOG.md +27 -2
  9. package/LICENSE +1 -1
  10. package/MINDFORGE.md +13 -13
  11. package/README.md +8 -2
  12. package/RELEASENOTES.md +38 -0
  13. package/bin/autonomous/auto-runner.js +243 -14
  14. package/bin/memory/vector-hub.js +148 -16
  15. package/bin/migrations/migrate.js +1 -0
  16. package/bin/migrations/v9-unified-memory.js +98 -0
  17. package/bin/models/cloud-broker.js +7 -6
  18. package/bin/models/model-broker.js +6 -5
  19. package/bin/models/model-client.js +12 -8
  20. package/bin/models/model-router.js +11 -11
  21. package/docs/Context/Master-Context.md +19 -2
  22. package/docs/architecture/V9-BEDROCK.md +162 -0
  23. package/docs/governance-guide.md +17 -8
  24. package/package.json +2 -2
  25. package/.mindforge/bypasses.json +0 -8
  26. package/.mindforge/memory/decision-library.jsonl +0 -0
  27. package/.mindforge/memory/knowledge-base.jsonl +0 -15
  28. package/.mindforge/memory/pattern-library.jsonl +0 -1
  29. package/.mindforge/memory/team-preferences.jsonl +0 -5
  30. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/CLAUDE.md +0 -102
  31. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/commands.cjs +0 -959
  32. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/config.cjs +0 -421
  33. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/core.cjs +0 -1166
  34. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/frontmatter.cjs +0 -307
  35. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/init.cjs +0 -1336
  36. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/milestone.cjs +0 -252
  37. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/model-profiles.cjs +0 -68
  38. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/phase.cjs +0 -888
  39. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/profile-output.cjs +0 -952
  40. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/profile-pipeline.cjs +0 -539
  41. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/roadmap.cjs +0 -329
  42. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/security.cjs +0 -356
  43. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/state.cjs +0 -969
  44. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/template.cjs +0 -222
  45. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/uat.cjs +0 -189
  46. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/verify.cjs +0 -851
  47. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/workstream.cjs +0 -491
  48. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/mindforge-tools.cjs +0 -897
  49. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/file-manifest.json +0 -219
  50. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/forge/help.md +0 -11
  51. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/forge/init-project.md +0 -36
  52. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/forge/plan-phase.md +0 -34
  53. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/hooks/mindforge-check-update.js +0 -114
  54. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/hooks/mindforge-context-monitor.js +0 -156
  55. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/hooks/mindforge-prompt-guard.js +0 -96
  56. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/hooks/mindforge-session-init_extended.js +0 -42
  57. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/hooks/mindforge-statusline.js +0 -119
  58. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/hooks/mindforge-workflow-guard.js +0 -94
  59. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/add-backlog.md +0 -32
  60. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/agent.md +0 -31
  61. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/approve.md +0 -22
  62. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/audit.md +0 -34
  63. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/auto.md +0 -26
  64. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/benchmark.md +0 -37
  65. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/browse.md +0 -30
  66. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/complete-milestone.md +0 -22
  67. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/costs.md +0 -15
  68. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/cross-review.md +0 -21
  69. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/dashboard.md +0 -102
  70. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/debug.md +0 -133
  71. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/discuss-phase.md +0 -142
  72. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/do.md +0 -31
  73. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/execute-phase.md +0 -200
  74. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/health.md +0 -31
  75. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/help.md +0 -33
  76. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/init-org.md +0 -135
  77. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/init-project.md +0 -170
  78. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/install-skill.md +0 -28
  79. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/learn.md +0 -147
  80. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/learning.md +0 -20
  81. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/map-codebase.md +0 -302
  82. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/marketplace.md +0 -124
  83. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/metrics.md +0 -26
  84. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/migrate.md +0 -44
  85. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/milestone.md +0 -16
  86. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/new-runtime.md +0 -23
  87. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/next.md +0 -109
  88. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/note.md +0 -35
  89. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/plan-phase.md +0 -131
  90. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/plant-seed.md +0 -31
  91. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/plugins.md +0 -44
  92. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/pr-review.md +0 -45
  93. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/profile-team.md +0 -27
  94. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/publish-skill.md +0 -23
  95. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/qa.md +0 -20
  96. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/quick.md +0 -139
  97. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/record-learning.md +0 -22
  98. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/release.md +0 -14
  99. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/remember.md +0 -30
  100. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/research.md +0 -16
  101. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/retrospective.md +0 -31
  102. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/review-backlog.md +0 -34
  103. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/review.md +0 -161
  104. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/security-scan.md +0 -242
  105. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/session-report.md +0 -39
  106. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/ship.md +0 -111
  107. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/skills.md +0 -145
  108. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/status.md +0 -113
  109. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/steer.md +0 -17
  110. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/sync-confluence.md +0 -15
  111. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/sync-jira.md +0 -16
  112. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/tokens.md +0 -12
  113. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/ui-phase.md +0 -34
  114. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/ui-review.md +0 -36
  115. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/update.md +0 -46
  116. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/validate-phase.md +0 -31
  117. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/verify-phase.md +0 -66
  118. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/workspace.md +0 -33
  119. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/workstreams.md +0 -35
  120. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/settings.json +0 -42
  121. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-add-backlog/SKILL.md +0 -72
  122. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-add-phase/SKILL.md +0 -39
  123. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-add-tests/SKILL.md +0 -28
  124. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-add-todo/SKILL.md +0 -42
  125. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-audit-milestone/SKILL.md +0 -29
  126. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-audit-uat/SKILL.md +0 -20
  127. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-autonomous/SKILL.md +0 -33
  128. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/SKILL.md +0 -164
  129. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/scripts/frame-template.html +0 -214
  130. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/scripts/helper.js +0 -88
  131. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/scripts/server.cjs +0 -354
  132. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/scripts/start-server.sh +0 -148
  133. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/scripts/stop-server.sh +0 -56
  134. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/spec-document-reviewer-prompt.md +0 -49
  135. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/visual-companion.md +0 -287
  136. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-check-todos/SKILL.md +0 -40
  137. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-cleanup/SKILL.md +0 -19
  138. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-complete-milestone/SKILL.md +0 -131
  139. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug/SKILL.md +0 -163
  140. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/CREATION-LOG.md +0 -119
  141. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/SKILL.md +0 -296
  142. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/condition-based-waiting-example.ts +0 -158
  143. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/condition-based-waiting.md +0 -115
  144. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/defense-in-depth.md +0 -122
  145. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/find-polluter.sh +0 -63
  146. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/root-cause-tracing.md +0 -169
  147. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/test-academic.md +0 -14
  148. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/test-pressure-1.md +0 -58
  149. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/test-pressure-2.md +0 -68
  150. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/test-pressure-3.md +0 -69
  151. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-discuss-phase/SKILL.md +0 -54
  152. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-do/SKILL.md +0 -26
  153. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-execute-phase/SKILL.md +0 -49
  154. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-execute-phase_extended/SKILL.md +0 -70
  155. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-fast/SKILL.md +0 -23
  156. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-forensics/SKILL.md +0 -49
  157. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-health/SKILL.md +0 -17
  158. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-help/SKILL.md +0 -23
  159. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-insert-phase/SKILL.md +0 -28
  160. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-join-discord/SKILL.md +0 -19
  161. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-list-phase-assumptions/SKILL.md +0 -41
  162. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-list-workspaces/SKILL.md +0 -17
  163. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-manager/SKILL.md +0 -32
  164. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-map-codebase/SKILL.md +0 -64
  165. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-milestone-summary/SKILL.md +0 -44
  166. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-neural-orchestrator/SKILL.md +0 -115
  167. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-neural-orchestrator/references/codex-tools.md +0 -100
  168. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-neural-orchestrator/references/gemini-tools.md +0 -33
  169. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-new-milestone/SKILL.md +0 -38
  170. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-new-project/SKILL.md +0 -36
  171. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-new-workspace/SKILL.md +0 -39
  172. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-next/SKILL.md +0 -19
  173. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-note/SKILL.md +0 -29
  174. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-parallel-mesh_extended/SKILL.md +0 -182
  175. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-pause-work/SKILL.md +0 -35
  176. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-plan-milestone-gaps/SKILL.md +0 -28
  177. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-plan-phase/SKILL.md +0 -38
  178. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-plan-phase_extended/SKILL.md +0 -152
  179. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-plan-phase_extended/plan-document-reviewer-prompt.md +0 -49
  180. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-plant-seed/SKILL.md +0 -22
  181. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-pr-branch/SKILL.md +0 -21
  182. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-profile-user/SKILL.md +0 -38
  183. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-progress/SKILL.md +0 -19
  184. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-quick/SKILL.md +0 -38
  185. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-reapply-patches/SKILL.md +0 -124
  186. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-remove-phase/SKILL.md +0 -26
  187. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-remove-workspace/SKILL.md +0 -22
  188. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-research-phase/SKILL.md +0 -186
  189. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-resume-work/SKILL.md +0 -35
  190. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-review/SKILL.md +0 -31
  191. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-review-backlog/SKILL.md +0 -58
  192. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-review-inbound/SKILL.md +0 -213
  193. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-review-request/SKILL.md +0 -105
  194. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-review-request/code-reviewer.md +0 -146
  195. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-session-report/SKILL.md +0 -16
  196. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-set-profile/SKILL.md +0 -9
  197. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-settings/SKILL.md +0 -32
  198. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-ship/SKILL.md +0 -16
  199. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-ship_extended/SKILL.md +0 -200
  200. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/SKILL.md +0 -655
  201. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/anthropic-best-practices.md +0 -1150
  202. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/examples/CLAUDE_MD_TESTING.md +0 -189
  203. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/graphviz-conventions.dot +0 -172
  204. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/persuasion-principles.md +0 -187
  205. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/render-graphs.js +0 -168
  206. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/testing-skills-with-subagents.md +0 -384
  207. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-stats/SKILL.md +0 -16
  208. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-swarm-execution/SKILL.md +0 -277
  209. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-swarm-execution/code-quality-reviewer-prompt.md +0 -26
  210. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-swarm-execution/implementer-prompt.md +0 -113
  211. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-swarm-execution/spec-reviewer-prompt.md +0 -61
  212. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-system-architecture/SKILL.md +0 -136
  213. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-system-architecture/examples.md +0 -120
  214. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-system-architecture/scaling-checklist.md +0 -76
  215. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd/SKILL.md +0 -112
  216. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd/deep-modules.md +0 -21
  217. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd/interface-design.md +0 -22
  218. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd/mocking.md +0 -24
  219. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd/refactoring.md +0 -21
  220. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd/tests.md +0 -28
  221. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd_extended/SKILL.md +0 -371
  222. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd_extended/testing-anti-patterns.md +0 -299
  223. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-thread/SKILL.md +0 -123
  224. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-ui-phase/SKILL.md +0 -24
  225. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-ui-review/SKILL.md +0 -24
  226. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-update/SKILL.md +0 -35
  227. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-validate-phase/SKILL.md +0 -26
  228. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-verify-work/SKILL.md +0 -30
  229. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-verify-work_extended/SKILL.md +0 -139
  230. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-workspace-isolated/SKILL.md +0 -218
  231. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-workstreams/SKILL.md +0 -65
  232. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/forge:help.md +0 -10
  233. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/forge:init-project.md +0 -35
  234. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/forge:plan-phase.md +0 -33
  235. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-add-phase.md +0 -112
  236. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-add-tests.md +0 -351
  237. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-add-todo.md +0 -158
  238. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-audit-milestone.md +0 -332
  239. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-audit-uat.md +0 -109
  240. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-autonomous.md +0 -815
  241. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-check-todos.md +0 -177
  242. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-cleanup.md +0 -152
  243. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-complete-milestone.md +0 -766
  244. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-diagnose-issues.md +0 -220
  245. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-discovery-phase.md +0 -289
  246. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-discuss-phase-assumptions.md +0 -645
  247. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-discuss-phase.md +0 -1047
  248. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-do.md +0 -104
  249. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-execute-phase.md +0 -838
  250. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-execute-plan.md +0 -509
  251. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-fast.md +0 -105
  252. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-forensics.md +0 -265
  253. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-health.md +0 -181
  254. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-help.md +0 -606
  255. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-insert-phase.md +0 -130
  256. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-list-phase-assumptions.md +0 -178
  257. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-list-workspaces.md +0 -56
  258. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-manager.md +0 -360
  259. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-map-codebase.md +0 -370
  260. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-milestone-summary.md +0 -223
  261. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-new-milestone.md +0 -469
  262. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-new-project.md +0 -1226
  263. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-new-workspace.md +0 -237
  264. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-next.md +0 -97
  265. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-node-repair.md +0 -92
  266. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-note.md +0 -156
  267. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-pause-work.md +0 -176
  268. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-plan-milestone-gaps.md +0 -273
  269. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-plan-phase.md +0 -877
  270. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-plant-seed.md +0 -169
  271. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-pr-branch.md +0 -129
  272. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-profile-user.md +0 -450
  273. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-progress.md +0 -507
  274. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-quick.md +0 -732
  275. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-remove-phase.md +0 -155
  276. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-remove-workspace.md +0 -90
  277. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-research-phase.md +0 -74
  278. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-resume-project.md +0 -325
  279. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-review.md +0 -228
  280. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-session-report.md +0 -146
  281. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-settings.md +0 -283
  282. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-ship.md +0 -228
  283. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-stats.md +0 -60
  284. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-transition.md +0 -671
  285. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-ui-phase.md +0 -290
  286. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-ui-review.md +0 -157
  287. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-update.md +0 -323
  288. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-validate-phase.md +0 -167
  289. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-verify-phase.md +0 -254
  290. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-verify-work.md +0 -628
  291. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:add-backlog.md +0 -24
  292. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:agent.md +0 -25
  293. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:approve.md +0 -21
  294. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:architecture.md +0 -40
  295. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:audit.md +0 -33
  296. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:auto.md +0 -25
  297. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:benchmark.md +0 -36
  298. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:brainstorming.md +0 -16
  299. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:browse.md +0 -29
  300. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:complete-milestone.md +0 -21
  301. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:costs.md +0 -14
  302. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:cross-review.md +0 -20
  303. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:dashboard.md +0 -101
  304. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:debug.md +0 -131
  305. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:discuss-phase.md +0 -141
  306. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:do.md +0 -25
  307. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:execute-phase.md +0 -205
  308. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:executor.md +0 -18
  309. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:health.md +0 -24
  310. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:help.md +0 -26
  311. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:identity.md +0 -18
  312. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:init-org.md +0 -134
  313. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:init-project.md +0 -185
  314. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:install-skill.md +0 -27
  315. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:learn.md +0 -146
  316. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:map-codebase.md +0 -301
  317. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:marketplace.md +0 -123
  318. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:memory.md +0 -18
  319. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:metrics.md +0 -25
  320. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:migrate.md +0 -43
  321. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:milestone.md +0 -15
  322. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:new-runtime.md +0 -22
  323. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:next.md +0 -108
  324. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:note.md +0 -27
  325. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:plan-phase.md +0 -139
  326. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:planner.md +0 -18
  327. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:plant-seed.md +0 -24
  328. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:plugins.md +0 -43
  329. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:pr-review.md +0 -44
  330. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:profile-team.md +0 -26
  331. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:publish-skill.md +0 -22
  332. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:qa.md +0 -19
  333. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:quick.md +0 -138
  334. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:release.md +0 -13
  335. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:remember.md +0 -29
  336. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:research.md +0 -15
  337. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:researcher.md +0 -18
  338. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:retrospective.md +0 -29
  339. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:review-backlog.md +0 -26
  340. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:review.md +0 -160
  341. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:reviewer.md +0 -18
  342. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:security-scan.md +0 -236
  343. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:session-report.md +0 -31
  344. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:ship.md +0 -108
  345. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:skills.md +0 -144
  346. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:soul.md +0 -54
  347. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:status.md +0 -107
  348. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:steer.md +0 -16
  349. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:sync-confluence.md +0 -14
  350. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:sync-jira.md +0 -15
  351. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:tdd.md +0 -46
  352. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:tokens.md +0 -11
  353. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:tool.md +0 -18
  354. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:ui-phase.md +0 -27
  355. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:ui-review.md +0 -28
  356. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:update.md +0 -45
  357. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:validate-phase.md +0 -25
  358. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:verify-phase.md +0 -65
  359. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:workspace.md +0 -32
  360. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:workstreams.md +0 -27
  361. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/publish-release.md +0 -36
  362. package/.mindforge/mirrors/mirror-sre-776a1cf9/.czrc +0 -3
  363. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/pull_request_template.md +0 -29
  364. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/ai-intelligence.yml +0 -55
  365. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/auto-pr.yml +0 -80
  366. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/control-plane.yml +0 -79
  367. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/execution-plane.yml +0 -52
  368. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/mindforge-ai-review.yml +0 -68
  369. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/mindforge-autonomous.yml +0 -70
  370. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/mindforge-ci.yml +0 -224
  371. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/mindforge-observability.yml +0 -71
  372. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/mindforge-release.yml +0 -55
  373. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/observability-plane.yml +0 -40
  374. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/release-plane.yml +0 -43
  375. package/.mindforge/mirrors/mirror-sre-776a1cf9/.gitlab-ci-mindforge.yml +0 -18
  376. package/.mindforge/mirrors/mirror-sre-776a1cf9/.husky/pre-commit +0 -1
  377. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/MINDFORGE-SCHEMA.json +0 -165
  378. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/MINDFORGE-V2-SCHEMA.json +0 -47
  379. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/audit/AUDIT-SCHEMA.md +0 -470
  380. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/browser/daemon-protocol.md +0 -24
  381. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/browser/qa-engine.md +0 -16
  382. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/browser/session-manager.md +0 -18
  383. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/browser/visual-verify-spec.md +0 -31
  384. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/bypasses.json +0 -8
  385. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/ci/ci-config-schema.md +0 -21
  386. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/ci/ci-mode.md +0 -179
  387. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/ci/github-actions-adapter.md +0 -224
  388. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/ci/gitlab-ci-adapter.md +0 -31
  389. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/ci/jenkins-adapter.md +0 -44
  390. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/config.json +0 -66
  391. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/dashboard/api-reference.md +0 -122
  392. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/dashboard/dashboard-spec.md +0 -96
  393. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/distribution/marketplace.md +0 -53
  394. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/distribution/registry-client.md +0 -166
  395. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/distribution/registry-schema.md +0 -96
  396. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/distribution/skill-publisher.md +0 -44
  397. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/distribution/skill-validator.md +0 -74
  398. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/ads-protocol.md +0 -54
  399. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/autonomous/auto-executor.md +0 -266
  400. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/autonomous/headless-adapter.md +0 -66
  401. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/autonomous/node-repair.md +0 -190
  402. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/autonomous/progress-reporter.md +0 -58
  403. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/autonomous/steering-manager.md +0 -64
  404. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/autonomous/stuck-detector.md +0 -89
  405. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/compaction-protocol.md +0 -167
  406. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/context-injector.md +0 -154
  407. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/dependency-parser.md +0 -113
  408. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/integrity.json +0 -12
  409. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/knowledge-graph-protocol.md +0 -125
  410. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/nexus-tracer.js +0 -11
  411. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/persona-factory.md +0 -45
  412. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/shard-controller.md +0 -53
  413. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/skills/conflict-resolver.md +0 -69
  414. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/skills/loader.md +0 -184
  415. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/skills/registry.md +0 -98
  416. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/skills/versioning.md +0 -75
  417. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/swarm-controller.md +0 -59
  418. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/temporal-protocol.md +0 -40
  419. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/verification-pipeline.md +0 -111
  420. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/wave-executor.md +0 -285
  421. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/governance/GOVERNANCE-CONFIG.md +0 -17
  422. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/governance/approval-workflow.md +0 -37
  423. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/governance/change-classifier.md +0 -63
  424. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/governance/compliance-gates.md +0 -31
  425. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/governance/policies/sovereign-default.json +0 -16
  426. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/integrations/confluence.md +0 -27
  427. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/integrations/connection-manager.md +0 -163
  428. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/integrations/github.md +0 -25
  429. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/integrations/gitlab.md +0 -13
  430. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/integrations/jira.md +0 -102
  431. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/integrations/slack.md +0 -41
  432. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/intelligence/antipattern-detector.md +0 -75
  433. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/intelligence/difficulty-scorer.md +0 -55
  434. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/intelligence/health-engine.md +0 -208
  435. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/intelligence/skill-gap-analyser.md +0 -40
  436. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/intelligence/smart-compaction.md +0 -71
  437. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/memory/MEMORY-SCHEMA.md +0 -155
  438. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/memory/engine/capture-protocol.md +0 -36
  439. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/memory/engine/global-sync-spec.md +0 -42
  440. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/memory/engine/retrieval-spec.md +0 -44
  441. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/metrics/METRICS-SCHEMA.md +0 -42
  442. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/metrics/quality-tracker.md +0 -32
  443. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/models/model-registry.md +0 -48
  444. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/models/model-router.md +0 -30
  445. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/monorepo/cross-package-planner.md +0 -114
  446. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/monorepo/dependency-graph-builder.md +0 -32
  447. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/monorepo/workspace-detector.md +0 -129
  448. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/org/CONVENTIONS.md +0 -62
  449. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/org/ORG.md +0 -51
  450. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/org/SECURITY.md +0 -50
  451. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/org/TOOLS.md +0 -53
  452. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/org/integrations/INTEGRATIONS-CONFIG.md +0 -58
  453. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/org/skills/MANIFEST.md +0 -15
  454. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/advisor-researcher.md +0 -89
  455. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/analyst.md +0 -112
  456. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/architect.md +0 -108
  457. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/assumptions-analyzer-extend.md +0 -87
  458. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/assumptions-analyzer.md +0 -109
  459. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/codebase-mapper-extend.md +0 -93
  460. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/codebase-mapper.md +0 -770
  461. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/coverage-specialist.md +0 -104
  462. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/debug-specialist.md +0 -118
  463. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/debugger.md +0 -97
  464. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/decision-architect.md +0 -102
  465. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/developer.md +0 -97
  466. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/executor.md +0 -88
  467. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/integration-checker.md +0 -92
  468. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/mf-executor.md +0 -40
  469. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/mf-memory.md +0 -33
  470. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/mf-planner.md +0 -45
  471. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/mf-researcher.md +0 -39
  472. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/mf-reviewer.md +0 -35
  473. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/mf-tool.md +0 -33
  474. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/nyquist-auditor.md +0 -84
  475. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/overrides/README.md +0 -85
  476. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/phase-researcher.md +0 -107
  477. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/plan-checker.md +0 -92
  478. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/planner.md +0 -105
  479. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/project-researcher.md +0 -99
  480. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/qa-engineer.md +0 -113
  481. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/release-manager.md +0 -114
  482. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/research-agent.md +0 -109
  483. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/research-synthesizer.md +0 -101
  484. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/roadmapper-extend.md +0 -100
  485. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/roadmapper.md +0 -103
  486. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/security-reviewer.md +0 -114
  487. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/swarm-templates.json +0 -118
  488. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/tech-writer.md +0 -118
  489. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/ui-auditor.md +0 -94
  490. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/ui-checker.md +0 -89
  491. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/ui-researcher.md +0 -99
  492. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/user-profiler.md +0 -93
  493. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/verifier.md +0 -101
  494. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/plugins/PLUGINS-MANIFEST.md +0 -23
  495. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/plugins/plugin-loader.md +0 -93
  496. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/plugins/plugin-registry.md +0 -44
  497. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/plugins/plugin-schema.md +0 -68
  498. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/pr-review/ai-reviewer.md +0 -266
  499. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/pr-review/finding-formatter.md +0 -46
  500. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/pr-review/review-prompt-templates.md +0 -44
  501. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/production/compatibility-layer.md +0 -39
  502. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/production/migration-engine.md +0 -52
  503. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/production/production-checklist.md +0 -76
  504. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/production/token-optimiser.md +0 -68
  505. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/remediation-queue.json +0 -47
  506. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/accessibility/SKILL.md +0 -106
  507. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/api-design/SKILL.md +0 -98
  508. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/code-quality/SKILL.md +0 -88
  509. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/data-privacy/SKILL.md +0 -126
  510. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/database-patterns/SKILL.md +0 -192
  511. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/documentation/SKILL.md +0 -91
  512. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/incident-response/SKILL.md +0 -180
  513. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/performance/SKILL.md +0 -120
  514. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/security-review/SKILL.md +0 -83
  515. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/testing-standards/SKILL.md +0 -97
  516. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills-builder/auto-capture-protocol.md +0 -88
  517. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills-builder/learn-protocol.md +0 -161
  518. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills-builder/quality-scoring.md +0 -120
  519. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/team/TEAM-PROFILE.md +0 -42
  520. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/team/multi-handoff.md +0 -23
  521. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/team/profiles/README.md +0 -13
  522. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/team/session-merger.md +0 -18
  523. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/ARCHITECTURE.md +0 -0
  524. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/AUDIT.jsonl +0 -45
  525. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/HANDOFF.json +0 -8
  526. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/PROJECT.md +0 -33
  527. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/RELEASE-CHECKLIST.md +0 -68
  528. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/REQUIREMENTS.md +0 -23
  529. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/ROADMAP.md +0 -12
  530. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/ROI.jsonl +0 -2
  531. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/STATE.md +0 -31
  532. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/approvals/.gitkeep +0 -1
  533. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/.gitkeep +0 -1
  534. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/org/CONVENTIONS.md +0 -0
  535. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/org/ORG.md +0 -0
  536. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/org/SECURITY.md +0 -0
  537. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/org/TOOLS.md +0 -0
  538. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/analyst.md +0 -0
  539. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/architect.md +0 -0
  540. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/debug-specialist.md +0 -0
  541. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/developer.md +0 -26
  542. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/qa-engineer.md +0 -0
  543. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/release-manager.md +0 -0
  544. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/security-reviewer.md +0 -33
  545. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/tech-writer.md +0 -0
  546. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/skills/api-design/SKILL.md +0 -0
  547. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/skills/code-quality/SKILL.md +0 -0
  548. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/skills/documentation/SKILL.md +0 -0
  549. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/skills/security-review/SKILL.md +0 -23
  550. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/skills/testing-standards/SKILL.md +0 -27
  551. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/ARCHITECTURE-AUDIT-REPORT.md +0 -90
  552. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/LOGS-BENCHMARKING.md +0 -172
  553. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/ROADMAP_V8.md +0 -49
  554. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/github-actions-logs.md +0 -88
  555. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-1-imp/DAY1-HARDEN.md +0 -823
  556. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-1-imp/DAY1-IMPLEMENT.md +0 -2459
  557. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-1-imp/DAY1-REVIEW.md +0 -288
  558. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-2-imp/DAY2-HARDEN.md +0 -954
  559. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-2-imp/DAY2-IMPLEMENT.md +0 -2347
  560. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-2-imp/DAY2-REVIEW.md +0 -422
  561. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-3-imp/DAY3-HARDEN.md +0 -870
  562. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-3-imp/DAY3-IMPLEMENT.md +0 -2798
  563. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-3-imp/DAY3-REVIEW.md +0 -484
  564. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-4-imp/DAY4-HARDEN.md +0 -1087
  565. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-4-imp/DAY4-IMPLEMENT.md +0 -2874
  566. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-4-imp/DAY4-REVIEW.md +0 -386
  567. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-5-imp/DAY5-HARDEN.md +0 -1078
  568. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-5-imp/DAY5-IMPLEMENT.md +0 -3151
  569. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-5-imp/DAY5-REVIEW.md +0 -345
  570. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-6-imp/DAY6-COMPLETE.md +0 -3919
  571. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-7-imp-prod/DAY7-PRODUCTION-FINAL.md +0 -4513
  572. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/ci-actions/github-workflows-v2.md +0 -421
  573. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/ci-actions/v2-ci-actions.md +0 -292
  574. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-10-imp/DAY10-MULTI-MODEL.md +0 -3402
  575. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-11-imp/DAY11-PERSISTENT-MEMORY.md +0 -3237
  576. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-12-imp/DAY12-REALTIME-DASHBOARD.md +0 -3301
  577. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-13-imp/DAY13-SELF-BUILDING-SKILLS.md +0 -3798
  578. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-14-prod-v2/DAY14-V2-PRODUCTION-RELEASE.md +0 -2255
  579. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-8-imp/DAY8-AUTONOMOUS-ENGINE.md +0 -3400
  580. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-9-imp/DAY9-BROWSER-RUNTIME.md +0 -3293
  581. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/audit-archive/.gitkeep +0 -1
  582. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/decisions/.gitkeep +0 -0
  583. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/jira-sync.json +0 -5
  584. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/milestones/.gitkeep +0 -1
  585. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/phases/.gitkeep +0 -0
  586. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/research/.gitkeep +0 -0
  587. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/screenshots/.gitkeep +0 -0
  588. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/slack-threads.json +0 -3
  589. package/.mindforge/mirrors/mirror-sre-776a1cf9/AGENTS_LEARNING.md +0 -112
  590. package/.mindforge/mirrors/mirror-sre-776a1cf9/CHANGELOG.md +0 -1116
  591. package/.mindforge/mirrors/mirror-sre-776a1cf9/LICENSE +0 -21
  592. package/.mindforge/mirrors/mirror-sre-776a1cf9/MINDFORGE.md +0 -91
  593. package/.mindforge/mirrors/mirror-sre-776a1cf9/README.md +0 -424
  594. package/.mindforge/mirrors/mirror-sre-776a1cf9/RELEASENOTES.md +0 -199
  595. package/.mindforge/mirrors/mirror-sre-776a1cf9/REPLICATION.json +0 -12
  596. package/.mindforge/mirrors/mirror-sre-776a1cf9/SECURITY.md +0 -4
  597. package/.mindforge/mirrors/mirror-sre-776a1cf9/SOUL.md +0 -52
  598. package/.mindforge/mirrors/mirror-sre-776a1cf9/agents/executor/IDENTITY.md +0 -31
  599. package/.mindforge/mirrors/mirror-sre-776a1cf9/agents/memory/IDENTITY.md +0 -27
  600. package/.mindforge/mirrors/mirror-sre-776a1cf9/agents/planner/IDENTITY.md +0 -35
  601. package/.mindforge/mirrors/mirror-sre-776a1cf9/agents/researcher/IDENTITY.md +0 -29
  602. package/.mindforge/mirrors/mirror-sre-776a1cf9/agents/reviewer/IDENTITY.md +0 -31
  603. package/.mindforge/mirrors/mirror-sre-776a1cf9/agents/tool/IDENTITY.md +0 -27
  604. package/.mindforge/mirrors/mirror-sre-776a1cf9/auto-pr.yml +0 -74
  605. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/auto-runner.js +0 -378
  606. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/context-refactorer.js +0 -64
  607. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/headless.js +0 -36
  608. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/intent-harvester.js +0 -80
  609. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/mesh-self-healer.js +0 -67
  610. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/progress-stream.js +0 -49
  611. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/repair-operator.js +0 -213
  612. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/steer.js +0 -89
  613. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/stuck-monitor.js +0 -120
  614. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/browser-daemon.js +0 -139
  615. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/daemon-manager.js +0 -91
  616. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/qa-engine.js +0 -47
  617. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/qa-report-writer.js +0 -32
  618. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/regression-writer.js +0 -27
  619. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/screenshot-store.js +0 -49
  620. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/session-manager.js +0 -93
  621. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/visual-verify-executor.js +0 -89
  622. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/change-classifier.js +0 -86
  623. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/api-router.js +0 -198
  624. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/approval-handler.js +0 -134
  625. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/frontend/index.html +0 -751
  626. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/metrics-aggregator.js +0 -296
  627. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/revops-api.js +0 -47
  628. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/server.js +0 -138
  629. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/sse-bridge.js +0 -178
  630. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/team-tracker.js +0 -0
  631. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/temporal-api.js +0 -82
  632. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/context-entropy-guard.js +0 -94
  633. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/feedback-loop.js +0 -106
  634. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/handover-manager.js +0 -71
  635. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/intelligence-interlock.js +0 -39
  636. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/learning-manager.js +0 -181
  637. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/logic-drift-detector.js +0 -100
  638. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/logic-validator.js +0 -74
  639. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/mesh-syncer.js +0 -129
  640. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/nexus-tracer.js +0 -356
  641. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/orbital-guardian.js +0 -84
  642. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/reason-source-aligner.js +0 -111
  643. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/remediation-engine.js +0 -81
  644. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/self-corrective-synthesizer.js +0 -65
  645. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/skill-evolver.js +0 -105
  646. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/sre-manager.js +0 -117
  647. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/temporal-cli.js +0 -52
  648. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/temporal-hindsight.js +0 -115
  649. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/temporal-hub.js +0 -138
  650. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/test-ceg.js +0 -59
  651. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/test-interlock.js +0 -40
  652. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/test-remediation.js +0 -61
  653. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/test-rsa.js +0 -64
  654. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/test-scs.js +0 -57
  655. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/test-v7-blueprint.js +0 -44
  656. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/gov-audit.js +0 -38
  657. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/approve.js +0 -60
  658. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/config-manager.js +0 -85
  659. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/impact-analyzer.js +0 -141
  660. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/policies/critical-data.json +0 -1
  661. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/policies/default-policies.jsonl +0 -33
  662. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/policy-engine.js +0 -210
  663. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/policy-gate-hardened.js +0 -59
  664. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/quantum-crypto.js +0 -111
  665. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/rbac-manager.js +0 -109
  666. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/test-config.js +0 -40
  667. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/test-crypto-pluggable.js +0 -50
  668. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/test-hardened-gate.js +0 -71
  669. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/trust-verifier.js +0 -81
  670. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/ztai-archiver.js +0 -104
  671. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/ztai-manager.js +0 -239
  672. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/hindsight-injector.js +0 -59
  673. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/install.js +0 -129
  674. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/installer-core.js +0 -805
  675. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/auto-shadow.js +0 -274
  676. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/cli.js +0 -99
  677. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/eis-client.js +0 -95
  678. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/embedding-engine.js +0 -326
  679. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/federated-sync.js +0 -293
  680. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/ghost-pattern-detector.js +0 -69
  681. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/global-sync.js +0 -107
  682. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/identity-synthesizer.js +0 -146
  683. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/knowledge-capture.js +0 -442
  684. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/knowledge-graph.js +0 -609
  685. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/knowledge-indexer.js +0 -172
  686. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/knowledge-store.js +0 -337
  687. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/pillar-health-tracker.js +0 -63
  688. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/semantic-hub.js +0 -211
  689. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/session-memory-loader.js +0 -137
  690. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/vector-hub.js +0 -170
  691. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/0.1.0-to-0.5.0.js +0 -36
  692. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/0.5.0-to-0.6.0.js +0 -17
  693. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/0.6.0-to-1.0.0.js +0 -100
  694. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/1.0.0-to-2.0.0.js +0 -115
  695. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/migrate.js +0 -155
  696. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/schema-versions.js +0 -76
  697. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/v8-sqlite-migration.js +0 -85
  698. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/mindforge-cc.sh +0 -5
  699. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/mindforge-cli.js +0 -180
  700. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/anthropic-provider.js +0 -77
  701. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/cloud-broker.js +0 -161
  702. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/cost-tracker.js +0 -118
  703. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/finops-hub.js +0 -79
  704. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/gemini-provider.js +0 -79
  705. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/model-broker.js +0 -129
  706. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/model-client.js +0 -98
  707. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/model-router.js +0 -112
  708. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/openai-provider.js +0 -78
  709. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/performance-stats.json +0 -22
  710. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/research/research-engine.js +0 -115
  711. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/review/ads-engine.js +0 -126
  712. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/review/ads-synthesizer.js +0 -117
  713. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/review/cross-review-engine.js +0 -92
  714. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/review/finding-synthesizer.js +0 -116
  715. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/review/review-report-writer.js +0 -49
  716. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/revops/debt-monitor.js +0 -60
  717. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/revops/market-evaluator.js +0 -73
  718. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/revops/remediation-queue.js +0 -107
  719. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/revops/roi-engine.js +0 -65
  720. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/revops/router-steering-v2.js +0 -73
  721. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/revops/velocity-forecaster.js +0 -59
  722. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/shard-helper.js +0 -134
  723. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skill-registry.js +0 -232
  724. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skill-validator.js +0 -211
  725. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/learn-cli.js +0 -57
  726. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/marketplace-cli.js +0 -54
  727. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/marketplace-client.js +0 -198
  728. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/pattern-detector.js +0 -144
  729. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/skill-generator.js +0 -258
  730. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/skill-registrar.js +0 -107
  731. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/skill-scorer.js +0 -263
  732. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/source-loader.js +0 -268
  733. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/spawn-agent.js +0 -61
  734. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/updater/changelog-fetcher.js +0 -62
  735. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/updater/self-update.js +0 -169
  736. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/updater/version-comparator.js +0 -68
  737. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/validate-config.js +0 -92
  738. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/wizard/config-generator.js +0 -112
  739. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/wizard/environment-detector.js +0 -83
  740. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/wizard/setup-wizard.js +0 -240
  741. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/wizard/theme.js +0 -184
  742. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/CAPABILITIES-MANIFEST.md +0 -64
  743. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Context/Master-Context.md +0 -694
  744. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/INTELLIGENCE-MESH.md +0 -37
  745. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/MIND-FORGE-REFERENCE-V6.md +0 -96
  746. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/PERSONAS.md +0 -920
  747. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/audit-events.md +0 -59
  748. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/checkpoints.md +0 -778
  749. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/commands.md +0 -107
  750. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/config-reference.md +0 -81
  751. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/continuation-format.md +0 -249
  752. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/decimal-phase-calculation.md +0 -64
  753. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/git-integration.md +0 -295
  754. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/git-planning-commit.md +0 -38
  755. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/model-profile-resolution.md +0 -36
  756. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/model-profiles.md +0 -139
  757. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/phase-argument-parsing.md +0 -61
  758. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/planning-config.md +0 -202
  759. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/questioning.md +0 -162
  760. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/sdk-api.md +0 -53
  761. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/skills-api.md +0 -57
  762. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/tdd.md +0 -263
  763. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/ui-brand.md +0 -160
  764. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/user-profiling.md +0 -681
  765. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/verification-patterns.md +0 -612
  766. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/workstream-flag.md +0 -58
  767. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Agents/CLAUDE-MD.md +0 -122
  768. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Agents/COPILOT-INSTRUCTIONS.md +0 -7
  769. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Agents/DEBUGGER-PROMPT.md +0 -91
  770. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Agents/PLANNER-PROMPT.md +0 -117
  771. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/architecture.md +0 -255
  772. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/concerns.md +0 -310
  773. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/conventions.md +0 -307
  774. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/integrations.md +0 -280
  775. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/stack.md +0 -186
  776. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/structure.md +0 -285
  777. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/testing.md +0 -480
  778. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/CONTINUE-HERE.md +0 -78
  779. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/DISCUSSION-LOG.md +0 -63
  780. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/PHASE-PROMPT.md +0 -610
  781. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/STATE.md +0 -176
  782. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/SUMMARY-COMPLEX.md +0 -59
  783. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/SUMMARY-MINIMAL.md +0 -41
  784. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/SUMMARY-STANDARD.md +0 -48
  785. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/SUMMARY.md +0 -248
  786. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Profile/DEV-PREFERENCES.md +0 -21
  787. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Profile/USER-PROFILE.md +0 -146
  788. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Profile/USER-SETUP.md +0 -311
  789. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/AGENTS_LEARNING.md +0 -88
  790. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/DISCOVERY.md +0 -146
  791. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/MILESTONE-ARCHIVE.md +0 -123
  792. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/MILESTONE.md +0 -115
  793. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/PROJECT.md +0 -206
  794. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/REQUIREMENTS.md +0 -231
  795. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/RETROSPECTIVE.md +0 -54
  796. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/ROADMAP.md +0 -202
  797. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Quality/DEBUG.md +0 -164
  798. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Quality/UAT.md +0 -280
  799. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Quality/UI-SPEC.md +0 -100
  800. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Quality/VALIDATION.md +0 -76
  801. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Quality/VERIFICATION-REPORT.md +0 -322
  802. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Research/ARCHITECTURE.md +0 -204
  803. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Research/FEATURES.md +0 -147
  804. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Research/PITFALLS.md +0 -200
  805. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Research/STACK.md +0 -120
  806. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Research/SUMMARY.md +0 -170
  807. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/System/CONFIG.json +0 -43
  808. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/System/CONTEXT.md +0 -352
  809. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/adr/ADR-024-browser-localhost-only.md +0 -17
  810. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/adr/ADR-025-visual-verify-failure-treatment.md +0 -19
  811. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/adr/ADR-026-session-persistence-security.md +0 -20
  812. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/adr/ADR-042-ads-protocol.md +0 -30
  813. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/NEXUS-DASHBOARD.md +0 -35
  814. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/PAR-ZTS-SURVEY.md +0 -43
  815. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/README.md +0 -78
  816. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/V3-CORE.md +0 -52
  817. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/V4-SWARM-MESH.md +0 -77
  818. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/V5-ENTERPRISE.md +0 -131
  819. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/V6-SOVEREIGN.md +0 -43
  820. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/adr-039-multi-runtime-support.md +0 -20
  821. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/adr-040-additive-schema-migration.md +0 -21
  822. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/adr-041-stable-runtime-interface-contract.md +0 -20
  823. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/decision-records-index.md +0 -29
  824. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/ci-cd-integration.md +0 -30
  825. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/ci-cd.md +0 -92
  826. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/ci-quickstart.md +0 -78
  827. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/commands-reference.md +0 -144
  828. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/commands-skills/DISCOVERED_SKILLS.md +0 -21
  829. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/contributing/CONTRIBUTING.md +0 -38
  830. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/contributing/plugin-authoring.md +0 -50
  831. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/contributing/skill-authoring.md +0 -41
  832. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/enterprise-setup.md +0 -25
  833. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/faq.md +0 -38
  834. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/feature-dashboard.md +0 -63
  835. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/getting-started.md +0 -44
  836. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/governance-guide.md +0 -99
  837. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/monorepo-guide.md +0 -26
  838. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/persona-customisation.md +0 -56
  839. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/publishing-guide.md +0 -43
  840. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/quick-verify.md +0 -33
  841. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/AGENTS.md +0 -37
  842. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/COMMANDS.md +0 -87
  843. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/HOOKS.md +0 -38
  844. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/PERSONAS.md +0 -64
  845. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/README.md +0 -27
  846. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/SKILLS.md +0 -142
  847. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/WORKFLOWS.md +0 -72
  848. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/release-checklist-guide.md +0 -37
  849. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/requirements.md +0 -29
  850. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/sdk-reference.md +0 -27
  851. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/security/SECURITY.md +0 -55
  852. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/security/ZTAI-OVERVIEW.md +0 -37
  853. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/security/penetration-test-results.md +0 -31
  854. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/security/threat-model.md +0 -142
  855. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/skills-authoring-guide.md +0 -176
  856. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/skills-publishing-guide.md +0 -22
  857. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/team-setup-guide.md +0 -21
  858. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/testing-current-version.md +0 -130
  859. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/troubleshooting.md +0 -139
  860. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/tutorial.md +0 -162
  861. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/upgrade.md +0 -58
  862. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/user-guide.md +0 -244
  863. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/usp-features.md +0 -102
  864. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/workflow-atlas.md +0 -57
  865. package/.mindforge/mirrors/mirror-sre-776a1cf9/eslint.config.mjs +0 -31
  866. package/.mindforge/mirrors/mirror-sre-776a1cf9/examples/starter-project/.planning/AUDIT.jsonl +0 -1
  867. package/.mindforge/mirrors/mirror-sre-776a1cf9/examples/starter-project/.planning/HANDOFF.json +0 -23
  868. package/.mindforge/mirrors/mirror-sre-776a1cf9/examples/starter-project/.planning/PROJECT.md +0 -27
  869. package/.mindforge/mirrors/mirror-sre-776a1cf9/examples/starter-project/.planning/STATE.md +0 -10
  870. package/.mindforge/mirrors/mirror-sre-776a1cf9/examples/starter-project/MINDFORGE.md +0 -40
  871. package/.mindforge/mirrors/mirror-sre-776a1cf9/examples/starter-project/README.md +0 -14
  872. package/.mindforge/mirrors/mirror-sre-776a1cf9/package-lock.json +0 -3882
  873. package/.mindforge/mirrors/mirror-sre-776a1cf9/package.json +0 -66
  874. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/README.md +0 -69
  875. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/eslint.config.mjs +0 -34
  876. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/package-lock.json +0 -1507
  877. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/package.json +0 -30
  878. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/src/client.ts +0 -133
  879. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/src/commands.ts +0 -63
  880. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/src/events.ts +0 -166
  881. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/src/index.ts +0 -23
  882. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/src/memory.ts +0 -257
  883. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/src/types.ts +0 -87
  884. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/tsconfig.json +0 -13
  885. package/.mindforge/mirrors/mirror-sre-776a1cf9/skills-lock.json +0 -30
  886. package/.mindforge/mirrors/mirror-sre-776a1cf9/test/sovereign-status.test.js +0 -18
  887. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/ads.test.js +0 -121
  888. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/audit.test.js +0 -206
  889. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/autonomous.test.js +0 -53
  890. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/browser.test.js +0 -61
  891. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/ci-mode.test.js +0 -162
  892. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/compaction.test.js +0 -161
  893. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/dashboard.test.js +0 -327
  894. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/distribution.test.js +0 -205
  895. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/e2e.test.js +0 -618
  896. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/entropy-test.js +0 -47
  897. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/feedback-loop.test.js +0 -62
  898. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/governance/test-cadia-optimizer.js +0 -112
  899. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/governance/test-policies/deny-security.json +0 -9
  900. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/governance/test-policies/permit-t2.json +0 -10
  901. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/governance.test.js +0 -130
  902. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/install.test.js +0 -209
  903. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/integrations.test.js +0 -128
  904. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/intelligence.test.js +0 -117
  905. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/knowledge-graph.test.js +0 -593
  906. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/learning-engine.test.js +0 -69
  907. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/mca-routing-test.js +0 -37
  908. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/memory.test.js +0 -166
  909. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/metrics.test.js +0 -96
  910. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/migration.test.js +0 -308
  911. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/model-broker.test.js +0 -55
  912. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/model-routing.test.js +0 -111
  913. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/nexus-tracing.test.js +0 -49
  914. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/production.test.js +0 -416
  915. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/release.test.js +0 -99
  916. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/revops-roi.test.js +0 -52
  917. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/run-nexus-tests.js +0 -84
  918. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/sdk.test.js +0 -200
  919. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/security-audit.test.js +0 -67
  920. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/self-building-skills.test.js +0 -285
  921. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/semantic-hub.test.js +0 -91
  922. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/sharding.test.js +0 -87
  923. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/skills-platform.test.js +0 -389
  924. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/sre-zk-proof-test.js +0 -76
  925. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/swarms.test.md +0 -21
  926. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/temporal-vision.test.js +0 -68
  927. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v7-pillar-integration.test.js +0 -73
  928. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v7-proactive-homing.test.js +0 -53
  929. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v7-sovereign-security.test.js +0 -64
  930. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v8-mesh-sync.test.js +0 -76
  931. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v8-orbital-governance.test.js +0 -74
  932. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v8-persistence.test.js +0 -86
  933. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v8-skill-evolution.test.js +0 -74
  934. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/wave-engine.test.js +0 -336
  935. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/ztai-enterprise.test.js +0 -103
  936. package/.mindforge/remediation-queue.json +0 -47
  937. package/.planning/AUDIT.jsonl +0 -45
  938. package/.planning/RISK-AUDIT.jsonl +0 -53
  939. package/.planning/ROI.jsonl +0 -2
  940. package/.planning/TEMPORAL-TEST.md +0 -1
  941. package/.planning/archive/v8-cleanup/.agents/skills/ai-image-generation/SKILL.md +0 -147
  942. package/.planning/archive/v8-cleanup/.agents/skills/ai-video-generation/SKILL.md +0 -185
  943. package/.planning/archive/v8-cleanup/.agents/skills/critique/SKILL.md +0 -201
  944. package/.planning/archive/v8-cleanup/.agents/skills/critique/reference/cognitive-load.md +0 -106
  945. package/.planning/archive/v8-cleanup/.agents/skills/critique/reference/heuristics-scoring.md +0 -234
  946. package/.planning/archive/v8-cleanup/.agents/skills/critique/reference/personas.md +0 -178
  947. package/.planning/archive/v8-cleanup/.agents/skills/elevenlabs-music/SKILL.md +0 -191
  948. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/SKILL.md +0 -659
  949. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/_sync_all.py +0 -414
  950. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/app-interface.csv +0 -31
  951. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/charts.csv +0 -26
  952. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/colors.csv +0 -162
  953. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/design.csv +0 -1776
  954. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/draft.csv +0 -1779
  955. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/google-fonts.csv +0 -1924
  956. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/icons.csv +0 -106
  957. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/landing.csv +0 -35
  958. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/products.csv +0 -162
  959. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/react-performance.csv +0 -45
  960. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/stacks/react-native.csv +0 -52
  961. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/styles.csv +0 -85
  962. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/typography.csv +0 -74
  963. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/ui-reasoning.csv +0 -162
  964. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/ux-guidelines.csv +0 -100
  965. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/scripts/core.py +0 -247
  966. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/scripts/design_system.py +0 -1067
  967. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/scripts/search.py +0 -114
  968. package/.planning/archive/v8-cleanup/.forge/org/CONVENTIONS.md +0 -0
  969. package/.planning/archive/v8-cleanup/.forge/org/ORG.md +0 -0
  970. package/.planning/archive/v8-cleanup/.forge/org/SECURITY.md +0 -0
  971. package/.planning/archive/v8-cleanup/.forge/org/TOOLS.md +0 -0
  972. package/.planning/archive/v8-cleanup/.forge/personas/analyst.md +0 -0
  973. package/.planning/archive/v8-cleanup/.forge/personas/architect.md +0 -0
  974. package/.planning/archive/v8-cleanup/.forge/personas/debug-specialist.md +0 -0
  975. package/.planning/archive/v8-cleanup/.forge/personas/developer.md +0 -26
  976. package/.planning/archive/v8-cleanup/.forge/personas/qa-engineer.md +0 -0
  977. package/.planning/archive/v8-cleanup/.forge/personas/release-manager.md +0 -0
  978. package/.planning/archive/v8-cleanup/.forge/personas/security-reviewer.md +0 -33
  979. package/.planning/archive/v8-cleanup/.forge/personas/tech-writer.md +0 -0
  980. package/.planning/archive/v8-cleanup/.forge/skills/api-design/SKILL.md +0 -0
  981. package/.planning/archive/v8-cleanup/.forge/skills/code-quality/SKILL.md +0 -0
  982. package/.planning/archive/v8-cleanup/.forge/skills/documentation/SKILL.md +0 -0
  983. package/.planning/archive/v8-cleanup/.forge/skills/security-review/SKILL.md +0 -23
  984. package/.planning/archive/v8-cleanup/.forge/skills/testing-standards/SKILL.md +0 -27
  985. package/.planning/archive/v8-cleanup/ARCHITECTURE-AUDIT-REPORT.md +0 -90
  986. package/.planning/archive/v8-cleanup/LOGS-BENCHMARKING.md +0 -172
  987. package/.planning/archive/v8-cleanup/MIND-FORGE-V6-ENTERPRISE-PROPOSAL.md +0 -79
  988. package/.planning/archive/v8-cleanup/ROADMAP_V7.md +0 -67
  989. package/.planning/archive/v8-cleanup/ROADMAP_V8.md +0 -49
  990. package/.planning/archive/v8-cleanup/github-actions-logs.md +0 -88
  991. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-1-imp/DAY1-HARDEN.md +0 -823
  992. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-1-imp/DAY1-IMPLEMENT.md +0 -2459
  993. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-1-imp/DAY1-REVIEW.md +0 -288
  994. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-2-imp/DAY2-HARDEN.md +0 -954
  995. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-2-imp/DAY2-IMPLEMENT.md +0 -2347
  996. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-2-imp/DAY2-REVIEW.md +0 -422
  997. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-3-imp/DAY3-HARDEN.md +0 -870
  998. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-3-imp/DAY3-IMPLEMENT.md +0 -2798
  999. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-3-imp/DAY3-REVIEW.md +0 -484
  1000. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-4-imp/DAY4-HARDEN.md +0 -1087
  1001. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-4-imp/DAY4-IMPLEMENT.md +0 -2874
  1002. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-4-imp/DAY4-REVIEW.md +0 -386
  1003. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-5-imp/DAY5-HARDEN.md +0 -1078
  1004. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-5-imp/DAY5-IMPLEMENT.md +0 -3151
  1005. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-5-imp/DAY5-REVIEW.md +0 -345
  1006. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-6-imp/DAY6-COMPLETE.md +0 -3919
  1007. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-7-imp-prod/DAY7-PRODUCTION-FINAL.md +0 -4513
  1008. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/ci-actions/github-workflows-v2.md +0 -421
  1009. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/ci-actions/v2-ci-actions.md +0 -292
  1010. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-10-imp/DAY10-MULTI-MODEL.md +0 -3402
  1011. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-11-imp/DAY11-PERSISTENT-MEMORY.md +0 -3237
  1012. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-12-imp/DAY12-REALTIME-DASHBOARD.md +0 -3301
  1013. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-13-imp/DAY13-SELF-BUILDING-SKILLS.md +0 -3798
  1014. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-14-prod-v2/DAY14-V2-PRODUCTION-RELEASE.md +0 -2255
  1015. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-8-imp/DAY8-AUTONOMOUS-ENGINE.md +0 -3400
  1016. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-9-imp/DAY9-BROWSER-RUNTIME.md +0 -3293
  1017. package/.planning/decisions/SRE-4e54a061.md +0 -19
  1018. package/.planning/history/36525e1d9da1b674/ARCHITECTURE.md +0 -0
  1019. package/.planning/history/36525e1d9da1b674/HANDOFF.json +0 -8
  1020. package/.planning/history/36525e1d9da1b674/PROJECT.md +0 -33
  1021. package/.planning/history/36525e1d9da1b674/RELEASE-CHECKLIST.md +0 -68
  1022. package/.planning/history/36525e1d9da1b674/REQUIREMENTS.md +0 -0
  1023. package/.planning/history/36525e1d9da1b674/ROADMAP.md +0 -12
  1024. package/.planning/history/36525e1d9da1b674/SNAPSHOT-META.json +0 -18
  1025. package/.planning/history/36525e1d9da1b674/STATE.md +0 -31
  1026. package/.planning/history/36525e1d9da1b674/TEMPORAL-TEST.md +0 -1
  1027. package/.planning/history/36525e1d9da1b674/jira-sync.json +0 -5
  1028. package/.planning/history/36525e1d9da1b674/slack-threads.json +0 -3
  1029. package/.planning/history/test-audit-001/ARCHITECTURE.md +0 -0
  1030. package/.planning/history/test-audit-001/HANDOFF.json +0 -8
  1031. package/.planning/history/test-audit-001/PROJECT.md +0 -33
  1032. package/.planning/history/test-audit-001/RELEASE-CHECKLIST.md +0 -68
  1033. package/.planning/history/test-audit-001/REQUIREMENTS.md +0 -0
  1034. package/.planning/history/test-audit-001/ROADMAP.md +0 -12
  1035. package/.planning/history/test-audit-001/SNAPSHOT-META.json +0 -17
  1036. package/.planning/history/test-audit-001/STATE.md +0 -31
  1037. package/.planning/history/test-audit-001/TEMPORAL-TEST.md +0 -1
  1038. package/.planning/history/test-audit-001/jira-sync.json +0 -5
  1039. package/.planning/history/test-audit-001/slack-threads.json +0 -3
  1040. package/bin/engine/test-ceg.js +0 -59
  1041. package/bin/engine/test-interlock.js +0 -40
  1042. package/bin/engine/test-remediation.js +0 -61
  1043. package/bin/engine/test-rsa.js +0 -64
  1044. package/bin/engine/test-scs.js +0 -57
  1045. package/bin/engine/test-v7-blueprint.js +0 -44
  1046. package/bin/governance/test-config.js +0 -40
  1047. package/bin/governance/test-crypto-pluggable.js +0 -50
  1048. package/bin/governance/test-hardened-gate.js +0 -71
@@ -1,1166 +0,0 @@
1
- /**
2
- * Core — Shared utilities, constants, and internal helpers
3
- */
4
-
5
- const fs = require('fs');
6
- const path = require('path');
7
- const { execSync, execFileSync, spawnSync } = require('child_process');
8
- const { MODEL_PROFILES } = require('./model-profiles.cjs');
9
-
10
- // ─── Path helpers ────────────────────────────────────────────────────────────
11
-
12
- /** Normalize a relative path to always use forward slashes (cross-platform). */
13
- function toPosixPath(p) {
14
- return p.split(path.sep).join('/');
15
- }
16
-
17
- /**
18
- * Scan immediate child directories for separate git repos.
19
- * Returns a sorted array of directory names that have their own `.git`.
20
- * Excludes hidden directories and node_modules.
21
- */
22
- function detectSubRepos(cwd) {
23
- const results = [];
24
- try {
25
- const entries = fs.readdirSync(cwd, { withFileTypes: true });
26
- for (const entry of entries) {
27
- if (!entry.isDirectory()) continue;
28
- if (entry.name.startsWith('.') || entry.name === 'node_modules') continue;
29
- const gitPath = path.join(cwd, entry.name, '.git');
30
- try {
31
- if (fs.existsSync(gitPath)) {
32
- results.push(entry.name);
33
- }
34
- } catch {}
35
- }
36
- } catch {}
37
- return results.sort();
38
- }
39
-
40
- /**
41
- * Walk up from `startDir` to find the project root that owns `.planning/`.
42
- *
43
- * In multi-repo workspaces, the agent may open inside a sub-repo (e.g. `backend/`)
44
- * instead of the project root. This function prevents `.planning/` from being
45
- * created inside the sub-repo by locating the nearest ancestor that already has
46
- * a `.planning/` directory.
47
- *
48
- * Detection strategy (checked in order for each ancestor):
49
- * 1. Parent has `.planning/config.json` with `sub_repos` listing this directory
50
- * 2. Parent has `.planning/config.json` with `multiRepo: true` (legacy format)
51
- * 3. Parent has `.planning/` and current dir has its own `.git` (heuristic)
52
- *
53
- * Returns `startDir` unchanged when no ancestor `.planning/` is found (first-run
54
- * or single-repo projects).
55
- */
56
- function findProjectRoot(startDir) {
57
- const resolved = path.resolve(startDir);
58
- const root = path.parse(resolved).root;
59
- const homedir = require('os').homedir();
60
-
61
- // Check if startDir or any of its ancestors (up to but not including a
62
- // candidate project root) contains a .git directory. This handles both
63
- // `backend/` (direct sub-repo) and `backend/src/modules/` (nested inside).
64
- function isInsideGitRepo(candidateParent) {
65
- let d = resolved;
66
- while (d !== candidateParent && d !== root) {
67
- if (fs.existsSync(path.join(d, '.git'))) return true;
68
- d = path.dirname(d);
69
- }
70
- return false;
71
- }
72
-
73
- let dir = resolved;
74
- while (dir !== root) {
75
- const parent = path.dirname(dir);
76
- if (parent === dir) break; // filesystem root
77
- if (parent === homedir) break; // never go above home
78
-
79
- const parentPlanning = path.join(parent, '.planning');
80
- if (fs.existsSync(parentPlanning) && fs.statSync(parentPlanning).isDirectory()) {
81
- const configPath = path.join(parentPlanning, 'config.json');
82
- try {
83
- const config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
84
- const subRepos = config.sub_repos || config.planning?.sub_repos || [];
85
-
86
- // Check explicit sub_repos list
87
- if (Array.isArray(subRepos) && subRepos.length > 0) {
88
- const relPath = path.relative(parent, resolved);
89
- const topSegment = relPath.split(path.sep)[0];
90
- if (subRepos.includes(topSegment)) {
91
- return parent;
92
- }
93
- }
94
-
95
- // Check legacy multiRepo flag
96
- if (config.multiRepo === true && isInsideGitRepo(parent)) {
97
- return parent;
98
- }
99
- } catch {
100
- // config.json missing or malformed — fall back to .git heuristic
101
- }
102
-
103
- // Heuristic: parent has .planning/ and we're inside a git repo
104
- if (isInsideGitRepo(parent)) {
105
- return parent;
106
- }
107
- }
108
- dir = parent;
109
- }
110
- return startDir;
111
- }
112
-
113
- // ─── Output helpers ───────────────────────────────────────────────────────────
114
-
115
- /**
116
- * Remove stale mindforge-* temp files/dirs older than maxAgeMs (default: 5 minutes).
117
- * Runs opportunistically before each new temp file write to prevent unbounded accumulation.
118
- * @param {string} prefix - filename prefix to match (e.g., 'mindforge-')
119
- * @param {object} opts
120
- * @param {number} opts.maxAgeMs - max age in ms before removal (default: 5 min)
121
- * @param {boolean} opts.dirsOnly - if true, only remove directories (default: false)
122
- */
123
- function reapStaleTempFiles(prefix = 'mindforge-', { maxAgeMs = 5 * 60 * 1000, dirsOnly = false } = {}) {
124
- try {
125
- const tmpDir = require('os').tmpdir();
126
- const now = Date.now();
127
- const entries = fs.readdirSync(tmpDir);
128
- for (const entry of entries) {
129
- if (!entry.startsWith(prefix)) continue;
130
- const fullPath = path.join(tmpDir, entry);
131
- try {
132
- const stat = fs.statSync(fullPath);
133
- if (now - stat.mtimeMs > maxAgeMs) {
134
- if (stat.isDirectory()) {
135
- fs.rmSync(fullPath, { recursive: true, force: true });
136
- } else if (!dirsOnly) {
137
- fs.unlinkSync(fullPath);
138
- }
139
- }
140
- } catch {
141
- // File may have been removed between readdir and stat — ignore
142
- }
143
- }
144
- } catch {
145
- // Non-critical — don't let cleanup failures break output
146
- }
147
- }
148
-
149
- function output(result, raw, rawValue) {
150
- let data;
151
- if (raw && rawValue !== undefined) {
152
- data = String(rawValue);
153
- } else {
154
- const json = JSON.stringify(result, null, 2);
155
- // Large payloads exceed Claude Code's Bash tool buffer (~50KB).
156
- // Write to tmpfile and output the path prefixed with @file: so callers can detect it.
157
- if (json.length > 50000) {
158
- reapStaleTempFiles();
159
- const tmpPath = path.join(require('os').tmpdir(), `mindforge-${Date.now()}.json`);
160
- fs.writeFileSync(tmpPath, json, 'utf-8');
161
- data = '@file:' + tmpPath;
162
- } else {
163
- data = json;
164
- }
165
- }
166
- // process.stdout.write() is async when stdout is a pipe — process.exit()
167
- // can tear down the process before the reader consumes the buffer.
168
- // fs.writeSync(1, ...) blocks until the kernel accepts the bytes, and
169
- // skipping process.exit() lets the event loop drain naturally.
170
- fs.writeSync(1, data);
171
- }
172
-
173
- function error(message) {
174
- fs.writeSync(2, 'Error: ' + message + '\n');
175
- process.exit(1);
176
- }
177
-
178
- // ─── File & Config utilities ──────────────────────────────────────────────────
179
-
180
- function safeReadFile(filePath) {
181
- try {
182
- return fs.readFileSync(filePath, 'utf-8');
183
- } catch {
184
- return null;
185
- }
186
- }
187
-
188
- function loadConfig(cwd) {
189
- const configPath = path.join(cwd, '.planning', 'config.json');
190
- const defaults = {
191
- model_profile: 'balanced',
192
- commit_docs: true,
193
- search_gitignored: false,
194
- branching_strategy: 'none',
195
- phase_branch_template: 'mindforge/phase-{phase}-{slug}',
196
- milestone_branch_template: 'mindforge/{milestone}-{slug}',
197
- quick_branch_template: null,
198
- research: true,
199
- plan_checker: true,
200
- verifier: true,
201
- nyquist_validation: true,
202
- parallelization: true,
203
- brave_search: false,
204
- firecrawl: false,
205
- exa_search: false,
206
- text_mode: false, // when true, use plain-text numbered lists instead of AskUserQuestion menus
207
- sub_repos: [],
208
- resolve_model_ids: false, // false: return alias as-is | true: map to full the agent model ID | "omit": return '' (runtime uses its default)
209
- context_window: 200000, // default 200k; set to 1000000 for Opus/Sonnet 4.6 1M models
210
- phase_naming: 'sequential', // 'sequential' (default, auto-increment) or 'custom' (arbitrary string IDs)
211
- };
212
-
213
- try {
214
- const raw = fs.readFileSync(configPath, 'utf-8');
215
- const parsed = JSON.parse(raw);
216
-
217
- // Migrate deprecated "depth" key to "granularity" with value mapping
218
- if ('depth' in parsed && !('granularity' in parsed)) {
219
- const depthToGranularity = { quick: 'coarse', standard: 'standard', comprehensive: 'fine' };
220
- parsed.granularity = depthToGranularity[parsed.depth] || parsed.depth;
221
- delete parsed.depth;
222
- try { fs.writeFileSync(configPath, JSON.stringify(parsed, null, 2), 'utf-8'); } catch { /* intentionally empty */ }
223
- }
224
-
225
- // Auto-detect and sync sub_repos: scan for child directories with .git
226
- let configDirty = false;
227
-
228
- // Migrate legacy "multiRepo: true" boolean → sub_repos array
229
- if (parsed.multiRepo === true && !parsed.sub_repos && !parsed.planning?.sub_repos) {
230
- const detected = detectSubRepos(cwd);
231
- if (detected.length > 0) {
232
- parsed.sub_repos = detected;
233
- if (!parsed.planning) parsed.planning = {};
234
- parsed.planning.commit_docs = false;
235
- delete parsed.multiRepo;
236
- configDirty = true;
237
- }
238
- }
239
-
240
- // Keep sub_repos in sync with actual filesystem
241
- const currentSubRepos = parsed.sub_repos || parsed.planning?.sub_repos || [];
242
- if (Array.isArray(currentSubRepos) && currentSubRepos.length > 0) {
243
- const detected = detectSubRepos(cwd);
244
- if (detected.length > 0) {
245
- const sorted = [...currentSubRepos].sort();
246
- if (JSON.stringify(sorted) !== JSON.stringify(detected)) {
247
- parsed.sub_repos = detected;
248
- configDirty = true;
249
- }
250
- }
251
- }
252
-
253
- // Persist sub_repos changes (migration or sync)
254
- if (configDirty) {
255
- try { fs.writeFileSync(configPath, JSON.stringify(parsed, null, 2), 'utf-8'); } catch {}
256
- }
257
-
258
- const get = (key, nested) => {
259
- if (parsed[key] !== undefined) return parsed[key];
260
- if (nested && parsed[nested.section] && parsed[nested.section][nested.field] !== undefined) {
261
- return parsed[nested.section][nested.field];
262
- }
263
- return undefined;
264
- };
265
-
266
- const parallelization = (() => {
267
- const val = get('parallelization');
268
- if (typeof val === 'boolean') return val;
269
- if (typeof val === 'object' && val !== null && 'enabled' in val) return val.enabled;
270
- return defaults.parallelization;
271
- })();
272
-
273
- return {
274
- model_profile: get('model_profile') ?? defaults.model_profile,
275
- commit_docs: (() => {
276
- const explicit = get('commit_docs', { section: 'planning', field: 'commit_docs' });
277
- // If explicitly set in config, respect the user's choice
278
- if (explicit !== undefined) return explicit;
279
- // Auto-detection: when no explicit value and .planning/ is gitignored,
280
- // default to false instead of true
281
- if (isGitIgnored(cwd, '.planning/')) return false;
282
- return defaults.commit_docs;
283
- })(),
284
- search_gitignored: get('search_gitignored', { section: 'planning', field: 'search_gitignored' }) ?? defaults.search_gitignored,
285
- branching_strategy: get('branching_strategy', { section: 'git', field: 'branching_strategy' }) ?? defaults.branching_strategy,
286
- phase_branch_template: get('phase_branch_template', { section: 'git', field: 'phase_branch_template' }) ?? defaults.phase_branch_template,
287
- milestone_branch_template: get('milestone_branch_template', { section: 'git', field: 'milestone_branch_template' }) ?? defaults.milestone_branch_template,
288
- quick_branch_template: get('quick_branch_template', { section: 'git', field: 'quick_branch_template' }) ?? defaults.quick_branch_template,
289
- research: get('research', { section: 'workflow', field: 'research' }) ?? defaults.research,
290
- plan_checker: get('plan_checker', { section: 'workflow', field: 'plan_check' }) ?? defaults.plan_checker,
291
- verifier: get('verifier', { section: 'workflow', field: 'verifier' }) ?? defaults.verifier,
292
- nyquist_validation: get('nyquist_validation', { section: 'workflow', field: 'nyquist_validation' }) ?? defaults.nyquist_validation,
293
- parallelization,
294
- brave_search: get('brave_search') ?? defaults.brave_search,
295
- firecrawl: get('firecrawl') ?? defaults.firecrawl,
296
- exa_search: get('exa_search') ?? defaults.exa_search,
297
- text_mode: get('text_mode', { section: 'workflow', field: 'text_mode' }) ?? defaults.text_mode,
298
- sub_repos: get('sub_repos', { section: 'planning', field: 'sub_repos' }) ?? defaults.sub_repos,
299
- resolve_model_ids: get('resolve_model_ids') ?? defaults.resolve_model_ids,
300
- context_window: get('context_window') ?? defaults.context_window,
301
- phase_naming: get('phase_naming') ?? defaults.phase_naming,
302
- model_overrides: parsed.model_overrides || null,
303
- };
304
- } catch {
305
- return defaults;
306
- }
307
- }
308
-
309
- // ─── Git utilities ────────────────────────────────────────────────────────────
310
-
311
- function isGitIgnored(cwd, targetPath) {
312
- try {
313
- // --no-index checks .gitignore rules regardless of whether the file is tracked.
314
- // Without it, git check-ignore returns "not ignored" for tracked files even when
315
- // .gitignore explicitly lists them — a common source of confusion when .planning/
316
- // was committed before being added to .gitignore.
317
- // Use execFileSync (array args) to prevent shell interpretation of special characters
318
- // in file paths — avoids command injection via crafted path names.
319
- execFileSync('git', ['check-ignore', '-q', '--no-index', '--', targetPath], {
320
- cwd,
321
- stdio: 'pipe',
322
- });
323
- return true;
324
- } catch {
325
- return false;
326
- }
327
- }
328
-
329
- // ─── Markdown normalization ─────────────────────────────────────────────────
330
-
331
- /**
332
- * Normalize markdown to fix common markdownlint violations.
333
- * Applied at write points so MindForge-generated .planning/ files are IDE-friendly.
334
- *
335
- * Rules enforced:
336
- * MD022 — Blank lines around headings
337
- * MD031 — Blank lines around fenced code blocks
338
- * MD032 — Blank lines around lists
339
- * MD012 — No multiple consecutive blank lines (collapsed to 2 max)
340
- * MD047 — Files end with a single newline
341
- */
342
- function normalizeMd(content) {
343
- if (!content || typeof content !== 'string') return content;
344
-
345
- // Normalize line endings to LF for consistent processing
346
- let text = content.replace(/\r\n/g, '\n');
347
-
348
- const lines = text.split('\n');
349
- const result = [];
350
-
351
- for (let i = 0; i < lines.length; i++) {
352
- const line = lines[i];
353
- const prev = i > 0 ? lines[i - 1] : '';
354
- const prevTrimmed = prev.trimEnd();
355
- const trimmed = line.trimEnd();
356
-
357
- // MD022: Blank line before headings (skip first line and frontmatter delimiters)
358
- if (/^#{1,6}\s/.test(trimmed) && i > 0 && prevTrimmed !== '' && prevTrimmed !== '---') {
359
- result.push('');
360
- }
361
-
362
- // MD031: Blank line before fenced code blocks
363
- if (/^```/.test(trimmed) && i > 0 && prevTrimmed !== '' && !isInsideFencedBlock(lines, i)) {
364
- result.push('');
365
- }
366
-
367
- // MD032: Blank line before lists (- item, * item, N. item, - [ ] item)
368
- if (/^(\s*[-*+]\s|\s*\d+\.\s)/.test(line) && i > 0 &&
369
- prevTrimmed !== '' && !/^(\s*[-*+]\s|\s*\d+\.\s)/.test(prev) &&
370
- prevTrimmed !== '---') {
371
- result.push('');
372
- }
373
-
374
- result.push(line);
375
-
376
- // MD022: Blank line after headings
377
- if (/^#{1,6}\s/.test(trimmed) && i < lines.length - 1) {
378
- const next = lines[i + 1];
379
- if (next !== undefined && next.trimEnd() !== '') {
380
- result.push('');
381
- }
382
- }
383
-
384
- // MD031: Blank line after closing fenced code blocks
385
- if (/^```\s*$/.test(trimmed) && isClosingFence(lines, i) && i < lines.length - 1) {
386
- const next = lines[i + 1];
387
- if (next !== undefined && next.trimEnd() !== '') {
388
- result.push('');
389
- }
390
- }
391
-
392
- // MD032: Blank line after last list item in a block
393
- if (/^(\s*[-*+]\s|\s*\d+\.\s)/.test(line) && i < lines.length - 1) {
394
- const next = lines[i + 1];
395
- if (next !== undefined && next.trimEnd() !== '' &&
396
- !/^(\s*[-*+]\s|\s*\d+\.\s)/.test(next) &&
397
- !/^\s/.test(next)) {
398
- // Only add blank line if next line is not a continuation/indented line
399
- result.push('');
400
- }
401
- }
402
- }
403
-
404
- text = result.join('\n');
405
-
406
- // MD012: Collapse 3+ consecutive blank lines to 2
407
- text = text.replace(/\n{3,}/g, '\n\n');
408
-
409
- // MD047: Ensure file ends with exactly one newline
410
- text = text.replace(/\n*$/, '\n');
411
-
412
- return text;
413
- }
414
-
415
- /** Check if line index i is inside an already-open fenced code block */
416
- function isInsideFencedBlock(lines, i) {
417
- let fenceCount = 0;
418
- for (let j = 0; j < i; j++) {
419
- if (/^```/.test(lines[j].trimEnd())) fenceCount++;
420
- }
421
- return fenceCount % 2 === 1;
422
- }
423
-
424
- /** Check if a ``` line is a closing fence (odd number of fences up to and including this one) */
425
- function isClosingFence(lines, i) {
426
- let fenceCount = 0;
427
- for (let j = 0; j <= i; j++) {
428
- if (/^```/.test(lines[j].trimEnd())) fenceCount++;
429
- }
430
- return fenceCount % 2 === 0;
431
- }
432
-
433
- function execGit(cwd, args) {
434
- const result = spawnSync('git', args, {
435
- cwd,
436
- stdio: 'pipe',
437
- encoding: 'utf-8',
438
- });
439
- return {
440
- exitCode: result.status ?? 1,
441
- stdout: (result.stdout ?? '').toString().trim(),
442
- stderr: (result.stderr ?? '').toString().trim(),
443
- };
444
- }
445
-
446
- // ─── Common path helpers ──────────────────────────────────────────────────────
447
-
448
- /**
449
- * Resolve the main worktree root when running inside a git worktree.
450
- * In a linked worktree, .planning/ lives in the main worktree, not in the linked one.
451
- * Returns the main worktree path, or cwd if not in a worktree.
452
- */
453
- function resolveWorktreeRoot(cwd) {
454
- // If the current directory already has its own .planning/, respect it.
455
- // This handles linked worktrees with independent planning state (e.g., Conductor workspaces).
456
- if (fs.existsSync(path.join(cwd, '.planning'))) {
457
- return cwd;
458
- }
459
-
460
- // Check if we're in a linked worktree
461
- const gitDir = execGit(cwd, ['rev-parse', '--git-dir']);
462
- const commonDir = execGit(cwd, ['rev-parse', '--git-common-dir']);
463
-
464
- if (gitDir.exitCode !== 0 || commonDir.exitCode !== 0) return cwd;
465
-
466
- // In a linked worktree, .git is a file pointing to .git/worktrees/<name>
467
- // and git-common-dir points to the main repo's .git directory
468
- const gitDirResolved = path.resolve(cwd, gitDir.stdout);
469
- const commonDirResolved = path.resolve(cwd, commonDir.stdout);
470
-
471
- if (gitDirResolved !== commonDirResolved) {
472
- // We're in a linked worktree — resolve main worktree root
473
- // The common dir is the main repo's .git, so its parent is the main worktree root
474
- return path.dirname(commonDirResolved);
475
- }
476
-
477
- return cwd;
478
- }
479
-
480
- /**
481
- * Acquire a file-based lock for .planning/ writes.
482
- * Prevents concurrent worktrees from corrupting shared planning files.
483
- * Lock is auto-released after the callback completes.
484
- */
485
- function withPlanningLock(cwd, fn) {
486
- const lockPath = path.join(planningDir(cwd), '.lock');
487
- const lockTimeout = 10000; // 10 seconds
488
- const retryDelay = 100;
489
- const start = Date.now();
490
-
491
- // Ensure .planning/ exists
492
- try { fs.mkdirSync(planningDir(cwd), { recursive: true }); } catch { /* ok */ }
493
-
494
- while (Date.now() - start < lockTimeout) {
495
- try {
496
- // Atomic create — fails if file exists
497
- fs.writeFileSync(lockPath, JSON.stringify({
498
- pid: process.pid,
499
- cwd,
500
- acquired: new Date().toISOString(),
501
- }), { flag: 'wx' });
502
-
503
- // Lock acquired — run the function
504
- try {
505
- return fn();
506
- } finally {
507
- try { fs.unlinkSync(lockPath); } catch { /* already released */ }
508
- }
509
- } catch (err) {
510
- if (err.code === 'EEXIST') {
511
- // Lock exists — check if stale (>30s old)
512
- try {
513
- const stat = fs.statSync(lockPath);
514
- if (Date.now() - stat.mtimeMs > 30000) {
515
- fs.unlinkSync(lockPath);
516
- continue; // retry
517
- }
518
- } catch { continue; }
519
-
520
- // Wait and retry
521
- spawnSync('sleep', ['0.1'], { stdio: 'ignore' });
522
- continue;
523
- }
524
- throw err;
525
- }
526
- }
527
- // Timeout — force acquire (stale lock recovery)
528
- try { fs.unlinkSync(lockPath); } catch { /* ok */ }
529
- return fn();
530
- }
531
-
532
- /**
533
- * Get the .planning directory path, workstream-aware.
534
- * When a workstream is active (via explicit ws arg or MindForge_WORKSTREAM env var),
535
- * returns `.planning/workstreams/{ws}/`. Otherwise returns `.planning/`.
536
- *
537
- * @param {string} cwd - project root
538
- * @param {string} [ws] - explicit workstream name; if omitted, checks MindForge_WORKSTREAM env var
539
- */
540
- function planningDir(cwd, ws) {
541
- if (ws === undefined) ws = process.env.MindForge_WORKSTREAM || null;
542
- if (!ws) return path.join(cwd, '.planning');
543
- return path.join(cwd, '.planning', 'workstreams', ws);
544
- }
545
-
546
- /** Always returns the root .planning/ path, ignoring workstreams. For shared resources. */
547
- function planningRoot(cwd) {
548
- return path.join(cwd, '.planning');
549
- }
550
-
551
- /**
552
- * Get common .planning file paths, workstream-aware.
553
- * Scoped paths (state, roadmap, phases, requirements) resolve to the active workstream.
554
- * Shared paths (project, config) always resolve to the root .planning/.
555
- */
556
- function planningPaths(cwd, ws) {
557
- const base = planningDir(cwd, ws);
558
- const root = path.join(cwd, '.planning');
559
- return {
560
- planning: base,
561
- state: path.join(base, 'STATE.md'),
562
- roadmap: path.join(base, 'ROADMAP.md'),
563
- project: path.join(root, 'PROJECT.md'),
564
- config: path.join(root, 'config.json'),
565
- phases: path.join(base, 'phases'),
566
- requirements: path.join(base, 'REQUIREMENTS.md'),
567
- };
568
- }
569
-
570
- // ─── Active Workstream Detection ─────────────────────────────────────────────
571
-
572
- /**
573
- * Get the active workstream name from .planning/active-workstream file.
574
- * Returns null if no active workstream or file doesn't exist.
575
- */
576
- function getActiveWorkstream(cwd) {
577
- const filePath = path.join(planningRoot(cwd), 'active-workstream');
578
- try {
579
- const name = fs.readFileSync(filePath, 'utf-8').trim();
580
- if (!name || !/^[a-zA-Z0-9_-]+$/.test(name)) return null;
581
- const wsDir = path.join(planningRoot(cwd), 'workstreams', name);
582
- if (!fs.existsSync(wsDir)) return null;
583
- return name;
584
- } catch {
585
- return null;
586
- }
587
- }
588
-
589
- /**
590
- * Set the active workstream. Pass null to clear.
591
- */
592
- function setActiveWorkstream(cwd, name) {
593
- const filePath = path.join(planningRoot(cwd), 'active-workstream');
594
- if (!name) {
595
- try { fs.unlinkSync(filePath); } catch {}
596
- return;
597
- }
598
- if (!/^[a-zA-Z0-9_-]+$/.test(name)) {
599
- throw new Error('Invalid workstream name: must be alphanumeric, hyphens, and underscores only');
600
- }
601
- fs.writeFileSync(filePath, name + '\n', 'utf-8');
602
- }
603
-
604
- // ─── Phase utilities ──────────────────────────────────────────────────────────
605
-
606
- function escapeRegex(value) {
607
- return String(value).replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
608
- }
609
-
610
- function normalizePhaseName(phase) {
611
- const str = String(phase);
612
- // Standard numeric phases: 1, 01, 12A, 12.1
613
- const match = str.match(/^(\d+)([A-Z])?((?:\.\d+)*)/i);
614
- if (match) {
615
- const padded = match[1].padStart(2, '0');
616
- const letter = match[2] ? match[2].toUpperCase() : '';
617
- const decimal = match[3] || '';
618
- return padded + letter + decimal;
619
- }
620
- // Custom phase IDs (e.g. PROJ-42, AUTH-101): return as-is
621
- return str;
622
- }
623
-
624
- function comparePhaseNum(a, b) {
625
- const pa = String(a).match(/^(\d+)([A-Z])?((?:\.\d+)*)/i);
626
- const pb = String(b).match(/^(\d+)([A-Z])?((?:\.\d+)*)/i);
627
- // If either is non-numeric (custom ID), fall back to string comparison
628
- if (!pa || !pb) return String(a).localeCompare(String(b));
629
- const intDiff = parseInt(pa[1], 10) - parseInt(pb[1], 10);
630
- if (intDiff !== 0) return intDiff;
631
- // No letter sorts before letter: 12 < 12A < 12B
632
- const la = (pa[2] || '').toUpperCase();
633
- const lb = (pb[2] || '').toUpperCase();
634
- if (la !== lb) {
635
- if (!la) return -1;
636
- if (!lb) return 1;
637
- return la < lb ? -1 : 1;
638
- }
639
- // Segment-by-segment decimal comparison: 12A < 12A.1 < 12A.1.2 < 12A.2
640
- const aDecParts = pa[3] ? pa[3].slice(1).split('.').map(p => parseInt(p, 10)) : [];
641
- const bDecParts = pb[3] ? pb[3].slice(1).split('.').map(p => parseInt(p, 10)) : [];
642
- const maxLen = Math.max(aDecParts.length, bDecParts.length);
643
- if (aDecParts.length === 0 && bDecParts.length > 0) return -1;
644
- if (bDecParts.length === 0 && aDecParts.length > 0) return 1;
645
- for (let i = 0; i < maxLen; i++) {
646
- const av = Number.isFinite(aDecParts[i]) ? aDecParts[i] : 0;
647
- const bv = Number.isFinite(bDecParts[i]) ? bDecParts[i] : 0;
648
- if (av !== bv) return av - bv;
649
- }
650
- return 0;
651
- }
652
-
653
- function searchPhaseInDir(baseDir, relBase, normalized) {
654
- try {
655
- const dirs = readSubdirectories(baseDir, true);
656
- // Match: starts with normalized (numeric) OR contains normalized as prefix segment (custom ID)
657
- const match = dirs.find(d => {
658
- if (d.startsWith(normalized)) return true;
659
- // For custom IDs like PROJ-42, match case-insensitively
660
- if (d.toUpperCase().startsWith(normalized.toUpperCase())) return true;
661
- return false;
662
- });
663
- if (!match) return null;
664
-
665
- // Extract phase number and name — supports both numeric (01-name) and custom (PROJ-42-name)
666
- const dirMatch = match.match(/^(\d+[A-Z]?(?:\.\d+)*)-?(.*)/i)
667
- || match.match(/^([A-Z][A-Z0-9]*(?:-[A-Z0-9]+)*)-(.+)/i)
668
- || [null, match, null];
669
- const phaseNumber = dirMatch ? dirMatch[1] : normalized;
670
- const phaseName = dirMatch && dirMatch[2] ? dirMatch[2] : null;
671
- const phaseDir = path.join(baseDir, match);
672
- const { plans: unsortedPlans, summaries: unsortedSummaries, hasResearch, hasContext, hasVerification, hasReviews } = getPhaseFileStats(phaseDir);
673
- const plans = unsortedPlans.sort();
674
- const summaries = unsortedSummaries.sort();
675
-
676
- const completedPlanIds = new Set(
677
- summaries.map(s => s.replace('-SUMMARY.md', '').replace('SUMMARY.md', ''))
678
- );
679
- const incompletePlans = plans.filter(p => {
680
- const planId = p.replace('-PLAN.md', '').replace('PLAN.md', '');
681
- return !completedPlanIds.has(planId);
682
- });
683
-
684
- return {
685
- found: true,
686
- directory: toPosixPath(path.join(relBase, match)),
687
- phase_number: phaseNumber,
688
- phase_name: phaseName,
689
- phase_slug: phaseName ? phaseName.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-+|-+$/g, '') : null,
690
- plans,
691
- summaries,
692
- incomplete_plans: incompletePlans,
693
- has_research: hasResearch,
694
- has_context: hasContext,
695
- has_verification: hasVerification,
696
- has_reviews: hasReviews,
697
- };
698
- } catch {
699
- return null;
700
- }
701
- }
702
-
703
- function findPhaseInternal(cwd, phase) {
704
- if (!phase) return null;
705
-
706
- const phasesDir = path.join(planningDir(cwd), 'phases');
707
- const normalized = normalizePhaseName(phase);
708
-
709
- // Search current phases first
710
- const relPhasesDir = toPosixPath(path.relative(cwd, phasesDir));
711
- const current = searchPhaseInDir(phasesDir, relPhasesDir, normalized);
712
- if (current) return current;
713
-
714
- // Search archived milestone phases (newest first)
715
- const milestonesDir = path.join(cwd, '.planning', 'milestones');
716
- if (!fs.existsSync(milestonesDir)) return null;
717
-
718
- try {
719
- const milestoneEntries = fs.readdirSync(milestonesDir, { withFileTypes: true });
720
- const archiveDirs = milestoneEntries
721
- .filter(e => e.isDirectory() && /^v[\d.]+-phases$/.test(e.name))
722
- .map(e => e.name)
723
- .sort()
724
- .reverse();
725
-
726
- for (const archiveName of archiveDirs) {
727
- const version = archiveName.match(/^(v[\d.]+)-phases$/)[1];
728
- const archivePath = path.join(milestonesDir, archiveName);
729
- const relBase = '.planning/milestones/' + archiveName;
730
- const result = searchPhaseInDir(archivePath, relBase, normalized);
731
- if (result) {
732
- result.archived = version;
733
- return result;
734
- }
735
- }
736
- } catch { /* intentionally empty */ }
737
-
738
- return null;
739
- }
740
-
741
- function getArchivedPhaseDirs(cwd) {
742
- const milestonesDir = path.join(cwd, '.planning', 'milestones');
743
- const results = [];
744
-
745
- if (!fs.existsSync(milestonesDir)) return results;
746
-
747
- try {
748
- const milestoneEntries = fs.readdirSync(milestonesDir, { withFileTypes: true });
749
- // Find v*-phases directories, sort newest first
750
- const phaseDirs = milestoneEntries
751
- .filter(e => e.isDirectory() && /^v[\d.]+-phases$/.test(e.name))
752
- .map(e => e.name)
753
- .sort()
754
- .reverse();
755
-
756
- for (const archiveName of phaseDirs) {
757
- const version = archiveName.match(/^(v[\d.]+)-phases$/)[1];
758
- const archivePath = path.join(milestonesDir, archiveName);
759
- const dirs = readSubdirectories(archivePath, true);
760
-
761
- for (const dir of dirs) {
762
- results.push({
763
- name: dir,
764
- milestone: version,
765
- basePath: path.join('.planning', 'milestones', archiveName),
766
- fullPath: path.join(archivePath, dir),
767
- });
768
- }
769
- }
770
- } catch { /* intentionally empty */ }
771
-
772
- return results;
773
- }
774
-
775
- // ─── Roadmap milestone scoping ───────────────────────────────────────────────
776
-
777
- /**
778
- * Strip shipped milestone content wrapped in <details> blocks.
779
- * Used to isolate current milestone phases when searching ROADMAP.md
780
- * for phase headings or checkboxes — prevents matching archived milestone
781
- * phases that share the same numbers as current milestone phases.
782
- */
783
- function stripShippedMilestones(content) {
784
- return content.replace(/<details>[\s\S]*?<\/details>/gi, '');
785
- }
786
-
787
- /**
788
- * Extract the current milestone section from ROADMAP.md by positive lookup.
789
- *
790
- * Instead of stripping <details> blocks (negative heuristic that breaks if
791
- * agents wrap the current milestone in <details>), this finds the section
792
- * matching the current milestone version and returns only that content.
793
- *
794
- * Falls back to stripShippedMilestones() if:
795
- * - cwd is not provided
796
- * - STATE.md doesn't exist or has no milestone field
797
- * - Version can't be found in ROADMAP.md
798
- *
799
- * @param {string} content - Full ROADMAP.md content
800
- * @param {string} [cwd] - Working directory for reading STATE.md
801
- * @returns {string} Content scoped to current milestone
802
- */
803
- function extractCurrentMilestone(content, cwd) {
804
- if (!cwd) return stripShippedMilestones(content);
805
-
806
- // 1. Get current milestone version from STATE.md frontmatter
807
- let version = null;
808
- try {
809
- const statePath = path.join(planningDir(cwd), 'STATE.md');
810
- if (fs.existsSync(statePath)) {
811
- const stateRaw = fs.readFileSync(statePath, 'utf-8');
812
- const milestoneMatch = stateRaw.match(/^milestone:\s*(.+)/m);
813
- if (milestoneMatch) {
814
- version = milestoneMatch[1].trim();
815
- }
816
- }
817
- } catch {}
818
-
819
- // 2. Fallback: derive version from getMilestoneInfo pattern in ROADMAP.md itself
820
- if (!version) {
821
- // Check for 🚧 in-progress marker
822
- const inProgressMatch = content.match(/🚧\s*\*\*v(\d+\.\d+)\s/);
823
- if (inProgressMatch) {
824
- version = 'v' + inProgressMatch[1];
825
- }
826
- }
827
-
828
- if (!version) return stripShippedMilestones(content);
829
-
830
- // 3. Find the section matching this version
831
- // Match headings like: ## Roadmap v3.0: Name, ## v3.0 Name, etc.
832
- const escapedVersion = escapeRegex(version);
833
- const sectionPattern = new RegExp(
834
- `(^#{1,3}\\s+.*${escapedVersion}[^\\n]*)`,
835
- 'mi'
836
- );
837
- const sectionMatch = content.match(sectionPattern);
838
-
839
- if (!sectionMatch) return stripShippedMilestones(content);
840
-
841
- const sectionStart = sectionMatch.index;
842
-
843
- // Find the end: next milestone heading at same or higher level, or EOF
844
- // Milestone headings look like: ## v2.0, ## Roadmap v2.0, ## ✅ v1.0, etc.
845
- const headingLevel = sectionMatch[1].match(/^(#{1,3})\s/)[1].length;
846
- const restContent = content.slice(sectionStart + sectionMatch[0].length);
847
- const nextMilestonePattern = new RegExp(
848
- `^#{1,${headingLevel}}\\s+(?:.*v\\d+\\.\\d+|✅|📋|🚧)`,
849
- 'mi'
850
- );
851
- const nextMatch = restContent.match(nextMilestonePattern);
852
-
853
- let sectionEnd;
854
- if (nextMatch) {
855
- sectionEnd = sectionStart + sectionMatch[0].length + nextMatch.index;
856
- } else {
857
- sectionEnd = content.length;
858
- }
859
-
860
- // Return everything before the current milestone section (non-milestone content
861
- // like title, overview) plus the current milestone section
862
- const beforeMilestones = content.slice(0, sectionStart);
863
- const currentSection = content.slice(sectionStart, sectionEnd);
864
-
865
- // Also include any content before the first milestone heading (title, overview, etc.)
866
- // but strip any <details> blocks in it (these are definitely shipped)
867
- const preamble = beforeMilestones.replace(/<details>[\s\S]*?<\/details>/gi, '');
868
-
869
- return preamble + currentSection;
870
- }
871
-
872
- /**
873
- * Replace a pattern only in the current milestone section of ROADMAP.md
874
- * (everything after the last </details> close tag). Used for write operations
875
- * that must not accidentally modify archived milestone checkboxes/tables.
876
- */
877
- function replaceInCurrentMilestone(content, pattern, replacement) {
878
- const lastDetailsClose = content.lastIndexOf('</details>');
879
- if (lastDetailsClose === -1) {
880
- return content.replace(pattern, replacement);
881
- }
882
- const offset = lastDetailsClose + '</details>'.length;
883
- const before = content.slice(0, offset);
884
- const after = content.slice(offset);
885
- return before + after.replace(pattern, replacement);
886
- }
887
-
888
- // ─── Roadmap & model utilities ────────────────────────────────────────────────
889
-
890
- function getRoadmapPhaseInternal(cwd, phaseNum) {
891
- if (!phaseNum) return null;
892
- const roadmapPath = path.join(planningDir(cwd), 'ROADMAP.md');
893
- if (!fs.existsSync(roadmapPath)) return null;
894
-
895
- try {
896
- const content = extractCurrentMilestone(fs.readFileSync(roadmapPath, 'utf-8'), cwd);
897
- const escapedPhase = escapeRegex(phaseNum.toString());
898
- // Match both numeric (Phase 1:) and custom (Phase PROJ-42:) headers
899
- const phasePattern = new RegExp(`#{2,4}\\s*Phase\\s+${escapedPhase}:\\s*([^\\n]+)`, 'i');
900
- const headerMatch = content.match(phasePattern);
901
- if (!headerMatch) return null;
902
-
903
- const phaseName = headerMatch[1].trim();
904
- const headerIndex = headerMatch.index;
905
- const restOfContent = content.slice(headerIndex);
906
- const nextHeaderMatch = restOfContent.match(/\n#{2,4}\s+Phase\s+[\w]/i);
907
- const sectionEnd = nextHeaderMatch ? headerIndex + nextHeaderMatch.index : content.length;
908
- const section = content.slice(headerIndex, sectionEnd).trim();
909
-
910
- const goalMatch = section.match(/\*\*Goal(?:\*\*:|\*?\*?:\*\*)\s*([^\n]+)/i);
911
- const goal = goalMatch ? goalMatch[1].trim() : null;
912
-
913
- return {
914
- found: true,
915
- phase_number: phaseNum.toString(),
916
- phase_name: phaseName,
917
- goal,
918
- section,
919
- };
920
- } catch {
921
- return null;
922
- }
923
- }
924
-
925
- // ─── Model alias resolution ───────────────────────────────────────────────────
926
-
927
- /**
928
- * Map short model aliases to full model IDs.
929
- * Updated each release to match current model versions.
930
- * Users can override with model_overrides in config.json for custom/latest models.
931
- */
932
- const MODEL_ALIAS_MAP = {
933
- 'opus': 'claude-opus-4-0',
934
- 'sonnet': 'claude-sonnet-4-5',
935
- 'haiku': 'claude-haiku-3-5',
936
- };
937
-
938
- function resolveModelInternal(cwd, agentType) {
939
- const config = loadConfig(cwd);
940
-
941
- // Check per-agent override first — always respected regardless of resolve_model_ids.
942
- // Users who set fully-qualified model IDs (e.g., "openai/gpt-5.4") get exactly that.
943
- const override = config.model_overrides?.[agentType];
944
- if (override) {
945
- return override;
946
- }
947
-
948
- // resolve_model_ids: "omit" — return empty string so the runtime uses its configured
949
- // default model. For non-the agent runtimes (OpenCode, Codex, etc.) that don't recognize
950
- // the agent aliases (opus/sonnet/haiku/inherit). Set automatically during install. See #1156.
951
- if (config.resolve_model_ids === 'omit') {
952
- return '';
953
- }
954
-
955
- // Fall back to profile lookup
956
- const profile = String(config.model_profile || 'balanced').toLowerCase();
957
- const agentModels = MODEL_PROFILES[agentType];
958
- if (!agentModels) return 'sonnet';
959
- if (profile === 'inherit') return 'inherit';
960
- const alias = agentModels[profile] || agentModels['balanced'] || 'sonnet';
961
-
962
- // resolve_model_ids: true — map alias to full the agent model ID
963
- // Prevents 404s when the Task tool passes aliases directly to the API
964
- if (config.resolve_model_ids) {
965
- return MODEL_ALIAS_MAP[alias] || alias;
966
- }
967
-
968
- return alias;
969
- }
970
-
971
- // ─── Summary body helpers ─────────────────────────────────────────────────
972
-
973
- /**
974
- * Extract a one-liner from the summary body when it's not in frontmatter.
975
- * The summary template defines one-liner as a bold markdown line after the heading:
976
- * # Phase X: Name Summary
977
- * **[substantive one-liner text]**
978
- */
979
- function extractOneLinerFromBody(content) {
980
- if (!content) return null;
981
- // Strip frontmatter first
982
- const body = content.replace(/^---\n[\s\S]*?\n---\n*/, '');
983
- // Find the first **...** line after a # heading
984
- const match = body.match(/^#[^\n]*\n+\*\*([^*]+)\*\*/m);
985
- return match ? match[1].trim() : null;
986
- }
987
-
988
- // ─── Misc utilities ───────────────────────────────────────────────────────────
989
-
990
- function pathExistsInternal(cwd, targetPath) {
991
- const fullPath = path.isAbsolute(targetPath) ? targetPath : path.join(cwd, targetPath);
992
- try {
993
- fs.statSync(fullPath);
994
- return true;
995
- } catch {
996
- return false;
997
- }
998
- }
999
-
1000
- function generateSlugInternal(text) {
1001
- if (!text) return null;
1002
- return text.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-+|-+$/g, '');
1003
- }
1004
-
1005
- function getMilestoneInfo(cwd) {
1006
- try {
1007
- const roadmap = fs.readFileSync(path.join(planningDir(cwd), 'ROADMAP.md'), 'utf-8');
1008
-
1009
- // First: check for list-format roadmaps using 🚧 (in-progress) marker
1010
- // e.g. "- 🚧 **v2.1 Belgium** — Phases 24-28 (in progress)"
1011
- // e.g. "- 🚧 **v1.2.1 Tech Debt** — Phases 1-8 (in progress)"
1012
- const inProgressMatch = roadmap.match(/🚧\s*\*\*v(\d+(?:\.\d+)+)\s+([^*]+)\*\*/);
1013
- if (inProgressMatch) {
1014
- return {
1015
- version: 'v' + inProgressMatch[1],
1016
- name: inProgressMatch[2].trim(),
1017
- };
1018
- }
1019
-
1020
- // Second: heading-format roadmaps — strip shipped milestones in <details> blocks
1021
- const cleaned = stripShippedMilestones(roadmap);
1022
- // Extract version and name from the same ## heading for consistency
1023
- // Supports 2+ segment versions: v1.2, v1.2.1, v2.0.1, etc.
1024
- const headingMatch = cleaned.match(/## .*v(\d+(?:\.\d+)+)[:\s]+([^\n(]+)/);
1025
- if (headingMatch) {
1026
- return {
1027
- version: 'v' + headingMatch[1],
1028
- name: headingMatch[2].trim(),
1029
- };
1030
- }
1031
- // Fallback: try bare version match (greedy — capture longest version string)
1032
- const versionMatch = cleaned.match(/v(\d+(?:\.\d+)+)/);
1033
- return {
1034
- version: versionMatch ? versionMatch[0] : 'v1.0',
1035
- name: 'milestone',
1036
- };
1037
- } catch {
1038
- return { version: 'v1.0', name: 'milestone' };
1039
- }
1040
- }
1041
-
1042
- /**
1043
- * Returns a filter function that checks whether a phase directory belongs
1044
- * to the current milestone based on ROADMAP.md phase headings.
1045
- * If no ROADMAP exists or no phases are listed, returns a pass-all filter.
1046
- */
1047
- function getMilestonePhaseFilter(cwd) {
1048
- const milestonePhaseNums = new Set();
1049
- try {
1050
- const roadmap = extractCurrentMilestone(fs.readFileSync(path.join(planningDir(cwd), 'ROADMAP.md'), 'utf-8'), cwd);
1051
- // Match both numeric phases (Phase 1:) and custom IDs (Phase PROJ-42:)
1052
- const phasePattern = /#{2,4}\s*Phase\s+([\w][\w.-]*)\s*:/gi;
1053
- let m;
1054
- while ((m = phasePattern.exec(roadmap)) !== null) {
1055
- milestonePhaseNums.add(m[1]);
1056
- }
1057
- } catch { /* intentionally empty */ }
1058
-
1059
- if (milestonePhaseNums.size === 0) {
1060
- const passAll = () => true;
1061
- passAll.phaseCount = 0;
1062
- return passAll;
1063
- }
1064
-
1065
- const normalized = new Set(
1066
- [...milestonePhaseNums].map(n => (n.replace(/^0+/, '') || '0').toLowerCase())
1067
- );
1068
-
1069
- function isDirInMilestone(dirName) {
1070
- // Try numeric match first
1071
- const m = dirName.match(/^0*(\d+[A-Za-z]?(?:\.\d+)*)/);
1072
- if (m && normalized.has(m[1].toLowerCase())) return true;
1073
- // Try custom ID match (e.g. PROJ-42-description → PROJ-42)
1074
- const customMatch = dirName.match(/^([A-Za-z][A-Za-z0-9]*(?:-[A-Za-z0-9]+)*)/);
1075
- if (customMatch && normalized.has(customMatch[1].toLowerCase())) return true;
1076
- return false;
1077
- }
1078
- isDirInMilestone.phaseCount = milestonePhaseNums.size;
1079
- return isDirInMilestone;
1080
- }
1081
-
1082
- // ─── Phase file helpers ──────────────────────────────────────────────────────
1083
-
1084
- /** Filter a file list to just PLAN.md / *-PLAN.md entries. */
1085
- function filterPlanFiles(files) {
1086
- return files.filter(f => f.endsWith('-PLAN.md') || f === 'PLAN.md');
1087
- }
1088
-
1089
- /** Filter a file list to just SUMMARY.md / *-SUMMARY.md entries. */
1090
- function filterSummaryFiles(files) {
1091
- return files.filter(f => f.endsWith('-SUMMARY.md') || f === 'SUMMARY.md');
1092
- }
1093
-
1094
- /**
1095
- * Read a phase directory and return counts/flags for common file types.
1096
- * Returns an object with plans[], summaries[], and boolean flags for
1097
- * research/context/verification files.
1098
- */
1099
- function getPhaseFileStats(phaseDir) {
1100
- const files = fs.readdirSync(phaseDir);
1101
- return {
1102
- plans: filterPlanFiles(files),
1103
- summaries: filterSummaryFiles(files),
1104
- hasResearch: files.some(f => f.endsWith('-RESEARCH.md') || f === 'RESEARCH.md'),
1105
- hasContext: files.some(f => f.endsWith('-CONTEXT.md') || f === 'CONTEXT.md'),
1106
- hasVerification: files.some(f => f.endsWith('-VERIFICATION.md') || f === 'VERIFICATION.md'),
1107
- hasReviews: files.some(f => f.endsWith('-REVIEWS.md') || f === 'REVIEWS.md'),
1108
- };
1109
- }
1110
-
1111
- /**
1112
- * Read immediate child directories from a path.
1113
- * Returns [] if the path doesn't exist or can't be read.
1114
- * Pass sort=true to apply comparePhaseNum ordering.
1115
- */
1116
- function readSubdirectories(dirPath, sort = false) {
1117
- try {
1118
- const entries = fs.readdirSync(dirPath, { withFileTypes: true });
1119
- const dirs = entries.filter(e => e.isDirectory()).map(e => e.name);
1120
- return sort ? dirs.sort((a, b) => comparePhaseNum(a, b)) : dirs;
1121
- } catch {
1122
- return [];
1123
- }
1124
- }
1125
-
1126
- module.exports = {
1127
- output,
1128
- error,
1129
- safeReadFile,
1130
- loadConfig,
1131
- isGitIgnored,
1132
- execGit,
1133
- normalizeMd,
1134
- escapeRegex,
1135
- normalizePhaseName,
1136
- comparePhaseNum,
1137
- searchPhaseInDir,
1138
- findPhaseInternal,
1139
- getArchivedPhaseDirs,
1140
- getRoadmapPhaseInternal,
1141
- resolveModelInternal,
1142
- pathExistsInternal,
1143
- generateSlugInternal,
1144
- getMilestoneInfo,
1145
- getMilestonePhaseFilter,
1146
- stripShippedMilestones,
1147
- extractCurrentMilestone,
1148
- replaceInCurrentMilestone,
1149
- toPosixPath,
1150
- extractOneLinerFromBody,
1151
- resolveWorktreeRoot,
1152
- withPlanningLock,
1153
- findProjectRoot,
1154
- detectSubRepos,
1155
- reapStaleTempFiles,
1156
- MODEL_ALIAS_MAP,
1157
- planningDir,
1158
- planningRoot,
1159
- planningPaths,
1160
- getActiveWorkstream,
1161
- setActiveWorkstream,
1162
- filterPlanFiles,
1163
- filterSummaryFiles,
1164
- getPhaseFileStats,
1165
- readSubdirectories,
1166
- };