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,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, prompt the user to run `/ideate-discover` first.
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`. Apply to gates in this shard:
28
+ Read `## Engagement Tier` from `docs/plans/ideation/ideation-index.md`.
29
29
 
30
- - **Auto**: Steps 8 (constraints, metrics, competitive positioning) → agent self-interviews using Deep Think, writes answers to files. Step 10.5 (below) provides a review checkpoint before compilation.
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` and follow its Deep Think Protocol.
34
+ Read `.agent/skills/idea-extraction/SKILL.md` Deep Think Protocol.
37
35
 
38
- Read `.agent/skills/prd-templates/references/ideation-meta-template.md` for the constraints template.
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
- Explore constraints with the user. Write to `docs/plans/ideation/meta/constraints.md`:
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
- 1. **Budget** Self-funded? VC-backed? Monthly infrastructure ceiling?
43
- 2. **Timeline** — Launch target? Phased rollout?
44
- 3. **Team** — Solo dev? Small team? Skill gaps?
45
- 4. **Compliance** — GDPR, PCI, COPPA, HIPAA, SOC 2? Age restrictions?
46
- 5. **Performance** — Expected scale (users, requests, data)? Latency requirements?
47
- 6. **Surface classification validation** — Verify the structural classification from `ideation-index.md` (set in `ideate-extract` Step 1.3) still holds. Have any new surfaces been discovered during exploration? Has the project shape changed (e.g., what started as single-surface now has a mobile app too)? If the classification needs updating, update it now and note any domain files that need to be relocated.
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
- **Deep Think**: "Based on the product type and user personas, what constraints would I expect that haven't been mentioned? For example, does this product handle payments (PCI)? Does it serve minors (COPPA)? Does it store health data (HIPAA)?"
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
- **Interactive/Hybrid**: Present each constraint question to user, wait for answers. Write each confirmed constraint to `meta/constraints.md` immediately.
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
- This is the final validation gate before compilation.
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
- Read `docs/plans/ideation/ideation-index.md` and recursively review:
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
- ### Exhaustion criteria
59
+ ### 9.5. Domain Gap Reasoning (missing domain detection)
87
60
 
88
- | Check | Criteria | Action if Fail |
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
- ### Execute exhaustion check
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
- 1. Walk the fractal tree. For each leaf node below `[DEEP]`:
101
- - "Feature [X] in [domain] is still at [status]. Drill deeper or intentionally minimal?"
102
- - If "drill" return to `/ideate-discover`
103
- - If "intentionally minimal" note in feature file and proceed
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
- 2. Run **final Deep Think pass**: For each `[DEEP]` leaf node, apply the four Deep Think questions. Present any new hypotheses.
106
- - If confirmed drill, update feature files
107
- - If zero hypotheses mark `[EXHAUSTED]`, propagate status upward
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
- 3. Walk ALL CX files at every level. Resolve any Medium/Low confidence entries.
81
+ For rejected domains: add to `ideation-index.md` `## Considered & Rejected` section.
110
82
 
111
- 4. Verify all feature files have populated Role Lens tables.
112
-
113
- 5. Update `ideation-index.md` progress summary with final counts (total leaf nodes, exhausted count, CX entries confirmed).
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**, present a comprehensive review before compilation:
92
+ If engagement tier is **Auto**:
131
93
 
132
- 1. **List all auto-confirmed decisions** with their Deep Think reasoning — from domain classification, feature drilling, constraints, personas, competitive positioning
133
- 2. **Highlight any `[AUTO-CONFIRMED]` entries** in `meta/constraints.md`, `meta/personas.md`, and `meta/competitive-landscape.md`
134
- 3. **Present for review**: "I explored your idea independently. Here's everything I decided and why. Override anything before I compile the vision."
135
- 4. **Wait for user response.** Apply any overrides. Write corrections to files immediately.
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, skip this step — the user already confirmed during exploration.
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 **human-readable executive summary** of the ideation output. This is the "sales pitch" — it is NOT consumed by the pipeline. The pipeline reads `ideation-index.md` directly.
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 that every domain in `ideation-index.md` appears in `vision.md`. Nothing dropped during compilation. This is a summary, not a filter.
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
- Before presenting to the user, self-check the ideation output:
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
- | # | Dimension | Check |
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
- For any dimension that scores ⚠️ or ❌, resolve it NOW — don't present a document with known gaps. Loop back to the relevant step and work through it with the user.
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
- - Summary of the self-check results (all 12 dimensions)
210
- - Any areas where you resolved gaps during the self-check
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
- The ideation must be approved before proceeding. Do NOT proceed until the user sends a message explicitly approving. Wait for explicit approval.
138
+ ### Next step
215
139
 
216
- ### Proposed next steps
140
+ **STOP** do NOT propose `/create-prd` or any other pipeline workflow. The only valid next step is:
217
141
 
218
- **Mandatory next step**: Run `/audit-ambiguity ideation` for all inputs, regardless of input type. Even a rich document can have gaps the agent missed. The audit is cheap; the cost of a gap propagating to architecture is high. Do not propose `/create-prd` until `/audit-ambiguity ideation` has run.
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
- | Tier | Gate behavior | Default for |
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 DOES exist** → **STOP**. Present to the user:
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
- ### Proposed next steps
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
- **Mandatory next step**: Run `/audit-ambiguity ideation` for all inputs, regardless of input type. Even a rich document can have gaps the agent missed. The audit is cheap; the cost of a gap propagating to architecture is high. Do not propose `/create-prd` until `/audit-ambiguity ideation` has run.
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, tell the user to run `/plan-phase` first.
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
- ### Propose next step
121
+ ### Next step
112
122
 
113
- Contract written. Next: `/implement-slice-tdd` for the Red→Green→Refactor cycle.
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 stack category (e.g., `QUEUE`, `CACHE`, `SEARCH`)
82
- 2. Read `.agent/workflows/bootstrap-agents.md` and fire bootstrap with `PIPELINE_STAGE=implement-slice` + the key-value pair
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
- **Spec traceability check**: Re-read the BE spec and IA shard for this slice. Verify every contract field maps to a BE spec field and every `// IA-EDGE:` test's edge case is covered by the implementation. Fix spec drift before proceeding.
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
- **Proposed next step**: Once approved, run `/implement-slice` for the first slice in the phase plan. Read `.agent/progress/` to identify which slice to start with.
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.