@howlil/ez-agents 3.4.2 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (365) hide show
  1. package/README.md +735 -462
  2. package/agents/ez-architect-agent.md +267 -0
  3. package/agents/ez-backend-agent.md +303 -0
  4. package/agents/ez-chief-strategist.md +271 -0
  5. package/agents/ez-codebase-mapper.md +770 -770
  6. package/agents/ez-context-manager.md +319 -0
  7. package/agents/ez-debugger.md +1255 -1255
  8. package/agents/ez-design-expert.md +347 -0
  9. package/agents/ez-devops-agent.md +331 -0
  10. package/agents/ez-executor.md +487 -487
  11. package/agents/ez-frontend-agent.md +322 -0
  12. package/agents/ez-phase-researcher.md +553 -553
  13. package/agents/ez-planner.md +1307 -1307
  14. package/agents/ez-product-engineer.md +435 -0
  15. package/agents/ez-project-researcher.md +629 -629
  16. package/agents/ez-qa-agent.md +320 -0
  17. package/agents/ez-release-agent.md +333 -0
  18. package/agents/ez-requirements-agent.md +377 -0
  19. package/agents/ez-roadmapper.md +650 -650
  20. package/agents/ez-technical-writer.md +551 -0
  21. package/agents/ez-ux-expert.md +393 -0
  22. package/agents/ez-verifier.md +579 -579
  23. package/bin/guards/autonomy-guard.cjs +346 -0
  24. package/bin/guards/context-budget-guard.cjs +278 -0
  25. package/bin/guards/hallucination-guard.cjs +380 -0
  26. package/bin/guards/hidden-state-guard.cjs +182 -0
  27. package/bin/guards/team-overhead-guard.cjs +266 -0
  28. package/bin/guards/tool-sprawl-guard.cjs +271 -0
  29. package/bin/install.js +3221 -3272
  30. package/bin/lib/analytics/analytics-collector.cjs +86 -0
  31. package/bin/lib/analytics/analytics-reporter.cjs +130 -0
  32. package/bin/lib/analytics/cohort-analyzer.cjs +138 -0
  33. package/bin/lib/analytics/funnel-analyzer.cjs +147 -0
  34. package/bin/lib/analytics/nps-tracker.cjs +147 -0
  35. package/bin/lib/archetype-detector.cjs +289 -0
  36. package/bin/lib/assistant-adapter.cjs +361 -0
  37. package/bin/lib/audit-exec.cjs +175 -0
  38. package/bin/lib/auth.cjs +176 -0
  39. package/bin/lib/backup-service.cjs +422 -0
  40. package/bin/lib/bdd-validator.cjs +622 -0
  41. package/bin/lib/business-flow-mapper.cjs +429 -0
  42. package/bin/lib/circuit-breaker.cjs +276 -0
  43. package/bin/lib/code-complexity-analyzer.cjs +360 -0
  44. package/bin/lib/codebase-analyzer.cjs +241 -0
  45. package/bin/lib/commands.cjs +691 -0
  46. package/bin/lib/config.cjs +236 -0
  47. package/bin/lib/constraint-extractor.cjs +526 -0
  48. package/bin/lib/content-scanner.cjs +238 -0
  49. package/bin/lib/context-cache.cjs +154 -0
  50. package/bin/lib/context-compressor.cjs +102 -0
  51. package/bin/lib/context-deduplicator.cjs +105 -0
  52. package/bin/lib/context-errors.cjs +78 -0
  53. package/bin/lib/context-manager.cjs +338 -0
  54. package/bin/lib/context-metadata-tracker.cjs +140 -0
  55. package/bin/lib/context-relevance-scorer.cjs +99 -0
  56. package/bin/lib/core.cjs +507 -0
  57. package/bin/lib/cost-alerts.cjs +174 -0
  58. package/bin/lib/cost-tracker.cjs +275 -0
  59. package/bin/lib/crash-recovery.cjs +220 -0
  60. package/bin/lib/dependency-graph.cjs +319 -0
  61. package/bin/lib/deploy/deploy-audit-log.cjs +76 -0
  62. package/bin/lib/deploy/deploy-detector.cjs +69 -0
  63. package/bin/lib/deploy/deploy-env-manager.cjs +109 -0
  64. package/bin/lib/deploy/deploy-health-check.cjs +88 -0
  65. package/bin/lib/deploy/deploy-pre-flight.cjs +57 -0
  66. package/bin/lib/deploy/deploy-rollback.cjs +72 -0
  67. package/bin/lib/deploy/deploy-runner.cjs +97 -0
  68. package/bin/lib/deploy/deploy-status.cjs +74 -0
  69. package/bin/lib/discussion-synthesizer.cjs +439 -0
  70. package/bin/lib/error-cache.cjs +114 -0
  71. package/bin/lib/error-registry.cjs +177 -0
  72. package/bin/lib/file-access.cjs +207 -0
  73. package/bin/lib/file-lock.cjs +236 -0
  74. package/bin/lib/finops/budget-enforcer.cjs +126 -0
  75. package/bin/lib/finops/cost-reporter.cjs +132 -0
  76. package/bin/lib/finops/finops-analyzer.cjs +112 -0
  77. package/bin/lib/finops/spot-manager.cjs +118 -0
  78. package/bin/lib/framework-detector.cjs +396 -0
  79. package/bin/lib/frontmatter.cjs +313 -0
  80. package/bin/lib/fs-utils.cjs +153 -0
  81. package/bin/lib/gate-executor.cjs +272 -0
  82. package/bin/lib/gates/README.md +374 -0
  83. package/bin/lib/gates/gate-01-requirement.cjs +303 -0
  84. package/bin/lib/gates/gate-02-architecture.cjs +555 -0
  85. package/bin/lib/gates/gate-03-code.cjs +635 -0
  86. package/bin/lib/gates/gate-04-security.cjs +829 -0
  87. package/bin/lib/git-errors.cjs +83 -0
  88. package/bin/lib/git-utils.cjs +321 -0
  89. package/bin/lib/git-workflow-engine.cjs +1157 -0
  90. package/bin/lib/health-check.cjs +227 -0
  91. package/bin/lib/index.cjs +279 -0
  92. package/bin/lib/init.cjs +725 -0
  93. package/bin/lib/lock-logger.cjs +194 -0
  94. package/bin/lib/lock-state.cjs +263 -0
  95. package/bin/lib/lockfile-validator.cjs +227 -0
  96. package/bin/lib/log-rotation.cjs +71 -0
  97. package/bin/lib/logger.cjs +125 -0
  98. package/bin/lib/memory-compression.cjs +256 -0
  99. package/bin/lib/milestone.cjs +247 -0
  100. package/bin/lib/model-provider.cjs +241 -0
  101. package/bin/lib/package-manager-detector.cjs +203 -0
  102. package/bin/lib/package-manager-executor.cjs +385 -0
  103. package/bin/lib/package-manager-service.cjs +216 -0
  104. package/bin/lib/perf/api-monitor.cjs +88 -0
  105. package/bin/lib/perf/db-optimizer.cjs +78 -0
  106. package/bin/lib/perf/frontend-performance.cjs +56 -0
  107. package/bin/lib/perf/perf-analyzer.cjs +77 -0
  108. package/bin/lib/perf/perf-baseline.cjs +102 -0
  109. package/bin/lib/perf/perf-reporter.cjs +117 -0
  110. package/bin/lib/perf/regression-detector.cjs +92 -0
  111. package/bin/lib/phase.cjs +963 -0
  112. package/bin/lib/planning-write.cjs +123 -0
  113. package/bin/lib/project-reporter.cjs +565 -0
  114. package/bin/lib/quality-gate.cjs +332 -0
  115. package/bin/lib/quality-metrics.cjs +324 -0
  116. package/bin/lib/recovery-manager.cjs +98 -0
  117. package/bin/lib/release-validator.cjs +617 -0
  118. package/bin/lib/retry.cjs +119 -0
  119. package/bin/lib/roadmap.cjs +309 -0
  120. package/bin/lib/safe-exec.cjs +173 -0
  121. package/bin/lib/safe-path.cjs +130 -0
  122. package/bin/lib/security-errors.cjs +62 -0
  123. package/bin/lib/session-chain.cjs +304 -0
  124. package/bin/lib/session-errors.cjs +81 -0
  125. package/bin/lib/session-export.cjs +251 -0
  126. package/bin/lib/session-import.cjs +262 -0
  127. package/bin/lib/session-manager.cjs +280 -0
  128. package/bin/lib/skill-context.cjs +148 -0
  129. package/bin/lib/skill-matcher.cjs +236 -0
  130. package/bin/lib/skill-registry.cjs +360 -0
  131. package/bin/lib/skill-resolver.cjs +449 -0
  132. package/bin/lib/skill-triggers.cjs +90 -0
  133. package/bin/lib/skill-validator.cjs +270 -0
  134. package/bin/lib/skill-versioning.cjs +355 -0
  135. package/bin/lib/stack-detector.cjs +399 -0
  136. package/bin/lib/state.cjs +736 -0
  137. package/bin/lib/tech-debt-analyzer.cjs +309 -0
  138. package/bin/lib/temp-file.cjs +239 -0
  139. package/bin/lib/template.cjs +223 -0
  140. package/bin/lib/test-file-lock.cjs +112 -0
  141. package/bin/lib/test-graceful.cjs +93 -0
  142. package/bin/lib/test-logger.cjs +60 -0
  143. package/bin/lib/test-safe-exec.cjs +38 -0
  144. package/bin/lib/test-safe-path.cjs +33 -0
  145. package/bin/lib/test-temp-file.cjs +125 -0
  146. package/bin/lib/tier-manager.cjs +428 -0
  147. package/bin/lib/timeout-exec.cjs +63 -0
  148. package/bin/lib/tradeoff-analyzer.cjs +284 -0
  149. package/bin/lib/url-fetch.cjs +170 -0
  150. package/bin/lib/verify.cjs +863 -0
  151. package/bin/update.js +217 -214
  152. package/commands/deploy.cjs +53 -0
  153. package/commands/ez/add-tests.md +41 -41
  154. package/commands/ez/audit-milestone.md +36 -36
  155. package/commands/ez/complete-milestone.md +136 -136
  156. package/commands/ez/discuss-phase.md +90 -90
  157. package/commands/ez/execute-phase.md +52 -41
  158. package/commands/ez/help.md +22 -22
  159. package/commands/ez/map-codebase.md +71 -71
  160. package/commands/ez/new-milestone.md +44 -44
  161. package/commands/ez/new-project.md +51 -42
  162. package/commands/ez/plan-phase.md +53 -45
  163. package/commands/ez/progress.md +36 -24
  164. package/commands/ez/quick.md +45 -45
  165. package/commands/ez/resume-work.md +40 -40
  166. package/commands/ez/run-phase.md +580 -0
  167. package/commands/ez/settings.md +36 -36
  168. package/commands/ez/update.md +37 -37
  169. package/commands/ez/verify-work.md +402 -38
  170. package/commands/health-check.cjs +44 -0
  171. package/commands/rollback.cjs +47 -0
  172. package/ez-agents/bin/ez-tools.cjs +1692 -716
  173. package/ez-agents/bin/guards/autonomy-guard.cjs +346 -0
  174. package/ez-agents/bin/guards/context-budget-guard.cjs +247 -0
  175. package/ez-agents/bin/guards/hallucination-guard.cjs +271 -0
  176. package/ez-agents/bin/guards/hidden-state-guard.cjs +182 -0
  177. package/ez-agents/bin/guards/team-overhead-guard.cjs +266 -0
  178. package/ez-agents/bin/guards/tool-sprawl-guard.cjs +271 -0
  179. package/ez-agents/bin/lib/analytics/analytics-collector.cjs +86 -0
  180. package/ez-agents/bin/lib/analytics/analytics-reporter.cjs +130 -0
  181. package/ez-agents/bin/lib/analytics/cohort-analyzer.cjs +138 -0
  182. package/ez-agents/bin/lib/analytics/funnel-analyzer.cjs +147 -0
  183. package/ez-agents/bin/lib/analytics/nps-tracker.cjs +147 -0
  184. package/ez-agents/bin/lib/archetype-detector.cjs +289 -0
  185. package/ez-agents/bin/lib/audit-exec.cjs +166 -167
  186. package/ez-agents/bin/lib/auth.cjs +176 -176
  187. package/ez-agents/bin/lib/backup-service.cjs +422 -0
  188. package/ez-agents/bin/lib/bdd-validator.cjs +622 -0
  189. package/ez-agents/bin/lib/business-flow-mapper.cjs +429 -0
  190. package/ez-agents/bin/lib/code-complexity-analyzer.cjs +360 -0
  191. package/ez-agents/bin/lib/codebase-analyzer.cjs +241 -0
  192. package/ez-agents/bin/lib/commands.cjs +685 -685
  193. package/ez-agents/bin/lib/config.cjs +41 -1
  194. package/ez-agents/bin/lib/constraint-extractor.cjs +526 -0
  195. package/ez-agents/bin/lib/content-scanner.cjs +238 -0
  196. package/ez-agents/bin/lib/context-cache.cjs +154 -0
  197. package/ez-agents/bin/lib/context-errors.cjs +71 -0
  198. package/ez-agents/bin/lib/context-manager.cjs +220 -0
  199. package/ez-agents/bin/lib/core.cjs +507 -512
  200. package/ez-agents/bin/lib/cost-tracker.cjs +243 -0
  201. package/ez-agents/bin/lib/crash-recovery.cjs +172 -0
  202. package/ez-agents/bin/lib/dependency-graph.cjs +319 -0
  203. package/ez-agents/bin/lib/deploy/deploy-audit-log.cjs +76 -0
  204. package/ez-agents/bin/lib/deploy/deploy-detector.cjs +69 -0
  205. package/ez-agents/bin/lib/deploy/deploy-env-manager.cjs +109 -0
  206. package/ez-agents/bin/lib/deploy/deploy-health-check.cjs +88 -0
  207. package/ez-agents/bin/lib/deploy/deploy-pre-flight.cjs +57 -0
  208. package/ez-agents/bin/lib/deploy/deploy-rollback.cjs +72 -0
  209. package/ez-agents/bin/lib/deploy/deploy-runner.cjs +97 -0
  210. package/ez-agents/bin/lib/deploy/deploy-status.cjs +74 -0
  211. package/ez-agents/bin/lib/discussion-synthesizer.cjs +458 -0
  212. package/ez-agents/bin/lib/file-access.cjs +207 -0
  213. package/ez-agents/bin/lib/finops/budget-enforcer.cjs +126 -0
  214. package/ez-agents/bin/lib/finops/cost-reporter.cjs +132 -0
  215. package/ez-agents/bin/lib/finops/finops-analyzer.cjs +112 -0
  216. package/ez-agents/bin/lib/finops/spot-manager.cjs +118 -0
  217. package/ez-agents/bin/lib/framework-detector.cjs +396 -0
  218. package/ez-agents/bin/lib/frontmatter.cjs +3 -1
  219. package/ez-agents/bin/lib/gates/README.md +374 -0
  220. package/ez-agents/bin/lib/gates/gate-01-requirement.cjs +303 -0
  221. package/ez-agents/bin/lib/gates/gate-02-architecture.cjs +555 -0
  222. package/ez-agents/bin/lib/gates/gate-03-code.cjs +635 -0
  223. package/ez-agents/bin/lib/gates/gate-04-security.cjs +829 -0
  224. package/ez-agents/bin/lib/git-errors.cjs +83 -0
  225. package/ez-agents/bin/lib/git-utils.cjs +118 -0
  226. package/ez-agents/bin/lib/git-workflow-engine.cjs +1157 -0
  227. package/ez-agents/bin/lib/health-check.cjs +162 -162
  228. package/ez-agents/bin/lib/index.cjs +40 -2
  229. package/ez-agents/bin/lib/init.cjs +0 -2
  230. package/ez-agents/bin/lib/lockfile-validator.cjs +227 -0
  231. package/ez-agents/bin/lib/log-rotation.cjs +71 -0
  232. package/ez-agents/bin/lib/logger.cjs +99 -154
  233. package/ez-agents/bin/lib/memory-compression.cjs +256 -0
  234. package/ez-agents/bin/lib/package-manager-detector.cjs +203 -0
  235. package/ez-agents/bin/lib/package-manager-executor.cjs +385 -0
  236. package/ez-agents/bin/lib/package-manager-service.cjs +216 -0
  237. package/ez-agents/bin/lib/perf/api-monitor.cjs +88 -0
  238. package/ez-agents/bin/lib/perf/db-optimizer.cjs +78 -0
  239. package/ez-agents/bin/lib/perf/frontend-performance.cjs +56 -0
  240. package/ez-agents/bin/lib/perf/perf-analyzer.cjs +77 -0
  241. package/ez-agents/bin/lib/perf/perf-baseline.cjs +102 -0
  242. package/ez-agents/bin/lib/perf/perf-reporter.cjs +117 -0
  243. package/ez-agents/bin/lib/perf/regression-detector.cjs +92 -0
  244. package/ez-agents/bin/lib/project-reporter.cjs +502 -0
  245. package/ez-agents/bin/lib/quality-gate.cjs +332 -0
  246. package/ez-agents/bin/lib/recovery-manager.cjs +98 -0
  247. package/ez-agents/bin/lib/release-validator.cjs +617 -0
  248. package/ez-agents/bin/lib/safe-exec.cjs +128 -214
  249. package/ez-agents/bin/lib/security-errors.cjs +62 -0
  250. package/ez-agents/bin/lib/session-chain.cjs +304 -0
  251. package/ez-agents/bin/lib/session-errors.cjs +81 -0
  252. package/ez-agents/bin/lib/session-export.cjs +251 -0
  253. package/ez-agents/bin/lib/session-import.cjs +262 -0
  254. package/ez-agents/bin/lib/session-manager.cjs +280 -0
  255. package/ez-agents/bin/lib/skill-context.cjs +148 -0
  256. package/ez-agents/bin/lib/skill-matcher.cjs +236 -0
  257. package/ez-agents/bin/lib/skill-registry.cjs +341 -0
  258. package/ez-agents/bin/lib/skill-resolver.cjs +449 -0
  259. package/ez-agents/bin/lib/skill-triggers.cjs +90 -0
  260. package/ez-agents/bin/lib/skill-validator.cjs +270 -0
  261. package/ez-agents/bin/lib/skill-versioning.cjs +355 -0
  262. package/ez-agents/bin/lib/stack-detector.cjs +399 -0
  263. package/ez-agents/bin/lib/tech-debt-analyzer.cjs +309 -0
  264. package/ez-agents/bin/lib/tier-manager.cjs +428 -0
  265. package/ez-agents/bin/lib/tradeoff-analyzer.cjs +284 -0
  266. package/ez-agents/bin/lib/url-fetch.cjs +170 -0
  267. package/ez-agents/bin/lib/verify.cjs +863 -863
  268. package/ez-agents/references/decimal-phase-calculation.md +65 -65
  269. package/ez-agents/references/git-integration.md +248 -248
  270. package/ez-agents/references/git-planning-commit.md +38 -38
  271. package/ez-agents/references/metrics-schema.md +118 -0
  272. package/ez-agents/references/model-profile-resolution.md +34 -34
  273. package/ez-agents/references/model-profiles.md +93 -93
  274. package/ez-agents/references/phase-argument-parsing.md +61 -61
  275. package/ez-agents/references/planning-config.md +340 -200
  276. package/ez-agents/references/tier-strategy.md +103 -0
  277. package/ez-agents/references/ui-brand.md +160 -160
  278. package/ez-agents/references/verification-patterns.md +612 -612
  279. package/ez-agents/templates/DEBUG.md +164 -164
  280. package/ez-agents/templates/UAT.md +247 -247
  281. package/ez-agents/templates/agent-output-format.md +404 -0
  282. package/ez-agents/templates/bdd-feature.md +173 -0
  283. package/ez-agents/templates/codebase/architecture.md +255 -255
  284. package/ez-agents/templates/codebase/structure.md +285 -285
  285. package/ez-agents/templates/copilot-instructions.md +7 -7
  286. package/ez-agents/templates/debug-subagent-prompt.md +91 -91
  287. package/ez-agents/templates/discovery.md +146 -146
  288. package/ez-agents/templates/discussion.md +68 -0
  289. package/ez-agents/templates/handoff-protocol.md +294 -0
  290. package/ez-agents/templates/incident-runbook.md +205 -0
  291. package/ez-agents/templates/mode-workflow-templates.md +301 -0
  292. package/ez-agents/templates/phase-prompt.md +610 -610
  293. package/ez-agents/templates/planner-subagent-prompt.md +117 -117
  294. package/ez-agents/templates/project.md +184 -184
  295. package/ez-agents/templates/release-checklist.md +136 -0
  296. package/ez-agents/templates/research.md +552 -552
  297. package/ez-agents/templates/rollback-plan.md +201 -0
  298. package/ez-agents/templates/security-user-setup.md +244 -0
  299. package/ez-agents/templates/skill-validation-rules.md +476 -0
  300. package/ez-agents/templates/state.md +180 -176
  301. package/ez-agents/templates/summary-complex.md +59 -59
  302. package/ez-agents/tests/gates/gate-01-02.test.cjs +812 -0
  303. package/ez-agents/tests/gates/gate-03-04.test.cjs +762 -0
  304. package/ez-agents/tests/gates/gate-05-validator.test.cjs +145 -0
  305. package/ez-agents/tests/gates/gate-06-docs-validator.test.cjs +244 -0
  306. package/ez-agents/tests/gates/gate-07-release-validator.test.cjs +219 -0
  307. package/ez-agents/tests/guards/context-budget-guard.test.cjs +145 -0
  308. package/ez-agents/tests/guards/edge-case-guards.test.cjs +238 -0
  309. package/ez-agents/tests/guards/hallucination-guard.test.cjs +124 -0
  310. package/ez-agents/workflows/audit-milestone.md +1 -1
  311. package/ez-agents/workflows/autonomous.md +131 -30
  312. package/ez-agents/workflows/complete-milestone.md +1 -1
  313. package/ez-agents/workflows/discuss-phase.md +1 -1
  314. package/ez-agents/workflows/execute-phase.md +169 -3
  315. package/ez-agents/workflows/help.md +86 -133
  316. package/ez-agents/workflows/hotfix.md +291 -0
  317. package/ez-agents/workflows/new-milestone.md +340 -11
  318. package/ez-agents/workflows/new-project.md +294 -318
  319. package/ez-agents/workflows/plan-phase.md +22 -40
  320. package/ez-agents/workflows/progress.md +15 -25
  321. package/ez-agents/workflows/release.md +253 -0
  322. package/ez-agents/workflows/resume-session.md +215 -0
  323. package/ez-agents/workflows/run-phase.md +531 -0
  324. package/ez-agents/workflows/settings.md +2 -35
  325. package/hooks/dist/ez-check-update.js +81 -81
  326. package/hooks/dist/ez-context-monitor.js +148 -141
  327. package/hooks/dist/ez-statusline.js +115 -115
  328. package/package.json +78 -64
  329. package/scripts/fix-qwen-installation.js +144 -144
  330. package/agents/ez-integration-checker.md +0 -443
  331. package/agents/ez-nyquist-auditor.md +0 -176
  332. package/agents/ez-plan-checker.md +0 -706
  333. package/agents/ez-research-synthesizer.md +0 -247
  334. package/agents/ez-ui-auditor.md +0 -439
  335. package/agents/ez-ui-checker.md +0 -300
  336. package/agents/ez-ui-researcher.md +0 -353
  337. package/commands/ez/add-phase.md +0 -43
  338. package/commands/ez/add-todo.md +0 -47
  339. package/commands/ez/auth.md +0 -87
  340. package/commands/ez/autonomous.md +0 -41
  341. package/commands/ez/check-todos.md +0 -45
  342. package/commands/ez/cleanup.md +0 -18
  343. package/commands/ez/debug.md +0 -168
  344. package/commands/ez/health.md +0 -22
  345. package/commands/ez/insert-phase.md +0 -32
  346. package/commands/ez/join-discord.md +0 -18
  347. package/commands/ez/list-phase-assumptions.md +0 -46
  348. package/commands/ez/pause-work.md +0 -38
  349. package/commands/ez/plan-milestone-gaps.md +0 -34
  350. package/commands/ez/reapply-patches.md +0 -124
  351. package/commands/ez/remove-phase.md +0 -31
  352. package/commands/ez/research-phase.md +0 -190
  353. package/commands/ez/set-profile.md +0 -34
  354. package/commands/ez/stats.md +0 -18
  355. package/commands/ez/ui-phase.md +0 -34
  356. package/commands/ez/ui-review.md +0 -32
  357. package/commands/ez/validate-phase.md +0 -35
  358. package/ez-agents/templates/UI-SPEC.md +0 -100
  359. package/ez-agents/templates/VALIDATION.md +0 -76
  360. package/ez-agents/templates/context.md +0 -352
  361. package/ez-agents/templates/verification-report.md +0 -322
  362. package/ez-agents/workflows/research-phase.md +0 -74
  363. package/ez-agents/workflows/ui-phase.md +0 -290
  364. package/ez-agents/workflows/ui-review.md +0 -157
  365. package/ez-agents/workflows/validate-phase.md +0 -167
@@ -2,6 +2,8 @@
2
2
 
3
3
  Start a new milestone cycle for an existing project. Loads project context, gathers milestone goals (from MILESTONE-CONTEXT.md or conversation), updates PROJECT.md and STATE.md, optionally runs parallel research, defines scoped requirements with REQ-IDs, spawns the roadmapper to create phased execution plan, and commits all artifacts. Brownfield equivalent of new-project.
4
4
 
5
+ **GSD-2 Enhanced:** Includes crash recovery, cost tracking, fresh context, and stuck detection for production-grade reliability.
6
+
5
7
  </purpose>
6
8
 
7
9
  <required_reading>
@@ -12,12 +14,138 @@ Read all files referenced by the invoking prompt's execution_context before star
12
14
 
13
15
  <process>
14
16
 
17
+ ## 0. Pre-Flight Health Check (GSD-2 Pattern)
18
+
19
+ **MANDATORY FIRST STEP — Validate environment before ANY operation:**
20
+
21
+ ```bash
22
+ # Run health check
23
+ HEALTH=$(node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" doctor --json)
24
+ ```
25
+
26
+ **Check:**
27
+ - ✅ Node.js version >= 16.7.0
28
+ - ✅ AI tools available (Claude, OpenCode, etc.)
29
+ - ✅ Config valid (`.planning/config.json`)
30
+ - ✅ Git repo initialized
31
+ - ✅ API keys configured
32
+
33
+ **If any check fails:**
34
+ ```
35
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
36
+ EZ ► HEALTH CHECK FAILED
37
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
38
+
39
+ ❌ [Failed check description]
40
+
41
+ Fix:
42
+ [suggested command]
43
+
44
+ Example:
45
+ $ [example command]
46
+
47
+ Resolve before continuing with milestone initialization.
48
+ ```
49
+
50
+ **Abort milestone init until resolved.**
51
+
52
+ ---
53
+
54
+ ## 0a. Gather Initial Context (CONTEXT-01, CONTEXT-02)
55
+
56
+ **Initialize ContextManager for context gathering:**
57
+
58
+ ```javascript
59
+ const ContextManager = require('../bin/lib/context-manager.cjs');
60
+ const contextManager = new ContextManager(process.cwd());
61
+ ```
62
+
63
+ **Request milestone-specific context:**
64
+
65
+ ```javascript
66
+ const context = await contextManager.requestContext({
67
+ files: ['.planning/PROJECT.md', '.planning/STATE.md', '.planning/ROADMAP.md'],
68
+ urls: []
69
+ });
70
+ ```
71
+
72
+ **Agent can request additional context using:**
73
+ - `ez-tools context read <pattern>` — Read local files
74
+ - `ez-tools context fetch <url>` — Fetch URL content (requires user confirmation)
75
+
76
+ **Update STATE.md with context sources:**
77
+
78
+ ```javascript
79
+ await contextManager.updateStateMd();
80
+ ```
81
+
82
+ **Continue to Load Context (Step 1) with gathered context.**
83
+
84
+ ---
85
+
15
86
  ## 1. Load Context
16
87
 
17
- - Read PROJECT.md (existing project, validated requirements, decisions)
18
- - Read MILESTONES.md (what shipped previously)
19
- - Read STATE.md (pending todos, blockers)
20
- - Check for MILESTONE-CONTEXT.md (from /ez:discuss-milestone)
88
+ Read PROJECT.md (existing project, validated requirements, decisions)
89
+ Read MILESTONES.md (what shipped previously)
90
+ Read STATE.md (pending todos, blockers)
91
+ Check for MILESTONE-CONTEXT.md (from /ez:discuss-milestone)
92
+
93
+ ---
94
+
95
+ ## 1a. Initialize Milestone Cost Tracking (GSD-2 Pattern)
96
+
97
+ **Create/Update metrics.json:**
98
+
99
+ ```bash
100
+ # Initialize milestone budget
101
+ node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" cost-init \
102
+ --milestone="v[X.Y]" \
103
+ --budget-ceiling=50.00 \
104
+ --alert-threshold=0.8
105
+ ```
106
+
107
+ **Create `.planning/metrics.json`:**
108
+ ```json
109
+ {
110
+ "milestone": "v[X.Y]",
111
+ "started_at": "2026-03-18T12:00:00.000Z",
112
+ "budget": {
113
+ "ceiling": 50.00,
114
+ "alert_threshold": 0.8,
115
+ "projected": 0.00,
116
+ "spent": 0.00
117
+ },
118
+ "phases": {},
119
+ "cumulative": {
120
+ "total_tokens": 0,
121
+ "total_cost_usd": 0.00,
122
+ "by_provider": {}
123
+ }
124
+ }
125
+ ```
126
+
127
+ **Display budget info:**
128
+ ```
129
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
130
+ EZ ► MILESTONE BUDGET
131
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
132
+
133
+ Milestone: v[X.Y]
134
+ Budget Ceiling: $50.00
135
+ Alert Threshold: 80% ($40.00)
136
+
137
+ You will be warned when spending reaches 80% of budget.
138
+ Auto-pause at $50.00.
139
+
140
+ View anytime: /ez:cost
141
+ ```
142
+
143
+ **Commit metrics.json:**
144
+ ```bash
145
+ node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" commit "chore: initialize milestone budget" --files .planning/metrics.json
146
+ ```
147
+
148
+ ---
21
149
 
22
150
  ## 2. Gather Milestone Goals
23
151
 
@@ -31,12 +159,56 @@ Read all files referenced by the invoking prompt's execution_context before star
31
159
  - Wait for their response, then use AskUserQuestion to probe specifics
32
160
  - If user selects "Other" at any point to provide freeform input, ask follow-up as plain text — not another AskUserQuestion
33
161
 
162
+ ---
163
+
164
+ ## 2a. Create Lock File (GSD-2 Pattern)
165
+
166
+ **Before any major operation:**
167
+
168
+ ```bash
169
+ # Create auto.lock
170
+ node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" lock-create \
171
+ --operation="new-milestone" \
172
+ --milestone="v[X.Y]"
173
+ ```
174
+
175
+ **Create `.planning/auto.lock`:**
176
+ ```json
177
+ {
178
+ "pid": 12345,
179
+ "operation": "new-milestone",
180
+ "milestone": "v[X.Y]",
181
+ "started_at": "2026-03-18T12:00:00.000Z",
182
+ "last_heartbeat": "2026-03-18T12:00:00.000Z",
183
+ "state": "gathering_goals"
184
+ }
185
+ ```
186
+
187
+ **Update heartbeat every 5 minutes:**
188
+ ```bash
189
+ node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" lock-heartbeat
190
+ ```
191
+
192
+ **On completion:**
193
+ ```bash
194
+ node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" lock-release
195
+ ```
196
+
197
+ **On crash/restart:**
198
+ - Detect orphaned lock (PID dead)
199
+ - Synthesize recovery briefing
200
+ - Resume from last known state
201
+
202
+ ---
203
+
34
204
  ## 3. Determine Milestone Version
35
205
 
36
206
  - Parse last version from MILESTONES.md
37
207
  - Suggest next version (v1.0 → v1.1, or v2.0 for major)
38
208
  - Confirm with user
39
209
 
210
+ ---
211
+
40
212
  ## 4. Update PROJECT.md
41
213
 
42
214
  Add/update:
@@ -54,6 +226,8 @@ Add/update:
54
226
 
55
227
  Update Active requirements section and "Last updated" footer.
56
228
 
229
+ ---
230
+
57
231
  ## 5. Update STATE.md
58
232
 
59
233
  ```markdown
@@ -67,14 +241,23 @@ Last activity: [today] — Milestone v[X.Y] started
67
241
 
68
242
  Keep Accumulated Context section from previous milestone.
69
243
 
244
+ ---
245
+
70
246
  ## 6. Cleanup and Commit
71
247
 
72
248
  Delete MILESTONE-CONTEXT.md if exists (consumed).
73
249
 
74
250
  ```bash
75
- node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" commit "docs: start milestone v[X.Y] [Name]" --files .planning/PROJECT.md .planning/STATE.md
251
+ node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" commit "docs: start milestone v[X.Y] [Name]" --files .planning/PROJECT.md .planning/STATE.md .planning/metrics.json
76
252
  ```
77
253
 
254
+ **Update lock file state:**
255
+ ```bash
256
+ node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" lock-update --state="context_loaded"
257
+ ```
258
+
259
+ ---
260
+
78
261
  ## 7. Load Context and Resolve Models
79
262
 
80
263
  ```bash
@@ -84,6 +267,8 @@ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
84
267
 
85
268
  Extract from init JSON: `researcher_model`, `synthesizer_model`, `roadmapper_model`, `commit_docs`, `research_enabled`, `current_milestone`, `project_exists`, `roadmap_exists`.
86
269
 
270
+ ---
271
+
87
272
  ## 8. Research Decision
88
273
 
89
274
  AskUserQuestion: "Research the domain ecosystem for new features before defining requirements?"
@@ -100,6 +285,11 @@ node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" config-set workflow.research tru
100
285
  node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" config-set workflow.research false
101
286
  ```
102
287
 
288
+ **Update lock file state:**
289
+ ```bash
290
+ node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" lock-update --state="research_decision"
291
+ ```
292
+
103
293
  **If "Research first":**
104
294
 
105
295
  ```
@@ -115,13 +305,27 @@ node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" config-set workflow.research fal
115
305
  mkdir -p .planning/research
116
306
  ```
117
307
 
118
- Spawn 4 parallel ez-project-researcher agents. Each uses this template with dimension-specific fields:
308
+ **Spawn 4 parallel ez-project-researcher agents with FRESH CONTEXT (GSD-2 Pattern):**
309
+
310
+ Each uses this template with dimension-specific fields:
119
311
 
120
312
  **Common structure for all 4 researchers:**
121
313
  ```
122
314
  Task(prompt="
123
315
  <research_type>Project Research — {DIMENSION} for [new features].</research_type>
124
316
 
317
+ <fresh_context>
318
+ CONTEXT RESET: This is a fresh 200K session.
319
+ No accumulated garbage from prior tasks.
320
+ Only relevant context pre-loaded below.
321
+ </fresh_context>
322
+
323
+ <pre_loaded_context>
324
+ - .planning/PROJECT.md excerpt (core value, milestone goals)
325
+ - .planning/REQUIREMENTS.md excerpt (active requirements)
326
+ - .planning/ROADMAP.md excerpt (phase structure)
327
+ </pre_loaded_context>
328
+
125
329
  <milestone_context>
126
330
  SUBSEQUENT MILESTONE — Adding [target features] to existing app.
127
331
  {EXISTING_CONTEXT}
@@ -171,7 +375,7 @@ Synthesize research outputs into SUMMARY.md.
171
375
  Write to: .planning/research/SUMMARY.md
172
376
  Use template: ~/.claude/ez-agents/templates/research-project/SUMMARY.md
173
377
  Commit after writing.
174
- ", subagent_type="ez-research-synthesizer", model="{synthesizer_model}", description="Synthesize research")
378
+ ", subagent_type="ez-phase-researcher", model="{synthesizer_model}", description="Synthesize research")
175
379
  ```
176
380
 
177
381
  Display key findings from SUMMARY.md:
@@ -185,8 +389,15 @@ Display key findings from SUMMARY.md:
185
389
  **Watch Out For:** [from SUMMARY.md]
186
390
  ```
187
391
 
392
+ **Update lock file state:**
393
+ ```bash
394
+ node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" lock-update --state="research_complete"
395
+ ```
396
+
188
397
  **If "Skip research":** Continue to Step 9.
189
398
 
399
+ ---
400
+
190
401
  ## 9. Define Requirements
191
402
 
192
403
  ```
@@ -258,7 +469,14 @@ If "adjust": Return to scoping.
258
469
  node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" commit "docs: define milestone v[X.Y] requirements" --files .planning/REQUIREMENTS.md
259
470
  ```
260
471
 
261
- ## 10. Create Roadmap
472
+ **Update lock file state:**
473
+ ```bash
474
+ node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" lock-update --state="requirements_defined"
475
+ ```
476
+
477
+ ---
478
+
479
+ ## 10. Create Roadmap (with Stuck Detection - GSD-2 Pattern)
262
480
 
263
481
  ```
264
482
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
@@ -268,6 +486,16 @@ node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" commit "docs: define milestone v
268
486
  ◆ Spawning roadmapper...
269
487
  ```
270
488
 
489
+ **Initialize stuck detection:**
490
+
491
+ ```bash
492
+ # Start stuck watcher
493
+ node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" stuck-watch start \
494
+ --operation="roadmap-creation" \
495
+ --max-retries=1 \
496
+ --timeout=300
497
+ ```
498
+
271
499
  **Starting phase number:** Read MILESTONES.md for last phase number. Continue from there (v1.0 ended at phase 5 → v1.1 starts at phase 6).
272
500
 
273
501
  ```
@@ -299,7 +527,41 @@ Write files first, then return.
299
527
 
300
528
  **Handle return:**
301
529
 
302
- **If `## ROADMAP BLOCKED`:** Present blocker, work with user, re-spawn.
530
+ **If `## ROADMAP BLOCKED`:**
531
+ 1. Log error type and location
532
+ 2. Retry ONCE with diagnostic context:
533
+ ```
534
+ Task(prompt="
535
+ <retry_context>
536
+ PREVIOUS ATTEMPT FAILED
537
+ Error Type: [error_type]
538
+ Error Location: [location]
539
+ Suggested Fix: [fix]
540
+
541
+ CONTEXT SNAPSHOT FOR DEBUGGING:
542
+ [snapshot of files read]
543
+
544
+ Please try again with this diagnostic information.
545
+ </retry_context>
546
+ ", subagent_type="ez-roadmapper", model="{roadmapper_model}", description="Create roadmap (retry)")
547
+ ```
548
+ 3. If fails again → STOP with exact failure report:
549
+ ```
550
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
551
+ EZ ► ROADMAP CREATION FAILED
552
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
553
+
554
+ Error Type: [type]
555
+ Error Location: [file:line]
556
+ Suggested Fix: [action]
557
+
558
+ Debug: Run `/ez:debug` to see current session state
559
+
560
+ Next Steps:
561
+ 1. Review error details
562
+ 2. Fix [specific issue]
563
+ 3. Run: /ez:plan-milestone --retry
564
+ ```
303
565
 
304
566
  **If `## ROADMAP CREATED`:** Read ROADMAP.md, present inline:
305
567
 
@@ -335,7 +597,60 @@ Success criteria:
335
597
  node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" commit "docs: create milestone v[X.Y] roadmap ([N] phases)" --files .planning/ROADMAP.md .planning/STATE.md .planning/REQUIREMENTS.md
336
598
  ```
337
599
 
338
- ## 11. Done
600
+ **Update lock file state:**
601
+ ```bash
602
+ node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" lock-update --state="roadmap_created"
603
+ ```
604
+
605
+ ---
606
+
607
+ ## 11. Release Lock File
608
+
609
+ **Milestone initialization complete:**
610
+
611
+ ```bash
612
+ node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" lock-release
613
+ ```
614
+
615
+ ---
616
+
617
+ ## 12. Post-Milestone Cost Report (GSD-2 Pattern)
618
+
619
+ **After all commits complete:**
620
+
621
+ ```bash
622
+ # Generate cost report
623
+ COST_REPORT=$(node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" cost-report \
624
+ --milestone="v[X.Y]" \
625
+ --format=summary)
626
+ ```
627
+
628
+ **Display:**
629
+ ```
630
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
631
+ EZ ► MILESTONE INITIALIZATION COST
632
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
633
+
634
+ Milestone: v[X.Y]
635
+ Phases: [N]
636
+ Requirements: [X]
637
+
638
+ Initialization Cost:
639
+ - Research: $[X.XX] ([N] tokens)
640
+ - Requirements: $[X.XX] ([N] tokens)
641
+ - Roadmap: $[X.XX] ([N] tokens)
642
+ - Total: $[X.XX] ([N] tokens)
643
+
644
+ Budget Remaining: $[XX.XX] of $[XX.XX]
645
+
646
+ Projected Total (based on similar milestones): $[XX.XX]
647
+
648
+ View detailed report: /ez:cost --milestone=v[X.Y]
649
+ ```
650
+
651
+ ---
652
+
653
+ ## 13. Done
339
654
 
340
655
  ```
341
656
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
@@ -350,6 +665,7 @@ node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" commit "docs: create milestone v
350
665
  | Research | `.planning/research/` |
351
666
  | Requirements | `.planning/REQUIREMENTS.md` |
352
667
  | Roadmap | `.planning/ROADMAP.md` |
668
+ | Metrics | `.planning/metrics.json` |
353
669
 
354
670
  **[N] phases** | **[X] requirements** | Ready to build ✓
355
671
 
@@ -367,18 +683,31 @@ Also: `/ez:plan-phase [N]` — skip discussion, plan directly
367
683
  </process>
368
684
 
369
685
  <success_criteria>
686
+ - [ ] Pre-flight health check passed (all systems go)
687
+ - [ ] Cost tracking initialized (metrics.json created)
688
+ - [ ] Lock file created and maintained throughout
370
689
  - [ ] PROJECT.md updated with Current Milestone section
371
690
  - [ ] STATE.md reset for new milestone
372
691
  - [ ] MILESTONE-CONTEXT.md consumed and deleted (if existed)
373
- - [ ] Research completed (if selected) — 4 parallel agents, milestone-aware
692
+ - [ ] Research completed (if selected) — 4 parallel agents, milestone-aware, fresh context
374
693
  - [ ] Requirements gathered and scoped per category
375
694
  - [ ] REQUIREMENTS.md created with REQ-IDs
376
695
  - [ ] ez-roadmapper spawned with phase numbering context
696
+ - [ ] Stuck detection active during roadmap creation
377
697
  - [ ] Roadmap files written immediately (not draft)
378
698
  - [ ] User feedback incorporated (if any)
379
699
  - [ ] ROADMAP.md phases continue from previous milestone
380
700
  - [ ] All commits made (if planning docs committed)
701
+ - [ ] Lock file released on completion
702
+ - [ ] Cost report displayed
381
703
  - [ ] User knows next step: `/ez:discuss-phase [N]`
382
704
 
383
705
  **Atomic commits:** Each phase commits its artifacts immediately.
706
+
707
+ **GSD-2 Reliability:**
708
+ - ✅ Crash recovery via lock files
709
+ - ✅ Cost transparency via metrics.json
710
+ - ✅ Fresh context per researcher/agent
711
+ - ✅ Stuck detection with diagnostics
712
+ - ✅ Health check pre-flight validation
384
713
  </success_criteria>