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,154 +19,98 @@ pipeline:
|
|
|
19
19
|
|
|
20
20
|
Explore constraints, verify domain exhaustion, and compile the vision summary.
|
|
21
21
|
|
|
22
|
-
**Prerequisite**: If invoked standalone, verify `docs/plans/ideation/ideation-index.md` exists with leaf nodes at `[DEEP]` or `[EXHAUSTED]` level. If not
|
|
22
|
+
**Prerequisite**: If invoked standalone, verify `docs/plans/ideation/ideation-index.md` exists with leaf nodes at `[DEEP]` or `[EXHAUSTED]` level. If not → **STOP**: "Run `/ideate-discover` first."
|
|
23
23
|
|
|
24
24
|
---
|
|
25
25
|
|
|
26
26
|
## 7.5. Read Engagement Tier
|
|
27
27
|
|
|
28
|
-
Read `## Engagement Tier` from `docs/plans/ideation/ideation-index.md`.
|
|
28
|
+
Read `## Engagement Tier` from `docs/plans/ideation/ideation-index.md`.
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
- **Hybrid**: Steps 8 product decisions → pause for user. Structural checks → auto.
|
|
32
|
-
- **Interactive**: All steps pause for user confirmation.
|
|
30
|
+
Read `.agent/skills/prd-templates/references/engagement-tier-protocol.md` — apply the tier's gate behavior for this shard.
|
|
33
31
|
|
|
34
32
|
## 8. Constraints and metrics
|
|
35
33
|
|
|
36
|
-
Read `.agent/skills/idea-extraction/SKILL.md`
|
|
34
|
+
Read `.agent/skills/idea-extraction/SKILL.md` → Deep Think Protocol.
|
|
37
35
|
|
|
38
|
-
Read `.agent/skills/prd-templates/references/
|
|
36
|
+
Read `.agent/skills/prd-templates/references/constraint-exploration.md` — follow the constraint questions, tier-specific behavior, success metrics, and competitive positioning procedures.
|
|
39
37
|
|
|
40
|
-
|
|
38
|
+
**Showstopper detection**: If any constraint is classified as a fundamental viability blocker (e.g., regulatory impossibility, technical impossibility with current tech, market size < viable threshold) → **STOP**. Present to the user:
|
|
41
39
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
40
|
+
> ⚠️ **Potential showstopper identified**: [constraint description]
|
|
41
|
+
>
|
|
42
|
+
> Options:
|
|
43
|
+
> 1. **Pivot** — modify the idea to avoid this constraint
|
|
44
|
+
> 2. **Accept risk** — proceed knowing this constraint exists
|
|
45
|
+
> 3. **Abandon** — this idea is not viable
|
|
48
46
|
|
|
49
|
-
|
|
47
|
+
Wait for user decision. If pivot → update problem statement and loop back to re-explore affected domains. If accept risk → document in `meta/constraints.md` as accepted risk and continue. If abandon → end the workflow.
|
|
50
48
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
**Auto**: Self-interview using Deep Think. Write all answers with reasoning to `meta/constraints.md` immediately. Mark each answer as `[AUTO-CONFIRMED]` for traceability.
|
|
54
|
-
|
|
55
|
-
If the surface classification changed, update `ideation-index.md` `## Structural Classification` section.
|
|
56
|
-
|
|
57
|
-
### Success metrics
|
|
58
|
-
|
|
59
|
-
For each persona, define concrete success metrics. Write to `ideation-index.md` (or link to domain files where the metric applies):
|
|
60
|
-
|
|
61
|
-
- What metric proves this product solves the persona's problem?
|
|
62
|
-
- What's the target number? (specific — not "good response times")
|
|
63
|
-
- What's the measurement method?
|
|
64
|
-
|
|
65
|
-
### Competitive positioning
|
|
66
|
-
|
|
67
|
-
If not already explored in `/ideate-discover` Step 4, explore competitive landscape now. Write to `docs/plans/ideation/meta/competitive-landscape.md`:
|
|
68
|
-
|
|
69
|
-
- Name 2-4 direct competitors
|
|
70
|
-
- For each: what they do well, where they fail, how we differentiate
|
|
71
|
-
- What's the moat? (network effects, data, expertise, switching costs)
|
|
49
|
+
If the surface classification changed during constraint exploration, update `ideation-index.md` `## Structural Classification` section.
|
|
72
50
|
|
|
73
51
|
---
|
|
74
52
|
|
|
75
53
|
## 9. Domain exhaustion check
|
|
76
54
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
### Read the fractal tree
|
|
55
|
+
Read `.agent/skills/prd-templates/references/domain-exhaustion-criteria.md` — apply all criteria and follow the execution procedure.
|
|
80
56
|
|
|
81
|
-
|
|
82
|
-
- Every node's status marker (surface → domain → sub-domain → feature)
|
|
83
|
-
- All leaf feature files' status markers
|
|
84
|
-
- All CX files at every level for pending entries
|
|
57
|
+
If any criterion fails → take the specified action. If proportionality fails → return to `/ideate-discover` for under-explored areas.
|
|
85
58
|
|
|
86
|
-
###
|
|
59
|
+
### 9.5. Domain Gap Reasoning (missing domain detection)
|
|
87
60
|
|
|
88
|
-
|
|
89
|
-
|-------|----------|----------------|
|
|
90
|
-
| All leaf nodes ≥ `[DEEP]` | Every feature file in the tree is `[DEEP]` or `[EXHAUSTED]` | Drill remaining feature files |
|
|
91
|
-
| Status propagation correct | Parent nodes reflect their children's status | Update parent indexes |
|
|
92
|
-
| All Must Have features ≥ Level 2 | Every Must Have has sub-features AND edge cases AND Role Lens | Deep Think + drill |
|
|
93
|
-
| Deep Think zero hypotheses | Final Deep Think pass across ALL leaf nodes yields no new hypotheses | Present any new hypotheses, drill if confirmed |
|
|
94
|
-
| All CX files clean | No Medium/Low confidence entries remain at any level — all are High or rejected | Run synthesis questions on pending pairs |
|
|
95
|
-
| Role Lens complete | Every feature file has a populated Role Lens table | Fill missing Role Lens entries |
|
|
96
|
-
| User confirmation | User explicitly confirms "nothing else" for each domain | Ask for each under-explored domain |
|
|
61
|
+
After verifying existing domains are deep enough, reason about whether **entire domains are missing**:
|
|
97
62
|
|
|
98
|
-
|
|
63
|
+
1. **Product archetype analysis**: Identify the product archetype (e.g., marketplace, SaaS tool, social platform, developer tool). List the standard domain categories for this archetype.
|
|
64
|
+
2. **Gap identification**: Compare the standard domain list against the actual domain folders in `docs/plans/ideation/domains/`. List any standard domains with no corresponding folder.
|
|
65
|
+
3. **Cross-feature gap detection**: Read all CX files. For each unresolved cross-cut, ask: "Does this cross-cut imply a domain that doesn't exist yet?" (Example: if multiple features reference "notifications" but no notifications domain exists, that's a structural gap.)
|
|
66
|
+
4. **Present missing domains**:
|
|
99
67
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
68
|
+
> 🏗️ **Potential missing domains:**
|
|
69
|
+
>
|
|
70
|
+
> Given this is a [product archetype], these domains are standard but not present:
|
|
71
|
+
> - **[Domain A]** — [why it's expected: most [archetype] apps have this because...]
|
|
72
|
+
> - **[Domain B]** — [why it's expected: cross-cuts between features X and Y imply this]
|
|
73
|
+
>
|
|
74
|
+
> These are suggestions. You may have intentionally excluded them. Want to add any?
|
|
104
75
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
76
|
+
**STOP** — wait for user response. For each accepted domain:
|
|
77
|
+
1. Create the domain folder with index and CX files
|
|
78
|
+
2. Run a quick Level 1 breadth sweep (from idea-extraction skill)
|
|
79
|
+
3. Re-run the exhaustion check on the expanded domain set
|
|
108
80
|
|
|
109
|
-
|
|
81
|
+
For rejected domains: add to `ideation-index.md` `## Considered & Rejected` section.
|
|
110
82
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
---
|
|
116
|
-
|
|
117
|
-
## 10. Vision deepening (if needed)
|
|
118
|
-
|
|
119
|
-
After the exhaustion check, verify proportionality:
|
|
120
|
-
|
|
121
|
-
- **Rich inputs**: Total domain file content (all files combined) should be at least 30% of the original source document's line count. If short, identify what was lost.
|
|
122
|
-
- **All inputs**: Each domain with `[DEEP]` or `[EXHAUSTED]` status should have at least 3 sub-areas drilled with edge cases.
|
|
123
|
-
|
|
124
|
-
If proportionality fails, return to `/ideate-discover` for the under-explored areas.
|
|
83
|
+
**Loop guard**: Track how many times this shard has returned to `/ideate-discover` for exhaustion remediation.
|
|
84
|
+
- **1st return** → normal. Run discover again on the flagged areas.
|
|
85
|
+
- **2nd return** → warn: "This is the second remediation loop. Remaining gaps: [list]. Resolve these specifically or they will be escalated."
|
|
86
|
+
- **3rd return** → **STOP**: "Exhaustion check has failed 3 times. Remaining gaps: [list]. Present these to the user as known gaps and ask: accept as-is, or manually provide the missing content?"
|
|
125
87
|
|
|
126
88
|
---
|
|
127
89
|
|
|
128
90
|
## 10.5. Auto Tier Review Checkpoint (Auto tier only)
|
|
129
91
|
|
|
130
|
-
If engagement tier is **Auto
|
|
92
|
+
If engagement tier is **Auto**:
|
|
131
93
|
|
|
132
|
-
1.
|
|
133
|
-
2.
|
|
134
|
-
3.
|
|
135
|
-
4. **Wait for user response.** Apply any overrides. Write corrections
|
|
94
|
+
1. List all auto-confirmed decisions with their Deep Think reasoning
|
|
95
|
+
2. Highlight any `[AUTO-CONFIRMED]` entries in `meta/constraints.md`, `meta/personas.md`, `meta/competitive-landscape.md`
|
|
96
|
+
3. Present: "I explored your idea independently. Here's everything I decided and why. Override anything before I compile the vision."
|
|
97
|
+
4. **Wait for user response.** Apply any overrides. Write corrections immediately.
|
|
136
98
|
|
|
137
|
-
For **Hybrid** and **Interactive** tiers
|
|
99
|
+
For **Hybrid** and **Interactive** tiers → skip this step.
|
|
138
100
|
|
|
139
101
|
---
|
|
140
102
|
|
|
141
103
|
## 11. Compile vision document
|
|
142
104
|
|
|
143
|
-
Read `.agent/skills/prd-templates/references/vision-template.md` for the output template.
|
|
105
|
+
Read `.agent/skills/prd-templates/references/vision-template.md` for the output template and required sections.
|
|
144
106
|
|
|
145
107
|
Read `.agent/skills/technical-writer/SKILL.md` and follow its methodology.
|
|
146
108
|
|
|
147
|
-
Compile `docs/plans/vision.md` as a
|
|
148
|
-
|
|
149
|
-
**Vision.md contents (Option B — Executive Summary):**
|
|
150
|
-
|
|
151
|
-
1. **Problem Statement** — Condensed from `meta/problem-statement.md`
|
|
152
|
-
2. **Target Users** — Condensed persona summaries from `meta/personas.md` (name + role + pain point + success criteria — not the full 6-field exploration)
|
|
153
|
-
3. **Solution Overview** — 2-3 paragraphs describing what the product does
|
|
154
|
-
4. **Domain Map** — One paragraph per domain (condensed from domain files, not the full exploration)
|
|
155
|
-
5. **MoSCoW Feature Matrix** — Feature names + domain links (not the drill-down details)
|
|
156
|
-
6. **Key Differentiators + Competitive Landscape** — From `meta/competitive-landscape.md`
|
|
157
|
-
7. **Constraints Summary** — From `meta/constraints.md`
|
|
158
|
-
8. **Key Decisions** — Numbered list from `ideation-index.md` decision log
|
|
159
|
-
|
|
160
|
-
Add a header note:
|
|
161
|
-
|
|
162
|
-
```markdown
|
|
163
|
-
> **This is a human-readable project summary.** For pipeline-grade detail, see
|
|
164
|
-
> [ideation-index.md](ideation/ideation-index.md) and the domain files it references.
|
|
165
|
-
```
|
|
109
|
+
Compile `docs/plans/vision.md` as a human-readable executive summary. This is NOT consumed by the pipeline — the pipeline reads `ideation-index.md` directly.
|
|
166
110
|
|
|
167
111
|
### Fidelity check
|
|
168
112
|
|
|
169
|
-
Verify
|
|
113
|
+
Verify every domain in `ideation-index.md` appears in `vision.md`. Nothing dropped during compilation.
|
|
170
114
|
|
|
171
115
|
---
|
|
172
116
|
|
|
@@ -174,30 +118,12 @@ Verify that every domain in `ideation-index.md` appears in `vision.md`. Nothing
|
|
|
174
118
|
|
|
175
119
|
### Self-check against Ideation rubric
|
|
176
120
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
Read `.agent/skills/pipeline-rubrics/references/ideation-rubric.md` before applying the self-check dimensions.
|
|
121
|
+
Read `.agent/skills/pipeline-rubrics/references/ideation-rubric.md` and apply all 12 dimensions as the self-check.
|
|
180
122
|
|
|
181
|
-
|
|
182
|
-
|---|-----------|-------|
|
|
183
|
-
| 1 | Problem Clarity | Is the problem one sentence, specific, and testable? |
|
|
184
|
-
| 2 | Persona Specificity | Are personas named with all 6 fields? |
|
|
185
|
-
| 3 | Feature Completeness | Is MoSCoW complete? Are Must Haves at ≥Level 2 depth? |
|
|
186
|
-
| 4 | Constraint Explicitness | Are all axes (budget, timeline, team, compliance, performance) addressed? |
|
|
187
|
-
| 5 | Success Measurability | Are there concrete numbers/thresholds? |
|
|
188
|
-
| 6 | Competitive Positioning | Are competitors named with differentiation? |
|
|
189
|
-
| 7 | Open Question Resolution | Do all open questions have owners + deadlines? |
|
|
190
|
-
| 8 | **Input-Output Proportionality** | Is the ideation output proportional to input richness? |
|
|
191
|
-
| 9 | **Domain Coverage** | Are all domains at `[DEEP]` or `[EXHAUSTED]`? |
|
|
192
|
-
| 10 | **Deep Think Coverage** | Were hypotheses tracked? Are all resolved (confirmed/rejected)? |
|
|
193
|
-
| 11 | **Cross-Cut Completeness** | Is the ledger clean? No pending entries? |
|
|
194
|
-
| 12 | **Fractal Structure Compliance** | Does every folder have an index + CX file? Do leaf nodes use the feature template? Does hub-and-spoke placement match classification? Are Role Matrix and Role Lens populated? |
|
|
123
|
+
For any dimension that scores ⚠️ or ❌ → resolve it NOW. Loop back to the relevant step. Do not present a document with known gaps.
|
|
195
124
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
> **Note**: This is an internal self-check, not a formal audit. For a rigorous,
|
|
199
|
-
> independent audit with evidence citations, run `/audit-ambiguity ideation` as a
|
|
200
|
-
> separate step after this workflow completes.
|
|
125
|
+
**Remediation loop guard**: Track remediation attempts per dimension.
|
|
126
|
+
- After **3 failed attempts** on the same dimension → **STOP**: "Dimension '[name]' has failed remediation 3 times. Presenting to user as a known gap with context: [what was tried, why it failed]." Include it in the review presentation as an unresolved item for user decision.
|
|
201
127
|
|
|
202
128
|
### Present for review
|
|
203
129
|
|
|
@@ -205,14 +131,12 @@ Use `notify_user` to request review of:
|
|
|
205
131
|
- `docs/plans/ideation/ideation-index.md` — the pipeline key file
|
|
206
132
|
- `docs/plans/vision.md` — the human summary
|
|
207
133
|
|
|
208
|
-
Include:
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
- The final domain coverage map
|
|
212
|
-
- Count of Deep Think hypotheses: N presented, N confirmed, N rejected
|
|
134
|
+
Include: self-check results (all 12 dimensions), any resolved gaps, final domain coverage map, Deep Think hypothesis counts.
|
|
135
|
+
|
|
136
|
+
**STOP** — do NOT proceed until the user explicitly approves.
|
|
213
137
|
|
|
214
|
-
|
|
138
|
+
### Next step
|
|
215
139
|
|
|
216
|
-
|
|
140
|
+
**STOP** — do NOT propose `/create-prd` or any other pipeline workflow. The only valid next step is:
|
|
217
141
|
|
|
218
|
-
|
|
142
|
+
- `/audit-ambiguity ideation` — mandatory coverage verification before `/create-prd` can begin.
|
|
@@ -33,22 +33,7 @@ shards: [ideate-extract, ideate-discover, ideate-validate]
|
|
|
33
33
|
|
|
34
34
|
After input classification, the user chooses how much involvement they want. All tiers are available for all input types — the pipeline recommends a default but the user picks.
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|------|---------------|-------------|
|
|
38
|
-
| 🤖 **Auto** | Pipeline uses Deep Think to self-interview at every gate. User reviews compiled output at the end. | — |
|
|
39
|
-
| 🤝 **Hybrid** | Structural/mechanical gates auto-confirm. Product decisions (personas, MoSCoW, competitive positioning, constraints) pause for user. | Rich doc, thin doc, chat transcript |
|
|
40
|
-
| 💬 **Interactive** | Every gate pauses for explicit user confirmation. | Verbal / one-liner |
|
|
41
|
-
|
|
42
|
-
**Full matrix — Input × Tier:**
|
|
43
|
-
|
|
44
|
-
| Input Type | 🤖 Auto | 🤝 Hybrid | 💬 Interactive |
|
|
45
|
-
|---|---|---|---|
|
|
46
|
-
| Rich document | AI extracts + self-interviews gaps | AI extracts, pauses for product calls | AI extracts, pauses at every gate |
|
|
47
|
-
| Thin document | AI expands all domains independently | AI expands, pauses for product calls | AI expands with user at every step |
|
|
48
|
-
| Chat transcript | AI filters noise + self-interviews | AI filters, pauses for product calls | AI filters with user validation |
|
|
49
|
-
| Verbal / one-liner | AI generates vision from scratch via Deep Think | AI generates, pauses for product calls | Full traditional interview |
|
|
50
|
-
|
|
51
|
-
**Quality guarantee**: All input types and engagement tiers produce the **same output quality** using the same fractal structure. The ideation output from an Auto one-liner is structurally identical to an Interactive rich document. Every node has an index, CX file, and children. Every feature has a Role Lens. Only the amount of human involvement differs.
|
|
36
|
+
Read the engagement tier protocol (`.agent/skills/prd-templates/references/engagement-tier-protocol.md`) — apply the tier behavior for ideation decisions. The user chooses their tier after input classification. All tiers produce the **same output quality** using the same fractal structure — only the amount of human involvement differs.
|
|
52
37
|
|
|
53
38
|
Transform a raw idea into comprehensive, structured ideation output through exhaustive recursive exploration with the Deep Think protocol.
|
|
54
39
|
|
|
@@ -66,7 +51,32 @@ Transform a raw idea into comprehensive, structured ideation output through exha
|
|
|
66
51
|
Check whether `docs/plans/ideation/ideation-index.md` already exists.
|
|
67
52
|
|
|
68
53
|
- **If it does NOT exist** → This is a fresh ideation. Proceed to Shard 1.
|
|
69
|
-
- **If it
|
|
54
|
+
- **If it exists but is corrupt** (file size < 100 bytes OR missing `## Structural Classification` section) → Treat as fresh. Warn: "Found a corrupt ideation-index.md — treating as a fresh start." Delete the corrupt file and proceed to Shard 1.
|
|
55
|
+
- **If it DOES exist and is valid** → Check for downstream artifacts before offering overwrite:
|
|
56
|
+
|
|
57
|
+
### 0.1. Downstream cascade check
|
|
58
|
+
|
|
59
|
+
Scan for downstream pipeline output:
|
|
60
|
+
- `docs/plans/*-architecture-design.md`
|
|
61
|
+
- `docs/plans/ia/` (any `.md` files besides `index.md`)
|
|
62
|
+
- `docs/plans/be/` (any `.md` files besides `index.md`)
|
|
63
|
+
- `docs/plans/fe/` (any `.md` files besides `index.md`)
|
|
64
|
+
|
|
65
|
+
**If downstream artifacts exist** → **STOP**. Present:
|
|
66
|
+
|
|
67
|
+
> ⚠️ **Ideation output AND downstream specs exist.**
|
|
68
|
+
>
|
|
69
|
+
> Re-running `/ideate` will invalidate **all** downstream work:
|
|
70
|
+
> - Architecture design document
|
|
71
|
+
> - IA specs (N shards)
|
|
72
|
+
> - BE specs (N specs)
|
|
73
|
+
> - FE specs (N specs)
|
|
74
|
+
>
|
|
75
|
+
> You would need to re-run the entire pipeline from `/create-prd` forward.
|
|
76
|
+
>
|
|
77
|
+
> **Overwrite** (start fresh, accept cascade invalidation) or **Abort**?
|
|
78
|
+
|
|
79
|
+
**If no downstream artifacts exist** → Present the standard overwrite prompt:
|
|
70
80
|
|
|
71
81
|
> ⚠️ **Ideation output already exists** at `docs/plans/ideation/ideation-index.md`.
|
|
72
82
|
>
|
|
@@ -109,7 +119,10 @@ Explores constraints, success metrics, and competitive positioning. Runs leaf-no
|
|
|
109
119
|
> The quality self-check and review request are handled by `ideate-validate.md` (Step 12).
|
|
110
120
|
> The parent does not duplicate shard-level quality gates.
|
|
111
121
|
|
|
112
|
-
###
|
|
122
|
+
### Next step
|
|
123
|
+
|
|
124
|
+
**STOP** — do NOT propose `/create-prd` or any other pipeline workflow. The only valid next step is:
|
|
113
125
|
|
|
114
|
-
|
|
126
|
+
- `/audit-ambiguity ideation` — mandatory coverage verification before `/create-prd` can begin.
|
|
115
127
|
|
|
128
|
+
> If the user wants to pause, save progress and note where to resume. When resuming, the next step remains `/audit-ambiguity ideation`.
|
|
@@ -17,7 +17,7 @@ pipeline:
|
|
|
17
17
|
|
|
18
18
|
Check progress state, load skills, read the slice, detect parallel mode, and write the contract.
|
|
19
19
|
|
|
20
|
-
**Prerequisite**: Phase plan must exist with slice acceptance criteria. If not
|
|
20
|
+
**Prerequisite**: Phase plan must exist with slice acceptance criteria. If the phase plan file does not exist → **STOP**: tell the user to run `/plan-phase` first.
|
|
21
21
|
|
|
22
22
|
---
|
|
23
23
|
|
|
@@ -64,7 +64,7 @@ Read `.agent/skills/prd-templates/references/skill-loading-protocol.md` and load
|
|
|
64
64
|
|
|
65
65
|
Use `find-skills` to discover a test framework skill if needed.
|
|
66
66
|
|
|
67
|
-
If this slice introduces a new dependency, read `.agent/workflows/bootstrap-agents.md` and execute with the new value.
|
|
67
|
+
If this slice introduces a new dependency, read `.agent/workflows/bootstrap-agents.md` and execute with the new value. **HARD GATE**: Follow the bootstrap verification protocol (`.agent/skills/prd-templates/references/bootstrap-verification-protocol.md`).
|
|
68
68
|
|
|
69
69
|
---
|
|
70
70
|
|
|
@@ -72,6 +72,16 @@ If this slice introduces a new dependency, read `.agent/workflows/bootstrap-agen
|
|
|
72
72
|
|
|
73
73
|
Read the slice's acceptance criteria from the phase plan.
|
|
74
74
|
|
|
75
|
+
## 1.25. Load spec context
|
|
76
|
+
|
|
77
|
+
For each acceptance criterion, trace its spec citation (e.g., `[BE §3.2]`, `[FE §LoginForm]`) back to the source spec:
|
|
78
|
+
|
|
79
|
+
1. Read the full §section from every cited BE spec — not just the contract shape, but the error handling, edge cases, access control rules, rate limits, and concurrency notes
|
|
80
|
+
2. Read the full §section from every cited FE spec — component props, states, interactions, responsive behavior, accessibility rules
|
|
81
|
+
3. Read any IA shard sections cited by the BE spec's Source Map — especially `## Edge Cases` and `## Access Control`
|
|
82
|
+
|
|
83
|
+
This context persists throughout the TDD cycle. The acceptance criteria define WHAT to test; the spec context defines HOW DEEP to test it.
|
|
84
|
+
|
|
75
85
|
## 1.5. Check for parallel mode
|
|
76
86
|
|
|
77
87
|
Scan the slice's tasks for surface tags (`BE`, `FE`, `QA`):
|
|
@@ -108,8 +118,8 @@ Load the Languages skill(s) from this slice's surface row per the skill loading
|
|
|
108
118
|
|
|
109
119
|
Define request/response shapes as {{CONTRACT_LIBRARY}} schemas in the contracts directory (see `.agent/instructions/structure.md`). This is the source of truth.
|
|
110
120
|
|
|
111
|
-
###
|
|
121
|
+
### Next step
|
|
112
122
|
|
|
113
|
-
|
|
123
|
+
**STOP** — do NOT proceed to any other workflow. The only valid next step is `/implement-slice-tdd`.
|
|
114
124
|
|
|
115
|
-
> If invoked standalone, surface via `notify_user
|
|
125
|
+
> If invoked standalone, surface via `notify_user` and wait for user confirmation.
|
|
@@ -43,6 +43,10 @@ Read `.agent/skills/prd-templates/references/tdd-testing-policy.md` and apply it
|
|
|
43
43
|
|
|
44
44
|
Run the Test Cmd from this slice's surface row in the surface stack map to verify tests fail.
|
|
45
45
|
|
|
46
|
+
**RED test count validation**: Count the failing tests. Compare against the acceptance criteria count from the phase plan.
|
|
47
|
+
- If failing tests **< acceptance criteria count** → missing coverage. Review which criteria lack tests and add them before proceeding to GREEN.
|
|
48
|
+
- If failing tests **= 0** → **STOP**: "No tests are failing. Either tests were not written or they are incorrectly passing. Review test logic."
|
|
49
|
+
|
|
46
50
|
## 4. Implement (GREEN)
|
|
47
51
|
|
|
48
52
|
Load the Languages skill(s) from this slice's surface row per the skill loading protocol.
|
|
@@ -71,16 +75,20 @@ Read `.agent/skills/systematic-debugging/SKILL.md` and follow its ACH methodolog
|
|
|
71
75
|
2. Contract mismatch → re-read BE spec — contract wrong or implementation?
|
|
72
76
|
3. Logic error → ACH per debugging skill
|
|
73
77
|
4. Integration issue → check cross-surface wiring, env vars, service connectivity
|
|
74
|
-
5. Maximum 3 iterations before escalating to user
|
|
78
|
+
5. Maximum 3 iterations before escalating to user with:
|
|
79
|
+
- Summary of each iteration's hypothesis and result
|
|
80
|
+
- Current failing test output
|
|
81
|
+
- Files modified during debug attempts
|
|
82
|
+
- Recommended next steps (e.g., "may need manual env inspection" or "possible spec error in BE spec §X")
|
|
75
83
|
|
|
76
84
|
Run the Test Cmd after each iteration.
|
|
77
85
|
|
|
78
86
|
## 4.5. New dependency check
|
|
79
87
|
|
|
80
88
|
After GREEN, scan new imports. If any package lacks a corresponding skill directory in `.agent/skills/`:
|
|
81
|
-
1. Identify the
|
|
82
|
-
2. Read `.agent/workflows/bootstrap-agents.md` and
|
|
83
|
-
3. Confirm skill installed before proceeding to REFACTOR
|
|
89
|
+
1. Identify the technology or library
|
|
90
|
+
2. Read `.agent/workflows/bootstrap-agents.md` and invoke `/bootstrap-agents PIPELINE_STAGE=implement-slice` + the new dependency key
|
|
91
|
+
3. **HARD GATE**: Follow the bootstrap verification protocol (`.agent/skills/prd-templates/references/bootstrap-verification-protocol.md`). Confirm the matching skill is installed before proceeding to REFACTOR.
|
|
84
92
|
|
|
85
93
|
No new unregistered dependencies → skip to Step 5.
|
|
86
94
|
|
|
@@ -90,7 +98,15 @@ With tests green, improve code quality: extract shared logic, improve naming, re
|
|
|
90
98
|
|
|
91
99
|
Read `.agent/skills/code-review-pro/SKILL.md` and apply its adversarial review: "How would a senior engineer reject this in a PR review?"
|
|
92
100
|
|
|
93
|
-
**
|
|
101
|
+
**Structured spec completeness check**: Re-read the full BE spec section and FE spec section for this slice (loaded in setup Step 1.25). For each element, verify implementation coverage:
|
|
102
|
+
|
|
103
|
+
1. **Field coverage**: For every field in the BE spec's request/response schemas, verify it appears in the implementation. Flag any spec field with no corresponding code.
|
|
104
|
+
2. **Validation coverage**: For every validation rule in the BE spec (required fields, format constraints, range limits), verify it's enforced in the implementation. Flag any unimplemented validation.
|
|
105
|
+
3. **Error code coverage**: For every error code specified, verify the implementation can produce it and the test suite asserts it.
|
|
106
|
+
4. **Edge case coverage**: For every `// IA-EDGE:` test, verify the implementation handles it (not just that the test passes — the handling must be correct per the spec).
|
|
107
|
+
5. **Access control coverage**: For every role mentioned in the spec's access control, verify the implementation enforces it.
|
|
108
|
+
|
|
109
|
+
For any gap found: fix the implementation (not the spec). If the gap suggests the spec is wrong, flag it: "Spec may need update: [what was found]. Fix implementation to match spec, or update spec via `/propagate-decision`?"
|
|
94
110
|
|
|
95
111
|
Run the Test Cmd to verify tests still pass.
|
|
96
112
|
|
|
@@ -43,9 +43,36 @@ The resulting list of slices is derived from the spec, not estimated from featur
|
|
|
43
43
|
|
|
44
44
|
Estimate complexity (S/M/L) per derived slice. Flag any slice estimated L — these are candidates for further splitting before ordering begins.
|
|
45
45
|
|
|
46
|
+
**L-slice enforcement**: Any slice marked **L** MUST be reviewed for splitting before Step 3. Present L slices to user: "These slices are estimated Large. Split each into 2-3 smaller slices, or confirm L is acceptable?" Wait for confirmation. Do not proceed to ordering with unreviewed L slices.
|
|
47
|
+
|
|
48
|
+
**Slice count sanity check**: After splitting, count total slices.
|
|
49
|
+
- **1-15 slices** → normal.
|
|
50
|
+
- **16-25 slices** → warn: "Phase has [N] slices. Consider splitting into two phases if unrelated domains are grouped together."
|
|
51
|
+
- **>25 slices** → **STOP**: "Phase has [N] slices — this is too many for one phase. Split into Phase N and Phase N+1, keeping dependency order intact."
|
|
52
|
+
|
|
46
53
|
**Good slice**: "User can submit an entity claim form" (one named user flow from the FE interaction spec)
|
|
47
54
|
**Bad slice**: "Implement entity management" (domain name, not a spec-derived user flow)
|
|
48
55
|
|
|
56
|
+
## 2.5. Spec coverage verification
|
|
57
|
+
|
|
58
|
+
After all slices are identified, verify that the slices collectively cover ALL spec content for this phase:
|
|
59
|
+
|
|
60
|
+
1. **BE endpoint coverage**: List every endpoint in every BE spec included in this phase's scope. For each endpoint, identify which slice covers it. Build a table:
|
|
61
|
+
|
|
62
|
+
| BE Endpoint | Slice | Status |
|
|
63
|
+
|---|---|---|
|
|
64
|
+
| `POST /api/entities` | Slice 3: Create entity | ✅ Covered |
|
|
65
|
+
| `GET /api/entities/:id` | — | ❌ Uncovered |
|
|
66
|
+
|
|
67
|
+
2. **FE component coverage**: List every named component in every FE spec included in this phase's scope. For each, identify which slice covers it.
|
|
68
|
+
|
|
69
|
+
3. **Resolution**: For each uncovered item:
|
|
70
|
+
- Add it to an existing slice (if it's a natural fit)
|
|
71
|
+
- Create a new slice for it
|
|
72
|
+
- Document it as explicitly deferred to Phase N+1 with reason
|
|
73
|
+
|
|
74
|
+
**BLOCKING GATE**: Do NOT proceed to Step 3 until every BE endpoint and FE component is either assigned to a slice or explicitly deferred.
|
|
75
|
+
|
|
49
76
|
## 3. Order by dependency
|
|
50
77
|
|
|
51
78
|
Read .agent/skills/concise-planning/SKILL.md and follow its methodology.
|
|
@@ -73,6 +100,8 @@ fully specified, and production-ready.
|
|
|
73
100
|
|
|
74
101
|
Read `.agent/skills/prd-templates/references/operational-templates.md` for the **Slice Acceptance Criteria** template. For each slice, use the template to define testable acceptance criteria with surface tags:
|
|
75
102
|
|
|
103
|
+
**Spec citation requirement**: Every acceptance criterion MUST include a spec source citation. Format: `[BE §section.subsection]`, `[FE §ComponentName]`, or `[IA §NN.EdgeCase.N]`. This ensures no criterion is invented without a traceable spec source. If a criterion cannot be traced to a spec → either the spec is incomplete (fix the spec first) or the criterion is speculative (remove it).
|
|
104
|
+
|
|
76
105
|
> **Write as you go**: After completing acceptance criteria for each slice, immediately append that slice's entry to `docs/plans/phases/phase-N-draft.md` (create the file if it doesn't exist). Do not accumulate all slices in context and write them all at once in Step 5.
|
|
77
106
|
|
|
78
107
|
**Surface tag rules:**
|
|
@@ -107,4 +136,4 @@ Read the surface stack map from `.agent/instructions/tech-stack.md`. Verify all
|
|
|
107
136
|
|
|
108
137
|
Use `notify_user` to request review of the phase plan and generated progress files.
|
|
109
138
|
|
|
110
|
-
**
|
|
139
|
+
**STOP** — do NOT proceed until the user explicitly approves the phase plan. The only valid next step after approval is `/implement-slice` for the first slice. Read `.agent/progress/` to identify which slice to start with.
|