prizmkit 1.1.99 → 1.1.101

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 (321) hide show
  1. package/bin/create-prizmkit.js +4 -4
  2. package/bundled/VERSION.json +3 -3
  3. package/bundled/dev-pipeline/.env.example +3 -3
  4. package/bundled/dev-pipeline/README.md +110 -90
  5. package/bundled/dev-pipeline/assets/prizm-dev-team-integration.md +1 -1
  6. package/bundled/dev-pipeline/cli.py +27 -0
  7. package/bundled/dev-pipeline/prizmkit_runtime/__init__.py +13 -0
  8. package/bundled/dev-pipeline/prizmkit_runtime/__main__.py +9 -0
  9. package/bundled/dev-pipeline/prizmkit_runtime/cli.py +193 -0
  10. package/bundled/dev-pipeline/prizmkit_runtime/commands.py +313 -0
  11. package/bundled/dev-pipeline/prizmkit_runtime/compat.py +32 -0
  12. package/bundled/dev-pipeline/prizmkit_runtime/config.py +410 -0
  13. package/bundled/dev-pipeline/prizmkit_runtime/daemon.py +478 -0
  14. package/bundled/dev-pipeline/prizmkit_runtime/gitops.py +734 -0
  15. package/bundled/dev-pipeline/prizmkit_runtime/heartbeat.py +256 -0
  16. package/bundled/dev-pipeline/prizmkit_runtime/interoperability.py +109 -0
  17. package/bundled/dev-pipeline/prizmkit_runtime/paths.py +110 -0
  18. package/bundled/dev-pipeline/prizmkit_runtime/processes.py +373 -0
  19. package/bundled/dev-pipeline/prizmkit_runtime/reset.py +389 -0
  20. package/bundled/dev-pipeline/prizmkit_runtime/runner_bookkeeping.py +51 -0
  21. package/bundled/dev-pipeline/prizmkit_runtime/runner_classification.py +179 -0
  22. package/bundled/dev-pipeline/prizmkit_runtime/runner_models.py +345 -0
  23. package/bundled/dev-pipeline/prizmkit_runtime/runner_prompts.py +118 -0
  24. package/bundled/dev-pipeline/prizmkit_runtime/runner_recovery.py +187 -0
  25. package/bundled/dev-pipeline/prizmkit_runtime/runner_status.py +147 -0
  26. package/bundled/dev-pipeline/prizmkit_runtime/runners.py +422 -0
  27. package/bundled/dev-pipeline/prizmkit_runtime/sessions.py +552 -0
  28. package/bundled/dev-pipeline/prizmkit_runtime/status.py +71 -0
  29. package/bundled/dev-pipeline/scripts/check-session-status.py +74 -1
  30. package/bundled/dev-pipeline/scripts/continuation.py +374 -0
  31. package/bundled/dev-pipeline/scripts/generate-bootstrap-prompt.py +64 -52
  32. package/bundled/dev-pipeline/scripts/generate-bugfix-prompt.py +35 -25
  33. package/bundled/dev-pipeline/scripts/generate-recovery-prompt.py +2 -2
  34. package/bundled/dev-pipeline/scripts/generate-refactor-prompt.py +15 -20
  35. package/bundled/dev-pipeline/scripts/parse-stream-progress.py +185 -16
  36. package/bundled/dev-pipeline/scripts/update-bug-status.py +214 -6
  37. package/bundled/dev-pipeline/scripts/update-feature-status.py +237 -6
  38. package/bundled/dev-pipeline/scripts/update-refactor-status.py +214 -6
  39. package/bundled/dev-pipeline/templates/agent-prompts/dev-implement.md +8 -2
  40. package/bundled/dev-pipeline/templates/bootstrap-prompt.md +4 -0
  41. package/bundled/dev-pipeline/templates/bootstrap-tier1.md +14 -5
  42. package/bundled/dev-pipeline/templates/bootstrap-tier2.md +16 -6
  43. package/bundled/dev-pipeline/templates/bootstrap-tier3.md +16 -6
  44. package/bundled/dev-pipeline/templates/bugfix-bootstrap-prompt.md +1 -1
  45. package/bundled/dev-pipeline/templates/refactor-bootstrap-prompt.md +3 -3
  46. package/bundled/dev-pipeline/templates/sections/context-budget-rules.md +2 -0
  47. package/bundled/dev-pipeline/templates/sections/log-size-awareness.md +13 -69
  48. package/bundled/dev-pipeline/templates/sections/phase-context-snapshot-agent-suffix.md +15 -7
  49. package/bundled/dev-pipeline/templates/sections/phase-implement-agent.md +42 -29
  50. package/bundled/dev-pipeline/templates/sections/phase-implement-full.md +41 -39
  51. package/bundled/dev-pipeline/templates/sections/test-failure-recovery-agent.md +4 -0
  52. package/bundled/dev-pipeline/templates/sections/test-failure-recovery-lite.md +4 -0
  53. package/bundled/dev-pipeline/templates/session-status-schema.json +1 -1
  54. package/bundled/dev-pipeline/tests/conftest.py +1 -0
  55. package/bundled/dev-pipeline/tests/test_auto_skip.py +932 -0
  56. package/bundled/dev-pipeline/tests/test_generate_bootstrap_prompt.py +207 -0
  57. package/bundled/dev-pipeline/tests/test_generate_bugfix_prompt.py +100 -0
  58. package/bundled/dev-pipeline/tests/test_generate_refactor_prompt.py +43 -0
  59. package/bundled/dev-pipeline/tests/test_python_runner_parity.py +1138 -0
  60. package/bundled/dev-pipeline/tests/test_unified_cli.py +1045 -0
  61. package/bundled/skills/_metadata.json +1 -1
  62. package/bundled/skills/bugfix-pipeline-launcher/SKILL.md +29 -34
  63. package/bundled/skills/bugfix-pipeline-launcher/references/configuration.md +6 -5
  64. package/bundled/skills/feature-pipeline-launcher/SKILL.md +29 -35
  65. package/bundled/skills/feature-pipeline-launcher/references/configuration.md +7 -6
  66. package/bundled/skills/feature-workflow/SKILL.md +3 -6
  67. package/bundled/skills/recovery-workflow/SKILL.md +23 -32
  68. package/bundled/skills/refactor-pipeline-launcher/SKILL.md +29 -35
  69. package/bundled/skills/refactor-pipeline-launcher/references/configuration.md +7 -6
  70. package/bundled/skills/refactor-workflow/SKILL.md +3 -6
  71. package/bundled/templates/hooks/commit-intent.json +2 -2
  72. package/bundled/templates/hooks/diff-prizm-docs.py +226 -0
  73. package/bundled/templates/hooks/prizm-pre-commit.py +45 -0
  74. package/bundled/templates/hooks/validate-prizm-docs.py +240 -0
  75. package/package.json +1 -1
  76. package/src/config.js +33 -12
  77. package/src/index.js +3 -6
  78. package/src/manifest.js +3 -2
  79. package/src/metadata.js +7 -18
  80. package/src/prompts.js +0 -12
  81. package/src/runtimes.js +18 -11
  82. package/src/scaffold.js +133 -116
  83. package/src/upgrade.js +1 -1
  84. package/bundled/dev-pipeline/launch-bugfix-daemon.sh +0 -500
  85. package/bundled/dev-pipeline/launch-feature-daemon.sh +0 -657
  86. package/bundled/dev-pipeline/launch-refactor-daemon.sh +0 -502
  87. package/bundled/dev-pipeline/lib/branch.sh +0 -326
  88. package/bundled/dev-pipeline/lib/common.sh +0 -1257
  89. package/bundled/dev-pipeline/lib/heartbeat.sh +0 -469
  90. package/bundled/dev-pipeline/reset-bug.sh +0 -395
  91. package/bundled/dev-pipeline/reset-feature.sh +0 -406
  92. package/bundled/dev-pipeline/reset-refactor.sh +0 -393
  93. package/bundled/dev-pipeline/run-bugfix.sh +0 -1315
  94. package/bundled/dev-pipeline/run-feature.sh +0 -1602
  95. package/bundled/dev-pipeline/run-recovery.sh +0 -648
  96. package/bundled/dev-pipeline/run-refactor.sh +0 -1348
  97. package/bundled/dev-pipeline/scripts/monitor-log.sh +0 -104
  98. package/bundled/dev-pipeline/tests/test-path-resolution.sh +0 -100
  99. package/bundled/dev-pipeline-windows/.env.example +0 -36
  100. package/bundled/dev-pipeline-windows/README.md +0 -30
  101. package/bundled/dev-pipeline-windows/SCHEMA_ANALYSIS.md +0 -533
  102. package/bundled/dev-pipeline-windows/assets/feature-list-example.json +0 -146
  103. package/bundled/dev-pipeline-windows/assets/prizm-dev-team-integration.md +0 -137
  104. package/bundled/dev-pipeline-windows/launch-bugfix-daemon.ps1 +0 -9
  105. package/bundled/dev-pipeline-windows/launch-feature-daemon.ps1 +0 -9
  106. package/bundled/dev-pipeline-windows/launch-refactor-daemon.ps1 +0 -9
  107. package/bundled/dev-pipeline-windows/lib/branch.ps1 +0 -235
  108. package/bundled/dev-pipeline-windows/lib/common.ps1 +0 -829
  109. package/bundled/dev-pipeline-windows/lib/daemon.ps1 +0 -140
  110. package/bundled/dev-pipeline-windows/lib/pipeline.ps1 +0 -967
  111. package/bundled/dev-pipeline-windows/lib/reset.ps1 +0 -87
  112. package/bundled/dev-pipeline-windows/reset-bug.ps1 +0 -9
  113. package/bundled/dev-pipeline-windows/reset-feature.ps1 +0 -9
  114. package/bundled/dev-pipeline-windows/reset-refactor.ps1 +0 -9
  115. package/bundled/dev-pipeline-windows/run-bugfix.ps1 +0 -9
  116. package/bundled/dev-pipeline-windows/run-feature.ps1 +0 -9
  117. package/bundled/dev-pipeline-windows/run-recovery.ps1 +0 -179
  118. package/bundled/dev-pipeline-windows/run-refactor.ps1 +0 -9
  119. package/bundled/dev-pipeline-windows/scripts/check-session-status.py +0 -228
  120. package/bundled/dev-pipeline-windows/scripts/detect-stuck.py +0 -530
  121. package/bundled/dev-pipeline-windows/scripts/generate-bootstrap-prompt.py +0 -2282
  122. package/bundled/dev-pipeline-windows/scripts/generate-bugfix-prompt.py +0 -767
  123. package/bundled/dev-pipeline-windows/scripts/generate-recovery-prompt.py +0 -805
  124. package/bundled/dev-pipeline-windows/scripts/generate-refactor-prompt.py +0 -845
  125. package/bundled/dev-pipeline-windows/scripts/init-bugfix-pipeline.py +0 -316
  126. package/bundled/dev-pipeline-windows/scripts/init-dev-team.py +0 -134
  127. package/bundled/dev-pipeline-windows/scripts/init-pipeline.py +0 -382
  128. package/bundled/dev-pipeline-windows/scripts/init-refactor-pipeline.py +0 -399
  129. package/bundled/dev-pipeline-windows/scripts/monitor-log.ps1 +0 -102
  130. package/bundled/dev-pipeline-windows/scripts/parse-stream-progress.py +0 -1232
  131. package/bundled/dev-pipeline-windows/scripts/patch-completion-notes.py +0 -191
  132. package/bundled/dev-pipeline-windows/scripts/prizmkit-test-gate.py +0 -446
  133. package/bundled/dev-pipeline-windows/scripts/update-bug-status.py +0 -913
  134. package/bundled/dev-pipeline-windows/scripts/update-checkpoint.py +0 -173
  135. package/bundled/dev-pipeline-windows/scripts/update-feature-status.py +0 -1558
  136. package/bundled/dev-pipeline-windows/scripts/update-refactor-status.py +0 -1119
  137. package/bundled/dev-pipeline-windows/scripts/utils.py +0 -542
  138. package/bundled/dev-pipeline-windows/templates/agent-prompts/critic-plan-challenge.md +0 -7
  139. package/bundled/dev-pipeline-windows/templates/agent-prompts/dev-fix.md +0 -7
  140. package/bundled/dev-pipeline-windows/templates/agent-prompts/dev-implement.md +0 -65
  141. package/bundled/dev-pipeline-windows/templates/agent-prompts/dev-resume.md +0 -5
  142. package/bundled/dev-pipeline-windows/templates/agent-prompts/reviewer-review.md +0 -7
  143. package/bundled/dev-pipeline-windows/templates/bootstrap-prompt.md +0 -73
  144. package/bundled/dev-pipeline-windows/templates/bootstrap-tier1.md +0 -589
  145. package/bundled/dev-pipeline-windows/templates/bootstrap-tier2.md +0 -710
  146. package/bundled/dev-pipeline-windows/templates/bootstrap-tier3.md +0 -791
  147. package/bundled/dev-pipeline-windows/templates/bug-fix-list-schema.json +0 -263
  148. package/bundled/dev-pipeline-windows/templates/bugfix-bootstrap-prompt.md +0 -326
  149. package/bundled/dev-pipeline-windows/templates/feature-list-schema.json +0 -237
  150. package/bundled/dev-pipeline-windows/templates/refactor-bootstrap-prompt.md +0 -340
  151. package/bundled/dev-pipeline-windows/templates/refactor-list-schema.json +0 -270
  152. package/bundled/dev-pipeline-windows/templates/sections/ac-verification-checklist.md +0 -7
  153. package/bundled/dev-pipeline-windows/templates/sections/checkpoint-system.md +0 -91
  154. package/bundled/dev-pipeline-windows/templates/sections/context-budget-rules.md +0 -34
  155. package/bundled/dev-pipeline-windows/templates/sections/critical-paths-agent.md +0 -10
  156. package/bundled/dev-pipeline-windows/templates/sections/critical-paths-full.md +0 -12
  157. package/bundled/dev-pipeline-windows/templates/sections/critical-paths-lite.md +0 -7
  158. package/bundled/dev-pipeline-windows/templates/sections/directory-convention-agent.md +0 -8
  159. package/bundled/dev-pipeline-windows/templates/sections/directory-convention-full.md +0 -9
  160. package/bundled/dev-pipeline-windows/templates/sections/directory-convention-lite.md +0 -6
  161. package/bundled/dev-pipeline-windows/templates/sections/failure-capture.md +0 -21
  162. package/bundled/dev-pipeline-windows/templates/sections/feature-context.md +0 -21
  163. package/bundled/dev-pipeline-windows/templates/sections/log-size-awareness.md +0 -78
  164. package/bundled/dev-pipeline-windows/templates/sections/phase-browser-verification-auto.md +0 -283
  165. package/bundled/dev-pipeline-windows/templates/sections/phase-browser-verification-opencli.md +0 -112
  166. package/bundled/dev-pipeline-windows/templates/sections/phase-browser-verification.md +0 -168
  167. package/bundled/dev-pipeline-windows/templates/sections/phase-commit-full.md +0 -82
  168. package/bundled/dev-pipeline-windows/templates/sections/phase-commit.md +0 -75
  169. package/bundled/dev-pipeline-windows/templates/sections/phase-context-snapshot-agent-suffix.md +0 -23
  170. package/bundled/dev-pipeline-windows/templates/sections/phase-context-snapshot-base.md +0 -14
  171. package/bundled/dev-pipeline-windows/templates/sections/phase-context-snapshot-lite-suffix.md +0 -19
  172. package/bundled/dev-pipeline-windows/templates/sections/phase-critic-plan-full.md +0 -63
  173. package/bundled/dev-pipeline-windows/templates/sections/phase-critic-plan.md +0 -42
  174. package/bundled/dev-pipeline-windows/templates/sections/phase-implement-agent.md +0 -44
  175. package/bundled/dev-pipeline-windows/templates/sections/phase-implement-full.md +0 -59
  176. package/bundled/dev-pipeline-windows/templates/sections/phase-implement-lite.md +0 -39
  177. package/bundled/dev-pipeline-windows/templates/sections/phase-plan-agent.md +0 -27
  178. package/bundled/dev-pipeline-windows/templates/sections/phase-plan-lite.md +0 -27
  179. package/bundled/dev-pipeline-windows/templates/sections/phase-prizmkit-test.md +0 -39
  180. package/bundled/dev-pipeline-windows/templates/sections/phase-review-agent.md +0 -35
  181. package/bundled/dev-pipeline-windows/templates/sections/phase-review-full.md +0 -35
  182. package/bundled/dev-pipeline-windows/templates/sections/phase-specify-plan-full.md +0 -73
  183. package/bundled/dev-pipeline-windows/templates/sections/phase0-init.md +0 -13
  184. package/bundled/dev-pipeline-windows/templates/sections/phase0-test-baseline.md +0 -21
  185. package/bundled/dev-pipeline-windows/templates/sections/session-context.md +0 -5
  186. package/bundled/dev-pipeline-windows/templates/sections/subagent-timeout-recovery.md +0 -6
  187. package/bundled/dev-pipeline-windows/templates/sections/task-contract.md +0 -34
  188. package/bundled/dev-pipeline-windows/templates/sections/test-failure-recovery-agent.md +0 -48
  189. package/bundled/dev-pipeline-windows/templates/sections/test-failure-recovery-lite.md +0 -48
  190. package/bundled/dev-pipeline-windows/templates/session-status-schema.json +0 -83
  191. package/bundled/skills-windows/app-planner/SKILL.md +0 -296
  192. package/bundled/skills-windows/app-planner/assets/app-design-guide.md +0 -101
  193. package/bundled/skills-windows/app-planner/references/architecture-decisions.md +0 -52
  194. package/bundled/skills-windows/app-planner/references/brainstorm-guide.md +0 -101
  195. package/bundled/skills-windows/app-planner/references/frontend-design-guide.md +0 -71
  196. package/bundled/skills-windows/app-planner/references/infrastructure-convention-discovery.md +0 -108
  197. package/bundled/skills-windows/app-planner/references/project-brief-guide.md +0 -82
  198. package/bundled/skills-windows/app-planner/references/project-conventions-discovery.md +0 -59
  199. package/bundled/skills-windows/app-planner/references/project-state-detection.md +0 -90
  200. package/bundled/skills-windows/app-planner/references/red-team-checklist.md +0 -40
  201. package/bundled/skills-windows/app-planner/references/rules/backend/derivation-rules.md +0 -619
  202. package/bundled/skills-windows/app-planner/references/rules/backend/fixed-rules.md +0 -285
  203. package/bundled/skills-windows/app-planner/references/rules/backend/question-bank.md +0 -249
  204. package/bundled/skills-windows/app-planner/references/rules/backend/question-manifest.json +0 -46
  205. package/bundled/skills-windows/app-planner/references/rules/backend/template.md +0 -173
  206. package/bundled/skills-windows/app-planner/references/rules/database/derivation-rules.md +0 -382
  207. package/bundled/skills-windows/app-planner/references/rules/database/fixed-rules.md +0 -211
  208. package/bundled/skills-windows/app-planner/references/rules/database/question-bank.md +0 -184
  209. package/bundled/skills-windows/app-planner/references/rules/database/question-manifest.json +0 -39
  210. package/bundled/skills-windows/app-planner/references/rules/database/template.md +0 -158
  211. package/bundled/skills-windows/app-planner/references/rules/frontend/derivation-rules.md +0 -820
  212. package/bundled/skills-windows/app-planner/references/rules/frontend/fixed-rules.md +0 -188
  213. package/bundled/skills-windows/app-planner/references/rules/frontend/question-bank.md +0 -319
  214. package/bundled/skills-windows/app-planner/references/rules/frontend/question-manifest.json +0 -51
  215. package/bundled/skills-windows/app-planner/references/rules/frontend/template.md +0 -339
  216. package/bundled/skills-windows/app-planner/references/rules/mobile/derivation-rules.md +0 -649
  217. package/bundled/skills-windows/app-planner/references/rules/mobile/fixed-rules.md +0 -290
  218. package/bundled/skills-windows/app-planner/references/rules/mobile/question-bank.md +0 -232
  219. package/bundled/skills-windows/app-planner/references/rules/mobile/question-manifest.json +0 -47
  220. package/bundled/skills-windows/app-planner/references/rules/mobile/template.md +0 -175
  221. package/bundled/skills-windows/app-planner/references/rules-configuration.md +0 -46
  222. package/bundled/skills-windows/bug-fix-workflow/SKILL.md +0 -379
  223. package/bundled/skills-windows/bug-fix-workflow/references/bug-diagnosis.md +0 -41
  224. package/bundled/skills-windows/bug-planner/SKILL.md +0 -402
  225. package/bundled/skills-windows/bug-planner/assets/bug-confirmation-template.md +0 -43
  226. package/bundled/skills-windows/bug-planner/references/critic-and-verification.md +0 -44
  227. package/bundled/skills-windows/bug-planner/references/error-recovery.md +0 -73
  228. package/bundled/skills-windows/bug-planner/references/input-formats.md +0 -53
  229. package/bundled/skills-windows/bug-planner/references/schema-validation.md +0 -25
  230. package/bundled/skills-windows/bug-planner/references/severity-rules.md +0 -16
  231. package/bundled/skills-windows/bug-planner/scripts/validate-bug-list.py +0 -322
  232. package/bundled/skills-windows/bugfix-pipeline-launcher/SKILL.md +0 -304
  233. package/bundled/skills-windows/bugfix-pipeline-launcher/references/configuration.md +0 -84
  234. package/bundled/skills-windows/feature-pipeline-launcher/SKILL.md +0 -381
  235. package/bundled/skills-windows/feature-pipeline-launcher/references/configuration.md +0 -67
  236. package/bundled/skills-windows/feature-pipeline-launcher/scripts/preflight-check.py +0 -462
  237. package/bundled/skills-windows/feature-planner/SKILL.md +0 -397
  238. package/bundled/skills-windows/feature-planner/assets/evaluation-guide.md +0 -64
  239. package/bundled/skills-windows/feature-planner/assets/planning-guide.md +0 -214
  240. package/bundled/skills-windows/feature-planner/references/browser-interaction.md +0 -59
  241. package/bundled/skills-windows/feature-planner/references/completeness-review.md +0 -57
  242. package/bundled/skills-windows/feature-planner/references/decomposition-patterns.md +0 -75
  243. package/bundled/skills-windows/feature-planner/references/error-recovery.md +0 -90
  244. package/bundled/skills-windows/feature-planner/references/incremental-feature-planning.md +0 -112
  245. package/bundled/skills-windows/feature-planner/references/new-project-planning.md +0 -85
  246. package/bundled/skills-windows/feature-planner/scripts/validate-and-generate.py +0 -1020
  247. package/bundled/skills-windows/feature-workflow/SKILL.md +0 -374
  248. package/bundled/skills-windows/feature-workflow/references/brainstorm-guide.md +0 -137
  249. package/bundled/skills-windows/prizm-kit/SKILL.md +0 -93
  250. package/bundled/skills-windows/prizmkit-code-review/SKILL.md +0 -161
  251. package/bundled/skills-windows/prizmkit-code-review/references/dev-agent-prompt.md +0 -30
  252. package/bundled/skills-windows/prizmkit-code-review/references/review-report-template.md +0 -31
  253. package/bundled/skills-windows/prizmkit-code-review/references/reviewer-agent-prompt.md +0 -66
  254. package/bundled/skills-windows/prizmkit-code-review/scripts/check_loop.py +0 -186
  255. package/bundled/skills-windows/prizmkit-committer/SKILL.md +0 -89
  256. package/bundled/skills-windows/prizmkit-deploy/SKILL.md +0 -444
  257. package/bundled/skills-windows/prizmkit-deploy/references/ci-cd-workflows.md +0 -115
  258. package/bundled/skills-windows/prizmkit-deploy/references/cloud-platform-deploy.md +0 -93
  259. package/bundled/skills-windows/prizmkit-deploy/references/data-safety-examples.md +0 -120
  260. package/bundled/skills-windows/prizmkit-deploy/references/database-setup.md +0 -46
  261. package/bundled/skills-windows/prizmkit-deploy/references/deploy-config-schema.md +0 -148
  262. package/bundled/skills-windows/prizmkit-deploy/references/deploy-history-schema.md +0 -62
  263. package/bundled/skills-windows/prizmkit-deploy/references/deployment-modes.md +0 -50
  264. package/bundled/skills-windows/prizmkit-deploy/references/direct-upload.md +0 -26
  265. package/bundled/skills-windows/prizmkit-deploy/references/dns-setup.md +0 -42
  266. package/bundled/skills-windows/prizmkit-deploy/references/docker-deploy.md +0 -31
  267. package/bundled/skills-windows/prizmkit-deploy/references/firewall-setup.md +0 -37
  268. package/bundled/skills-windows/prizmkit-deploy/references/live-validation-notes.md +0 -21
  269. package/bundled/skills-windows/prizmkit-deploy/references/nginx-blue-green.md +0 -59
  270. package/bundled/skills-windows/prizmkit-deploy/references/ssh-bootstrap-flow.md +0 -49
  271. package/bundled/skills-windows/prizmkit-deploy/references/ssh-execution-flow.md +0 -41
  272. package/bundled/skills-windows/prizmkit-deploy/references/ssh-takeover.md +0 -20
  273. package/bundled/skills-windows/prizmkit-deploy/references/ssl-setup.md +0 -56
  274. package/bundled/skills-windows/prizmkit-implement/SKILL.md +0 -71
  275. package/bundled/skills-windows/prizmkit-init/SKILL.md +0 -356
  276. package/bundled/skills-windows/prizmkit-init/assets/project-brief-template.md +0 -82
  277. package/bundled/skills-windows/prizmkit-init/references/config-schema.md +0 -70
  278. package/bundled/skills-windows/prizmkit-init/references/rules/layer-detection.md +0 -41
  279. package/bundled/skills-windows/prizmkit-init/references/tech-stack-catalog.md +0 -13
  280. package/bundled/skills-windows/prizmkit-init/references/update-supplement.md +0 -9
  281. package/bundled/skills-windows/prizmkit-plan/SKILL.md +0 -102
  282. package/bundled/skills-windows/prizmkit-plan/assets/plan-template.md +0 -115
  283. package/bundled/skills-windows/prizmkit-plan/assets/spec-template.md +0 -73
  284. package/bundled/skills-windows/prizmkit-plan/references/clarify-guide.md +0 -67
  285. package/bundled/skills-windows/prizmkit-plan/references/examples.md +0 -85
  286. package/bundled/skills-windows/prizmkit-plan/references/verification-checklist.md +0 -60
  287. package/bundled/skills-windows/prizmkit-prizm-docs/SKILL.md +0 -129
  288. package/bundled/skills-windows/prizmkit-prizm-docs/assets/prizm-docs-format.md +0 -613
  289. package/bundled/skills-windows/prizmkit-prizm-docs/references/op-init.md +0 -45
  290. package/bundled/skills-windows/prizmkit-prizm-docs/references/op-rebuild.md +0 -15
  291. package/bundled/skills-windows/prizmkit-prizm-docs/references/op-status.md +0 -14
  292. package/bundled/skills-windows/prizmkit-prizm-docs/references/op-update.md +0 -19
  293. package/bundled/skills-windows/prizmkit-prizm-docs/references/op-validate.md +0 -17
  294. package/bundled/skills-windows/prizmkit-retrospective/SKILL.md +0 -87
  295. package/bundled/skills-windows/prizmkit-retrospective/references/knowledge-injection-steps.md +0 -50
  296. package/bundled/skills-windows/prizmkit-retrospective/references/structural-sync-steps.md +0 -43
  297. package/bundled/skills-windows/prizmkit-test/SKILL.md +0 -227
  298. package/bundled/skills-windows/prizmkit-test/references/boundary-coverage-protocol.md +0 -220
  299. package/bundled/skills-windows/prizmkit-test/references/examples.md +0 -143
  300. package/bundled/skills-windows/prizmkit-test/references/service-boundary-test-catalog.md +0 -225
  301. package/bundled/skills-windows/prizmkit-test/references/test-generation-steps.md +0 -109
  302. package/bundled/skills-windows/prizmkit-test/references/test-report-template.md +0 -111
  303. package/bundled/skills-windows/prizmkit-test/scripts/validate_boundary_report.py +0 -347
  304. package/bundled/skills-windows/recovery-workflow/SKILL.md +0 -355
  305. package/bundled/skills-windows/recovery-workflow/evals/evals.json +0 -46
  306. package/bundled/skills-windows/recovery-workflow/references/detection.md +0 -58
  307. package/bundled/skills-windows/recovery-workflow/scripts/detect-recovery-state.py +0 -544
  308. package/bundled/skills-windows/refactor-pipeline-launcher/SKILL.md +0 -346
  309. package/bundled/skills-windows/refactor-pipeline-launcher/references/configuration.md +0 -72
  310. package/bundled/skills-windows/refactor-planner/SKILL.md +0 -398
  311. package/bundled/skills-windows/refactor-planner/assets/planning-guide.md +0 -292
  312. package/bundled/skills-windows/refactor-planner/references/behavior-preservation.md +0 -301
  313. package/bundled/skills-windows/refactor-planner/references/fast-path.md +0 -59
  314. package/bundled/skills-windows/refactor-planner/references/planning-phases.md +0 -135
  315. package/bundled/skills-windows/refactor-planner/references/refactor-scoping-guide.md +0 -221
  316. package/bundled/skills-windows/refactor-planner/scripts/validate-and-generate-refactor.py +0 -858
  317. package/bundled/skills-windows/refactor-workflow/SKILL.md +0 -343
  318. package/bundled/skills-windows/refactor-workflow/references/brainstorm-guide.md +0 -116
  319. package/bundled/templates/hooks/diff-prizm-docs.sh +0 -158
  320. package/bundled/templates/hooks/prizm-pre-commit.sh +0 -108
  321. package/bundled/templates/hooks/validate-prizm-docs.sh +0 -139
@@ -28,11 +28,11 @@ import re
28
28
  import sys
29
29
 
30
30
  from utils import enrich_global_context, load_json_file, read_platform_conventions, setup_logging
31
+ from continuation import add_continuation_args, append_continuation_handoff, is_continuation
31
32
 
32
33
 
33
34
  DEFAULT_MAX_RETRIES = 3
34
35
  DEFAULT_MAX_LOG_SIZE = 2097152
35
- DEFAULT_LOG_MONITOR_POLL_INTERVAL = 30
36
36
 
37
37
  LOGGER = setup_logging("generate-bootstrap-prompt")
38
38
 
@@ -84,6 +84,11 @@ def parse_args():
84
84
  required=True,
85
85
  help="Output path for the rendered prompt",
86
86
  )
87
+ parser.add_argument(
88
+ "--project-root",
89
+ default=None,
90
+ help="AI-visible project root used for rendered prompt paths",
91
+ )
87
92
  parser.add_argument(
88
93
  "--template",
89
94
  default=None,
@@ -110,6 +115,8 @@ def parse_args():
110
115
  help="Run tests and extract baseline failures (slower, optional)",
111
116
  )
112
117
 
118
+ add_continuation_args(parser, "feature")
119
+
113
120
  return parser.parse_args()
114
121
 
115
122
 
@@ -477,6 +484,14 @@ def resolve_project_root(script_dir):
477
484
  return os.path.abspath(pipeline_parent)
478
485
 
479
486
 
487
+ def _args_project_root(args, script_dir):
488
+ """Return explicit AI-visible project root or script-layout default."""
489
+ explicit = getattr(args, "project_root", None)
490
+ if explicit:
491
+ return os.path.abspath(explicit)
492
+ return resolve_project_root(script_dir)
493
+
494
+
480
495
  def process_conditional_blocks(content, resume_phase):
481
496
  """Handle conditional blocks based on resume_phase.
482
497
 
@@ -1319,14 +1334,15 @@ def _tier_header(pipeline_mode):
1319
1334
  "lite": (
1320
1335
  "# Dev-Pipeline Session Bootstrap — Tier 1 (Single Agent)\n",
1321
1336
  "**Tier 1 — Single Agent**: You handle everything directly. "
1322
- "No normal work subagents; the log-size monitor is the only "
1323
- "allowed persistent background subagent. No TeamCreate.\n",
1337
+ "No normal work subagents. No TeamCreate.\n",
1324
1338
  ),
1325
1339
  "standard": (
1326
- "# Dev-Pipeline Session Bootstrap — Tier 2 (Dual Agent)\n",
1327
- "**Tier 2 — Dual Agent**: You handle context + planning "
1328
- "directly. Then spawn Dev and Reviewer subagents. Spawn Dev "
1329
- "and Reviewer agents via the Agent tool.\n",
1340
+ "# Dev-Pipeline Session Bootstrap — Tier 2 "
1341
+ "(Orchestrator + Critic/Reviewer)\n",
1342
+ "**Tier 2 Orchestrator + Critic/Reviewer**: You handle "
1343
+ "context + planning + implementation directly. Critic challenges "
1344
+ "plan (if enabled), Reviewer reviews. No Dev subagent — "
1345
+ "orchestrator implements directly (P0-6).\n",
1330
1346
  ),
1331
1347
  "full": (
1332
1348
  "# Dev-Pipeline Session Bootstrap — Tier 3 (Full Team)\n",
@@ -1358,22 +1374,18 @@ def _tier_reminders(pipeline_mode, critic_enabled=False):
1358
1374
  if pipeline_mode == "lite":
1359
1375
  specific = [
1360
1376
  "- Tier 1: you handle everything directly — no normal work "
1361
- "subagents needed; the log-size monitor is the only allowed "
1362
- "persistent background subagent",
1377
+ "subagents needed",
1363
1378
  ]
1364
1379
  elif pipeline_mode == "standard":
1365
1380
  specific = [
1366
- "- Tier 2: orchestrator builds context+plan, Analyzer checks "
1367
- "consistency, Dev implements, Reviewer reviews+tests use "
1368
- "direct Agent spawn for agents",
1381
+ "- Tier 2: orchestrator builds context+plan, Critic challenges "
1382
+ "plan (if enabled), orchestrator implements directly (no Dev "
1383
+ "subagent), Reviewer reviews see P0-6",
1369
1384
  "- context-snapshot.md is append-only: orchestrator writes "
1370
- "Sections 1-4, Dev appends Implementation Log, Reviewer "
1371
- "appends Review Notes",
1372
- "- Gate checks enforce Implementation Log and Review Notes are "
1373
- "written before proceeding",
1374
- "- Do NOT use `run_in_background=true` when spawning normal work "
1375
- "subagents; the log-size monitor is the only allowed persistent "
1376
- "background subagent",
1385
+ "Sections 1-4 + Implementation Log, Reviewer appends Review Notes",
1386
+ "- Gate checks enforce Implementation Log (with Gate Evidence) "
1387
+ "and Review Notes are written before proceeding",
1388
+ "- Do NOT use `run_in_background=true` when spawning Reviewer",
1377
1389
  "- On timeout: check snapshot + git diff HEAD → model:lite → "
1378
1390
  "remaining steps only → max 2 retries per phase → "
1379
1391
  "orchestrator fallback",
@@ -1388,8 +1400,7 @@ def _tier_reminders(pipeline_mode, critic_enabled=False):
1388
1400
  "- Gate checks enforce Implementation Log and Review Notes are "
1389
1401
  "written before proceeding",
1390
1402
  "- Do NOT use `run_in_background=true` when spawning normal work "
1391
- "agents; the log-size monitor is the only allowed persistent "
1392
- "background subagent",
1403
+ "agents",
1393
1404
  "- On timeout: check snapshot → model:lite → remaining steps "
1394
1405
  "only → max 2 retries → orchestrator fallback",
1395
1406
  ]
@@ -1429,8 +1440,7 @@ def assemble_sections(pipeline_mode, sections_dir, init_done, is_resume,
1429
1440
  if pipeline_mode != "lite":
1430
1441
  mission += (
1431
1442
  " When you spawn normal work subagents, wait for each to finish "
1432
- "(run_in_background=false). The log-size monitor is the only "
1433
- "allowed persistent background subagent."
1443
+ "(run_in_background=false)."
1434
1444
  )
1435
1445
  if pipeline_mode == "full":
1436
1446
  mission += (
@@ -1700,7 +1710,7 @@ def validate_rendered(content):
1700
1710
 
1701
1711
  def build_replacements(args, feature, features, global_context, script_dir):
1702
1712
  """Build the full dict of placeholder -> replacement value."""
1703
- project_root = resolve_project_root(script_dir)
1713
+ project_root = _args_project_root(args, script_dir)
1704
1714
 
1705
1715
  # Resolve paths - platform-aware agent/team resolution
1706
1716
  platform = os.environ.get("PRIZMKIT_PLATFORM", "")
@@ -1771,13 +1781,17 @@ def build_replacements(args, feature, features, global_context, script_dir):
1771
1781
  validator_scripts_dir = os.path.join(project_root, ".prizmkit", "dev-pipeline", "scripts")
1772
1782
  init_script_path = os.path.join(validator_scripts_dir, "init-dev-team.py")
1773
1783
 
1774
- # Session status path (relative to project root)
1775
- session_status_path = os.path.join(
1776
- ".prizmkit", "state", "features", args.feature_id,
1777
- "sessions", args.session_id, "session-status.json",
1784
+ # Session status is controlled by the main runner state dir, even when
1785
+ # rendered project paths are AI-visible worktree paths.
1786
+ state_dir = (
1787
+ os.path.abspath(args.state_dir)
1788
+ if args.state_dir
1789
+ else os.path.join(project_root, ".prizmkit", "state", "features")
1790
+ )
1791
+ session_status_abs = os.path.join(
1792
+ state_dir, args.feature_id, "sessions", args.session_id,
1793
+ "session-status.json",
1778
1794
  )
1779
- # Make it absolute from project root
1780
- session_status_abs = os.path.join(project_root, session_status_path)
1781
1795
 
1782
1796
  # Compute feature slug for per-feature directory naming
1783
1797
  feature_slug = compute_feature_slug(
@@ -1928,12 +1942,6 @@ def build_replacements(args, feature, features, global_context, script_dir):
1928
1942
  dev_url = f"http://localhost:{dev_port}"
1929
1943
 
1930
1944
  max_log_size = _parse_non_negative_int_env("MAX_LOG_SIZE", DEFAULT_MAX_LOG_SIZE)
1931
- if max_log_size == 0:
1932
- poll_interval = DEFAULT_LOG_MONITOR_POLL_INTERVAL
1933
- else:
1934
- poll_interval = _parse_positive_int_env(
1935
- "LOG_MONITOR_POLL_INTERVAL", DEFAULT_LOG_MONITOR_POLL_INTERVAL,
1936
- )
1937
1945
 
1938
1946
  replacements = {
1939
1947
  "{{LOG_SIZE_AWARENESS}}": load_log_size_section(script_dir),
@@ -1983,22 +1991,10 @@ def build_replacements(args, feature, features, global_context, script_dir):
1983
1991
  "{{DEV_URL}}": dev_url,
1984
1992
  "{{MAX_LOG_SIZE}}": str(max_log_size),
1985
1993
  "{{MAX_LOG_SIZE_HUMAN}}": _format_bytes(max_log_size),
1986
- "{{LOG_MONITOR_POLL_INTERVAL}}": str(poll_interval),
1987
- "{{LOG_MONITOR_STATUS_FILE}}": os.path.join(
1988
- ".prizmkit", "state", "features", args.feature_id,
1989
- "sessions", args.session_id, "logs", "log-monitor-status.txt",
1990
- ),
1991
- "{{LOG_MONITOR_BASELINE_FILE}}": os.path.join(
1992
- ".prizmkit", "state", "features", args.feature_id,
1993
- "sessions", args.session_id, "logs", "log-monitor-baseline.txt",
1994
- ),
1995
1994
  "{{SESSION_LOG_PATH}}": os.path.join(
1996
1995
  ".prizmkit", "state", "features", args.feature_id,
1997
1996
  "sessions", args.session_id, "logs", "session.log",
1998
1997
  ),
1999
- "{{LOG_MONITOR_SCRIPT}}": os.path.join(
2000
- ".prizmkit", "dev-pipeline", "scripts", "monitor-log.sh",
2001
- ),
2002
1998
  }
2003
1999
 
2004
2000
  return replacements, effective_resume, browser_enabled, browser_tool
@@ -2085,6 +2081,9 @@ def main():
2085
2081
  agent_prompt_replacements = load_agent_prompts(templates_dir)
2086
2082
  replacements.update(agent_prompt_replacements)
2087
2083
 
2084
+ if is_continuation(args):
2085
+ replacements["{{LOG_SIZE_AWARENESS}}"] = ""
2086
+
2088
2087
  # Extract state needed for assembly
2089
2088
  pipeline_mode = replacements.get("{{PIPELINE_MODE}}", "lite")
2090
2089
  init_done = replacements.get("{{INIT_DONE}}", "false") == "true"
@@ -2104,6 +2103,11 @@ def main():
2104
2103
  retry_count=int(args.retry_count),
2105
2104
  browser_tool=browser_tool,
2106
2105
  )
2106
+ if is_continuation(args):
2107
+ sections = [
2108
+ (name, content) for name, content in sections
2109
+ if name != "log-size-awareness"
2110
+ ]
2107
2111
  rendered = render_from_sections(sections, replacements)
2108
2112
  except FileNotFoundError as exc:
2109
2113
  LOGGER.warning(
@@ -2160,11 +2164,10 @@ def main():
2160
2164
  emit_failure(err)
2161
2165
 
2162
2166
  # ── Generate checkpoint file ──────────────────────────────────────
2163
- project_root = resolve_project_root(
2164
- os.path.dirname(os.path.abspath(__file__))
2165
- )
2167
+ project_root = _args_project_root(args, script_dir)
2166
2168
  feature_slug = replacements.get("{{FEATURE_SLUG}}", "")
2167
2169
  checkpoint_path = ""
2170
+ checkpoint = {}
2168
2171
 
2169
2172
  if use_sections and feature_slug:
2170
2173
  checkpoint = generate_checkpoint_definition(
@@ -2186,7 +2189,7 @@ def main():
2186
2189
  )
2187
2190
 
2188
2191
  # On resume, merge existing completed state (with artifact validation)
2189
- if is_resume and os.path.exists(checkpoint_path):
2192
+ if (is_resume or is_continuation(args)) and os.path.exists(checkpoint_path):
2190
2193
  try:
2191
2194
  with open(checkpoint_path, "r", encoding="utf-8") as f:
2192
2195
  existing = json.load(f)
@@ -2205,6 +2208,15 @@ def main():
2205
2208
  json.dump(checkpoint, f, indent=2, ensure_ascii=False)
2206
2209
  LOGGER.info("Wrote checkpoint to %s", checkpoint_path)
2207
2210
 
2211
+ if is_continuation(args):
2212
+ rendered = append_continuation_handoff(
2213
+ rendered, args, project_root, args.task_type, args.feature_id,
2214
+ feature_slug, checkpoint,
2215
+ )
2216
+ err = write_output(args.output, rendered)
2217
+ if err:
2218
+ emit_failure(err)
2219
+
2208
2220
  # ── Success JSON ───────────────────────────────────────────────────
2209
2221
  feature_model = feature.get("model", "")
2210
2222
  mode_agent_counts = {"lite": 1, "standard": 3, "full": 3}
@@ -20,11 +20,11 @@ import re
20
20
  import sys
21
21
 
22
22
  from utils import enrich_global_context, load_json_file, read_platform_conventions, setup_logging
23
+ from continuation import add_continuation_args, append_continuation_handoff, is_continuation
23
24
 
24
25
 
25
26
  DEFAULT_MAX_RETRIES = 3
26
27
  DEFAULT_MAX_LOG_SIZE = 2097152
27
- DEFAULT_LOG_MONITOR_POLL_INTERVAL = 30
28
28
 
29
29
  LOGGER = setup_logging("generate-bugfix-prompt")
30
30
 
@@ -44,9 +44,12 @@ def parse_args():
44
44
  parser.add_argument("--resume-phase", required=True, help='Phase to resume from, or "null" for fresh start')
45
45
  parser.add_argument("--state-dir", default=None, help="State directory (default: .prizmkit/state/bugfix)")
46
46
  parser.add_argument("--output", required=True, help="Output path for the rendered prompt")
47
+ parser.add_argument("--project-root", default=None, help="AI-visible project root used for rendered prompt paths")
47
48
  parser.add_argument("--template", default=None, help="Custom template path. Defaults to {script_dir}/../templates/bugfix-bootstrap-prompt.md")
48
49
  parser.add_argument("--mode", default=None, help="Pipeline execution mode override: lite, standard, full")
49
50
  parser.add_argument("--critic", default=None, help="Enable critic agent: true/false")
51
+ add_continuation_args(parser, "bugfix")
52
+
50
53
  return parser.parse_args()
51
54
 
52
55
 
@@ -271,9 +274,17 @@ def resolve_project_root(script_dir):
271
274
  return os.path.abspath(pipeline_parent)
272
275
 
273
276
 
277
+ def _args_project_root(args, script_dir):
278
+ """Return explicit AI-visible project root or script-layout default."""
279
+ explicit = getattr(args, "project_root", None)
280
+ if explicit:
281
+ return os.path.abspath(explicit)
282
+ return resolve_project_root(script_dir)
283
+
284
+
274
285
  def build_replacements(args, bug, global_context, script_dir):
275
286
  """Build the full dict of placeholder -> replacement value."""
276
- project_root = resolve_project_root(script_dir)
287
+ project_root = _args_project_root(args, script_dir)
277
288
 
278
289
  # Platform-aware agent/team path resolution
279
290
  platform = os.environ.get("PRIZMKIT_PLATFORM", "")
@@ -303,10 +314,16 @@ def build_replacements(args, bug, global_context, script_dir):
303
314
  dev_subagent = os.path.join(agents_dir, f"prizm-dev-team-dev{agent_ext}")
304
315
  reviewer_subagent = os.path.join(agents_dir, f"prizm-dev-team-reviewer{agent_ext}")
305
316
 
306
- # Session status path
317
+ # Session status is controlled by the main runner state dir, even when
318
+ # rendered project paths are AI-visible worktree paths.
319
+ state_dir = (
320
+ os.path.abspath(args.state_dir)
321
+ if args.state_dir
322
+ else os.path.join(project_root, ".prizmkit", "state", "bugfix")
323
+ )
307
324
  session_status_path = os.path.join(
308
- project_root, ".prizmkit", "state", "bugfix", args.bug_id,
309
- "sessions", args.session_id, "session-status.json"
325
+ state_dir, args.bug_id, "sessions", args.session_id,
326
+ "session-status.json",
310
327
  )
311
328
 
312
329
  # Error source
@@ -357,33 +374,15 @@ def build_replacements(args, bug, global_context, script_dir):
357
374
  browser_verify_steps = " # (reproduce bug and verify fix)"
358
375
 
359
376
  max_log_size = _parse_non_negative_int_env("MAX_LOG_SIZE", DEFAULT_MAX_LOG_SIZE)
360
- if max_log_size == 0:
361
- poll_interval = DEFAULT_LOG_MONITOR_POLL_INTERVAL
362
- else:
363
- poll_interval = _parse_positive_int_env(
364
- "LOG_MONITOR_POLL_INTERVAL", DEFAULT_LOG_MONITOR_POLL_INTERVAL,
365
- )
366
377
 
367
378
  replacements = {
368
379
  "{{LOG_SIZE_AWARENESS}}": load_log_size_section(script_dir),
369
380
  "{{MAX_LOG_SIZE}}": str(max_log_size),
370
381
  "{{MAX_LOG_SIZE_HUMAN}}": _format_bytes(max_log_size),
371
- "{{LOG_MONITOR_POLL_INTERVAL}}": str(poll_interval),
372
- "{{LOG_MONITOR_STATUS_FILE}}": os.path.join(
373
- ".prizmkit", "state", "bugfix", args.bug_id,
374
- "sessions", args.session_id, "logs", "log-monitor-status.txt",
375
- ),
376
- "{{LOG_MONITOR_BASELINE_FILE}}": os.path.join(
377
- ".prizmkit", "state", "bugfix", args.bug_id,
378
- "sessions", args.session_id, "logs", "log-monitor-baseline.txt",
379
- ),
380
382
  "{{SESSION_LOG_PATH}}": os.path.join(
381
383
  ".prizmkit", "state", "bugfix", args.bug_id,
382
384
  "sessions", args.session_id, "logs", "session.log",
383
385
  ),
384
- "{{LOG_MONITOR_SCRIPT}}": os.path.join(
385
- ".prizmkit", "dev-pipeline", "scripts", "monitor-log.sh",
386
- ),
387
386
  "{{RUN_ID}}": args.run_id,
388
387
  "{{SESSION_ID}}": args.session_id,
389
388
  "{{BUG_ID}}": args.bug_id,
@@ -660,6 +659,8 @@ def main():
660
659
 
661
660
  # Build replacements
662
661
  replacements = build_replacements(args, bug, global_context, script_dir)
662
+ if is_continuation(args):
663
+ replacements["{{LOG_SIZE_AWARENESS}}"] = ""
663
664
 
664
665
  # Add checkpoint path to replacements
665
666
  checkpoint_rel = os.path.join(
@@ -676,7 +677,7 @@ def main():
676
677
  emit_failure(err)
677
678
 
678
679
  # Generate checkpoint file
679
- project_root = resolve_project_root(script_dir)
680
+ project_root = _args_project_root(args, script_dir)
680
681
  checkpoint_path = os.path.join(project_root, checkpoint_rel)
681
682
  checkpoint_dir = os.path.dirname(checkpoint_path)
682
683
  os.makedirs(checkpoint_dir, exist_ok=True)
@@ -684,7 +685,7 @@ def main():
684
685
  checkpoint = generate_bugfix_checkpoint(args.bug_id, args.session_id)
685
686
 
686
687
  is_resume = args.resume_phase != "null"
687
- if is_resume and os.path.exists(checkpoint_path):
688
+ if (is_resume or is_continuation(args)) and os.path.exists(checkpoint_path):
688
689
  try:
689
690
  with open(checkpoint_path, "r", encoding="utf-8") as f:
690
691
  existing = json.load(f)
@@ -703,6 +704,15 @@ def main():
703
704
  json.dump(checkpoint, f, indent=2, ensure_ascii=False)
704
705
  LOGGER.info("Wrote bugfix checkpoint to %s", checkpoint_path)
705
706
 
707
+ if is_continuation(args):
708
+ rendered = append_continuation_handoff(
709
+ rendered, args, project_root, args.task_type, args.bug_id,
710
+ args.bug_id, checkpoint,
711
+ )
712
+ err = write_output(args.output, rendered)
713
+ if err:
714
+ emit_failure(err)
715
+
706
716
  # Resolve critic and mode
707
717
  bug_critic = bug.get("critic", False)
708
718
  if args.critic is not None:
@@ -153,7 +153,7 @@ Invoke `/feature-pipeline-launcher` skill:
153
153
 
154
154
  If `/feature-pipeline-launcher` is not available, run the pipeline directly:
155
155
  ```bash
156
- ./.prizmkit/dev-pipeline/run-feature.sh run .prizmkit/plans/feature-list.json
156
+ python3 ./.prizmkit/dev-pipeline/cli.py feature run .prizmkit/plans/feature-list.json
157
157
  ```""",
158
158
  ),
159
159
  4: (
@@ -196,7 +196,7 @@ Invoke `/refactor-pipeline-launcher` skill:
196
196
 
197
197
  If `/refactor-pipeline-launcher` is not available, run the pipeline directly:
198
198
  ```bash
199
- ./.prizmkit/dev-pipeline/run-refactor.sh run .prizmkit/plans/refactor-list.json
199
+ python3 ./.prizmkit/dev-pipeline/cli.py refactor run .prizmkit/plans/refactor-list.json
200
200
  ```""",
201
201
  ),
202
202
  4: (
@@ -20,11 +20,11 @@ import re
20
20
  import sys
21
21
 
22
22
  from utils import enrich_global_context, load_json_file, read_platform_conventions, setup_logging
23
+ from continuation import add_continuation_args, append_continuation_handoff, is_continuation
23
24
 
24
25
 
25
26
  DEFAULT_MAX_RETRIES = 3
26
27
  DEFAULT_MAX_LOG_SIZE = 2097152
27
- DEFAULT_LOG_MONITOR_POLL_INTERVAL = 30
28
28
 
29
29
  LOGGER = setup_logging("generate-refactor-prompt")
30
30
 
@@ -138,6 +138,8 @@ def parse_args():
138
138
  parser.add_argument("--template", default=None, help="Custom template path. Defaults to {script_dir}/../templates/refactor-bootstrap-prompt.md")
139
139
  parser.add_argument("--mode", default=None, help="Pipeline execution mode override: lite, standard, full")
140
140
  parser.add_argument("--critic", default=None, help="Enable critic agent: true/false")
141
+ add_continuation_args(parser, "refactor")
142
+
141
143
  return parser.parse_args()
142
144
 
143
145
 
@@ -517,33 +519,15 @@ def build_replacements(args, refactor, refactors, global_context, script_dir):
517
519
  browser_verify_steps = " # (validate UI renders correctly and feature still works)"
518
520
 
519
521
  max_log_size = _parse_non_negative_int_env("MAX_LOG_SIZE", DEFAULT_MAX_LOG_SIZE)
520
- if max_log_size == 0:
521
- poll_interval = DEFAULT_LOG_MONITOR_POLL_INTERVAL
522
- else:
523
- poll_interval = _parse_positive_int_env(
524
- "LOG_MONITOR_POLL_INTERVAL", DEFAULT_LOG_MONITOR_POLL_INTERVAL,
525
- )
526
522
 
527
523
  replacements = {
528
524
  "{{LOG_SIZE_AWARENESS}}": load_log_size_section(script_dir),
529
525
  "{{MAX_LOG_SIZE}}": str(max_log_size),
530
526
  "{{MAX_LOG_SIZE_HUMAN}}": _format_bytes(max_log_size),
531
- "{{LOG_MONITOR_POLL_INTERVAL}}": str(poll_interval),
532
- "{{LOG_MONITOR_STATUS_FILE}}": os.path.join(
533
- ".prizmkit", "state", "refactor", args.refactor_id,
534
- "sessions", args.session_id, "logs", "log-monitor-status.txt",
535
- ),
536
- "{{LOG_MONITOR_BASELINE_FILE}}": os.path.join(
537
- ".prizmkit", "state", "refactor", args.refactor_id,
538
- "sessions", args.session_id, "logs", "log-monitor-baseline.txt",
539
- ),
540
527
  "{{SESSION_LOG_PATH}}": os.path.join(
541
528
  ".prizmkit", "state", "refactor", args.refactor_id,
542
529
  "sessions", args.session_id, "logs", "session.log",
543
530
  ),
544
- "{{LOG_MONITOR_SCRIPT}}": os.path.join(
545
- ".prizmkit", "dev-pipeline", "scripts", "monitor-log.sh",
546
- ),
547
531
  "{{RUN_ID}}": args.run_id,
548
532
  "{{SESSION_ID}}": args.session_id,
549
533
  "{{REFACTOR_ID}}": args.refactor_id,
@@ -742,6 +726,8 @@ def main():
742
726
 
743
727
  # Build replacements
744
728
  replacements = build_replacements(args, refactor, refactors, global_context, script_dir)
729
+ if is_continuation(args):
730
+ replacements["{{LOG_SIZE_AWARENESS}}"] = ""
745
731
 
746
732
  # Render the template
747
733
  rendered = render_template(template_content, replacements, args.resume_phase, refactor)
@@ -763,7 +749,7 @@ def main():
763
749
  checkpoint = generate_refactor_checkpoint(args.refactor_id, args.session_id)
764
750
 
765
751
  is_resume = args.resume_phase != "null"
766
- if is_resume and os.path.exists(checkpoint_path):
752
+ if (is_resume or is_continuation(args)) and os.path.exists(checkpoint_path):
767
753
  try:
768
754
  with open(checkpoint_path, "r", encoding="utf-8") as f:
769
755
  existing = json.load(f)
@@ -782,6 +768,15 @@ def main():
782
768
  json.dump(checkpoint, f, indent=2, ensure_ascii=False)
783
769
  LOGGER.info("Wrote refactor checkpoint to %s", checkpoint_path)
784
770
 
771
+ if is_continuation(args):
772
+ rendered = append_continuation_handoff(
773
+ rendered, args, project_root, args.task_type, args.refactor_id,
774
+ args.refactor_id, checkpoint,
775
+ )
776
+ err = write_output(args.output, rendered)
777
+ if err:
778
+ emit_failure(err)
779
+
785
780
  # Resolve critic and mode
786
781
  refactor_critic = refactor.get("critic", False)
787
782
  if args.critic is not None: