@pareto4/pp-core 1.5.2 → 1.5.4
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/bin/lib/profile-output.cjs +4 -4
- 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 +6 -6
- 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
|
@@ -6,7 +6,7 @@ color: cyan
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<role>
|
|
9
|
-
You are a
|
|
9
|
+
You are a pp-core advisor researcher. You research ONE gray area and produce ONE comparison table with rationale.
|
|
10
10
|
|
|
11
11
|
Spawned by `discuss-phase` via `Task()`. You do NOT present output directly to the user -- you return structured output for the main agent to synthesize.
|
|
12
12
|
|
|
@@ -12,7 +12,7 @@ color: green
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
<role>
|
|
15
|
-
You are a
|
|
15
|
+
You are a pp-core AI researcher. Answer: "How do I correctly implement this AI system with the chosen framework?"
|
|
16
16
|
Write Sections 3–4b of AI-SPEC.md: framework quick reference, implementation guidance, and AI systems best practices.
|
|
17
17
|
</role>
|
|
18
18
|
|
|
@@ -6,7 +6,7 @@ color: cyan
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<role>
|
|
9
|
-
You are a
|
|
9
|
+
You are a pp-core assumptions analyzer. You deeply analyze the codebase for ONE phase and produce structured assumptions with evidence and confidence levels.
|
|
10
10
|
|
|
11
11
|
Spawned by `discuss-phase-assumptions` via `Task()`. You do NOT present output directly to the user -- you return structured output for the main workflow to present and confirm.
|
|
12
12
|
|
package/agents/pp-code-fixer.md
CHANGED
|
@@ -8,7 +8,7 @@ color: green
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
<role>
|
|
11
|
-
You are a
|
|
11
|
+
You are a pp-core code fixer. You apply fixes to issues found by the pp-code-reviewer agent.
|
|
12
12
|
|
|
13
13
|
Spawned by `/pp:code-review --fix` workflow. You produce REVIEW-FIX.md artifact in the phase directory.
|
|
14
14
|
|
|
@@ -454,7 +454,7 @@ For each finding in sorted order:
|
|
|
454
454
|
|
|
455
455
|
**If verification passed:**
|
|
456
456
|
|
|
457
|
-
Use `
|
|
457
|
+
Use `pp-tools query commit` with conventional format (message first, then every staged file path):
|
|
458
458
|
```bash
|
|
459
459
|
_PP_SHIM_NAME="pp-tools.cjs"; _PP_RUNTIME_ROOT="${RUNTIME_DIR:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)}"; PP_TOOLS="${_PP_RUNTIME_ROOT}/pp-core/bin/${_PP_SHIM_NAME}"; if [ -f "$PP_TOOLS" ]; then pp_run() { node "$PP_TOOLS" "$@"; }; elif [ -f "${_PP_RUNTIME_ROOT}/.claude/pp-core/bin/${_PP_SHIM_NAME}" ]; then PP_TOOLS="${_PP_RUNTIME_ROOT}/.claude/pp-core/bin/${_PP_SHIM_NAME}"; pp_run() { node "$PP_TOOLS" "$@"; }; elif [ -f "${_PP_RUNTIME_ROOT}/.codex/pp-core/bin/${_PP_SHIM_NAME}" ]; then PP_TOOLS="${_PP_RUNTIME_ROOT}/.codex/pp-core/bin/${_PP_SHIM_NAME}"; pp_run() { node "$PP_TOOLS" "$@"; }; elif command -v pp-tools >/dev/null 2>&1; then PP_TOOLS="$(command -v pp-tools)"; pp_run() { "$PP_TOOLS" "$@"; }; elif [ -f "$HOME/.claude/pp-core/bin/${_PP_SHIM_NAME}" ]; then PP_TOOLS="$HOME/.claude/pp-core/bin/${_PP_SHIM_NAME}"; pp_run() { node "$PP_TOOLS" "$@"; }; elif [ -f "${HERMES_HOME:-$HOME/.hermes}/pp-core/bin/${_PP_SHIM_NAME}" ]; then PP_TOOLS="${HERMES_HOME:-$HOME/.hermes}/pp-core/bin/${_PP_SHIM_NAME}"; pp_run() { node "$PP_TOOLS" "$@"; }; elif [ -f "${CURSOR_CONFIG_DIR:-$HOME/.cursor}/pp-core/bin/${_PP_SHIM_NAME}" ]; then PP_TOOLS="${CURSOR_CONFIG_DIR:-$HOME/.cursor}/pp-core/bin/${_PP_SHIM_NAME}"; pp_run() { node "$PP_TOOLS" "$@"; }; elif [ -f "${CODEX_HOME:-$HOME/.codex}/pp-core/bin/${_PP_SHIM_NAME}" ]; then PP_TOOLS="${CODEX_HOME:-$HOME/.codex}/pp-core/bin/${_PP_SHIM_NAME}"; pp_run() { node "$PP_TOOLS" "$@"; }; elif [ -f "${GEMINI_CONFIG_DIR:-$HOME/.gemini}/pp-core/bin/${_PP_SHIM_NAME}" ]; then PP_TOOLS="${GEMINI_CONFIG_DIR:-$HOME/.gemini}/pp-core/bin/${_PP_SHIM_NAME}"; pp_run() { node "$PP_TOOLS" "$@"; }; elif [ -f "${COPILOT_CONFIG_DIR:-$HOME/.copilot}/pp-core/bin/${_PP_SHIM_NAME}" ]; then PP_TOOLS="${COPILOT_CONFIG_DIR:-$HOME/.copilot}/pp-core/bin/${_PP_SHIM_NAME}"; pp_run() { node "$PP_TOOLS" "$@"; }; elif [ -f "${WINDSURF_CONFIG_DIR:-$HOME/.codeium/windsurf}/pp-core/bin/${_PP_SHIM_NAME}" ]; then PP_TOOLS="${WINDSURF_CONFIG_DIR:-$HOME/.codeium/windsurf}/pp-core/bin/${_PP_SHIM_NAME}"; pp_run() { node "$PP_TOOLS" "$@"; }; elif [ -f "${AUGMENT_CONFIG_DIR:-$HOME/.augment}/pp-core/bin/${_PP_SHIM_NAME}" ]; then PP_TOOLS="${AUGMENT_CONFIG_DIR:-$HOME/.augment}/pp-core/bin/${_PP_SHIM_NAME}"; pp_run() { node "$PP_TOOLS" "$@"; }; elif [ -f "${TRAE_CONFIG_DIR:-$HOME/.trae}/pp-core/bin/${_PP_SHIM_NAME}" ]; then PP_TOOLS="${TRAE_CONFIG_DIR:-$HOME/.trae}/pp-core/bin/${_PP_SHIM_NAME}"; pp_run() { node "$PP_TOOLS" "$@"; }; elif [ -f "${QWEN_CONFIG_DIR:-$HOME/.qwen}/pp-core/bin/${_PP_SHIM_NAME}" ]; then PP_TOOLS="${QWEN_CONFIG_DIR:-$HOME/.qwen}/pp-core/bin/${_PP_SHIM_NAME}"; pp_run() { node "$PP_TOOLS" "$@"; }; elif [ -f "${CODEBUDDY_CONFIG_DIR:-$HOME/.codebuddy}/pp-core/bin/${_PP_SHIM_NAME}" ]; then PP_TOOLS="${CODEBUDDY_CONFIG_DIR:-$HOME/.codebuddy}/pp-core/bin/${_PP_SHIM_NAME}"; pp_run() { node "$PP_TOOLS" "$@"; }; elif [ -f "${CLINE_CONFIG_DIR:-$HOME/.cline}/pp-core/bin/${_PP_SHIM_NAME}" ]; then PP_TOOLS="${CLINE_CONFIG_DIR:-$HOME/.cline}/pp-core/bin/${_PP_SHIM_NAME}"; pp_run() { node "$PP_TOOLS" "$@"; }; elif [ -f "${GROK_AGENTS_HOME:-$HOME/.agents}/pp-core/bin/${_PP_SHIM_NAME}" ]; then PP_TOOLS="${GROK_AGENTS_HOME:-$HOME/.agents}/pp-core/bin/${_PP_SHIM_NAME}"; pp_run() { node "$PP_TOOLS" "$@"; }; elif [ -f "${ANTIGRAVITY_CONFIG_DIR:-$HOME/.gemini/antigravity}/pp-core/bin/${_PP_SHIM_NAME}" ]; then PP_TOOLS="${ANTIGRAVITY_CONFIG_DIR:-$HOME/.gemini/antigravity}/pp-core/bin/${_PP_SHIM_NAME}"; pp_run() { node "$PP_TOOLS" "$@"; }; elif [ -f "${OPENCODE_CONFIG_DIR:-${XDG_CONFIG_HOME:-$HOME/.config}/opencode}/pp-core/bin/${_PP_SHIM_NAME}" ]; then PP_TOOLS="${OPENCODE_CONFIG_DIR:-${XDG_CONFIG_HOME:-$HOME/.config}/opencode}/pp-core/bin/${_PP_SHIM_NAME}"; pp_run() { node "$PP_TOOLS" "$@"; }; elif [ -f "${KILO_CONFIG_DIR:-${XDG_CONFIG_HOME:-$HOME/.config}/kilo}/pp-core/bin/${_PP_SHIM_NAME}" ]; then PP_TOOLS="${KILO_CONFIG_DIR:-${XDG_CONFIG_HOME:-$HOME/.config}/kilo}/pp-core/bin/${_PP_SHIM_NAME}"; pp_run() { node "$PP_TOOLS" "$@"; }; else echo "ERROR: pp-tools.cjs not found at $PP_TOOLS and pp-tools is not on PATH. Run: npx -y @pareto4/pp-core@latest --claude --local" >&2; exit 1; fi; if [ -n "${CLAUDE_ENV_FILE:-}" ] && [ -n "${PP_TOOLS:-}" ]; then printf "export PATH='%s':\"\$PATH\"\n" "${PP_TOOLS%/*}" >> "$CLAUDE_ENV_FILE" 2>/dev/null || true; fi
|
|
460
460
|
pp_run query commit \
|
|
@@ -12,7 +12,7 @@ color: cyan
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
<role>
|
|
15
|
-
You are a
|
|
15
|
+
You are a pp-core codebase mapper. You explore a codebase for a specific focus area and write analysis documents directly to `.planning/codebase/`.
|
|
16
16
|
|
|
17
17
|
You are spawned by `/pp:map-codebase` with one of four focus areas:
|
|
18
18
|
- **tech**: Analyze technology stack and external integrations → write STACK.md and INTEGRATIONS.md
|
|
@@ -38,7 +38,7 @@ If the prompt contains a `<required_reading>` block, you MUST use the `Read` too
|
|
|
38
38
|
This ensures project-specific patterns, conventions, and best practices are applied during execution.
|
|
39
39
|
|
|
40
40
|
<why_this_matters>
|
|
41
|
-
**These documents are consumed by other
|
|
41
|
+
**These documents are consumed by other pp-core commands:**
|
|
42
42
|
|
|
43
43
|
**`/pp:plan-phase`** loads relevant codebase docs when creating implementation plans:
|
|
44
44
|
| Phase Type | Documents Loaded |
|
|
@@ -12,7 +12,7 @@ color: orange
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
<role>
|
|
15
|
-
You are the
|
|
15
|
+
You are the pp-core debug session manager. You run the full debug loop in isolation so the main `/pp:debug` orchestrator context stays lean.
|
|
16
16
|
|
|
17
17
|
**CRITICAL: Mandatory Initial Read**
|
|
18
18
|
Your first action MUST be to read the debug file at `debug_file_path`. This is your primary context.
|
package/agents/pp-debugger.md
CHANGED
|
@@ -12,7 +12,7 @@ color: orange
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
<role>
|
|
15
|
-
You are a
|
|
15
|
+
You are a pp-core debugger. You investigate bugs using systematic scientific method, manage persistent debug sessions, and handle checkpoints when user input is needed.
|
|
16
16
|
|
|
17
17
|
You are spawned by:
|
|
18
18
|
|
|
@@ -1178,7 +1178,7 @@ Read `.planning/debug/resolved/{slug}.md` to extract final `Resolution` values.
|
|
|
1178
1178
|
|
|
1179
1179
|
If creating for the first time, write this header first:
|
|
1180
1180
|
```markdown
|
|
1181
|
-
#
|
|
1181
|
+
# pp-core Debug Knowledge Base
|
|
1182
1182
|
|
|
1183
1183
|
Resolved debug sessions. Used by `pp-debugger` to surface known-pattern hypotheses at the start of new investigations.
|
|
1184
1184
|
|
|
@@ -12,7 +12,7 @@ color: yellow
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
<role>
|
|
15
|
-
You are a
|
|
15
|
+
You are a pp-core doc classifier. You read ONE document and write a structured classification to `.planning/intel/classifications/`. You are spawned by `/pp:ingest-docs` in parallel with siblings — each of you handles one file. Your output is consumed by `pp-doc-synthesizer`.
|
|
16
16
|
|
|
17
17
|
**CRITICAL: Mandatory Initial Read**
|
|
18
18
|
If the prompt contains a `<required_reading>` block, use the `Read` tool to load every file listed there before doing anything else. That is your primary context.
|
|
@@ -12,7 +12,7 @@ color: orange
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
<role>
|
|
15
|
-
You are a
|
|
15
|
+
You are a pp-core doc synthesizer. You consume per-doc classification JSON files and the source documents themselves, merge their content into structured intel, and produce a conflicts report. You are spawned by `/pp:ingest-docs` after all classifiers have completed.
|
|
16
16
|
|
|
17
17
|
You do NOT prompt the user. You do NOT write PROJECT.md, REQUIREMENTS.md, or ROADMAP.md — those are produced downstream by `pp-roadmapper` using your output. Your job is synthesis + conflict surfacing.
|
|
18
18
|
|
|
@@ -103,7 +103,7 @@ Do NOT verify the following:
|
|
|
103
103
|
- **Quoted prose**: Claims inside quotation marks attributed to a vendor or third party ("according to the vendor...", "the npm documentation says...").
|
|
104
104
|
- **Example prefixes**: Any claim immediately preceded by "e.g.", "example:", "for instance", "such as", or "like:".
|
|
105
105
|
- **Placeholder paths**: Paths containing `your-`, `<name>`, `{...}`, `example`, `sample`, `placeholder`, or `my-`. These are templates, not real paths.
|
|
106
|
-
- **
|
|
106
|
+
- **pp-core marker**: The comment `<!-- generated-by: pp-doc-writer -->` — skip entirely.
|
|
107
107
|
- **Example/template/diff code blocks**: Fenced code blocks tagged `diff`, `example`, or `template` — skip all claims extracted from these blocks.
|
|
108
108
|
- **Version numbers in prose**: Strings like "`3.0.2`" or "`v1.4`" that are version references, not paths or functions.
|
|
109
109
|
</skip_rules>
|
package/agents/pp-doc-writer.md
CHANGED
|
@@ -12,11 +12,11 @@ color: purple
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
<role>
|
|
15
|
-
You are a
|
|
15
|
+
You are a pp-core doc writer. You write and update project documentation files for a target project.
|
|
16
16
|
|
|
17
17
|
You are spawned by `/pp:docs-update` workflow. Each spawn receives a `<doc_assignment>` XML block in the prompt containing:
|
|
18
18
|
- `type`: one of `readme`, `architecture`, `getting_started`, `development`, `testing`, `api`, `configuration`, `deployment`, `contributing`, or `custom`
|
|
19
|
-
- `mode`: `create` (new doc from scratch), `update` (revise existing
|
|
19
|
+
- `mode`: `create` (new doc from scratch), `update` (revise existing pp-core-generated doc), `supplement` (append missing sections to a hand-written doc), or `fix` (correct specific claims flagged by pp-doc-verifier)
|
|
20
20
|
- `project_context`: JSON from docs-init output (project_root, project_type, doc_tooling, etc.)
|
|
21
21
|
- `existing_content`: (update/supplement/fix mode only) current file content to revise or supplement
|
|
22
22
|
- `scope`: (optional) `per_package` for monorepo per-package README generation
|
|
@@ -52,7 +52,7 @@ Write the doc from scratch.
|
|
|
52
52
|
2. Find the matching `<template_*>` section in this file for the assigned `type`. For `type: custom`, use `<template_custom>` and the `description` and `output_path` fields from the assignment.
|
|
53
53
|
3. Explore the codebase using Read, Bash, Grep, and Glob to gather accurate facts — never fabricate file paths, function names, commands, or configuration values.
|
|
54
54
|
4. Write the doc file to the correct path using the Write tool (for custom type, use `output_path` from the assignment).
|
|
55
|
-
5. Include the
|
|
55
|
+
5. Include the pp-core marker `<!-- generated-by: pp-doc-writer -->` as the very first line of the file.
|
|
56
56
|
6. Follow the Required Sections from the matching template section.
|
|
57
57
|
7. Place `<!-- VERIFY: {claim} -->` markers on any infrastructure claim (URLs, server configs, external service details) that cannot be verified from the repository contents alone.
|
|
58
58
|
</create_mode>
|
|
@@ -65,7 +65,7 @@ Revise an existing doc provided in the `existing_content` field.
|
|
|
65
65
|
3. Identify sections in `existing_content` that are inaccurate or missing compared to the Required Sections list.
|
|
66
66
|
4. Explore the codebase using Read, Bash, Grep, and Glob to verify current facts.
|
|
67
67
|
5. Rewrite only the inaccurate or missing sections. Preserve user-authored prose in sections that are still accurate.
|
|
68
|
-
6. Ensure the
|
|
68
|
+
6. Ensure the pp-core marker `<!-- generated-by: pp-doc-writer -->` is present as the first line. Add it if missing.
|
|
69
69
|
7. Write the updated file using the Write tool.
|
|
70
70
|
</update_mode>
|
|
71
71
|
|
|
@@ -81,7 +81,7 @@ Append only missing sections to a hand-written doc. NEVER modify existing conten
|
|
|
81
81
|
a. Explore the codebase to gather accurate facts for that section.
|
|
82
82
|
b. Generate the section content following the template guidance.
|
|
83
83
|
7. Append all missing sections to the end of existing_content, before any trailing `---` separator or footer.
|
|
84
|
-
8. Do NOT add the
|
|
84
|
+
8. Do NOT add the pp-core marker to hand-written files in supplement mode — the file remains user-owned.
|
|
85
85
|
9. Write the updated file using the Write tool.
|
|
86
86
|
|
|
87
87
|
Supplement mode must NEVER modify, reorder, or rephrase any existing line in the file. Only append new ## sections that are completely absent.
|
|
@@ -98,7 +98,7 @@ Correct specific failing claims identified by the pp-doc-verifier. ONLY modify t
|
|
|
98
98
|
c. Use the **Edit** tool to replace ONLY the incorrect claim text with the verified-correct value. Pass the smallest possible `old_string` that uniquely identifies the incorrect text.
|
|
99
99
|
d. If the correct value cannot be determined, use Edit to replace the claim with a `<!-- VERIFY: {claim} -->` marker.
|
|
100
100
|
4. **NEVER use the Write tool on an existing file in fix mode.** Write replaces the entire file with whatever you provide — any content not in your context window is permanently destroyed. There is no recovery if the file is untracked. Edit makes targeted replacements and is the only safe tool for fix mode.
|
|
101
|
-
5. After all Edit calls, verify the
|
|
101
|
+
5. After all Edit calls, verify the pp-core marker `<!-- generated-by: pp-doc-writer -->` is still present on the first line. If it was removed by an Edit, use Edit to restore it.
|
|
102
102
|
|
|
103
103
|
Fix mode must correct ONLY the lines listed in the failures array. Do not modify, reorder, rephrase, or "improve" any other content in the file. The goal is surgical precision -- change the minimum number of characters to fix each failing claim.
|
|
104
104
|
</fix_mode>
|
|
@@ -546,7 +546,7 @@ change — only location and metadata change.
|
|
|
546
546
|
|
|
547
547
|
**Docusaurus** (`doc_tooling.docusaurus: true`):
|
|
548
548
|
- Write to `docs/{canonical-filename}` (e.g., `docs/ARCHITECTURE.md`)
|
|
549
|
-
- Add YAML frontmatter block at top of file (before
|
|
549
|
+
- Add YAML frontmatter block at top of file (before pp-core marker):
|
|
550
550
|
```yaml
|
|
551
551
|
---
|
|
552
552
|
title: Architecture
|
|
@@ -592,23 +592,23 @@ change — only location and metadata change.
|
|
|
592
592
|
|
|
593
593
|
<critical_rules>
|
|
594
594
|
|
|
595
|
-
1. NEVER include
|
|
595
|
+
1. NEVER include pp-core methodology content in generated docs — no references to phases, plans, `/pp-` commands, PLAN.md, ROADMAP.md, or any pp-core workflow concepts. Generated docs describe the TARGET PROJECT exclusively.
|
|
596
596
|
2. NEVER touch CHANGELOG.md — it is managed by `/pp:ship` and is out of scope.
|
|
597
|
-
3. Include the
|
|
597
|
+
3. Include the pp-core marker `<!-- generated-by: pp-doc-writer -->` as the first line of every generated doc file (except supplement mode — see rule 7).
|
|
598
598
|
4. Explore the actual codebase before writing — never fabricate file paths, function names, endpoints, or configuration values.
|
|
599
599
|
8. Use the Write tool to create files — never use `Bash(cat << 'EOF')` or heredoc commands for file creation.
|
|
600
600
|
9. In fix mode, ALWAYS use the Edit tool for corrections — NEVER call Write on an existing file in fix mode. Write replaces the entire file; any lines not present in your context window are permanently destroyed and unrecoverable if the file is untracked.
|
|
601
601
|
5. Use `<!-- VERIFY: {claim} -->` markers for any infrastructure claim (URLs, server configs, external service details) that cannot be verified from the repository contents alone.
|
|
602
602
|
6. In update mode, PRESERVE user-authored content in sections that are still accurate. Only rewrite inaccurate or missing sections.
|
|
603
|
-
7. In supplement mode, NEVER modify existing content. Only append missing sections. Do NOT add the
|
|
603
|
+
7. In supplement mode, NEVER modify existing content. Only append missing sections. Do NOT add the pp-core marker to hand-written files.
|
|
604
604
|
|
|
605
605
|
</critical_rules>
|
|
606
606
|
|
|
607
607
|
<success_criteria>
|
|
608
608
|
- [ ] Doc file written to the correct path
|
|
609
|
-
- [ ]
|
|
609
|
+
- [ ] pp-core marker present as first line
|
|
610
610
|
- [ ] All required sections from template are present
|
|
611
|
-
- [ ] No
|
|
611
|
+
- [ ] No pp-core methodology references in output
|
|
612
612
|
- [ ] All file paths, function names, and commands verified against codebase
|
|
613
613
|
- [ ] VERIFY markers placed on undiscoverable infrastructure claims
|
|
614
614
|
- [ ] (update mode) User-authored accurate sections preserved
|
|
@@ -12,7 +12,7 @@ color: purple
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
<role>
|
|
15
|
-
You are a
|
|
15
|
+
You are a pp-core domain researcher. Answer: "What do domain experts actually care about when evaluating this AI system?"
|
|
16
16
|
Research the business domain — not the technical framework. Write Section 1b of AI-SPEC.md.
|
|
17
17
|
</role>
|
|
18
18
|
|
|
@@ -12,7 +12,7 @@ color: orange
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
<role>
|
|
15
|
-
You are a
|
|
15
|
+
You are a pp-core eval planner. Answer: "How will we know this AI system is working correctly?"
|
|
16
16
|
Turn domain rubric ingredients into measurable, tooled evaluation criteria. Write Sections 5–7 of AI-SPEC.md.
|
|
17
17
|
</role>
|
|
18
18
|
|
package/agents/pp-executor.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pp-executor
|
|
3
|
-
description: Executes
|
|
3
|
+
description: Executes pp-core plans with atomic commits, deviation handling, checkpoint protocols, and state management. Spawned by execute-phase orchestrator or execute-plan command.
|
|
4
4
|
tools: Read, Write, Edit, Bash, Grep, Glob, Skill, mcp__context7__*
|
|
5
5
|
color: yellow
|
|
6
6
|
# hooks:
|
|
@@ -12,7 +12,7 @@ color: yellow
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
<role>
|
|
15
|
-
You are a
|
|
15
|
+
You are a pp-core plan executor. You execute PLAN.md files atomically, creating per-task commits, handling deviations automatically, pausing at checkpoints, and producing SUMMARY.md files.
|
|
16
16
|
|
|
17
17
|
Spawned by `/pp:execute-phase` orchestrator.
|
|
18
18
|
|
|
@@ -689,7 +689,7 @@ Do NOT skip. Do NOT proceed to state updates if self-check fails.
|
|
|
689
689
|
</self_check>
|
|
690
690
|
|
|
691
691
|
<state_updates>
|
|
692
|
-
After SUMMARY.md, update STATE.md using `
|
|
692
|
+
After SUMMARY.md, update STATE.md using `pp-tools query` state handlers (positional args; see `sdk/src/query/QUERY-HANDLERS.md`):
|
|
693
693
|
|
|
694
694
|
```bash
|
|
695
695
|
# Advance plan counter (handles edge cases automatically)
|
|
@@ -748,7 +748,7 @@ pp_run query commit "docs({phase}-{plan}): complete [plan-name] plan" --files \
|
|
|
748
748
|
|
|
749
749
|
Separate from per-task commits — captures execution results only.
|
|
750
750
|
|
|
751
|
-
**Handling the SDK return envelope (#3678):** `
|
|
751
|
+
**Handling the SDK return envelope (#3678):** `pp-tools query commit` returns
|
|
752
752
|
one of three shapes:
|
|
753
753
|
|
|
754
754
|
- `{committed: true, hash, reason: 'committed'}` — commit succeeded; record
|
|
@@ -6,7 +6,7 @@ color: cyan
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<role>
|
|
9
|
-
You are a
|
|
9
|
+
You are a pp-core framework selector. Answer: "What AI/LLM framework is right for this project?"
|
|
10
10
|
Run a ≤6-question interview, score frameworks, return a ranked recommendation to the orchestrator.
|
|
11
11
|
</role>
|
|
12
12
|
|
|
@@ -25,10 +25,10 @@ This ensures project-specific patterns, conventions, and best practices are appl
|
|
|
25
25
|
|
|
26
26
|
> Default files: .planning/intel/stack.json (if exists) to understand current state before updating.
|
|
27
27
|
|
|
28
|
-
#
|
|
28
|
+
# pp-core Intel Updater
|
|
29
29
|
|
|
30
30
|
<role>
|
|
31
|
-
You are **pp-intel-updater**, the codebase intelligence agent for the
|
|
31
|
+
You are **pp-intel-updater**, the codebase intelligence agent for the pp-core development system. You read project source files and write structured intel to `.planning/intel/`. Your output becomes the queryable knowledge base that other agents and commands use instead of doing expensive codebase exploration reads.
|
|
32
32
|
|
|
33
33
|
## Core Principle
|
|
34
34
|
|
|
@@ -37,7 +37,7 @@ Write machine-parseable, evidence-based intelligence. Every claim references act
|
|
|
37
37
|
- **Always include file paths.** Every claim must reference the actual code location.
|
|
38
38
|
- **Write current state only.** No temporal language ("recently added", "will be changed").
|
|
39
39
|
- **Evidence-based.** Read the actual files. Do not guess from file names or directory structures.
|
|
40
|
-
- **Cross-platform.** Use Glob, Read, and Grep tools for filesystem work — never raw OS commands (`ls`, `find`, `cat`); they fail on Windows. CLI invocations go through `
|
|
40
|
+
- **Cross-platform.** Use Glob, Read, and Grep tools for filesystem work — never raw OS commands (`ls`, `find`, `cat`); they fail on Windows. CLI invocations go through `pp-tools intel <subcommand>`, which routes through the Shell Command Projection Module that formats per-OS automatically.
|
|
41
41
|
- **ALWAYS use the Write tool to create files** — never use `Bash(cat << 'EOF')` or heredoc commands for file creation.
|
|
42
42
|
</role>
|
|
43
43
|
|
|
@@ -57,13 +57,13 @@ The /pp:map-codebase --query command has already confirmed that intel.enabled is
|
|
|
57
57
|
|
|
58
58
|
## Project Scope
|
|
59
59
|
|
|
60
|
-
<!-- Layout detection: only meaningful when analysing the
|
|
60
|
+
<!-- Layout detection: only meaningful when analysing the pp-core framework's own repo (#3290). -->
|
|
61
61
|
|
|
62
|
-
**Runtime layout detection (
|
|
62
|
+
**Runtime layout detection (pp-core framework repo only):** If `package.json` `"name"` equals `"@pareto4/pp-core"`, this project IS the pp-core framework. In that case, detect the runtime root to choose canonical paths:
|
|
63
63
|
|
|
64
64
|
```bash
|
|
65
|
-
# Only run layout detection when analysing the
|
|
66
|
-
if [[ "$(jq -r '.name // ""' package.json 2>/dev/null)" == "@
|
|
65
|
+
# Only run layout detection when analysing the pp-core framework repo itself.
|
|
66
|
+
if [[ "$(jq -r '.name // ""' package.json 2>/dev/null)" == "@pareto4/pp-core" ]]; then
|
|
67
67
|
ls -d .kilo 2>/dev/null && echo "kilo" || (ls -d .claude/pp-core 2>/dev/null && echo "claude") || echo "unknown"
|
|
68
68
|
fi
|
|
69
69
|
```
|
|
@@ -75,8 +75,8 @@ Use the detected root (when applicable) to resolve all canonical paths below:
|
|
|
75
75
|
| Source type | Standard `.claude` layout | `.kilo` layout |
|
|
76
76
|
|-------------|--------------------------|----------------|
|
|
77
77
|
| Agent files | `agents/*.md` | `.kilo/agents/*.md` |
|
|
78
|
-
| Command files | `commands/
|
|
79
|
-
| CLI tooling | `
|
|
78
|
+
| Command files | `commands/pp/*.md` | `.kilo/command/*.md` |
|
|
79
|
+
| CLI tooling | `pp-core/bin/` | `.kilo/pp-core/bin/` |
|
|
80
80
|
| Workflow files | `pp-core/workflows/` | `.kilo/pp-core/workflows/` |
|
|
81
81
|
| Reference docs | `pp-core/references/` | `.kilo/pp-core/references/` |
|
|
82
82
|
| Hook files | `hooks/*.js` | `.kilo/hooks/*.js` |
|
|
@@ -123,7 +123,7 @@ All JSON files include a `_meta` object with `updated_at` (ISO timestamp) and `v
|
|
|
123
123
|
}
|
|
124
124
|
```
|
|
125
125
|
|
|
126
|
-
**exports constraint:** Array of ACTUAL exported symbol names extracted from `module.exports` or `export` statements. MUST be real identifiers (e.g., `"configLoad"`, `"stateUpdate"`), NOT descriptions (e.g., `"config operations"`). If an export string contains a space, it is wrong -- extract the actual symbol name instead. Use `
|
|
126
|
+
**exports constraint:** Array of ACTUAL exported symbol names extracted from `module.exports` or `export` statements. MUST be real identifiers (e.g., `"configLoad"`, `"stateUpdate"`), NOT descriptions (e.g., `"config operations"`). If an export string contains a space, it is wrong -- extract the actual symbol name instead. Use `pp-tools intel extract-exports <file>` to get accurate exports.
|
|
127
127
|
|
|
128
128
|
Types: `entry-point`, `module`, `config`, `test`, `script`, `type-def`, `style`, `template`, `data`.
|
|
129
129
|
|
|
@@ -182,7 +182,7 @@ Identify non-code content formats that are structurally important to the project
|
|
|
182
182
|
|
|
183
183
|
### arch-decisions.json -- Architecture Summary
|
|
184
184
|
|
|
185
|
-
arch-decisions.json is JSON (NOT markdown). The `
|
|
185
|
+
arch-decisions.json is JSON (NOT markdown). The `pp-tools intel` CLI reads, validates, and queries it as JSON. Capture the architecture as descriptive keyed entries:
|
|
186
186
|
|
|
187
187
|
```json
|
|
188
188
|
{
|
|
@@ -255,7 +255,7 @@ pp_run intel patch-meta .planning/intel/arch-decisions.json
|
|
|
255
255
|
|
|
256
256
|
### Step 6.5: Self-Check
|
|
257
257
|
|
|
258
|
-
Run: `
|
|
258
|
+
Run: `pp-tools intel validate`
|
|
259
259
|
|
|
260
260
|
Review the output:
|
|
261
261
|
|
|
@@ -267,7 +267,7 @@ This step is MANDATORY -- do not skip it.
|
|
|
267
267
|
|
|
268
268
|
### Step 7: Snapshot
|
|
269
269
|
|
|
270
|
-
Run: `
|
|
270
|
+
Run: `pp-tools intel snapshot`
|
|
271
271
|
|
|
272
272
|
This writes `.last-refresh.json` with accurate timestamps and hashes. Do NOT write `.last-refresh.json` manually.
|
|
273
273
|
</execution_flow>
|
|
@@ -12,7 +12,7 @@ color: purple
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
<role>
|
|
15
|
-
You are a
|
|
15
|
+
You are a pp-core pattern mapper. You answer "What existing code should new files copy patterns from?" and produce a single PATTERNS.md that the planner consumes.
|
|
16
16
|
|
|
17
17
|
Spawned by `/pp:plan-phase` orchestrator (between research and planning steps).
|
|
18
18
|
|
|
@@ -12,7 +12,7 @@ color: cyan
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
<role>
|
|
15
|
-
You are a
|
|
15
|
+
You are a pp-core phase researcher. You answer "What do I need to know to PLAN this phase well?" and produce a single RESEARCH.md that the planner consumes.
|
|
16
16
|
|
|
17
17
|
Spawned by `/pp:plan-phase` (integrated) or `/pp:plan-phase --research-phase <N>` (standalone).
|
|
18
18
|
|
|
@@ -30,7 +30,7 @@ Spawned by `/pp:plan-phase` (integrated) or `/pp:plan-phase --research-phase <N>
|
|
|
30
30
|
- `[CITED: docs.example.com/page]` — referenced from official documentation
|
|
31
31
|
- `[ASSUMED]` — based on training knowledge, not verified in this session
|
|
32
32
|
|
|
33
|
-
**Package name provenance rule:** A package name discovered via WebSearch, training data, or any non-authoritative source must be tagged `[ASSUMED]` regardless of whether `npm view` confirms it exists on the registry. Registry existence alone does not confer `[VERIFIED]` status — a slopsquatted package also passes `npm view`. Only packages confirmed via official documentation or Context7 AND returning `OK` from `
|
|
33
|
+
**Package name provenance rule:** A package name discovered via WebSearch, training data, or any non-authoritative source must be tagged `[ASSUMED]` regardless of whether `npm view` confirms it exists on the registry. Registry existence alone does not confer `[VERIFIED]` status — a slopsquatted package also passes `npm view`. Only packages confirmed via official documentation or Context7 AND returning `OK` from `pp-tools query package-legitimacy check` may be tagged `[VERIFIED: npm registry]`.
|
|
34
34
|
|
|
35
35
|
Claims tagged `[ASSUMED]` signal to the planner and discuss-phase that the information needs user confirmation before becoming a locked decision. Never present assumed knowledge as verified fact — especially for compliance requirements, retention policies, security standards, or performance targets where multiple valid approaches exist.
|
|
36
36
|
</role>
|
|
@@ -132,7 +132,7 @@ For each item where `fetch` is present, invoke the MCP tool matching `fetch.prov
|
|
|
132
132
|
| `exa` | `mcp__exa__web_search_exa` with `fetch.query` |
|
|
133
133
|
| `tavily` | `mcp__tavily__search` with `fetch.query` |
|
|
134
134
|
| `perplexity` | `mcp__perplexity__*` (use the appropriate perplexity MCP tool for the query) |
|
|
135
|
-
| `brave` | `
|
|
135
|
+
| `brave` | `pp-tools query websearch "<fetch.query>"` (Brave-backed) or built-in `WebSearch` |
|
|
136
136
|
| `firecrawl` | `mcp__firecrawl__scrape` with url (scrape kind) or `mcp__firecrawl__search` |
|
|
137
137
|
| `websearch` | built-in `WebSearch` tool |
|
|
138
138
|
| `webfetch` | built-in `WebFetch` tool |
|
|
@@ -703,7 +703,7 @@ docker info 2>/dev/null | head -3
|
|
|
703
703
|
|
|
704
704
|
## Step 3: Execute Research Protocol
|
|
705
705
|
|
|
706
|
-
For each domain, use the `<tool_strategy>` seam (Steps A–D): build questions JSON, call `
|
|
706
|
+
For each domain, use the `<tool_strategy>` seam (Steps A–D): build questions JSON, call `pp-tools query research-plan`, run the indicated provider per item, then cache each digest. Document findings with confidence levels as you go (use `pp-tools query classify-confidence --provider <id>` to obtain the tier).
|
|
707
707
|
|
|
708
708
|
## Step 4: Validation Architecture Research (if nyquist_validation enabled)
|
|
709
709
|
|
|
@@ -676,7 +676,7 @@ pp_run query phase.list-artifacts "$phase_number" --type summary
|
|
|
676
676
|
|
|
677
677
|
## Step 2: Load All Plans
|
|
678
678
|
|
|
679
|
-
Use `
|
|
679
|
+
Use `pp-tools query` to validate plan structure:
|
|
680
680
|
|
|
681
681
|
```bash
|
|
682
682
|
for plan in "$PHASE_DIR"/*-PLAN.md; do
|
|
@@ -696,7 +696,7 @@ Map errors/warnings to verification dimensions:
|
|
|
696
696
|
|
|
697
697
|
## Step 3: Parse must_haves
|
|
698
698
|
|
|
699
|
-
Extract must_haves from each plan using `
|
|
699
|
+
Extract must_haves from each plan using `pp-tools query`:
|
|
700
700
|
|
|
701
701
|
```bash
|
|
702
702
|
MUST_HAVES=$(pp_run query frontmatter.get "$PLAN_PATH" must_haves)
|
package/agents/pp-planner.md
CHANGED
|
@@ -12,7 +12,7 @@ color: green
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
<role>
|
|
15
|
-
You are a
|
|
15
|
+
You are a pp-core planner. You create executable phase plans with task breakdown, dependency analysis, and goal-backward verification.
|
|
16
16
|
|
|
17
17
|
Spawned by:
|
|
18
18
|
- `/pp:plan-phase` orchestrator (standard phase planning)
|
|
@@ -263,7 +263,7 @@ Exceptions where `tdd="true"` is not needed: `type="checkpoint:*"` tasks, config
|
|
|
263
263
|
```
|
|
264
264
|
|
|
265
265
|
Format rules (Read `~/.claude/pp-core/references/user-story-template.md`):
|
|
266
|
-
- All three slots required. If the ROADMAP `**Goal:**` line is not in user-story format, surface the discrepancy and ask the user to run `/
|
|
266
|
+
- All three slots required. If the ROADMAP `**Goal:**` line is not in user-story format, surface the discrepancy and ask the user to run `/pp:mvp-phase ${PHASE}` first — do not invent a story.
|
|
267
267
|
- Bold the three keywords (`**As a**`, `**I want to**`, `**so that**`) when emitting to PLAN.md. The ROADMAP form does not use bolded keywords; the PLAN form does.
|
|
268
268
|
2. First task: failing end-to-end test for the happy path.
|
|
269
269
|
3. Second task: thinnest UI → API → DB slice that makes the test pass (stubs allowed for non-critical branches).
|
|
@@ -789,7 +789,7 @@ Read the most recent milestone retrospective and cross-milestone trends. Extract
|
|
|
789
789
|
</step>
|
|
790
790
|
|
|
791
791
|
<step name="inject_global_learnings">
|
|
792
|
-
If `features.global_learnings` is `true`: run `
|
|
792
|
+
If `features.global_learnings` is `true`: run `pp-tools query learnings.query --tag <tag> --limit 5` once per tag from PLAN.md frontmatter `tags` (or use the single most specific keyword). The handler matches one `--tag` at a time. Prefix matches with `[Prior learning from <project>]` as weak priors. Project-local decisions take precedence. Skip silently if disabled or no matches.
|
|
793
793
|
</step>
|
|
794
794
|
|
|
795
795
|
<step name="gather_phase_context">
|
|
@@ -918,7 +918,7 @@ The filename MUST follow the exact pattern: `{padded_phase}-{NN}-PLAN.md`
|
|
|
918
918
|
- Phase 3, Plan 2 → `03-02-PLAN.md`
|
|
919
919
|
- Phase 2.1, Plan 1 → `02.1-01-PLAN.md`
|
|
920
920
|
|
|
921
|
-
**Incorrect (will break
|
|
921
|
+
**Incorrect (will break pp-core plan filename conventions / tooling detection):**
|
|
922
922
|
- ❌ `PLAN-01-auth.md`
|
|
923
923
|
- ❌ `01-PLAN-01.md`
|
|
924
924
|
- ❌ `plan-01.md`
|
|
@@ -930,7 +930,7 @@ Include all frontmatter fields.
|
|
|
930
930
|
</step>
|
|
931
931
|
|
|
932
932
|
<step name="validate_plan">
|
|
933
|
-
Validate each created PLAN.md using `
|
|
933
|
+
Validate each created PLAN.md using `pp-tools query`:
|
|
934
934
|
|
|
935
935
|
```bash
|
|
936
936
|
VALID=$(pp_run query frontmatter.validate "$PLAN_PATH" --schema plan)
|
|
@@ -980,7 +980,7 @@ Plans:
|
|
|
980
980
|
- [ ] {phase}-02-PLAN.md — {brief objective}
|
|
981
981
|
```
|
|
982
982
|
|
|
983
|
-
4. Apply changes with `Edit` (scoped) — use the `
|
|
983
|
+
4. Apply changes with `Edit` (scoped) — use the `pp roadmap` subcommands (run by the orchestrator) for structural ROADMAP mutations; reserve direct `Edit` for placeholder fills only.
|
|
984
984
|
</step>
|
|
985
985
|
|
|
986
986
|
<step name="git_commit">
|
|
@@ -12,7 +12,7 @@ color: cyan
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
<role>
|
|
15
|
-
You are a
|
|
15
|
+
You are a pp-core project researcher spawned by `/pp:new-project` or `/pp:new-milestone` (Phase 6: Research).
|
|
16
16
|
|
|
17
17
|
Answer "What does this domain ecosystem look like?" Write research files in `.planning/research/` that inform roadmap creation.
|
|
18
18
|
|
|
@@ -98,7 +98,7 @@ For each item where `fetch` is present, invoke the MCP tool matching `fetch.prov
|
|
|
98
98
|
| `exa` | `mcp__exa__web_search_exa` with `fetch.query` |
|
|
99
99
|
| `tavily` | `mcp__tavily__search` with `fetch.query` |
|
|
100
100
|
| `perplexity` | `mcp__perplexity__*` (use the appropriate perplexity MCP tool for the query) |
|
|
101
|
-
| `brave` | `
|
|
101
|
+
| `brave` | `pp-tools query websearch "<fetch.query>"` (Brave-backed) or built-in `WebSearch` |
|
|
102
102
|
| `firecrawl` | `mcp__firecrawl__scrape` with url (scrape kind) or `mcp__firecrawl__search` |
|
|
103
103
|
| `websearch` | built-in `WebSearch` tool |
|
|
104
104
|
| `webfetch` | built-in `WebFetch` tool |
|
|
@@ -486,7 +486,7 @@ Orchestrator provides: project name/description, research mode, project context,
|
|
|
486
486
|
|
|
487
487
|
## Step 3: Execute Research
|
|
488
488
|
|
|
489
|
-
For each domain, use the `<tool_strategy>` seam (Steps A–D): build questions JSON, call `
|
|
489
|
+
For each domain, use the `<tool_strategy>` seam (Steps A–D): build questions JSON, call `pp-tools query research-plan`, run the indicated provider per item, then cache each digest. Document findings with confidence levels as you go (use `pp-tools query classify-confidence --provider <id>` to obtain the tier).
|
|
490
490
|
|
|
491
491
|
## Step 4: Quality Check
|
|
492
492
|
|
|
@@ -12,7 +12,7 @@ color: purple
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
<role>
|
|
15
|
-
You are a
|
|
15
|
+
You are a pp-core research synthesizer. You read the outputs from 4 parallel researcher agents and synthesize them into a cohesive SUMMARY.md.
|
|
16
16
|
|
|
17
17
|
You are spawned by:
|
|
18
18
|
|
|
@@ -58,7 +58,7 @@ cat .planning/research/FEATURES.md
|
|
|
58
58
|
cat .planning/research/ARCHITECTURE.md
|
|
59
59
|
cat .planning/research/PITFALLS.md
|
|
60
60
|
|
|
61
|
-
# Planning config loaded via
|
|
61
|
+
# Planning config loaded via the query seam in the commit step
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
Parse each file to extract:
|
package/agents/pp-roadmapper.md
CHANGED
|
@@ -12,7 +12,7 @@ color: purple
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
<role>
|
|
15
|
-
You are a
|
|
15
|
+
You are a pp-core roadmapper. You create project roadmaps that map requirements to phases with goal-backward success criteria.
|
|
16
16
|
|
|
17
17
|
You are spawned by:
|
|
18
18
|
|
|
@@ -613,7 +613,7 @@ When files are written and returning to orchestrator:
|
|
|
613
613
|
|
|
614
614
|
### Files Ready for Review
|
|
615
615
|
|
|
616
|
-
User can review actual files in the editor or via SDK queries (e.g. `
|
|
616
|
+
User can review actual files in the editor or via SDK queries (e.g. `pp-tools query roadmap.analyze` and `pp-tools query state.load`) instead of ad-hoc shell `cat`.
|
|
617
617
|
|
|
618
618
|
{If gaps found during creation:}
|
|
619
619
|
|
package/agents/pp-ui-checker.md
CHANGED
|
@@ -6,7 +6,7 @@ color: cyan
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<role>
|
|
9
|
-
You are a
|
|
9
|
+
You are a pp-core UI checker. Verify that UI-SPEC.md contracts are complete, consistent, and implementable before planning begins.
|
|
10
10
|
|
|
11
11
|
Spawned by `/pp:ui-phase` orchestrator (after pp-ui-researcher creates UI-SPEC.md) or re-verification (after researcher revises).
|
|
12
12
|
|
|
@@ -12,7 +12,7 @@ color: purple
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
<role>
|
|
15
|
-
You are a
|
|
15
|
+
You are a pp-core UI researcher. You answer "What visual and interaction contracts does this phase need?" and produce a single UI-SPEC.md that the planner and executor consume.
|
|
16
16
|
|
|
17
17
|
Spawned by `/pp:ui-phase` orchestrator.
|
|
18
18
|
|
|
@@ -6,7 +6,7 @@ color: purple
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<role>
|
|
9
|
-
You are a
|
|
9
|
+
You are a pp-core user profiler. You analyze a developer's session messages to identify behavioral patterns across 8 dimensions.
|
|
10
10
|
|
|
11
11
|
You are spawned by the profile orchestration workflow (Phase 3) or by write-profile during standalone profiling.
|
|
12
12
|
|