@pareto4/pp-core 1.19.0 → 1.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +1 -1
- package/agents/pp-phase-researcher.md +10 -0
- package/agents/pp-planner.md +15 -0
- package/agents/pp-vault-reviewer.md +2 -0
- package/agents/pp-verifier.md +12 -8
- package/commands/pp-discovery.md +3 -2
- package/gemini-extension.json +1 -1
- package/package.json +6 -3
- package/pareto-skills/_shared/pp-claude-md-protocol.md +1 -1
- package/pareto-skills/pp-project-setup/SKILL.md +18 -343
- package/pp-core/bin/lib/capability-registry.cjs +1 -1
- package/pp-core/bin/lib/discovery-access.cjs +276 -0
- package/pp-core/bin/lib/discovery-charter.cjs +664 -0
- package/pp-core/bin/lib/discovery-deviations.cjs +264 -0
- package/pp-core/bin/lib/discovery-entities.cjs +323 -0
- package/pp-core/bin/lib/discovery-for-phase.cjs +628 -0
- package/pp-core/bin/lib/discovery-integrations.cjs +286 -0
- package/pp-core/bin/lib/discovery-migration.cjs +246 -0
- package/pp-core/bin/lib/discovery-phases.cjs +233 -0
- package/pp-core/bin/lib/discovery-processes.cjs +355 -0
- package/pp-core/bin/lib/discovery-research-track.cjs +5 -4
- package/pp-core/bin/lib/discovery-rollup.cjs +8 -7
- package/pp-core/bin/lib/discovery-rules.cjs +216 -0
- package/pp-core/bin/lib/discovery-screens.cjs +1 -1
- package/pp-core/bin/lib/discovery-session-check.cjs +264 -0
- package/pp-core/bin/lib/discovery-stories.cjs +273 -0
- package/pp-core/bin/lib/discovery-sweep.cjs +1 -1
- package/pp-core/bin/lib/discovery-table.cjs +55 -0
- package/pp-core/bin/lib/io.cjs +22 -0
- package/pp-core/bin/lib/vault-standards-review.cjs +50 -2
- package/pp-core/bin/pp-tools.cjs +143 -1
- package/pp-core/references/discovery-access.md +112 -0
- package/pp-core/references/discovery-build-consumption.md +256 -0
- package/pp-core/references/discovery-charter.md +127 -0
- package/pp-core/references/discovery-data-model.md +145 -0
- package/pp-core/references/discovery-id-conventions.md +50 -14
- package/pp-core/references/discovery-integrations.md +151 -0
- package/pp-core/references/discovery-processes.md +190 -0
- package/pp-core/references/discovery-rebaseline.md +2 -2
- package/pp-core/references/discovery-research-track.md +5 -6
- package/pp-core/references/discovery-session-output.md +70 -0
- package/pp-core/references/discovery-standards.md +107 -0
- package/pp-core/references/discovery-traceability.md +2 -2
- package/pp-core/references/planner-discovery-extract.md +35 -0
- package/pp-core/references/verifier-discovery-conformance.md +36 -0
- package/pp-core/templates/project-charter.md +161 -100
- package/pp-core/templates/project.md +3 -3
- package/pp-core/templates/requirements.md +18 -0
- package/pp-core/templates/verification-report.md +16 -0
- package/pp-core/workflows/discovery-sprint/charter.md +114 -0
- package/pp-core/workflows/discovery-sprint/prefill.md +1 -1
- package/pp-core/workflows/discovery-sprint/prototype.md +4 -4
- package/pp-core/workflows/discovery-sprint/session-13-gates.md +10 -0
- package/pp-core/workflows/discovery-sprint/sessions/01-kick-off.md +5 -2
- package/pp-core/workflows/discovery-sprint/sessions/02-as-is.md +27 -5
- package/pp-core/workflows/discovery-sprint/sessions/03-to-be.md +56 -31
- package/pp-core/workflows/discovery-sprint/sessions/04-ux-design.md +1 -1
- package/pp-core/workflows/discovery-sprint/sessions/05-architecture.md +42 -19
- package/pp-core/workflows/discovery-sprint/sessions/06-security.md +27 -12
- package/pp-core/workflows/discovery-sprint/sessions/07-identity.md +41 -23
- package/pp-core/workflows/discovery-sprint/sessions/08-integration.md +50 -23
- package/pp-core/workflows/discovery-sprint/sessions/09-qa.md +26 -11
- package/pp-core/workflows/discovery-sprint/sessions/10-infrastructure.md +28 -9
- package/pp-core/workflows/discovery-sprint/sessions/11-roadmap.md +21 -0
- package/pp-core/workflows/discovery-sprint/sessions/13-wrap-up.md +24 -9
- package/pp-core/workflows/discovery-sprint.md +12 -15
- package/pp-core/workflows/discovery-to-build/steps/architecture-deliverables.md +80 -29
- package/pp-core/workflows/discovery-to-build/steps/{screen-inventory-gate.md → handoff-gates.md} +111 -3
- package/pp-core/workflows/discovery-to-build/templates/discovery-references.md +12 -9
- package/pp-core/workflows/discovery-to-build/templates/pp-handoff.md +27 -26
- package/pp-core/workflows/discovery-to-build.md +70 -34
- package/pp-core/workflows/discuss-phase/discovery.md +83 -0
- package/pp-core/workflows/discuss-phase/templates/context.md +4 -0
- package/pp-core/workflows/discuss-phase.md +10 -7
- package/pp-core/workflows/new-project.md +3 -3
- package/pp-core/workflows/plan-phase/steps/discovery-extract.md +41 -0
- package/pp-core/workflows/plan-phase.md +15 -10
- package/pp-core/workflows/vault-review.md +5 -0
- package/pp-core/workflows/discovery-sprint/templates/context-template.md +0 -272
|
@@ -63,7 +63,7 @@ for the plan-checker gate to be meaningful.
|
|
|
63
63
|
|
|
64
64
|
## 0. Git Branch Invariant
|
|
65
65
|
|
|
66
|
-
**Do not create, rename, or switch git branches during plan-phase.** Branch identity is established at discuss-phase and
|
|
66
|
+
**Do not create, rename, or switch git branches during plan-phase.** Branch identity is established at discuss-phase and owned by the user's git workflow. A phase rename in ROADMAP.md is a plan-level change only — it never mutates branch names. A `phase_slug` differing from the current branch name is expected; leave the branch unchanged.
|
|
67
67
|
|
|
68
68
|
## 1. Initialize
|
|
69
69
|
|
|
@@ -96,7 +96,7 @@ Parse JSON for: `researcher_model`, `planner_model`, `checker_model`, `research_
|
|
|
96
96
|
|
|
97
97
|
## 1.5. Closed-Phase Gate (#3569)
|
|
98
98
|
|
|
99
|
-
The init JSON includes `phase_status` — one of `Pending | Planned | In Progress | Executed | Complete | Needs Review`. `Complete` means
|
|
99
|
+
The init JSON includes `phase_status` — one of `Pending | Planned | In Progress | Executed | Complete | Needs Review`. `Complete` means all summaries exist AND a `VERIFICATION.md` with `status: passed`. Replanning a closed phase silently rewrites plan docs that no longer match the shipped code; the workflow hard-stops here unless the operator overrides.
|
|
100
100
|
|
|
101
101
|
Parse `phase_status` from the init JSON, then:
|
|
102
102
|
|
|
@@ -142,7 +142,7 @@ The gate fires only on `Complete`. `Executed` and `Needs Review` are not gated
|
|
|
142
142
|
|
|
143
143
|
Extract from $ARGUMENTS: phase number (integer or decimal like `2.1`), flags (`--research`, `--skip-research`, `--research-phase <N>`, `--gaps`, `--skip-verify`, `--skip-ui`, `--prd <filepath>`, `--ingest <path-or-glob>`, `--ingest-format <auto|nygard|madr|narrative>`, `--reviews`, `--text`, `--bounce`, `--skip-bounce`, `--chunked`, `--mvp`, `--tdd`, `--granularity <coarse|standard|fine>`, `--force` (override closed-phase gate, see §1.5), `--unattended`).
|
|
144
144
|
|
|
145
|
-
**`--research-phase <N>` — research-only mode (#3042 + #3044).** When
|
|
145
|
+
**`--research-phase <N>` — research-only mode (#3042 + #3044).** When present, parse `<N>` as the phase number (overrides any positional phase argument), set `RESEARCH_ONLY=true`, and treat the rest of this workflow as a research dispatch only — the planner spawn (step 8), plan-checker, verification, gaps, bounce and post-planning-gaps blocks all skip on `RESEARCH_ONLY`. Use it for cross-phase research, doc review before committing to an approach, and correction-without-replanning loops. Replaces the deleted `/pp-research-phase` command.
|
|
146
146
|
|
|
147
147
|
In research-only mode, two modifiers control behavior when `RESEARCH.md` already exists:
|
|
148
148
|
|
|
@@ -162,9 +162,9 @@ if $RESEARCH_ONLY && [[ "$ARGUMENTS" =~ (^|[[:space:]])--view([[:space:]]|$) ]];
|
|
|
162
162
|
fi
|
|
163
163
|
```
|
|
164
164
|
|
|
165
|
-
**`--granularity <coarse|standard|fine>` — CLI override (#703).** When present, this
|
|
165
|
+
**`--granularity <coarse|standard|fine>` — CLI override (#703).** When present, this is the resolved granularity passed to the planner — it wins over per-phase `granularities.<type>` config, top-level `granularity` config and project defaults. The init JSON always carries the resolved `granularity` field; read it from there. Any other value (not `coarse`, `standard`, `fine`) errors at the CLI boundary.
|
|
166
166
|
|
|
167
|
-
**`--unattended`** — set by `/pp:autonomous` (never `--auto`, which would auto-advance into execute-phase). At each prompt site marked `U-Pn` below, do not prompt: apply rule `U-Pn` from `pp-core/references/autonomous-best-effort.md` (Read
|
|
167
|
+
**`--unattended`** — set by `/pp:autonomous` (never `--auto`, which would auto-advance into execute-phase). At each prompt site marked `U-Pn` below, do not prompt: apply rule `U-Pn` from `pp-core/references/autonomous-best-effort.md` (Read at first use) and append the record it names to the phase's AUTONOMOUS-REPORT. It does not touch `workflow._auto_chain_active`.
|
|
168
168
|
|
|
169
169
|
Set `TEXT_MODE=true` if `--text` is present in $ARGUMENTS OR `text_mode` from init JSON is `true`. When `TEXT_MODE` is active, replace every `AskUserQuestion` call with a plain-text numbered list and ask the user to type their choice number. This is required for Claude Code remote sessions (`/rc` mode) where TUI menus don't work through the Claude App.
|
|
170
170
|
|
|
@@ -194,7 +194,7 @@ When `WALKING_SKELETON=true`:
|
|
|
194
194
|
- Planner is instructed to produce `SKELETON.md` in the phase directory alongside `PLAN.md`. The template lives at `~/.claude/pp-core/references/skeleton-template.md` — the planner reads it when producing SKELETON.md (lazy; not loaded on non-skeleton runs).
|
|
195
195
|
- The plan must scaffold project + routing + one real DB read/write + one real UI interaction + dev deployment — the thinnest possible end-to-end working slice.
|
|
196
196
|
|
|
197
|
-
**Interaction with `--prd <filepath>`.** `--mvp` and `--prd` compose
|
|
197
|
+
**Interaction with `--prd <filepath>`.** `--mvp` and `--prd` compose: the PRD express path (Step 3.5) creates `CONTEXT.md` from the PRD file and continues to research; the Walking Skeleton gate fires independently. On Phase 1 of a new project the planner receives `WALKING_SKELETON=true` and PRD-derived context together — the PRD informs *what the skeleton should prove*; the two signals are orthogonal. See [`references/mvp-concepts.md`](../references/mvp-concepts.md).
|
|
198
198
|
|
|
199
199
|
Extract express-path args from $ARGUMENTS: `PRD_FILE` (`--prd <filepath>`), `INGEST_PATH` (`--ingest <path-or-glob>`), and optional `INGEST_FORMAT` (`--ingest-format <auto|nygard|madr|narrative>`, default `auto`).
|
|
200
200
|
|
|
@@ -527,7 +527,9 @@ Read and execute `pp-core/workflows/execute-phase/steps/vault-fetch.md` — the
|
|
|
527
527
|
|
|
528
528
|
### into:researcher contributions
|
|
529
529
|
|
|
530
|
-
In `PLAN_PRE_HOOKS_JSON`, read active plan:pre entries where `kind == "contribution"` and `into == "researcher"` (in array order). If none, inject nothing. If present, append each entry's `fragment.inline` verbatim to `filled_research_hook_fragment` (or
|
|
530
|
+
In `PLAN_PRE_HOOKS_JSON`, read active plan:pre entries where `kind == "contribution"` and `into == "researcher"` (in array order). If none, inject nothing. If present, append each entry's `fragment.inline` verbatim to `filled_research_hook_fragment` (or as a `<files_to_read>` line in the researcher prompt) — typically a pointer to `.planning/vault/SUMMARY.md`. Inject verbatim — do not paraphrase.
|
|
531
|
+
|
|
532
|
+
When `DISCOVERY_EXTRACT_PATH` (§7) is set, add `- {DISCOVERY_EXTRACT_PATH} (Discovery extract — required reading)` to the researcher `<files_to_read>`.
|
|
531
533
|
|
|
532
534
|
Find the active `research` step hook in `PLAN_PRE_HOOKS_JSON`. Use the hook's `fragment.inline` as the prompt template and substitute the phase fields below before spawning its declared `ref.agent`.
|
|
533
535
|
|
|
@@ -612,7 +614,7 @@ Resolve active contribution hooks from `PLAN_PRE_HOOKS_JSON` where `kind == "con
|
|
|
612
614
|
|
|
613
615
|
**If no active security contribution hook exists:** Skip to step 5.6.
|
|
614
616
|
|
|
615
|
-
**If an active security contribution hook exists:** Read `SECURITY_ASVS` from the active hook's `configValues.security_asvs_level` (default: `1`) and `SECURITY_BLOCK` from `configValues.security_block_on` (default: `"high"`).
|
|
617
|
+
**If an active security contribution hook exists:** Read `SECURITY_ASVS` from the active hook's `configValues.security_asvs_level` (default: `1`) and `SECURITY_BLOCK` from `configValues.security_block_on` (default: `"high"`). The registry resolves them from user config with the same four-level precedence as hook activation — no inline `config-get` is needed.
|
|
616
618
|
|
|
617
619
|
Display banner:
|
|
618
620
|
|
|
@@ -775,6 +777,8 @@ SPEC_FILE=$(ls "${PHASE_DIR_FOR_SPEC}"/*-SPEC.md 2>/dev/null | grep -Ev -- '-(AI
|
|
|
775
777
|
SPEC_PATH="${SPEC_FILE}"
|
|
776
778
|
```
|
|
777
779
|
|
|
780
|
+
Then Read and execute `pp-core/workflows/plan-phase/steps/discovery-extract.md` (sets `DISCOVERY_EXTRACT_PATH`; inert without `.planning/discovery/`).
|
|
781
|
+
|
|
778
782
|
## 7.5. Verify Nyquist Artifacts
|
|
779
783
|
|
|
780
784
|
Skip if `nyquist_validation_enabled` is false OR `research_enabled` is false.
|
|
@@ -890,6 +894,7 @@ Planner prompt:
|
|
|
890
894
|
- {AI_SPEC_PATH} (AI Design Contract — framework and evaluation strategy, if exists)
|
|
891
895
|
- {UI_SPEC_PATH} (UI Design Contract — visual/interaction specs, if exists)
|
|
892
896
|
- {SPEC_PATH} (Phase SPEC — carries the ## Edge Coverage section to lift covered/backstop edges from, if exists)
|
|
897
|
+
- {DISCOVERY_EXTRACT_PATH} (Discovery extract — required reading, embed verbatim as <discovery_extract>; if exists)
|
|
893
898
|
- {SPIKE_FINDINGS_PATH} (Spike Findings — validated patterns, constraints, landmines from experiments, if exists)
|
|
894
899
|
- {SKETCH_FINDINGS_PATH} (Sketch Findings — validated design decisions, CSS patterns, visual direction, if exists)
|
|
895
900
|
- {API_SURFACE_PATH} (API Surface — HINT ONLY, when intel capability is active; see <intel_surface_hint> below)
|
|
@@ -904,7 +909,7 @@ ${CONTEXT_WINDOW >= 500000 ? `
|
|
|
904
909
|
</files_to_read>
|
|
905
910
|
${API_SURFACE_PATH ? `
|
|
906
911
|
<intel_surface_hint>
|
|
907
|
-
**API Surface (HINT — may be incomplete):** When \`intel.enabled\` is true, \`.planning/intel/API-SURFACE.md\` lists symbols extracted from the codebase by regex/JS analysis. Prefer symbols
|
|
912
|
+
**API Surface (HINT — may be incomplete):** When \`intel.enabled\` is true, \`.planning/intel/API-SURFACE.md\` lists symbols extracted from the codebase by regex/JS analysis. Prefer its symbols when referencing existing code. The surface is regex/JS-derived and MAY BE INCOMPLETE — a symbol's absence means *unknown*, not *nonexistent*; never treat it as exhaustive. If you reference a symbol not in the surface that this phase creates, list it under "Artifacts this phase produces".
|
|
908
913
|
</intel_surface_hint>
|
|
909
914
|
` : ''}
|
|
910
915
|
${AGENT_SKILLS_PLANNER}
|
|
@@ -944,7 +949,7 @@ Output consumed by /pp:execute-phase. Plans need:
|
|
|
944
949
|
- Verification criteria
|
|
945
950
|
- must_haves for goal-backward verification
|
|
946
951
|
- If the SPEC has an `## Edge Coverage` section, lift every `covered` edge's acceptance criterion into `must_haves.truths`, and every `backstop` edge into `must_haves.truths` as a non-inferable check (note it needs a held-out/property-based test). `unresolved` edges are explicit assumptions — surface them in the plan, do not silently drop them.
|
|
947
|
-
- If the SPEC has a `## Prohibitions` section, lift every resolved prohibition into the `must_haves.prohibitions:` sibling block (NOT `truths` — ADR-550 D3) carrying `statement` + `status` + `verification`; unresolved prohibitions are explicit assumptions — surface them in the plan, do not silently drop them. A prohibition is a must-NOT (negative) check
|
|
952
|
+
- If the SPEC has a `## Prohibitions` section, lift every resolved prohibition into the `must_haves.prohibitions:` sibling block (NOT `truths` — ADR-550 D3) carrying `statement` + `status` + `verification`; unresolved prohibitions are explicit assumptions — surface them in the plan, do not silently drop them. A prohibition is a must-NOT (negative) check with its own `must_haves.prohibitions` block. Never place one under `must_haves.truths`, which keeps positive-observable semantics only.
|
|
948
953
|
- **"Artifacts this phase produces" section (MANDATORY)** — list every symbol this phase creates: decorators, classes, functions, CLI flags, struct/dataclass fields, new file paths. The plan-review-convergence source-grounding pass reads this section to exclude newly-created symbols from drift verification; omitting it causes new symbols to be flagged for acknowledgement.
|
|
949
954
|
</downstream_consumer>
|
|
950
955
|
|
|
@@ -85,6 +85,11 @@ reinterpret it.
|
|
|
85
85
|
range (`filesTruncated` when the list was capped).
|
|
86
86
|
- `gaps[]`: facts the CLI could not establish. Every gap goes into the artifact's `## Not Derived`
|
|
87
87
|
section; a gap is never silently dropped and never turned into a verdict.
|
|
88
|
+
- `deviations[]`: the rows of `.planning/discovery/_deviations.md` when the project ran the
|
|
89
|
+
Discovery Sprint (`id`, `standard`, `status`, `decision`, `approver`); empty otherwise. An
|
|
90
|
+
`Approved` deviation that covers a clause turns that document's `FAIL` into `N-A` with the reason
|
|
91
|
+
`deviation on file: …` — the agent's rule, in `agents/pp-vault-reviewer.md`
|
|
92
|
+
(`references/discovery-build-consumption.md` § `_deviations.md` read contract).
|
|
88
93
|
|
|
89
94
|
## 3. Spawn pp-vault-reviewer
|
|
90
95
|
|
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
# Bootstrap Template — .planning/discovery/_context.md
|
|
2
|
-
|
|
3
|
-
> **Lazy-loaded.** Read this file from `workflows/discovery-sprint.md` — from
|
|
4
|
-
> Flow 2 Step 1, or from the Bootstrap Templates section — when
|
|
5
|
-
> `.planning/discovery/_context.md` is absent (first-ever session on this
|
|
6
|
-
> project). Create that file verbatim from the fenced schema below. The path is
|
|
7
|
-
> fixed under `.planning/discovery/` (T-04-03): never a root-level directory,
|
|
8
|
-
> never an absolute path, never a path containing `..`.
|
|
9
|
-
|
|
10
|
-
**`.planning/discovery/_context.md`:**
|
|
11
|
-
|
|
12
|
-
```markdown
|
|
13
|
-
# Cross-Session Context — [PROJECT_NAME]
|
|
14
|
-
|
|
15
|
-
This file accumulates key outputs from each completed session to provide context for subsequent sessions. It is automatically maintained as sessions are completed.
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## Session 1: Kick-off Outputs
|
|
20
|
-
_Populated after Session 1 completion_
|
|
21
|
-
|
|
22
|
-
### Project Context
|
|
23
|
-
<!-- Notes about the rationale and context -->
|
|
24
|
-
|
|
25
|
-
### Business Vision
|
|
26
|
-
<!-- Business vision summary, KPIs -->
|
|
27
|
-
|
|
28
|
-
### Stakeholders
|
|
29
|
-
<!-- Key stakeholder list with roles -->
|
|
30
|
-
|
|
31
|
-
### Approval Routes
|
|
32
|
-
<!-- Who approves scope, budget, architecture and security deviations, go-live -->
|
|
33
|
-
|
|
34
|
-
### Platform and Team Shape
|
|
35
|
-
<!-- Mandated platform (D-01-n) or "open"; team shape for the build -->
|
|
36
|
-
|
|
37
|
-
### Discovery Sprint Scope
|
|
38
|
-
**In Scope:**
|
|
39
|
-
-
|
|
40
|
-
|
|
41
|
-
**Out of Scope:**
|
|
42
|
-
-
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## Session 2: As-Is Outputs
|
|
47
|
-
_Populated after Session 2 completion_
|
|
48
|
-
|
|
49
|
-
### Core Processes
|
|
50
|
-
<!-- Current business processes -->
|
|
51
|
-
|
|
52
|
-
### Pain Points
|
|
53
|
-
<!-- Prioritized pain points -->
|
|
54
|
-
|
|
55
|
-
### User Personas
|
|
56
|
-
<!-- Key personas and their journeys -->
|
|
57
|
-
|
|
58
|
-
### Current Systems
|
|
59
|
-
<!-- Systems landscape -->
|
|
60
|
-
|
|
61
|
-
### Data Flows
|
|
62
|
-
<!-- How information moves today -->
|
|
63
|
-
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
## Session 3: To-Be Outputs
|
|
67
|
-
_Populated after Session 3 completion_
|
|
68
|
-
|
|
69
|
-
### Business Objectives
|
|
70
|
-
<!-- Measurable outcomes and KPIs -->
|
|
71
|
-
|
|
72
|
-
### MVP Scope
|
|
73
|
-
<!-- What's in/out for MVP -->
|
|
74
|
-
|
|
75
|
-
### EPICs Summary
|
|
76
|
-
<!-- EPIC registry table -->
|
|
77
|
-
|
|
78
|
-
### User Stories Summary
|
|
79
|
-
<!-- Story count and distribution -->
|
|
80
|
-
|
|
81
|
-
### Requirements Summary
|
|
82
|
-
<!-- Copy the rollup:auto totals table verbatim from .planning/discovery/_requirements.md — never hand-count -->
|
|
83
|
-
|
|
84
|
-
---
|
|
85
|
-
|
|
86
|
-
## Session 4: UX Design Outputs
|
|
87
|
-
_Populated after Session 4 completion_
|
|
88
|
-
|
|
89
|
-
### Design Principles
|
|
90
|
-
<!-- Numbered design principles -->
|
|
91
|
-
|
|
92
|
-
### UX Standards
|
|
93
|
-
<!-- Standards Applied: the frontend standard citations and every D-04 deviation -->
|
|
94
|
-
|
|
95
|
-
### Key Personas (Refined)
|
|
96
|
-
<!-- Persona categories and interaction patterns -->
|
|
97
|
-
|
|
98
|
-
### Key Screen Decisions
|
|
99
|
-
<!-- Screen layout decisions -->
|
|
100
|
-
|
|
101
|
-
### Prototype
|
|
102
|
-
<!-- Session 4 Closing Step answer; per /pp-discovery prototype round: flows validated, open feedback count -->
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## Session 5: Architecture Outputs
|
|
107
|
-
_Populated after Session 5 completion_
|
|
108
|
-
|
|
109
|
-
### Target Architecture
|
|
110
|
-
<!-- Platform, architecture style, ownership -->
|
|
111
|
-
|
|
112
|
-
### Technology Stack
|
|
113
|
-
<!-- Full stack listing -->
|
|
114
|
-
|
|
115
|
-
### Key Components
|
|
116
|
-
<!-- Module/component list -->
|
|
117
|
-
|
|
118
|
-
### Integration Points
|
|
119
|
-
<!-- External system integrations -->
|
|
120
|
-
|
|
121
|
-
### ADRs
|
|
122
|
-
<!-- Architecture Decision Records -->
|
|
123
|
-
|
|
124
|
-
### Domain Model / Entity Register
|
|
125
|
-
<!-- Entity, key attributes, relationships, owner module -->
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
## Session 6: Security Outputs
|
|
130
|
-
_Populated after Session 6 completion_
|
|
131
|
-
|
|
132
|
-
### Data Classification
|
|
133
|
-
<!-- Data sensitivity levels -->
|
|
134
|
-
|
|
135
|
-
### Compliance Framework
|
|
136
|
-
<!-- Standards and regulations -->
|
|
137
|
-
|
|
138
|
-
### Encryption
|
|
139
|
-
<!-- In-transit, at-rest, key management -->
|
|
140
|
-
|
|
141
|
-
### Network & Access
|
|
142
|
-
<!-- Network security approach -->
|
|
143
|
-
|
|
144
|
-
### Audit Logging
|
|
145
|
-
<!-- Logging strategy and retention -->
|
|
146
|
-
|
|
147
|
-
### Availability
|
|
148
|
-
<!-- SLA targets -->
|
|
149
|
-
|
|
150
|
-
---
|
|
151
|
-
|
|
152
|
-
## Session 7: Identity Management Outputs
|
|
153
|
-
_Populated after Session 7 completion_
|
|
154
|
-
|
|
155
|
-
### RBAC Model
|
|
156
|
-
<!-- Roles and permissions summary -->
|
|
157
|
-
|
|
158
|
-
### IdP Integration
|
|
159
|
-
<!-- Identity provider details -->
|
|
160
|
-
|
|
161
|
-
### User Lifecycle
|
|
162
|
-
<!-- Provisioning approach -->
|
|
163
|
-
|
|
164
|
-
---
|
|
165
|
-
|
|
166
|
-
## Session 8: Integration Outputs
|
|
167
|
-
_Populated after Session 8 completion_
|
|
168
|
-
|
|
169
|
-
### External Systems
|
|
170
|
-
<!-- Systems and their interfaces -->
|
|
171
|
-
|
|
172
|
-
### Interface Patterns
|
|
173
|
-
<!-- Chosen patterns and protocols -->
|
|
174
|
-
|
|
175
|
-
### Data Exchange
|
|
176
|
-
<!-- Key data flows and formats -->
|
|
177
|
-
|
|
178
|
-
---
|
|
179
|
-
|
|
180
|
-
## Session 9: QA Outputs
|
|
181
|
-
_Populated after Session 9 completion_
|
|
182
|
-
|
|
183
|
-
### Test Strategy
|
|
184
|
-
<!-- Testing approach -->
|
|
185
|
-
|
|
186
|
-
### Tooling
|
|
187
|
-
<!-- Test management and automation tools -->
|
|
188
|
-
|
|
189
|
-
### Test Environments
|
|
190
|
-
<!-- Environment list and purposes -->
|
|
191
|
-
|
|
192
|
-
### Quality Gates
|
|
193
|
-
<!-- Gate definitions -->
|
|
194
|
-
|
|
195
|
-
### UAT
|
|
196
|
-
<!-- UAT participants, period, criteria -->
|
|
197
|
-
|
|
198
|
-
---
|
|
199
|
-
|
|
200
|
-
## Session 10: Infrastructure Outputs
|
|
201
|
-
_Populated after Session 10 completion_
|
|
202
|
-
|
|
203
|
-
### Infrastructure
|
|
204
|
-
<!-- Cloud/hosting setup -->
|
|
205
|
-
|
|
206
|
-
### Deployment
|
|
207
|
-
<!-- Deployment strategy -->
|
|
208
|
-
|
|
209
|
-
### Monitoring
|
|
210
|
-
<!-- Monitoring and alerting approach -->
|
|
211
|
-
|
|
212
|
-
### Backup & DR
|
|
213
|
-
<!-- Backup and disaster recovery -->
|
|
214
|
-
|
|
215
|
-
### Go-Live Readiness
|
|
216
|
-
<!-- Readiness checklist status -->
|
|
217
|
-
|
|
218
|
-
---
|
|
219
|
-
|
|
220
|
-
## Session 11: Roadmap Outputs
|
|
221
|
-
_Populated after Session 11 completion_
|
|
222
|
-
|
|
223
|
-
### Project Phases
|
|
224
|
-
<!-- Phase breakdown -->
|
|
225
|
-
|
|
226
|
-
### Timeline
|
|
227
|
-
<!-- Iteration model (sprints or pp-core phases) and key dates -->
|
|
228
|
-
|
|
229
|
-
### MVP Scope (Confirmed)
|
|
230
|
-
<!-- Must-have vs nice-to-have -->
|
|
231
|
-
|
|
232
|
-
### Build Order
|
|
233
|
-
<!-- Iteration-by-iteration plan -->
|
|
234
|
-
|
|
235
|
-
### Key Milestones
|
|
236
|
-
<!-- Milestone dates -->
|
|
237
|
-
|
|
238
|
-
### Risks
|
|
239
|
-
<!-- Top risks and mitigations -->
|
|
240
|
-
|
|
241
|
-
---
|
|
242
|
-
|
|
243
|
-
## Session 12: Delivery Model Outputs
|
|
244
|
-
_Populated after Session 12 completion_
|
|
245
|
-
|
|
246
|
-
### Team Structure
|
|
247
|
-
<!-- Key roles and people -->
|
|
248
|
-
|
|
249
|
-
### Governance
|
|
250
|
-
<!-- Governance framework summary -->
|
|
251
|
-
|
|
252
|
-
### Ceremonies
|
|
253
|
-
<!-- Iteration cadence and the meetings held -->
|
|
254
|
-
|
|
255
|
-
### Support Model
|
|
256
|
-
<!-- Post-go-live support approach -->
|
|
257
|
-
|
|
258
|
-
---
|
|
259
|
-
|
|
260
|
-
## Session 13: Wrap-up Outputs
|
|
261
|
-
_Populated after Session 13 completion_
|
|
262
|
-
|
|
263
|
-
### Decision Readiness
|
|
264
|
-
<!-- Go / Conditional Go / No-Go assessment -->
|
|
265
|
-
|
|
266
|
-
### Open Items
|
|
267
|
-
<!-- Items carried forward -->
|
|
268
|
-
|
|
269
|
-
### Next Steps
|
|
270
|
-
<!-- Transition plan to execution -->
|
|
271
|
-
```
|
|
272
|
-
|