@sienklogic/plan-build-run 2.22.0 → 2.22.1
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 +7 -0
- package/package.json +1 -1
- package/plugins/copilot-pbr/hooks/hooks.json +0 -12
- package/plugins/copilot-pbr/plugin.json +1 -1
- package/plugins/copilot-pbr/skills/begin/SKILL.md +2 -41
- package/plugins/copilot-pbr/skills/build/SKILL.md +4 -84
- package/plugins/copilot-pbr/skills/config/SKILL.md +1 -1
- package/plugins/copilot-pbr/skills/help/SKILL.md +17 -0
- package/plugins/copilot-pbr/skills/review/SKILL.md +4 -96
- package/plugins/cursor-pbr/.cursor-plugin/plugin.json +1 -1
- package/plugins/cursor-pbr/hooks/hooks.json +0 -10
- package/plugins/cursor-pbr/skills/begin/SKILL.md +2 -41
- package/plugins/cursor-pbr/skills/build/SKILL.md +4 -84
- package/plugins/cursor-pbr/skills/config/SKILL.md +1 -1
- package/plugins/cursor-pbr/skills/help/SKILL.md +17 -0
- package/plugins/cursor-pbr/skills/review/SKILL.md +4 -96
- package/plugins/pbr/.claude-plugin/plugin.json +1 -1
- package/plugins/pbr/hooks/hooks.json +0 -10
- package/plugins/pbr/scripts/check-cross-plugin-sync.js +1 -1
- package/plugins/pbr/scripts/check-phase-boundary.js +2 -2
- package/plugins/pbr/scripts/check-roadmap-sync.js +1 -1
- package/plugins/pbr/scripts/check-subagent-output.js +1 -1
- package/plugins/pbr/scripts/log-tool-failure.js +1 -1
- package/plugins/pbr/scripts/post-write-dispatch.js +8 -0
- package/plugins/pbr/scripts/pre-bash-dispatch.js +2 -2
- package/plugins/pbr/scripts/validate-task.js +1 -1
- package/plugins/pbr/skills/begin/SKILL.md +2 -44
- package/plugins/pbr/skills/build/SKILL.md +4 -99
- package/plugins/pbr/skills/config/SKILL.md +1 -1
- package/plugins/pbr/skills/help/SKILL.md +17 -0
- package/plugins/pbr/skills/review/SKILL.md +4 -102
- package/plugins/copilot-pbr/references/agent-interactions.md +0 -135
- package/plugins/copilot-pbr/references/planning-config.md +0 -214
- package/plugins/copilot-pbr/references/subagent-coordination.md +0 -120
- package/plugins/copilot-pbr/skills/shared/error-recovery-strategies.md +0 -51
- package/plugins/copilot-pbr/skills/shared/error-reporting.md +0 -81
- package/plugins/copilot-pbr/skills/shared/progress-display.md +0 -53
- package/plugins/copilot-pbr/skills/shared/state-loading.md +0 -63
- package/plugins/cursor-pbr/references/agent-interactions.md +0 -135
- package/plugins/cursor-pbr/references/planning-config.md +0 -214
- package/plugins/cursor-pbr/references/subagent-coordination.md +0 -120
- package/plugins/cursor-pbr/skills/shared/error-recovery-strategies.md +0 -51
- package/plugins/cursor-pbr/skills/shared/error-reporting.md +0 -81
- package/plugins/cursor-pbr/skills/shared/progress-display.md +0 -53
- package/plugins/cursor-pbr/skills/shared/state-loading.md +0 -63
- package/plugins/pbr/references/agent-interactions.md +0 -134
- package/plugins/pbr/references/planning-config.md +0 -213
- package/plugins/pbr/references/subagent-coordination.md +0 -119
- package/plugins/pbr/skills/shared/error-recovery-strategies.md +0 -51
- package/plugins/pbr/skills/shared/error-reporting.md +0 -81
- package/plugins/pbr/skills/shared/progress-display.md +0 -53
- package/plugins/pbr/skills/shared/state-loading.md +0 -62
|
@@ -24,16 +24,6 @@
|
|
|
24
24
|
}
|
|
25
25
|
]
|
|
26
26
|
},
|
|
27
|
-
{
|
|
28
|
-
"matcher": "Write|Edit",
|
|
29
|
-
"hooks": [
|
|
30
|
-
{
|
|
31
|
-
"type": "command",
|
|
32
|
-
"command": "node -e \"var r=process.env.CLAUDE_PLUGIN_ROOT||'',m=r.match(/^\\/([a-zA-Z])\\/(.*)/);if(m)r=m[1]+String.fromCharCode(58)+String.fromCharCode(92)+m[2];require(require('path').resolve(r,'scripts','run-hook.js'))\" post-write-quality.js",
|
|
33
|
-
"statusMessage": "Running quality checks..."
|
|
34
|
-
}
|
|
35
|
-
]
|
|
36
|
-
},
|
|
37
27
|
{
|
|
38
28
|
"matcher": "Task",
|
|
39
29
|
"hooks": [
|
|
@@ -65,7 +65,7 @@ function checkCrossPluginSync(data) {
|
|
|
65
65
|
return null;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
const msg = `Advisory
|
|
68
|
+
const msg = `[Advisory] Cross-plugin sync required. These pbr files were changed without matching cursor-pbr/copilot-pbr updates:\n${missingCounterparts.map(f => ` - ${f}`).join('\n')}\nTo fix: copy each changed file to the matching path in plugins/cursor-pbr/ and plugins/copilot-pbr/, applying plugin-specific adjustments. Run: npm test -- tests/cross-plugin-compat.test.js to verify.`;
|
|
69
69
|
logHook('check-cross-plugin-sync', 'PreToolUse', 'warn', { missingCounterparts });
|
|
70
70
|
|
|
71
71
|
return { additionalContext: msg };
|
|
@@ -102,7 +102,7 @@ function main() {
|
|
|
102
102
|
process.exit(2);
|
|
103
103
|
} else {
|
|
104
104
|
const output = {
|
|
105
|
-
additionalContext: `
|
|
105
|
+
additionalContext: `[Advisory] Cross-phase edit: modifying phase ${filePhase} file while current phase is ${currentPhase}. If unintentional: check STATE.md to confirm correct phase. If intentional (e.g. backfilling docs): no action needed. To suppress: set safety.enforce_phase_boundaries: false in config.json.`
|
|
106
106
|
};
|
|
107
107
|
process.stdout.write(JSON.stringify(output));
|
|
108
108
|
}
|
|
@@ -181,7 +181,7 @@ function checkBoundary(data) {
|
|
|
181
181
|
return {
|
|
182
182
|
exitCode: 0,
|
|
183
183
|
output: {
|
|
184
|
-
additionalContext: `
|
|
184
|
+
additionalContext: `[Advisory] Cross-phase edit: modifying phase ${filePhase} file while current phase is ${currentPhase}. If unintentional: check STATE.md to confirm correct phase. If intentional (e.g. backfilling docs): no action needed. To suppress: set safety.enforce_phase_boundaries: false in config.json.`
|
|
185
185
|
}
|
|
186
186
|
};
|
|
187
187
|
}
|
|
@@ -121,7 +121,7 @@ function main() {
|
|
|
121
121
|
if (!stateInfo || !stateInfo.phase || !stateInfo.status) {
|
|
122
122
|
logHook('check-roadmap-sync', 'PostToolUse', 'skip', { reason: 'could not parse STATE.md' });
|
|
123
123
|
const output = {
|
|
124
|
-
additionalContext: '[Roadmap Sync] Could not parse
|
|
124
|
+
additionalContext: '[Roadmap Sync — WARN] Could not parse STATE.md: missing **Phase**: or **Status**: fields. Expected format: "**Phase**: 3 of 8" and "**Status**: Planning". To fix: run /pbr:health for a guided repair, or manually add the missing fields to .planning/STATE.md.'
|
|
125
125
|
};
|
|
126
126
|
process.stdout.write(JSON.stringify(output));
|
|
127
127
|
process.exit(0);
|
|
@@ -436,7 +436,7 @@ function main() {
|
|
|
436
436
|
found: 'none'
|
|
437
437
|
});
|
|
438
438
|
const output = {
|
|
439
|
-
additionalContext: `
|
|
439
|
+
additionalContext: `[WARN] Agent ${agentType} completed but no ${outputSpec.description} was found. Likely causes: (1) agent hit an error mid-run, (2) wrong working directory. To fix: re-run the parent skill — the executor gate will block until the output is present. Check the Task() output above for error details.`
|
|
440
440
|
};
|
|
441
441
|
process.stdout.write(JSON.stringify(output));
|
|
442
442
|
} else if (skillWarnings.length > 0) {
|
|
@@ -55,7 +55,7 @@ async function main() {
|
|
|
55
55
|
// Provide recovery hints for Bash failures (most common actionable failure)
|
|
56
56
|
if (toolName === 'Bash' && !isInterrupt) {
|
|
57
57
|
const output = {
|
|
58
|
-
additionalContext: 'Bash command failed.
|
|
58
|
+
additionalContext: '[Tool Failure] Bash command failed. To investigate: check the error output above for permission/path issues. For recurring failures: /pbr:debug for systematic investigation.'
|
|
59
59
|
};
|
|
60
60
|
process.stdout.write(JSON.stringify(output));
|
|
61
61
|
}
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
const { checkPlanWrite, checkStateWrite } = require('./check-plan-format');
|
|
22
22
|
const { checkSync } = require('./check-roadmap-sync');
|
|
23
23
|
const { checkStateSync } = require('./check-state-sync');
|
|
24
|
+
const { checkQuality } = require('./post-write-quality');
|
|
24
25
|
|
|
25
26
|
// Conditionally import validateRoadmap (may not exist yet if PLAN-01 hasn't landed)
|
|
26
27
|
let validateRoadmap;
|
|
@@ -109,6 +110,13 @@ function main() {
|
|
|
109
110
|
process.exit(0);
|
|
110
111
|
}
|
|
111
112
|
|
|
113
|
+
// Quality checks (Prettier, tsc, console.log detection) — consolidated from post-write-quality.js
|
|
114
|
+
const qualityResult = checkQuality(data);
|
|
115
|
+
if (qualityResult) {
|
|
116
|
+
process.stdout.write(JSON.stringify(qualityResult.output));
|
|
117
|
+
process.exit(0);
|
|
118
|
+
}
|
|
119
|
+
|
|
112
120
|
process.exit(0);
|
|
113
121
|
} catch (_e) {
|
|
114
122
|
// Don't block on parse errors
|
|
@@ -88,12 +88,12 @@ function main() {
|
|
|
88
88
|
// Warn about touching production config files
|
|
89
89
|
if (/\b(production|prod)\b.*\.(json|ya?ml|env|conf|cfg)\b/i.test(command) ||
|
|
90
90
|
/\.(json|ya?ml|env|conf|cfg)\b.*\b(production|prod)\b/i.test(command)) {
|
|
91
|
-
warnings.push('command references production config files');
|
|
91
|
+
warnings.push('command references production config files — verify you are not in a live environment');
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
// Warn about database operations
|
|
95
95
|
if (/\b(DROP|TRUNCATE|DELETE\s+FROM|ALTER\s+TABLE)\b/i.test(command)) {
|
|
96
|
-
warnings.push('destructive database operation
|
|
96
|
+
warnings.push('destructive database operation (DROP/TRUNCATE/DELETE/ALTER) — verify correct database is targeted and a backup exists');
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
if (warnings.length > 0) {
|
|
@@ -49,7 +49,7 @@ function checkTask(data) {
|
|
|
49
49
|
|
|
50
50
|
// Check description exists and is non-empty
|
|
51
51
|
if (!description || (typeof description === 'string' && !description.trim())) {
|
|
52
|
-
warnings.push('Task() called without a description. Descriptions
|
|
52
|
+
warnings.push('Task() called without a description. Descriptions are required for audit logging and skill enforcement. Add a short description (3-5 words), e.g.: "Build phase 3 executor".');
|
|
53
53
|
} else if (typeof description === 'string') {
|
|
54
54
|
// Check description length
|
|
55
55
|
if (description.length > MAX_DESCRIPTION_LENGTH) {
|
|
@@ -530,51 +530,9 @@ Delete `.planning/.active-skill` if it exists. This must happen on all paths (su
|
|
|
530
530
|
|
|
531
531
|
## Completion
|
|
532
532
|
|
|
533
|
-
After all steps complete, present the final summary
|
|
533
|
+
After all steps complete, present the final summary using the stage banner format from Read `references/ui-formatting.md`:
|
|
534
534
|
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
```
|
|
538
|
-
╔══════════════════════════════════════════════════════════════╗
|
|
539
|
-
║ PLAN-BUILD-RUN ► PROJECT INITIALIZED ✓ ║
|
|
540
|
-
╚══════════════════════════════════════════════════════════════╝
|
|
541
|
-
|
|
542
|
-
**{name}**
|
|
543
|
-
|
|
544
|
-
{core value one-liner}
|
|
545
|
-
|
|
546
|
-
Roadmap: {N} phases
|
|
547
|
-
1. {Phase 1 name}
|
|
548
|
-
2. {Phase 2 name}
|
|
549
|
-
...
|
|
550
|
-
|
|
551
|
-
Requirements: {N} committed, {M} deferred, {K} out-of-scope
|
|
552
|
-
```
|
|
553
|
-
|
|
554
|
-
Then use the "Next Up" routing block:
|
|
555
|
-
```
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
╔══════════════════════════════════════════════════════════════╗
|
|
559
|
-
║ ▶ NEXT UP ║
|
|
560
|
-
╚══════════════════════════════════════════════════════════════╝
|
|
561
|
-
|
|
562
|
-
**Phase 1: {Name}** — {one-line goal}
|
|
563
|
-
|
|
564
|
-
`/pbr:discuss 1`
|
|
565
|
-
|
|
566
|
-
<sub>`/clear` first → fresh context window</sub>
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
**Also available:**
|
|
571
|
-
- `/pbr:explore` — open-ended exploration before planning
|
|
572
|
-
- `/pbr:plan 1` — jump straight to planning Phase 1
|
|
573
|
-
- `/pbr:milestone new` — add a second milestone with new phases
|
|
574
|
-
- `/pbr:config` — adjust workflow settings
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
```
|
|
535
|
+
Display the `PROJECT INITIALIZED ✓` banner with project name, core value, phase list, and requirement counts. Then display the "Next Up" block (see § "Next Up Block" in ui-formatting.md) pointing to `/pbr:discuss 1` with alternatives: `/pbr:explore`, `/pbr:plan 1`, `/pbr:milestone new`, `/pbr:config`.
|
|
578
536
|
|
|
579
537
|
---
|
|
580
538
|
|
|
@@ -809,106 +809,11 @@ Total files modified: {count}
|
|
|
809
809
|
Deviations: {count}
|
|
810
810
|
```
|
|
811
811
|
|
|
812
|
-
Then present the appropriate branded banner:
|
|
812
|
+
Then present the appropriate branded banner from Read `references/ui-formatting.md` § "Completion Summary Templates":
|
|
813
813
|
|
|
814
|
-
**If `passed` + more phases:**
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
║ PLAN-BUILD-RUN ► PHASE {N} COMPLETE ✓ ║
|
|
818
|
-
╚══════════════════════════════════════════════════════════════╝
|
|
819
|
-
|
|
820
|
-
**Phase {N}: {Name}**
|
|
821
|
-
|
|
822
|
-
{X} plans executed
|
|
823
|
-
Goal verified ✓
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
╔══════════════════════════════════════════════════════════════╗
|
|
828
|
-
║ ▶ NEXT UP ║
|
|
829
|
-
╚══════════════════════════════════════════════════════════════╝
|
|
830
|
-
|
|
831
|
-
**Phase {N+1}: {Name}** — {Goal from ROADMAP.md}
|
|
832
|
-
|
|
833
|
-
`/pbr:plan {N+1}`
|
|
834
|
-
|
|
835
|
-
<sub>`/clear` first → fresh context window</sub>
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
**Also available:**
|
|
840
|
-
- `/pbr:review {N}` — manual acceptance testing before continuing
|
|
841
|
-
- `/pbr:discuss {N+1}` — talk through the next phase before planning
|
|
842
|
-
- `/pbr:status` — see full project status
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
```
|
|
846
|
-
|
|
847
|
-
**If `passed` + last phase:**
|
|
848
|
-
```
|
|
849
|
-
╔══════════════════════════════════════════════════════════════╗
|
|
850
|
-
║ PLAN-BUILD-RUN ► MILESTONE COMPLETE 🎉 ║
|
|
851
|
-
╚══════════════════════════════════════════════════════════════╝
|
|
852
|
-
|
|
853
|
-
{N} phases completed
|
|
854
|
-
All phase goals verified ✓
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
╔══════════════════════════════════════════════════════════════╗
|
|
859
|
-
║ ▶ NEXT UP ║
|
|
860
|
-
╚══════════════════════════════════════════════════════════════╝
|
|
861
|
-
|
|
862
|
-
**Audit milestone** — verify requirements, cross-phase integration, E2E flows
|
|
863
|
-
|
|
864
|
-
`/pbr:milestone audit`
|
|
865
|
-
|
|
866
|
-
<sub>`/clear` first → fresh context window</sub>
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
**Also available:**
|
|
871
|
-
- `/pbr:review` — manual acceptance testing
|
|
872
|
-
- `/pbr:milestone complete` — archive milestone after audit passes
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
```
|
|
876
|
-
|
|
877
|
-
**If `gaps_found`:**
|
|
878
|
-
```
|
|
879
|
-
╔══════════════════════════════════════════════════════════════╗
|
|
880
|
-
║ PLAN-BUILD-RUN ► PHASE {N} GAPS FOUND ⚠ ║
|
|
881
|
-
╚══════════════════════════════════════════════════════════════╝
|
|
882
|
-
|
|
883
|
-
**Phase {N}: {Name}**
|
|
884
|
-
|
|
885
|
-
Score: {X}/{Y} must-haves verified
|
|
886
|
-
Report: .planning/phases/{phase_dir}/VERIFICATION.md
|
|
887
|
-
|
|
888
|
-
### What's Missing
|
|
889
|
-
|
|
890
|
-
{Extract gap summaries from VERIFICATION.md}
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
╔══════════════════════════════════════════════════════════════╗
|
|
895
|
-
║ ▶ NEXT UP ║
|
|
896
|
-
╚══════════════════════════════════════════════════════════════╝
|
|
897
|
-
|
|
898
|
-
**Plan gap closure** — create additional plans to complete the phase
|
|
899
|
-
|
|
900
|
-
`/pbr:plan {N} --gaps`
|
|
901
|
-
|
|
902
|
-
<sub>`/clear` first → fresh context window</sub>
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
**Also available:**
|
|
907
|
-
- `cat .planning/phases/{phase_dir}/VERIFICATION.md` — see full report
|
|
908
|
-
- `/pbr:review {N}` — manual testing before planning
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
```
|
|
814
|
+
- **If `passed` + more phases:** Use the "Phase Complete" template. Fill in phase number, name, plan count, and next phase details.
|
|
815
|
+
- **If `passed` + last phase:** Use the "Milestone Complete" template. Fill in phase count.
|
|
816
|
+
- **If `gaps_found`:** Use the "Gaps Found" template. Fill in phase number, name, score, and gap summaries from VERIFICATION.md.
|
|
912
817
|
|
|
913
818
|
**8g. Display USER-SETUP.md (conditional):**
|
|
914
819
|
|
|
@@ -26,7 +26,7 @@ Reads and writes `.planning/config.json`. Interactive configuration with AskUser
|
|
|
26
26
|
|
|
27
27
|
## References
|
|
28
28
|
|
|
29
|
-
- `references/
|
|
29
|
+
- `references/config-reference.md` — Full config.json schema (54 fields, 16 feature toggles, validation rules)
|
|
30
30
|
- `references/model-profiles.md` — Model selection guide for agent spawning
|
|
31
31
|
|
|
32
32
|
## Flow
|
|
@@ -120,6 +120,23 @@ Display the following reference to the user:
|
|
|
120
120
|
| `/pbr:dashboard --port <N>` | Launch dashboard on a specific port. |
|
|
121
121
|
| `/pbr:statusline` | Install or configure the PBR status line in Claude Code. |
|
|
122
122
|
|
|
123
|
+
## Choose Your Command
|
|
124
|
+
|
|
125
|
+
Not sure which command to use? Follow this guide:
|
|
126
|
+
|
|
127
|
+
| I want to... | Command |
|
|
128
|
+
|--------------|---------|
|
|
129
|
+
| Start a new project | `/pbr:begin` |
|
|
130
|
+
| Fix a bug or investigate an error | `/pbr:debug` |
|
|
131
|
+
| Think through an idea or approach | `/pbr:explore` |
|
|
132
|
+
| Do a small task (≤3 files) | `/pbr:quick` |
|
|
133
|
+
| Plan a complex change (4+ files) | `/pbr:plan <N>` |
|
|
134
|
+
| See where I am and what's next | `/pbr:status` |
|
|
135
|
+
| Auto-execute the next step | `/pbr:continue` |
|
|
136
|
+
| Describe something and let PBR route it | `/pbr:do <description>` |
|
|
137
|
+
| Lock decisions for a specific phase | `/pbr:discuss <N>` |
|
|
138
|
+
| Check project health | `/pbr:health` |
|
|
139
|
+
|
|
123
140
|
## Typical Workflow
|
|
124
141
|
|
|
125
142
|
```
|
|
@@ -581,109 +581,11 @@ Delete `.planning/.active-skill` if it exists. This must happen on all paths (su
|
|
|
581
581
|
|
|
582
582
|
## Completion
|
|
583
583
|
|
|
584
|
-
After review completes, always present a clear next action:
|
|
584
|
+
After review completes, always present a clear next action using the completion banners from Read `references/ui-formatting.md` § "Completion Summary Templates":
|
|
585
585
|
|
|
586
|
-
**If verified (not final phase):**
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
```
|
|
590
|
-
╔══════════════════════════════════════════════════════════════╗
|
|
591
|
-
║ PLAN-BUILD-RUN ► PHASE {N} COMPLETE ✓ ║
|
|
592
|
-
╚══════════════════════════════════════════════════════════════╝
|
|
593
|
-
|
|
594
|
-
**Phase {N}: {Name}**
|
|
595
|
-
|
|
596
|
-
{X} plans executed
|
|
597
|
-
Goal verified ✓
|
|
598
|
-
```
|
|
599
|
-
|
|
600
|
-
Then the branded "Next Up" block:
|
|
601
|
-
```
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
╔══════════════════════════════════════════════════════════════╗
|
|
605
|
-
║ ▶ NEXT UP ║
|
|
606
|
-
╚══════════════════════════════════════════════════════════════╝
|
|
607
|
-
|
|
608
|
-
**Phase {N+1}: {Name}** — {Goal from ROADMAP.md}
|
|
609
|
-
|
|
610
|
-
`/pbr:plan {N+1}`
|
|
611
|
-
|
|
612
|
-
<sub>`/clear` first → fresh context window</sub>
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
**Also available:**
|
|
617
|
-
- `/pbr:discuss {N+1}` — talk through details before planning
|
|
618
|
-
- `/pbr:status` — see full project status
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
```
|
|
622
|
-
|
|
623
|
-
**If gaps remain:**
|
|
624
|
-
```
|
|
625
|
-
╔══════════════════════════════════════════════════════════════╗
|
|
626
|
-
║ PLAN-BUILD-RUN ► PHASE {N} GAPS FOUND ⚠ ║
|
|
627
|
-
╚══════════════════════════════════════════════════════════════╝
|
|
628
|
-
|
|
629
|
-
**Phase {N}: {name}** — {count} gaps remaining
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
╔══════════════════════════════════════════════════════════════╗
|
|
634
|
-
║ ▶ NEXT UP ║
|
|
635
|
-
╚══════════════════════════════════════════════════════════════╝
|
|
636
|
-
|
|
637
|
-
**Fix gaps** — diagnose and create fix plans
|
|
638
|
-
|
|
639
|
-
`/pbr:review {N} --auto-fix`
|
|
640
|
-
|
|
641
|
-
<sub>`/clear` first → fresh context window</sub>
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
**Also available:**
|
|
646
|
-
- `/pbr:plan {N} --gaps` — create fix plans manually
|
|
647
|
-
- Fix manually, then `/pbr:review {N}`
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
```
|
|
651
|
-
|
|
652
|
-
**If final phase:**
|
|
653
|
-
|
|
654
|
-
Display the "Milestone Complete" banner inline:
|
|
655
|
-
```
|
|
656
|
-
╔══════════════════════════════════════════════════════════════╗
|
|
657
|
-
║ PLAN-BUILD-RUN ► MILESTONE COMPLETE 🎉 ║
|
|
658
|
-
╚══════════════════════════════════════════════════════════════╝
|
|
659
|
-
|
|
660
|
-
{N} phases completed
|
|
661
|
-
All phase goals verified ✓
|
|
662
|
-
```
|
|
663
|
-
|
|
664
|
-
Then:
|
|
665
|
-
```
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
╔══════════════════════════════════════════════════════════════╗
|
|
669
|
-
║ ▶ NEXT UP ║
|
|
670
|
-
╚══════════════════════════════════════════════════════════════╝
|
|
671
|
-
|
|
672
|
-
**Audit milestone** — verify cross-phase integration
|
|
673
|
-
|
|
674
|
-
`/pbr:milestone audit`
|
|
675
|
-
|
|
676
|
-
<sub>`/clear` first → fresh context window</sub>
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
**Also available:**
|
|
681
|
-
- `/pbr:milestone complete` — archive milestone after audit passes
|
|
682
|
-
- `/pbr:milestone new` — start planning next features
|
|
683
|
-
- `/pbr:status` — see final project status
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
```
|
|
586
|
+
- **If verified (not final phase):** Use the "Phase Complete" template. Fill in phase number, name, plan count, and next phase details.
|
|
587
|
+
- **If gaps remain:** Use the "Gaps Found" template. Fill in phase number, name, gap count, and gap summaries.
|
|
588
|
+
- **If final phase:** Use the "Milestone Complete" template. Fill in phase count.
|
|
687
589
|
|
|
688
590
|
---
|
|
689
591
|
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
<!-- canonical: ../../pbr/references/agent-interactions.md -->
|
|
2
|
-
# Agent Interaction Map
|
|
3
|
-
|
|
4
|
-
This document shows how Plan-Build-Run agents communicate through files on disk. Agents never message each other directly -- they read and write shared files in `.planning/`.
|
|
5
|
-
|
|
6
|
-
## Interaction Graph
|
|
7
|
-
|
|
8
|
-
```
|
|
9
|
-
User / Orchestrator
|
|
10
|
-
| ^
|
|
11
|
-
v |
|
|
12
|
-
+--------------+ |
|
|
13
|
-
| researcher |---+---> planner
|
|
14
|
-
+--------------+ | ^
|
|
15
|
-
| v |
|
|
16
|
-
+--------------+ +--------------+
|
|
17
|
-
| synthesizer | | plan-checker |
|
|
18
|
-
+--------------+ +--------------+
|
|
19
|
-
|
|
|
20
|
-
v
|
|
21
|
-
+-----------+
|
|
22
|
-
| executor |
|
|
23
|
-
+-----------+
|
|
24
|
-
|
|
|
25
|
-
v
|
|
26
|
-
+-----------+
|
|
27
|
-
| verifier |----> planner (gap closure)
|
|
28
|
-
+-----------+
|
|
29
|
-
|
|
|
30
|
-
v
|
|
31
|
-
+--------------------+
|
|
32
|
-
| integration-checker|
|
|
33
|
-
+--------------------+
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Per-Agent Interaction Details
|
|
37
|
-
|
|
38
|
-
### researcher
|
|
39
|
-
|
|
40
|
-
| Direction | Agent/Role | What |
|
|
41
|
-
|-----------|-----------|------|
|
|
42
|
-
| Receives from | User/Orchestrator | Research topics, CONTEXT.md constraints, phase goals |
|
|
43
|
-
| Produces for | planner | Research documents with technology details and recommendations |
|
|
44
|
-
| Produces for | synthesizer | Research documents to be combined |
|
|
45
|
-
| Produces for | User | Direct reading for decision-making |
|
|
46
|
-
|
|
47
|
-
### synthesizer
|
|
48
|
-
|
|
49
|
-
| Direction | Agent/Role | What |
|
|
50
|
-
|-----------|-----------|------|
|
|
51
|
-
| Receives from | researcher | Research documents to synthesize |
|
|
52
|
-
| Receives from | Orchestrator | Paths to research documents, synthesis request |
|
|
53
|
-
| Produces for | planner | SUMMARY.md as consolidated research input for planning |
|
|
54
|
-
| Produces for | User | High-level project/phase research overview |
|
|
55
|
-
|
|
56
|
-
### planner
|
|
57
|
-
|
|
58
|
-
| Direction | Agent/Role | What |
|
|
59
|
-
|-----------|-----------|------|
|
|
60
|
-
| Receives from | researcher | Research documents with technology details and recommendations |
|
|
61
|
-
| Receives from | plan-checker | Issue reports requiring plan revision |
|
|
62
|
-
| Receives from | verifier | VERIFICATION.md reports requiring gap closure plans |
|
|
63
|
-
| Receives from | User/Orchestrator | Phase goals, CONTEXT.md, planning requests |
|
|
64
|
-
| Produces for | plan-checker | Plan files for quality verification |
|
|
65
|
-
| Produces for | executor | Plan files for execution |
|
|
66
|
-
| Produces for | verifier | Must-have definitions for verification (embedded in plan frontmatter) |
|
|
67
|
-
|
|
68
|
-
### plan-checker
|
|
69
|
-
|
|
70
|
-
| Direction | Agent/Role | What |
|
|
71
|
-
|-----------|-----------|------|
|
|
72
|
-
| Receives from | Orchestrator/User | Plan files to check, phase context |
|
|
73
|
-
| Receives from | planner | Newly created or revised plan files |
|
|
74
|
-
| Produces for | planner | Issue reports for revision |
|
|
75
|
-
| Produces for | Orchestrator/User | Pass/fail decision on plan quality |
|
|
76
|
-
|
|
77
|
-
### executor
|
|
78
|
-
|
|
79
|
-
| Direction | Agent/Role | What |
|
|
80
|
-
|-----------|-----------|------|
|
|
81
|
-
| Receives from | Orchestrator | Plan files to execute, continuation instructions |
|
|
82
|
-
| Receives from | planner | The plans themselves (indirectly, via files) |
|
|
83
|
-
| Produces for | verifier | SUMMARY.md for verification, committed code for inspection |
|
|
84
|
-
| Produces for | Orchestrator | Checkpoint responses, completion status |
|
|
85
|
-
| Produces for | planner | Deferred ideas (in SUMMARY.md) for future planning |
|
|
86
|
-
|
|
87
|
-
### verifier
|
|
88
|
-
|
|
89
|
-
| Direction | Agent/Role | What |
|
|
90
|
-
|-----------|-----------|------|
|
|
91
|
-
| Receives from | Orchestrator | Phase to verify, timing trigger |
|
|
92
|
-
| Receives from | executor | Completed work (via codebase and SUMMARY.md) |
|
|
93
|
-
| Receives from | Previous VERIFICATION.md | Gaps to re-check (in re-verification mode) |
|
|
94
|
-
| Produces for | planner | Gap list for gap-closure planning (via VERIFICATION.md) |
|
|
95
|
-
| Produces for | Orchestrator | Phase status (passed/gaps_found/human_needed) |
|
|
96
|
-
| Produces for | User | Human verification items with specific test instructions |
|
|
97
|
-
|
|
98
|
-
### integration-checker
|
|
99
|
-
|
|
100
|
-
| Direction | Agent/Role | What |
|
|
101
|
-
|-----------|-----------|------|
|
|
102
|
-
| Receives from | Orchestrator | Phases to check, trigger event (milestone/review) |
|
|
103
|
-
| Receives from | verifier | Phase-level verification reports (for context on per-phase status) |
|
|
104
|
-
| Produces for | planner | Integration gap list for cross-phase fix plans |
|
|
105
|
-
| Produces for | Orchestrator | Integration status for milestone decisions |
|
|
106
|
-
| Produces for | User | Integration health overview and security issues |
|
|
107
|
-
|
|
108
|
-
### debugger
|
|
109
|
-
|
|
110
|
-
| Direction | Agent/Role | What |
|
|
111
|
-
|-----------|-----------|------|
|
|
112
|
-
| Receives from | Orchestrator/User | Bug reports, symptoms, reproduction steps |
|
|
113
|
-
| Receives from | executor | Errors encountered during execution (via checkpoint responses) |
|
|
114
|
-
| Receives from | verifier | Issues discovered during verification |
|
|
115
|
-
| Produces for | Orchestrator/User | Root cause analysis, fix commits, checkpoint requests |
|
|
116
|
-
| Produces for | planner | Findings requiring architectural changes |
|
|
117
|
-
| Produces for | executor | Simple fix instructions for executor to apply |
|
|
118
|
-
|
|
119
|
-
### codebase-mapper
|
|
120
|
-
|
|
121
|
-
| Direction | Agent/Role | What |
|
|
122
|
-
|-----------|-----------|------|
|
|
123
|
-
| Receives from | Orchestrator/User | Focus area to analyze, project path |
|
|
124
|
-
| Receives from | researcher | May be invoked alongside researcher for new projects |
|
|
125
|
-
| Produces for | planner | STACK.md, ARCHITECTURE.md, STRUCTURE.md for informed planning |
|
|
126
|
-
| Produces for | executor | CONVENTIONS.md for code style, TESTING.md for test patterns |
|
|
127
|
-
| Produces for | verifier | All documents as reference for what "correct" looks like |
|
|
128
|
-
| Produces for | User | Direct reading for project understanding |
|
|
129
|
-
|
|
130
|
-
### general
|
|
131
|
-
|
|
132
|
-
| Direction | Agent/Role | What |
|
|
133
|
-
|-----------|-----------|------|
|
|
134
|
-
| Receives from | Orchestrator/User | Ad-hoc task instructions |
|
|
135
|
-
| Produces for | Orchestrator/User | Task output (files, formatting, config changes) |
|