@sienklogic/plan-build-run 2.53.0 → 2.55.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 (165) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/package.json +2 -2
  3. package/plugins/codex-pbr/agents/audit.md +223 -0
  4. package/plugins/codex-pbr/agents/codebase-mapper.md +196 -0
  5. package/plugins/codex-pbr/agents/debugger.md +245 -0
  6. package/plugins/codex-pbr/agents/dev-sync.md +142 -0
  7. package/plugins/codex-pbr/agents/executor.md +429 -0
  8. package/plugins/codex-pbr/agents/general.md +131 -0
  9. package/plugins/codex-pbr/agents/integration-checker.md +178 -0
  10. package/plugins/codex-pbr/agents/plan-checker.md +253 -0
  11. package/plugins/codex-pbr/agents/planner.md +343 -0
  12. package/plugins/codex-pbr/agents/researcher.md +253 -0
  13. package/plugins/codex-pbr/agents/synthesizer.md +183 -0
  14. package/plugins/codex-pbr/agents/verifier.md +352 -0
  15. package/plugins/codex-pbr/commands/audit.md +5 -0
  16. package/plugins/codex-pbr/commands/begin.md +5 -0
  17. package/plugins/codex-pbr/commands/build.md +5 -0
  18. package/plugins/codex-pbr/commands/config.md +5 -0
  19. package/plugins/codex-pbr/commands/continue.md +5 -0
  20. package/plugins/codex-pbr/commands/dashboard.md +5 -0
  21. package/plugins/codex-pbr/commands/debug.md +5 -0
  22. package/plugins/codex-pbr/commands/discuss.md +5 -0
  23. package/plugins/codex-pbr/commands/do.md +5 -0
  24. package/plugins/codex-pbr/commands/explore.md +5 -0
  25. package/plugins/codex-pbr/commands/health.md +5 -0
  26. package/plugins/codex-pbr/commands/help.md +5 -0
  27. package/plugins/codex-pbr/commands/import.md +5 -0
  28. package/plugins/codex-pbr/commands/milestone.md +5 -0
  29. package/plugins/codex-pbr/commands/note.md +5 -0
  30. package/plugins/codex-pbr/commands/pause.md +5 -0
  31. package/plugins/codex-pbr/commands/plan.md +5 -0
  32. package/plugins/codex-pbr/commands/quick.md +5 -0
  33. package/plugins/codex-pbr/commands/resume.md +5 -0
  34. package/plugins/codex-pbr/commands/review.md +5 -0
  35. package/plugins/codex-pbr/commands/scan.md +5 -0
  36. package/plugins/codex-pbr/commands/setup.md +5 -0
  37. package/plugins/codex-pbr/commands/status.md +5 -0
  38. package/plugins/codex-pbr/commands/statusline.md +5 -0
  39. package/plugins/codex-pbr/commands/test.md +5 -0
  40. package/plugins/codex-pbr/commands/todo.md +5 -0
  41. package/plugins/codex-pbr/commands/undo.md +5 -0
  42. package/plugins/codex-pbr/references/agent-contracts.md +324 -0
  43. package/plugins/codex-pbr/references/agent-teams.md +54 -0
  44. package/plugins/codex-pbr/references/common-bug-patterns.md +13 -0
  45. package/plugins/codex-pbr/references/config-reference.md +552 -0
  46. package/plugins/codex-pbr/references/continuation-format.md +212 -0
  47. package/plugins/codex-pbr/references/deviation-rules.md +112 -0
  48. package/plugins/codex-pbr/references/git-integration.md +256 -0
  49. package/plugins/codex-pbr/references/integration-patterns.md +117 -0
  50. package/plugins/codex-pbr/references/model-profiles.md +99 -0
  51. package/plugins/codex-pbr/references/model-selection.md +31 -0
  52. package/plugins/codex-pbr/references/pbr-tools-cli.md +400 -0
  53. package/plugins/codex-pbr/references/plan-authoring.md +246 -0
  54. package/plugins/codex-pbr/references/plan-format.md +313 -0
  55. package/plugins/codex-pbr/references/questioning.md +235 -0
  56. package/plugins/codex-pbr/references/reading-verification.md +127 -0
  57. package/plugins/codex-pbr/references/signal-files.md +41 -0
  58. package/plugins/codex-pbr/references/stub-patterns.md +160 -0
  59. package/plugins/codex-pbr/references/ui-formatting.md +444 -0
  60. package/plugins/codex-pbr/references/wave-execution.md +95 -0
  61. package/plugins/codex-pbr/skills/audit/SKILL.md +346 -0
  62. package/plugins/codex-pbr/skills/begin/SKILL.md +800 -0
  63. package/plugins/codex-pbr/skills/build/SKILL.md +958 -0
  64. package/plugins/codex-pbr/skills/config/SKILL.md +267 -0
  65. package/plugins/codex-pbr/skills/continue/SKILL.md +172 -0
  66. package/plugins/codex-pbr/skills/dashboard/SKILL.md +44 -0
  67. package/plugins/codex-pbr/skills/debug/SKILL.md +530 -0
  68. package/plugins/codex-pbr/skills/discuss/SKILL.md +355 -0
  69. package/plugins/codex-pbr/skills/do/SKILL.md +68 -0
  70. package/plugins/codex-pbr/skills/explore/SKILL.md +407 -0
  71. package/plugins/codex-pbr/skills/health/SKILL.md +300 -0
  72. package/plugins/codex-pbr/skills/help/SKILL.md +229 -0
  73. package/plugins/codex-pbr/skills/import/SKILL.md +538 -0
  74. package/plugins/codex-pbr/skills/milestone/SKILL.md +620 -0
  75. package/plugins/codex-pbr/skills/note/SKILL.md +215 -0
  76. package/plugins/codex-pbr/skills/pause/SKILL.md +258 -0
  77. package/plugins/codex-pbr/skills/plan/SKILL.md +650 -0
  78. package/plugins/codex-pbr/skills/quick/SKILL.md +417 -0
  79. package/plugins/codex-pbr/skills/resume/SKILL.md +403 -0
  80. package/plugins/codex-pbr/skills/review/SKILL.md +669 -0
  81. package/plugins/codex-pbr/skills/scan/SKILL.md +325 -0
  82. package/plugins/codex-pbr/skills/setup/SKILL.md +169 -0
  83. package/plugins/codex-pbr/skills/shared/commit-planning-docs.md +35 -0
  84. package/plugins/codex-pbr/skills/shared/config-loading.md +102 -0
  85. package/plugins/codex-pbr/skills/shared/context-budget.md +77 -0
  86. package/plugins/codex-pbr/skills/shared/context-loader-task.md +86 -0
  87. package/plugins/codex-pbr/skills/shared/digest-select.md +79 -0
  88. package/plugins/codex-pbr/skills/shared/domain-probes.md +125 -0
  89. package/plugins/codex-pbr/skills/shared/error-reporting.md +59 -0
  90. package/plugins/codex-pbr/skills/shared/gate-prompts.md +388 -0
  91. package/plugins/codex-pbr/skills/shared/phase-argument-parsing.md +45 -0
  92. package/plugins/codex-pbr/skills/shared/revision-loop.md +81 -0
  93. package/plugins/codex-pbr/skills/shared/state-update.md +169 -0
  94. package/plugins/codex-pbr/skills/shared/universal-anti-patterns.md +43 -0
  95. package/plugins/codex-pbr/skills/status/SKILL.md +449 -0
  96. package/plugins/codex-pbr/skills/statusline/SKILL.md +149 -0
  97. package/plugins/codex-pbr/skills/test/SKILL.md +210 -0
  98. package/plugins/codex-pbr/skills/todo/SKILL.md +281 -0
  99. package/plugins/codex-pbr/skills/undo/SKILL.md +172 -0
  100. package/plugins/codex-pbr/templates/CONTEXT.md.tmpl +52 -0
  101. package/plugins/codex-pbr/templates/INTEGRATION-REPORT.md.tmpl +167 -0
  102. package/plugins/codex-pbr/templates/RESEARCH-SUMMARY.md.tmpl +97 -0
  103. package/plugins/codex-pbr/templates/ROADMAP.md.tmpl +47 -0
  104. package/plugins/codex-pbr/templates/SUMMARY-complex.md.tmpl +95 -0
  105. package/plugins/codex-pbr/templates/SUMMARY-minimal.md.tmpl +48 -0
  106. package/plugins/codex-pbr/templates/SUMMARY.md.tmpl +81 -0
  107. package/plugins/codex-pbr/templates/VERIFICATION-DETAIL.md.tmpl +117 -0
  108. package/plugins/codex-pbr/templates/codebase/ARCHITECTURE.md.tmpl +98 -0
  109. package/plugins/codex-pbr/templates/codebase/CONCERNS.md.tmpl +93 -0
  110. package/plugins/codex-pbr/templates/codebase/CONVENTIONS.md.tmpl +104 -0
  111. package/plugins/codex-pbr/templates/codebase/INTEGRATIONS.md.tmpl +78 -0
  112. package/plugins/codex-pbr/templates/codebase/STACK.md.tmpl +78 -0
  113. package/plugins/codex-pbr/templates/codebase/STRUCTURE.md.tmpl +80 -0
  114. package/plugins/codex-pbr/templates/codebase/TESTING.md.tmpl +107 -0
  115. package/plugins/codex-pbr/templates/continue-here.md.tmpl +73 -0
  116. package/plugins/codex-pbr/templates/pr-body.md.tmpl +22 -0
  117. package/plugins/codex-pbr/templates/prompt-partials/phase-project-context.md.tmpl +37 -0
  118. package/plugins/codex-pbr/templates/research/ARCHITECTURE.md.tmpl +124 -0
  119. package/plugins/codex-pbr/templates/research/STACK.md.tmpl +71 -0
  120. package/plugins/codex-pbr/templates/research/SUMMARY.md.tmpl +112 -0
  121. package/plugins/codex-pbr/templates/research-outputs/phase-research.md.tmpl +81 -0
  122. package/plugins/codex-pbr/templates/research-outputs/project-research.md.tmpl +99 -0
  123. package/plugins/codex-pbr/templates/research-outputs/synthesis.md.tmpl +36 -0
  124. package/plugins/copilot-pbr/commands/setup.md +1 -1
  125. package/plugins/copilot-pbr/commands/undo.md +5 -0
  126. package/plugins/copilot-pbr/plugin.json +1 -1
  127. package/plugins/copilot-pbr/skills/begin/SKILL.md +170 -17
  128. package/plugins/copilot-pbr/skills/build/SKILL.md +73 -8
  129. package/plugins/copilot-pbr/skills/plan/SKILL.md +67 -17
  130. package/plugins/copilot-pbr/skills/review/SKILL.md +12 -1
  131. package/plugins/copilot-pbr/skills/setup/SKILL.md +66 -214
  132. package/plugins/copilot-pbr/skills/shared/context-budget.md +27 -0
  133. package/plugins/copilot-pbr/skills/status/SKILL.md +44 -2
  134. package/plugins/copilot-pbr/skills/undo/SKILL.md +172 -0
  135. package/plugins/cursor-pbr/.cursor-plugin/plugin.json +1 -1
  136. package/plugins/cursor-pbr/commands/setup.md +1 -1
  137. package/plugins/cursor-pbr/commands/undo.md +5 -0
  138. package/plugins/cursor-pbr/skills/begin/SKILL.md +170 -17
  139. package/plugins/cursor-pbr/skills/build/SKILL.md +73 -8
  140. package/plugins/cursor-pbr/skills/plan/SKILL.md +67 -17
  141. package/plugins/cursor-pbr/skills/review/SKILL.md +12 -1
  142. package/plugins/cursor-pbr/skills/setup/SKILL.md +66 -214
  143. package/plugins/cursor-pbr/skills/shared/context-budget.md +27 -0
  144. package/plugins/cursor-pbr/skills/status/SKILL.md +44 -2
  145. package/plugins/cursor-pbr/skills/undo/SKILL.md +173 -0
  146. package/plugins/jules-pbr/AGENTS.md +600 -0
  147. package/plugins/pbr/.claude-plugin/plugin.json +1 -1
  148. package/plugins/pbr/commands/setup.md +1 -1
  149. package/plugins/pbr/commands/undo.md +5 -0
  150. package/plugins/pbr/scripts/config-schema.json +5 -1
  151. package/plugins/pbr/scripts/lib/alternatives.js +203 -0
  152. package/plugins/pbr/scripts/lib/preview.js +174 -0
  153. package/plugins/pbr/scripts/lib/skill-section.js +99 -0
  154. package/plugins/pbr/scripts/lib/step-verify.js +149 -0
  155. package/plugins/pbr/scripts/pbr-tools.js +122 -2
  156. package/plugins/pbr/scripts/validate-commit.js +2 -2
  157. package/plugins/pbr/skills/begin/SKILL.md +170 -17
  158. package/plugins/pbr/skills/begin/templates/config.json.tmpl +5 -1
  159. package/plugins/pbr/skills/build/SKILL.md +73 -8
  160. package/plugins/pbr/skills/plan/SKILL.md +67 -17
  161. package/plugins/pbr/skills/review/SKILL.md +12 -1
  162. package/plugins/pbr/skills/setup/SKILL.md +66 -214
  163. package/plugins/pbr/skills/shared/context-budget.md +27 -0
  164. package/plugins/pbr/skills/status/SKILL.md +44 -2
  165. package/plugins/pbr/skills/undo/SKILL.md +174 -0
@@ -0,0 +1,444 @@
1
+ # Plan-Build-Run UI Brand & Formatting Reference
2
+
3
+ Consistent output formatting for all Plan-Build-Run skills. Every skill that produces user-facing output should follow these patterns.
4
+
5
+ ## Stage Banners
6
+
7
+ Use for major workflow transitions. Always use `PLAN-BUILD-RUN` prefix.
8
+
9
+ ```
10
+ ╔══════════════════════════════════════════════════════════════╗
11
+ ║ PLAN-BUILD-RUN ► {STAGE NAME} ║
12
+ ╚══════════════════════════════════════════════════════════════╝
13
+ ```
14
+
15
+ **Stage names (uppercase):**
16
+ - `QUESTIONING`
17
+ - `RESEARCHING`
18
+ - `DEFINING REQUIREMENTS`
19
+ - `CREATING ROADMAP`
20
+ - `PLANNING PHASE {N}`
21
+ - `EXECUTING WAVE {N}`
22
+ - `VERIFYING`
23
+ - `PHASE {N} COMPLETE ✓`
24
+ - `MILESTONE COMPLETE`
25
+ - `SCANNING CODEBASE`
26
+ - `DEBUGGING`
27
+
28
+ ---
29
+
30
+ ## Invocation Banners
31
+
32
+ **Every skill MUST display a branded banner as its very first output, BEFORE any file reads, state loading, or processing.** This is the user's immediate confirmation that their command was received.
33
+
34
+ Format:
35
+ ```
36
+ ╔══════════════════════════════════════════════════════════════╗
37
+ ║ PLAN-BUILD-RUN ► {SKILL NAME} ║
38
+ ╚══════════════════════════════════════════════════════════════╝
39
+ ```
40
+
41
+ **Skill names (uppercase):**
42
+ - `STARTING PROJECT` (begin)
43
+ - `PLANNING PHASE {N}` (plan)
44
+ - `BUILDING PHASE {N}` (build)
45
+ - `REVIEWING PHASE {N}` (review)
46
+ - `QUICK TASK` (quick)
47
+ - `NEXT STEP` (continue)
48
+ - `PROJECT STATUS` (status)
49
+ - `RESUMING SESSION` (resume)
50
+ - `PAUSING SESSION` (pause)
51
+ - `HEALTH CHECK` (health)
52
+ - `SETUP` (setup)
53
+ - `CONFIGURATION` (config)
54
+ - `COMMAND REFERENCE` (help)
55
+ - `DISCUSSION` (discuss)
56
+ - `EXPLORING` (explore)
57
+ - `NOTE` (note)
58
+ - `TODO` (todo)
59
+ - `DEBUGGING` (debug)
60
+ - `SCANNING CODEBASE` (scan)
61
+ - `MILESTONE` (milestone)
62
+ - `IMPORTING PLAN` (import)
63
+
64
+ **Rules:**
65
+ 1. The banner MUST be output BEFORE any tool calls (Read, Glob, Bash, Task)
66
+ 2. The banner MUST be the first text the user sees
67
+ 3. After the banner, optionally show a 1-line context summary (e.g., "Phase 3 of 7 — API Layer")
68
+ 4. Then proceed to Step 1 (state loading, argument parsing, etc.)
69
+
70
+ ---
71
+
72
+ ## Headers
73
+
74
+ Use these patterns for consistent visual hierarchy within sections:
75
+
76
+ ```
77
+ ## Phase 3: Authentication <- Phase-level header
78
+ ### Plan 01: Database Schema <- Plan-level header
79
+ #### Task 1: Create User Table <- Task-level header
80
+ ```
81
+
82
+ ---
83
+
84
+ ## Status Indicators
85
+
86
+ | Status | Indicator | Usage |
87
+ |--------|-----------|-------|
88
+ | Complete | `✓` | Completed items, passed checks |
89
+ | Failed | `✗` | Failed verification, missing items |
90
+ | Pending | `○` | Not yet started |
91
+ | In Progress | `◐` | Currently executing |
92
+ | Needs Human | `?` | Requires human verification |
93
+ | Warning | `⚠` | Warnings, non-blocking issues |
94
+ | Blocked | `⊘` | Blocked by dependency |
95
+ | Auto-approved | `⚡` | Automatically approved (gates) |
96
+
97
+ ---
98
+
99
+ ## Progress Display
100
+
101
+ **Phase/milestone level:**
102
+ ```
103
+ Progress: ████████░░ 80%
104
+ ```
105
+
106
+ **Phase progress (detailed):**
107
+ ```
108
+ Phase 3 of 5: Authentication
109
+ Progress: [████████░░░░░░░░░░░░] 40%
110
+ Plans: 2/5 complete
111
+ ```
112
+
113
+ **Build progress (wave tracking):**
114
+ ```
115
+ Wave 1: ✓ Plan 01, ✓ Plan 02
116
+ Wave 2: ◐ Plan 03 (executing)
117
+ Wave 3: ○ Plan 04
118
+ ```
119
+
120
+ **Task level:**
121
+ ```
122
+ Tasks: 2/4 complete
123
+ ```
124
+
125
+ ---
126
+
127
+ ## Spawning Indicators
128
+
129
+ Show when agents are being launched:
130
+
131
+ ```
132
+ ◐ Spawning executor...
133
+
134
+ ◐ Spawning 4 executors in parallel...
135
+ → Plan 01: Database Schema
136
+ → Plan 02: Auth Service
137
+ → Plan 03: API Routes
138
+ → Plan 04: Test Suite
139
+
140
+ ✓ Plan 01 complete (2m 14s)
141
+ ```
142
+
143
+ For research agents:
144
+ ```
145
+ ◐ Spawning 4 researchers in parallel...
146
+ → Stack research
147
+ → Features research
148
+ → Architecture research
149
+ → Pitfalls research
150
+
151
+ ✓ Researcher complete: STACK.md written
152
+ ```
153
+
154
+ ---
155
+
156
+ ## Checkpoint Boxes
157
+
158
+ User action required. Use double-line box drawing, 62-character inner width.
159
+
160
+ ```
161
+ ╔══════════════════════════════════════════════════════════════╗
162
+ ║ CHECKPOINT: {Type} ║
163
+ ╚══════════════════════════════════════════════════════════════╝
164
+
165
+ {Content}
166
+
167
+ → {ACTION PROMPT}
168
+ ```
169
+
170
+ **Types:**
171
+ - `CHECKPOINT: Verification Required` → `→ Type "approved" or describe issues`
172
+ - `CHECKPOINT: Decision Required` → `→ Select: option-a / option-b`
173
+ - `CHECKPOINT: Action Required` → `→ Type "done" when complete`
174
+
175
+ ---
176
+
177
+ ## AskUserQuestion Patterns
178
+
179
+ Structured prompts for user decision points. All gate checks use AskUserQuestion instead of
180
+ plain-text "Type approved" prompts. See `skills/shared/gate-prompts.md` for the full
181
+ pattern catalog (21 named AskUserQuestion patterns).
182
+
183
+ ### Structure
184
+
185
+ ```
186
+ AskUserQuestion:
187
+ question: "{contextual question}"
188
+ header: "{max 12 chars}"
189
+ options:
190
+ - label: "{Option 1}" description: "{What happens}"
191
+ - label: "{Option 2}" description: "{What happens}"
192
+ multiSelect: false
193
+ ```
194
+
195
+ ### Rules
196
+
197
+ - **Max 4 options** per call. Split into 2-step flow if more are needed.
198
+ - **Header max 12 characters.** Single word preferred (e.g., "Approve?", "Confirm", "Scope").
199
+ - **multiSelect: false** always. Plan-Build-Run gates require single selection.
200
+ - **Handle "Other"**: Users may type freeform text instead of selecting. Skills must handle this gracefully.
201
+ - **Orchestrator only**: AskUserQuestion cannot be called from subagents.
202
+
203
+ ### Common Patterns
204
+
205
+ **Approval gate** (approve-revise-abort):
206
+ ```
207
+ question: "Approve these plans?"
208
+ header: "Approve?"
209
+ options:
210
+ - label: "Approve" description: "Proceed with execution"
211
+ - label: "Request changes" description: "Discuss adjustments before proceeding"
212
+ - label: "Abort" description: "Cancel this operation"
213
+ ```
214
+
215
+ **Simple confirmation** (yes-no):
216
+ ```
217
+ question: "Re-plan this phase with gap context?"
218
+ header: "Confirm"
219
+ options:
220
+ - label: "Yes" description: "Create gap-closure plans"
221
+ - label: "No" description: "Skip re-planning"
222
+ ```
223
+
224
+ **Category selection** (settings-category-select):
225
+ ```
226
+ question: "What would you like to configure?"
227
+ header: "Configure"
228
+ options:
229
+ - label: "Depth" description: "quick/standard/comprehensive"
230
+ - label: "Model profile" description: "quality/balanced/budget/adaptive"
231
+ - label: "Features" description: "Toggle workflow features and gates"
232
+ - label: "Git settings" description: "branching strategy, commit mode"
233
+ ```
234
+
235
+ **Dynamic routing** (action-routing):
236
+ ```
237
+ question: "What would you like to do next?"
238
+ header: "Next Step"
239
+ options:
240
+ - label: "/pbr:build 3" description: "Execute phase 3 plans"
241
+ - label: "/pbr:review 2" description: "Verify phase 2 results"
242
+ - label: "Something else" description: "Enter a different command"
243
+ ```
244
+
245
+ ### When NOT to Use
246
+
247
+ Do not use AskUserQuestion for:
248
+ - Freeform text input (symptom descriptions, task descriptions, open questions)
249
+ - Socratic discussion (explore, discuss follow-ups)
250
+ - Situations with unbounded response space
251
+
252
+ Use plain conversational prompts for these cases instead.
253
+
254
+ ---
255
+
256
+ ## Next Up Block
257
+
258
+ Always present at end of major completions (phase complete, milestone complete, project init).
259
+
260
+ ```
261
+ ╔══════════════════════════════════════════════════════════════╗
262
+ ║ ▶ NEXT UP ║
263
+ ╚══════════════════════════════════════════════════════════════╝
264
+
265
+ **{Identifier}: {Name}** — {one-line description}
266
+
267
+ `{copy-paste command}`
268
+
269
+ <sub>`/clear` first → fresh context window</sub>
270
+ ```
271
+
272
+ **Also available:**
273
+ - `/pbr:alternative-1` — description
274
+ - `/pbr:alternative-2` — description
275
+
276
+ **Shorter routing (for minor completions):**
277
+ ```
278
+ What's next?
279
+ → /pbr:plan 4 — plan the next phase
280
+ → /pbr:review 3 — review what was just built
281
+ → /pbr:status — see full project status
282
+ ```
283
+
284
+ ---
285
+
286
+ ## Error Box
287
+
288
+ ```
289
+ ╔══════════════════════════════════════════════════════════════╗
290
+ ║ ERROR ║
291
+ ╚══════════════════════════════════════════════════════════════╝
292
+
293
+ {Error description}
294
+
295
+ **To fix:** {Resolution steps}
296
+ ```
297
+
298
+ ---
299
+
300
+ ## Tables
301
+
302
+ Use tables for structured data:
303
+
304
+ ```markdown
305
+ | Phase | Status | Plans | Progress |
306
+ |-------|--------|-------|----------|
307
+ | 1. Foundation | ✓ Complete | 3/3 | 100% |
308
+ | 2. Database | ✓ Complete | 2/2 | 100% |
309
+ | 3. Auth | ◐ Building | 1/3 | 33% |
310
+ | 4. Frontend | ○ Pending | 0/4 | 0% |
311
+ ```
312
+
313
+ ---
314
+
315
+ ## Cost/Token Warnings
316
+
317
+ ```
318
+ ⚠ Budget check: This operation will spawn 4 agents (~400k tokens)
319
+ Estimated: ~20% of 5-hour window
320
+ Continue? [/pbr:config to adjust depth first]
321
+ ```
322
+
323
+ ---
324
+
325
+ ## Completion Summary Templates
326
+
327
+ ### Phase Complete
328
+
329
+ ```
330
+ ╔══════════════════════════════════════════════════════════════╗
331
+ ║ PLAN-BUILD-RUN ► PHASE {N} COMPLETE ✓ ║
332
+ ╚══════════════════════════════════════════════════════════════╝
333
+
334
+ **Phase {N}: {Name}**
335
+
336
+ {X} plans executed
337
+ Goal verified ✓
338
+
339
+ ╔══════════════════════════════════════════════════════════════╗
340
+ ║ ▶ NEXT UP ║
341
+ ╚══════════════════════════════════════════════════════════════╝
342
+
343
+ **Phase {N+1}: {Name}** — {Goal from ROADMAP.md}
344
+
345
+ /pbr:discuss {N+1} — gather context and clarify approach
346
+
347
+ <sub>/clear first → fresh context window</sub>
348
+
349
+ **Also available:**
350
+ - /pbr:plan {N+1} — skip discussion, plan directly
351
+ - /pbr:review {N} — manual acceptance testing before continuing
352
+ ```
353
+
354
+ ### Milestone Complete
355
+
356
+ ```
357
+ ╔══════════════════════════════════════════════════════════════╗
358
+ ║ PLAN-BUILD-RUN ► MILESTONE COMPLETE ║
359
+ ╚══════════════════════════════════════════════════════════════╝
360
+
361
+ **{version}**
362
+
363
+ {N} phases completed
364
+ All phase goals verified ✓
365
+
366
+ ╔══════════════════════════════════════════════════════════════╗
367
+ ║ ▶ NEXT UP ║
368
+ ╚══════════════════════════════════════════════════════════════╝
369
+
370
+ **Audit milestone** — verify requirements, cross-phase integration, E2E flows
371
+
372
+ /pbr:milestone audit
373
+
374
+ <sub>/clear first → fresh context window</sub>
375
+
376
+ **Also available:**
377
+ - /pbr:review — manual acceptance testing
378
+ - /pbr:milestone complete — archive milestone after audit passes
379
+ ```
380
+
381
+ ### Gaps Found
382
+
383
+ ```
384
+ ╔══════════════════════════════════════════════════════════════╗
385
+ ║ PLAN-BUILD-RUN ► PHASE {N} GAPS FOUND ⚠ ║
386
+ ╚══════════════════════════════════════════════════════════════╝
387
+
388
+ **Phase {N}: {Name}**
389
+
390
+ Score: {X}/{Y} must-haves verified
391
+ Report: .planning/phases/{phase_dir}/VERIFICATION.md
392
+
393
+ ### What's Missing
394
+
395
+ {Extract gap summaries from VERIFICATION.md}
396
+
397
+ ╔══════════════════════════════════════════════════════════════╗
398
+ ║ ▶ NEXT UP ║
399
+ ╚══════════════════════════════════════════════════════════════╝
400
+
401
+ **Plan gap closure** — create additional plans to complete the phase
402
+
403
+ /pbr:plan {N} --gaps
404
+
405
+ <sub>/clear first → fresh context window</sub>
406
+
407
+ **Also available:**
408
+ - cat .planning/phases/{phase_dir}/VERIFICATION.md — see full report
409
+ - /pbr:review {N} — manual testing before planning
410
+ ```
411
+
412
+ ---
413
+
414
+ ## Session Banners
415
+
416
+ Use for session lifecycle transitions (pause/resume):
417
+
418
+ ```
419
+ ╔══════════════════════════════════════════════════════════════╗
420
+ ║ PLAN-BUILD-RUN ► SESSION RESTORED ✓ ║
421
+ ╚══════════════════════════════════════════════════════════════╝
422
+
423
+ Position: Phase {N} — {phase name}, Plan {M}
424
+ Paused: {ISO datetime}
425
+ Duration: {time since pause}
426
+
427
+ {Summary of where work left off}
428
+ ```
429
+
430
+ Other session banners: `SESSION SAVED ✓` (pause), `RESUMING SESSION` (resume start).
431
+
432
+ ---
433
+
434
+ ## Anti-Patterns
435
+
436
+ Do NOT:
437
+ - Use varying box/banner widths — always 62-character inner width
438
+ - Use `━━━` heavy bars or `───` thin dividers for banners/sections — use `╔═╗║╚═╝` boxes
439
+ - Mix banner styles (`===`, `---`, `***`) with double-line boxes
440
+ - Skip `PLAN-BUILD-RUN ►` prefix in stage banners
441
+ - Use random emoji (only for milestone complete, `✓` for phase complete)
442
+ - Skip the "Next Up" block after major completions
443
+ - Reference non-Plan-Build-Run commands (always use `/pbr:*` commands)
444
+ - Use non-Plan-Build-Run branding in banners
@@ -0,0 +1,95 @@
1
+ # Wave-Based Execution
2
+
3
+ How Plan-Build-Run parallelizes plan execution within a phase while respecting dependencies.
4
+
5
+ ---
6
+
7
+ ## What Are Waves?
8
+
9
+ Waves are dependency-based groupings of plans within a phase. Plans in the same wave have no dependencies on each other and can execute in parallel. Plans in later waves depend on earlier waves completing first.
10
+
11
+ ```
12
+ Wave 1: [plan-01, plan-02] (no dependencies, can run in parallel)
13
+ Wave 2: [plan-03] (depends on wave 1 plans)
14
+ Wave 3: [plan-04, plan-05] (depends on wave 2)
15
+ ```
16
+
17
+ ## How Wave Numbers Are Assigned
18
+
19
+ Wave numbers come from the `depends_on` field in each plan's YAML frontmatter:
20
+
21
+ ```yaml
22
+ ---
23
+ plan: "03-01"
24
+ wave: 1
25
+ depends_on: [] # No dependencies → Wave 1
26
+ ---
27
+ ```
28
+
29
+ ```yaml
30
+ ---
31
+ plan: "03-03"
32
+ wave: 2
33
+ depends_on: [03-01] # Depends on Wave 1 plan → Wave 2
34
+ ---
35
+ ```
36
+
37
+ **Rules**:
38
+ - Wave 1 plans must have `depends_on: []`
39
+ - Wave 2+ plans must depend only on plans from earlier waves
40
+ - No plan depends on a plan in the same wave (that would require sequential execution within the wave)
41
+
42
+ ## Execution Order
43
+
44
+ 1. All Wave 1 plans execute (in parallel if enabled)
45
+ 2. Wait for all Wave 1 plans to complete
46
+ 3. All Wave 2 plans execute (in parallel if enabled)
47
+ 4. Repeat until all waves complete
48
+
49
+ ## Parallelization Config
50
+
51
+ Controlled by `config.json`:
52
+
53
+ ```json
54
+ {
55
+ "parallelization": {
56
+ "enabled": true,
57
+ "plan_level": true,
58
+ "max_concurrent_agents": 3
59
+ }
60
+ }
61
+ ```
62
+
63
+ | Setting | Effect |
64
+ |---------|--------|
65
+ | `enabled: false` | All plans execute sequentially, regardless of wave |
66
+ | `plan_level: true` | Plans within a wave run in parallel |
67
+ | `max_concurrent_agents` | Cap on simultaneous executor agents (default: 3) |
68
+
69
+ When `enabled: false` or `plan_level: false`, plans execute one at a time within each wave, in plan ID order.
70
+
71
+ ## Git Lock Handling
72
+
73
+ When multiple executors run in parallel, git lock conflicts can occur. Executors handle this with a retry pattern:
74
+
75
+ ```bash
76
+ git commit -m "message" || (sleep 2 && git commit -m "message") || (sleep 2 && git commit -m "message")
77
+ ```
78
+
79
+ Maximum 3 attempts with 2-second delays between retries.
80
+
81
+ ## Checkpoint Manifest
82
+
83
+ The build skill tracks wave progress in `.checkpoint-manifest.json`:
84
+
85
+ ```json
86
+ {
87
+ "plans": ["03-01", "03-02", "03-03"],
88
+ "checkpoints_resolved": ["03-01", "03-02"],
89
+ "wave": 2,
90
+ "commit_log": [...],
91
+ "last_good_commit": "abc1234"
92
+ }
93
+ ```
94
+
95
+ On crash/resume, the manifest tells the build skill which plans are complete and which wave to resume from.