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
@@ -1,382 +0,0 @@
1
- #!/usr/bin/env python3
2
- """Initialize the dev-pipeline state directory from a .prizmkit/plans/feature-list.json file.
3
-
4
- Validates the feature list schema, checks dependency DAG for cycles,
5
- and creates the state directory structure with pipeline and feature status files.
6
-
7
- Usage:
8
- python3 init-pipeline.py --feature-list <path> --state-dir <path>
9
- """
10
-
11
- import argparse
12
- import json
13
- import os
14
- import re
15
- import sys
16
- from collections import deque
17
- from datetime import datetime, timezone
18
-
19
-
20
- EXPECTED_SCHEMA = "dev-pipeline-feature-list-v1"
21
- FEATURE_ID_PATTERN = re.compile(r"^F-\d{3}(-[A-Z])?$")
22
- TERMINAL_STATUSES = {"completed", "failed", "skipped", "split", "auto_skipped"}
23
- VALID_PRIORITIES = {"critical", "high", "medium", "low"}
24
-
25
- REQUIRED_FEATURE_FIELDS = [
26
- "id",
27
- "title",
28
- "description",
29
- "priority",
30
- "dependencies",
31
- "acceptance_criteria",
32
- "status",
33
- ]
34
-
35
-
36
- def parse_args():
37
- parser = argparse.ArgumentParser(
38
- description="Initialize dev-pipeline state from a .prizmkit/plans/feature-list.json file."
39
- )
40
- parser.add_argument(
41
- "--feature-list",
42
- required=True,
43
- help="Path to the .prizmkit/plans/feature-list.json file",
44
- )
45
- parser.add_argument(
46
- "--state-dir",
47
- required=True,
48
- help="Path to the state directory (default: .prizmkit/state/features)",
49
- )
50
- return parser.parse_args()
51
-
52
-
53
- def load_feature_list(path):
54
- """Load and return the parsed JSON from the feature list file."""
55
- abs_path = os.path.abspath(path)
56
- if not os.path.isfile(abs_path):
57
- return None, ["Feature list file not found: {}".format(abs_path)]
58
- try:
59
- with open(abs_path, "r", encoding="utf-8") as f:
60
- data = json.load(f)
61
- except json.JSONDecodeError as e:
62
- return None, ["Invalid JSON in feature list: {}".format(str(e))]
63
- except IOError as e:
64
- return None, ["Cannot read feature list file: {}".format(str(e))]
65
- return data, []
66
-
67
-
68
- def validate_schema(data):
69
- """Validate the top-level schema and structure of the feature list."""
70
- errors = []
71
-
72
- # Check $schema
73
- schema = data.get("$schema")
74
- if schema != EXPECTED_SCHEMA:
75
- errors.append(
76
- "Invalid $schema: expected '{}', got '{}'".format(EXPECTED_SCHEMA, schema)
77
- )
78
-
79
- # Check project_name (supports legacy app_name for backward compatibility)
80
- project_name = data.get("project_name", data.get("app_name"))
81
- if project_name is None:
82
- errors.append("Missing required field: project_name")
83
- elif not isinstance(project_name, str) or not project_name.strip():
84
- errors.append("project_name must be a non-empty string")
85
-
86
- # Check features array
87
- if "features" not in data:
88
- errors.append("Missing required field: features")
89
- elif not isinstance(data["features"], list):
90
- errors.append("features must be an array")
91
-
92
- return errors
93
-
94
-
95
- def validate_features(features):
96
- """Validate each feature object and cross-reference dependencies."""
97
- errors = []
98
- feature_ids = set()
99
- seen_ids = set()
100
-
101
- # First pass: collect all feature IDs and validate structure
102
- for i, feature in enumerate(features):
103
- if not isinstance(feature, dict):
104
- errors.append("Feature at index {} is not an object".format(i))
105
- continue
106
-
107
- # Check required fields
108
- for field in REQUIRED_FEATURE_FIELDS:
109
- if field not in feature:
110
- errors.append(
111
- "Feature at index {} missing required field: {}".format(i, field)
112
- )
113
-
114
- # Validate feature ID format
115
- fid = feature.get("id")
116
- if fid is not None:
117
- if not isinstance(fid, str) or not FEATURE_ID_PATTERN.match(fid):
118
- errors.append(
119
- "Feature at index {} has invalid id '{}' "
120
- "(must match F-NNN pattern)".format(i, fid)
121
- )
122
- elif fid in seen_ids:
123
- errors.append("Duplicate feature id: {}".format(fid))
124
- else:
125
- seen_ids.add(fid)
126
- feature_ids.add(fid)
127
-
128
- # Validate dependencies is a list
129
- deps = feature.get("dependencies")
130
- if deps is not None and not isinstance(deps, list):
131
- errors.append(
132
- "Feature '{}' dependencies must be an array".format(
133
- fid if fid else "index {}".format(i)
134
- )
135
- )
136
-
137
- # Validate priority enum
138
- priority = feature.get("priority")
139
- if priority is not None and priority not in VALID_PRIORITIES:
140
- errors.append(
141
- "Feature '{}' has invalid priority '{}' "
142
- "(must be one of: {})".format(
143
- fid if fid else "index {}".format(i),
144
- priority,
145
- ", ".join(sorted(VALID_PRIORITIES)),
146
- )
147
- )
148
-
149
- # Validate acceptance_criteria is a list
150
- ac = feature.get("acceptance_criteria")
151
- if ac is not None and not isinstance(ac, list):
152
- errors.append(
153
- "Feature '{}' acceptance_criteria must be an array".format(
154
- fid if fid else "index {}".format(i)
155
- )
156
- )
157
-
158
- # Second pass: validate dependency references
159
- for feature in features:
160
- if not isinstance(feature, dict):
161
- continue
162
- fid = feature.get("id", "unknown")
163
- deps = feature.get("dependencies", [])
164
- if not isinstance(deps, list):
165
- continue
166
- for dep in deps:
167
- if dep not in feature_ids:
168
- errors.append(
169
- "Feature '{}' depends on unknown feature '{}'".format(fid, dep)
170
- )
171
-
172
- return errors, feature_ids
173
-
174
-
175
- def check_dag(features):
176
- """Check that feature dependencies form a DAG (no cycles) using topological sort.
177
-
178
- Uses Kahn's algorithm. Returns a list of errors if cycles are detected.
179
- """
180
- # Build adjacency list and in-degree count
181
- adj = {} # feature_id -> list of features that depend on it
182
- in_degree = {}
183
- feature_map = {}
184
-
185
- for feature in features:
186
- if not isinstance(feature, dict):
187
- continue
188
- fid = feature.get("id")
189
- if fid is None:
190
- continue
191
- feature_map[fid] = feature
192
- if fid not in adj:
193
- adj[fid] = []
194
- if fid not in in_degree:
195
- in_degree[fid] = 0
196
-
197
- for feature in features:
198
- if not isinstance(feature, dict):
199
- continue
200
- fid = feature.get("id")
201
- deps = feature.get("dependencies", [])
202
- if not isinstance(deps, list) or fid is None:
203
- continue
204
- for dep in deps:
205
- if dep in adj:
206
- # dep -> fid (fid depends on dep, so dep must come first)
207
- adj[dep].append(fid)
208
- in_degree[fid] = in_degree.get(fid, 0) + 1
209
-
210
- # Kahn's algorithm
211
- queue = deque()
212
- for fid in in_degree:
213
- if in_degree[fid] == 0:
214
- queue.append(fid)
215
-
216
- sorted_count = 0
217
- while queue:
218
- node = queue.popleft()
219
- sorted_count += 1
220
- for neighbor in adj.get(node, []):
221
- in_degree[neighbor] -= 1
222
- if in_degree[neighbor] == 0:
223
- queue.append(neighbor)
224
-
225
- if sorted_count != len(feature_map):
226
- # Find which features are part of cycles
227
- cycle_members = [
228
- fid for fid, deg in in_degree.items() if deg > 0
229
- ]
230
- return [
231
- "Dependency cycle detected involving features: {}".format(
232
- ", ".join(sorted(cycle_members))
233
- )
234
- ]
235
-
236
- return []
237
-
238
-
239
- def create_state_directory(state_dir, feature_list_path, features):
240
- """Create the state directory structure with pipeline.json and per-feature status files."""
241
- abs_state_dir = os.path.abspath(state_dir)
242
- abs_feature_list_path = os.path.abspath(feature_list_path)
243
- # Store as relative path from state_dir so pipeline.json is portable across machines
244
- rel_feature_list_path = os.path.relpath(abs_feature_list_path, abs_state_dir)
245
- features_dir = abs_state_dir
246
-
247
- now = datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
248
- run_id = "run-" + datetime.now(timezone.utc).strftime("%Y%m%d%H%M%S")
249
-
250
- # Create top-level state directory
251
- os.makedirs(abs_state_dir, exist_ok=True)
252
- os.makedirs(features_dir, exist_ok=True)
253
-
254
- # Count features already in terminal status at init time
255
- completed_count = sum(
256
- 1 for f in features
257
- if isinstance(f, dict) and f.get("status") in TERMINAL_STATUSES
258
- )
259
-
260
- # Write pipeline.json
261
- pipeline_state = {
262
- "run_id": run_id,
263
- "status": "initialized",
264
- "feature_list_path": rel_feature_list_path,
265
- "created_at": now,
266
- "total_features": len(features),
267
- "completed_features": completed_count,
268
- }
269
- pipeline_path = os.path.join(abs_state_dir, "pipeline.json")
270
- with open(pipeline_path, "w", encoding="utf-8") as f:
271
- json.dump(pipeline_state, f, indent=2, ensure_ascii=False)
272
- f.write("\n")
273
-
274
- # Write per-feature status.json and create sessions directory
275
- for feature in features:
276
- if not isinstance(feature, dict):
277
- continue
278
- fid = feature.get("id")
279
- if fid is None:
280
- continue
281
-
282
- feature_dir = os.path.join(features_dir, fid)
283
- sessions_dir = os.path.join(feature_dir, "sessions")
284
- os.makedirs(sessions_dir, exist_ok=True)
285
-
286
- feature_status = {
287
- "feature_id": fid,
288
- "retry_count": 0,
289
- "max_retries": 3,
290
- "sessions": [],
291
- "last_session_id": None,
292
- "resume_from_phase": None,
293
- "created_at": now,
294
- "updated_at": now,
295
- }
296
- status_path = os.path.join(feature_dir, "status.json")
297
- if os.path.exists(status_path):
298
- continue
299
- with open(status_path, "w", encoding="utf-8") as f:
300
- json.dump(feature_status, f, indent=2, ensure_ascii=False)
301
- f.write("\n")
302
-
303
- return abs_state_dir
304
-
305
-
306
- def main():
307
- args = parse_args()
308
-
309
- # Load feature list
310
- data, load_errors = load_feature_list(args.feature_list)
311
- if load_errors:
312
- output = {"valid": False, "errors": load_errors}
313
- print(json.dumps(output, indent=2, ensure_ascii=False))
314
- sys.exit(1)
315
-
316
- # Warn if feature-list.json is not under a recognizable project root.
317
- # Walk up from the feature list directory to find a project root indicator.
318
- feature_list_dir = os.path.dirname(os.path.abspath(args.feature_list))
319
- indicators = ['.git', 'package.json', '.prizmkit']
320
-
321
- def _find_project_root(start_dir):
322
- d = start_dir
323
- while True:
324
- if any(os.path.exists(os.path.join(d, ind)) for ind in indicators):
325
- return d
326
- parent = os.path.dirname(d)
327
- if parent == d:
328
- return None
329
- d = parent
330
-
331
- project_root = _find_project_root(feature_list_dir)
332
- if project_root is None:
333
- sys.stderr.write(
334
- "Warning: Could not find project root (no .git, package.json, or .prizmkit) above: {}\n".format(
335
- feature_list_dir
336
- )
337
- )
338
-
339
- # Validate schema
340
- schema_errors = validate_schema(data)
341
- if schema_errors:
342
- output = {"valid": False, "errors": schema_errors}
343
- print(json.dumps(output, indent=2, ensure_ascii=False))
344
- sys.exit(1)
345
-
346
- # Validate features
347
- features = data["features"]
348
- feature_errors, feature_ids = validate_features(features)
349
- if feature_errors:
350
- output = {"valid": False, "errors": feature_errors}
351
- print(json.dumps(output, indent=2, ensure_ascii=False))
352
- sys.exit(1)
353
-
354
- # Check DAG (no cycles)
355
- dag_errors = check_dag(features)
356
- if dag_errors:
357
- output = {"valid": False, "errors": dag_errors}
358
- print(json.dumps(output, indent=2, ensure_ascii=False))
359
- sys.exit(1)
360
-
361
- # Create state directory
362
- try:
363
- abs_state_dir = create_state_directory(
364
- args.state_dir, args.feature_list, features
365
- )
366
- except (IOError, OSError) as e:
367
- output = {"valid": False, "errors": ["Failed to create state directory: {}".format(str(e))]}
368
- print(json.dumps(output, indent=2, ensure_ascii=False))
369
- sys.exit(1)
370
-
371
- # Success output
372
- output = {
373
- "valid": True,
374
- "features_count": len(features),
375
- "state_dir": abs_state_dir,
376
- }
377
- print(json.dumps(output, indent=2, ensure_ascii=False))
378
- sys.exit(0)
379
-
380
-
381
- if __name__ == "__main__":
382
- main()