@sienklogic/plan-build-run 2.51.0 → 2.53.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 (229) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/package.json +4 -2
  3. package/plugins/copilot-pbr/agents/audit.agent.md +2 -5
  4. package/plugins/copilot-pbr/agents/codebase-mapper.agent.md +1 -4
  5. package/plugins/copilot-pbr/agents/debugger.agent.md +1 -4
  6. package/plugins/copilot-pbr/agents/dev-sync.agent.md +6 -9
  7. package/plugins/copilot-pbr/agents/executor.agent.md +1 -6
  8. package/plugins/copilot-pbr/agents/general.agent.md +1 -4
  9. package/plugins/copilot-pbr/agents/integration-checker.agent.md +1 -4
  10. package/plugins/copilot-pbr/agents/plan-checker.agent.md +1 -4
  11. package/plugins/copilot-pbr/agents/planner.agent.md +1 -4
  12. package/plugins/copilot-pbr/agents/researcher.agent.md +1 -4
  13. package/plugins/copilot-pbr/agents/synthesizer.agent.md +1 -4
  14. package/plugins/copilot-pbr/agents/verifier.agent.md +2 -4
  15. package/plugins/copilot-pbr/commands/audit.md +5 -0
  16. package/plugins/copilot-pbr/commands/begin.md +5 -0
  17. package/plugins/copilot-pbr/commands/build.md +5 -0
  18. package/plugins/copilot-pbr/commands/config.md +5 -0
  19. package/plugins/copilot-pbr/commands/continue.md +5 -0
  20. package/plugins/copilot-pbr/commands/dashboard.md +5 -0
  21. package/plugins/copilot-pbr/commands/debug.md +5 -0
  22. package/plugins/copilot-pbr/commands/discuss.md +5 -0
  23. package/plugins/copilot-pbr/commands/do.md +5 -0
  24. package/plugins/copilot-pbr/commands/explore.md +5 -0
  25. package/plugins/copilot-pbr/commands/health.md +5 -0
  26. package/plugins/copilot-pbr/commands/help.md +5 -0
  27. package/plugins/copilot-pbr/commands/import.md +5 -0
  28. package/plugins/copilot-pbr/commands/milestone.md +5 -0
  29. package/plugins/copilot-pbr/commands/note.md +5 -0
  30. package/plugins/copilot-pbr/commands/pause.md +5 -0
  31. package/plugins/copilot-pbr/commands/plan.md +5 -0
  32. package/plugins/copilot-pbr/commands/quick.md +5 -0
  33. package/plugins/copilot-pbr/commands/resume.md +5 -0
  34. package/plugins/copilot-pbr/commands/review.md +5 -0
  35. package/plugins/copilot-pbr/commands/scan.md +5 -0
  36. package/plugins/copilot-pbr/commands/setup.md +5 -0
  37. package/plugins/copilot-pbr/commands/status.md +5 -0
  38. package/plugins/copilot-pbr/commands/statusline.md +5 -0
  39. package/plugins/copilot-pbr/commands/todo.md +5 -0
  40. package/plugins/copilot-pbr/plugin.json +1 -1
  41. package/plugins/copilot-pbr/references/agent-teams.md +0 -1
  42. package/plugins/copilot-pbr/references/common-bug-patterns.md +0 -1
  43. package/plugins/copilot-pbr/references/config-reference.md +0 -1
  44. package/plugins/copilot-pbr/references/continuation-format.md +0 -1
  45. package/plugins/copilot-pbr/references/deviation-rules.md +0 -1
  46. package/plugins/copilot-pbr/references/git-integration.md +0 -1
  47. package/plugins/copilot-pbr/references/integration-patterns.md +0 -1
  48. package/plugins/copilot-pbr/references/model-profiles.md +0 -1
  49. package/plugins/copilot-pbr/references/model-selection.md +0 -1
  50. package/plugins/copilot-pbr/references/plan-authoring.md +0 -1
  51. package/plugins/copilot-pbr/references/plan-format.md +0 -1
  52. package/plugins/copilot-pbr/references/reading-verification.md +0 -1
  53. package/plugins/copilot-pbr/references/signal-files.md +41 -0
  54. package/plugins/copilot-pbr/references/stub-patterns.md +0 -1
  55. package/plugins/copilot-pbr/references/wave-execution.md +0 -1
  56. package/plugins/copilot-pbr/skills/begin/SKILL.md +74 -52
  57. package/plugins/copilot-pbr/skills/build/SKILL.md +55 -69
  58. package/plugins/copilot-pbr/skills/config/SKILL.md +7 -0
  59. package/plugins/copilot-pbr/skills/continue/SKILL.md +31 -24
  60. package/plugins/copilot-pbr/skills/dashboard/SKILL.md +8 -7
  61. package/plugins/copilot-pbr/skills/debug/SKILL.md +11 -0
  62. package/plugins/copilot-pbr/skills/discuss/SKILL.md +2 -0
  63. package/plugins/copilot-pbr/skills/do/SKILL.md +2 -0
  64. package/plugins/copilot-pbr/skills/explore/SKILL.md +7 -1
  65. package/plugins/copilot-pbr/skills/health/SKILL.md +2 -0
  66. package/plugins/copilot-pbr/skills/help/SKILL.md +6 -0
  67. package/plugins/copilot-pbr/skills/import/SKILL.md +9 -0
  68. package/plugins/copilot-pbr/skills/milestone/SKILL.md +20 -196
  69. package/plugins/copilot-pbr/skills/note/SKILL.md +2 -0
  70. package/plugins/copilot-pbr/skills/pause/SKILL.md +5 -0
  71. package/plugins/copilot-pbr/skills/plan/SKILL.md +87 -119
  72. package/plugins/copilot-pbr/skills/quick/SKILL.md +13 -8
  73. package/plugins/copilot-pbr/skills/resume/SKILL.md +4 -0
  74. package/plugins/copilot-pbr/skills/review/SKILL.md +85 -47
  75. package/plugins/copilot-pbr/skills/scan/SKILL.md +6 -0
  76. package/plugins/copilot-pbr/skills/setup/SKILL.md +2 -0
  77. package/plugins/copilot-pbr/skills/shared/commit-planning-docs.md +0 -1
  78. package/plugins/copilot-pbr/skills/shared/config-loading.md +0 -1
  79. package/plugins/copilot-pbr/skills/shared/context-budget.md +0 -1
  80. package/plugins/copilot-pbr/skills/shared/context-loader-task.md +0 -1
  81. package/plugins/copilot-pbr/skills/shared/digest-select.md +0 -1
  82. package/plugins/copilot-pbr/skills/shared/domain-probes.md +0 -1
  83. package/plugins/copilot-pbr/skills/shared/gate-prompts.md +0 -1
  84. package/plugins/copilot-pbr/skills/shared/phase-argument-parsing.md +0 -1
  85. package/plugins/copilot-pbr/skills/shared/revision-loop.md +0 -1
  86. package/plugins/copilot-pbr/skills/shared/state-update.md +0 -1
  87. package/plugins/copilot-pbr/skills/shared/universal-anti-patterns.md +1 -2
  88. package/plugins/copilot-pbr/skills/status/SKILL.md +35 -26
  89. package/plugins/copilot-pbr/skills/test/SKILL.md +2 -2
  90. package/plugins/copilot-pbr/skills/todo/SKILL.md +2 -0
  91. package/plugins/copilot-pbr/templates/CONTEXT.md.tmpl +0 -1
  92. package/plugins/copilot-pbr/templates/INTEGRATION-REPORT.md.tmpl +0 -1
  93. package/plugins/copilot-pbr/templates/RESEARCH-SUMMARY.md.tmpl +0 -1
  94. package/plugins/copilot-pbr/templates/ROADMAP.md.tmpl +0 -1
  95. package/plugins/copilot-pbr/templates/SUMMARY.md.tmpl +0 -1
  96. package/plugins/copilot-pbr/templates/VERIFICATION-DETAIL.md.tmpl +0 -1
  97. package/plugins/copilot-pbr/templates/continue-here.md.tmpl +0 -1
  98. package/plugins/copilot-pbr/templates/prompt-partials/phase-project-context.md.tmpl +0 -1
  99. package/plugins/cursor-pbr/.cursor-plugin/plugin.json +1 -1
  100. package/plugins/cursor-pbr/agents/audit.md +1 -1
  101. package/plugins/cursor-pbr/agents/codebase-mapper.md +1 -1
  102. package/plugins/cursor-pbr/agents/debugger.md +1 -1
  103. package/plugins/cursor-pbr/agents/dev-sync.md +6 -6
  104. package/plugins/cursor-pbr/agents/executor.md +1 -3
  105. package/plugins/cursor-pbr/agents/general.md +1 -1
  106. package/plugins/cursor-pbr/agents/integration-checker.md +2 -2
  107. package/plugins/cursor-pbr/agents/plan-checker.md +2 -2
  108. package/plugins/cursor-pbr/agents/planner.md +1 -1
  109. package/plugins/cursor-pbr/agents/researcher.md +2 -2
  110. package/plugins/cursor-pbr/agents/synthesizer.md +1 -1
  111. package/plugins/cursor-pbr/agents/verifier.md +3 -2
  112. package/plugins/cursor-pbr/commands/audit.md +5 -0
  113. package/plugins/cursor-pbr/commands/begin.md +5 -0
  114. package/plugins/cursor-pbr/commands/build.md +5 -0
  115. package/plugins/cursor-pbr/commands/config.md +5 -0
  116. package/plugins/cursor-pbr/commands/continue.md +5 -0
  117. package/plugins/cursor-pbr/commands/dashboard.md +5 -0
  118. package/plugins/cursor-pbr/commands/debug.md +5 -0
  119. package/plugins/cursor-pbr/commands/discuss.md +5 -0
  120. package/plugins/cursor-pbr/commands/do.md +5 -0
  121. package/plugins/cursor-pbr/commands/explore.md +5 -0
  122. package/plugins/cursor-pbr/commands/health.md +5 -0
  123. package/plugins/cursor-pbr/commands/help.md +5 -0
  124. package/plugins/cursor-pbr/commands/import.md +5 -0
  125. package/plugins/cursor-pbr/commands/milestone.md +5 -0
  126. package/plugins/cursor-pbr/commands/note.md +5 -0
  127. package/plugins/cursor-pbr/commands/pause.md +5 -0
  128. package/plugins/cursor-pbr/commands/plan.md +5 -0
  129. package/plugins/cursor-pbr/commands/quick.md +5 -0
  130. package/plugins/cursor-pbr/commands/resume.md +5 -0
  131. package/plugins/cursor-pbr/commands/review.md +5 -0
  132. package/plugins/cursor-pbr/commands/scan.md +5 -0
  133. package/plugins/cursor-pbr/commands/setup.md +5 -0
  134. package/plugins/cursor-pbr/commands/status.md +5 -0
  135. package/plugins/cursor-pbr/commands/statusline.md +5 -0
  136. package/plugins/cursor-pbr/commands/todo.md +5 -0
  137. package/plugins/cursor-pbr/hooks/hooks.json +4 -10
  138. package/plugins/cursor-pbr/references/agent-teams.md +0 -1
  139. package/plugins/{copilot-pbr/references → cursor-pbr/references/archive}/agent-anti-patterns.md +0 -1
  140. package/plugins/cursor-pbr/references/{pbr-rules.md → archive/pbr-rules.md} +0 -1
  141. package/plugins/cursor-pbr/references/common-bug-patterns.md +0 -1
  142. package/plugins/cursor-pbr/references/config-reference.md +0 -1
  143. package/plugins/cursor-pbr/references/continuation-format.md +0 -1
  144. package/plugins/cursor-pbr/references/deviation-rules.md +0 -1
  145. package/plugins/cursor-pbr/references/git-integration.md +0 -1
  146. package/plugins/cursor-pbr/references/integration-patterns.md +0 -1
  147. package/plugins/cursor-pbr/references/model-profiles.md +0 -1
  148. package/plugins/cursor-pbr/references/model-selection.md +0 -1
  149. package/plugins/cursor-pbr/references/plan-authoring.md +0 -1
  150. package/plugins/cursor-pbr/references/plan-format.md +0 -1
  151. package/plugins/cursor-pbr/references/reading-verification.md +0 -1
  152. package/plugins/cursor-pbr/references/signal-files.md +41 -0
  153. package/plugins/cursor-pbr/references/stub-patterns.md +0 -1
  154. package/plugins/cursor-pbr/references/wave-execution.md +0 -1
  155. package/plugins/cursor-pbr/skills/begin/SKILL.md +74 -52
  156. package/plugins/cursor-pbr/skills/build/SKILL.md +58 -70
  157. package/plugins/cursor-pbr/skills/config/SKILL.md +5 -0
  158. package/plugins/cursor-pbr/skills/continue/SKILL.md +31 -24
  159. package/plugins/cursor-pbr/skills/dashboard/SKILL.md +8 -7
  160. package/plugins/cursor-pbr/skills/debug/SKILL.md +8 -0
  161. package/plugins/cursor-pbr/skills/discuss/SKILL.md +2 -0
  162. package/plugins/cursor-pbr/skills/do/SKILL.md +2 -0
  163. package/plugins/cursor-pbr/skills/explore/SKILL.md +5 -1
  164. package/plugins/cursor-pbr/skills/health/SKILL.md +2 -0
  165. package/plugins/cursor-pbr/skills/help/SKILL.md +6 -0
  166. package/plugins/cursor-pbr/skills/import/SKILL.md +7 -0
  167. package/plugins/cursor-pbr/skills/milestone/SKILL.md +20 -196
  168. package/plugins/cursor-pbr/skills/note/SKILL.md +2 -0
  169. package/plugins/cursor-pbr/skills/pause/SKILL.md +4 -0
  170. package/plugins/cursor-pbr/skills/plan/SKILL.md +87 -119
  171. package/plugins/cursor-pbr/skills/quick/SKILL.md +13 -8
  172. package/plugins/cursor-pbr/skills/resume/SKILL.md +4 -0
  173. package/plugins/cursor-pbr/skills/review/SKILL.md +85 -47
  174. package/plugins/cursor-pbr/skills/scan/SKILL.md +5 -0
  175. package/plugins/cursor-pbr/skills/setup/SKILL.md +2 -0
  176. package/plugins/cursor-pbr/skills/shared/commit-planning-docs.md +0 -1
  177. package/plugins/cursor-pbr/skills/shared/config-loading.md +0 -1
  178. package/plugins/cursor-pbr/skills/shared/context-budget.md +0 -1
  179. package/plugins/cursor-pbr/skills/shared/context-loader-task.md +0 -1
  180. package/plugins/cursor-pbr/skills/shared/digest-select.md +0 -1
  181. package/plugins/cursor-pbr/skills/shared/domain-probes.md +0 -1
  182. package/plugins/cursor-pbr/skills/shared/gate-prompts.md +0 -1
  183. package/plugins/cursor-pbr/skills/shared/phase-argument-parsing.md +0 -1
  184. package/plugins/cursor-pbr/skills/shared/revision-loop.md +0 -1
  185. package/plugins/cursor-pbr/skills/shared/state-update.md +0 -1
  186. package/plugins/cursor-pbr/skills/shared/universal-anti-patterns.md +1 -2
  187. package/plugins/cursor-pbr/skills/status/SKILL.md +35 -26
  188. package/plugins/cursor-pbr/skills/test/SKILL.md +2 -2
  189. package/plugins/cursor-pbr/skills/todo/SKILL.md +2 -0
  190. package/plugins/cursor-pbr/templates/CONTEXT.md.tmpl +0 -1
  191. package/plugins/cursor-pbr/templates/INTEGRATION-REPORT.md.tmpl +0 -1
  192. package/plugins/cursor-pbr/templates/RESEARCH-SUMMARY.md.tmpl +0 -1
  193. package/plugins/cursor-pbr/templates/ROADMAP.md.tmpl +0 -1
  194. package/plugins/cursor-pbr/templates/SUMMARY.md.tmpl +0 -1
  195. package/plugins/cursor-pbr/templates/VERIFICATION-DETAIL.md.tmpl +0 -1
  196. package/plugins/cursor-pbr/templates/continue-here.md.tmpl +0 -1
  197. package/plugins/cursor-pbr/templates/prompt-partials/phase-project-context.md.tmpl +0 -1
  198. package/plugins/pbr/.claude-plugin/plugin.json +1 -1
  199. package/plugins/pbr/agents/executor.md +0 -2
  200. package/plugins/{cursor-pbr/references → pbr/references/archive}/agent-anti-patterns.md +0 -1
  201. package/plugins/{copilot-pbr/references → pbr/references/archive}/pbr-rules.md +0 -1
  202. package/plugins/pbr/references/signal-files.md +41 -0
  203. package/plugins/pbr/scripts/check-skill-workflow.js +7 -8
  204. package/plugins/pbr/scripts/check-subagent-output.js +7 -6
  205. package/plugins/pbr/scripts/context-budget-check.js +13 -1
  206. package/plugins/pbr/scripts/enforce-pbr-workflow.js +15 -6
  207. package/plugins/pbr/scripts/lib/core.js +53 -1
  208. package/plugins/pbr/scripts/log-subagent.js +7 -10
  209. package/plugins/pbr/scripts/pbr-tools.js +49 -3
  210. package/plugins/pbr/scripts/progress-tracker.js +13 -3
  211. package/plugins/pbr/scripts/session-cleanup.js +6 -0
  212. package/plugins/pbr/scripts/suggest-compact.js +13 -1
  213. package/plugins/pbr/skills/begin/SKILL.md +13 -13
  214. package/plugins/pbr/skills/build/SKILL.md +24 -7
  215. package/plugins/pbr/skills/milestone/SKILL.md +10 -10
  216. package/plugins/pbr/skills/plan/SKILL.md +9 -9
  217. package/plugins/pbr/skills/quick/SKILL.md +3 -3
  218. package/plugins/pbr/skills/review/SKILL.md +6 -6
  219. /package/plugins/{pbr/references → copilot-pbr/references/archive}/agent-anti-patterns.md +0 -0
  220. /package/plugins/copilot-pbr/references/{checkpoints.md → archive/checkpoints.md} +0 -0
  221. /package/plugins/copilot-pbr/references/{context-quality-tiers.md → archive/context-quality-tiers.md} +0 -0
  222. /package/plugins/{pbr/references → copilot-pbr/references/archive}/pbr-rules.md +0 -0
  223. /package/plugins/copilot-pbr/references/{verification-patterns.md → archive/verification-patterns.md} +0 -0
  224. /package/plugins/cursor-pbr/references/{checkpoints.md → archive/checkpoints.md} +0 -0
  225. /package/plugins/cursor-pbr/references/{context-quality-tiers.md → archive/context-quality-tiers.md} +0 -0
  226. /package/plugins/cursor-pbr/references/{verification-patterns.md → archive/verification-patterns.md} +0 -0
  227. /package/plugins/pbr/references/{checkpoints.md → archive/checkpoints.md} +0 -0
  228. /package/plugins/pbr/references/{context-quality-tiers.md → archive/context-quality-tiers.md} +0 -0
  229. /package/plugins/pbr/references/{verification-patterns.md → archive/verification-patterns.md} +0 -0
@@ -65,7 +65,7 @@ Reference: `skills/shared/config-loading.md` for the tooling shortcut and config
65
65
  1. Parse `$ARGUMENTS` for phase number and flags
66
66
  2. Read `.planning/config.json` for parallelization, model, and gate settings (see config-loading.md for field reference)
67
67
  3. Resolve depth profile: run `node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js config resolve-depth` to get the effective feature/gate settings for the current depth. Store the result for use in later gating decisions.
68
- 4. **CRITICAL: Write .active-skill NOW.** Write `.planning/.active-skill` with the content `build` (registers with workflow enforcement hook)
68
+ 4. **CRITICAL (hook-enforced): Write .active-skill NOW.** Write `.planning/.active-skill` with the content `build` (registers with workflow enforcement hook)
69
69
  5. Validate:
70
70
  - Phase directory exists at `.planning/phases/{NN}-{slug}/`
71
71
  - PLAN.md files exist in the directory
@@ -190,7 +190,7 @@ Validate wave consistency:
190
190
 
191
191
  ### Step 5b: Write Checkpoint Manifest (inline)
192
192
 
193
- **CRITICAL: Initialize checkpoint manifest NOW before entering the wave loop.**
193
+ **CRITICAL (hook-enforced): Initialize checkpoint manifest NOW before entering the wave loop.**
194
194
 
195
195
  ```bash
196
196
  node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js checkpoint init {phase-slug} --plans "{comma-separated plan IDs}"
@@ -338,7 +338,7 @@ For each completed executor:
338
338
 
339
339
  **Spot-check executor claims:**
340
340
 
341
- CRITICAL: Before reading results or advancing to the next wave, run the spot-check CLI for each completed plan.
341
+ CRITICAL (no hook): Before reading results or advancing to the next wave, run the spot-check CLI for each completed plan.
342
342
 
343
343
  For each completed plan in this wave:
344
344
 
@@ -560,6 +560,12 @@ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js state update last_activity now
560
560
 
561
561
  **STATE.md size limit:** Follow the size limit enforcement rules in `skills/shared/state-update.md` (150 lines max — collapse completed phases, remove duplicated decisions, trim old sessions).
562
562
 
563
+ **Completion check:** Before proceeding to next wave, confirm ALL of:
564
+ - [ ] SUMMARY gate passed for every plan in this wave
565
+ - [ ] STATE.md frontmatter `plans_complete` updated
566
+ - [ ] STATE.md body progress bar updated
567
+ - [ ] `last_activity` timestamp refreshed
568
+
563
569
  ---
564
570
 
565
571
  ### Step 7: Phase Verification (delegated, conditional)
@@ -604,7 +610,7 @@ Use the same verifier prompt template as defined in `/pbr:review`: read `skills/
604
610
  **Prepend this block to the verifier prompt before sending:**
605
611
  ```
606
612
  <files_to_read>
607
- CRITICAL: Read these files BEFORE any other action:
613
+ CRITICAL (no hook): Read these files BEFORE any other action:
608
614
  1. .planning/phases/{NN}-{slug}/PLAN-*.md — must-haves to verify against
609
615
  2. .planning/phases/{NN}-{slug}/SUMMARY-*.md — executor build summaries
610
616
  3. .planning/phases/{NN}-{slug}/VERIFICATION.md — prior verification results (if exists)
@@ -662,7 +668,7 @@ If triggered:
662
668
  ```
663
669
  4. Do NOT block on this — use `run_in_background: true` and continue to Step 8a. Report completion in Step 8f if it finishes in time.
664
670
 
665
- **CRITICAL: Update ROADMAP.md progress table NOW. Do NOT skip this step.**
671
+ **CRITICAL (no hook): Update ROADMAP.md progress table NOW. Do NOT skip this step. (roadmap-sync warns)**
666
672
 
667
673
  **8a. Update ROADMAP.md Progress table** (REQUIRED — do this BEFORE updating STATE.md):
668
674
 
@@ -680,13 +686,18 @@ These return `{ success, old_status, new_status }` or `{ success, old_plans, new
680
686
  5. Update the `Status` column to the final_status determined in Step 8-pre
681
687
  6. Save the file — do NOT skip this step
682
688
 
683
- **CRITICAL: Update STATE.md NOW with phase completion status. Do NOT skip this step.**
689
+ **CRITICAL (no hook): Update STATE.md NOW with phase completion status. Do NOT skip this step. (state-sync warns)**
684
690
 
685
- **8b. Update STATE.md (CRITICAL — update BOTH frontmatter AND body):**
691
+ **8b. Update STATE.md (CRITICAL (no hook) — update BOTH frontmatter AND body):**
686
692
  - Frontmatter: `status`, `plans_complete`, `last_activity`, `progress_percent`, `last_command`
687
693
  - Body `## Current Position`: `Phase:` line, `Plan:` line, `Status:` line, `Last activity:` line, `Progress:` bar
688
694
  - These MUST stay in sync — the status line reads frontmatter, humans read the body
689
695
 
696
+ **Completion check:** Before proceeding to 8c, confirm ALL of:
697
+ - [ ] STATE.md frontmatter fields set: status, plans_complete, last_activity, progress_percent, last_command
698
+ - [ ] STATE.md body ## Current Position updated: Phase, Status, Last activity, Progress bar
699
+ - [ ] Frontmatter and body are consistent (same status value in both)
700
+
690
701
  **8c. Commit planning docs (if configured):**
691
702
  Reference: `skills/shared/commit-planning-docs.md` for the standard commit pattern.
692
703
  If `planning.commit_docs` is `true`:
@@ -750,6 +761,12 @@ After invoking the chained skill, it runs within the same session. When it compl
750
761
  Write `.planning/.auto-next` containing the next logical command (e.g., `/pbr:plan {N+1}` or `/pbr:review {N}`)
751
762
  - This file signals to the user or to wrapper scripts that the next step is ready
752
763
 
764
+ **Completion check:** Before proceeding to 8f, confirm ALL of:
765
+ - [ ] auto_advance OR auto_continue evaluated (one path taken)
766
+ - [ ] If auto_continue: `.auto-next` file written with correct next command
767
+ - [ ] Pending todos evaluated (Step 8e-ii)
768
+ - [ ] Clearly-satisfied todos auto-closed via `pbr-tools.js todo done`
769
+
753
770
  **8e-ii. Check Pending Todos:**
754
771
 
755
772
  **CRITICAL (no hook): Check pending todos after build. Do NOT skip this step.**
@@ -151,7 +151,7 @@ Start a new milestone cycle with new phases.
151
151
  - **Status:** In progress
152
152
  ```
153
153
 
154
- **CRITICAL -- DO NOT SKIP: Update STATE.md frontmatter AND body with new milestone info.**
154
+ **CRITICAL (no hook) -- DO NOT SKIP: Update STATE.md frontmatter AND body with new milestone info.**
155
155
 
156
156
  8. **Update STATE.md:**
157
157
  - Set current phase to the first new phase
@@ -221,7 +221,7 @@ Dry-run of milestone completion — shows what would happen without making any c
221
221
  Ready to complete? Run: /pbr:milestone complete v{version}
222
222
  ```
223
223
 
224
- **CRITICAL**: This subcommand is READ-ONLY. Do not create directories, move files, modify STATE.md, modify ROADMAP.md, or create git tags. Only read and display.
224
+ **CRITICAL (no hook)**: This subcommand is READ-ONLY. Do not create directories, move files, modify STATE.md, modify ROADMAP.md, or create git tags. Only read and display.
225
225
 
226
226
  ---
227
227
 
@@ -297,7 +297,7 @@ Archive a completed milestone and prepare for the next one.
297
297
 
298
298
  5. **Archive milestone documents:**
299
299
 
300
- **CRITICAL: Pre-flight safety checks BEFORE archiving. Do NOT skip this step.**
300
+ **CRITICAL (no hook): Pre-flight safety checks BEFORE archiving. Do NOT skip this step.**
301
301
 
302
302
  Before creating or moving anything, verify the destination is safe:
303
303
  - Check if `.planning/milestones/{version}/` already exists
@@ -317,19 +317,19 @@ Archive a completed milestone and prepare for the next one.
317
317
  - Verify each source phase directory exists before attempting to move it
318
318
  - If any source phase directory is missing, warn but continue with the phases that do exist
319
319
 
320
- **CRITICAL: Create the archive directory .planning/milestones/{version}/ NOW. Do NOT skip this step.**
320
+ **CRITICAL (no hook): Create the archive directory .planning/milestones/{version}/ NOW. Do NOT skip this step.**
321
321
 
322
322
  Create a versioned archive directory and move phase directories into it:
323
323
  - `.planning/milestones/{version}/ROADMAP.md` — snapshot of ROADMAP.md at completion
324
- - `.planning/milestones/{version}/REQUIREMENTS.md` — **CRITICAL: Copy REQUIREMENTS.md to archive NOW. Do NOT skip this step.** Snapshot of REQUIREMENTS.md
324
+ - `.planning/milestones/{version}/REQUIREMENTS.md` — **CRITICAL (no hook): Copy REQUIREMENTS.md to archive NOW. Do NOT skip this step.** Snapshot of REQUIREMENTS.md
325
325
  - `.planning/milestones/{version}/STATS.md` — milestone statistics
326
326
  - `.planning/milestones/{version}/phases/{NN}-{slug}/` — move each milestone phase directory from `.planning/phases/` into the archive
327
327
 
328
- **CRITICAL: Move phase directories from .planning/phases/ to archive NOW. Do NOT skip this step.**
328
+ **CRITICAL (no hook): Move phase directories from .planning/phases/ to archive NOW. Do NOT skip this step.**
329
329
 
330
330
  **Move phases:** For each phase belonging to this milestone, move (not copy) its directory from `.planning/phases/{NN}-{slug}/` to `.planning/milestones/{version}/phases/{NN}-{slug}/`. This keeps the active phases directory clean for the next milestone.
331
331
 
332
- **CRITICAL: Write STATS.md to .planning/milestones/{version}/STATS.md NOW. Do NOT skip this step.**
332
+ **CRITICAL (no hook): Write STATS.md to .planning/milestones/{version}/STATS.md NOW. Do NOT skip this step.**
333
333
 
334
334
  **Stats file content:**
335
335
 
@@ -350,7 +350,7 @@ Archive a completed milestone and prepare for the next one.
350
350
 
351
351
  - Move validated requirements from active to completed section
352
352
 
353
- **CRITICAL: Update ROADMAP.md with collapsed milestone section NOW. Do NOT skip this step.**
353
+ **CRITICAL (no hook): Update ROADMAP.md with collapsed milestone section NOW. Do NOT skip this step.**
354
354
 
355
355
  7. **Collapse completed phases in ROADMAP.md:**
356
356
  Replace detailed phase entries with collapsed summaries:
@@ -366,7 +366,7 @@ Archive a completed milestone and prepare for the next one.
366
366
  | {N+1}. {name} | Completed |
367
367
  ```
368
368
 
369
- **CRITICAL: Update STATE.md to mark milestone as complete NOW. Do NOT skip this step.**
369
+ **CRITICAL (no hook): Update STATE.md to mark milestone as complete NOW. Do NOT skip this step.**
370
370
 
371
371
  7b. **Update STATE.md:**
372
372
  - Update `.planning/STATE.md` to mark the milestone as complete
@@ -387,7 +387,7 @@ Archive a completed milestone and prepare for the next one.
387
387
 
388
388
  7d. **Aggregate learnings from milestone phases:**
389
389
 
390
- **CRITICAL: Run learnings aggregation NOW. Do NOT skip this step.**
390
+ **CRITICAL (no hook): Run learnings aggregation NOW. Do NOT skip this step.**
391
391
 
392
392
  ```bash
393
393
  node ${CLAUDE_PLUGIN_ROOT}/scripts/milestone-learnings.js .planning/milestones/{version} --project {project-name-from-STATE.md}
@@ -116,7 +116,7 @@ Reference: `skills/shared/config-loading.md` for the tooling shortcut (`state lo
116
116
 
117
117
  1. Parse `$ARGUMENTS` for phase number and flags
118
118
  2. Read `.planning/config.json` for settings (see config-loading.md for field reference)
119
- **CRITICAL: Write .active-skill NOW.** Write the text "plan" to `.planning/.active-skill` using the Write tool.
119
+ **CRITICAL (hook-enforced): Write .active-skill NOW.** Write the text "plan" to `.planning/.active-skill` using the Write tool.
120
120
  3. Resolve depth profile: run `node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js config resolve-depth` to get the effective feature/gate settings for the current depth. Store the result for use in later gating decisions.
121
121
  4. Validate:
122
122
  - Phase exists in ROADMAP.md
@@ -210,7 +210,7 @@ Read `skills/plan/templates/researcher-prompt.md.tmpl` and use it as the prompt
210
210
  **Prepend this block to the researcher prompt before sending:**
211
211
  ```
212
212
  <files_to_read>
213
- CRITICAL: Read these files BEFORE any other action:
213
+ CRITICAL (no hook): Read these files BEFORE any other action:
214
214
  1. .planning/ROADMAP.md — phase goals, dependencies, and structure
215
215
  2. .planning/REQUIREMENTS.md — scoped requirements for this phase (if exists)
216
216
  </files_to_read>
@@ -333,7 +333,7 @@ Read `skills/plan/templates/planner-prompt.md.tmpl` and use it as the prompt tem
333
333
 
334
334
  ```
335
335
  <files_to_read>
336
- CRITICAL: Read these files BEFORE any other action:
336
+ CRITICAL (no hook): Read these files BEFORE any other action:
337
337
  1. .planning/CONTEXT.md — locked decisions and constraints (if exists)
338
338
  2. .planning/ROADMAP.md — phase goals, dependencies, and structure
339
339
  3. .planning/phases/{NN}-{slug}/RESEARCH.md — research findings (if exists)
@@ -355,7 +355,7 @@ Where `{N}` is the number of PLAN.md files written and `{M}` is the number of di
355
355
 
356
356
  ### Step 5b: Spot-Check Planner Output
357
357
 
358
- CRITICAL: Verify planner output before proceeding.
358
+ CRITICAL (no hook): Verify planner output before proceeding.
359
359
 
360
360
  1. **PLAN files exist**: Check `.planning/phases/{NN}-{slug}/PLAN-*.md` files exist on disk
361
361
  2. **Valid frontmatter**: Read first 20 lines of each PLAN file — verify `depends_on`, `files_modified`, `must_haves` fields present
@@ -400,7 +400,7 @@ Read `skills/plan/templates/checker-prompt.md.tmpl` and use it as the prompt tem
400
400
  **Prepend this block to the checker prompt before sending:**
401
401
  ```
402
402
  <files_to_read>
403
- CRITICAL: Read these files BEFORE any other action:
403
+ CRITICAL (no hook): Read these files BEFORE any other action:
404
404
  1. .planning/phases/{NN}-{slug}/PLAN-*.md — plan files to validate
405
405
  2. .planning/CONTEXT.md — locked decisions to check against (if exists)
406
406
  </files_to_read>
@@ -470,7 +470,7 @@ Use AskUserQuestion (pattern: approve-revise-abort from `skills/shared/gate-prom
470
470
  4. Update the `Plans Complete` column to `0/{N}` where N = number of plan files just created
471
471
  5. Update the `Status` column to `planned`
472
472
  6. Save the file — do NOT skip this step
473
- - Update STATE.md via CLI **(CRITICAL — update BOTH frontmatter AND body)**: set `status: "planned"`, `plans_total`, `last_command` in frontmatter AND update `Status:`, `Plan:` lines in body `## Current Position`
473
+ - Update STATE.md via CLI **(CRITICAL (no hook) — update BOTH frontmatter AND body)**: set `status: "planned"`, `plans_total`, `last_command` in frontmatter AND update `Status:`, `Plan:` lines in body `## Current Position`
474
474
 
475
475
  **Tooling shortcut**: `node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js state patch '{"status":"planned","last_command":"/pbr:plan {N}"}'`
476
476
  - **If `features.auto_advance` is `true` AND `mode` is `autonomous`:** Chain directly to build: `Skill({ skill: "pbr:build", args: "{N}" })`. This continues the build→review→plan→build cycle automatically.
@@ -482,7 +482,7 @@ Use AskUserQuestion (pattern: approve-revise-abort from `skills/shared/gate-prom
482
482
 
483
483
  ### Subcommand: `add`
484
484
 
485
- **CRITICAL: Write .active-skill NOW.** Write the text "plan" to `.planning/.active-skill` using the Write tool.
485
+ **CRITICAL (hook-enforced): Write .active-skill NOW.** Write the text "plan" to `.planning/.active-skill` using the Write tool.
486
486
 
487
487
  1. Read `.planning/ROADMAP.md`
488
488
  2. Calculate next phase number (last phase + 1)
@@ -499,7 +499,7 @@ Use AskUserQuestion (pattern: approve-revise-abort from `skills/shared/gate-prom
499
499
 
500
500
  Reference: `skills/plan/decimal-phase-calc.md` for decimal numbering rules.
501
501
 
502
- **CRITICAL: Write .active-skill NOW.** Write the text "plan" to `.planning/.active-skill` using the Write tool.
502
+ **CRITICAL (hook-enforced): Write .active-skill NOW.** Write the text "plan" to `.planning/.active-skill` using the Write tool.
503
503
 
504
504
  1. Read `.planning/ROADMAP.md`
505
505
  2. Calculate decimal phase number:
@@ -520,7 +520,7 @@ Reference: `skills/plan/decimal-phase-calc.md` for decimal numbering rules.
520
520
  - Phase must exist
521
521
  - Phase must be in `pending` or `not started` status (cannot remove completed/in-progress phases)
522
522
  - No other phases depend on this phase (or user confirms breaking dependencies)
523
- 3. **CRITICAL: Write .active-skill NOW.** Write the text "plan" to `.planning/.active-skill` using the Write tool.
523
+ 3. **CRITICAL (hook-enforced): Write .active-skill NOW.** Write the text "plan" to `.planning/.active-skill` using the Write tool.
524
524
  4. Confirm with user: "Remove Phase {N}: {name}? This will delete the phase directory and renumber subsequent phases."
525
525
  5. If confirmed:
526
526
  - Delete `.planning/phases/{NN}-{slug}/` directory
@@ -94,7 +94,7 @@ If user types something else (freeform): interpret their response and proceed ac
94
94
 
95
95
  ### Step 4: Generate Slug and Task Number
96
96
 
97
- **CRITICAL: You MUST complete Steps 4, 5, and 6 before any executor is spawned. If you skip these steps, the quick task will have no tracking artifacts and no PLAN.md for the executor to follow. This is the #1 failure mode of this skill.**
97
+ **CRITICAL (no hook): You MUST complete Steps 4, 5, and 6 before any executor is spawned. If you skip these steps, the quick task will have no tracking artifacts and no PLAN.md for the executor to follow. This is the #1 failure mode of this skill.**
98
98
 
99
99
  **Generate slug:**
100
100
  - Take the first 4-5 meaningful words from the description
@@ -176,7 +176,7 @@ Spawn a `Task(subagent_type: "pbr:executor")` with the following prompt:
176
176
  You are executor. Execute the following quick task plan.
177
177
 
178
178
  <files_to_read>
179
- CRITICAL: Read these files BEFORE any other action:
179
+ CRITICAL (no hook): Read these files BEFORE any other action:
180
180
  1. .planning/quick/{NNN}-{slug}/PLAN.md — the quick task plan with task details
181
181
  2. .planning/STATE.md — current project state and progress (if exists)
182
182
  </files_to_read>
@@ -205,7 +205,7 @@ After the executor completes:
205
205
 
206
206
  ### Step 8b: Spot-Check Executor Output
207
207
 
208
- CRITICAL: Verify executor output before proceeding.
208
+ CRITICAL (no hook): Verify executor output before proceeding.
209
209
 
210
210
  1. **SUMMARY.md exists**: Check `.planning/quick/{NNN}-{slug}/SUMMARY.md` exists
211
211
  2. **Key files exist**: Verify first 2 files from SUMMARY.md `key_files` frontmatter exist on disk
@@ -68,7 +68,7 @@ Execute these steps in order.
68
68
 
69
69
  1. Parse `$ARGUMENTS` for phase number and `--auto-fix` flag
70
70
  2. Read `.planning/config.json`
71
- **CRITICAL: Write .active-skill NOW.** Write the text "review" to `.planning/.active-skill` using the Write tool.
71
+ **CRITICAL (hook-enforced): Write .active-skill NOW.** Write the text "review" to `.planning/.active-skill` using the Write tool.
72
72
  3. Resolve depth profile: run `node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js config resolve-depth` to get the effective feature/gate settings for the current depth. Store the result for use in later gating decisions.
73
73
  4. Validate:
74
74
  - Phase directory exists at `.planning/phases/{NN}-{slug}/`
@@ -180,7 +180,7 @@ Read `skills/review/templates/verifier-prompt.md.tmpl` and use its content as th
180
180
  **Prepend this block to the verifier prompt before sending:**
181
181
  ```
182
182
  <files_to_read>
183
- CRITICAL: Read these files BEFORE any other action:
183
+ CRITICAL (no hook): Read these files BEFORE any other action:
184
184
  1. .planning/phases/{NN}-{slug}/PLAN-*.md — must-haves to verify against
185
185
  2. .planning/phases/{NN}-{slug}/SUMMARY-*.md — executor build summaries
186
186
  3. .planning/phases/{NN}-{slug}/VERIFICATION.md — prior verification results (if exists)
@@ -215,7 +215,7 @@ Then display the overall verdict (`PASSED`, `GAPS FOUND`, or `HUMAN NEEDED`) bef
215
215
 
216
216
  ### Step 3a: Spot-Check Verifier Output
217
217
 
218
- CRITICAL: Verify verifier output before proceeding.
218
+ CRITICAL (no hook): Verify verifier output before proceeding.
219
219
 
220
220
  1. **VERIFICATION.md exists**: Check `.planning/phases/{NN}-{slug}/VERIFICATION.md` exists on disk
221
221
  2. **Status field present**: Read VERIFICATION.md frontmatter — verify `status` field is present and is one of: pass, fail, partial
@@ -369,7 +369,7 @@ If all automated checks and UAT items passed:
369
369
  4. Update the `Status` column to `verified`
370
370
  5. Update the `Completed` column to the current date (YYYY-MM-DD)
371
371
  6. Save the file — do NOT skip this step
372
- 2. Update `.planning/STATE.md` **(CRITICAL — update BOTH frontmatter AND body):**
372
+ 2. Update `.planning/STATE.md` **(CRITICAL (no hook) — update BOTH frontmatter AND body):**
373
373
  - Frontmatter: `status: "verified"`, `progress_percent`, `last_activity`, `last_command`
374
374
  - Body `## Current Position`: `Status:` line, `Last activity:` line, `Progress:` bar
375
375
  - These MUST stay in sync — see `skills/shared/state-update.md`
@@ -422,7 +422,7 @@ Read `skills/review/templates/debugger-prompt.md.tmpl` and use its content as th
422
422
  **Prepend this block to the debugger prompt before sending:**
423
423
  ```
424
424
  <files_to_read>
425
- CRITICAL: Read these files BEFORE any other action:
425
+ CRITICAL (no hook): Read these files BEFORE any other action:
426
426
  1. .planning/phases/{NN}-{slug}/VERIFICATION.md — gaps and failure details
427
427
  2. .planning/phases/{NN}-{slug}/SUMMARY-*.md — what was built
428
428
  3. .planning/phases/{NN}-{slug}/PLAN-*.md — original plan must-haves
@@ -454,7 +454,7 @@ Read `skills/review/templates/gap-planner-prompt.md.tmpl` and use its content as
454
454
  **Prepend this block to the gap planner prompt before sending:**
455
455
  ```
456
456
  <files_to_read>
457
- CRITICAL: Read these files BEFORE any other action:
457
+ CRITICAL (no hook): Read these files BEFORE any other action:
458
458
  1. .planning/phases/{NN}-{slug}/VERIFICATION.md — gaps to close
459
459
  2. .planning/phases/{NN}-{slug}/PLAN-*.md — existing plans for context
460
460
  3. .planning/CONTEXT.md — locked decisions and constraints (if exists)