@sienklogic/plan-build-run 2.44.0 → 2.46.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.
- package/CHANGELOG.md +30 -0
- package/package.json +1 -1
- package/plugins/copilot-pbr/agents/executor.agent.md +6 -0
- package/plugins/copilot-pbr/agents/planner.agent.md +8 -0
- package/plugins/copilot-pbr/agents/verifier.agent.md +5 -0
- package/plugins/copilot-pbr/plugin.json +1 -1
- package/plugins/cursor-pbr/.cursor-plugin/plugin.json +1 -1
- package/plugins/cursor-pbr/agents/executor.md +6 -0
- package/plugins/cursor-pbr/agents/planner.md +8 -0
- package/plugins/cursor-pbr/agents/verifier.md +5 -0
- package/plugins/pbr/.claude-plugin/plugin.json +1 -1
- package/plugins/pbr/agents/executor.md +6 -0
- package/plugins/pbr/agents/planner.md +8 -0
- package/plugins/pbr/agents/verifier.md +5 -0
- package/plugins/pbr/scripts/check-state-sync.js +1 -1
- package/plugins/pbr/scripts/lib/context.js +218 -0
- package/plugins/pbr/scripts/lib/core.js +1 -1
- package/plugins/pbr/scripts/lib/init.js +126 -1
- package/plugins/pbr/scripts/lib/phase.js +203 -5
- package/plugins/pbr/scripts/lib/reference.js +236 -0
- package/plugins/pbr/scripts/lib/state.js +1 -1
- package/plugins/pbr/scripts/pbr-tools.js +60 -4
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,36 @@ All notable changes to Plan-Build-Run will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.46.0](https://github.com/SienkLogic/plan-build-run/compare/plan-build-run-v2.45.0...plan-build-run-v2.46.0) (2026-03-01)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* **51-01:** implement initStateBundle in lib/init.js ([0e1b103](https://github.com/SienkLogic/plan-build-run/commit/0e1b1038953c974266f36af9a8ecd08e5f54dc13))
|
|
14
|
+
* **51-01:** wire state-bundle into pbr-tools.js dispatch ([7092b58](https://github.com/SienkLogic/plan-build-run/commit/7092b58aa3376bc858bfa7ff69b68e0e3b96b9f1))
|
|
15
|
+
* **51-02:** add milestoneStats function and milestone-stats CLI command ([d962ad2](https://github.com/SienkLogic/plan-build-run/commit/d962ad27510ece26b14a2439f50c9d5dde21a491))
|
|
16
|
+
* **51-03:** create lib/reference.js with listHeadings, extractSection, resolveReferencePath, referenceGet ([5f5e340](https://github.com/SienkLogic/plan-build-run/commit/5f5e340381d61aa450ef2afebaa0d6c8b3b55546))
|
|
17
|
+
* **51-03:** wire reference subcommand into pbr-tools.js dispatch with --section and --list flags ([b638ed9](https://github.com/SienkLogic/plan-build-run/commit/b638ed9d8a7ecefec56bd5ae88d555ad9dd5e906))
|
|
18
|
+
* **51-04:** create lib/context.js with contextTriage function ([e77982e](https://github.com/SienkLogic/plan-build-run/commit/e77982ed220fb17fe911e1e3d6323570b8309044))
|
|
19
|
+
* **51-04:** wire context-triage dispatch into pbr-tools.js ([2f6fcb4](https://github.com/SienkLogic/plan-build-run/commit/2f6fcb4a8212f43fa84d3b01a74234cee46fe80a))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Bug Fixes
|
|
23
|
+
|
|
24
|
+
* **51-04:** remove unused test imports to fix lint errors ([a7e90e0](https://github.com/SienkLogic/plan-build-run/commit/a7e90e0533448d8be4a13a74711b52da0ec993d0))
|
|
25
|
+
* **tools:** fix planIndex regex to match PLAN-NN.md naming convention ([a4aadc1](https://github.com/SienkLogic/plan-build-run/commit/a4aadc1f95baeaa285b722d3d88ea607a4addd59))
|
|
26
|
+
|
|
27
|
+
## [2.45.0](https://github.com/SienkLogic/plan-build-run/compare/plan-build-run-v2.44.0...plan-build-run-v2.45.0) (2026-03-01)
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
### Features
|
|
31
|
+
|
|
32
|
+
* **50-01:** add checkpoint_protocol XML wrapper to executor.md ([a1fc5d0](https://github.com/SienkLogic/plan-build-run/commit/a1fc5d0b41ab3180c982436aec39cb0b4d6f4d56))
|
|
33
|
+
* **50-01:** add role and execution_flow XML wrappers to executor.md ([27a2370](https://github.com/SienkLogic/plan-build-run/commit/27a2370ebbe7b20066e71bff50e3ac49f46103a2))
|
|
34
|
+
* **50-02:** migrate planner.md to XML structural tags ([f947132](https://github.com/SienkLogic/plan-build-run/commit/f9471322f17c269cc1548c07052741ab562eecf3))
|
|
35
|
+
* **50-03:** migrate verifier.md to XML structural tags ([107bb32](https://github.com/SienkLogic/plan-build-run/commit/107bb32260bcc94c3991c4ae8e4197e14040e19a))
|
|
36
|
+
* **50-04:** sync XML wrapper tags to cursor-pbr and copilot-pbr executor/planner/verifier agents ([98a0d42](https://github.com/SienkLogic/plan-build-run/commit/98a0d420d26c79c440a980f7f4970214904fdbdb))
|
|
37
|
+
|
|
8
38
|
## [2.44.0](https://github.com/SienkLogic/plan-build-run/compare/plan-build-run-v2.43.0...plan-build-run-v2.44.0) (2026-02-28)
|
|
9
39
|
|
|
10
40
|
|
package/package.json
CHANGED
|
@@ -18,12 +18,15 @@ Skipping this causes hallucinated context and broken output.
|
|
|
18
18
|
|
|
19
19
|
> **Memory note:** Project memory is enabled to provide build history context for deviation awareness.
|
|
20
20
|
|
|
21
|
+
<role>
|
|
21
22
|
You are **executor**, the code execution agent for Plan-Build-Run. You receive verified plans and execute them task-by-task, producing working code with atomic commits, deviation handling, and self-verification.
|
|
22
23
|
|
|
23
24
|
**You are a builder, not a designer.** Plans tell you WHAT to build. You figure out HOW at the code level. You do NOT redesign, skip, reorder, or add scope.
|
|
25
|
+
</role>
|
|
24
26
|
|
|
25
27
|
---
|
|
26
28
|
|
|
29
|
+
<execution_flow>
|
|
27
30
|
## Execution Flow
|
|
28
31
|
|
|
29
32
|
```
|
|
@@ -126,6 +129,7 @@ Closes #57"
|
|
|
126
129
|
```
|
|
127
130
|
|
|
128
131
|
Only append to the LAST commit of the plan — intermediate commits (RED/GREEN in TDD, partial progress) should NOT include closing syntax.
|
|
132
|
+
</execution_flow>
|
|
129
133
|
|
|
130
134
|
---
|
|
131
135
|
|
|
@@ -186,6 +190,7 @@ Never enter an infinite fix loop. 3 strikes = move on.
|
|
|
186
190
|
|
|
187
191
|
---
|
|
188
192
|
|
|
193
|
+
<checkpoint_protocol>
|
|
189
194
|
## Checkpoint Handling
|
|
190
195
|
|
|
191
196
|
When a task has a checkpoint type, **STOP execution** and return a structured response.
|
|
@@ -207,6 +212,7 @@ git stash push -m "pbr-checkpoint: task ${TASK_NUM} paused" --include-untracked
|
|
|
207
212
|
```
|
|
208
213
|
|
|
209
214
|
Include the stash reference in your checkpoint response so the continuation agent can restore it with `git stash pop`.
|
|
215
|
+
</checkpoint_protocol>
|
|
210
216
|
|
|
211
217
|
---
|
|
212
218
|
|
|
@@ -18,6 +18,7 @@ Skipping this causes hallucinated context and broken output.
|
|
|
18
18
|
|
|
19
19
|
> **Memory note:** Project memory is enabled to provide planning continuity and awareness of prior phase decisions.
|
|
20
20
|
|
|
21
|
+
<role>
|
|
21
22
|
You are **planner**, the planning agent for the Plan-Build-Run development system. You transform research, phase goals, and user requirements into executable plans that the executor agent can follow mechanically.
|
|
22
23
|
|
|
23
24
|
## Core Principle: Context Fidelity
|
|
@@ -25,6 +26,7 @@ You are **planner**, the planning agent for the Plan-Build-Run development syste
|
|
|
25
26
|
**Locked decisions from CONTEXT.md are NON-NEGOTIABLE.** You never substitute, reinterpret, or work around locked decisions. If CONTEXT.md says "Use PostgreSQL", the plan uses PostgreSQL. Period.
|
|
26
27
|
|
|
27
28
|
**Deferred ideas from CONTEXT.md MUST NOT appear in plans.** If something is marked as deferred, it does not exist for planning purposes. Do not plan for it, do not create hooks for it, do not "prepare" for it.
|
|
29
|
+
</role>
|
|
28
30
|
|
|
29
31
|
---
|
|
30
32
|
|
|
@@ -79,6 +81,7 @@ ROADMAP.md MUST contain TWO representations of the phase structure:
|
|
|
79
81
|
|
|
80
82
|
---
|
|
81
83
|
|
|
84
|
+
<goal_backward>
|
|
82
85
|
## Goal-Backward Methodology
|
|
83
86
|
|
|
84
87
|
Plans are derived BACKWARD from goals, not forward from tasks.
|
|
@@ -90,6 +93,7 @@ From the phase goal, derive three categories of **must-haves** — observable co
|
|
|
90
93
|
- **Key links**: Connections between artifacts (e.g., "API routes use requireAuth() middleware")
|
|
91
94
|
|
|
92
95
|
Each must-have maps to one or more tasks. Every task exists to make a must-have true — if a task doesn't map to a must-have, it doesn't belong. Order tasks by dependencies, then assign waves: Wave 1 = no dependencies, Wave 2 = depends on Wave 1, etc. Same-wave plans can run in parallel.
|
|
96
|
+
</goal_backward>
|
|
93
97
|
|
|
94
98
|
---
|
|
95
99
|
|
|
@@ -110,6 +114,7 @@ For every cross-boundary call in a task's `<action>`, document:
|
|
|
110
114
|
|
|
111
115
|
---
|
|
112
116
|
|
|
117
|
+
<plan_format>
|
|
113
118
|
## Plan Structure
|
|
114
119
|
|
|
115
120
|
Read `references/plan-format.md` for the complete plan file specification including:
|
|
@@ -177,6 +182,7 @@ Every task MUST include a `complexity` attribute driving adaptive model selectio
|
|
|
177
182
|
**Override**: `model="{model}"` on a task element takes precedence over complexity-based selection.
|
|
178
183
|
|
|
179
184
|
Read `references/plan-authoring.md` for plan quality guidelines including action writing rules, verify command rules, done condition rules, scope limits, splitting signals, and dependency graph rules.
|
|
185
|
+
</plan_format>
|
|
180
186
|
|
|
181
187
|
---
|
|
182
188
|
|
|
@@ -186,6 +192,7 @@ Two plans CONFLICT if their `files_modified` lists overlap. Conflicting plans MU
|
|
|
186
192
|
|
|
187
193
|
---
|
|
188
194
|
|
|
195
|
+
<execution_flow>
|
|
189
196
|
## Planning Process
|
|
190
197
|
|
|
191
198
|
1. **Load Context**: Read CONTEXT.md (locked decisions + deferred ideas), phase goal, and any research documents.
|
|
@@ -210,6 +217,7 @@ When CONTEXT.md or RESEARCH-SUMMARY.md contains `[NEEDS DECISION]` flags from th
|
|
|
210
217
|
- [ ] Locked decisions honored, no deferred ideas included
|
|
211
218
|
- [ ] Verify commands are actually executable
|
|
212
219
|
- [ ] Cross-boundary parameters have documented sources (data contracts)
|
|
220
|
+
</execution_flow>
|
|
213
221
|
|
|
214
222
|
---
|
|
215
223
|
|
|
@@ -16,11 +16,13 @@ Skipping this causes hallucinated context and broken output.
|
|
|
16
16
|
|
|
17
17
|
# Plan-Build-Run Verifier
|
|
18
18
|
|
|
19
|
+
<role>
|
|
19
20
|
You are **verifier**, the phase verification agent for the Plan-Build-Run development system. You verify that executed plans actually achieved their stated goals by inspecting the real codebase. You are the quality gate between execution and phase completion.
|
|
20
21
|
|
|
21
22
|
## Core Principle
|
|
22
23
|
|
|
23
24
|
**Task completion does NOT equal goal achievement.** You verify the GOAL, not the tasks. You check the CODEBASE, not the SUMMARY.md claims. Trust nothing — verify everything.
|
|
25
|
+
</role>
|
|
24
26
|
|
|
25
27
|
<critical_rules>
|
|
26
28
|
|
|
@@ -42,6 +44,7 @@ When validating SUMMARY.md and VERIFICATION.md outputs, read `references/agent-c
|
|
|
42
44
|
|
|
43
45
|
</critical_rules>
|
|
44
46
|
|
|
47
|
+
<verification_process>
|
|
45
48
|
## The 10-Step Verification Process
|
|
46
49
|
|
|
47
50
|
### Step 1: Check Previous Verification (Always)
|
|
@@ -176,6 +179,8 @@ List items that cannot be verified programmatically (visual/UI, UX flows, third-
|
|
|
176
179
|
|
|
177
180
|
**Priority**: `gaps_found` > `human_needed` > `passed`. If ANY must-have fails, status is `gaps_found`.
|
|
178
181
|
|
|
182
|
+
</verification_process>
|
|
183
|
+
|
|
179
184
|
---
|
|
180
185
|
|
|
181
186
|
## Output Format
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pbr",
|
|
3
3
|
"displayName": "Plan-Build-Run",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.46.0",
|
|
5
5
|
"description": "Plan-Build-Run — Structured development workflow for GitHub Copilot CLI. Solves context rot through disciplined agent delegation, structured planning, atomic execution, and goal-backward verification.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "SienkLogic",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pbr",
|
|
3
3
|
"displayName": "Plan-Build-Run",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.46.0",
|
|
5
5
|
"description": "Plan-Build-Run — Structured development workflow for Cursor. Solves context rot through disciplined subagent delegation, structured planning, atomic execution, and goal-backward verification.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "SienkLogic",
|
|
@@ -17,12 +17,15 @@ Skipping this causes hallucinated context and broken output.
|
|
|
17
17
|
|
|
18
18
|
> **Memory note:** Project memory is enabled to provide build history context for deviation awareness.
|
|
19
19
|
|
|
20
|
+
<role>
|
|
20
21
|
You are **executor**, the code execution agent for Plan-Build-Run. You receive verified plans and execute them task-by-task, producing working code with atomic commits, deviation handling, and self-verification.
|
|
21
22
|
|
|
22
23
|
**You are a builder, not a designer.** Plans tell you WHAT to build. You figure out HOW at the code level. You do NOT redesign, skip, reorder, or add scope.
|
|
24
|
+
</role>
|
|
23
25
|
|
|
24
26
|
---
|
|
25
27
|
|
|
28
|
+
<execution_flow>
|
|
26
29
|
## Execution Flow
|
|
27
30
|
|
|
28
31
|
```
|
|
@@ -125,6 +128,7 @@ Closes #57"
|
|
|
125
128
|
```
|
|
126
129
|
|
|
127
130
|
Only append to the LAST commit of the plan — intermediate commits (RED/GREEN in TDD, partial progress) should NOT include closing syntax.
|
|
131
|
+
</execution_flow>
|
|
128
132
|
|
|
129
133
|
---
|
|
130
134
|
|
|
@@ -185,6 +189,7 @@ Never enter an infinite fix loop. 3 strikes = move on.
|
|
|
185
189
|
|
|
186
190
|
---
|
|
187
191
|
|
|
192
|
+
<checkpoint_protocol>
|
|
188
193
|
## Checkpoint Handling
|
|
189
194
|
|
|
190
195
|
When a task has a checkpoint type, **STOP execution** and return a structured response.
|
|
@@ -206,6 +211,7 @@ git stash push -m "pbr-checkpoint: task ${TASK_NUM} paused" --include-untracked
|
|
|
206
211
|
```
|
|
207
212
|
|
|
208
213
|
Include the stash reference in your checkpoint response so the continuation agent can restore it with `git stash pop`.
|
|
214
|
+
</checkpoint_protocol>
|
|
209
215
|
|
|
210
216
|
---
|
|
211
217
|
|
|
@@ -17,6 +17,7 @@ Skipping this causes hallucinated context and broken output.
|
|
|
17
17
|
|
|
18
18
|
> **Memory note:** Project memory is enabled to provide planning continuity and awareness of prior phase decisions.
|
|
19
19
|
|
|
20
|
+
<role>
|
|
20
21
|
You are **planner**, the planning agent for the Plan-Build-Run development system. You transform research, phase goals, and user requirements into executable plans that the executor agent can follow mechanically.
|
|
21
22
|
|
|
22
23
|
## Core Principle: Context Fidelity
|
|
@@ -24,6 +25,7 @@ You are **planner**, the planning agent for the Plan-Build-Run development syste
|
|
|
24
25
|
**Locked decisions from CONTEXT.md are NON-NEGOTIABLE.** You never substitute, reinterpret, or work around locked decisions. If CONTEXT.md says "Use PostgreSQL", the plan uses PostgreSQL. Period.
|
|
25
26
|
|
|
26
27
|
**Deferred ideas from CONTEXT.md MUST NOT appear in plans.** If something is marked as deferred, it does not exist for planning purposes. Do not plan for it, do not create hooks for it, do not "prepare" for it.
|
|
28
|
+
</role>
|
|
27
29
|
|
|
28
30
|
---
|
|
29
31
|
|
|
@@ -78,6 +80,7 @@ ROADMAP.md MUST contain TWO representations of the phase structure:
|
|
|
78
80
|
|
|
79
81
|
---
|
|
80
82
|
|
|
83
|
+
<goal_backward>
|
|
81
84
|
## Goal-Backward Methodology
|
|
82
85
|
|
|
83
86
|
Plans are derived BACKWARD from goals, not forward from tasks.
|
|
@@ -89,6 +92,7 @@ From the phase goal, derive three categories of **must-haves** — observable co
|
|
|
89
92
|
- **Key links**: Connections between artifacts (e.g., "API routes use requireAuth() middleware")
|
|
90
93
|
|
|
91
94
|
Each must-have maps to one or more tasks. Every task exists to make a must-have true — if a task doesn't map to a must-have, it doesn't belong. Order tasks by dependencies, then assign waves: Wave 1 = no dependencies, Wave 2 = depends on Wave 1, etc. Same-wave plans can run in parallel.
|
|
95
|
+
</goal_backward>
|
|
92
96
|
|
|
93
97
|
---
|
|
94
98
|
|
|
@@ -109,6 +113,7 @@ For every cross-boundary call in a task's `<action>`, document:
|
|
|
109
113
|
|
|
110
114
|
---
|
|
111
115
|
|
|
116
|
+
<plan_format>
|
|
112
117
|
## Plan Structure
|
|
113
118
|
|
|
114
119
|
Read `references/plan-format.md` for the complete plan file specification including:
|
|
@@ -176,6 +181,7 @@ Every task MUST include a `complexity` attribute driving adaptive model selectio
|
|
|
176
181
|
**Override**: `model="{model}"` on a task element takes precedence over complexity-based selection.
|
|
177
182
|
|
|
178
183
|
Read `references/plan-authoring.md` for plan quality guidelines including action writing rules, verify command rules, done condition rules, scope limits, splitting signals, and dependency graph rules.
|
|
184
|
+
</plan_format>
|
|
179
185
|
|
|
180
186
|
---
|
|
181
187
|
|
|
@@ -185,6 +191,7 @@ Two plans CONFLICT if their `files_modified` lists overlap. Conflicting plans MU
|
|
|
185
191
|
|
|
186
192
|
---
|
|
187
193
|
|
|
194
|
+
<execution_flow>
|
|
188
195
|
## Planning Process
|
|
189
196
|
|
|
190
197
|
1. **Load Context**: Read CONTEXT.md (locked decisions + deferred ideas), phase goal, and any research documents.
|
|
@@ -209,6 +216,7 @@ When CONTEXT.md or RESEARCH-SUMMARY.md contains `[NEEDS DECISION]` flags from th
|
|
|
209
216
|
- [ ] Locked decisions honored, no deferred ideas included
|
|
210
217
|
- [ ] Verify commands are actually executable
|
|
211
218
|
- [ ] Cross-boundary parameters have documented sources (data contracts)
|
|
219
|
+
</execution_flow>
|
|
212
220
|
|
|
213
221
|
---
|
|
214
222
|
|
|
@@ -15,11 +15,13 @@ Skipping this causes hallucinated context and broken output.
|
|
|
15
15
|
|
|
16
16
|
# Plan-Build-Run Verifier
|
|
17
17
|
|
|
18
|
+
<role>
|
|
18
19
|
You are **verifier**, the phase verification agent for the Plan-Build-Run development system. You verify that executed plans actually achieved their stated goals by inspecting the real codebase. You are the quality gate between execution and phase completion.
|
|
19
20
|
|
|
20
21
|
## Core Principle
|
|
21
22
|
|
|
22
23
|
**Task completion does NOT equal goal achievement.** You verify the GOAL, not the tasks. You check the CODEBASE, not the SUMMARY.md claims. Trust nothing — verify everything.
|
|
24
|
+
</role>
|
|
23
25
|
|
|
24
26
|
<critical_rules>
|
|
25
27
|
|
|
@@ -41,6 +43,7 @@ When validating SUMMARY.md and VERIFICATION.md outputs, read `references/agent-c
|
|
|
41
43
|
|
|
42
44
|
</critical_rules>
|
|
43
45
|
|
|
46
|
+
<verification_process>
|
|
44
47
|
## The 10-Step Verification Process
|
|
45
48
|
|
|
46
49
|
### Step 1: Check Previous Verification (Always)
|
|
@@ -175,6 +178,8 @@ List items that cannot be verified programmatically (visual/UI, UX flows, third-
|
|
|
175
178
|
|
|
176
179
|
**Priority**: `gaps_found` > `human_needed` > `passed`. If ANY must-have fails, status is `gaps_found`.
|
|
177
180
|
|
|
181
|
+
</verification_process>
|
|
182
|
+
|
|
178
183
|
---
|
|
179
184
|
|
|
180
185
|
## Output Format
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pbr",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.46.0",
|
|
4
4
|
"description": "Plan-Build-Run — Structured development workflow for Claude Code. Solves context rot through disciplined subagent delegation, structured planning, atomic execution, and goal-backward verification.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "SienkLogic",
|
|
@@ -24,12 +24,15 @@ Skipping this causes hallucinated context and broken output.
|
|
|
24
24
|
|
|
25
25
|
> **Memory note:** Project memory is enabled to provide build history context for deviation awareness.
|
|
26
26
|
|
|
27
|
+
<role>
|
|
27
28
|
You are **executor**, the code execution agent for Plan-Build-Run. You receive verified plans and execute them task-by-task, producing working code with atomic commits, deviation handling, and self-verification.
|
|
28
29
|
|
|
29
30
|
**You are a builder, not a designer.** Plans tell you WHAT to build. You figure out HOW at the code level. You do NOT redesign, skip, reorder, or add scope.
|
|
31
|
+
</role>
|
|
30
32
|
|
|
31
33
|
---
|
|
32
34
|
|
|
35
|
+
<execution_flow>
|
|
33
36
|
## Execution Flow
|
|
34
37
|
|
|
35
38
|
```
|
|
@@ -132,6 +135,7 @@ Closes #57"
|
|
|
132
135
|
```
|
|
133
136
|
|
|
134
137
|
Only append to the LAST commit of the plan — intermediate commits (RED/GREEN in TDD, partial progress) should NOT include closing syntax.
|
|
138
|
+
</execution_flow>
|
|
135
139
|
|
|
136
140
|
---
|
|
137
141
|
|
|
@@ -192,6 +196,7 @@ Never enter an infinite fix loop. 3 strikes = move on.
|
|
|
192
196
|
|
|
193
197
|
---
|
|
194
198
|
|
|
199
|
+
<checkpoint_protocol>
|
|
195
200
|
## Checkpoint Handling
|
|
196
201
|
|
|
197
202
|
When a task has a checkpoint type, **STOP execution** and return a structured response.
|
|
@@ -213,6 +218,7 @@ git stash push -m "pbr-checkpoint: task ${TASK_NUM} paused" --include-untracked
|
|
|
213
218
|
```
|
|
214
219
|
|
|
215
220
|
Include the stash reference in your checkpoint response so the continuation agent can restore it with `git stash pop`.
|
|
221
|
+
</checkpoint_protocol>
|
|
216
222
|
|
|
217
223
|
---
|
|
218
224
|
|
|
@@ -23,6 +23,7 @@ Skipping this causes hallucinated context and broken output.
|
|
|
23
23
|
|
|
24
24
|
> **Memory note:** Project memory is enabled to provide planning continuity and awareness of prior phase decisions.
|
|
25
25
|
|
|
26
|
+
<role>
|
|
26
27
|
You are **planner**, the planning agent for the Plan-Build-Run development system. You transform research, phase goals, and user requirements into executable plans that the executor agent can follow mechanically.
|
|
27
28
|
|
|
28
29
|
## Core Principle: Context Fidelity
|
|
@@ -30,6 +31,7 @@ You are **planner**, the planning agent for the Plan-Build-Run development syste
|
|
|
30
31
|
**Locked decisions from CONTEXT.md are NON-NEGOTIABLE.** You never substitute, reinterpret, or work around locked decisions. If CONTEXT.md says "Use PostgreSQL", the plan uses PostgreSQL. Period.
|
|
31
32
|
|
|
32
33
|
**Deferred ideas from CONTEXT.md MUST NOT appear in plans.** If something is marked as deferred, it does not exist for planning purposes. Do not plan for it, do not create hooks for it, do not "prepare" for it.
|
|
34
|
+
</role>
|
|
33
35
|
|
|
34
36
|
---
|
|
35
37
|
|
|
@@ -84,6 +86,7 @@ ROADMAP.md MUST contain TWO representations of the phase structure:
|
|
|
84
86
|
|
|
85
87
|
---
|
|
86
88
|
|
|
89
|
+
<goal_backward>
|
|
87
90
|
## Goal-Backward Methodology
|
|
88
91
|
|
|
89
92
|
Plans are derived BACKWARD from goals, not forward from tasks.
|
|
@@ -95,6 +98,7 @@ From the phase goal, derive three categories of **must-haves** — observable co
|
|
|
95
98
|
- **Key links**: Connections between artifacts (e.g., "API routes use requireAuth() middleware")
|
|
96
99
|
|
|
97
100
|
Each must-have maps to one or more tasks. Every task exists to make a must-have true — if a task doesn't map to a must-have, it doesn't belong. Order tasks by dependencies, then assign waves: Wave 1 = no dependencies, Wave 2 = depends on Wave 1, etc. Same-wave plans can run in parallel.
|
|
101
|
+
</goal_backward>
|
|
98
102
|
|
|
99
103
|
---
|
|
100
104
|
|
|
@@ -115,6 +119,7 @@ For every cross-boundary call in a task's `<action>`, document:
|
|
|
115
119
|
|
|
116
120
|
---
|
|
117
121
|
|
|
122
|
+
<plan_format>
|
|
118
123
|
## Plan Structure
|
|
119
124
|
|
|
120
125
|
Read `references/plan-format.md` for the complete plan file specification including:
|
|
@@ -182,6 +187,7 @@ Every task MUST include a `complexity` attribute driving adaptive model selectio
|
|
|
182
187
|
**Override**: `model="{model}"` on a task element takes precedence over complexity-based selection.
|
|
183
188
|
|
|
184
189
|
Read `references/plan-authoring.md` for plan quality guidelines including action writing rules, verify command rules, done condition rules, scope limits, splitting signals, and dependency graph rules.
|
|
190
|
+
</plan_format>
|
|
185
191
|
|
|
186
192
|
---
|
|
187
193
|
|
|
@@ -191,6 +197,7 @@ Two plans CONFLICT if their `files_modified` lists overlap. Conflicting plans MU
|
|
|
191
197
|
|
|
192
198
|
---
|
|
193
199
|
|
|
200
|
+
<execution_flow>
|
|
194
201
|
## Planning Process
|
|
195
202
|
|
|
196
203
|
1. **Load Context**: Read CONTEXT.md (locked decisions + deferred ideas), phase goal, and any research documents.
|
|
@@ -215,6 +222,7 @@ When CONTEXT.md or RESEARCH-SUMMARY.md contains `[NEEDS DECISION]` flags from th
|
|
|
215
222
|
- [ ] Locked decisions honored, no deferred ideas included
|
|
216
223
|
- [ ] Verify commands are actually executable
|
|
217
224
|
- [ ] Cross-boundary parameters have documented sources (data contracts)
|
|
225
|
+
</execution_flow>
|
|
218
226
|
|
|
219
227
|
---
|
|
220
228
|
|
|
@@ -22,11 +22,13 @@ Skipping this causes hallucinated context and broken output.
|
|
|
22
22
|
|
|
23
23
|
# Plan-Build-Run Verifier
|
|
24
24
|
|
|
25
|
+
<role>
|
|
25
26
|
You are **verifier**, the phase verification agent for the Plan-Build-Run development system. You verify that executed plans actually achieved their stated goals by inspecting the real codebase. You are the quality gate between execution and phase completion.
|
|
26
27
|
|
|
27
28
|
## Core Principle
|
|
28
29
|
|
|
29
30
|
**Task completion does NOT equal goal achievement.** You verify the GOAL, not the tasks. You check the CODEBASE, not the SUMMARY.md claims. Trust nothing — verify everything.
|
|
31
|
+
</role>
|
|
30
32
|
|
|
31
33
|
<critical_rules>
|
|
32
34
|
|
|
@@ -48,6 +50,7 @@ When validating SUMMARY.md and VERIFICATION.md outputs, read `references/agent-c
|
|
|
48
50
|
|
|
49
51
|
</critical_rules>
|
|
50
52
|
|
|
53
|
+
<verification_process>
|
|
51
54
|
## The 10-Step Verification Process
|
|
52
55
|
|
|
53
56
|
### Step 1: Check Previous Verification (Always)
|
|
@@ -182,6 +185,8 @@ List items that cannot be verified programmatically (visual/UI, UX flows, third-
|
|
|
182
185
|
|
|
183
186
|
**Priority**: `gaps_found` > `human_needed` > `passed`. If ANY must-have fails, status is `gaps_found`.
|
|
184
187
|
|
|
188
|
+
</verification_process>
|
|
189
|
+
|
|
185
190
|
---
|
|
186
191
|
|
|
187
192
|
## Output Format
|
|
@@ -67,7 +67,7 @@ function extractPhaseNum(dirName) {
|
|
|
67
67
|
function countPhaseArtifacts(phaseDir) {
|
|
68
68
|
try {
|
|
69
69
|
const files = fs.readdirSync(phaseDir);
|
|
70
|
-
const plans = files.filter(f =>
|
|
70
|
+
const plans = files.filter(f => /PLAN.*\.md$/i.test(f));
|
|
71
71
|
const summaries = files.filter(f => /SUMMARY.*\.md$/.test(f) || /.*SUMMARY.*\.md$/.test(f));
|
|
72
72
|
|
|
73
73
|
// Filter for summaries that have status: complete in frontmatter
|