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.
- package/package.json +1 -1
- package/template/.agent/kit-sync.md +3 -3
- package/template/.agent/skills/idea-extraction/SKILL.md +61 -18
- package/template/.agent/skills/prd-templates/references/architecture-completeness-checklist.md +28 -0
- package/template/.agent/skills/prd-templates/references/be-spec-classification.md +41 -0
- package/template/.agent/skills/prd-templates/references/bootstrap-verification-protocol.md +50 -0
- package/template/.agent/skills/prd-templates/references/constraint-exploration.md +41 -0
- package/template/.agent/skills/prd-templates/references/decision-confirmation-protocol.md +68 -0
- package/template/.agent/skills/prd-templates/references/decision-propagation.md +121 -0
- package/template/.agent/skills/prd-templates/references/domain-exhaustion-criteria.md +37 -0
- package/template/.agent/skills/prd-templates/references/engagement-tier-protocol.md +58 -0
- package/template/.agent/skills/prd-templates/references/evolution-layer-guidance.md +91 -0
- package/template/.agent/skills/prd-templates/references/expansion-modes.md +27 -0
- package/template/.agent/skills/prd-templates/references/folder-seeding-protocol.md +77 -0
- package/template/.agent/skills/prd-templates/references/input-classification.md +23 -0
- package/template/.agent/skills/prd-templates/references/map-guard-protocol.md +44 -0
- package/template/.agent/skills/prd-templates/references/persona-completeness-gate.md +20 -0
- package/template/.agent/skills/prd-templates/references/shard-boundary-analysis.md +76 -0
- package/template/.agent/skills/prd-templates/references/write-verification-protocol.md +57 -0
- package/template/.agent/workflows/create-prd-architecture.md +17 -23
- package/template/.agent/workflows/create-prd-compile.md +31 -22
- package/template/.agent/workflows/create-prd-design-system.md +18 -14
- package/template/.agent/workflows/create-prd-security.md +22 -24
- package/template/.agent/workflows/create-prd-stack.md +20 -11
- package/template/.agent/workflows/create-prd.md +27 -99
- package/template/.agent/workflows/decompose-architecture-structure.md +14 -4
- package/template/.agent/workflows/decompose-architecture-validate.md +29 -80
- package/template/.agent/workflows/decompose-architecture.md +27 -60
- package/template/.agent/workflows/evolve-contract.md +7 -2
- package/template/.agent/workflows/evolve-feature-cascade.md +34 -78
- package/template/.agent/workflows/evolve-feature-classify.md +22 -56
- package/template/.agent/workflows/ideate-discover.md +89 -100
- package/template/.agent/workflows/ideate-extract.md +42 -138
- package/template/.agent/workflows/ideate-validate.md +57 -133
- package/template/.agent/workflows/ideate.md +32 -19
- package/template/.agent/workflows/implement-slice-setup.md +15 -5
- package/template/.agent/workflows/implement-slice-tdd.md +21 -5
- package/template/.agent/workflows/plan-phase-write.md +30 -1
- package/template/.agent/workflows/propagate-decision-apply.md +23 -90
- package/template/.agent/workflows/propagate-decision-scan.md +20 -91
- package/template/.agent/workflows/remediate-pipeline-execute.md +6 -1
- package/template/.agent/workflows/validate-phase-quality.md +14 -3
- package/template/.agent/workflows/validate-phase-readiness.md +1 -1
- package/template/.agent/workflows/verify-infrastructure.md +2 -0
- package/template/.agent/workflows/write-architecture-spec-deepen.md +8 -2
- package/template/.agent/workflows/write-architecture-spec-design.md +11 -14
- package/template/.agent/workflows/write-be-spec-classify.md +26 -104
- package/template/.agent/workflows/write-be-spec-write.md +49 -3
- package/template/.agent/workflows/write-be-spec.md +1 -1
- package/template/.agent/workflows/write-fe-spec-write.md +62 -3
- 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`
|
|
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
|
-
|
|
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
|
|
32
|
-
2. Count
|
|
33
|
-
3. Compare against the
|
|
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
|
|
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
|
-
|
|
50
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
52
|
+
Read `.agent/skills/prd-templates/references/shard-boundary-analysis.md` → **Sub-feature Count Thresholds** and **Split Proposal Format**.
|
|
80
53
|
|
|
81
|
-
- **
|
|
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
|
-
|
|
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
|
-
|
|
58
|
+
**After any split**: Update `docs/plans/ia/decomposition-plan.md` and re-run Must Have coverage gate.
|
|
90
59
|
|
|
91
|
-
**Split
|
|
92
|
-
|
|
93
|
-
Shard [
|
|
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
|
|
115
|
-
- [ ] BE/FE indexes exist with conventions templates
|
|
116
|
-
- [ ]
|
|
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
|
|
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
|
-
|
|
129
|
-
|
|
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
|
-
|
|
83
|
+
### Next step
|
|
135
84
|
|
|
136
|
-
**
|
|
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
|
|
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
|
|
28
|
+
If no architecture design exists → **STOP**: tell the user to run `/create-prd` first.
|
|
29
29
|
|
|
30
|
-
|
|
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
|
-
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
> If
|
|
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
|
-
>
|
|
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
|
-
|
|
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
|
|
52
|
+
Read `.agent/skills/brainstorming/SKILL.md`.
|
|
49
53
|
|
|
50
54
|
## 3. Identify domain boundaries
|
|
51
55
|
|
|
52
|
-
Read
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
84
|
-
- `
|
|
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
|
|
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**
|
|
75
|
+
**Do not proceed** until the user explicitly approves.
|
|
104
76
|
|
|
105
|
-
**Write `docs/plans/ia/decomposition-plan.md` immediately after
|
|
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
|
-
|
|
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**:
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
36
|
+
For each downstream layer with existing content (in order: architecture → IA → BE → FE → phase plan):
|
|
36
37
|
|
|
37
|
-
|
|
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
|
-
|
|
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
|
|
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.
|
|
54
|
-
2.
|
|
55
|
-
3.
|
|
56
|
-
4.
|
|
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
|
-
|
|
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
|
|
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
|
|
66
|
+
Read `.agent/skills/resolve-ambiguity/SKILL.md` and follow its methodology.
|
|
80
67
|
|
|
81
|
-
For every document that received additions
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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**:
|
|
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
|
|
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
|
|
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 —
|
|
42
|
-
[2] New requirement on
|
|
43
|
-
[3] New technical constraint —
|
|
44
|
-
[4] Scope correction —
|
|
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
|
-
**
|
|
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
|
-
|
|
54
|
-
|
|
55
|
-
|
|
|
56
|
-
|
|
57
|
-
| **[
|
|
58
|
-
| **[
|
|
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
|
|
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
|
-
|
|
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
|
-
**
|
|
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
|
|
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
|
|
82
|
+
| IA shard | BE spec → FE spec → Phase plan |
|
|
115
83
|
| BE spec | FE → Phase plan |
|
|
116
|
-
| Scope correction |
|
|
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
|
-
|
|
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
|
|
90
|
+
If no downstream layers have content: "No downstream layers have existing content — incorporated when written. Evolution complete."
|