@pareto4/pp-core 1.5.2 → 1.5.3
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/.claude-plugin/plugin.json +1 -1
- package/agents/pp-advisor-researcher.md +1 -1
- package/agents/pp-ai-researcher.md +1 -1
- package/agents/pp-assumptions-analyzer.md +1 -1
- package/agents/pp-code-fixer.md +2 -2
- package/agents/pp-codebase-mapper.md +2 -2
- package/agents/pp-debug-session-manager.md +1 -1
- package/agents/pp-debugger.md +2 -2
- package/agents/pp-doc-classifier.md +1 -1
- package/agents/pp-doc-synthesizer.md +1 -1
- package/agents/pp-doc-verifier.md +1 -1
- package/agents/pp-doc-writer.md +12 -12
- package/agents/pp-domain-researcher.md +1 -1
- package/agents/pp-eval-planner.md +1 -1
- package/agents/pp-executor.md +4 -4
- package/agents/pp-framework-selector.md +1 -1
- package/agents/pp-intel-updater.md +13 -13
- package/agents/pp-pattern-mapper.md +1 -1
- package/agents/pp-phase-researcher.md +4 -4
- package/agents/pp-plan-checker.md +2 -2
- package/agents/pp-planner.md +6 -6
- package/agents/pp-project-researcher.md +3 -3
- package/agents/pp-research-synthesizer.md +2 -2
- package/agents/pp-roadmapper.md +2 -2
- package/agents/pp-ui-checker.md +1 -1
- package/agents/pp-ui-researcher.md +1 -1
- package/agents/pp-user-profiler.md +1 -1
- package/agents/pp-verifier.md +4 -4
- package/bin/install.js +15 -15
- package/commands/pp-autonomous.md +3 -3
- package/commands/pp-capture.md +1 -1
- package/commands/pp-code-review.md +1 -1
- package/commands/pp-config.md +4 -4
- package/commands/pp-debug.md +1 -1
- package/commands/pp-docs-update.md +2 -2
- package/commands/pp-execute-phase.md +1 -1
- package/commands/pp-explore.md +1 -1
- package/commands/pp-forensics.md +2 -2
- package/commands/pp-graphify.md +8 -8
- package/commands/pp-health.md +1 -1
- package/commands/pp-help.md +2 -2
- package/commands/pp-import.md +4 -4
- package/commands/pp-manager.md +2 -2
- package/commands/pp-mempalace-capture.md +2 -2
- package/commands/pp-mempalace-recall.md +4 -4
- package/commands/pp-mvp-phase.md +2 -2
- package/commands/pp-ns-manage.md +4 -4
- package/commands/pp-ns-workflow.md +1 -1
- package/commands/pp-plan-review-convergence.md +5 -5
- package/commands/pp-pr-branch.md +1 -1
- package/commands/pp-profile-user.md +1 -1
- package/commands/pp-progress.md +5 -5
- package/commands/pp-quick.md +5 -5
- package/commands/pp-review-backlog.md +2 -2
- package/commands/pp-settings.md +2 -2
- package/commands/pp-sketch.md +1 -1
- package/commands/pp-spike.md +1 -1
- package/commands/pp-surface.md +4 -4
- package/commands/pp-ultraplan-phase.md +1 -1
- package/commands/pp-undo.md +2 -2
- package/commands/pp-update.md +4 -4
- package/commands/pp-workspace.md +4 -4
- package/commands/pp-workstreams.md +8 -8
- package/gemini-extension.json +1 -1
- package/package.json +1 -1
- package/pp-core/references/agent-contracts.md +1 -1
- package/pp-core/references/artifact-types.md +2 -2
- package/pp-core/references/context-budget.md +2 -2
- package/pp-core/references/doc-conflict-engine.md +2 -2
- package/pp-core/references/edge-probe.md +2 -2
- package/pp-core/references/gates.md +1 -1
- package/pp-core/references/git-integration.md +3 -3
- package/pp-core/references/model-profiles.md +8 -8
- package/pp-core/references/planner-human-verify-mode.md +1 -1
- package/pp-core/references/planning-config.md +7 -7
- package/pp-core/references/prohibition-probe.md +2 -2
- package/pp-core/references/project-skills-discovery.md +1 -1
- package/pp-core/references/thinking-models-debug.md +1 -1
- package/pp-core/references/thinking-models-execution.md +1 -1
- package/pp-core/references/thinking-models-planning.md +1 -1
- package/pp-core/references/thinking-models-research.md +1 -1
- package/pp-core/references/thinking-models-verification.md +1 -1
- package/pp-core/references/ui-brand.md +3 -3
- package/pp-core/references/universal-anti-patterns.md +4 -4
- package/pp-core/references/workstream-flag.md +8 -8
- package/pp-core/templates/README.md +4 -4
- package/pp-core/templates/claude-md.md +2 -2
- package/pp-core/templates/codebase/architecture.md +2 -2
- package/pp-core/templates/codebase/structure.md +1 -1
- package/pp-core/templates/copilot-instructions.md +3 -3
- package/pp-core/templates/dev-preferences.md +1 -1
- package/pp-core/templates/research.md +1 -1
- package/pp-core/templates/summary-complex.md +1 -1
- package/pp-core/workflows/add-tests.md +2 -2
- package/pp-core/workflows/add-todo.md +1 -1
- package/pp-core/workflows/ai-integration-phase.md +3 -3
- package/pp-core/workflows/audit-milestone.md +1 -1
- package/pp-core/workflows/autonomous.md +9 -9
- package/pp-core/workflows/debug.md +1 -1
- package/pp-core/workflows/diagnose-issues.md +2 -2
- package/pp-core/workflows/discuss-phase/modes/chain.md +2 -2
- package/pp-core/workflows/discuss-phase-assumptions.md +2 -2
- package/pp-core/workflows/do.md +4 -4
- package/pp-core/workflows/docs-update.md +5 -5
- package/pp-core/workflows/eval-review.md +3 -3
- package/pp-core/workflows/execute-phase.md +5 -5
- package/pp-core/workflows/execute-plan.md +1 -1
- package/pp-core/workflows/explore.md +2 -2
- package/pp-core/workflows/extract-learnings.md +1 -1
- package/pp-core/workflows/forensics.md +1 -1
- package/pp-core/workflows/health.md +2 -2
- package/pp-core/workflows/help/modes/brief.md +2 -2
- package/pp-core/workflows/help/modes/default.md +7 -7
- package/pp-core/workflows/help/modes/full.md +16 -16
- package/pp-core/workflows/help.md +1 -1
- package/pp-core/workflows/import.md +11 -11
- package/pp-core/workflows/inbox.md +4 -4
- package/pp-core/workflows/ingest-docs.md +5 -5
- package/pp-core/workflows/list-workspaces.md +4 -4
- package/pp-core/workflows/manager.md +6 -6
- package/pp-core/workflows/map-codebase.md +2 -2
- package/pp-core/workflows/mvp-phase.md +12 -12
- package/pp-core/workflows/new-milestone.md +9 -9
- package/pp-core/workflows/new-project.md +12 -12
- package/pp-core/workflows/new-workspace.md +5 -5
- package/pp-core/workflows/next.md +4 -4
- package/pp-core/workflows/note.md +1 -1
- package/pp-core/workflows/plan-phase.md +13 -13
- package/pp-core/workflows/plan-review-convergence.md +3 -3
- package/pp-core/workflows/plant-seed.md +1 -1
- package/pp-core/workflows/pr-branch.md +2 -2
- package/pp-core/workflows/profile-user.md +2 -2
- package/pp-core/workflows/progress.md +1 -1
- package/pp-core/workflows/quick.md +15 -15
- package/pp-core/workflows/reapply-patches.md +6 -6
- package/pp-core/workflows/remove-workspace.md +1 -1
- package/pp-core/workflows/review.md +3 -3
- package/pp-core/workflows/scan.md +1 -1
- package/pp-core/workflows/secure-phase.md +4 -4
- package/pp-core/workflows/session-report.md +1 -1
- package/pp-core/workflows/settings-advanced.md +6 -6
- package/pp-core/workflows/settings-integrations.md +2 -2
- package/pp-core/workflows/settings.md +2 -2
- package/pp-core/workflows/ship.md +2 -2
- package/pp-core/workflows/sketch-wrap-up.md +2 -2
- package/pp-core/workflows/sketch.md +2 -2
- package/pp-core/workflows/spec-phase.md +4 -4
- package/pp-core/workflows/spike-wrap-up.md +2 -2
- package/pp-core/workflows/spike.md +2 -2
- package/pp-core/workflows/sync-skills.md +6 -6
- package/pp-core/workflows/thread.md +1 -1
- package/pp-core/workflows/ui-phase.md +4 -4
- package/pp-core/workflows/ui-review.md +4 -4
- package/pp-core/workflows/ultraplan-phase.md +6 -6
- package/pp-core/workflows/undo.md +6 -6
- package/pp-core/workflows/update.md +12 -12
- package/pp-core/workflows/validate-phase.md +4 -4
- package/pp-core/workflows/verify-work.md +5 -5
|
@@ -7,7 +7,7 @@ Read all files referenced by the invoking prompt's execution_context before star
|
|
|
7
7
|
</required_reading>
|
|
8
8
|
|
|
9
9
|
<available_agent_types>
|
|
10
|
-
Valid
|
|
10
|
+
Valid pp-core subagent types (use exact names — do not fall back to 'general-purpose'):
|
|
11
11
|
- pp-project-researcher — Researches project-level technical decisions
|
|
12
12
|
- pp-research-synthesizer — Synthesizes findings from parallel research agents
|
|
13
13
|
- pp-roadmapper — Creates phased execution roadmaps
|
|
@@ -69,7 +69,7 @@ Parse JSON for: `researcher_model`, `synthesizer_model`, `roadmapper_model`, `co
|
|
|
69
69
|
|
|
70
70
|
**If `agents_installed` is false:** Display a warning before proceeding:
|
|
71
71
|
```text
|
|
72
|
-
⚠
|
|
72
|
+
⚠ pp-core agents not installed. The following agents are missing from your agents directory:
|
|
73
73
|
{missing_agents joined with newline}
|
|
74
74
|
|
|
75
75
|
Runtime checked: {agent_runtime}
|
|
@@ -87,7 +87,7 @@ definitions to be installed for this runtime.
|
|
|
87
87
|
Subagent spawns (pp-project-researcher, pp-research-synthesizer, pp-roadmapper) will fail
|
|
88
88
|
with "agent type not found" if `required_agents_installed` is false. Run the installer with --global to make agents available:
|
|
89
89
|
|
|
90
|
-
npx @
|
|
90
|
+
npx @pareto4/pp-core@latest --global
|
|
91
91
|
|
|
92
92
|
Proceeding without research subagents — roadmap will be generated inline.
|
|
93
93
|
```
|
|
@@ -331,7 +331,7 @@ If spike/sketch findings skills exist, read their SKILL.md files to inform the q
|
|
|
331
331
|
|
|
332
332
|
```
|
|
333
333
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
334
|
-
|
|
334
|
+
pp-core ► QUESTIONING
|
|
335
335
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
336
336
|
```
|
|
337
337
|
|
|
@@ -810,7 +810,7 @@ Strip the `./` prefix to get directory names (e.g., `./backend` → `backend`).
|
|
|
810
810
|
Use AskUserQuestion:
|
|
811
811
|
|
|
812
812
|
- header: "Multi-Repo Workspace"
|
|
813
|
-
- question: "I detected separate git repos in this workspace. Which directories contain code that
|
|
813
|
+
- question: "I detected separate git repos in this workspace. Which directories contain code that pp-core should commit to?"
|
|
814
814
|
- multiSelect: true
|
|
815
815
|
- options: one option per detected directory
|
|
816
816
|
- "[directory name]" — Separate git repo
|
|
@@ -847,7 +847,7 @@ Display stage banner:
|
|
|
847
847
|
|
|
848
848
|
```
|
|
849
849
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
850
|
-
|
|
850
|
+
pp-core ► RESEARCHING
|
|
851
851
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
852
852
|
|
|
853
853
|
Researching [domain] ecosystem...
|
|
@@ -1081,7 +1081,7 @@ Display research complete banner and key findings:
|
|
|
1081
1081
|
|
|
1082
1082
|
```
|
|
1083
1083
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1084
|
-
|
|
1084
|
+
pp-core ► RESEARCH COMPLETE ✓
|
|
1085
1085
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1086
1086
|
|
|
1087
1087
|
## Key Findings
|
|
@@ -1101,7 +1101,7 @@ Display stage banner:
|
|
|
1101
1101
|
|
|
1102
1102
|
```
|
|
1103
1103
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1104
|
-
|
|
1104
|
+
pp-core ► DEFINING REQUIREMENTS
|
|
1105
1105
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1106
1106
|
```
|
|
1107
1107
|
|
|
@@ -1270,7 +1270,7 @@ Display stage banner:
|
|
|
1270
1270
|
|
|
1271
1271
|
```
|
|
1272
1272
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1273
|
-
|
|
1273
|
+
pp-core ► CREATING ROADMAP
|
|
1274
1274
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1275
1275
|
|
|
1276
1276
|
◆ Spawning roadmapper... (runs in a subagent — no output until it returns, ~1–5 min; expected, not a freeze)
|
|
@@ -1425,7 +1425,7 @@ Use AskUserQuestion:
|
|
|
1425
1425
|
pp_run query generate-claude-md --output "$INSTRUCTION_FILE"
|
|
1426
1426
|
```
|
|
1427
1427
|
|
|
1428
|
-
This ensures new projects get the default
|
|
1428
|
+
This ensures new projects get the default pp-core workflow-enforcement guidance and current project context in `$INSTRUCTION_FILE`.
|
|
1429
1429
|
|
|
1430
1430
|
**Commit roadmap (after approval or auto mode):**
|
|
1431
1431
|
|
|
@@ -1439,7 +1439,7 @@ Present completion summary:
|
|
|
1439
1439
|
|
|
1440
1440
|
```
|
|
1441
1441
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1442
|
-
|
|
1442
|
+
pp-core ► PROJECT INITIALIZED ✓
|
|
1443
1443
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1444
1444
|
|
|
1445
1445
|
**[Project Name]**
|
|
@@ -1555,7 +1555,7 @@ PHASE1_HAS_UI=$(echo "$PHASE1_SECTION" | grep -qi "UI hint.*yes" && echo "true"
|
|
|
1555
1555
|
- [ ] ROADMAP.md created with phases, requirement mappings, success criteria
|
|
1556
1556
|
- [ ] STATE.md initialized
|
|
1557
1557
|
- [ ] REQUIREMENTS.md traceability updated
|
|
1558
|
-
- [ ] `$INSTRUCTION_FILE` generated with
|
|
1558
|
+
- [ ] `$INSTRUCTION_FILE` generated with pp-core workflow guidance (AGENTS.md for Codex, `.claude/CLAUDE.md` otherwise; an existing hand-crafted file without pp-core markers is left untouched unless `--force`)
|
|
1559
1559
|
- [ ] User knows next step is `/pp:discuss-phase 1`
|
|
1560
1560
|
|
|
1561
1561
|
**Atomic commits:** Each phase commits its artifacts immediately. If context is lost, artifacts persist.
|
|
@@ -204,7 +204,7 @@ Workspace created: $TARGET_PATH
|
|
|
204
204
|
|
|
205
205
|
Next steps:
|
|
206
206
|
cd "$TARGET_PATH"
|
|
207
|
-
/pp:new-project # Initialize
|
|
207
|
+
/pp:new-project # Initialize pp-core in the workspace
|
|
208
208
|
```
|
|
209
209
|
|
|
210
210
|
**If some repos failed:**
|
|
@@ -217,14 +217,14 @@ Workspace created with $SUCCESS_COUNT of $TOTAL_COUNT repos: $TARGET_PATH
|
|
|
217
217
|
|
|
218
218
|
Next steps:
|
|
219
219
|
cd "$TARGET_PATH"
|
|
220
|
-
/pp:new-project # Initialize
|
|
220
|
+
/pp:new-project # Initialize pp-core in the workspace
|
|
221
221
|
```
|
|
222
222
|
|
|
223
|
-
**Offer to initialize
|
|
223
|
+
**Offer to initialize pp-core (if not `--auto`):**
|
|
224
224
|
|
|
225
225
|
Use AskUserQuestion:
|
|
226
|
-
- header: "Initialize
|
|
227
|
-
- question: "Would you like to initialize a
|
|
226
|
+
- header: "Initialize pp-core"
|
|
227
|
+
- question: "Would you like to initialize a pp-core project in the new workspace?"
|
|
228
228
|
- options:
|
|
229
229
|
- "Yes — run /pp:new-project" → tell user to `cd "$TARGET_PATH"` first, then run `/pp:new-project`
|
|
230
230
|
- "No — I'll set it up later" → done
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<purpose>
|
|
2
|
-
Detect current project state and automatically advance to the next logical
|
|
2
|
+
Detect current project state and automatically advance to the next logical pp-core workflow step.
|
|
3
3
|
Reads project state to determine: discuss → plan → execute → verify → complete progression.
|
|
4
4
|
</purpose>
|
|
5
5
|
|
|
@@ -30,7 +30,7 @@ Extract:
|
|
|
30
30
|
|
|
31
31
|
If no `.planning/` directory exists:
|
|
32
32
|
```
|
|
33
|
-
No
|
|
33
|
+
No pp-core project detected. Run `/pp:new-project` to get started.
|
|
34
34
|
```
|
|
35
35
|
Exit.
|
|
36
36
|
</step>
|
|
@@ -287,7 +287,7 @@ if [ "$PLAN_STRATEGY" = "converge" ]; then
|
|
|
287
287
|
'' \
|
|
288
288
|
'Enable plan convergence with:' \
|
|
289
289
|
'' \
|
|
290
|
-
'
|
|
290
|
+
' pp config-set workflow.plan_review_convergence true' \
|
|
291
291
|
'' \
|
|
292
292
|
'Then re-run with --converge.'
|
|
293
293
|
exit 1
|
|
@@ -298,7 +298,7 @@ fi
|
|
|
298
298
|
Display the determination:
|
|
299
299
|
|
|
300
300
|
```
|
|
301
|
-
##
|
|
301
|
+
## pp-core Next
|
|
302
302
|
|
|
303
303
|
**Current:** Phase [N] — [name] | [progress]%
|
|
304
304
|
**Status:** [status description]
|
|
@@ -101,7 +101,7 @@ If a scope has no directory or no entries, show: `(no notes)`
|
|
|
101
101
|
1. Run the **list** logic to build the numbered index (both scopes)
|
|
102
102
|
2. Find entry N from the numbered list
|
|
103
103
|
3. If N is invalid or refers to an already-promoted note, tell the user and stop
|
|
104
|
-
4. **Requires `.planning/` directory** — if it doesn't exist, warn: "Todos require a
|
|
104
|
+
4. **Requires `.planning/` directory** — if it doesn't exist, warn: "Todos require a pp-core project. Run `/pp:new-project` to initialize one."
|
|
105
105
|
5. Ensure `.planning/todos/pending/` directory exists
|
|
106
106
|
6. Generate todo ID: `{NNN}-{slug}` where NNN is the next sequential number (scan both `.planning/todos/pending/` and `.planning/todos/completed/` for the highest existing number, increment by 1, zero-pad to 3 digits) and slug is the first ~4 meaningful words of the note text
|
|
107
107
|
7. Extract the note text from the source file (body after frontmatter)
|
|
@@ -20,7 +20,7 @@ Read all files referenced by the invoking prompt's execution_context before star
|
|
|
20
20
|
</required_reading>
|
|
21
21
|
|
|
22
22
|
<available_agent_types>
|
|
23
|
-
Valid
|
|
23
|
+
Valid pp-core subagent types (use exact names — do not fall back to 'general-purpose'):
|
|
24
24
|
- pp-phase-researcher — Researches technical approaches for a phase
|
|
25
25
|
- pp-pattern-mapper — Analyzes codebase for existing patterns, produces PATTERNS.md
|
|
26
26
|
- pp-planner — Creates detailed plans from phase scope
|
|
@@ -261,7 +261,7 @@ fi
|
|
|
261
261
|
2. Display banner:
|
|
262
262
|
```
|
|
263
263
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
264
|
-
|
|
264
|
+
pp-core ► PRD EXPRESS PATH
|
|
265
265
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
266
266
|
|
|
267
267
|
Using PRD: {PRD_FILE}
|
|
@@ -353,7 +353,7 @@ pp_run query commit "docs(${padded_phase}): generate context from PRD" --files "
|
|
|
353
353
|
|
|
354
354
|
**If `--ingest <path-or-glob>` provided:**
|
|
355
355
|
|
|
356
|
-
1. Display banner: `
|
|
356
|
+
1. Display banner: `pp-core ► ADR Ingest Express Path` with `{INGEST_PATH}` and `{INGEST_FORMAT}`.
|
|
357
357
|
2. Parse each resolved ADR through `pp-core/bin/lib/adr-parser.cjs` (`--input`, `--format`) and collect normalized records.
|
|
358
358
|
3. Status gate: reject `superseded`/`rejected`/`deprecated`; warn on `proposed`; missing status defaults to `accepted`.
|
|
359
359
|
4. Empty-decisions fallback: if all parsed ADRs have zero `decisions[]`, emit `ADR ingest produced no locked decisions; fall back to discuss-phase for this phase.` and exit with `/pp:discuss-phase {N}` guidance.
|
|
@@ -491,7 +491,7 @@ If user selects "Skip research": skip to step 6.
|
|
|
491
491
|
Display banner:
|
|
492
492
|
```
|
|
493
493
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
494
|
-
|
|
494
|
+
pp-core ► RESEARCHING PHASE {X}
|
|
495
495
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
496
496
|
|
|
497
497
|
◆ Spawning researcher... (runs in a subagent — no output until it returns, ~1–5 min; expected, not a freeze)
|
|
@@ -501,7 +501,7 @@ Display banner:
|
|
|
501
501
|
|
|
502
502
|
```bash
|
|
503
503
|
if pp_run query teams-status --active >/dev/null 2>&1; then
|
|
504
|
-
echo "⚠️ CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS detected.
|
|
504
|
+
echo "⚠️ CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS detected. pp-core's multi-agent orchestration is not validated under claude-code agent-teams and may stall (a subagent's completion can fail to route to the orchestrator). Recommend disabling agent-teams for GSD workflows. See https://github.com/open-gsd/pp-core/issues/1355" >&2
|
|
505
505
|
fi
|
|
506
506
|
```
|
|
507
507
|
|
|
@@ -600,7 +600,7 @@ Display banner:
|
|
|
600
600
|
|
|
601
601
|
```
|
|
602
602
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
603
|
-
|
|
603
|
+
pp-core ► SECURITY THREAT MODEL REQUIRED (ASVS L{SECURITY_ASVS})
|
|
604
604
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
605
605
|
|
|
606
606
|
Each PLAN.md must include a <threat_model> block.
|
|
@@ -764,7 +764,7 @@ Pattern mapper activation is owned by the `pattern-mapper` capability's `plan:pr
|
|
|
764
764
|
Display banner:
|
|
765
765
|
```
|
|
766
766
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
767
|
-
|
|
767
|
+
pp-core ► PATTERN MAPPING PHASE {X}
|
|
768
768
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
769
769
|
|
|
770
770
|
◆ Spawning pattern mapper... (runs in a subagent — no output until it returns, ~1–5 min; expected, not a freeze)
|
|
@@ -818,7 +818,7 @@ Continue to step 8.
|
|
|
818
818
|
Display banner:
|
|
819
819
|
```
|
|
820
820
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
821
|
-
|
|
821
|
+
pp-core ► PLANNING PHASE {X}
|
|
822
822
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
823
823
|
|
|
824
824
|
◆ Spawning planner... (runs in a subagent — no output until it returns, ~1–5 min; expected, not a freeze)
|
|
@@ -1174,7 +1174,7 @@ Use AskUserQuestion for each gap (or batch if multiple gaps).
|
|
|
1174
1174
|
Display banner:
|
|
1175
1175
|
```
|
|
1176
1176
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1177
|
-
|
|
1177
|
+
pp-core ► VERIFYING PLANS
|
|
1178
1178
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1179
1179
|
|
|
1180
1180
|
◆ Spawning plan checker... (runs in a subagent — no output until it returns, ~1–5 min; expected, not a freeze)
|
|
@@ -1373,7 +1373,7 @@ BOUNCE_SCRIPT=$(pp_run query config-get workflow.plan_bounce_script 2>/dev/null
|
|
|
1373
1373
|
Display banner:
|
|
1374
1374
|
```
|
|
1375
1375
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1376
|
-
|
|
1376
|
+
pp-core ► BOUNCING PLANS (External Refinement)
|
|
1377
1377
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1378
1378
|
|
|
1379
1379
|
Script: ${BOUNCE_SCRIPT}
|
|
@@ -1639,7 +1639,7 @@ fi
|
|
|
1639
1639
|
Display banner:
|
|
1640
1640
|
```
|
|
1641
1641
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1642
|
-
|
|
1642
|
+
pp-core ► AUTO-ADVANCING TO EXECUTE
|
|
1643
1643
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1644
1644
|
|
|
1645
1645
|
Plans ready. Launching execute-phase...
|
|
@@ -1656,7 +1656,7 @@ The `--no-transition` flag tells execute-phase to return status after verificati
|
|
|
1656
1656
|
- **PHASE COMPLETE** → Display final summary:
|
|
1657
1657
|
```
|
|
1658
1658
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1659
|
-
|
|
1659
|
+
pp-core ► PHASE ${PHASE} COMPLETE ✓
|
|
1660
1660
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1661
1661
|
|
|
1662
1662
|
Auto-advance pipeline finished.
|
|
@@ -1680,7 +1680,7 @@ Route to `<offer_next>` (existing behavior).
|
|
|
1680
1680
|
Output this markdown directly (not as a code block):
|
|
1681
1681
|
|
|
1682
1682
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1683
|
-
|
|
1683
|
+
pp-core ► PHASE {X} PLANNED ✓
|
|
1684
1684
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1685
1685
|
|
|
1686
1686
|
**Phase {X}: {Name}** — {N} plan(s) in {M} wave(s)
|
|
@@ -56,7 +56,7 @@ pp-plan-review-convergence is disabled (workflow.plan_review_convergence=false).
|
|
|
56
56
|
This feature automates the plan→review→replan loop using external AI reviewers.
|
|
57
57
|
Enable it with:
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
pp config-set workflow.plan_review_convergence true
|
|
60
60
|
|
|
61
61
|
Then re-run: /pp:plan-review-convergence {PHASE}
|
|
62
62
|
```
|
|
@@ -86,7 +86,7 @@ Display startup banner:
|
|
|
86
86
|
|
|
87
87
|
```text
|
|
88
88
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
89
|
-
|
|
89
|
+
pp-core ► PLAN CONVERGENCE — Phase {phase_number}
|
|
90
90
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
91
91
|
|
|
92
92
|
Reviewers: {REVIEWER_FLAGS}
|
|
@@ -263,7 +263,7 @@ pp_run state planned-phase --phase "${PHASE}" --name "${phase_name}" --plans "${
|
|
|
263
263
|
Display:
|
|
264
264
|
```text
|
|
265
265
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
266
|
-
|
|
266
|
+
pp-core ► CONVERGENCE COMPLETE ✓
|
|
267
267
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
268
268
|
|
|
269
269
|
Phase {phase_number} converged in {cycle} cycle(s).
|
|
@@ -73,7 +73,7 @@ Write `.planning/seeds/SEED-{PADDED}-{slug}.md` immediately with sensible defaul
|
|
|
73
73
|
id: SEED-{PADDED}
|
|
74
74
|
status: dormant
|
|
75
75
|
planted: {ISO date}
|
|
76
|
-
planted_during: {current milestone/phase from STATE.md, or "unknown" if not in a
|
|
76
|
+
planted_during: {current milestone/phase from STATE.md, or "unknown" if not in a pp-core project}
|
|
77
77
|
trigger_when: when relevant
|
|
78
78
|
scope: unknown
|
|
79
79
|
---
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<purpose>
|
|
2
2
|
Create a clean branch for pull requests by filtering out transient .planning/ commits.
|
|
3
3
|
The PR branch contains only code changes and structural planning state — reviewers
|
|
4
|
-
don't see
|
|
4
|
+
don't see pp-core transient artifacts (PLAN.md, SUMMARY.md, CONTEXT.md, RESEARCH.md, etc.)
|
|
5
5
|
but milestone archives, STATE.md, ROADMAP.md, and PROJECT.md changes are preserved.
|
|
6
6
|
|
|
7
7
|
Uses git cherry-pick with path filtering to rebuild a clean history.
|
|
@@ -34,7 +34,7 @@ fi
|
|
|
34
34
|
Display:
|
|
35
35
|
```
|
|
36
36
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
37
|
-
|
|
37
|
+
pp-core ► PR BRANCH
|
|
38
38
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
39
39
|
|
|
40
40
|
Branch: {CURRENT_BRANCH}
|
|
@@ -66,7 +66,7 @@ Display consent screen:
|
|
|
66
66
|
|
|
67
67
|
```
|
|
68
68
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
69
|
-
|
|
69
|
+
pp-core > PROFILE YOUR CODING STYLE
|
|
70
70
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
71
71
|
|
|
72
72
|
Claude starts every conversation generic. A profile teaches Claude
|
|
@@ -404,7 +404,7 @@ If nothing changed: Display "No changes detected -- your profile is already up t
|
|
|
404
404
|
|
|
405
405
|
```
|
|
406
406
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
407
|
-
|
|
407
|
+
pp-core > PROFILE COMPLETE ✓
|
|
408
408
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
409
409
|
|
|
410
410
|
Your profile: $HOME/.claude/pp-core/USER-PROFILE.md
|
|
@@ -752,5 +752,5 @@ Then for each failed check, add a concrete next action:
|
|
|
752
752
|
- [ ] What's next clearly explained
|
|
753
753
|
- [ ] Smart routing: /pp:execute-phase if plans exist, /pp:plan-phase if not
|
|
754
754
|
- [ ] User confirms before any action
|
|
755
|
-
- [ ] Seamless handoff to appropriate
|
|
755
|
+
- [ ] Seamless handoff to appropriate pp-core command
|
|
756
756
|
</success_criteria>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<purpose>
|
|
2
|
-
Execute small, ad-hoc tasks with
|
|
2
|
+
Execute small, ad-hoc tasks with pp-core guarantees (atomic commits, STATE.md tracking). Quick mode spawns pp-planner (quick mode) + pp-executor(s), tracks tasks in `.planning/quick/`, and updates STATE.md's "Quick Tasks Completed" table.
|
|
3
3
|
|
|
4
4
|
With `--full` flag: enables the complete quality pipeline — discussion + research + plan-checking + verification. One flag for everything.
|
|
5
5
|
|
|
@@ -17,7 +17,7 @@ Read all files referenced by the invoking prompt's execution_context before star
|
|
|
17
17
|
</required_reading>
|
|
18
18
|
|
|
19
19
|
<available_agent_types>
|
|
20
|
-
Valid
|
|
20
|
+
Valid pp-core subagent types (use exact names — do not fall back to 'general-purpose'):
|
|
21
21
|
- pp-phase-researcher — Researches technical approaches for a phase
|
|
22
22
|
- pp-planner — Creates detailed plans from phase scope
|
|
23
23
|
- pp-plan-checker — Reviews plan quality before execution
|
|
@@ -60,7 +60,7 @@ Display banner based on active flags:
|
|
|
60
60
|
If `$FULL_MODE` (all phases enabled — `--full` or all granular flags):
|
|
61
61
|
```
|
|
62
62
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
63
|
-
|
|
63
|
+
pp-core ► QUICK TASK (FULL)
|
|
64
64
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
65
65
|
|
|
66
66
|
◆ Discussion + research + plan checking + verification enabled
|
|
@@ -69,7 +69,7 @@ If `$FULL_MODE` (all phases enabled — `--full` or all granular flags):
|
|
|
69
69
|
If `$DISCUSS_MODE` and `$VALIDATE_MODE` (no research):
|
|
70
70
|
```
|
|
71
71
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
72
|
-
|
|
72
|
+
pp-core ► QUICK TASK (DISCUSS + VALIDATE)
|
|
73
73
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
74
74
|
|
|
75
75
|
◆ Discussion + plan checking + verification enabled
|
|
@@ -78,7 +78,7 @@ If `$DISCUSS_MODE` and `$VALIDATE_MODE` (no research):
|
|
|
78
78
|
If `$DISCUSS_MODE` and `$RESEARCH_MODE` (no validate):
|
|
79
79
|
```
|
|
80
80
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
81
|
-
|
|
81
|
+
pp-core ► QUICK TASK (DISCUSS + RESEARCH)
|
|
82
82
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
83
83
|
|
|
84
84
|
◆ Discussion + research enabled
|
|
@@ -87,7 +87,7 @@ If `$DISCUSS_MODE` and `$RESEARCH_MODE` (no validate):
|
|
|
87
87
|
If `$RESEARCH_MODE` and `$VALIDATE_MODE` (no discuss):
|
|
88
88
|
```
|
|
89
89
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
90
|
-
|
|
90
|
+
pp-core ► QUICK TASK (RESEARCH + VALIDATE)
|
|
91
91
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
92
92
|
|
|
93
93
|
◆ Research + plan checking + verification enabled
|
|
@@ -96,7 +96,7 @@ If `$RESEARCH_MODE` and `$VALIDATE_MODE` (no discuss):
|
|
|
96
96
|
If `$DISCUSS_MODE` only:
|
|
97
97
|
```
|
|
98
98
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
99
|
-
|
|
99
|
+
pp-core ► QUICK TASK (DISCUSS)
|
|
100
100
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
101
101
|
|
|
102
102
|
◆ Discussion phase enabled — surfacing gray areas before planning
|
|
@@ -105,7 +105,7 @@ If `$DISCUSS_MODE` only:
|
|
|
105
105
|
If `$RESEARCH_MODE` only:
|
|
106
106
|
```
|
|
107
107
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
108
|
-
|
|
108
|
+
pp-core ► QUICK TASK (RESEARCH)
|
|
109
109
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
110
110
|
|
|
111
111
|
◆ Research phase enabled — investigating approaches before planning
|
|
@@ -114,7 +114,7 @@ If `$RESEARCH_MODE` only:
|
|
|
114
114
|
If `$VALIDATE_MODE` only:
|
|
115
115
|
```
|
|
116
116
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
117
|
-
|
|
117
|
+
pp-core ► QUICK TASK (VALIDATE)
|
|
118
118
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
119
119
|
|
|
120
120
|
◆ Plan checking + verification enabled
|
|
@@ -263,7 +263,7 @@ Skip this step entirely if NOT `$DISCUSS_MODE`.
|
|
|
263
263
|
Display banner:
|
|
264
264
|
```
|
|
265
265
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
266
|
-
|
|
266
|
+
pp-core ► DISCUSSING QUICK TASK
|
|
267
267
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
268
268
|
|
|
269
269
|
◆ Surfacing gray areas for: ${DESCRIPTION}
|
|
@@ -390,7 +390,7 @@ Skip this step entirely if NOT `$RESEARCH_MODE`.
|
|
|
390
390
|
Display banner:
|
|
391
391
|
```
|
|
392
392
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
393
|
-
|
|
393
|
+
pp-core ► RESEARCHING QUICK TASK
|
|
394
394
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
395
395
|
|
|
396
396
|
◆ Investigating approaches for: ${DESCRIPTION} (runs in a subagent — no output until it returns, ~1–5 min; expected, not a freeze)
|
|
@@ -518,7 +518,7 @@ Skip this step entirely if NOT `$VALIDATE_MODE`.
|
|
|
518
518
|
Display banner:
|
|
519
519
|
```
|
|
520
520
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
521
|
-
|
|
521
|
+
pp-core ► CHECKING PLAN
|
|
522
522
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
523
523
|
|
|
524
524
|
◆ Spawning plan checker... (runs in a subagent — no output until it returns, ~1–5 min; expected, not a freeze)
|
|
@@ -858,7 +858,7 @@ Skip this step entirely if NOT `$VALIDATE_MODE`.
|
|
|
858
858
|
Display banner:
|
|
859
859
|
```
|
|
860
860
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
861
|
-
|
|
861
|
+
pp-core ► VERIFYING RESULTS
|
|
862
862
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
863
863
|
|
|
864
864
|
◆ Spawning verifier... (runs in a subagent — no output until it returns, ~1–5 min; expected, not a freeze)
|
|
@@ -993,7 +993,7 @@ Display completion output:
|
|
|
993
993
|
```
|
|
994
994
|
---
|
|
995
995
|
|
|
996
|
-
|
|
996
|
+
pp-core > QUICK TASK COMPLETE (VALIDATED)
|
|
997
997
|
|
|
998
998
|
Quick Task ${quick_id}: ${DESCRIPTION}
|
|
999
999
|
|
|
@@ -1011,7 +1011,7 @@ Ready for next task: /pp:quick ${GSD_WS}
|
|
|
1011
1011
|
```
|
|
1012
1012
|
---
|
|
1013
1013
|
|
|
1014
|
-
|
|
1014
|
+
pp-core > QUICK TASK COMPLETE
|
|
1015
1015
|
|
|
1016
1016
|
Quick Task ${quick_id}: ${DESCRIPTION}
|
|
1017
1017
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Invoked by `/pp:update --reapply` (`commands/gsd/update.md`).
|
|
4
4
|
|
|
5
|
-
After a
|
|
5
|
+
After a pp-core update wipes and reinstalls files, this workflow merges user's previously saved local modifications back into the new version. Uses three-way comparison (pristine baseline, user-modified backup, newly installed version) to reliably distinguish user customizations from version drift.
|
|
6
6
|
|
|
7
7
|
**Critical invariant:** Every file in `pp-local-patches/` was backed up because the installer's hash comparison detected it was modified. The workflow must NEVER conclude "no custom content" for any backed-up file — that is a logical contradiction. When in doubt, classify as CONFLICT requiring user review, not SKIP.
|
|
8
8
|
|
|
@@ -112,14 +112,14 @@ Read `backup-meta.json` from the patches directory.
|
|
|
112
112
|
No local patches found. Nothing to reapply.
|
|
113
113
|
|
|
114
114
|
Local patches are automatically saved when you run /pp:update
|
|
115
|
-
after modifying any
|
|
115
|
+
after modifying any pp-core workflow, command, or agent files.
|
|
116
116
|
```
|
|
117
117
|
Exit.
|
|
118
118
|
|
|
119
119
|
## Step 2: Determine baseline for three-way comparison
|
|
120
120
|
|
|
121
|
-
The quality of the merge depends on having a **pristine baseline** — the original unmodified version of each file from the pre-update
|
|
122
|
-
- **Pristine baseline** (original
|
|
121
|
+
The quality of the merge depends on having a **pristine baseline** — the original unmodified version of each file from the pre-update pp-core release. This enables three-way comparison:
|
|
122
|
+
- **Pristine baseline** (original pp-core file before any user edits)
|
|
123
123
|
- **User's version** (backed up in `pp-local-patches/`)
|
|
124
124
|
- **New version** (freshly installed after update)
|
|
125
125
|
|
|
@@ -160,7 +160,7 @@ Extract the pristine version from the matched commit:
|
|
|
160
160
|
git -C "$CONFIG_DIR" show "${BASELINE_COMMIT}:${file_path}"
|
|
161
161
|
```
|
|
162
162
|
|
|
163
|
-
**Why this matters:** `git log --diff-filter=A` returns the commit that *first added* the file, which is the wrong baseline on repos that have been through multiple
|
|
163
|
+
**Why this matters:** `git log --diff-filter=A` returns the commit that *first added* the file, which is the wrong baseline on repos that have been through multiple pp-core update cycles. The `pristine_hashes` field in `backup-meta.json` records the SHA-256 of the file as it existed in the pre-update pp-core release — matching against it finds the correct baseline regardless of how many updates have occurred.
|
|
164
164
|
|
|
165
165
|
### Option B: Pristine snapshot directory
|
|
166
166
|
Check if a `pp-pristine/` directory exists alongside `pp-local-patches/`:
|
|
@@ -328,7 +328,7 @@ Recommended: manually inspect each file above and confirm your customisations su
|
|
|
328
328
|
```text
|
|
329
329
|
HALT: {DRIFTED_COUNT} file(s) were skipped by the deterministic verifier because the
|
|
330
330
|
pp-pristine/ snapshot on disk does not match the hash recorded in backup-meta.json
|
|
331
|
-
(pristine drift — the snapshot was refreshed to a newer
|
|
331
|
+
(pristine drift — the snapshot was refreshed to a newer pp-core version after the backup
|
|
332
332
|
was captured). These files were NOT diff-verified; their user customisations may or
|
|
333
333
|
may not have survived the merge.
|
|
334
334
|
|
|
@@ -61,7 +61,7 @@ Reviewer-selection precedence:
|
|
|
61
61
|
4. No key + no flags → all detected reviewers
|
|
62
62
|
|
|
63
63
|
`review.default_reviewers` behavior:
|
|
64
|
-
- Value must be a non-empty array of slug strings (configured via `
|
|
64
|
+
- Value must be a non-empty array of slug strings (configured via `pp config-set review.default_reviewers '["gemini","codex"]'`)
|
|
65
65
|
- Unknown slugs warn and are ignored
|
|
66
66
|
- Known-but-undetected slugs emit an info note and are ignored
|
|
67
67
|
- If all configured reviewers are unavailable, fail with an actionable message
|
|
@@ -613,7 +613,7 @@ If a CLI or local server fails, log the error and continue with remaining review
|
|
|
613
613
|
Display progress:
|
|
614
614
|
```
|
|
615
615
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
616
|
-
|
|
616
|
+
pp-core ► CROSS-AI REVIEW — Phase {N}
|
|
617
617
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
618
618
|
|
|
619
619
|
◆ Reviewing with {CLI}... done ✓
|
|
@@ -737,7 +737,7 @@ Display summary:
|
|
|
737
737
|
|
|
738
738
|
```
|
|
739
739
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
740
|
-
|
|
740
|
+
pp-core ► REVIEW COMPLETE
|
|
741
741
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
742
742
|
|
|
743
743
|
Phase {N} reviewed by {count} AI systems.
|
|
@@ -8,7 +8,7 @@ Read all files referenced by the invoking prompt's execution_context before star
|
|
|
8
8
|
</required_reading>
|
|
9
9
|
|
|
10
10
|
<available_agent_types>
|
|
11
|
-
Valid
|
|
11
|
+
Valid pp-core subagent types (use exact names — do not fall back to 'general-purpose'):
|
|
12
12
|
- pp-codebase-mapper — Maps project structure and dependencies
|
|
13
13
|
</available_agent_types>
|
|
14
14
|
|
|
@@ -7,7 +7,7 @@ Verify threat mitigations for a completed phase. Confirm PLAN.md threat register
|
|
|
7
7
|
</required_reading>
|
|
8
8
|
|
|
9
9
|
<available_agent_types>
|
|
10
|
-
Valid
|
|
10
|
+
Valid pp-core subagent types (use exact names — do not fall back to 'general-purpose'):
|
|
11
11
|
- pp-security-auditor — Verifies threat mitigation coverage
|
|
12
12
|
</available_agent_types>
|
|
13
13
|
|
|
@@ -33,7 +33,7 @@ Resolve active step hooks from `VERIFY_POST_HOOKS_JSON` where `kind == "step"` a
|
|
|
33
33
|
|
|
34
34
|
If no active secure-phase step hook exists: exit with "Security enforcement disabled. Enable via /pp:settings."
|
|
35
35
|
|
|
36
|
-
Display banner: `
|
|
36
|
+
Display banner: `pp-core > SECURE PHASE {N}: {name}`
|
|
37
37
|
|
|
38
38
|
## 1. Detect Input State
|
|
39
39
|
|
|
@@ -140,7 +140,7 @@ Handle return:
|
|
|
140
140
|
**ENFORCING GATE:** If `threats_open > 0` after all options exhausted (user did not accept, not all verified closed):
|
|
141
141
|
|
|
142
142
|
```
|
|
143
|
-
|
|
143
|
+
pp-core > PHASE {N} SECURITY BLOCKED
|
|
144
144
|
{K} threats open — phase advancement blocked until threats_open: 0
|
|
145
145
|
▶ Fix mitigations then re-run: /pp:secure-phase {N}
|
|
146
146
|
▶ Or document accepted risks in SECURITY.md and re-run.
|
|
@@ -158,7 +158,7 @@ pp_run query commit "docs(phase-${PHASE}): add/update security threat verificati
|
|
|
158
158
|
|
|
159
159
|
**Secured (threats_open: 0):**
|
|
160
160
|
```
|
|
161
|
-
|
|
161
|
+
pp-core > PHASE {N} THREAT-SECURE
|
|
162
162
|
threats_open: 0 — all threats have dispositions.
|
|
163
163
|
▶ /pp:validate-phase {N} validate test coverage
|
|
164
164
|
▶ /pp:verify-work {N} run UAT
|
|
@@ -61,7 +61,7 @@ mkdir -p .planning/reports
|
|
|
61
61
|
Write `.planning/reports/SESSION_REPORT.md` (or `.planning/reports/YYYYMMDD-session-report.md` if previous reports exist):
|
|
62
62
|
|
|
63
63
|
```markdown
|
|
64
|
-
#
|
|
64
|
+
# pp-core Session Report
|
|
65
65
|
|
|
66
66
|
**Generated:** [timestamp]
|
|
67
67
|
**Project:** [from PROJECT.md title or directory name]
|