@polymorphism-tech/morph-spec 3.2.0 → 4.3.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 (386) hide show
  1. package/README.md +1 -14
  2. package/bin/detect-agents.js +1 -1
  3. package/bin/morph-spec.js +403 -40
  4. package/bin/validate.js +5 -5
  5. package/docs/getting-started.md +0 -5
  6. package/docs/next-generation/AGENTS.md +521 -0
  7. package/docs/next-generation/ANALYSIS.md +555 -0
  8. package/docs/next-generation/ARCHITECTURE.md +436 -0
  9. package/docs/next-generation/CONTEXT-OPTIMIZATION.md +267 -0
  10. package/docs/next-generation/EXECUTION-FLOW.md +274 -0
  11. package/docs/next-generation/FEATURES.md +688 -0
  12. package/docs/next-generation/META-PROMPTS.md +235 -0
  13. package/docs/next-generation/MIGRATION-GUIDE.md +253 -0
  14. package/docs/next-generation/README.md +231 -0
  15. package/docs/next-generation/ROADMAP.md +801 -0
  16. package/docs/next-generation/THREAD-MANAGEMENT.md +240 -0
  17. package/docs/validation-checklist.md +0 -1
  18. package/package.json +5 -5
  19. package/src/commands/agents/agents-fuse.js +96 -0
  20. package/src/commands/agents/index.js +4 -0
  21. package/src/commands/agents/micro-agent.js +112 -0
  22. package/src/commands/{spawn-team.js → agents/spawn-team.js} +237 -172
  23. package/src/commands/agents/squad-template.js +146 -0
  24. package/src/commands/analytics/analytics.js +176 -0
  25. package/src/commands/context/context-prime.js +63 -0
  26. package/src/commands/context/core-four.js +54 -0
  27. package/src/commands/{create-story.js → feature/create-story.js} +357 -354
  28. package/src/commands/feature/index.js +6 -0
  29. package/src/commands/{shard-spec.js → feature/shard-spec.js} +2 -2
  30. package/src/commands/{sprint-status.js → feature/sprint-status.js} +1 -1
  31. package/src/commands/{generate-context.js → generation/generate-context.js} +40 -40
  32. package/src/commands/{generate.js → generation/generate.js} +4 -4
  33. package/src/commands/generation/index.js +5 -0
  34. package/src/commands/index.js +16 -0
  35. package/src/commands/{capture-pattern.js → learning/capture-pattern.js} +121 -121
  36. package/src/commands/learning/index.js +5 -0
  37. package/src/commands/mcp/mcp.js +102 -0
  38. package/src/commands/{detect-agents.js → project/detect-agents.js} +178 -178
  39. package/src/commands/project/detect-workflow.js +174 -0
  40. package/src/commands/{detect.js → project/detect.js} +104 -104
  41. package/src/commands/{doctor.js → project/doctor.js} +221 -4
  42. package/src/commands/project/index.js +10 -0
  43. package/src/commands/{init.js → project/init.js} +305 -295
  44. package/src/commands/{sync.js → project/sync.js} +167 -167
  45. package/src/commands/{update.js → project/update.js} +240 -240
  46. package/src/commands/{advance-phase.js → state/advance-phase.js} +101 -25
  47. package/src/commands/{approve.js → state/approve.js} +221 -221
  48. package/src/commands/state/index.js +8 -0
  49. package/src/commands/{rollback-phase.js → state/rollback-phase.js} +185 -185
  50. package/src/commands/{state.js → state/state.js} +334 -334
  51. package/src/commands/{validate-phase.js → state/validate-phase.js} +221 -221
  52. package/src/commands/tasks/index.js +4 -0
  53. package/src/commands/{task.js → tasks/task.js} +78 -78
  54. package/src/commands/templates/index.js +8 -0
  55. package/src/commands/templates/template-customize.js +101 -0
  56. package/src/commands/templates/template-list.js +128 -0
  57. package/src/commands/templates/template-render.js +174 -0
  58. package/src/commands/templates/template-show.js +131 -0
  59. package/src/commands/templates/template-validate.js +91 -0
  60. package/src/commands/threads/thread-template.js +103 -0
  61. package/src/commands/threads/threads.js +261 -0
  62. package/src/commands/trust/trust.js +205 -0
  63. package/src/commands/utils/index.js +7 -0
  64. package/src/commands/{session-summary.js → utils/session-summary.js} +291 -291
  65. package/src/commands/{troubleshoot.js → utils/troubleshoot.js} +222 -222
  66. package/src/commands/{analyze-blazor-concurrency.js → validation/analyze-blazor-concurrency.js} +193 -193
  67. package/src/commands/validation/index.js +8 -0
  68. package/src/commands/{lint-fluent.js → validation/lint-fluent.js} +352 -352
  69. package/src/commands/{validate-blazor-state.js → validation/validate-blazor-state.js} +210 -210
  70. package/src/commands/{validate-blazor.js → validation/validate-blazor.js} +156 -156
  71. package/src/commands/{validate-css.js → validation/validate-css.js} +84 -84
  72. package/src/core/index.js +10 -0
  73. package/src/{orchestrator.js → core/orchestrator.js} +8 -8
  74. package/src/core/registry/command-registry.js +302 -0
  75. package/src/core/registry/index.js +8 -0
  76. package/src/core/registry/validator-registry.js +204 -0
  77. package/src/core/state/index.js +8 -0
  78. package/src/{lib → core/state}/phase-state-machine.js +214 -214
  79. package/src/{lib → core/state}/state-manager.js +588 -534
  80. package/src/core/templates/index.js +9 -0
  81. package/src/core/templates/template-registry.js +335 -0
  82. package/src/core/templates/template-renderer.js +477 -0
  83. package/src/core/templates/template-validator.js +296 -0
  84. package/src/core/workflows/index.js +7 -0
  85. package/src/core/workflows/workflow-detector.js +452 -0
  86. package/src/lib/agents/micro-agent-factory.js +161 -0
  87. package/src/lib/{complexity-analyzer.js → analysis/complexity-analyzer.js} +441 -441
  88. package/src/lib/analysis/index.js +7 -0
  89. package/src/lib/analytics/analytics-engine.js +345 -0
  90. package/src/lib/{checkpoint-hooks.js → checkpoints/checkpoint-hooks.js} +35 -0
  91. package/src/lib/checkpoints/index.js +7 -0
  92. package/src/lib/context/context-bundler.js +240 -0
  93. package/src/lib/context/context-optimizer.js +212 -0
  94. package/src/lib/context/context-tracker.js +273 -0
  95. package/src/lib/context/core-four-tracker.js +201 -0
  96. package/src/lib/context/mcp-optimizer.js +200 -0
  97. package/src/lib/detectors/config-detector.js +223 -223
  98. package/src/lib/detectors/conversation-analyzer.js +163 -163
  99. package/src/lib/{design-system-detector.js → detectors/design-system-detector.js} +187 -187
  100. package/src/lib/detectors/index.js +87 -84
  101. package/src/lib/detectors/standards-generator.js +275 -275
  102. package/src/lib/detectors/structure-detector.js +245 -245
  103. package/src/lib/execution/fusion-executor.js +304 -0
  104. package/src/lib/execution/parallel-executor.js +270 -0
  105. package/src/lib/{context-generator.js → generators/context-generator.js} +526 -516
  106. package/src/lib/generators/index.js +10 -0
  107. package/src/lib/{metadata-extractor.js → generators/metadata-extractor.js} +387 -380
  108. package/src/lib/{recap-generator.js → generators/recap-generator.js} +205 -205
  109. package/src/lib/hooks/hook-executor.js +169 -0
  110. package/src/lib/hooks/stop-hook-executor.js +286 -0
  111. package/src/lib/hops/hop-composer.js +221 -0
  112. package/src/lib/learning/index.js +7 -0
  113. package/src/lib/orchestration/index.js +7 -0
  114. package/src/lib/{team-orchestrator.js → orchestration/team-orchestrator.js} +323 -323
  115. package/src/lib/stacks/index.js +7 -0
  116. package/src/lib/{stack-resolver.js → stacks/stack-resolver.js} +180 -148
  117. package/src/lib/standards/index.js +7 -0
  118. package/src/lib/{standards-context-injector.js → standards/standards-context-injector.js} +298 -288
  119. package/src/lib/threads/thread-coordinator.js +238 -0
  120. package/src/lib/threads/thread-manager.js +317 -0
  121. package/src/lib/tracking/artifact-trail.js +202 -0
  122. package/src/lib/troubleshooting/index.js +8 -0
  123. package/src/lib/{troubleshoot-grep.js → troubleshooting/troubleshoot-grep.js} +204 -204
  124. package/src/lib/{troubleshoot-index.js → troubleshooting/troubleshoot-index.js} +144 -144
  125. package/src/lib/trust/trust-manager.js +269 -0
  126. package/src/lib/validators/{architecture-validator.js → architecture/architecture-validator.js} +8 -8
  127. package/src/lib/validators/architecture/index.js +7 -0
  128. package/src/lib/{blazor-concurrency-analyzer.js → validators/blazor/blazor-concurrency-analyzer.js} +277 -288
  129. package/src/lib/{blazor-state-validator.js → validators/blazor/blazor-state-validator.js} +279 -291
  130. package/src/lib/{blazor-validator.js → validators/blazor/blazor-validator.js} +369 -374
  131. package/src/lib/validators/blazor/index.js +9 -0
  132. package/src/lib/validators/{content-validator.js → content/content-validator.js} +351 -351
  133. package/src/lib/validators/content/index.js +7 -0
  134. package/src/lib/validators/{contract-compliance-validator.js → contracts/contract-compliance-validator.js} +273 -273
  135. package/src/lib/validators/contracts/index.js +7 -0
  136. package/src/lib/{css-validator.js → validators/css/css-validator.js} +352 -352
  137. package/src/lib/validators/css/index.js +7 -0
  138. package/src/lib/validators/{design-system-validator.js → design-system/design-system-validator.js} +231 -231
  139. package/src/lib/validators/design-system/index.js +7 -0
  140. package/src/lib/validators/packages/index.js +7 -0
  141. package/src/lib/validators/shared/index.js +12 -0
  142. package/src/lib/validators/shared/issue-counter.js +18 -0
  143. package/src/lib/validators/shared/result-formatter.js +124 -0
  144. package/src/lib/{spec-validator.js → validators/spec-validator.js} +258 -258
  145. package/src/lib/validators/ui/index.js +7 -0
  146. package/src/lib/{validation-runner.js → validators/validation-runner.js} +286 -284
  147. package/src/ui/wizard-questions.js +0 -2
  148. package/src/utils/color-utils.js +70 -0
  149. package/src/utils/file-copier.js +188 -189
  150. package/src/utils/process-handler.js +97 -0
  151. package/stacks/blazor-azure/.morph/config/agents.json +948 -764
  152. package/stacks/blazor-azure/.morph/hooks/{pre-commit-tests.sh → pre-commit/tests-csharp.sh} +3 -2
  153. package/stacks/blazor-azure/.morph/templates/infrastructure/github/workflows/cd-prod.yml.hbs +41 -0
  154. package/stacks/blazor-azure/.morph/templates/infrastructure/github/workflows/cd-staging.yml.hbs +24 -0
  155. package/stacks/blazor-azure/.morph/templates/infrastructure/github/workflows/ci-build.yml.hbs +23 -0
  156. package/stacks/nextjs-supabase/.morph/config/agents.json +345 -345
  157. package/stacks/nextjs-supabase/.morph/hooks/pre-commit/tests-typescript.sh +61 -0
  158. package/stacks/nextjs-supabase/.morph/templates/infrastructure/github/workflows/cd-prod.yml.hbs +22 -0
  159. package/stacks/nextjs-supabase/.morph/templates/infrastructure/github/workflows/cd-staging.yml.hbs +22 -0
  160. package/stacks/nextjs-supabase/.morph/templates/infrastructure/github/workflows/ci-build.yml.hbs +35 -0
  161. package/stacks/nextjs-supabase/README.md +6 -15
  162. package/CLAUDE.md +0 -648
  163. package/bin/render-template.js +0 -349
  164. package/bin/semantic-detect-agents.js +0 -247
  165. package/bin/validate-agents-skills.js +0 -257
  166. package/bin/validate-agents.js +0 -70
  167. package/bin/validate-phase.js +0 -263
  168. package/docs/examples.md +0 -328
  169. package/docs/llm-interaction-config.md +0 -735
  170. package/scripts/reorganize-skills.cjs +0 -175
  171. package/scripts/validate-agents-structure.cjs +0 -52
  172. package/scripts/validate-skills.cjs +0 -180
  173. package/src/commands/deploy.js +0 -780
  174. package/src/commands/migrate-state.js +0 -158
  175. package/src/commands/upgrade.js +0 -346
  176. package/src/lib/continuous-validator.js +0 -421
  177. package/src/lib/decision-constraint-loader.js +0 -109
  178. package/src/lib/design-system-scaffolder.js +0 -299
  179. package/src/lib/hook-executor.js +0 -257
  180. package/src/lib/mockup-generator.js +0 -366
  181. package/src/lib/ui-detector.js +0 -350
  182. package/src/llm/schema-validator.js +0 -121
  183. package/src/sanitizer/.gitkeep +0 -0
  184. package/src/scanner/.gitkeep +0 -0
  185. package/src/types/index.js +0 -477
  186. package/src/ui/.gitkeep +0 -0
  187. package/src/writer/.gitkeep +0 -0
  188. package/stacks/blazor-azure/.azure/README.md +0 -293
  189. package/stacks/blazor-azure/.azure/docs/azure-devops-setup.md +0 -454
  190. package/stacks/blazor-azure/.azure/docs/branch-strategy.md +0 -398
  191. package/stacks/blazor-azure/.azure/docs/local-development.md +0 -515
  192. package/stacks/blazor-azure/.azure/pipelines/pipeline-variables.yml +0 -34
  193. package/stacks/blazor-azure/.azure/pipelines/prod-pipeline.yml +0 -319
  194. package/stacks/blazor-azure/.azure/pipelines/staging-pipeline.yml +0 -234
  195. package/stacks/blazor-azure/.azure/pipelines/templates/build-dotnet.yml +0 -75
  196. package/stacks/blazor-azure/.azure/pipelines/templates/deploy-app-service.yml +0 -94
  197. package/stacks/blazor-azure/.azure/pipelines/templates/deploy-container-app.yml +0 -120
  198. package/stacks/blazor-azure/.azure/pipelines/templates/infra-deploy.yml +0 -90
  199. package/stacks/blazor-azure/.claude/commands/morph-apply.md +0 -221
  200. package/stacks/blazor-azure/.claude/commands/morph-archive.md +0 -79
  201. package/stacks/blazor-azure/.claude/commands/morph-deploy.md +0 -529
  202. package/stacks/blazor-azure/.claude/commands/morph-infra.md +0 -209
  203. package/stacks/blazor-azure/.claude/commands/morph-preflight.md +0 -227
  204. package/stacks/blazor-azure/.claude/commands/morph-proposal.md +0 -122
  205. package/stacks/blazor-azure/.claude/commands/morph-status.md +0 -86
  206. package/stacks/blazor-azure/.claude/commands/morph-troubleshoot.md +0 -122
  207. package/stacks/blazor-azure/.claude/settings.local.json +0 -15
  208. package/stacks/blazor-azure/.claude/skills/level-0-meta/README.md +0 -7
  209. package/stacks/blazor-azure/.claude/skills/level-0-meta/code-review.md +0 -226
  210. package/stacks/blazor-azure/.claude/skills/level-0-meta/morph-checklist.md +0 -117
  211. package/stacks/blazor-azure/.claude/skills/level-0-meta/simulation-checklist.md +0 -77
  212. package/stacks/blazor-azure/.claude/skills/level-1-workflows/README.md +0 -7
  213. package/stacks/blazor-azure/.claude/skills/level-1-workflows/morph-replicate.md +0 -213
  214. package/stacks/blazor-azure/.claude/skills/level-1-workflows/phase-clarify.md +0 -131
  215. package/stacks/blazor-azure/.claude/skills/level-1-workflows/phase-design.md +0 -213
  216. package/stacks/blazor-azure/.claude/skills/level-1-workflows/phase-setup.md +0 -106
  217. package/stacks/blazor-azure/.claude/skills/level-1-workflows/phase-tasks.md +0 -164
  218. package/stacks/blazor-azure/.claude/skills/level-1-workflows/phase-uiux.md +0 -169
  219. package/stacks/blazor-azure/.claude/skills/level-2-domains/README.md +0 -14
  220. package/stacks/blazor-azure/.claude/skills/level-2-domains/ai-agents/ai-system-architect.md +0 -192
  221. package/stacks/blazor-azure/.claude/skills/level-2-domains/architecture/po-pm-advisor.md +0 -197
  222. package/stacks/blazor-azure/.claude/skills/level-2-domains/architecture/prompt-engineer.md +0 -189
  223. package/stacks/blazor-azure/.claude/skills/level-2-domains/architecture/seo-growth-hacker.md +0 -320
  224. package/stacks/blazor-azure/.claude/skills/level-2-domains/architecture/standards-architect.md +0 -156
  225. package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/dotnet-senior.md +0 -287
  226. package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/ef-modeler.md +0 -113
  227. package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/hangfire-orchestrator.md +0 -126
  228. package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/ms-agent-expert.md +0 -109
  229. package/stacks/blazor-azure/.claude/skills/level-2-domains/frontend/blazor-builder.md +0 -210
  230. package/stacks/blazor-azure/.claude/skills/level-2-domains/frontend/nextjs-expert.md +0 -154
  231. package/stacks/blazor-azure/.claude/skills/level-2-domains/frontend/ui-ux-designer.md +0 -191
  232. package/stacks/blazor-azure/.claude/skills/level-2-domains/infrastructure/azure-architect.md +0 -142
  233. package/stacks/blazor-azure/.claude/skills/level-2-domains/infrastructure/azure-deploy-specialist.md +0 -699
  234. package/stacks/blazor-azure/.claude/skills/level-2-domains/infrastructure/bicep-architect.md +0 -126
  235. package/stacks/blazor-azure/.claude/skills/level-2-domains/infrastructure/container-specialist.md +0 -131
  236. package/stacks/blazor-azure/.claude/skills/level-2-domains/infrastructure/devops-engineer.md +0 -119
  237. package/stacks/blazor-azure/.claude/skills/level-2-domains/integrations/asaas-financial.md +0 -130
  238. package/stacks/blazor-azure/.claude/skills/level-2-domains/integrations/azure-identity.md +0 -142
  239. package/stacks/blazor-azure/.claude/skills/level-2-domains/integrations/clerk-auth.md +0 -108
  240. package/stacks/blazor-azure/.claude/skills/level-2-domains/integrations/resend-email.md +0 -119
  241. package/stacks/blazor-azure/.claude/skills/level-2-domains/quality/code-analyzer.md +0 -235
  242. package/stacks/blazor-azure/.claude/skills/level-2-domains/quality/testing-specialist.md +0 -126
  243. package/stacks/blazor-azure/.claude/skills/level-3-technologies/README.md +0 -7
  244. package/stacks/blazor-azure/.claude/skills/level-4-patterns/README.md +0 -7
  245. package/stacks/blazor-azure/.morph/archive/.gitkeep +0 -25
  246. package/stacks/blazor-azure/.morph/docs/STORY-DRIVEN-DEVELOPMENT.md +0 -392
  247. package/stacks/blazor-azure/.morph/docs/workflows/design-impl.md +0 -37
  248. package/stacks/blazor-azure/.morph/docs/workflows/enforcement-pipeline.md +0 -668
  249. package/stacks/blazor-azure/.morph/docs/workflows/fast-track.md +0 -29
  250. package/stacks/blazor-azure/.morph/docs/workflows/full-morph.md +0 -76
  251. package/stacks/blazor-azure/.morph/docs/workflows/standard.md +0 -44
  252. package/stacks/blazor-azure/.morph/docs/workflows/ui-refresh.md +0 -39
  253. package/stacks/blazor-azure/.morph/examples/api-nextjs/README.md +0 -241
  254. package/stacks/blazor-azure/.morph/examples/api-nextjs/contracts.ts +0 -307
  255. package/stacks/blazor-azure/.morph/examples/api-nextjs/spec.md +0 -399
  256. package/stacks/blazor-azure/.morph/examples/api-nextjs/tasks.md +0 -168
  257. package/stacks/blazor-azure/.morph/examples/micro-saas/README.md +0 -125
  258. package/stacks/blazor-azure/.morph/examples/micro-saas/contracts.cs +0 -358
  259. package/stacks/blazor-azure/.morph/examples/micro-saas/decisions.md +0 -246
  260. package/stacks/blazor-azure/.morph/examples/micro-saas/spec.md +0 -236
  261. package/stacks/blazor-azure/.morph/examples/micro-saas/tasks.md +0 -150
  262. package/stacks/blazor-azure/.morph/examples/multi-agent/README.md +0 -309
  263. package/stacks/blazor-azure/.morph/examples/multi-agent/contracts.cs +0 -433
  264. package/stacks/blazor-azure/.morph/examples/multi-agent/spec.md +0 -479
  265. package/stacks/blazor-azure/.morph/examples/multi-agent/tasks.md +0 -185
  266. package/stacks/blazor-azure/.morph/examples/scheduled-reports/decisions.md +0 -158
  267. package/stacks/blazor-azure/.morph/examples/scheduled-reports/proposal.md +0 -95
  268. package/stacks/blazor-azure/.morph/examples/scheduled-reports/spec.md +0 -267
  269. package/stacks/blazor-azure/.morph/examples/state-v3.json +0 -188
  270. package/stacks/blazor-azure/.morph/features/.gitkeep +0 -25
  271. package/stacks/blazor-azure/.morph/hooks/README.md +0 -348
  272. package/stacks/blazor-azure/.morph/hooks/pre-commit-agents.sh +0 -24
  273. package/stacks/blazor-azure/.morph/hooks/pre-commit-all.sh +0 -48
  274. package/stacks/blazor-azure/.morph/hooks/pre-commit-specs.sh +0 -49
  275. package/stacks/blazor-azure/.morph/hooks/task-completed.js +0 -73
  276. package/stacks/blazor-azure/.morph/hooks/teammate-idle.js +0 -68
  277. package/stacks/blazor-azure/.morph/schemas/agent.schema.json +0 -296
  278. package/stacks/blazor-azure/.morph/schemas/tasks.schema.json +0 -220
  279. package/stacks/blazor-azure/.morph/specs/.gitkeep +0 -20
  280. package/stacks/blazor-azure/.morph/standards/agent-framework-blazor-ui.md +0 -359
  281. package/stacks/blazor-azure/.morph/standards/agent-framework-production.md +0 -410
  282. package/stacks/blazor-azure/.morph/standards/agent-framework-setup.md +0 -413
  283. package/stacks/blazor-azure/.morph/standards/agent-framework-workflows.md +0 -349
  284. package/stacks/blazor-azure/.morph/standards/agent-teams-workflow.md +0 -474
  285. package/stacks/blazor-azure/.morph/standards/architecture.md +0 -325
  286. package/stacks/blazor-azure/.morph/standards/azure.md +0 -605
  287. package/stacks/blazor-azure/.morph/standards/coding.md +0 -377
  288. package/stacks/blazor-azure/.morph/standards/dotnet10-migration.md +0 -520
  289. package/stacks/blazor-azure/.morph/standards/fluent-ui-setup.md +0 -590
  290. package/stacks/blazor-azure/.morph/standards/migration-guide.md +0 -514
  291. package/stacks/blazor-azure/.morph/standards/passkeys-auth.md +0 -423
  292. package/stacks/blazor-azure/.morph/standards/vector-search-rag.md +0 -536
  293. package/stacks/blazor-azure/.morph/templates/CONTEXT-FEATURE.md +0 -276
  294. package/stacks/blazor-azure/.morph/templates/CONTEXT.md +0 -170
  295. package/stacks/blazor-azure/.morph/templates/FluentDesignTheme.cs +0 -149
  296. package/stacks/blazor-azure/.morph/templates/MudTheme.cs +0 -281
  297. package/stacks/blazor-azure/.morph/templates/agent.cs +0 -163
  298. package/stacks/blazor-azure/.morph/templates/clarify-questions.md +0 -159
  299. package/stacks/blazor-azure/.morph/templates/component.razor +0 -239
  300. package/stacks/blazor-azure/.morph/templates/contracts/Commands.cs +0 -74
  301. package/stacks/blazor-azure/.morph/templates/contracts/Entities.cs +0 -25
  302. package/stacks/blazor-azure/.morph/templates/contracts/Queries.cs +0 -74
  303. package/stacks/blazor-azure/.morph/templates/contracts/README.md +0 -74
  304. package/stacks/blazor-azure/.morph/templates/contracts.cs +0 -217
  305. package/stacks/blazor-azure/.morph/templates/decisions.md +0 -123
  306. package/stacks/blazor-azure/.morph/templates/design-system.css +0 -226
  307. package/stacks/blazor-azure/.morph/templates/infra/.dockerignore.example +0 -89
  308. package/stacks/blazor-azure/.morph/templates/infra/Dockerfile.example +0 -82
  309. package/stacks/blazor-azure/.morph/templates/infra/README.md +0 -286
  310. package/stacks/blazor-azure/.morph/templates/infra/app-insights.bicep +0 -63
  311. package/stacks/blazor-azure/.morph/templates/infra/app-service.bicep +0 -164
  312. package/stacks/blazor-azure/.morph/templates/infra/azure-pipelines-deploy.yml +0 -480
  313. package/stacks/blazor-azure/.morph/templates/infra/container-app-env.bicep +0 -49
  314. package/stacks/blazor-azure/.morph/templates/infra/container-app.bicep +0 -156
  315. package/stacks/blazor-azure/.morph/templates/infra/deploy-checklist.md +0 -426
  316. package/stacks/blazor-azure/.morph/templates/infra/deploy.ps1 +0 -229
  317. package/stacks/blazor-azure/.morph/templates/infra/deploy.sh +0 -208
  318. package/stacks/blazor-azure/.morph/templates/infra/key-vault.bicep +0 -91
  319. package/stacks/blazor-azure/.morph/templates/infra/main.bicep +0 -189
  320. package/stacks/blazor-azure/.morph/templates/infra/parameters.dev.json +0 -29
  321. package/stacks/blazor-azure/.morph/templates/infra/parameters.prod.json +0 -29
  322. package/stacks/blazor-azure/.morph/templates/infra/parameters.staging.json +0 -29
  323. package/stacks/blazor-azure/.morph/templates/infra/sql-database.bicep +0 -103
  324. package/stacks/blazor-azure/.morph/templates/infra/storage.bicep +0 -106
  325. package/stacks/blazor-azure/.morph/templates/integrations/asaas-client.cs +0 -387
  326. package/stacks/blazor-azure/.morph/templates/integrations/asaas-webhook.cs +0 -351
  327. package/stacks/blazor-azure/.morph/templates/integrations/azure-identity-config.cs +0 -288
  328. package/stacks/blazor-azure/.morph/templates/integrations/clerk-config.cs +0 -258
  329. package/stacks/blazor-azure/.morph/templates/job.cs +0 -171
  330. package/stacks/blazor-azure/.morph/templates/migration.cs +0 -83
  331. package/stacks/blazor-azure/.morph/templates/proposal.md +0 -141
  332. package/stacks/blazor-azure/.morph/templates/recap.md +0 -94
  333. package/stacks/blazor-azure/.morph/templates/repository.cs +0 -141
  334. package/stacks/blazor-azure/.morph/templates/saas/subscription.cs +0 -347
  335. package/stacks/blazor-azure/.morph/templates/saas/tenant.cs +0 -338
  336. package/stacks/blazor-azure/.morph/templates/service.cs +0 -139
  337. package/stacks/blazor-azure/.morph/templates/simulation.md +0 -353
  338. package/stacks/blazor-azure/.morph/templates/spec.md +0 -149
  339. package/stacks/blazor-azure/.morph/templates/sprint-status.yaml +0 -68
  340. package/stacks/blazor-azure/.morph/templates/state.template.json +0 -222
  341. package/stacks/blazor-azure/.morph/templates/story.md +0 -143
  342. package/stacks/blazor-azure/.morph/templates/tasks.md +0 -257
  343. package/stacks/blazor-azure/.morph/templates/test.cs +0 -239
  344. package/stacks/blazor-azure/.morph/templates/ui-components.md +0 -362
  345. package/stacks/blazor-azure/.morph/templates/ui-design-system.md +0 -286
  346. package/stacks/blazor-azure/.morph/templates/ui-flows.md +0 -336
  347. package/stacks/blazor-azure/.morph/templates/ui-mockups.md +0 -133
  348. package/stacks/blazor-azure/.morph/test-infra/example.bicep +0 -59
  349. package/stacks/nextjs-supabase/.claude/skills/level-2-domains/backend/dotnet-supabase.md +0 -244
  350. package/stacks/nextjs-supabase/.claude/skills/level-2-domains/frontend/nextjs-supabase.md +0 -335
  351. package/stacks/nextjs-supabase/.claude/skills/level-2-domains/infrastructure/easypanel-deployer.md +0 -189
  352. package/stacks/nextjs-supabase/.claude/skills/level-2-domains/integrations/supabase-expert.md +0 -170
  353. package/stacks/nextjs-supabase/.morph/docs/easypanel-setup.md +0 -169
  354. package/stacks/nextjs-supabase/.morph/docs/supabase-mcp-setup.md +0 -247
  355. package/stacks/nextjs-supabase/.morph/examples/crud-nextjs-supabase/README.md +0 -697
  356. package/stacks/nextjs-supabase/.morph/examples/crud-nextjs-supabase/spec.md +0 -85
  357. package/stacks/nextjs-supabase/.morph/examples/crud-nextjs-supabase/tasks.md +0 -86
  358. package/stacks/nextjs-supabase/.morph/examples/saas-nextjs-supabase/README.md +0 -498
  359. package/stacks/nextjs-supabase/.morph/examples/saas-nextjs-supabase/decisions.md +0 -121
  360. package/stacks/nextjs-supabase/.morph/examples/saas-nextjs-supabase/spec.md +0 -138
  361. package/stacks/nextjs-supabase/.morph/examples/saas-nextjs-supabase/tasks.md +0 -162
  362. package/stacks/nextjs-supabase/.morph/standards/easypanel-deploy.md +0 -191
  363. package/stacks/nextjs-supabase/.morph/standards/nextjs-patterns.md +0 -193
  364. package/stacks/nextjs-supabase/.morph/standards/supabase-auth.md +0 -171
  365. package/stacks/nextjs-supabase/.morph/standards/supabase-pgvector.md +0 -164
  366. package/stacks/nextjs-supabase/.morph/standards/supabase-rls.md +0 -179
  367. package/stacks/nextjs-supabase/.morph/standards/supabase-storage.md +0 -148
  368. package/stacks/nextjs-supabase/.morph/templates/contracts.cs +0 -173
  369. package/stacks/nextjs-supabase/.morph/templates/contracts.ts +0 -168
  370. package/stacks/nextjs-supabase/.morph/templates/decisions.md +0 -115
  371. package/stacks/nextjs-supabase/.morph/templates/dockerfile-api.dockerfile +0 -38
  372. package/stacks/nextjs-supabase/.morph/templates/dockerfile-web.dockerfile +0 -48
  373. package/stacks/nextjs-supabase/.morph/templates/proposal.md +0 -145
  374. package/stacks/nextjs-supabase/.morph/templates/recap.md +0 -134
  375. package/stacks/nextjs-supabase/.morph/templates/rls-policy.sql +0 -57
  376. package/stacks/nextjs-supabase/.morph/templates/spec.md +0 -231
  377. package/stacks/nextjs-supabase/.morph/templates/supabase-migration.sql +0 -100
  378. package/stacks/nextjs-supabase/.morph/templates/tasks.md +0 -257
  379. /package/src/commands/{search-patterns.js → learning/search-patterns.js} +0 -0
  380. /package/src/{lib → core/templates}/template-data-sources.js +0 -0
  381. /package/src/lib/{design-system-generator.js → generators/design-system-generator.js} +0 -0
  382. /package/src/lib/{learning-system.js → learning/learning-system.js} +0 -0
  383. /package/src/lib/validators/{package-validator.js → packages/package-validator.js} +0 -0
  384. /package/src/lib/validators/{ui-contrast-validator.js → ui/ui-contrast-validator.js} +0 -0
  385. /package/{src/generator → stacks/blazor-azure/.morph/templates}/.gitkeep +0 -0
  386. /package/{src/llm → stacks/nextjs-supabase/.morph/templates}/.gitkeep +0 -0
@@ -0,0 +1,235 @@
1
+ # Meta-Prompts (HOPs) — MORPH-SPEC v3.0
2
+
3
+ Higher-Order Prompts (HOPs) are Handlebars-powered prompt templates that generate consistent, context-rich system prompts for agent spawning. Instead of writing prompts from scratch each time, HOPs inject standards, mission context, and role definitions automatically.
4
+
5
+ ---
6
+
7
+ ## HOP Categories
8
+
9
+ ### 1. Squad Leaders (`squad-leaders/`)
10
+
11
+ Prompts for orchestrating domain squads. Use when spawning the head of a multi-agent squad.
12
+
13
+ | HOP ID | File | Use Case |
14
+ |--------|------|----------|
15
+ | `hop-backend-squad` | `backend-squad.md` | .NET backend squad with dotnet-senior as lead |
16
+ | `hop-frontend-squad` | `frontend-squad.md` | Blazor or Next.js frontend squad |
17
+
18
+ ### 2. Parallel Workers (`parallel-workers/`)
19
+
20
+ Prompts for P-Thread agents working in isolation.
21
+
22
+ | HOP ID | File | Use Case |
23
+ |--------|------|----------|
24
+ | `hop-parallel-worker` | `parallel-worker.md` | Individual domain worker in a parallel squad |
25
+ | `hop-parallel-coordinator` | `parallel-coordinator.md` | Coordinator managing multiple parallel workers |
26
+
27
+ ### 3. Generic HOPs (`hops/`)
28
+
29
+ General-purpose prompt wrappers.
30
+
31
+ | HOP ID | File | Use Case |
32
+ |--------|------|----------|
33
+ | `hop-wrapper` | `hop-wrapper.md` | Wrap any agent prompt with standard context injection |
34
+ | `hop-retry` | `hop-retry.md` | Retry a failed task with per-attempt strategy hints |
35
+ | `hop-validation` | `hop-validation.md` | Spawn a validation agent for specific validator types |
36
+
37
+ ### 4. Validators (`validators/`)
38
+
39
+ Prompts for checkpoint and pre-commit validation agents.
40
+
41
+ | HOP ID | File | Use Case |
42
+ |--------|------|----------|
43
+ | `hop-checkpoint-validator` | `checkpoint-validator.md` | Run full checkpoint validation (architecture, security, etc.) |
44
+ | `hop-pre-commit-validator` | `pre-commit-validator.md` | Pre-commit hook validation agent |
45
+
46
+ ### 5. Fusion (`fusion/`)
47
+
48
+ Prompts for F-Thread fusion workflows.
49
+
50
+ | HOP ID | File | Use Case |
51
+ |--------|------|----------|
52
+ | `hop-fusion-agent` | `fusion-agent.md` | One of N agents in a fusion run |
53
+ | `hop-fusion-aggregator` | `fusion-aggregator.md` | Aggregates N fusion results into the best output |
54
+
55
+ ---
56
+
57
+ ## Rendering HOPs
58
+
59
+ ### CLI
60
+
61
+ ```bash
62
+ # List all available HOPs
63
+ morph-spec hop list
64
+
65
+ # Render a HOP to stdout
66
+ morph-spec hop render hop-backend-squad \
67
+ --variables '{"AGENT_ID":"dotnet-senior","MISSION":"Implement auth API","FEATURE_NAME":"user-auth"}'
68
+
69
+ # Render and save to file
70
+ morph-spec hop render hop-backend-squad output.md \
71
+ --variables '{"AGENT_ID":"dotnet-senior","MISSION":"Implement auth API"}'
72
+ ```
73
+
74
+ ### Programmatic (Node.js)
75
+
76
+ ```javascript
77
+ import { renderHOP, listAvailableHOPs } from './src/lib/hop-composer.js';
78
+ import { join } from 'path';
79
+
80
+ const frameworkRoot = join(process.cwd(), 'framework');
81
+
82
+ // List HOPs
83
+ const hops = listAvailableHOPs(frameworkRoot);
84
+ console.log(hops); // [{ id, type, file, description }, ...]
85
+
86
+ // Render a HOP
87
+ const prompt = renderHOP('hop-backend-squad', {
88
+ AGENT_ID: 'dotnet-senior',
89
+ MISSION: 'Implement user authentication',
90
+ FEATURE_NAME: 'user-auth',
91
+ SPEC_SUMMARY: 'JWT auth with BCrypt, Supabase JWT validation',
92
+ TASKS: '- T001: User entity\n- T002: AuthService\n- T003: AuthController',
93
+ DELIVERABLES: 'Entities/User.cs, Services/AuthService.cs, Controllers/AuthController.cs',
94
+ CONSTRAINTS: 'IDbContextFactory, no direct DbContext injection'
95
+ }, { frameworkRoot });
96
+ ```
97
+
98
+ ---
99
+
100
+ ## Variable Reference
101
+
102
+ ### Standard Variables (auto-injected)
103
+
104
+ | Variable | Source | Example |
105
+ |----------|--------|---------|
106
+ | `{{FEATURE_NAME}}` | CLI arg | `user-auth` |
107
+ | `{{DATE}}` | System | `2026-02-19` |
108
+ | `{{TIMESTAMP}}` | System | `2026-02-19T10:00:00Z` |
109
+ | `{{STACK}}` | config.json | `Blazor` |
110
+
111
+ ### Squad Leader Variables
112
+
113
+ | Variable | Required | Description |
114
+ |----------|----------|-------------|
115
+ | `{{AGENT_ID}}` | Yes | Agent identifier (e.g., `dotnet-senior`) |
116
+ | `{{MISSION}}` | Yes | One-sentence mission statement |
117
+ | `{{SPEC_SUMMARY}}` | Yes | 2-5 sentence spec summary |
118
+ | `{{ADDITIONAL_LEADERS}}` | No | Domain leader list (markdown bullets) |
119
+ | `{{TASKS}}` | Yes | Task list (markdown bullets with IDs) |
120
+ | `{{DELIVERABLES}}` | Yes | Expected output files |
121
+ | `{{CONSTRAINTS}}` | No | Architecture constraints |
122
+
123
+ ### Parallel Worker Variables
124
+
125
+ | Variable | Required | Description |
126
+ |----------|----------|-------------|
127
+ | `{{THREAD_ID}}` | Yes | Unique thread identifier |
128
+ | `{{DOMAIN}}` | Yes | Domain name (backend, frontend, infra) |
129
+ | `{{ASSIGNED_FILES}}` | Yes | Files this worker owns |
130
+ | `{{SHARED_FILES}}` | No | Read-only shared context files |
131
+ | `{{TASKS}}` | Yes | Tasks assigned to this worker |
132
+
133
+ ### Fusion Variables
134
+
135
+ | Variable | Required | Description |
136
+ |----------|----------|-------------|
137
+ | `{{FUSION_INDEX}}` | Yes | Agent number (1, 2, 3...) |
138
+ | `{{TOTAL_AGENTS}}` | Yes | Total agents in fusion run |
139
+ | `{{STRATEGY}}` | Yes | Aggregation strategy |
140
+ | `{{MISSION}}` | Yes | Shared mission for all agents |
141
+
142
+ ### Retry Variables
143
+
144
+ | Variable | Required | Description |
145
+ |----------|----------|-------------|
146
+ | `{{ATTEMPT}}` | Yes | Current attempt number (1-3) |
147
+ | `{{MAX_ATTEMPTS}}` | Yes | Maximum retry count |
148
+ | `{{FAILURE_REASON}}` | Yes | Why the previous attempt failed |
149
+ | `{{ORIGINAL_TASK}}` | Yes | The task being retried |
150
+
151
+ ---
152
+
153
+ ## Handlebars Helpers
154
+
155
+ HOPs use Handlebars v2.0 helpers:
156
+
157
+ ```handlebars
158
+ {{pascalCase FEATURE_NAME}} → UserAuth
159
+ {{camelCase FEATURE_NAME}} → userAuth
160
+ {{snakeCase FEATURE_NAME}} → user_auth
161
+ {{pluralize "entity"}} → entities
162
+ {{#if IS_BLAZOR}}...{{/if}} → Conditional blocks
163
+ ```
164
+
165
+ Conditionals available in squad leader HOPs:
166
+ - `{{#if IS_BLAZOR}}` — Blazor-specific content
167
+ - `{{#if IS_NEXTJS}}` — Next.js-specific content
168
+ - `{{#if HAS_BACKEND}}` — Backend domain present
169
+ - `{{#if HAS_INFRA}}` — Infrastructure domain present
170
+
171
+ ---
172
+
173
+ ## HOP Composition Example
174
+
175
+ Combining HOPs for a full parallel execution:
176
+
177
+ ```javascript
178
+ // 1. Render coordinator prompt
179
+ const coordinatorPrompt = renderHOP('hop-parallel-coordinator', {
180
+ FEATURE_NAME: 'user-auth',
181
+ SQUADS: 'backend, frontend',
182
+ TOTAL_THREADS: '2'
183
+ }, { frameworkRoot });
184
+
185
+ // 2. Render worker prompts per domain
186
+ const backendPrompt = renderHOP('hop-parallel-worker', {
187
+ THREAD_ID: 'thr_backend_001',
188
+ DOMAIN: 'backend',
189
+ ASSIGNED_FILES: 'Services/UserService.cs\nControllers/AuthController.cs',
190
+ TASKS: '- T001: UserService\n- T002: AuthController'
191
+ }, { frameworkRoot });
192
+
193
+ const frontendPrompt = renderHOP('hop-parallel-worker', {
194
+ THREAD_ID: 'thr_frontend_001',
195
+ DOMAIN: 'frontend',
196
+ ASSIGNED_FILES: 'components/LoginForm.tsx\npages/login.tsx',
197
+ TASKS: '- T003: LoginForm\n- T004: Login page'
198
+ }, { frameworkRoot });
199
+
200
+ // 3. Spawn via Task tool
201
+ // Use backendPrompt and frontendPrompt as subagent prompts
202
+ ```
203
+
204
+ ---
205
+
206
+ ## REGISTRY.json
207
+
208
+ All HOPs are registered in `framework/templates/meta-prompts/REGISTRY.json`:
209
+
210
+ ```json
211
+ {
212
+ "hops": [
213
+ {
214
+ "id": "hop-backend-squad",
215
+ "type": "squad-leader",
216
+ "file": "squad-leaders/backend-squad.md",
217
+ "description": "Backend squad leader for .NET implementation",
218
+ "variables": ["AGENT_ID", "MISSION", "SPEC_SUMMARY", "TASKS", "DELIVERABLES"]
219
+ }
220
+ ]
221
+ }
222
+ ```
223
+
224
+ To add a custom HOP:
225
+ 1. Create your `.md` file in the appropriate category folder
226
+ 2. Add an entry to `REGISTRY.json`
227
+ 3. Use `morph-spec hop list` to verify it appears
228
+
229
+ ---
230
+
231
+ ## Related
232
+
233
+ - [Thread Management](THREAD-MANAGEMENT.md) — How HOPs are used in thread spawning
234
+ - [Context Optimization](CONTEXT-OPTIMIZATION.md) — Token-efficient prompt design
235
+ - `src/lib/hop-composer.js` — Rendering engine source
@@ -0,0 +1,253 @@
1
+ # Migration Guide — MORPH-SPEC v2.x → v3.0
2
+
3
+ This guide covers migrating an existing MORPH-SPEC v2.x installation to v3.0.0.
4
+
5
+ ---
6
+
7
+ ## What Changes in v3.0
8
+
9
+ ### state.json Schema (breaking)
10
+
11
+ v3.0 adds required fields to `state.json`:
12
+
13
+ | Field | Where | Description |
14
+ |-------|-------|-------------|
15
+ | `version` | root | Updated from `2.x.x` → `3.0.0` |
16
+ | `threads` | root | New `{}` object for thread tracking |
17
+ | `features.*.threadMetrics` | per-feature | Thread statistics object |
18
+ | `features.*.trustConfig` | per-feature | Trust level and override |
19
+ | `features.*.contextBundles` | per-feature | Array of context bundle references |
20
+ | `features.*.checkpoints` | per-feature | Array (if not already present) |
21
+ | `metadata.migratedAt` | metadata | Migration timestamp |
22
+
23
+ ### agents.json (additive, non-breaking)
24
+
25
+ v3.0 adds 4 new agents. Existing agents are preserved unchanged:
26
+ - `vector-search-expert` — Azure AI Search + RAG
27
+ - `thread-orchestrator` — Parallel execution coordination
28
+ - `context-optimizer` — Token efficiency
29
+ - `observability-expert` — App Insights, Serilog, OpenTelemetry
30
+
31
+ ### New CLI Commands
32
+
33
+ All new — no existing commands changed:
34
+ - `morph-spec threads [list|status|kill|analytics|wait-all|wait-any]`
35
+ - `morph-spec trust [status|set|history|auto-calculate|clear]`
36
+ - `morph-spec migrate [status|v2-to-v3|rollback-to-v2]`
37
+ - `morph-spec hop [list|render]`
38
+ - `morph-spec analytics [feature|context|project]`
39
+ - `morph-spec core-four`
40
+ - `morph-spec parallel [plan|run|status]`
41
+ - `morph-spec fusion [run|aggregate]`
42
+ - `morph-spec mcp [optimize|list]`
43
+ - `morph-spec micro-agent [create|list|show]`
44
+ - `morph-spec prime`
45
+
46
+ ### New Framework Files
47
+
48
+ 83 new files added across:
49
+ - `src/lib/` — 15 new library files
50
+ - `src/commands/` — 11 new command files
51
+ - `src/migrations/` — 2 migration scripts
52
+ - `framework/templates/meta-prompts/` — 12 HOP templates
53
+ - `framework/standards/` — 23 new standards files
54
+ - `framework/workflows/configs/zero-touch.json`
55
+ - `test/integration/` — 4 integration test suites
56
+ - `docs/next-generation/` — 6 documentation files
57
+
58
+ ---
59
+
60
+ ## Prerequisites
61
+
62
+ Before migrating:
63
+
64
+ - [ ] MORPH-SPEC CLI version ≥ 4.2.0 (`morph-spec --version`)
65
+ - [ ] Node.js ≥ 18 (`node --version`)
66
+ - [ ] Git working tree clean (`git status`)
67
+ - [ ] Current `.morph/state.json` is valid JSON
68
+
69
+ ```bash
70
+ # Verify CLI version
71
+ morph-spec --version
72
+ # Should show: 4.2.0 or higher
73
+
74
+ # Check migration status before starting
75
+ morph-spec migrate status
76
+ ```
77
+
78
+ ---
79
+
80
+ ## Step-by-Step Migration
81
+
82
+ ### Step 1: Check current state
83
+
84
+ ```bash
85
+ morph-spec migrate status
86
+ ```
87
+
88
+ Expected output:
89
+ ```
90
+ 📊 Migration Status
91
+
92
+ state.json
93
+ Version: ⚠ Needs migration (current: v2.1.1)
94
+ Needs update: Yes
95
+ Has backup: No
96
+
97
+ agents.json files
98
+ ⚠ .morph/config/agents.json
99
+ Missing: vector-search-expert, thread-orchestrator, context-optimizer, observability-expert
100
+ ```
101
+
102
+ ### Step 2: Run the migration
103
+
104
+ ```bash
105
+ morph-spec migrate v2-to-v3
106
+ ```
107
+
108
+ This will:
109
+ 1. Backup `state.json` → `state.v2.backup.json`
110
+ 2. Update `state.json` version to `3.0.0`
111
+ 3. Add `threads: {}` to root
112
+ 4. Add `threadMetrics`, `trustConfig`, `contextBundles` to each feature
113
+ 5. Add 4 new agents to each `agents.json` file found
114
+
115
+ Expected output:
116
+ ```
117
+ 🚀 Migrating MORPH-SPEC v2 → v3.0
118
+
119
+ Step 1: Migrating state.json (2.1.1 → 3.0.0)
120
+ ✓ Migration complete: v2.1.1 → 3.0.0
121
+ Backup: .morph/state.v2.backup.json
122
+ Changes:
123
+ • Version: 2.1.1 → 3.0.0
124
+ • Added: threads: {}
125
+ • Feature "user-auth": added threadMetrics, trustConfig, contextBundles, checkpoints
126
+ • Updated metadata.lastUpdated and migratedAt
127
+
128
+ Step 2: Updating agents.json files
129
+ ✓ .morph/config/agents.json: added vector-search-expert, thread-orchestrator, context-optimizer, observability-expert
130
+ – stacks/blazor-azure/.morph/config/agents.json: already up to date
131
+
132
+ ✅ Migration complete! MORPH-SPEC is now on v3.0.0
133
+ ```
134
+
135
+ ### Step 3: Verify migration
136
+
137
+ ```bash
138
+ morph-spec doctor --v3
139
+ ```
140
+
141
+ All checks should pass:
142
+ ```
143
+ ✅ 8/8 — All v3.0 checks passed!
144
+ ```
145
+
146
+ ### Step 4: Commit the migration
147
+
148
+ ```bash
149
+ git add .morph/state.json .morph/config/agents.json
150
+ git commit -m "chore(migration): upgrade MORPH-SPEC state to v3.0.0"
151
+ ```
152
+
153
+ ---
154
+
155
+ ## Rollback
156
+
157
+ If the migration causes issues, restore the v2 backup:
158
+
159
+ ```bash
160
+ morph-spec migrate rollback-to-v2 --force
161
+ ```
162
+
163
+ This restores `state.v2.backup.json` → `state.json`.
164
+
165
+ **Note:** `agents.json` changes are NOT rolled back (additive only, safe to keep).
166
+
167
+ ---
168
+
169
+ ## Manual Migration (Fallback)
170
+
171
+ If the automated migration fails, update `state.json` manually:
172
+
173
+ ```json
174
+ {
175
+ "version": "3.0.0",
176
+ "threads": {},
177
+ "features": {
178
+ "your-feature": {
179
+ "threadMetrics": {
180
+ "totalThreads": 0,
181
+ "completedThreads": 0,
182
+ "failedThreads": 0,
183
+ "parallelBatches": 0
184
+ },
185
+ "trustConfig": {
186
+ "level": "low",
187
+ "passRate": 0,
188
+ "lastCalculated": "2026-02-19T10:00:00.000Z"
189
+ },
190
+ "contextBundles": [],
191
+ "checkpoints": []
192
+ }
193
+ },
194
+ "metadata": {
195
+ "migratedAt": "2026-02-19T10:00:00.000Z",
196
+ "migratedFrom": "2.1.1"
197
+ }
198
+ }
199
+ ```
200
+
201
+ ---
202
+
203
+ ## Post-Migration: Enable v3.0 Features
204
+
205
+ After migration, v3.0 features are available immediately:
206
+
207
+ ```bash
208
+ # Check trust level (starts at "low")
209
+ morph-spec trust status
210
+
211
+ # View thread management
212
+ morph-spec threads list
213
+
214
+ # Try context priming
215
+ morph-spec prime feature
216
+
217
+ # Explore HOPs
218
+ morph-spec hop list
219
+ ```
220
+
221
+ **Trust level** starts at `low` until checkpoints accumulate. To reach `maximum` trust (required for zero-touch), complete 10+ checkpoints with >95% pass rate.
222
+
223
+ ---
224
+
225
+ ## Troubleshooting
226
+
227
+ ### "state.json not found"
228
+
229
+ Run `morph-spec state init` first to create the initial state.
230
+
231
+ ### "agents.json: Failed to parse"
232
+
233
+ Check for JSON syntax errors: `cat .morph/config/agents.json | node -e "JSON.parse(require('fs').readFileSync('/dev/stdin','utf8'))"`
234
+
235
+ ### "migration fails with unknown version"
236
+
237
+ The migration handles any version string that isn't `3.0.0`. If your version field is missing or corrupted, set it manually to `2.1.1` before running migration.
238
+
239
+ ### Rollback backup missing
240
+
241
+ If `state.v2.backup.json` is gone but you need v2:
242
+ - Restore from git: `git show HEAD:.morph/state.json > .morph/state.json`
243
+ - Or re-run migration (it's idempotent for already-migrated files)
244
+
245
+ ---
246
+
247
+ ## Related
248
+
249
+ - [Thread Management](THREAD-MANAGEMENT.md) — New thread features in v3.0
250
+ - [Context Optimization](CONTEXT-OPTIMIZATION.md) — Using new context tools
251
+ - [Meta-Prompts](META-PROMPTS.md) — HOP system overview
252
+ - `src/migrations/v2-to-v3.js` — Migration script source
253
+ - `src/migrations/agents-update.js` — Agents update script source