cfsa-antigravity 2.7.0 → 2.9.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.
Files changed (51) hide show
  1. package/package.json +1 -1
  2. package/template/.agent/kit-sync.md +3 -3
  3. package/template/.agent/skills/idea-extraction/SKILL.md +61 -18
  4. package/template/.agent/skills/prd-templates/references/architecture-completeness-checklist.md +28 -0
  5. package/template/.agent/skills/prd-templates/references/be-spec-classification.md +41 -0
  6. package/template/.agent/skills/prd-templates/references/bootstrap-verification-protocol.md +50 -0
  7. package/template/.agent/skills/prd-templates/references/constraint-exploration.md +41 -0
  8. package/template/.agent/skills/prd-templates/references/decision-confirmation-protocol.md +68 -0
  9. package/template/.agent/skills/prd-templates/references/decision-propagation.md +121 -0
  10. package/template/.agent/skills/prd-templates/references/domain-exhaustion-criteria.md +37 -0
  11. package/template/.agent/skills/prd-templates/references/engagement-tier-protocol.md +58 -0
  12. package/template/.agent/skills/prd-templates/references/evolution-layer-guidance.md +91 -0
  13. package/template/.agent/skills/prd-templates/references/expansion-modes.md +27 -0
  14. package/template/.agent/skills/prd-templates/references/folder-seeding-protocol.md +77 -0
  15. package/template/.agent/skills/prd-templates/references/input-classification.md +23 -0
  16. package/template/.agent/skills/prd-templates/references/map-guard-protocol.md +44 -0
  17. package/template/.agent/skills/prd-templates/references/persona-completeness-gate.md +20 -0
  18. package/template/.agent/skills/prd-templates/references/shard-boundary-analysis.md +76 -0
  19. package/template/.agent/skills/prd-templates/references/write-verification-protocol.md +57 -0
  20. package/template/.agent/workflows/create-prd-architecture.md +17 -23
  21. package/template/.agent/workflows/create-prd-compile.md +31 -22
  22. package/template/.agent/workflows/create-prd-design-system.md +18 -14
  23. package/template/.agent/workflows/create-prd-security.md +22 -24
  24. package/template/.agent/workflows/create-prd-stack.md +20 -11
  25. package/template/.agent/workflows/create-prd.md +27 -99
  26. package/template/.agent/workflows/decompose-architecture-structure.md +14 -4
  27. package/template/.agent/workflows/decompose-architecture-validate.md +29 -80
  28. package/template/.agent/workflows/decompose-architecture.md +27 -60
  29. package/template/.agent/workflows/evolve-contract.md +7 -2
  30. package/template/.agent/workflows/evolve-feature-cascade.md +34 -78
  31. package/template/.agent/workflows/evolve-feature-classify.md +22 -56
  32. package/template/.agent/workflows/ideate-discover.md +89 -100
  33. package/template/.agent/workflows/ideate-extract.md +42 -138
  34. package/template/.agent/workflows/ideate-validate.md +57 -133
  35. package/template/.agent/workflows/ideate.md +32 -19
  36. package/template/.agent/workflows/implement-slice-setup.md +15 -5
  37. package/template/.agent/workflows/implement-slice-tdd.md +21 -5
  38. package/template/.agent/workflows/plan-phase-write.md +30 -1
  39. package/template/.agent/workflows/propagate-decision-apply.md +23 -90
  40. package/template/.agent/workflows/propagate-decision-scan.md +20 -91
  41. package/template/.agent/workflows/remediate-pipeline-execute.md +6 -1
  42. package/template/.agent/workflows/validate-phase-quality.md +14 -3
  43. package/template/.agent/workflows/validate-phase-readiness.md +1 -1
  44. package/template/.agent/workflows/verify-infrastructure.md +2 -0
  45. package/template/.agent/workflows/write-architecture-spec-deepen.md +8 -2
  46. package/template/.agent/workflows/write-architecture-spec-design.md +11 -14
  47. package/template/.agent/workflows/write-be-spec-classify.md +26 -104
  48. package/template/.agent/workflows/write-be-spec-write.md +49 -3
  49. package/template/.agent/workflows/write-be-spec.md +1 -1
  50. package/template/.agent/workflows/write-fe-spec-write.md +62 -3
  51. package/template/.agent/workflows/write-fe-spec.md +1 -1
@@ -19,118 +19,67 @@ pipeline:
19
19
 
20
20
  Identify deep dive candidates, annotate shard document types, validate the dependency graph, generate the spec pipeline tracker, and request review.
21
21
 
22
- **Prerequisite**: Directory structure, shard skeletons, and layer indexes must exist (from `/decompose-architecture-structure` or equivalent). The IA index at `docs/plans/ia/index.md` and shard files must be in place.
22
+ **Prerequisite**: Directory structure, shard skeletons, and layer indexes must exist (from `/decompose-architecture-structure`).
23
23
 
24
24
  ---
25
25
 
26
26
  ## 9.5. Proactive shard load pre-check (ideation signal)
27
27
 
28
- Before identifying deep dives, read the ideation domain folders that fed each shard. The sub-area count from ideation is a **leading indicator** of shard complexity.
28
+ Read `.agent/skills/prd-templates/references/shard-boundary-analysis.md` **Shard Load Thresholds** table.
29
29
 
30
30
  For each shard skeleton:
31
- 1. Read the corresponding ideation domain folder (use the path from `ideation-index.md` Structure Map — may be under `domains/` or `surfaces/{name}/`). Read the folder's `*-index.md` for the children table.
32
- 2. Count the child feature files and sub-domain folders listed in the domain index
33
- 3. Compare against the shard load thresholds:
34
-
35
- | Ideation Sub-Areas | Pre-Check Action |
36
- |---|---|
37
- | ≤6 | ✅ No concern — proceed to skeleton validation |
38
- | 7–9 | ⚠️ **Pre-flag for split review** — note in the shard skeleton: `> ⚠️ Ideation source has [N] sub-areas — likely split candidate. Review at calibration gate.` |
39
- | ≥10 | 🚩 **Proactive split proposal** — present a split proposal to the user NOW, before the calibration gate. Use the same split format as Step 12. If the user approves, create the split shards immediately and update the decomposition plan. |
40
-
41
- > **Why proactive?** The reactive calibration gate (Step 12) catches overloaded shards, but only after skeletons are fully seeded. By reading ideation sub-area counts first, we avoid creating a massive skeleton only to immediately split it. For multi-product projects where a single surface domain (e.g., "Operations" in a desktop shop app) might have 15+ sub-areas, this saves significant rework.
31
+ 1. Read the corresponding ideation domain folder via `ideation-index.md` Structure Map
32
+ 2. Count child feature files and sub-domain folders in the domain index
33
+ 3. Compare against the load thresholds table and take the specified action
42
34
 
43
35
  ## 10. Identify deep dive candidates
44
36
 
45
- Read .agent/skills/architecture-mapping/SKILL.md and follow its methodology.
37
+ Read `.agent/skills/architecture-mapping/SKILL.md` and follow its methodology.
46
38
 
47
39
  For each shard marked "Needs Deep Dive" in the domain boundary table:
48
-
49
- 1. Create an empty deep dive skeleton at `docs/plans/ia/deep-dives/[feature-name].md`
50
- - **Naming convention**: Use kebab-case derived from the feature name (e.g., `chat-orchestration.md`, `age-verification-flow.md`, `order-state-machine.md`)
51
- 2. Add a reference to it in the parent shard's "Deep Dives Needed" section
52
- 3. Add it to the IA index deep dives column
40
+ 1. Create empty deep dive skeleton at `docs/plans/ia/deep-dives/[feature-name].md`
41
+ 2. Add reference in parent shard's "Deep Dives Needed" section
42
+ 3. Add to IA index deep dives column
53
43
 
54
44
  ## 11. Annotate expected shard types
55
45
 
56
- Based on domain boundary analysis, add a **preliminary** `Document Type`
57
- annotation to each shard skeleton. `/write-architecture-spec` confirms or reclassifies.
58
-
59
- | Classification | Expected BE Specs |
60
- |---------------|-------------------|
61
- | **Feature domain** | 1 |
62
- | **Multi-domain** | N (split along sub-feature boundaries) |
63
- | **Cross-cutting** | 1 (`00-*`) |
64
- | **Structural reference** | 0 |
65
-
66
- ```markdown
67
- > **Document Type** (preliminary): Feature domain | Multi-domain | Cross-cutting | Structural reference
68
- ```
69
-
70
- > **Note**: Classification is based on domain analysis, not shard content (which doesn't
71
- > exist yet). `/write-be-spec` uses the confirmed type to determine spec count.
46
+ Read `.agent/skills/prd-templates/references/shard-boundary-analysis.md` **Shard Document Type Classification** table. Add preliminary Document Type annotation to each shard skeleton.
72
47
 
73
48
  ## 12. Dependency graph validation
74
49
 
75
- Verify the decomposition (structural checks only content doesn't exist yet):
76
-
77
- Read .agent/skills/architecture-mapping/SKILL.md and follow its methodology for dependency graph validation.
50
+ Read `.agent/skills/architecture-mapping/SKILL.md` and follow its dependency graph validation methodology.
78
51
 
79
- - **Must Have coverage gate**: Read `docs/plans/ideation/ideation-index.md` and extract every feature listed under "Must Have" in the MoSCoW Summary. For each Must Have feature, verify it appears in at least one shard's Features section. If any Must Have feature is not covered by any shard → **STOP**: "The following Must Have features from ideation-index.md are not covered by any shard: [list]. Add them to the appropriate shards before proceeding."
52
+ Read `.agent/skills/prd-templates/references/shard-boundary-analysis.md` → **Sub-feature Count Thresholds** and **Split Proposal Format**.
80
53
 
81
- - **Shard load calibration gate**: After the Must Have coverage gate passes, count the sub-features in each shard's `## Features` section using the **bullet/named-item rule**: count every bullet point or named item under `## Features`, **excluding** group headers (lines that introduce a group of sub-features but are not themselves a concrete capability). If Step 9.5 pre-flagged any shards, they should be reviewed first. Compare against the following thresholds:
54
+ - **Must Have coverage gate**: Read `ideation-index.md` MoSCoW Summary. Every Must Have feature must appear in at least one shard. If any missing **STOP**.
82
55
 
83
- | Sub-feature Count | Action |
84
- |-------------------|--------|
85
- | **≤6** | ✅ OK — proceed |
86
- | **7–9** | ⚠️ Flag for user review — present the sub-feature list and ask: "This shard has [N] sub-features. Keep as-is, or split?" |
87
- | **≥10** | 🛑 **Hard stop** — do NOT proceed. Present a mandatory split proposal and **wait for the user to approve the split** before continuing. No shard may exit this gate with ≥10 sub-features. |
56
+ - **Shard load calibration gate**: Count sub-features in each shard using the bullet/named-item rule (defined in the analysis reference). If Step 9.5 pre-flagged shards, review first. Apply the thresholds. For ≥10, use the split proposal format from the reference.
88
57
 
89
- > **What counts as a sub-feature**: Count each bullet or named item under `## Features`. Group headers (e.g., "Content Management:") that introduce a cluster of sub-features are **not** counted — only the items beneath them. If a bullet contains sub-bullets, count each sub-bullet independently. When in doubt, ask: "Would a product manager list this as a separate line item in a release note?"
58
+ **After any split**: Update `docs/plans/ia/decomposition-plan.md` and re-run Must Have coverage gate.
90
59
 
91
- **Split proposal format:**
92
- ```
93
- Shard [NN] [domain name] has [N] sub-features (threshold: ≥10 mandatory split)
94
-
95
- Current sub-features:
96
- 1. [sub-feature]
97
- 2. [sub-feature]
98
- ...
99
-
100
- Proposed split:
101
- [NN]a — [new domain name] → file: docs/plans/ia/[NN]a-[domain].md
102
- Sub-features: 1, 3, 5
103
- [NN]b — [new domain name] → file: docs/plans/ia/[NN]b-[domain].md
104
- Sub-features: 2, 4, 6
105
-
106
- Split rationale: [why these groups are independent]
107
- ```
108
-
109
- **After any split**: Update `docs/plans/ia/decomposition-plan.md` with the revised domain boundary table and re-run the Must Have coverage gate to confirm no features were lost in the split.
60
+ **Split loop guard**: Track how many times the same shard has been split.
61
+ - **1st split** → normal. Apply the split.
62
+ - **2nd split on the same shard** → warn: "Shard `[name]` has been split twice. This may indicate the domain boundary is wrong. Present to user: re-split, or merge back and redraw the domain boundary?"
63
+ - If the total number of shards exceeds 20 → warn: "Shard count is [N]. Projects with 20+ shards are unusually large. Verify this is correct with the user."
110
64
 
65
+ Verify structural integrity:
111
66
  - [ ] No circular dependencies between shards
112
67
  - [ ] Cross-cutting shards (00-*) don't depend on feature shards
113
68
  - [ ] Every shard has a preliminary Document Type annotation
114
- - [ ] Deep dive candidates are referenced from their parent shards
115
- - [ ] BE/FE indexes exist with conventions templates (mapping tables will be populated later)
116
- - [ ] For multi-surface: shared surface shards have lower numbers than surface-specific shards that depend on them
117
- - [ ] For multi-surface: each surface has its own index.md with IA/BE/FE layer table
118
- - [ ] For multi-surface: cross-surface dependencies point to shared/ shards, not directly to another surface's shards
69
+ - [ ] Deep dive candidates are referenced from parent shards
70
+ - [ ] BE/FE indexes exist with conventions templates
71
+ - [ ] Multi-surface: shared shards have lower numbers; cross-surface deps point to shared/
119
72
 
120
73
  ## 13. Generate spec pipeline tracker
121
74
 
122
- Read `.agent/skills/session-continuity/protocols/07-spec-pipeline-generation.md` and follow the **Spec Pipeline Generation Protocol**
123
- to create `.agent/progress/spec-pipeline.md` tracking IA/BE/FE completion per shard.
75
+ Read `.agent/skills/session-continuity/protocols/07-spec-pipeline-generation.md` and follow the Spec Pipeline Generation Protocol.
124
76
 
125
77
  ## 14. Request review and propose next steps
126
78
 
127
- Use `notify_user` to present:
128
- - The full `docs/plans/ia/` directory (shard skeletons + index)
129
- - `docs/plans/be/index.md`
130
- - `docs/plans/fe/index.md`
131
- - `docs/plans/index.md`
132
- - `.agent/progress/spec-pipeline.md`
79
+ Use `notify_user` to present: IA directory, BE index, FE index, master index, spec pipeline tracker.
80
+
81
+ **STOP** — do NOT proceed until the user explicitly approves.
133
82
 
134
- The decomposition must be approved before filling in shards with `/write-architecture-spec`. Do NOT proceed to the next step until the user sends a message explicitly approving this output. Proposing next steps is not the same as receiving approval. Wait for explicit approval before continuing.
83
+ ### Next step
135
84
 
136
- **Proposed next step**: Once approved, run `/write-architecture-spec` starting with the lowest-numbered skeleton shard. Read `.agent/progress/spec-pipeline.md` to identify which shard to start with.
85
+ **STOP** — do NOT proceed to any other workflow. The only valid next step is `/write-architecture-spec` starting with the lowest-numbered shard per `.agent/progress/spec-pipeline.md`.
@@ -17,7 +17,7 @@ shards: [decompose-architecture-structure, decompose-architecture-validate]
17
17
  Break the architecture design document into domain-bounded IA shards and create the full spec layer structure.
18
18
 
19
19
  **Input**: `docs/plans/YYYY-MM-DD-architecture-design.md` (must exist and be approved)
20
- **Output**: `docs/plans/ia/`, `docs/plans/be/`, `docs/plans/fe/` directories with indexes and shard skeletons (or per-surface subdirectories for multi-surface projects)
20
+ **Output**: `docs/plans/ia/`, `docs/plans/be/`, `docs/plans/fe/` directories with indexes and shard skeletons
21
21
 
22
22
  ---
23
23
 
@@ -25,84 +25,56 @@ Break the architecture design document into domain-bounded IA shards and create
25
25
 
26
26
  Read the file at `docs/plans/*-architecture-design.md`.
27
27
 
28
- If no architecture design exists, tell the user to run `/create-prd` first. Do not proceed without an approved design.
28
+ If no architecture design exists → **STOP**: tell the user to run `/create-prd` first.
29
29
 
30
- Also check the document's `**Status**:` field. If the status is `Draft` or `Review` → **STOP**: "The architecture design is not yet approved (current status: [status]). Get explicit approval from the user and update the status to `Approved` before decomposing."
30
+ **Multi-file handling**: If the glob matches multiple files (e.g., multiple dated versions):
31
+ - Use the file with the most recent date prefix
32
+ - Warn: "Multiple architecture-design files found. Using `[filename]` (most recent). If this is wrong, specify the correct file."
31
33
 
32
- Also read `docs/plans/ideation/ideation-index.md` for the fractal domain map and structural classification. The ideation folder uses a fractal structure — read domain indexes (not flat files) to understand depth, child counts, and cross-cut density.
34
+ Check the document's `**Status**:` field.
35
+ - If `Draft` or `Review` → **STOP**: "Architecture design not yet approved. Get explicit approval first."
36
+ - If the `**Status**:` field does not exist → **STOP**: "Architecture design document has no Status field. Add `**Status**: Approved` after explicit review, or run `/create-prd` to regenerate."
33
37
 
34
- > **Design system prerequisite (web/mobile/desktop projects)**: Read `.agent/instructions/tech-stack.md` and locate the `SURFACES` value. If surfaces include `web`, `mobile`, or `desktop`, verify that `docs/plans/design-system.md` exists and is not empty.
35
- >
36
- > If it does not exist:
37
- >
38
- > ⚠️ **Warning**: FE specs for this project require a design system (`docs/plans/design-system.md`). Run `/create-prd-design-system` before writing any FE specs. You may continue with architecture decomposition now, but the design system must be completed before the FE spec writing phase.
38
+ Read `docs/plans/ideation/ideation-index.md` for the fractal domain map and structural classification.
39
+
40
+ > **Design system prerequisite (web/mobile/desktop projects)**: Read `.agent/instructions/tech-stack.md` → `SURFACES`. If surfaces include `web`, `mobile`, or `desktop`, verify `docs/plans/design-system.md` exists.
39
41
  >
40
- > This is a warning, not a hard stop architecture decomposition can proceed. API-only, CLI, and extension projects are not affected.
42
+ > If not: ⚠️ **Warning** run `/create-prd-design-system` before writing FE specs. Architecture decomposition can proceed. API-only/CLI/extension projects unaffected.
43
+
44
+ Identify **Project Type** from the architecture design header:
45
+ - **Single-surface** → standard flat structure
46
+ - **Multi-surface** → per-surface subdirectories with shared layer
41
47
 
42
- Identify the **Project Type** from the architecture design header:
43
- - **Single-surface** (web, desktop, mobile, CLI, API) → standard flat structure
44
- - **Multi-surface** (desktop + web, mobile + web, etc.) → per-surface subdirectories with shared layer
48
+ **Surface consistency check**: Compare the Project Type derived here with `## Structural Classification` in `ideation-index.md`. If they conflict (e.g., ideation says single-surface but architecture says multi-surface) → **STOP**: "Surface classification mismatch between ideation (`[ideation value]`) and architecture design (`[arch value]`). Resolve via `/propagate-decision` before decomposing."
45
49
 
46
50
  ## 2. Load brainstorming skill
47
51
 
48
- Read `.agent/skills/brainstorming/SKILL.md` — domain boundary decisions benefit from collaborative exploration.
52
+ Read `.agent/skills/brainstorming/SKILL.md`.
49
53
 
50
54
  ## 3. Identify domain boundaries
51
55
 
52
- Read .agent/skills/architecture-mapping/SKILL.md and follow its methodology.
53
-
54
- Analyze the architecture design and identify natural domain boundaries. Each boundary becomes a numbered IA shard.
55
-
56
- **Fractal tree analysis for shard boundaries:**
57
-
58
- The ideation folder uses a fractal structure. Walk the tree to inform shard granularity:
56
+ Read `.agent/skills/architecture-mapping/SKILL.md` and follow its Domain Boundary Protocol.
59
57
 
60
- | Signal | What It Means for Sharding |
61
- |--------|---------------------------|
62
- | Deep fractal tree (3+ levels) | Domain is complex enough for its own shard |
63
- | Many children (5+ features) | Consider splitting into multiple shards |
64
- | Dense CX file (5+ cross-cuts) | This domain has high coupling — keep it together in one shard, or isolate carefully |
65
- | Rich Role Matrix (3+ roles with access) | Shard needs multi-role IA spec coverage |
66
- | Hub-and-spoke shared domains | Shared domains often become `00-*` cross-cutting shards |
67
- | Leaf features marked `[EXHAUSTED]` | Most confident for shard scoping — behavior is fully defined |
58
+ Read `.agent/skills/prd-templates/references/shard-boundary-analysis.md` for fractal tree signals and standard heuristics.
68
59
 
69
- **Standard heuristics also apply:**
70
- - Features that share the same data models belong together
71
- - Features that can be developed/deployed independently are candidates for separation
72
- - Features that share the same access control model may belong together
73
- - Cross-cutting concerns (auth, API conventions, error handling) become `00-*` shards
60
+ Walk the ideation fractal tree to inform shard granularity. Build the domain inventory record, apply split trigger rules, produce the domain boundary table.
74
61
 
75
- Read `.agent/skills/architecture-mapping/SKILL.md` and follow its Domain Boundary Protocol. Build the domain inventory record, apply all three split trigger rules, and produce the domain boundary table. Present split candidates to the user before locking any boundary.
76
-
77
- > **Important**: Ideation does NOT prescribe shard boundaries. It provides the raw data (depth, features, cross-cuts, roles). This workflow makes the shard boundary decisions based on architectural analysis.
62
+ > **Important**: Ideation does NOT prescribe shard boundaries. It provides raw data. This workflow makes boundary decisions based on architectural analysis.
78
63
 
79
64
  Present the proposed domain decomposition to the user for validation.
80
65
 
81
66
  ## 4. Assign shard numbers
82
67
 
83
- Follow the numbering convention:
84
- - `00-*` — Cross-cutting/foundation concerns (may have multiple: `00-api-conventions`, `00-auth-middleware`, etc.)
85
- - `01-*` through `NN-*` — Feature domains, ordered by dependency (dependencies first)
86
-
87
- Order rule: If shard B depends on shard A, then A gets a lower number than B.
68
+ - `00-*` Cross-cutting/foundation concerns
69
+ - `01-*` through `NN-*` Feature domains, dependency-ordered (lower = fewer deps)
88
70
 
89
71
  ## 4.5. Request approval of domain boundaries
90
72
 
91
- **STOP HERE** and present the domain boundary table and shard numbering to the user for explicit approval. Use `notify_user` to present:
92
-
93
- 1. The complete domain boundary table from Step 3
94
- 2. The proposed shard numbering from Step 4
95
- 3. The dependency ordering rationale
96
- 4. Any shards marked as needing deep dives
97
-
98
- Ask:
99
- - "Does this decomposition capture every feature from the architecture design?"
100
- - "Are the domain boundaries in the right places, or should any be split/merged?"
101
- - "Is the dependency ordering correct?"
73
+ **STOP** present domain boundary table, shard numbering, dependency ordering, and deep dive candidates to the user via `notify_user`.
102
74
 
103
- **Do not proceed** to shard skeleton creation until the user explicitly approves the domain boundaries. If the user requests changes, revise Steps 3-4 and re-present.
75
+ **Do not proceed** until the user explicitly approves.
104
76
 
105
- **Write `docs/plans/ia/decomposition-plan.md` immediately after user approval of the domain list, before proceeding to skeleton creation. This is a single gate — write the plan once, then proceed to the Shard Overview.**
77
+ **Write `docs/plans/ia/decomposition-plan.md` immediately after approval**, before proceeding to skeleton creation.
106
78
 
107
79
  ---
108
80
 
@@ -118,9 +90,4 @@ Ask:
118
90
  ## Orchestration
119
91
 
120
92
  ### Step A — Run `.agent/workflows/decompose-architecture-structure.md`
121
-
122
- Creates the directory structure (with multi-surface subdirectories if needed), writes shard skeleton files, and creates the IA, BE, FE, and master index files.
123
-
124
93
  ### Step B — Run `.agent/workflows/decompose-architecture-validate.md`
125
-
126
- Identifies deep dive candidates, annotates expected shard document types, validates the dependency graph, generates the spec pipeline tracker, and requests user review.
@@ -61,6 +61,11 @@ Document all consumers:
61
61
  - Test files
62
62
  - Other contracts that reference this one
63
63
 
64
+ **Zero-consumer path**: If no consumers are found (only the schema definition itself):
65
+ - Confirm with user: "Contract [name] has zero consumers. It can be modified directly without migration safeguards. Proceed with simple edit?"
66
+ - If confirmed → skip Steps 3-5, apply the schema change directly, run validation (Step 6), then proceed to Step 6.5.
67
+ - If user declines → proceed normally (the contract may have planned but not-yet-implemented consumers).
68
+
64
69
  ### 2.5. API versioning check (conditional)
65
70
 
66
71
  If any consumer is a **public-facing API endpoint** (i.e., called by external clients, not just internal frontend):
@@ -96,9 +101,9 @@ Modify the {{CONTRACT_LIBRARY}} schema. For breaking changes:
96
101
 
97
102
  ## 4.5. New dependency check
98
103
 
99
- If the contract change introduces a dependency not currently in the skill set — for example, a new validation library plugin, a schema extension, a binary serialization library, or a new validation pattern — read `.agent/workflows/bootstrap-agents.md` and invoke `/bootstrap-agents NEW_DEPENDENCY=[package]` before updating consumers in Step 5.
104
+ If the contract change introduces a dependency not currently in the skill set — for example, a new validation library plugin, a schema extension, a binary serialization library, or a new validation pattern — read `.agent/workflows/bootstrap-agents.md` and invoke `/bootstrap-agents NEW_DEPENDENCY=[package]` before updating consumers in Step 5. **HARD GATE**: Follow the bootstrap verification protocol (`.agent/skills/prd-templates/references/bootstrap-verification-protocol.md`).
100
105
 
101
- Confirm the matching skill is installed (or no new dependency was introduced) before proceeding to Step 5.
106
+ If no new dependency was introduced, proceed directly to Step 5.
102
107
 
103
108
  ## 5. Update all consumers
104
109
 
@@ -17,32 +17,32 @@ pipeline:
17
17
 
18
18
  Cascade the new content from the entry point through all downstream layers with existing content, assess implementation impact, run a consistency check, and write the evolution record.
19
19
 
20
- > **Prerequisite**: The entry point document must already contain the new content (written by `/evolve-feature-classify` Step 4). The cascade scope must be determined (Step 5 output).
20
+ > **Prerequisite**: Entry point document must contain the new content (from `/evolve-feature-classify` Step 4). Cascade scope must be determined (Step 5 output).
21
+
22
+ **Locked decision conflict check**: Before cascading, scan the new content against locked decisions in upstream layers:
23
+ 1. Read the architecture design document (`docs/plans/*-architecture-design.md`) for locked constraints
24
+ 2. Compare each element of the new feature against: tech stack decisions, data placement strategy, security model, performance budgets
25
+ 3. **If conflict detected** → **STOP**: "New feature '[name]' conflicts with locked decision: [decision]. Options: (1) Modify the feature to work within the constraint, (2) Use `/propagate-decision` to change the locked decision first, then re-run `/evolve-feature`."
26
+ 4. **If no conflicts** → proceed to Step 1.
21
27
 
22
28
  ---
23
29
 
24
30
  ## 1. Cascade through each downstream layer
25
31
 
26
- Read .agent/skills/technical-writer/SKILL.md and apply its writing standards to all spec additions and the evolution record.
27
-
28
- For each downstream layer with existing content (in order: architecture → IA → BE → FE → phase plan):
32
+ Read `.agent/skills/technical-writer/SKILL.md` for writing standards.
29
33
 
30
- 1. **Read existing documents** in the layer
31
- 2. **Determine what the new feature means for this layer** — what sections need additions, what contracts change, what new components are needed
32
- 3. **Write the additions** — new sections, new entries in existing tables, new acceptance criteria, new contracts. Write at the same depth and quality as the existing content in the layer.
33
- 4. **Present additions to user** — show exactly what was added and where
34
+ Read `.agent/skills/prd-templates/references/evolution-layer-guidance.md` **Cascade Layer Guidance** table.
34
35
 
35
- **STOP at each layer** do not cascade to the next layer until the user approves the current layer's additions.
36
+ For each downstream layer with existing content (in order: architecture IA BE FE phase plan):
36
37
 
37
- Layer-specific guidance:
38
+ 1. Read existing documents in the layer
39
+ 2. Determine what the new feature means for this layer — consult the guidance table for what to add
40
+ 3. Write the additions at the same depth and quality as existing content
41
+ 4. Present additions to user
38
42
 
39
- - **Architecture layer**: Add new components, update system diagrams references, add NFRs, update integration points
40
- - **IA layer**: Add new domain interactions, update contracts, add data model changes, update access control
41
- - **BE layer**: Add new API endpoints, update schemas, add middleware requirements, update validation rules
42
- - **FE layer**: Add new components, update state management, add new routes, update accessibility requirements
43
- - **Phase plan**: Add new slices or update existing slice acceptance criteria (see Step 2)
43
+ **STOP at each layer** do not cascade to next until user approves.
44
44
 
45
- > After writing additions to any spec document in this step, append a row to that spec's `## Changelog` table recording: today's date, `'Evolution: [brief description of what was added]'`, this workflow (`/evolve-feature-cascade`), and the sections of the spec that were updated. If the spec does not yet have a `## Changelog` section, add one following the template in `.agent/skills/prd-templates/references/be-spec-template.md` (for BE specs) or the equivalent FE/IA template before appending the row.
45
+ > After writing to any spec document, append a `## Changelog` row: date, `'Evolution: [description]'`, workflow, updated sections. If no `## Changelog` exists, add one from the template in `.agent/skills/prd-templates/references/be-spec-template.md`.
46
46
 
47
47
  ---
48
48
 
@@ -50,91 +50,47 @@ Layer-specific guidance:
50
50
 
51
51
  If `docs/plans/phases/` exists and contains phase plans:
52
52
 
53
- 1. **Check in-progress slices** do any currently in-progress slices need their acceptance criteria updated? List the affected criteria.
54
- 2. **Check completed slices** — do any completed slices that may need revisiting? (This is a red flag — document it clearly with regression risk assessment)
55
- 3. **Determine if new slices are needed** — does the new feature require new implementation slices in the current phase? If yes, draft the slice names and acceptance criteria.
56
- 4. **Determine if phase plan update is required** — does the scope require changes to the phase plan structure?
57
-
58
- Present the impact assessment:
59
-
60
- ```
61
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
62
- Implementation Impact
63
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
64
- In-progress slices affected: [list or "none"]
65
- Completed slices that may need revisiting: [list or "none"]
66
- New slices needed: [list or "none"]
67
- Phase plan update required: [yes/no]
53
+ 1. Check in-progress slices for affected acceptance criteria
54
+ 2. Check completed slices that may need revisiting (flag regression risk)
55
+ 3. Determine if new slices are needed
56
+ 4. Determine if phase plan update is required
68
57
 
69
- Recommended action: [specific next step]
70
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
71
- ```
58
+ Read `.agent/skills/prd-templates/references/evolution-layer-guidance.md` **Impact Assessment Format** and use it to present.
72
59
 
73
- If no phase plans exist, skip this step and note: "No phase plans exist yet — implementation impact will be assessed during `/plan-phase`."
60
+ If no phase plans exist: "No phase plans yet — impact assessed during `/plan-phase`."
74
61
 
75
62
  ---
76
63
 
77
64
  ## 3. Run consistency check
78
65
 
79
- Read .agent/skills/resolve-ambiguity/SKILL.md and follow its methodology.
66
+ Read `.agent/skills/resolve-ambiguity/SKILL.md` and follow its methodology.
80
67
 
81
- For every document that received additions in Step 1:
68
+ For every document that received additions:
69
+ 1. Re-read full document — verify additions integrate correctly
70
+ 2. Check for internal contradictions
71
+ 3. Check cross-references between changed documents
72
+ 4. Check against locked decisions
82
73
 
83
- 1. **Re-read the full document** — verify the additions integrate correctly with existing content
84
- 2. **Check for internal contradictions** — do the additions conflict with anything else in the same document?
85
- 3. **Check cross-references between changed documents** — if multiple documents were updated, verify they are consistent with each other
86
- 4. **Check against locked decisions** — do the additions contradict any locked architectural decisions?
87
-
88
- Report any issues found. **Do not auto-fix** — present them to the user for review.
74
+ Report issues. **Do not auto-fix** — present to user.
89
75
 
90
76
  ---
91
77
 
92
78
  ## 4. Write evolution record
93
79
 
94
- Write `docs/audits/evolve-feature-[name]-[date].md` recording:
95
-
96
- - **Feature name** — short identifier for the evolution
97
- - **Change type** — classification from Step 2 of `/evolve-feature-classify`
98
- - **Entry point** — which document received the initial content
99
- - **New content written** — summary of what was added at the entry point
100
- - **Layers updated** — list of downstream layers that received additions
101
- - **Per-layer additions** — what was added at each layer (summary, not full content)
102
- - **Implementation impact** — assessment from Step 2 (if applicable)
103
- - **Consistency check results** — pass/fail with details
104
- - **Timestamp** of the evolution run
80
+ Write `docs/audits/evolve-feature-[name]-[date].md` recording: feature name, change type, entry point, new content summary, layers updated, per-layer additions, implementation impact, consistency check results, timestamp.
105
81
 
106
82
  ---
107
83
 
108
84
  ## 4.5. Bootstrap gate — new dependency check
109
85
 
110
- Before closing the cascade, scan every document that was updated in Step 1 for any technology, library, or service referenced in the new content that does not have a corresponding installed skill directory in `.agent/skills/`.
111
-
112
- For each missing skill:
113
- 1. Identify the technology (e.g., WebSocket, S3 storage, Stripe, Redis)
114
- 2. Read `.agent/workflows/bootstrap-agents.md` and invoke `/bootstrap-agents NEW_DEPENDENCY=[technology]`
115
- 3. Confirm the matching skill is installed before proceeding to Step 5
86
+ Scan updated documents for technologies without corresponding skill directories.
116
87
 
117
- If no new unregistered technologies were introduced, skip and proceed to Step 5.
88
+ For each missing skill: read `.agent/workflows/bootstrap-agents.md` and invoke. **HARD GATE**: follow bootstrap verification protocol (`.agent/skills/prd-templates/references/bootstrap-verification-protocol.md`).
118
89
 
119
90
  ---
120
91
 
121
92
  ## 5. Propose next steps
122
93
 
123
- Display the completion summary:
124
-
125
- ```
126
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
127
- Feature Evolution Complete
128
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
129
- Entry point: [document]
130
- Layers updated: [list]
131
- New content: [summary]
132
- Implementation: [impact summary]
133
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
134
-
135
- ❗ **Mandatory next step — do not skip**: The evolution just added or modified content across [N] layers. Evolution bypasses the normal deepening phase — the audit is the quality gate that replaces it.
136
-
137
- Run `/audit-ambiguity` on the affected layers before any implementation work touches these documents. The affected layers are: [list the layers that were updated during the cascade — populated from Step 1's output].
94
+ Read `.agent/skills/prd-templates/references/evolution-layer-guidance.md` **Completion Summary Format** and present.
138
95
 
139
- This is not optional. Under-specified evolution content is the single most common source of spec drift. The audit catches what the inline micro check may have missed at a cross-document level.
140
- ```
96
+ **Mandatory next step**: Run `/audit-ambiguity` on affected layers before any implementation work. List the layers updated during Step 1.
@@ -17,7 +17,7 @@ pipeline:
17
17
 
18
18
  Capture the user's new feature, requirement, or constraint. Classify it, identify the correct entry point document, write the new content at proper spec depth, and determine which downstream layers need updating.
19
19
 
20
- > **Prerequisite**: At least `docs/plans/ideation/ideation-index.md` must exist. If the pipeline hasn't started, run `/ideate` first — there's nothing to evolve yet.
20
+ > **Prerequisite**: `docs/plans/ideation/ideation-index.md` must exist. If not **STOP**: run `/ideate` first.
21
21
 
22
22
  ---
23
23
 
@@ -25,100 +25,66 @@ Capture the user's new feature, requirement, or constraint. Classify it, identif
25
25
 
26
26
  Ask the user to describe what they want to add. Accept free-form input or `@file`.
27
27
 
28
- If the user provides an `@file` reference, read the file and extract the key additions. If free-form, engage briefly to ensure the addition is clear — but this is NOT a full `/ideate` interview. The goal is to understand what's being added, not to explore the entire problem space.
28
+ If `@file` read and extract key additions. If free-form brief clarifying questions only (NOT a full `/ideate` interview).
29
29
 
30
30
  ---
31
31
 
32
32
  ## 2. Classify the change
33
33
 
34
- Read .agent/skills/brainstorming/SKILL.md and follow its methodology.
34
+ Read `.agent/skills/brainstorming/SKILL.md` and follow its methodology.
35
35
 
36
36
  Present the classification menu:
37
37
 
38
38
  ```
39
39
  What type of change is this?
40
40
 
41
- [1] New feature — an entirely new capability that doesn't exist in the current specs
42
- [2] New requirement on an existing feature — additional constraint, behavior, or acceptance criteria for something already specified
43
- [3] New technical constraint — a non-functional requirement that affects architecture (performance, compliance, infrastructure)
44
- [4] Scope correction — something was misunderstood or underspecified in existing specs and needs to be fixed
41
+ [1] New feature — entirely new capability
42
+ [2] New requirement on existing feature — additional constraint/behavior/criteria
43
+ [3] New technical constraint — non-functional requirement affecting architecture
44
+ [4] Scope correction — misunderstanding or underspecification that needs fixing
45
45
  ```
46
46
 
47
- **Do not proceed until the user selects.**
47
+ **STOP** — do not proceed until the user selects.
48
48
 
49
49
  ---
50
50
 
51
51
  ## 3. Identify the entry point document
52
52
 
53
- Based on the classification, determine where the new content enters the pipeline:
54
-
55
- | Classification | Entry Point Document | Rationale |
56
- |---------------|---------------------|-----------|
57
- | **[1] New feature** | `docs/plans/ideation/ideation-index.md` + fractal tree placement (see Step 4) | New features start at the ideation layer — placed in the correct domain folder via Classification Gate |
58
- | **[2] New requirement** | The IA shard that owns the affected domain | Requirements on existing features enter at the domain interaction level |
59
- | **[3] New technical constraint** | `docs/plans/[dated]-architecture-design.md` | Technical constraints affect the architecture and everything below it |
60
- | **[4] Scope correction** | Ask the user which document contains the misunderstanding | Corrections enter wherever the original misunderstanding lives |
61
-
62
- For classification [2], identify which IA shard owns the affected domain by reading `docs/plans/ia/index.md` and matching the feature to a domain.
53
+ | Classification | Entry Point Document |
54
+ |---------------|---------------------|
55
+ | **[1] New feature** | `docs/plans/ideation/ideation-index.md` + fractal tree placement (Step 4) |
56
+ | **[2] New requirement** | The IA shard that owns the affected domain (read `docs/plans/ia/index.md` to find it) |
57
+ | **[3] New technical constraint** | `docs/plans/[dated]-architecture-design.md` |
58
+ | **[4] Scope correction** | Ask the user which document contains the misunderstanding |
63
59
 
64
60
  ---
65
61
 
66
62
  ## 4. Write new content at the entry point
67
63
 
68
- Read .agent/skills/technical-writer/SKILL.md and follow its clarity standards for all new spec content.
69
-
70
- This is a real spec-writing step — not a placeholder. Write the new content at the appropriate depth for the entry point layer:
71
-
72
- **If entry point is ideation layer** (`docs/plans/ideation/`):
64
+ Read `.agent/skills/technical-writer/SKILL.md` for clarity standards.
73
65
 
74
- 1. **Placement**: Read `ideation-index.md` Structure Map. Identify the domain folder where this feature belongs. If no suitable domain exists, create one.
75
- 2. **Classification Gate**: Apply the Node Classification Gate from `.agent/skills/idea-extraction/SKILL.md` — determine if the feature is a leaf feature file or complex enough to warrant a sub-domain folder.
76
- 3. **Write the feature**: Use `.agent/skills/prd-templates/references/fractal-feature-template.md` as the template. Include:
77
- - Feature description (what it does, why it matters)
78
- - Affected personas (who uses this)
79
- - Success criteria (how we know it works)
80
- - Constraints (what limits apply)
81
- - **Role Lens** — which personas interact with this feature and how
82
- 4. **Update parent index**: Add the new feature to the parent domain's `*-index.md` children table
83
- 5. **Update CX files**: If the feature has cross-domain interactions, update the parent domain's `*-cx.md` and/or `ideation-cx.md` (global)
84
- 6. **Update `ideation-index.md`**: Add the feature to the MoSCoW Summary at the appropriate priority level
66
+ Read `.agent/skills/prd-templates/references/evolution-layer-guidance.md` **Entry Point Writing Depth** section for the entry point layer. Follow its writing checklist for the identified layer.
85
67
 
86
- **If entry point is architecture layer** (`architecture-design.md`):
87
- - Technical constraint description
88
- - Affected components (which parts of the system this touches)
89
- - Non-functional requirements (performance, scalability, compliance)
90
- - Integration points (how this relates to existing architecture decisions)
91
-
92
- **If entry point is IA layer** (specific IA shard):
93
- - Domain interactions (new user flows or modifications to existing flows)
94
- - Contracts (new or modified API contracts)
95
- - Data models (new entities, fields, or relationships)
96
- - Access control (RBAC implications)
97
-
98
- **Inline ambiguity check**: Before presenting this content to the user for approval, apply the Micro Ambiguity Check from `.agent/skills/session-continuity/SKILL.md` (Ambiguity Gates section). Walk each individual element of the new content and ask: "Would an implementer need to guess about this?" For every element where the answer is yes — fix it now. Add the missing detail, type, behavior, or constraint. Only present the content to the user once it passes the micro check.
68
+ **Inline ambiguity check**: Before presenting to user, apply Micro Ambiguity Check from `.agent/skills/session-continuity/SKILL.md` — walk each element, fix any gaps where an implementer would need to guess.
99
69
 
100
70
  Present the written content to the user.
101
71
 
102
- **STOP — do not proceed until the user approves the new content.**
72
+ **STOP** — do not proceed until the user approves.
103
73
 
104
74
  ---
105
75
 
106
76
  ## 5. Determine cascade scope
107
77
 
108
- Based on the entry point, determine which downstream layers have existing content that needs updating:
109
-
110
78
  | Entry Point | Cascade Layers (in order) |
111
79
  |-------------|---------------------------|
112
80
  | Vision | Architecture → IA → BE → FE → Phase plan |
113
81
  | Architecture | IA → BE → FE → Phase plan |
114
- | IA shard | BE spec for that shard → FE spec for that shard → Phase plan |
82
+ | IA shard | BE spec → FE spec → Phase plan |
115
83
  | BE spec | FE → Phase plan |
116
- | Scope correction | Depends on the document — all layers below the corrected document |
117
-
118
- **Important**: When the entry point is an IA shard, the downstream cascade remains scoped to the affected domain shard's corresponding BE and FE specs. Do not cascade into unrelated domain shards unless the user explicitly broadens scope.
84
+ | Scope correction | All layers below the corrected document |
119
85
 
120
- For each downstream layer, check whether content exists (using the same file checks as `/remediate-pipeline-assess` Step 1). Only layers with existing content need updating — layers that haven't been started yet will naturally incorporate the new content when they are written.
86
+ Check each downstream layer for existing content. Only layers with existing content need updating.
121
87
 
122
88
  Report: "These layers have existing content that will need updating: [list]."
123
89
 
124
- If no downstream layers have content, report: "No downstream layers have existing content — the new content will be incorporated when those layers are written. Evolution complete."
90
+ If no downstream layers have content: "No downstream layers have existing content — incorporated when written. Evolution complete."