mindforge-cc 8.1.0 → 8.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1007) hide show
  1. package/.claude/CLAUDE.md +4 -3
  2. package/.mindforge/celestial.db +0 -0
  3. package/.mindforge/engine/integrity.json +1 -1
  4. package/.mindforge/governance/policies/sovereign-default.json +1 -1
  5. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/CLAUDE.md +102 -0
  6. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/commands.cjs +959 -0
  7. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/config.cjs +421 -0
  8. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/core.cjs +1166 -0
  9. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/frontmatter.cjs +307 -0
  10. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/init.cjs +1336 -0
  11. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/milestone.cjs +252 -0
  12. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/model-profiles.cjs +68 -0
  13. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/phase.cjs +888 -0
  14. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/profile-output.cjs +952 -0
  15. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/profile-pipeline.cjs +539 -0
  16. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/roadmap.cjs +329 -0
  17. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/security.cjs +356 -0
  18. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/state.cjs +969 -0
  19. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/template.cjs +222 -0
  20. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/uat.cjs +189 -0
  21. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/verify.cjs +851 -0
  22. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/lib/workstream.cjs +491 -0
  23. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/bin/mindforge-tools.cjs +897 -0
  24. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/file-manifest.json +219 -0
  25. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/forge/help.md +11 -0
  26. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/forge/init-project.md +36 -0
  27. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/forge/plan-phase.md +34 -0
  28. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/hooks/mindforge-check-update.js +114 -0
  29. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/hooks/mindforge-context-monitor.js +156 -0
  30. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/hooks/mindforge-prompt-guard.js +96 -0
  31. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/hooks/mindforge-session-init_extended.js +42 -0
  32. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/hooks/mindforge-statusline.js +119 -0
  33. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/hooks/mindforge-workflow-guard.js +94 -0
  34. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/add-backlog.md +32 -0
  35. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/agent.md +31 -0
  36. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/approve.md +22 -0
  37. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/audit.md +34 -0
  38. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/auto.md +26 -0
  39. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/benchmark.md +37 -0
  40. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/browse.md +30 -0
  41. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/complete-milestone.md +22 -0
  42. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/costs.md +15 -0
  43. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/cross-review.md +21 -0
  44. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/dashboard.md +102 -0
  45. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/debug.md +133 -0
  46. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/discuss-phase.md +142 -0
  47. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/do.md +31 -0
  48. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/execute-phase.md +200 -0
  49. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/health.md +31 -0
  50. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/help.md +33 -0
  51. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/init-org.md +135 -0
  52. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/init-project.md +170 -0
  53. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/install-skill.md +28 -0
  54. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/learn.md +147 -0
  55. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/learning.md +20 -0
  56. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/map-codebase.md +302 -0
  57. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/marketplace.md +124 -0
  58. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/metrics.md +26 -0
  59. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/migrate.md +44 -0
  60. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/milestone.md +16 -0
  61. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/new-runtime.md +23 -0
  62. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/next.md +109 -0
  63. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/note.md +35 -0
  64. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/plan-phase.md +131 -0
  65. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/plant-seed.md +31 -0
  66. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/plugins.md +44 -0
  67. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/pr-review.md +45 -0
  68. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/profile-team.md +27 -0
  69. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/publish-skill.md +23 -0
  70. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/qa.md +20 -0
  71. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/quick.md +139 -0
  72. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/record-learning.md +22 -0
  73. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/release.md +14 -0
  74. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/remember.md +30 -0
  75. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/research.md +16 -0
  76. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/retrospective.md +31 -0
  77. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/review-backlog.md +34 -0
  78. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/review.md +161 -0
  79. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/security-scan.md +242 -0
  80. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/session-report.md +39 -0
  81. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/ship.md +111 -0
  82. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/skills.md +145 -0
  83. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/status.md +113 -0
  84. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/steer.md +17 -0
  85. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/sync-confluence.md +15 -0
  86. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/sync-jira.md +16 -0
  87. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/tokens.md +12 -0
  88. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/ui-phase.md +34 -0
  89. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/ui-review.md +36 -0
  90. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/update.md +46 -0
  91. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/validate-phase.md +31 -0
  92. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/verify-phase.md +66 -0
  93. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/workspace.md +33 -0
  94. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/mindforge/workstreams.md +35 -0
  95. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/settings.json +42 -0
  96. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-add-backlog/SKILL.md +72 -0
  97. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-add-phase/SKILL.md +39 -0
  98. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-add-tests/SKILL.md +28 -0
  99. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-add-todo/SKILL.md +42 -0
  100. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-audit-milestone/SKILL.md +29 -0
  101. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-audit-uat/SKILL.md +20 -0
  102. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-autonomous/SKILL.md +33 -0
  103. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/SKILL.md +164 -0
  104. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/scripts/frame-template.html +214 -0
  105. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/scripts/helper.js +88 -0
  106. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/scripts/server.cjs +354 -0
  107. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/scripts/start-server.sh +148 -0
  108. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/scripts/stop-server.sh +56 -0
  109. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/spec-document-reviewer-prompt.md +49 -0
  110. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-brainstorming/visual-companion.md +287 -0
  111. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-check-todos/SKILL.md +40 -0
  112. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-cleanup/SKILL.md +19 -0
  113. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-complete-milestone/SKILL.md +131 -0
  114. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug/SKILL.md +163 -0
  115. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/CREATION-LOG.md +119 -0
  116. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/SKILL.md +296 -0
  117. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/condition-based-waiting-example.ts +158 -0
  118. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/condition-based-waiting.md +115 -0
  119. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/defense-in-depth.md +122 -0
  120. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/find-polluter.sh +63 -0
  121. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/root-cause-tracing.md +169 -0
  122. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/test-academic.md +14 -0
  123. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/test-pressure-1.md +58 -0
  124. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/test-pressure-2.md +68 -0
  125. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-debug_extended/test-pressure-3.md +69 -0
  126. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-discuss-phase/SKILL.md +54 -0
  127. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-do/SKILL.md +26 -0
  128. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-execute-phase/SKILL.md +49 -0
  129. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-execute-phase_extended/SKILL.md +70 -0
  130. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-fast/SKILL.md +23 -0
  131. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-forensics/SKILL.md +49 -0
  132. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-health/SKILL.md +17 -0
  133. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-help/SKILL.md +23 -0
  134. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-insert-phase/SKILL.md +28 -0
  135. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-join-discord/SKILL.md +19 -0
  136. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-list-phase-assumptions/SKILL.md +41 -0
  137. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-list-workspaces/SKILL.md +17 -0
  138. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-manager/SKILL.md +32 -0
  139. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-map-codebase/SKILL.md +64 -0
  140. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-milestone-summary/SKILL.md +44 -0
  141. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-neural-orchestrator/SKILL.md +115 -0
  142. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-neural-orchestrator/references/codex-tools.md +100 -0
  143. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-neural-orchestrator/references/gemini-tools.md +33 -0
  144. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-new-milestone/SKILL.md +38 -0
  145. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-new-project/SKILL.md +36 -0
  146. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-new-workspace/SKILL.md +39 -0
  147. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-next/SKILL.md +19 -0
  148. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-note/SKILL.md +29 -0
  149. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-parallel-mesh_extended/SKILL.md +182 -0
  150. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-pause-work/SKILL.md +35 -0
  151. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-plan-milestone-gaps/SKILL.md +28 -0
  152. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-plan-phase/SKILL.md +38 -0
  153. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-plan-phase_extended/SKILL.md +152 -0
  154. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-plan-phase_extended/plan-document-reviewer-prompt.md +49 -0
  155. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-plant-seed/SKILL.md +22 -0
  156. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-pr-branch/SKILL.md +21 -0
  157. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-profile-user/SKILL.md +38 -0
  158. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-progress/SKILL.md +19 -0
  159. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-quick/SKILL.md +38 -0
  160. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-reapply-patches/SKILL.md +124 -0
  161. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-remove-phase/SKILL.md +26 -0
  162. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-remove-workspace/SKILL.md +22 -0
  163. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-research-phase/SKILL.md +186 -0
  164. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-resume-work/SKILL.md +35 -0
  165. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-review/SKILL.md +31 -0
  166. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-review-backlog/SKILL.md +58 -0
  167. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-review-inbound/SKILL.md +213 -0
  168. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-review-request/SKILL.md +105 -0
  169. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-review-request/code-reviewer.md +146 -0
  170. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-session-report/SKILL.md +16 -0
  171. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-set-profile/SKILL.md +9 -0
  172. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-settings/SKILL.md +32 -0
  173. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-ship/SKILL.md +16 -0
  174. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-ship_extended/SKILL.md +200 -0
  175. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/SKILL.md +655 -0
  176. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/anthropic-best-practices.md +1150 -0
  177. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/examples/CLAUDE_MD_TESTING.md +189 -0
  178. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/graphviz-conventions.dot +172 -0
  179. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/persuasion-principles.md +187 -0
  180. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/render-graphs.js +168 -0
  181. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-skill-creation/testing-skills-with-subagents.md +384 -0
  182. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-stats/SKILL.md +16 -0
  183. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-swarm-execution/SKILL.md +277 -0
  184. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-swarm-execution/code-quality-reviewer-prompt.md +26 -0
  185. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-swarm-execution/implementer-prompt.md +113 -0
  186. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-swarm-execution/spec-reviewer-prompt.md +61 -0
  187. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-system-architecture/SKILL.md +136 -0
  188. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-system-architecture/examples.md +120 -0
  189. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-system-architecture/scaling-checklist.md +76 -0
  190. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd/SKILL.md +112 -0
  191. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd/deep-modules.md +21 -0
  192. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd/interface-design.md +22 -0
  193. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd/mocking.md +24 -0
  194. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd/refactoring.md +21 -0
  195. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd/tests.md +28 -0
  196. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd_extended/SKILL.md +371 -0
  197. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-tdd_extended/testing-anti-patterns.md +299 -0
  198. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-thread/SKILL.md +123 -0
  199. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-ui-phase/SKILL.md +24 -0
  200. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-ui-review/SKILL.md +24 -0
  201. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-update/SKILL.md +35 -0
  202. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-validate-phase/SKILL.md +26 -0
  203. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-verify-work/SKILL.md +30 -0
  204. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-verify-work_extended/SKILL.md +139 -0
  205. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-workspace-isolated/SKILL.md +218 -0
  206. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/skills/mindforge-workstreams/SKILL.md +65 -0
  207. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/forge:help.md +10 -0
  208. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/forge:init-project.md +35 -0
  209. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/forge:plan-phase.md +33 -0
  210. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-add-phase.md +112 -0
  211. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-add-tests.md +351 -0
  212. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-add-todo.md +158 -0
  213. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-audit-milestone.md +332 -0
  214. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-audit-uat.md +109 -0
  215. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-autonomous.md +815 -0
  216. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-check-todos.md +177 -0
  217. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-cleanup.md +152 -0
  218. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-complete-milestone.md +766 -0
  219. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-diagnose-issues.md +220 -0
  220. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-discovery-phase.md +289 -0
  221. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-discuss-phase-assumptions.md +645 -0
  222. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-discuss-phase.md +1047 -0
  223. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-do.md +104 -0
  224. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-execute-phase.md +838 -0
  225. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-execute-plan.md +509 -0
  226. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-fast.md +105 -0
  227. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-forensics.md +265 -0
  228. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-health.md +181 -0
  229. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-help.md +606 -0
  230. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-insert-phase.md +130 -0
  231. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-list-phase-assumptions.md +178 -0
  232. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-list-workspaces.md +56 -0
  233. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-manager.md +360 -0
  234. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-map-codebase.md +370 -0
  235. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-milestone-summary.md +223 -0
  236. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-new-milestone.md +469 -0
  237. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-new-project.md +1226 -0
  238. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-new-workspace.md +237 -0
  239. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-next.md +97 -0
  240. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-node-repair.md +92 -0
  241. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-note.md +156 -0
  242. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-pause-work.md +176 -0
  243. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-plan-milestone-gaps.md +273 -0
  244. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-plan-phase.md +877 -0
  245. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-plant-seed.md +169 -0
  246. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-pr-branch.md +129 -0
  247. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-profile-user.md +450 -0
  248. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-progress.md +507 -0
  249. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-quick.md +732 -0
  250. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-remove-phase.md +155 -0
  251. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-remove-workspace.md +90 -0
  252. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-research-phase.md +74 -0
  253. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-resume-project.md +325 -0
  254. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-review.md +228 -0
  255. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-session-report.md +146 -0
  256. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-settings.md +283 -0
  257. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-ship.md +228 -0
  258. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-stats.md +60 -0
  259. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-transition.md +671 -0
  260. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-ui-phase.md +290 -0
  261. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-ui-review.md +157 -0
  262. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-update.md +323 -0
  263. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-validate-phase.md +167 -0
  264. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-verify-phase.md +254 -0
  265. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge-verify-work.md +628 -0
  266. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:add-backlog.md +24 -0
  267. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:agent.md +25 -0
  268. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:approve.md +21 -0
  269. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:architecture.md +40 -0
  270. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:audit.md +33 -0
  271. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:auto.md +25 -0
  272. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:benchmark.md +36 -0
  273. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:brainstorming.md +16 -0
  274. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:browse.md +29 -0
  275. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:complete-milestone.md +21 -0
  276. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:costs.md +14 -0
  277. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:cross-review.md +20 -0
  278. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:dashboard.md +101 -0
  279. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:debug.md +131 -0
  280. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:discuss-phase.md +141 -0
  281. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:do.md +25 -0
  282. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:execute-phase.md +205 -0
  283. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:executor.md +18 -0
  284. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:health.md +24 -0
  285. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:help.md +26 -0
  286. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:identity.md +18 -0
  287. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:init-org.md +134 -0
  288. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:init-project.md +185 -0
  289. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:install-skill.md +27 -0
  290. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:learn.md +146 -0
  291. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:map-codebase.md +301 -0
  292. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:marketplace.md +123 -0
  293. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:memory.md +18 -0
  294. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:metrics.md +25 -0
  295. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:migrate.md +43 -0
  296. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:milestone.md +15 -0
  297. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:new-runtime.md +22 -0
  298. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:next.md +108 -0
  299. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:note.md +27 -0
  300. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:plan-phase.md +139 -0
  301. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:planner.md +18 -0
  302. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:plant-seed.md +24 -0
  303. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:plugins.md +43 -0
  304. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:pr-review.md +44 -0
  305. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:profile-team.md +26 -0
  306. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:publish-skill.md +22 -0
  307. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:qa.md +19 -0
  308. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:quick.md +138 -0
  309. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:release.md +13 -0
  310. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:remember.md +29 -0
  311. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:research.md +15 -0
  312. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:researcher.md +18 -0
  313. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:retrospective.md +29 -0
  314. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:review-backlog.md +26 -0
  315. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:review.md +160 -0
  316. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:reviewer.md +18 -0
  317. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:security-scan.md +236 -0
  318. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:session-report.md +31 -0
  319. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:ship.md +108 -0
  320. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:skills.md +144 -0
  321. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:soul.md +54 -0
  322. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:status.md +107 -0
  323. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:steer.md +16 -0
  324. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:sync-confluence.md +14 -0
  325. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:sync-jira.md +15 -0
  326. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:tdd.md +46 -0
  327. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:tokens.md +11 -0
  328. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:tool.md +18 -0
  329. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:ui-phase.md +27 -0
  330. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:ui-review.md +28 -0
  331. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:update.md +45 -0
  332. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:validate-phase.md +25 -0
  333. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:verify-phase.md +65 -0
  334. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:workspace.md +32 -0
  335. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/mindforge:workstreams.md +27 -0
  336. package/.mindforge/mirrors/mirror-sre-776a1cf9/.agent/workflows/publish-release.md +36 -0
  337. package/.mindforge/mirrors/mirror-sre-776a1cf9/.czrc +3 -0
  338. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/pull_request_template.md +29 -0
  339. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/ai-intelligence.yml +55 -0
  340. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/auto-pr.yml +80 -0
  341. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/control-plane.yml +79 -0
  342. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/execution-plane.yml +52 -0
  343. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/mindforge-ai-review.yml +68 -0
  344. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/mindforge-autonomous.yml +70 -0
  345. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/mindforge-ci.yml +224 -0
  346. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/mindforge-observability.yml +71 -0
  347. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/mindforge-release.yml +55 -0
  348. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/observability-plane.yml +40 -0
  349. package/.mindforge/mirrors/mirror-sre-776a1cf9/.github/workflows/release-plane.yml +43 -0
  350. package/.mindforge/mirrors/mirror-sre-776a1cf9/.gitlab-ci-mindforge.yml +18 -0
  351. package/.mindforge/mirrors/mirror-sre-776a1cf9/.husky/pre-commit +1 -0
  352. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/MINDFORGE-SCHEMA.json +165 -0
  353. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/MINDFORGE-V2-SCHEMA.json +47 -0
  354. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/audit/AUDIT-SCHEMA.md +470 -0
  355. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/browser/daemon-protocol.md +24 -0
  356. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/browser/qa-engine.md +16 -0
  357. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/browser/session-manager.md +18 -0
  358. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/browser/visual-verify-spec.md +31 -0
  359. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/bypasses.json +8 -0
  360. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/ci/ci-config-schema.md +21 -0
  361. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/ci/ci-mode.md +179 -0
  362. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/ci/github-actions-adapter.md +224 -0
  363. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/ci/gitlab-ci-adapter.md +31 -0
  364. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/ci/jenkins-adapter.md +44 -0
  365. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/config.json +66 -0
  366. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/dashboard/api-reference.md +122 -0
  367. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/dashboard/dashboard-spec.md +96 -0
  368. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/distribution/marketplace.md +53 -0
  369. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/distribution/registry-client.md +166 -0
  370. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/distribution/registry-schema.md +96 -0
  371. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/distribution/skill-publisher.md +44 -0
  372. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/distribution/skill-validator.md +74 -0
  373. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/ads-protocol.md +54 -0
  374. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/autonomous/auto-executor.md +266 -0
  375. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/autonomous/headless-adapter.md +66 -0
  376. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/autonomous/node-repair.md +190 -0
  377. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/autonomous/progress-reporter.md +58 -0
  378. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/autonomous/steering-manager.md +64 -0
  379. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/autonomous/stuck-detector.md +89 -0
  380. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/compaction-protocol.md +167 -0
  381. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/context-injector.md +154 -0
  382. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/dependency-parser.md +113 -0
  383. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/integrity.json +12 -0
  384. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/knowledge-graph-protocol.md +125 -0
  385. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/nexus-tracer.js +11 -0
  386. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/persona-factory.md +45 -0
  387. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/shard-controller.md +53 -0
  388. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/skills/conflict-resolver.md +69 -0
  389. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/skills/loader.md +184 -0
  390. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/skills/registry.md +98 -0
  391. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/skills/versioning.md +75 -0
  392. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/swarm-controller.md +59 -0
  393. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/temporal-protocol.md +40 -0
  394. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/verification-pipeline.md +111 -0
  395. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/engine/wave-executor.md +285 -0
  396. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/governance/GOVERNANCE-CONFIG.md +17 -0
  397. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/governance/approval-workflow.md +37 -0
  398. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/governance/change-classifier.md +63 -0
  399. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/governance/compliance-gates.md +31 -0
  400. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/governance/policies/sovereign-default.json +16 -0
  401. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/integrations/confluence.md +27 -0
  402. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/integrations/connection-manager.md +163 -0
  403. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/integrations/github.md +25 -0
  404. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/integrations/gitlab.md +13 -0
  405. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/integrations/jira.md +102 -0
  406. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/integrations/slack.md +41 -0
  407. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/intelligence/antipattern-detector.md +75 -0
  408. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/intelligence/difficulty-scorer.md +55 -0
  409. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/intelligence/health-engine.md +208 -0
  410. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/intelligence/skill-gap-analyser.md +40 -0
  411. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/intelligence/smart-compaction.md +71 -0
  412. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/memory/MEMORY-SCHEMA.md +155 -0
  413. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/memory/engine/capture-protocol.md +36 -0
  414. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/memory/engine/global-sync-spec.md +42 -0
  415. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/memory/engine/retrieval-spec.md +44 -0
  416. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/metrics/METRICS-SCHEMA.md +42 -0
  417. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/metrics/quality-tracker.md +32 -0
  418. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/models/model-registry.md +48 -0
  419. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/models/model-router.md +30 -0
  420. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/monorepo/cross-package-planner.md +114 -0
  421. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/monorepo/dependency-graph-builder.md +32 -0
  422. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/monorepo/workspace-detector.md +129 -0
  423. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/org/CONVENTIONS.md +62 -0
  424. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/org/ORG.md +51 -0
  425. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/org/SECURITY.md +50 -0
  426. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/org/TOOLS.md +53 -0
  427. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/org/integrations/INTEGRATIONS-CONFIG.md +58 -0
  428. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/org/skills/MANIFEST.md +15 -0
  429. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/advisor-researcher.md +89 -0
  430. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/analyst.md +112 -0
  431. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/architect.md +108 -0
  432. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/assumptions-analyzer-extend.md +87 -0
  433. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/assumptions-analyzer.md +109 -0
  434. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/codebase-mapper-extend.md +93 -0
  435. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/codebase-mapper.md +770 -0
  436. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/coverage-specialist.md +104 -0
  437. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/debug-specialist.md +118 -0
  438. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/debugger.md +97 -0
  439. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/decision-architect.md +102 -0
  440. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/developer.md +97 -0
  441. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/executor.md +88 -0
  442. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/integration-checker.md +92 -0
  443. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/mf-executor.md +40 -0
  444. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/mf-memory.md +33 -0
  445. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/mf-planner.md +45 -0
  446. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/mf-researcher.md +39 -0
  447. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/mf-reviewer.md +35 -0
  448. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/mf-tool.md +33 -0
  449. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/nyquist-auditor.md +84 -0
  450. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/overrides/README.md +85 -0
  451. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/phase-researcher.md +107 -0
  452. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/plan-checker.md +92 -0
  453. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/planner.md +105 -0
  454. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/project-researcher.md +99 -0
  455. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/qa-engineer.md +113 -0
  456. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/release-manager.md +114 -0
  457. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/research-agent.md +109 -0
  458. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/research-synthesizer.md +101 -0
  459. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/roadmapper-extend.md +100 -0
  460. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/roadmapper.md +103 -0
  461. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/security-reviewer.md +114 -0
  462. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/swarm-templates.json +118 -0
  463. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/tech-writer.md +118 -0
  464. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/ui-auditor.md +94 -0
  465. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/ui-checker.md +89 -0
  466. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/ui-researcher.md +99 -0
  467. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/user-profiler.md +93 -0
  468. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/personas/verifier.md +101 -0
  469. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/plugins/PLUGINS-MANIFEST.md +23 -0
  470. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/plugins/plugin-loader.md +93 -0
  471. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/plugins/plugin-registry.md +44 -0
  472. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/plugins/plugin-schema.md +68 -0
  473. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/pr-review/ai-reviewer.md +266 -0
  474. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/pr-review/finding-formatter.md +46 -0
  475. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/pr-review/review-prompt-templates.md +44 -0
  476. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/production/compatibility-layer.md +39 -0
  477. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/production/migration-engine.md +52 -0
  478. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/production/production-checklist.md +76 -0
  479. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/production/token-optimiser.md +68 -0
  480. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/remediation-queue.json +47 -0
  481. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/accessibility/SKILL.md +106 -0
  482. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/api-design/SKILL.md +98 -0
  483. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/code-quality/SKILL.md +88 -0
  484. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/data-privacy/SKILL.md +126 -0
  485. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/database-patterns/SKILL.md +192 -0
  486. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/documentation/SKILL.md +91 -0
  487. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/incident-response/SKILL.md +180 -0
  488. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/performance/SKILL.md +120 -0
  489. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/security-review/SKILL.md +83 -0
  490. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills/testing-standards/SKILL.md +97 -0
  491. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills-builder/auto-capture-protocol.md +88 -0
  492. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills-builder/learn-protocol.md +161 -0
  493. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/skills-builder/quality-scoring.md +120 -0
  494. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/team/TEAM-PROFILE.md +42 -0
  495. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/team/multi-handoff.md +23 -0
  496. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/team/profiles/README.md +13 -0
  497. package/.mindforge/mirrors/mirror-sre-776a1cf9/.mindforge/team/session-merger.md +18 -0
  498. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/ARCHITECTURE.md +0 -0
  499. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/AUDIT.jsonl +45 -0
  500. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/HANDOFF.json +8 -0
  501. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/PROJECT.md +33 -0
  502. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/RELEASE-CHECKLIST.md +68 -0
  503. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/REQUIREMENTS.md +23 -0
  504. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/ROADMAP.md +12 -0
  505. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/ROI.jsonl +2 -0
  506. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/STATE.md +31 -0
  507. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/approvals/.gitkeep +1 -0
  508. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/.gitkeep +1 -0
  509. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/org/CONVENTIONS.md +0 -0
  510. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/org/ORG.md +0 -0
  511. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/org/SECURITY.md +0 -0
  512. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/org/TOOLS.md +0 -0
  513. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/analyst.md +0 -0
  514. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/architect.md +0 -0
  515. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/debug-specialist.md +0 -0
  516. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/developer.md +26 -0
  517. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/qa-engineer.md +0 -0
  518. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/release-manager.md +0 -0
  519. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/security-reviewer.md +33 -0
  520. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/personas/tech-writer.md +0 -0
  521. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/skills/api-design/SKILL.md +0 -0
  522. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/skills/code-quality/SKILL.md +0 -0
  523. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/skills/documentation/SKILL.md +0 -0
  524. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/skills/security-review/SKILL.md +23 -0
  525. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/.forge/skills/testing-standards/SKILL.md +27 -0
  526. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/ARCHITECTURE-AUDIT-REPORT.md +90 -0
  527. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/LOGS-BENCHMARKING.md +172 -0
  528. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/ROADMAP_V8.md +49 -0
  529. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/github-actions-logs.md +88 -0
  530. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-1-imp/DAY1-HARDEN.md +823 -0
  531. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-1-imp/DAY1-IMPLEMENT.md +2459 -0
  532. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-1-imp/DAY1-REVIEW.md +288 -0
  533. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-2-imp/DAY2-HARDEN.md +954 -0
  534. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-2-imp/DAY2-IMPLEMENT.md +2347 -0
  535. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-2-imp/DAY2-REVIEW.md +422 -0
  536. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-3-imp/DAY3-HARDEN.md +870 -0
  537. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-3-imp/DAY3-IMPLEMENT.md +2798 -0
  538. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-3-imp/DAY3-REVIEW.md +484 -0
  539. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-4-imp/DAY4-HARDEN.md +1087 -0
  540. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-4-imp/DAY4-IMPLEMENT.md +2874 -0
  541. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-4-imp/DAY4-REVIEW.md +386 -0
  542. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-5-imp/DAY5-HARDEN.md +1078 -0
  543. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-5-imp/DAY5-IMPLEMENT.md +3151 -0
  544. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-5-imp/DAY5-REVIEW.md +345 -0
  545. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-6-imp/DAY6-COMPLETE.md +3919 -0
  546. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-7-imp-prod/DAY7-PRODUCTION-FINAL.md +4513 -0
  547. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/ci-actions/github-workflows-v2.md +421 -0
  548. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/ci-actions/v2-ci-actions.md +292 -0
  549. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-10-imp/DAY10-MULTI-MODEL.md +3402 -0
  550. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-11-imp/DAY11-PERSISTENT-MEMORY.md +3237 -0
  551. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-12-imp/DAY12-REALTIME-DASHBOARD.md +3301 -0
  552. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-13-imp/DAY13-SELF-BUILDING-SKILLS.md +3798 -0
  553. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-14-prod-v2/DAY14-V2-PRODUCTION-RELEASE.md +2255 -0
  554. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-8-imp/DAY8-AUTONOMOUS-ENGINE.md +3400 -0
  555. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-9-imp/DAY9-BROWSER-RUNTIME.md +3293 -0
  556. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/audit-archive/.gitkeep +1 -0
  557. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/decisions/.gitkeep +0 -0
  558. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/jira-sync.json +5 -0
  559. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/milestones/.gitkeep +1 -0
  560. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/phases/.gitkeep +0 -0
  561. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/research/.gitkeep +0 -0
  562. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/screenshots/.gitkeep +0 -0
  563. package/.mindforge/mirrors/mirror-sre-776a1cf9/.planning/slack-threads.json +3 -0
  564. package/.mindforge/mirrors/mirror-sre-776a1cf9/AGENTS_LEARNING.md +112 -0
  565. package/.mindforge/mirrors/mirror-sre-776a1cf9/CHANGELOG.md +1116 -0
  566. package/.mindforge/mirrors/mirror-sre-776a1cf9/LICENSE +21 -0
  567. package/.mindforge/mirrors/mirror-sre-776a1cf9/MINDFORGE.md +91 -0
  568. package/.mindforge/mirrors/mirror-sre-776a1cf9/README.md +424 -0
  569. package/.mindforge/mirrors/mirror-sre-776a1cf9/RELEASENOTES.md +199 -0
  570. package/.mindforge/mirrors/mirror-sre-776a1cf9/REPLICATION.json +12 -0
  571. package/.mindforge/mirrors/mirror-sre-776a1cf9/SECURITY.md +4 -0
  572. package/.mindforge/mirrors/mirror-sre-776a1cf9/SOUL.md +52 -0
  573. package/.mindforge/mirrors/mirror-sre-776a1cf9/agents/executor/IDENTITY.md +31 -0
  574. package/.mindforge/mirrors/mirror-sre-776a1cf9/agents/memory/IDENTITY.md +27 -0
  575. package/.mindforge/mirrors/mirror-sre-776a1cf9/agents/planner/IDENTITY.md +35 -0
  576. package/.mindforge/mirrors/mirror-sre-776a1cf9/agents/researcher/IDENTITY.md +29 -0
  577. package/.mindforge/mirrors/mirror-sre-776a1cf9/agents/reviewer/IDENTITY.md +31 -0
  578. package/.mindforge/mirrors/mirror-sre-776a1cf9/agents/tool/IDENTITY.md +27 -0
  579. package/.mindforge/mirrors/mirror-sre-776a1cf9/auto-pr.yml +74 -0
  580. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/auto-runner.js +378 -0
  581. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/context-refactorer.js +64 -0
  582. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/headless.js +36 -0
  583. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/intent-harvester.js +80 -0
  584. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/mesh-self-healer.js +67 -0
  585. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/progress-stream.js +49 -0
  586. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/repair-operator.js +213 -0
  587. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/steer.js +89 -0
  588. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/autonomous/stuck-monitor.js +120 -0
  589. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/browser-daemon.js +139 -0
  590. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/daemon-manager.js +91 -0
  591. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/qa-engine.js +47 -0
  592. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/qa-report-writer.js +32 -0
  593. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/regression-writer.js +27 -0
  594. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/screenshot-store.js +49 -0
  595. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/session-manager.js +93 -0
  596. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/browser/visual-verify-executor.js +89 -0
  597. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/change-classifier.js +86 -0
  598. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/api-router.js +198 -0
  599. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/approval-handler.js +134 -0
  600. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/frontend/index.html +751 -0
  601. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/metrics-aggregator.js +296 -0
  602. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/revops-api.js +47 -0
  603. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/server.js +138 -0
  604. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/sse-bridge.js +178 -0
  605. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/team-tracker.js +0 -0
  606. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/dashboard/temporal-api.js +82 -0
  607. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/context-entropy-guard.js +94 -0
  608. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/feedback-loop.js +106 -0
  609. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/handover-manager.js +71 -0
  610. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/intelligence-interlock.js +39 -0
  611. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/learning-manager.js +181 -0
  612. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/logic-drift-detector.js +100 -0
  613. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/logic-validator.js +74 -0
  614. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/mesh-syncer.js +129 -0
  615. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/nexus-tracer.js +356 -0
  616. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/orbital-guardian.js +84 -0
  617. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/reason-source-aligner.js +111 -0
  618. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/remediation-engine.js +81 -0
  619. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/self-corrective-synthesizer.js +65 -0
  620. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/skill-evolver.js +105 -0
  621. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/sre-manager.js +117 -0
  622. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/temporal-cli.js +52 -0
  623. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/temporal-hindsight.js +115 -0
  624. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/temporal-hub.js +138 -0
  625. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/test-ceg.js +59 -0
  626. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/test-interlock.js +40 -0
  627. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/test-remediation.js +61 -0
  628. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/test-rsa.js +64 -0
  629. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/test-scs.js +57 -0
  630. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/engine/test-v7-blueprint.js +44 -0
  631. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/gov-audit.js +38 -0
  632. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/approve.js +60 -0
  633. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/config-manager.js +85 -0
  634. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/impact-analyzer.js +141 -0
  635. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/policies/critical-data.json +1 -0
  636. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/policies/default-policies.jsonl +33 -0
  637. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/policy-engine.js +210 -0
  638. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/policy-gate-hardened.js +59 -0
  639. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/quantum-crypto.js +111 -0
  640. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/rbac-manager.js +109 -0
  641. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/test-config.js +40 -0
  642. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/test-crypto-pluggable.js +50 -0
  643. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/test-hardened-gate.js +71 -0
  644. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/trust-verifier.js +81 -0
  645. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/ztai-archiver.js +104 -0
  646. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/governance/ztai-manager.js +239 -0
  647. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/hindsight-injector.js +59 -0
  648. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/install.js +129 -0
  649. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/installer-core.js +805 -0
  650. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/auto-shadow.js +274 -0
  651. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/cli.js +99 -0
  652. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/eis-client.js +95 -0
  653. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/embedding-engine.js +326 -0
  654. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/federated-sync.js +293 -0
  655. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/ghost-pattern-detector.js +69 -0
  656. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/global-sync.js +107 -0
  657. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/identity-synthesizer.js +146 -0
  658. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/knowledge-capture.js +442 -0
  659. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/knowledge-graph.js +609 -0
  660. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/knowledge-indexer.js +172 -0
  661. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/knowledge-store.js +337 -0
  662. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/pillar-health-tracker.js +63 -0
  663. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/semantic-hub.js +211 -0
  664. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/session-memory-loader.js +137 -0
  665. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/memory/vector-hub.js +170 -0
  666. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/0.1.0-to-0.5.0.js +36 -0
  667. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/0.5.0-to-0.6.0.js +17 -0
  668. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/0.6.0-to-1.0.0.js +100 -0
  669. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/1.0.0-to-2.0.0.js +115 -0
  670. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/migrate.js +155 -0
  671. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/schema-versions.js +76 -0
  672. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/migrations/v8-sqlite-migration.js +85 -0
  673. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/mindforge-cc.sh +5 -0
  674. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/mindforge-cli.js +180 -0
  675. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/anthropic-provider.js +77 -0
  676. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/cloud-broker.js +161 -0
  677. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/cost-tracker.js +118 -0
  678. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/finops-hub.js +79 -0
  679. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/gemini-provider.js +79 -0
  680. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/model-broker.js +129 -0
  681. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/model-client.js +98 -0
  682. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/model-router.js +112 -0
  683. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/openai-provider.js +78 -0
  684. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/models/performance-stats.json +22 -0
  685. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/research/research-engine.js +115 -0
  686. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/review/ads-engine.js +126 -0
  687. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/review/ads-synthesizer.js +117 -0
  688. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/review/cross-review-engine.js +92 -0
  689. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/review/finding-synthesizer.js +116 -0
  690. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/review/review-report-writer.js +49 -0
  691. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/revops/debt-monitor.js +60 -0
  692. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/revops/market-evaluator.js +73 -0
  693. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/revops/remediation-queue.js +107 -0
  694. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/revops/roi-engine.js +65 -0
  695. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/revops/router-steering-v2.js +73 -0
  696. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/revops/velocity-forecaster.js +59 -0
  697. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/shard-helper.js +134 -0
  698. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skill-registry.js +232 -0
  699. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skill-validator.js +211 -0
  700. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/learn-cli.js +57 -0
  701. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/marketplace-cli.js +54 -0
  702. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/marketplace-client.js +198 -0
  703. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/pattern-detector.js +144 -0
  704. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/skill-generator.js +258 -0
  705. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/skill-registrar.js +107 -0
  706. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/skill-scorer.js +263 -0
  707. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/skills-builder/source-loader.js +268 -0
  708. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/spawn-agent.js +61 -0
  709. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/updater/changelog-fetcher.js +62 -0
  710. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/updater/self-update.js +169 -0
  711. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/updater/version-comparator.js +68 -0
  712. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/validate-config.js +92 -0
  713. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/wizard/config-generator.js +112 -0
  714. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/wizard/environment-detector.js +83 -0
  715. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/wizard/setup-wizard.js +240 -0
  716. package/.mindforge/mirrors/mirror-sre-776a1cf9/bin/wizard/theme.js +184 -0
  717. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/CAPABILITIES-MANIFEST.md +64 -0
  718. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Context/Master-Context.md +694 -0
  719. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/INTELLIGENCE-MESH.md +37 -0
  720. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/MIND-FORGE-REFERENCE-V6.md +96 -0
  721. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/PERSONAS.md +920 -0
  722. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/audit-events.md +59 -0
  723. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/checkpoints.md +778 -0
  724. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/commands.md +107 -0
  725. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/config-reference.md +81 -0
  726. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/continuation-format.md +249 -0
  727. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/decimal-phase-calculation.md +64 -0
  728. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/git-integration.md +295 -0
  729. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/git-planning-commit.md +38 -0
  730. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/model-profile-resolution.md +36 -0
  731. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/model-profiles.md +139 -0
  732. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/phase-argument-parsing.md +61 -0
  733. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/planning-config.md +202 -0
  734. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/questioning.md +162 -0
  735. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/sdk-api.md +53 -0
  736. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/skills-api.md +57 -0
  737. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/tdd.md +263 -0
  738. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/ui-brand.md +160 -0
  739. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/user-profiling.md +681 -0
  740. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/verification-patterns.md +612 -0
  741. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/References/workstream-flag.md +58 -0
  742. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Agents/CLAUDE-MD.md +122 -0
  743. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Agents/COPILOT-INSTRUCTIONS.md +7 -0
  744. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Agents/DEBUGGER-PROMPT.md +91 -0
  745. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Agents/PLANNER-PROMPT.md +117 -0
  746. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/architecture.md +255 -0
  747. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/concerns.md +310 -0
  748. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/conventions.md +307 -0
  749. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/integrations.md +280 -0
  750. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/stack.md +186 -0
  751. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/structure.md +285 -0
  752. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Codebase/testing.md +480 -0
  753. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/CONTINUE-HERE.md +78 -0
  754. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/DISCUSSION-LOG.md +63 -0
  755. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/PHASE-PROMPT.md +610 -0
  756. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/STATE.md +176 -0
  757. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/SUMMARY-COMPLEX.md +59 -0
  758. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/SUMMARY-MINIMAL.md +41 -0
  759. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/SUMMARY-STANDARD.md +48 -0
  760. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Execution/SUMMARY.md +248 -0
  761. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Profile/DEV-PREFERENCES.md +21 -0
  762. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Profile/USER-PROFILE.md +146 -0
  763. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Profile/USER-SETUP.md +311 -0
  764. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/AGENTS_LEARNING.md +88 -0
  765. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/DISCOVERY.md +146 -0
  766. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/MILESTONE-ARCHIVE.md +123 -0
  767. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/MILESTONE.md +115 -0
  768. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/PROJECT.md +206 -0
  769. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/REQUIREMENTS.md +231 -0
  770. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/RETROSPECTIVE.md +54 -0
  771. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Project/ROADMAP.md +202 -0
  772. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Quality/DEBUG.md +164 -0
  773. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Quality/UAT.md +280 -0
  774. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Quality/UI-SPEC.md +100 -0
  775. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Quality/VALIDATION.md +76 -0
  776. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Quality/VERIFICATION-REPORT.md +322 -0
  777. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Research/ARCHITECTURE.md +204 -0
  778. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Research/FEATURES.md +147 -0
  779. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Research/PITFALLS.md +200 -0
  780. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Research/STACK.md +120 -0
  781. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/Research/SUMMARY.md +170 -0
  782. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/System/CONFIG.json +43 -0
  783. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/Templates/System/CONTEXT.md +352 -0
  784. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/adr/ADR-024-browser-localhost-only.md +17 -0
  785. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/adr/ADR-025-visual-verify-failure-treatment.md +19 -0
  786. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/adr/ADR-026-session-persistence-security.md +20 -0
  787. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/adr/ADR-042-ads-protocol.md +30 -0
  788. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/NEXUS-DASHBOARD.md +35 -0
  789. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/PAR-ZTS-SURVEY.md +43 -0
  790. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/README.md +78 -0
  791. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/V3-CORE.md +52 -0
  792. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/V4-SWARM-MESH.md +77 -0
  793. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/V5-ENTERPRISE.md +131 -0
  794. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/V6-SOVEREIGN.md +43 -0
  795. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/adr-039-multi-runtime-support.md +20 -0
  796. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/adr-040-additive-schema-migration.md +21 -0
  797. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/adr-041-stable-runtime-interface-contract.md +20 -0
  798. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/architecture/decision-records-index.md +29 -0
  799. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/ci-cd-integration.md +30 -0
  800. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/ci-cd.md +92 -0
  801. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/ci-quickstart.md +78 -0
  802. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/commands-reference.md +144 -0
  803. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/commands-skills/DISCOVERED_SKILLS.md +21 -0
  804. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/contributing/CONTRIBUTING.md +38 -0
  805. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/contributing/plugin-authoring.md +50 -0
  806. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/contributing/skill-authoring.md +41 -0
  807. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/enterprise-setup.md +25 -0
  808. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/faq.md +38 -0
  809. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/feature-dashboard.md +63 -0
  810. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/getting-started.md +44 -0
  811. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/governance-guide.md +99 -0
  812. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/monorepo-guide.md +26 -0
  813. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/persona-customisation.md +56 -0
  814. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/publishing-guide.md +43 -0
  815. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/quick-verify.md +33 -0
  816. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/AGENTS.md +37 -0
  817. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/COMMANDS.md +87 -0
  818. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/HOOKS.md +38 -0
  819. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/PERSONAS.md +64 -0
  820. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/README.md +27 -0
  821. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/SKILLS.md +142 -0
  822. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/registry/WORKFLOWS.md +72 -0
  823. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/release-checklist-guide.md +37 -0
  824. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/requirements.md +29 -0
  825. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/sdk-reference.md +27 -0
  826. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/security/SECURITY.md +55 -0
  827. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/security/ZTAI-OVERVIEW.md +37 -0
  828. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/security/penetration-test-results.md +31 -0
  829. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/security/threat-model.md +142 -0
  830. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/skills-authoring-guide.md +176 -0
  831. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/skills-publishing-guide.md +22 -0
  832. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/team-setup-guide.md +21 -0
  833. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/testing-current-version.md +130 -0
  834. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/troubleshooting.md +139 -0
  835. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/tutorial.md +162 -0
  836. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/upgrade.md +58 -0
  837. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/user-guide.md +244 -0
  838. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/usp-features.md +102 -0
  839. package/.mindforge/mirrors/mirror-sre-776a1cf9/docs/workflow-atlas.md +57 -0
  840. package/.mindforge/mirrors/mirror-sre-776a1cf9/eslint.config.mjs +31 -0
  841. package/.mindforge/mirrors/mirror-sre-776a1cf9/examples/starter-project/.planning/AUDIT.jsonl +1 -0
  842. package/.mindforge/mirrors/mirror-sre-776a1cf9/examples/starter-project/.planning/HANDOFF.json +23 -0
  843. package/.mindforge/mirrors/mirror-sre-776a1cf9/examples/starter-project/.planning/PROJECT.md +27 -0
  844. package/.mindforge/mirrors/mirror-sre-776a1cf9/examples/starter-project/.planning/STATE.md +10 -0
  845. package/.mindforge/mirrors/mirror-sre-776a1cf9/examples/starter-project/MINDFORGE.md +40 -0
  846. package/.mindforge/mirrors/mirror-sre-776a1cf9/examples/starter-project/README.md +14 -0
  847. package/.mindforge/mirrors/mirror-sre-776a1cf9/package-lock.json +3882 -0
  848. package/.mindforge/mirrors/mirror-sre-776a1cf9/package.json +66 -0
  849. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/README.md +69 -0
  850. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/eslint.config.mjs +34 -0
  851. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/package-lock.json +1507 -0
  852. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/package.json +30 -0
  853. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/src/client.ts +133 -0
  854. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/src/commands.ts +63 -0
  855. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/src/events.ts +166 -0
  856. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/src/index.ts +23 -0
  857. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/src/memory.ts +257 -0
  858. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/src/types.ts +87 -0
  859. package/.mindforge/mirrors/mirror-sre-776a1cf9/sdk/tsconfig.json +13 -0
  860. package/.mindforge/mirrors/mirror-sre-776a1cf9/skills-lock.json +30 -0
  861. package/.mindforge/mirrors/mirror-sre-776a1cf9/test/sovereign-status.test.js +18 -0
  862. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/ads.test.js +121 -0
  863. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/audit.test.js +206 -0
  864. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/autonomous.test.js +53 -0
  865. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/browser.test.js +61 -0
  866. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/ci-mode.test.js +162 -0
  867. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/compaction.test.js +161 -0
  868. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/dashboard.test.js +327 -0
  869. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/distribution.test.js +205 -0
  870. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/e2e.test.js +618 -0
  871. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/entropy-test.js +47 -0
  872. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/feedback-loop.test.js +62 -0
  873. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/governance/test-cadia-optimizer.js +112 -0
  874. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/governance/test-policies/deny-security.json +9 -0
  875. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/governance/test-policies/permit-t2.json +10 -0
  876. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/governance.test.js +130 -0
  877. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/install.test.js +209 -0
  878. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/integrations.test.js +128 -0
  879. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/intelligence.test.js +117 -0
  880. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/knowledge-graph.test.js +593 -0
  881. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/learning-engine.test.js +69 -0
  882. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/mca-routing-test.js +37 -0
  883. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/memory.test.js +166 -0
  884. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/metrics.test.js +96 -0
  885. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/migration.test.js +308 -0
  886. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/model-broker.test.js +55 -0
  887. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/model-routing.test.js +111 -0
  888. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/nexus-tracing.test.js +49 -0
  889. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/production.test.js +416 -0
  890. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/release.test.js +99 -0
  891. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/revops-roi.test.js +52 -0
  892. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/run-nexus-tests.js +84 -0
  893. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/sdk.test.js +200 -0
  894. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/security-audit.test.js +67 -0
  895. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/self-building-skills.test.js +285 -0
  896. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/semantic-hub.test.js +91 -0
  897. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/sharding.test.js +87 -0
  898. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/skills-platform.test.js +389 -0
  899. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/sre-zk-proof-test.js +76 -0
  900. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/swarms.test.md +21 -0
  901. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/temporal-vision.test.js +68 -0
  902. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v7-pillar-integration.test.js +73 -0
  903. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v7-proactive-homing.test.js +53 -0
  904. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v7-sovereign-security.test.js +64 -0
  905. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v8-mesh-sync.test.js +76 -0
  906. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v8-orbital-governance.test.js +74 -0
  907. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v8-persistence.test.js +86 -0
  908. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/v8-skill-evolution.test.js +74 -0
  909. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/wave-engine.test.js +336 -0
  910. package/.mindforge/mirrors/mirror-sre-776a1cf9/tests/ztai-enterprise.test.js +103 -0
  911. package/.planning/archive/v8-cleanup/.agents/skills/ai-image-generation/SKILL.md +147 -0
  912. package/.planning/archive/v8-cleanup/.agents/skills/ai-video-generation/SKILL.md +185 -0
  913. package/.planning/archive/v8-cleanup/.agents/skills/critique/SKILL.md +201 -0
  914. package/.planning/archive/v8-cleanup/.agents/skills/critique/reference/cognitive-load.md +106 -0
  915. package/.planning/archive/v8-cleanup/.agents/skills/critique/reference/heuristics-scoring.md +234 -0
  916. package/.planning/archive/v8-cleanup/.agents/skills/critique/reference/personas.md +178 -0
  917. package/.planning/archive/v8-cleanup/.agents/skills/elevenlabs-music/SKILL.md +191 -0
  918. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/SKILL.md +659 -0
  919. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/_sync_all.py +414 -0
  920. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/app-interface.csv +31 -0
  921. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/charts.csv +26 -0
  922. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/colors.csv +162 -0
  923. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/design.csv +1776 -0
  924. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/draft.csv +1779 -0
  925. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/google-fonts.csv +1924 -0
  926. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/icons.csv +106 -0
  927. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/landing.csv +35 -0
  928. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/products.csv +162 -0
  929. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  930. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  931. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/styles.csv +85 -0
  932. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/typography.csv +74 -0
  933. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/ui-reasoning.csv +162 -0
  934. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  935. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/scripts/core.py +247 -0
  936. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
  937. package/.planning/archive/v8-cleanup/.agents/skills/ui-ux-pro-max/scripts/search.py +114 -0
  938. package/.planning/archive/v8-cleanup/.forge/org/CONVENTIONS.md +0 -0
  939. package/.planning/archive/v8-cleanup/.forge/org/ORG.md +0 -0
  940. package/.planning/archive/v8-cleanup/.forge/org/SECURITY.md +0 -0
  941. package/.planning/archive/v8-cleanup/.forge/org/TOOLS.md +0 -0
  942. package/.planning/archive/v8-cleanup/.forge/personas/analyst.md +0 -0
  943. package/.planning/archive/v8-cleanup/.forge/personas/architect.md +0 -0
  944. package/.planning/archive/v8-cleanup/.forge/personas/debug-specialist.md +0 -0
  945. package/.planning/archive/v8-cleanup/.forge/personas/developer.md +26 -0
  946. package/.planning/archive/v8-cleanup/.forge/personas/qa-engineer.md +0 -0
  947. package/.planning/archive/v8-cleanup/.forge/personas/release-manager.md +0 -0
  948. package/.planning/archive/v8-cleanup/.forge/personas/security-reviewer.md +33 -0
  949. package/.planning/archive/v8-cleanup/.forge/personas/tech-writer.md +0 -0
  950. package/.planning/archive/v8-cleanup/.forge/skills/api-design/SKILL.md +0 -0
  951. package/.planning/archive/v8-cleanup/.forge/skills/code-quality/SKILL.md +0 -0
  952. package/.planning/archive/v8-cleanup/.forge/skills/documentation/SKILL.md +0 -0
  953. package/.planning/archive/v8-cleanup/.forge/skills/security-review/SKILL.md +23 -0
  954. package/.planning/archive/v8-cleanup/.forge/skills/testing-standards/SKILL.md +27 -0
  955. package/.planning/archive/v8-cleanup/ARCHITECTURE-AUDIT-REPORT.md +90 -0
  956. package/.planning/archive/v8-cleanup/LOGS-BENCHMARKING.md +172 -0
  957. package/.planning/archive/v8-cleanup/MIND-FORGE-V6-ENTERPRISE-PROPOSAL.md +79 -0
  958. package/.planning/archive/v8-cleanup/ROADMAP_V7.md +67 -0
  959. package/.planning/archive/v8-cleanup/ROADMAP_V8.md +49 -0
  960. package/.planning/archive/v8-cleanup/github-actions-logs.md +88 -0
  961. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-1-imp/DAY1-HARDEN.md +823 -0
  962. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-1-imp/DAY1-IMPLEMENT.md +2459 -0
  963. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-1-imp/DAY1-REVIEW.md +288 -0
  964. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-2-imp/DAY2-HARDEN.md +954 -0
  965. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-2-imp/DAY2-IMPLEMENT.md +2347 -0
  966. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-2-imp/DAY2-REVIEW.md +422 -0
  967. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-3-imp/DAY3-HARDEN.md +870 -0
  968. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-3-imp/DAY3-IMPLEMENT.md +2798 -0
  969. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-3-imp/DAY3-REVIEW.md +484 -0
  970. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-4-imp/DAY4-HARDEN.md +1087 -0
  971. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-4-imp/DAY4-IMPLEMENT.md +2874 -0
  972. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-4-imp/DAY4-REVIEW.md +386 -0
  973. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-5-imp/DAY5-HARDEN.md +1078 -0
  974. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-5-imp/DAY5-IMPLEMENT.md +3151 -0
  975. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-5-imp/DAY5-REVIEW.md +345 -0
  976. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-6-imp/DAY6-COMPLETE.md +3919 -0
  977. package/.planning/archive/v8-cleanup/implementation-roadmap/v1.0.0/day-7-imp-prod/DAY7-PRODUCTION-FINAL.md +4513 -0
  978. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/ci-actions/github-workflows-v2.md +421 -0
  979. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/ci-actions/v2-ci-actions.md +292 -0
  980. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-10-imp/DAY10-MULTI-MODEL.md +3402 -0
  981. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-11-imp/DAY11-PERSISTENT-MEMORY.md +3237 -0
  982. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-12-imp/DAY12-REALTIME-DASHBOARD.md +3301 -0
  983. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-13-imp/DAY13-SELF-BUILDING-SKILLS.md +3798 -0
  984. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-14-prod-v2/DAY14-V2-PRODUCTION-RELEASE.md +2255 -0
  985. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-8-imp/DAY8-AUTONOMOUS-ENGINE.md +3400 -0
  986. package/.planning/archive/v8-cleanup/implementation-roadmap/v2.0.0/day-9-imp/DAY9-BROWSER-RUNTIME.md +3293 -0
  987. package/.planning/decisions/SRE-4e54a061.md +19 -0
  988. package/CHANGELOG.md +14 -0
  989. package/MINDFORGE.md +5 -4
  990. package/README.md +12 -3
  991. package/RELEASENOTES.md +17 -0
  992. package/bin/autonomous/auto-runner.js +64 -0
  993. package/bin/engine/learning-manager.js +4 -2
  994. package/bin/governance/impact-analyzer.js +4 -2
  995. package/bin/installer-core.js +18 -2
  996. package/bin/models/model-router.js +3 -1
  997. package/bin/sre/adversarial-sre.js +109 -0
  998. package/bin/sre/sentinel.js +128 -0
  999. package/bin/sre/shadow-mirror.js +122 -0
  1000. package/bin/sre/sli-verifier.js +81 -0
  1001. package/bin/wizard/theme.js +1 -1
  1002. package/docs/Context/Master-Context.md +22 -2
  1003. package/docs/PERSONAS.md +40 -0
  1004. package/docs/architecture/V8-SRE.md +88 -0
  1005. package/docs/commands-skills/DISCOVERED_SKILLS.md +1 -1
  1006. package/docs/governance-guide.md +43 -17
  1007. package/package.json +11 -3
@@ -0,0 +1,969 @@
1
+ /**
2
+ * State — STATE.md operations and progression engine
3
+ */
4
+
5
+ const fs = require('fs');
6
+ const path = require('path');
7
+ const { escapeRegex, loadConfig, getMilestoneInfo, getMilestonePhaseFilter, normalizeMd, planningDir, planningPaths, output, error } = require('./core.cjs');
8
+ const { extractFrontmatter, reconstructFrontmatter } = require('./frontmatter.cjs');
9
+
10
+ /** Shorthand — every state command needs this path */
11
+ function getStatePath(cwd) {
12
+ return planningPaths(cwd).state;
13
+ }
14
+
15
+ // Shared helper: extract a field value from STATE.md content.
16
+ // Supports both **Field:** bold and plain Field: format.
17
+ function stateExtractField(content, fieldName) {
18
+ const escaped = escapeRegex(fieldName);
19
+ const boldPattern = new RegExp(`\\*\\*${escaped}:\\*\\*\\s*(.+)`, 'i');
20
+ const boldMatch = content.match(boldPattern);
21
+ if (boldMatch) return boldMatch[1].trim();
22
+ const plainPattern = new RegExp(`^${escaped}:\\s*(.+)`, 'im');
23
+ const plainMatch = content.match(plainPattern);
24
+ return plainMatch ? plainMatch[1].trim() : null;
25
+ }
26
+
27
+ function cmdStateLoad(cwd, raw) {
28
+ const config = loadConfig(cwd);
29
+ const planDir = planningPaths(cwd).planning;
30
+
31
+ let stateRaw = '';
32
+ try {
33
+ stateRaw = fs.readFileSync(path.join(planDir, 'STATE.md'), 'utf-8');
34
+ } catch { /* intentionally empty */ }
35
+
36
+ const configExists = fs.existsSync(path.join(planDir, 'config.json'));
37
+ const roadmapExists = fs.existsSync(path.join(planDir, 'ROADMAP.md'));
38
+ const stateExists = stateRaw.length > 0;
39
+
40
+ const result = {
41
+ config,
42
+ state_raw: stateRaw,
43
+ state_exists: stateExists,
44
+ roadmap_exists: roadmapExists,
45
+ config_exists: configExists,
46
+ };
47
+
48
+ // For --raw, output a condensed key=value format
49
+ if (raw) {
50
+ const c = config;
51
+ const lines = [
52
+ `model_profile=${c.model_profile}`,
53
+ `commit_docs=${c.commit_docs}`,
54
+ `branching_strategy=${c.branching_strategy}`,
55
+ `phase_branch_template=${c.phase_branch_template}`,
56
+ `milestone_branch_template=${c.milestone_branch_template}`,
57
+ `parallelization=${c.parallelization}`,
58
+ `research=${c.research}`,
59
+ `plan_checker=${c.plan_checker}`,
60
+ `verifier=${c.verifier}`,
61
+ `config_exists=${configExists}`,
62
+ `roadmap_exists=${roadmapExists}`,
63
+ `state_exists=${stateExists}`,
64
+ ];
65
+ process.stdout.write(lines.join('\n'));
66
+ process.exit(0);
67
+ }
68
+
69
+ output(result);
70
+ }
71
+
72
+ function cmdStateGet(cwd, section, raw) {
73
+ const statePath = planningPaths(cwd).state;
74
+ try {
75
+ const content = fs.readFileSync(statePath, 'utf-8');
76
+
77
+ if (!section) {
78
+ output({ content }, raw, content);
79
+ return;
80
+ }
81
+
82
+ // Try to find markdown section or field
83
+ const fieldEscaped = escapeRegex(section);
84
+
85
+ // Check for **field:** value (bold format)
86
+ const boldPattern = new RegExp(`\\*\\*${fieldEscaped}:\\*\\*\\s*(.*)`, 'i');
87
+ const boldMatch = content.match(boldPattern);
88
+ if (boldMatch) {
89
+ output({ [section]: boldMatch[1].trim() }, raw, boldMatch[1].trim());
90
+ return;
91
+ }
92
+
93
+ // Check for field: value (plain format)
94
+ const plainPattern = new RegExp(`^${fieldEscaped}:\\s*(.*)`, 'im');
95
+ const plainMatch = content.match(plainPattern);
96
+ if (plainMatch) {
97
+ output({ [section]: plainMatch[1].trim() }, raw, plainMatch[1].trim());
98
+ return;
99
+ }
100
+
101
+ // Check for ## Section
102
+ const sectionPattern = new RegExp(`##\\s*${fieldEscaped}\\s*\n([\\s\\S]*?)(?=\\n##|$)`, 'i');
103
+ const sectionMatch = content.match(sectionPattern);
104
+ if (sectionMatch) {
105
+ output({ [section]: sectionMatch[1].trim() }, raw, sectionMatch[1].trim());
106
+ return;
107
+ }
108
+
109
+ output({ error: `Section or field "${section}" not found` }, raw, '');
110
+ } catch {
111
+ error('STATE.md not found');
112
+ }
113
+ }
114
+
115
+ function readTextArgOrFile(cwd, value, filePath, label) {
116
+ if (!filePath) return value;
117
+
118
+ // Path traversal guard: ensure file resolves within project directory
119
+ const { validatePath } = require('./security.cjs');
120
+ const pathCheck = validatePath(filePath, cwd, { allowAbsolute: true });
121
+ if (!pathCheck.safe) {
122
+ throw new Error(`${label} path rejected: ${pathCheck.error}`);
123
+ }
124
+
125
+ try {
126
+ return fs.readFileSync(pathCheck.resolved, 'utf-8').trimEnd();
127
+ } catch {
128
+ throw new Error(`${label} file not found: ${filePath}`);
129
+ }
130
+ }
131
+
132
+ function cmdStatePatch(cwd, patches, raw) {
133
+ // Validate all field names before processing
134
+ const { validateFieldName } = require('./security.cjs');
135
+ for (const field of Object.keys(patches)) {
136
+ const fieldCheck = validateFieldName(field);
137
+ if (!fieldCheck.valid) {
138
+ error(`state patch: ${fieldCheck.error}`);
139
+ }
140
+ }
141
+
142
+ const statePath = planningPaths(cwd).state;
143
+ try {
144
+ let content = fs.readFileSync(statePath, 'utf-8');
145
+ const results = { updated: [], failed: [] };
146
+
147
+ for (const [field, value] of Object.entries(patches)) {
148
+ const fieldEscaped = escapeRegex(field);
149
+ // Try **Field:** bold format first, then plain Field: format
150
+ const boldPattern = new RegExp(`(\\*\\*${fieldEscaped}:\\*\\*\\s*)(.*)`, 'i');
151
+ const plainPattern = new RegExp(`(^${fieldEscaped}:\\s*)(.*)`, 'im');
152
+
153
+ if (boldPattern.test(content)) {
154
+ content = content.replace(boldPattern, (_match, prefix) => `${prefix}${value}`);
155
+ results.updated.push(field);
156
+ } else if (plainPattern.test(content)) {
157
+ content = content.replace(plainPattern, (_match, prefix) => `${prefix}${value}`);
158
+ results.updated.push(field);
159
+ } else {
160
+ results.failed.push(field);
161
+ }
162
+ }
163
+
164
+ if (results.updated.length > 0) {
165
+ writeStateMd(statePath, content, cwd);
166
+ }
167
+
168
+ output(results, raw, results.updated.length > 0 ? 'true' : 'false');
169
+ } catch {
170
+ error('STATE.md not found');
171
+ }
172
+ }
173
+
174
+ function cmdStateUpdate(cwd, field, value) {
175
+ if (!field || value === undefined) {
176
+ error('field and value required for state update');
177
+ }
178
+
179
+ // Validate field name to prevent regex injection via crafted field names
180
+ const { validateFieldName } = require('./security.cjs');
181
+ const fieldCheck = validateFieldName(field);
182
+ if (!fieldCheck.valid) {
183
+ error(`state update: ${fieldCheck.error}`);
184
+ }
185
+
186
+ const statePath = planningPaths(cwd).state;
187
+ try {
188
+ let content = fs.readFileSync(statePath, 'utf-8');
189
+ const fieldEscaped = escapeRegex(field);
190
+ // Try **Field:** bold format first, then plain Field: format
191
+ const boldPattern = new RegExp(`(\\*\\*${fieldEscaped}:\\*\\*\\s*)(.*)`, 'i');
192
+ const plainPattern = new RegExp(`(^${fieldEscaped}:\\s*)(.*)`, 'im');
193
+ if (boldPattern.test(content)) {
194
+ content = content.replace(boldPattern, (_match, prefix) => `${prefix}${value}`);
195
+ writeStateMd(statePath, content, cwd);
196
+ output({ updated: true });
197
+ } else if (plainPattern.test(content)) {
198
+ content = content.replace(plainPattern, (_match, prefix) => `${prefix}${value}`);
199
+ writeStateMd(statePath, content, cwd);
200
+ output({ updated: true });
201
+ } else {
202
+ output({ updated: false, reason: `Field "${field}" not found in STATE.md` });
203
+ }
204
+ } catch {
205
+ output({ updated: false, reason: 'STATE.md not found' });
206
+ }
207
+ }
208
+
209
+ // ─── State Progression Engine ────────────────────────────────────────────────
210
+ // stateExtractField is defined above (shared helper) — do not duplicate.
211
+
212
+ function stateReplaceField(content, fieldName, newValue) {
213
+ const escaped = escapeRegex(fieldName);
214
+ // Try **Field:** bold format first, then plain Field: format
215
+ const boldPattern = new RegExp(`(\\*\\*${escaped}:\\*\\*\\s*)(.*)`, 'i');
216
+ if (boldPattern.test(content)) {
217
+ return content.replace(boldPattern, (_match, prefix) => `${prefix}${newValue}`);
218
+ }
219
+ const plainPattern = new RegExp(`(^${escaped}:\\s*)(.*)`, 'im');
220
+ if (plainPattern.test(content)) {
221
+ return content.replace(plainPattern, (_match, prefix) => `${prefix}${newValue}`);
222
+ }
223
+ return null;
224
+ }
225
+
226
+ /**
227
+ * Replace a STATE.md field with fallback field name support.
228
+ * Tries `primary` first, then `fallback` (if provided), returns content unchanged
229
+ * if neither matches. This consolidates the replaceWithFallback pattern that was
230
+ * previously duplicated inline across phase.cjs, milestone.cjs, and state.cjs.
231
+ */
232
+ function stateReplaceFieldWithFallback(content, primary, fallback, value) {
233
+ let result = stateReplaceField(content, primary, value);
234
+ if (result) return result;
235
+ if (fallback) {
236
+ result = stateReplaceField(content, fallback, value);
237
+ if (result) return result;
238
+ }
239
+ return content;
240
+ }
241
+
242
+ function cmdStateAdvancePlan(cwd, raw) {
243
+ const statePath = planningPaths(cwd).state;
244
+ if (!fs.existsSync(statePath)) { output({ error: 'STATE.md not found' }, raw); return; }
245
+
246
+ let content = fs.readFileSync(statePath, 'utf-8');
247
+ const today = new Date().toISOString().split('T')[0];
248
+
249
+ // Try legacy separate fields first, then compound "Plan: X of Y" format
250
+ const legacyPlan = stateExtractField(content, 'Current Plan');
251
+ const legacyTotal = stateExtractField(content, 'Total Plans in Phase');
252
+ const planField = stateExtractField(content, 'Plan');
253
+
254
+ let currentPlan, totalPlans;
255
+ let useCompoundFormat = false;
256
+
257
+ if (legacyPlan && legacyTotal) {
258
+ currentPlan = parseInt(legacyPlan, 10);
259
+ totalPlans = parseInt(legacyTotal, 10);
260
+ } else if (planField) {
261
+ // Compound format: "2 of 6 in current phase" or "2 of 6"
262
+ currentPlan = parseInt(planField, 10);
263
+ const ofMatch = planField.match(/of\s+(\d+)/);
264
+ totalPlans = ofMatch ? parseInt(ofMatch[1], 10) : NaN;
265
+ useCompoundFormat = true;
266
+ }
267
+
268
+ if (isNaN(currentPlan) || isNaN(totalPlans)) {
269
+ output({ error: 'Cannot parse Current Plan or Total Plans in Phase from STATE.md' }, raw);
270
+ return;
271
+ }
272
+
273
+ if (currentPlan >= totalPlans) {
274
+ content = stateReplaceFieldWithFallback(content, 'Status', null, 'Phase complete — ready for verification');
275
+ content = stateReplaceFieldWithFallback(content, 'Last Activity', 'Last activity', today);
276
+ writeStateMd(statePath, content, cwd);
277
+ output({ advanced: false, reason: 'last_plan', current_plan: currentPlan, total_plans: totalPlans, status: 'ready_for_verification' }, raw, 'false');
278
+ } else {
279
+ const newPlan = currentPlan + 1;
280
+ if (useCompoundFormat) {
281
+ // Preserve compound format: "X of Y in current phase" → replace X only
282
+ const newPlanValue = planField.replace(/^\d+/, String(newPlan));
283
+ content = stateReplaceField(content, 'Plan', newPlanValue) || content;
284
+ } else {
285
+ content = stateReplaceField(content, 'Current Plan', String(newPlan)) || content;
286
+ }
287
+ content = stateReplaceFieldWithFallback(content, 'Status', null, 'Ready to execute');
288
+ content = stateReplaceFieldWithFallback(content, 'Last Activity', 'Last activity', today);
289
+ writeStateMd(statePath, content, cwd);
290
+ output({ advanced: true, previous_plan: currentPlan, current_plan: newPlan, total_plans: totalPlans }, raw, 'true');
291
+ }
292
+ }
293
+
294
+ function cmdStateRecordMetric(cwd, options, raw) {
295
+ const statePath = planningPaths(cwd).state;
296
+ if (!fs.existsSync(statePath)) { output({ error: 'STATE.md not found' }, raw); return; }
297
+
298
+ let content = fs.readFileSync(statePath, 'utf-8');
299
+ const { phase, plan, duration, tasks, files } = options;
300
+
301
+ if (!phase || !plan || !duration) {
302
+ output({ error: 'phase, plan, and duration required' }, raw);
303
+ return;
304
+ }
305
+
306
+ // Find Performance Metrics section and its table
307
+ const metricsPattern = /(##\s*Performance Metrics[\s\S]*?\n\|[^\n]+\n\|[-|\s]+\n)([\s\S]*?)(?=\n##|\n$|$)/i;
308
+ const metricsMatch = content.match(metricsPattern);
309
+
310
+ if (metricsMatch) {
311
+ let tableBody = metricsMatch[2].trimEnd();
312
+ const newRow = `| Phase ${phase} P${plan} | ${duration} | ${tasks || '-'} tasks | ${files || '-'} files |`;
313
+
314
+ if (tableBody.trim() === '' || tableBody.includes('None yet')) {
315
+ tableBody = newRow;
316
+ } else {
317
+ tableBody = tableBody + '\n' + newRow;
318
+ }
319
+
320
+ content = content.replace(metricsPattern, (_match, header) => `${header}${tableBody}\n`);
321
+ writeStateMd(statePath, content, cwd);
322
+ output({ recorded: true, phase, plan, duration }, raw, 'true');
323
+ } else {
324
+ output({ recorded: false, reason: 'Performance Metrics section not found in STATE.md' }, raw, 'false');
325
+ }
326
+ }
327
+
328
+ function cmdStateUpdateProgress(cwd, raw) {
329
+ const statePath = planningPaths(cwd).state;
330
+ if (!fs.existsSync(statePath)) { output({ error: 'STATE.md not found' }, raw); return; }
331
+
332
+ let content = fs.readFileSync(statePath, 'utf-8');
333
+
334
+ // Count summaries across current milestone phases only
335
+ const phasesDir = planningPaths(cwd).phases;
336
+ let totalPlans = 0;
337
+ let totalSummaries = 0;
338
+
339
+ if (fs.existsSync(phasesDir)) {
340
+ const isDirInMilestone = getMilestonePhaseFilter(cwd);
341
+ const phaseDirs = fs.readdirSync(phasesDir, { withFileTypes: true })
342
+ .filter(e => e.isDirectory()).map(e => e.name)
343
+ .filter(isDirInMilestone);
344
+ for (const dir of phaseDirs) {
345
+ const files = fs.readdirSync(path.join(phasesDir, dir));
346
+ totalPlans += files.filter(f => f.match(/-PLAN\.md$/i)).length;
347
+ totalSummaries += files.filter(f => f.match(/-SUMMARY\.md$/i)).length;
348
+ }
349
+ }
350
+
351
+ const percent = totalPlans > 0 ? Math.min(100, Math.round(totalSummaries / totalPlans * 100)) : 0;
352
+ const barWidth = 10;
353
+ const filled = Math.round(percent / 100 * barWidth);
354
+ const bar = '\u2588'.repeat(filled) + '\u2591'.repeat(barWidth - filled);
355
+ const progressStr = `[${bar}] ${percent}%`;
356
+
357
+ // Try **Progress:** bold format first, then plain Progress: format
358
+ const boldProgressPattern = /(\*\*Progress:\*\*\s*).*/i;
359
+ const plainProgressPattern = /^(Progress:\s*).*/im;
360
+ if (boldProgressPattern.test(content)) {
361
+ content = content.replace(boldProgressPattern, (_match, prefix) => `${prefix}${progressStr}`);
362
+ writeStateMd(statePath, content, cwd);
363
+ output({ updated: true, percent, completed: totalSummaries, total: totalPlans, bar: progressStr }, raw, progressStr);
364
+ } else if (plainProgressPattern.test(content)) {
365
+ content = content.replace(plainProgressPattern, (_match, prefix) => `${prefix}${progressStr}`);
366
+ writeStateMd(statePath, content, cwd);
367
+ output({ updated: true, percent, completed: totalSummaries, total: totalPlans, bar: progressStr }, raw, progressStr);
368
+ } else {
369
+ output({ updated: false, reason: 'Progress field not found in STATE.md' }, raw, 'false');
370
+ }
371
+ }
372
+
373
+ function cmdStateAddDecision(cwd, options, raw) {
374
+ const statePath = planningPaths(cwd).state;
375
+ if (!fs.existsSync(statePath)) { output({ error: 'STATE.md not found' }, raw); return; }
376
+
377
+ const { phase, summary, summary_file, rationale, rationale_file } = options;
378
+ let summaryText = null;
379
+ let rationaleText = '';
380
+
381
+ try {
382
+ summaryText = readTextArgOrFile(cwd, summary, summary_file, 'summary');
383
+ rationaleText = readTextArgOrFile(cwd, rationale || '', rationale_file, 'rationale');
384
+ } catch (err) {
385
+ output({ added: false, reason: err.message }, raw, 'false');
386
+ return;
387
+ }
388
+
389
+ if (!summaryText) { output({ error: 'summary required' }, raw); return; }
390
+
391
+ let content = fs.readFileSync(statePath, 'utf-8');
392
+ const entry = `- [Phase ${phase || '?'}]: ${summaryText}${rationaleText ? ` — ${rationaleText}` : ''}`;
393
+
394
+ // Find Decisions section (various heading patterns)
395
+ const sectionPattern = /(###?\s*(?:Decisions|Decisions Made|Accumulated.*Decisions)\s*\n)([\s\S]*?)(?=\n###?|\n##[^#]|$)/i;
396
+ const match = content.match(sectionPattern);
397
+
398
+ if (match) {
399
+ let sectionBody = match[2];
400
+ // Remove placeholders
401
+ sectionBody = sectionBody.replace(/None yet\.?\s*\n?/gi, '').replace(/No decisions yet\.?\s*\n?/gi, '');
402
+ sectionBody = sectionBody.trimEnd() + '\n' + entry + '\n';
403
+ content = content.replace(sectionPattern, (_match, header) => `${header}${sectionBody}`);
404
+ writeStateMd(statePath, content, cwd);
405
+ output({ added: true, decision: entry }, raw, 'true');
406
+ } else {
407
+ output({ added: false, reason: 'Decisions section not found in STATE.md' }, raw, 'false');
408
+ }
409
+ }
410
+
411
+ function cmdStateAddBlocker(cwd, text, raw) {
412
+ const statePath = planningPaths(cwd).state;
413
+ if (!fs.existsSync(statePath)) { output({ error: 'STATE.md not found' }, raw); return; }
414
+ const blockerOptions = typeof text === 'object' && text !== null ? text : { text };
415
+ let blockerText = null;
416
+
417
+ try {
418
+ blockerText = readTextArgOrFile(cwd, blockerOptions.text, blockerOptions.text_file, 'blocker');
419
+ } catch (err) {
420
+ output({ added: false, reason: err.message }, raw, 'false');
421
+ return;
422
+ }
423
+
424
+ if (!blockerText) { output({ error: 'text required' }, raw); return; }
425
+
426
+ let content = fs.readFileSync(statePath, 'utf-8');
427
+ const entry = `- ${blockerText}`;
428
+
429
+ const sectionPattern = /(###?\s*(?:Blockers|Blockers\/Concerns|Concerns)\s*\n)([\s\S]*?)(?=\n###?|\n##[^#]|$)/i;
430
+ const match = content.match(sectionPattern);
431
+
432
+ if (match) {
433
+ let sectionBody = match[2];
434
+ sectionBody = sectionBody.replace(/None\.?\s*\n?/gi, '').replace(/None yet\.?\s*\n?/gi, '');
435
+ sectionBody = sectionBody.trimEnd() + '\n' + entry + '\n';
436
+ content = content.replace(sectionPattern, (_match, header) => `${header}${sectionBody}`);
437
+ writeStateMd(statePath, content, cwd);
438
+ output({ added: true, blocker: blockerText }, raw, 'true');
439
+ } else {
440
+ output({ added: false, reason: 'Blockers section not found in STATE.md' }, raw, 'false');
441
+ }
442
+ }
443
+
444
+ function cmdStateResolveBlocker(cwd, text, raw) {
445
+ const statePath = planningPaths(cwd).state;
446
+ if (!fs.existsSync(statePath)) { output({ error: 'STATE.md not found' }, raw); return; }
447
+ if (!text) { output({ error: 'text required' }, raw); return; }
448
+
449
+ let content = fs.readFileSync(statePath, 'utf-8');
450
+
451
+ const sectionPattern = /(###?\s*(?:Blockers|Blockers\/Concerns|Concerns)\s*\n)([\s\S]*?)(?=\n###?|\n##[^#]|$)/i;
452
+ const match = content.match(sectionPattern);
453
+
454
+ if (match) {
455
+ const sectionBody = match[2];
456
+ const lines = sectionBody.split('\n');
457
+ const filtered = lines.filter(line => {
458
+ if (!line.startsWith('- ')) return true;
459
+ return !line.toLowerCase().includes(text.toLowerCase());
460
+ });
461
+
462
+ let newBody = filtered.join('\n');
463
+ // If section is now empty, add placeholder
464
+ if (!newBody.trim() || !newBody.includes('- ')) {
465
+ newBody = 'None\n';
466
+ }
467
+
468
+ content = content.replace(sectionPattern, (_match, header) => `${header}${newBody}`);
469
+ writeStateMd(statePath, content, cwd);
470
+ output({ resolved: true, blocker: text }, raw, 'true');
471
+ } else {
472
+ output({ resolved: false, reason: 'Blockers section not found in STATE.md' }, raw, 'false');
473
+ }
474
+ }
475
+
476
+ function cmdStateRecordSession(cwd, options, raw) {
477
+ const statePath = planningPaths(cwd).state;
478
+ if (!fs.existsSync(statePath)) { output({ error: 'STATE.md not found' }, raw); return; }
479
+
480
+ let content = fs.readFileSync(statePath, 'utf-8');
481
+ const now = new Date().toISOString();
482
+ const updated = [];
483
+
484
+ // Update Last session / Last Date
485
+ let result = stateReplaceField(content, 'Last session', now);
486
+ if (result) { content = result; updated.push('Last session'); }
487
+ result = stateReplaceField(content, 'Last Date', now);
488
+ if (result) { content = result; updated.push('Last Date'); }
489
+
490
+ // Update Stopped at
491
+ if (options.stopped_at) {
492
+ result = stateReplaceField(content, 'Stopped At', options.stopped_at);
493
+ if (!result) result = stateReplaceField(content, 'Stopped at', options.stopped_at);
494
+ if (result) { content = result; updated.push('Stopped At'); }
495
+ }
496
+
497
+ // Update Resume file
498
+ const resumeFile = options.resume_file || 'None';
499
+ result = stateReplaceField(content, 'Resume File', resumeFile);
500
+ if (!result) result = stateReplaceField(content, 'Resume file', resumeFile);
501
+ if (result) { content = result; updated.push('Resume File'); }
502
+
503
+ if (updated.length > 0) {
504
+ writeStateMd(statePath, content, cwd);
505
+ output({ recorded: true, updated }, raw, 'true');
506
+ } else {
507
+ output({ recorded: false, reason: 'No session fields found in STATE.md' }, raw, 'false');
508
+ }
509
+ }
510
+
511
+ function cmdStateSnapshot(cwd, raw) {
512
+ const statePath = planningPaths(cwd).state;
513
+
514
+ if (!fs.existsSync(statePath)) {
515
+ output({ error: 'STATE.md not found' }, raw);
516
+ return;
517
+ }
518
+
519
+ const content = fs.readFileSync(statePath, 'utf-8');
520
+
521
+ // Extract basic fields
522
+ const currentPhase = stateExtractField(content, 'Current Phase');
523
+ const currentPhaseName = stateExtractField(content, 'Current Phase Name');
524
+ const totalPhasesRaw = stateExtractField(content, 'Total Phases');
525
+ const currentPlan = stateExtractField(content, 'Current Plan');
526
+ const totalPlansRaw = stateExtractField(content, 'Total Plans in Phase');
527
+ const status = stateExtractField(content, 'Status');
528
+ const progressRaw = stateExtractField(content, 'Progress');
529
+ const lastActivity = stateExtractField(content, 'Last Activity');
530
+ const lastActivityDesc = stateExtractField(content, 'Last Activity Description');
531
+ const pausedAt = stateExtractField(content, 'Paused At');
532
+
533
+ // Parse numeric fields
534
+ const totalPhases = totalPhasesRaw ? parseInt(totalPhasesRaw, 10) : null;
535
+ const totalPlansInPhase = totalPlansRaw ? parseInt(totalPlansRaw, 10) : null;
536
+ const progressPercent = progressRaw ? parseInt(progressRaw.replace('%', ''), 10) : null;
537
+
538
+ // Extract decisions table
539
+ const decisions = [];
540
+ const decisionsMatch = content.match(/##\s*Decisions Made[\s\S]*?\n\|[^\n]+\n\|[-|\s]+\n([\s\S]*?)(?=\n##|\n$|$)/i);
541
+ if (decisionsMatch) {
542
+ const tableBody = decisionsMatch[1];
543
+ const rows = tableBody.trim().split('\n').filter(r => r.includes('|'));
544
+ for (const row of rows) {
545
+ const cells = row.split('|').map(c => c.trim()).filter(Boolean);
546
+ if (cells.length >= 3) {
547
+ decisions.push({
548
+ phase: cells[0],
549
+ summary: cells[1],
550
+ rationale: cells[2],
551
+ });
552
+ }
553
+ }
554
+ }
555
+
556
+ // Extract blockers list
557
+ const blockers = [];
558
+ const blockersMatch = content.match(/##\s*Blockers\s*\n([\s\S]*?)(?=\n##|$)/i);
559
+ if (blockersMatch) {
560
+ const blockersSection = blockersMatch[1];
561
+ const items = blockersSection.match(/^-\s+(.+)$/gm) || [];
562
+ for (const item of items) {
563
+ blockers.push(item.replace(/^-\s+/, '').trim());
564
+ }
565
+ }
566
+
567
+ // Extract session info
568
+ const session = {
569
+ last_date: null,
570
+ stopped_at: null,
571
+ resume_file: null,
572
+ };
573
+
574
+ const sessionMatch = content.match(/##\s*Session\s*\n([\s\S]*?)(?=\n##|$)/i);
575
+ if (sessionMatch) {
576
+ const sessionSection = sessionMatch[1];
577
+ const lastDateMatch = sessionSection.match(/\*\*Last Date:\*\*\s*(.+)/i)
578
+ || sessionSection.match(/^Last Date:\s*(.+)/im);
579
+ const stoppedAtMatch = sessionSection.match(/\*\*Stopped At:\*\*\s*(.+)/i)
580
+ || sessionSection.match(/^Stopped At:\s*(.+)/im);
581
+ const resumeFileMatch = sessionSection.match(/\*\*Resume File:\*\*\s*(.+)/i)
582
+ || sessionSection.match(/^Resume File:\s*(.+)/im);
583
+
584
+ if (lastDateMatch) session.last_date = lastDateMatch[1].trim();
585
+ if (stoppedAtMatch) session.stopped_at = stoppedAtMatch[1].trim();
586
+ if (resumeFileMatch) session.resume_file = resumeFileMatch[1].trim();
587
+ }
588
+
589
+ const result = {
590
+ current_phase: currentPhase,
591
+ current_phase_name: currentPhaseName,
592
+ total_phases: totalPhases,
593
+ current_plan: currentPlan,
594
+ total_plans_in_phase: totalPlansInPhase,
595
+ status,
596
+ progress_percent: progressPercent,
597
+ last_activity: lastActivity,
598
+ last_activity_desc: lastActivityDesc,
599
+ decisions,
600
+ blockers,
601
+ paused_at: pausedAt,
602
+ session,
603
+ };
604
+
605
+ output(result, raw);
606
+ }
607
+
608
+ // ─── State Frontmatter Sync ──────────────────────────────────────────────────
609
+
610
+ /**
611
+ * Extract machine-readable fields from STATE.md markdown body and build
612
+ * a YAML frontmatter object. Allows hooks and scripts to read state
613
+ * reliably via `state json` instead of fragile regex parsing.
614
+ */
615
+ function buildStateFrontmatter(bodyContent, cwd) {
616
+ const currentPhase = stateExtractField(bodyContent, 'Current Phase');
617
+ const currentPhaseName = stateExtractField(bodyContent, 'Current Phase Name');
618
+ const currentPlan = stateExtractField(bodyContent, 'Current Plan');
619
+ const totalPhasesRaw = stateExtractField(bodyContent, 'Total Phases');
620
+ const totalPlansRaw = stateExtractField(bodyContent, 'Total Plans in Phase');
621
+ const status = stateExtractField(bodyContent, 'Status');
622
+ const progressRaw = stateExtractField(bodyContent, 'Progress');
623
+ const lastActivity = stateExtractField(bodyContent, 'Last Activity');
624
+ const stoppedAt = stateExtractField(bodyContent, 'Stopped At') || stateExtractField(bodyContent, 'Stopped at');
625
+ const pausedAt = stateExtractField(bodyContent, 'Paused At');
626
+
627
+ let milestone = null;
628
+ let milestoneName = null;
629
+ if (cwd) {
630
+ try {
631
+ const info = getMilestoneInfo(cwd);
632
+ milestone = info.version;
633
+ milestoneName = info.name;
634
+ } catch { /* intentionally empty */ }
635
+ }
636
+
637
+ let totalPhases = totalPhasesRaw ? parseInt(totalPhasesRaw, 10) : null;
638
+ let completedPhases = null;
639
+ let totalPlans = totalPlansRaw ? parseInt(totalPlansRaw, 10) : null;
640
+ let completedPlans = null;
641
+
642
+ if (cwd) {
643
+ try {
644
+ const phasesDir = planningPaths(cwd).phases;
645
+ if (fs.existsSync(phasesDir)) {
646
+ const isDirInMilestone = getMilestonePhaseFilter(cwd);
647
+ const phaseDirs = fs.readdirSync(phasesDir, { withFileTypes: true })
648
+ .filter(e => e.isDirectory()).map(e => e.name)
649
+ .filter(isDirInMilestone);
650
+ let diskTotalPlans = 0;
651
+ let diskTotalSummaries = 0;
652
+ let diskCompletedPhases = 0;
653
+
654
+ for (const dir of phaseDirs) {
655
+ const files = fs.readdirSync(path.join(phasesDir, dir));
656
+ const plans = files.filter(f => f.match(/-PLAN\.md$/i)).length;
657
+ const summaries = files.filter(f => f.match(/-SUMMARY\.md$/i)).length;
658
+ diskTotalPlans += plans;
659
+ diskTotalSummaries += summaries;
660
+ if (plans > 0 && summaries >= plans) diskCompletedPhases++;
661
+ }
662
+ totalPhases = isDirInMilestone.phaseCount > 0
663
+ ? Math.max(phaseDirs.length, isDirInMilestone.phaseCount)
664
+ : phaseDirs.length;
665
+ completedPhases = diskCompletedPhases;
666
+ totalPlans = diskTotalPlans;
667
+ completedPlans = diskTotalSummaries;
668
+ }
669
+ } catch { /* intentionally empty */ }
670
+ }
671
+
672
+ let progressPercent = null;
673
+ if (progressRaw) {
674
+ const pctMatch = progressRaw.match(/(\d+)%/);
675
+ if (pctMatch) progressPercent = parseInt(pctMatch[1], 10);
676
+ }
677
+
678
+ // Normalize status to one of: planning, discussing, executing, verifying, paused, completed, unknown
679
+ let normalizedStatus = status || 'unknown';
680
+ const statusLower = (status || '').toLowerCase();
681
+ if (statusLower.includes('paused') || statusLower.includes('stopped') || pausedAt) {
682
+ normalizedStatus = 'paused';
683
+ } else if (statusLower.includes('executing') || statusLower.includes('in progress')) {
684
+ normalizedStatus = 'executing';
685
+ } else if (statusLower.includes('planning') || statusLower.includes('ready to plan')) {
686
+ normalizedStatus = 'planning';
687
+ } else if (statusLower.includes('discussing')) {
688
+ normalizedStatus = 'discussing';
689
+ } else if (statusLower.includes('verif')) {
690
+ normalizedStatus = 'verifying';
691
+ } else if (statusLower.includes('complete') || statusLower.includes('done')) {
692
+ normalizedStatus = 'completed';
693
+ } else if (statusLower.includes('ready to execute')) {
694
+ normalizedStatus = 'executing';
695
+ }
696
+
697
+ const fm = { mindforge_state_version: '1.0' };
698
+
699
+ if (milestone) fm.milestone = milestone;
700
+ if (milestoneName) fm.milestone_name = milestoneName;
701
+ if (currentPhase) fm.current_phase = currentPhase;
702
+ if (currentPhaseName) fm.current_phase_name = currentPhaseName;
703
+ if (currentPlan) fm.current_plan = currentPlan;
704
+ fm.status = normalizedStatus;
705
+ if (stoppedAt) fm.stopped_at = stoppedAt;
706
+ if (pausedAt) fm.paused_at = pausedAt;
707
+ fm.last_updated = new Date().toISOString();
708
+ if (lastActivity) fm.last_activity = lastActivity;
709
+
710
+ const progress = {};
711
+ if (totalPhases !== null) progress.total_phases = totalPhases;
712
+ if (completedPhases !== null) progress.completed_phases = completedPhases;
713
+ if (totalPlans !== null) progress.total_plans = totalPlans;
714
+ if (completedPlans !== null) progress.completed_plans = completedPlans;
715
+ if (progressPercent !== null) progress.percent = progressPercent;
716
+ if (Object.keys(progress).length > 0) fm.progress = progress;
717
+
718
+ return fm;
719
+ }
720
+
721
+ function stripFrontmatter(content) {
722
+ // Strip ALL frontmatter blocks at the start of the file.
723
+ // Handles CRLF line endings and multiple stacked blocks (corruption recovery).
724
+ // Greedy: keeps stripping ---...--- blocks separated by optional whitespace.
725
+ let result = content;
726
+
727
+ while (true) {
728
+ const stripped = result.replace(/^\s*---\r?\n[\s\S]*?\r?\n---\s*/, '');
729
+ if (stripped === result) break;
730
+ result = stripped;
731
+ }
732
+ return result;
733
+ }
734
+
735
+ function syncStateFrontmatter(content, cwd) {
736
+ // Read existing frontmatter BEFORE stripping — it may contain values
737
+ // that the body no longer has (e.g., Status field removed by an agent).
738
+ const existingFm = extractFrontmatter(content);
739
+ const body = stripFrontmatter(content);
740
+ const derivedFm = buildStateFrontmatter(body, cwd);
741
+
742
+ // Preserve existing frontmatter status when body-derived status is 'unknown'.
743
+ // This prevents a missing Status: field in the body from overwriting a
744
+ // previously valid status (e.g., 'executing' → 'unknown').
745
+ if (derivedFm.status === 'unknown' && existingFm.status && existingFm.status !== 'unknown') {
746
+ derivedFm.status = existingFm.status;
747
+ }
748
+
749
+ const yamlStr = reconstructFrontmatter(derivedFm);
750
+ return `---\n${yamlStr}\n---\n\n${body}`;
751
+ }
752
+
753
+ /**
754
+ * Write STATE.md with synchronized YAML frontmatter.
755
+ * All STATE.md writes should use this instead of raw writeFileSync.
756
+ * Uses a simple lockfile to prevent parallel agents from overwriting
757
+ * each other's changes (race condition with read-modify-write cycle).
758
+ */
759
+ function writeStateMd(statePath, content, cwd) {
760
+ const synced = syncStateFrontmatter(content, cwd);
761
+ const lockPath = statePath + '.lock';
762
+ const maxRetries = 10;
763
+ const retryDelay = 200; // ms
764
+
765
+ // Acquire lock (spin with backoff)
766
+ for (let i = 0; i < maxRetries; i++) {
767
+ try {
768
+ // O_EXCL fails if file already exists — atomic lock
769
+ const fd = fs.openSync(lockPath, fs.constants.O_CREAT | fs.constants.O_EXCL | fs.constants.O_WRONLY);
770
+ fs.writeSync(fd, String(process.pid));
771
+ fs.closeSync(fd);
772
+ break;
773
+ } catch (err) {
774
+ if (err.code === 'EEXIST') {
775
+ // Check for stale lock (> 10s old)
776
+ try {
777
+ const stat = fs.statSync(lockPath);
778
+ if (Date.now() - stat.mtimeMs > 10000) {
779
+ fs.unlinkSync(lockPath);
780
+ continue; // retry immediately after clearing stale lock
781
+ }
782
+ } catch { /* lock was released between check — retry */ }
783
+
784
+ if (i === maxRetries - 1) {
785
+ // Last resort: write anyway rather than losing data
786
+ try { fs.unlinkSync(lockPath); } catch {}
787
+ break;
788
+ }
789
+ // Spin-wait with small jitter
790
+ const jitter = Math.floor(Math.random() * 50);
791
+ const start = Date.now();
792
+ while (Date.now() - start < retryDelay + jitter) { /* busy wait */ }
793
+ continue;
794
+ }
795
+ break; // non-EEXIST error — proceed without lock
796
+ }
797
+ }
798
+
799
+ try {
800
+ fs.writeFileSync(statePath, normalizeMd(synced), 'utf-8');
801
+ } finally {
802
+ try { fs.unlinkSync(lockPath); } catch { /* lock already gone */ }
803
+ }
804
+ }
805
+
806
+ function cmdStateJson(cwd, raw) {
807
+ const statePath = planningPaths(cwd).state;
808
+ if (!fs.existsSync(statePath)) {
809
+ output({ error: 'STATE.md not found' }, raw, 'STATE.md not found');
810
+ return;
811
+ }
812
+
813
+ const content = fs.readFileSync(statePath, 'utf-8');
814
+ const fm = extractFrontmatter(content);
815
+
816
+ if (!fm || Object.keys(fm).length === 0) {
817
+ const body = stripFrontmatter(content);
818
+ const built = buildStateFrontmatter(body, cwd);
819
+ output(built, raw, JSON.stringify(built, null, 2));
820
+ return;
821
+ }
822
+
823
+ output(fm, raw, JSON.stringify(fm, null, 2));
824
+ }
825
+
826
+ /**
827
+ * Update STATE.md when a new phase begins execution.
828
+ * Updates body text fields (Current focus, Status, Last Activity, Current Position)
829
+ * and synchronizes frontmatter via writeStateMd.
830
+ * Fixes: #1102 (plan counts), #1103 (status/last_activity), #1104 (body text).
831
+ */
832
+ function cmdStateBeginPhase(cwd, phaseNumber, phaseName, planCount, raw) {
833
+ const statePath = planningPaths(cwd).state;
834
+ if (!fs.existsSync(statePath)) {
835
+ output({ error: 'STATE.md not found' }, raw);
836
+ return;
837
+ }
838
+
839
+ let content = fs.readFileSync(statePath, 'utf-8');
840
+ const today = new Date().toISOString().split('T')[0];
841
+ const updated = [];
842
+
843
+ // Update Status field
844
+ const statusValue = `Executing Phase ${phaseNumber}`;
845
+ let result = stateReplaceField(content, 'Status', statusValue);
846
+ if (result) { content = result; updated.push('Status'); }
847
+
848
+ // Update Last Activity
849
+ result = stateReplaceField(content, 'Last Activity', today);
850
+ if (result) { content = result; updated.push('Last Activity'); }
851
+
852
+ // Update Last Activity Description if it exists
853
+ const activityDesc = `Phase ${phaseNumber} execution started`;
854
+ result = stateReplaceField(content, 'Last Activity Description', activityDesc);
855
+ if (result) { content = result; updated.push('Last Activity Description'); }
856
+
857
+ // Update Current Phase
858
+ result = stateReplaceField(content, 'Current Phase', String(phaseNumber));
859
+ if (result) { content = result; updated.push('Current Phase'); }
860
+
861
+ // Update Current Phase Name
862
+ if (phaseName) {
863
+ result = stateReplaceField(content, 'Current Phase Name', phaseName);
864
+ if (result) { content = result; updated.push('Current Phase Name'); }
865
+ }
866
+
867
+ // Update Current Plan to 1 (starting from the first plan)
868
+ result = stateReplaceField(content, 'Current Plan', '1');
869
+ if (result) { content = result; updated.push('Current Plan'); }
870
+
871
+ // Update Total Plans in Phase
872
+ if (planCount) {
873
+ result = stateReplaceField(content, 'Total Plans in Phase', String(planCount));
874
+ if (result) { content = result; updated.push('Total Plans in Phase'); }
875
+ }
876
+
877
+ // Update **Current focus:** body text line (#1104)
878
+ const focusLabel = phaseName ? `Phase ${phaseNumber} — ${phaseName}` : `Phase ${phaseNumber}`;
879
+ const focusPattern = /(\*\*Current focus:\*\*\s*).*/i;
880
+ if (focusPattern.test(content)) {
881
+ content = content.replace(focusPattern, (_match, prefix) => `${prefix}${focusLabel}`);
882
+ updated.push('Current focus');
883
+ }
884
+
885
+ // Update ## Current Position section (#1104)
886
+ const positionPattern = /(##\s*Current Position\s*\n)([\s\S]*?)(?=\n##|$)/i;
887
+ const positionMatch = content.match(positionPattern);
888
+ if (positionMatch) {
889
+ const newPosition = `Phase: ${phaseNumber}${phaseName ? ` (${phaseName})` : ''} — EXECUTING\nPlan: 1 of ${planCount || '?'}\n`;
890
+ content = content.replace(positionPattern, (_match, header) => `${header}${newPosition}`);
891
+ updated.push('Current Position');
892
+ }
893
+
894
+ if (updated.length > 0) {
895
+ writeStateMd(statePath, content, cwd);
896
+ }
897
+
898
+ output({ updated, phase: phaseNumber, phase_name: phaseName || null, plan_count: planCount || null }, raw, updated.length > 0 ? 'true' : 'false');
899
+ }
900
+
901
+ /**
902
+ * Write a WAITING.json signal file when MindForge hits a decision point.
903
+ * External watchers (fswatch, polling, orchestrators) can detect this.
904
+ * File is written to .planning/WAITING.json (or .mindforge/WAITING.json if .mindforge exists).
905
+ * Fixes #1034.
906
+ */
907
+ function cmdSignalWaiting(cwd, type, question, options, phase, raw) {
908
+ const mindforgeDir = fs.existsSync(path.join(cwd, '.mindforge')) ? path.join(cwd, '.mindforge') : planningDir(cwd);
909
+ const waitingPath = path.join(mindforgeDir, 'WAITING.json');
910
+
911
+ const signal = {
912
+ status: 'waiting',
913
+ type: type || 'decision_point',
914
+ question: question || null,
915
+ options: options ? options.split('|').map(o => o.trim()) : [],
916
+ since: new Date().toISOString(),
917
+ phase: phase || null,
918
+ };
919
+
920
+ try {
921
+ fs.mkdirSync(mindforgeDir, { recursive: true });
922
+ fs.writeFileSync(waitingPath, JSON.stringify(signal, null, 2), 'utf-8');
923
+ output({ signaled: true, path: waitingPath }, raw, 'true');
924
+ } catch (e) {
925
+ output({ signaled: false, error: e.message }, raw, 'false');
926
+ }
927
+ }
928
+
929
+ /**
930
+ * Remove the WAITING.json signal file when user answers and agent resumes.
931
+ */
932
+ function cmdSignalResume(cwd, raw) {
933
+ const paths = [
934
+ path.join(cwd, '.mindforge', 'WAITING.json'),
935
+ path.join(planningDir(cwd), 'WAITING.json'),
936
+ ];
937
+
938
+ let removed = false;
939
+ for (const p of paths) {
940
+ if (fs.existsSync(p)) {
941
+ try { fs.unlinkSync(p); removed = true; } catch {}
942
+ }
943
+ }
944
+
945
+ output({ resumed: true, removed }, raw, removed ? 'true' : 'false');
946
+ }
947
+
948
+ module.exports = {
949
+ stateExtractField,
950
+ stateReplaceField,
951
+ stateReplaceFieldWithFallback,
952
+ writeStateMd,
953
+ cmdStateLoad,
954
+ cmdStateGet,
955
+ cmdStatePatch,
956
+ cmdStateUpdate,
957
+ cmdStateAdvancePlan,
958
+ cmdStateRecordMetric,
959
+ cmdStateUpdateProgress,
960
+ cmdStateAddDecision,
961
+ cmdStateAddBlocker,
962
+ cmdStateResolveBlocker,
963
+ cmdStateRecordSession,
964
+ cmdStateSnapshot,
965
+ cmdStateJson,
966
+ cmdStateBeginPhase,
967
+ cmdSignalWaiting,
968
+ cmdSignalResume,
969
+ };