cfsa-antigravity 2.0.0 → 2.1.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/README.md +14 -0
- package/package.json +1 -1
- package/template/.agent/instructions/commands.md +8 -32
- package/template/.agent/instructions/patterns.md +3 -3
- package/template/.agent/instructions/tech-stack.md +71 -23
- package/template/.agent/instructions/workflow.md +12 -1
- package/template/.agent/rules/completion-checklist.md +6 -0
- package/template/.agent/rules/security-first.md +3 -3
- package/template/.agent/rules/vertical-slices.md +1 -1
- package/template/.agent/skill-library/MANIFEST.md +6 -0
- package/template/.agent/skill-library/stack/devops/git-advanced/SKILL.md +972 -0
- package/template/.agent/skill-library/stack/devops/git-workflow/SKILL.md +420 -0
- package/template/.agent/skills/api-versioning/SKILL.md +44 -298
- package/template/.agent/skills/api-versioning/references/typescript.md +157 -0
- package/template/.agent/skills/architecture-mapping/SKILL.md +7 -7
- package/template/.agent/skills/bootstrap-agents/SKILL.md +151 -152
- package/template/.agent/skills/clean-code/SKILL.md +64 -118
- package/template/.agent/skills/clean-code/references/typescript.md +126 -0
- package/template/.agent/skills/database-schema-design/SKILL.md +93 -317
- package/template/.agent/skills/database-schema-design/references/relational.md +228 -0
- package/template/.agent/skills/error-handling-patterns/SKILL.md +62 -557
- package/template/.agent/skills/error-handling-patterns/references/go.md +162 -0
- package/template/.agent/skills/error-handling-patterns/references/python.md +262 -0
- package/template/.agent/skills/error-handling-patterns/references/rust.md +112 -0
- package/template/.agent/skills/error-handling-patterns/references/typescript.md +178 -0
- package/template/.agent/skills/idea-extraction/SKILL.md +119 -12
- package/template/.agent/skills/logging-best-practices/SKILL.md +108 -767
- package/template/.agent/skills/logging-best-practices/references/go.md +49 -0
- package/template/.agent/skills/logging-best-practices/references/python.md +52 -0
- package/template/.agent/skills/logging-best-practices/references/typescript.md +215 -0
- package/template/.agent/skills/migration-management/SKILL.md +127 -311
- package/template/.agent/skills/migration-management/references/relational.md +214 -0
- package/template/.agent/skills/parallel-feature-development/SKILL.md +34 -43
- package/template/.agent/skills/pipeline-rubrics/references/be-rubric.md +1 -1
- package/template/.agent/skills/pipeline-rubrics/references/ia-rubric.md +1 -1
- package/template/.agent/skills/prd-templates/SKILL.md +20 -3
- package/template/.agent/skills/prd-templates/references/be-spec-template.md +2 -2
- package/template/.agent/skills/prd-templates/references/decomposition-templates.md +2 -2
- package/template/.agent/skills/prd-templates/references/fe-spec-template.md +1 -1
- package/template/.agent/skills/prd-templates/references/ideation-domain-template.md +8 -2
- package/template/.agent/skills/prd-templates/references/ideation-index-template.md +25 -1
- package/template/.agent/skills/prd-templates/references/operational-templates.md +1 -1
- package/template/.agent/skills/prd-templates/references/placeholder-workflow-mapping.md +50 -21
- package/template/.agent/skills/prd-templates/references/skill-loading-protocol.md +32 -0
- package/template/.agent/skills/prd-templates/references/slice-completion-gates.md +21 -0
- package/template/.agent/skills/prd-templates/references/spec-coverage-sweep.md +3 -3
- package/template/.agent/skills/prd-templates/references/tdd-testing-policy.md +39 -0
- package/template/.agent/skills/prd-templates/references/vision-template.md +1 -1
- package/template/.agent/skills/regex-patterns/SKILL.md +122 -540
- package/template/.agent/skills/regex-patterns/references/go.md +44 -0
- package/template/.agent/skills/regex-patterns/references/javascript.md +63 -0
- package/template/.agent/skills/regex-patterns/references/python.md +77 -0
- package/template/.agent/skills/regex-patterns/references/rust.md +43 -0
- package/template/.agent/skills/session-continuity/SKILL.md +11 -9
- package/template/.agent/skills/session-continuity/protocols/02-progress-generation.md +2 -2
- package/template/.agent/skills/session-continuity/protocols/04-pattern-extraction.md +1 -1
- package/template/.agent/skills/session-continuity/protocols/05-session-close.md +1 -1
- package/template/.agent/skills/session-continuity/protocols/09-parallel-claim.md +1 -1
- package/template/.agent/skills/session-continuity/protocols/10-placeholder-verification-gate.md +57 -78
- package/template/.agent/skills/session-continuity/protocols/11-parallel-synthesis.md +1 -1
- package/template/.agent/skills/tdd-workflow/SKILL.md +94 -317
- package/template/.agent/skills/tdd-workflow/references/typescript.md +231 -0
- package/template/.agent/skills/testing-strategist/SKILL.md +74 -687
- package/template/.agent/skills/testing-strategist/references/typescript.md +328 -0
- package/template/.agent/skills/workflow-automation/SKILL.md +62 -154
- package/template/.agent/skills/workflow-automation/references/inngest.md +88 -0
- package/template/.agent/skills/workflow-automation/references/temporal.md +64 -0
- package/template/.agent/workflows/bootstrap-agents-fill.md +85 -143
- package/template/.agent/workflows/bootstrap-agents-provision.md +90 -107
- package/template/.agent/workflows/create-prd-architecture.md +16 -14
- package/template/.agent/workflows/create-prd-compile.md +11 -12
- package/template/.agent/workflows/create-prd-design-system.md +1 -1
- package/template/.agent/workflows/create-prd-security.md +9 -11
- package/template/.agent/workflows/create-prd-stack.md +10 -4
- package/template/.agent/workflows/create-prd.md +5 -6
- package/template/.agent/workflows/decompose-architecture-structure.md +3 -5
- package/template/.agent/workflows/decompose-architecture-validate.md +18 -1
- package/template/.agent/workflows/evolve-contract.md +11 -11
- package/template/.agent/workflows/ideate-discover.md +10 -6
- package/template/.agent/workflows/ideate-extract.md +61 -4
- package/template/.agent/workflows/ideate-validate.md +3 -3
- package/template/.agent/workflows/ideate.md +2 -2
- package/template/.agent/workflows/implement-slice-setup.md +25 -23
- package/template/.agent/workflows/implement-slice-tdd.md +51 -92
- package/template/.agent/workflows/implement-slice.md +4 -4
- package/template/.agent/workflows/plan-phase-preflight.md +6 -2
- package/template/.agent/workflows/plan-phase-write.md +6 -8
- package/template/.agent/workflows/resolve-ambiguity.md +1 -1
- package/template/.agent/workflows/update-architecture-map.md +22 -5
- package/template/.agent/workflows/validate-phase.md +26 -29
- package/template/.agent/workflows/verify-infrastructure.md +10 -10
- package/template/.agent/workflows/write-architecture-spec-design.md +17 -12
- package/template/.agent/workflows/write-be-spec-classify.md +25 -21
- package/template/.agent/workflows/write-be-spec.md +1 -1
- package/template/.agent/workflows/write-fe-spec-classify.md +6 -12
- package/template/.agent/workflows/write-fe-spec-write.md +1 -1
- package/template/AGENTS.md +1 -1
- package/template/GEMINI.md +3 -3
- package/template/docs/kit-architecture.md +34 -8
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Safely evolve a
|
|
2
|
+
description: Safely evolve a {{CONTRACT_LIBRARY}} schema — identify all consumers, write migration tests, update across all four surfaces
|
|
3
3
|
pipeline:
|
|
4
4
|
position: utility
|
|
5
5
|
stage: maintenance
|
|
@@ -11,7 +11,7 @@ pipeline:
|
|
|
11
11
|
|
|
12
12
|
# Evolve Contract
|
|
13
13
|
|
|
14
|
-
Safely modify a
|
|
14
|
+
Safely modify a {{CONTRACT_LIBRARY}} schema without breaking existing consumers.
|
|
15
15
|
|
|
16
16
|
**Input**: The contract to change and the desired modification
|
|
17
17
|
**Output**: Updated contract, migration tests, and all consumers updated
|
|
@@ -44,9 +44,9 @@ Read these skills for safe schema migration:
|
|
|
44
44
|
|
|
45
45
|
## 1. Identify the contract
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
Determine which surface this contract belongs to (from the file path or calling context). Load the Languages skill(s) from that surface's row per the skill loading protocol (`.agent/skills/prd-templates/references/skill-loading-protocol.md`).
|
|
48
48
|
|
|
49
|
-
Determine which
|
|
49
|
+
Determine which {{CONTRACT_LIBRARY}} schema needs to change and what the change is:
|
|
50
50
|
- **Additive** (new optional field) — Low risk
|
|
51
51
|
- **Narrowing** (tighter validation) — Medium risk
|
|
52
52
|
- **Breaking** (rename, remove, type change) — High risk
|
|
@@ -77,32 +77,32 @@ If a new API version is needed, document the versioning approach (URL prefix, he
|
|
|
77
77
|
|
|
78
78
|
Read .agent/skills/tdd-workflow/SKILL.md and follow its Red→Green→Refactor cycle for contract evolution.
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
Load the Unit Tests skill(s) from this contract's surface row per the skill loading protocol.
|
|
81
81
|
|
|
82
82
|
Before changing anything, write tests that validate:
|
|
83
83
|
- Existing data still passes the new schema (backward compatibility)
|
|
84
84
|
- New data shape is accepted
|
|
85
85
|
- Invalid data is rejected
|
|
86
86
|
|
|
87
|
-
Run `
|
|
87
|
+
Run the Test Cmd from this contract's surface row in the surface stack map (see `.agent/instructions/tech-stack.md`) — tests should FAIL until the schema is updated.
|
|
88
88
|
|
|
89
89
|
## 4. Update the contract
|
|
90
90
|
|
|
91
|
-
|
|
91
|
+
Load the Languages skill(s) from this contract's surface row per the skill loading protocol.
|
|
92
92
|
|
|
93
|
-
Modify the
|
|
93
|
+
Modify the {{CONTRACT_LIBRARY}} schema. For breaking changes:
|
|
94
94
|
- Consider versioning (v1 → v2)
|
|
95
95
|
- Add runtime migration helpers if needed
|
|
96
96
|
|
|
97
97
|
## 4.5. New dependency check
|
|
98
98
|
|
|
99
|
-
If the contract change introduces a dependency not currently in the skill set — for example, a new
|
|
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.
|
|
100
100
|
|
|
101
101
|
Confirm the matching skill is installed (or no new dependency was introduced) before proceeding to Step 5.
|
|
102
102
|
|
|
103
103
|
## 5. Update all consumers
|
|
104
104
|
|
|
105
|
-
|
|
105
|
+
Load the Languages skill(s) from this contract's surface row per the skill loading protocol.
|
|
106
106
|
|
|
107
107
|
For each consumer found in Step 2:
|
|
108
108
|
- Update the code to use the new schema shape
|
|
@@ -110,7 +110,7 @@ For each consumer found in Step 2:
|
|
|
110
110
|
|
|
111
111
|
## 6. Validate
|
|
112
112
|
|
|
113
|
-
Run
|
|
113
|
+
Run the Validation Cmd from this contract's surface row in the surface stack map (see `.agent/instructions/tech-stack.md` and `.agent/instructions/commands.md`).
|
|
114
114
|
|
|
115
115
|
All must pass.
|
|
116
116
|
|
|
@@ -27,19 +27,23 @@ Explore domains through recursive breadth-before-depth with the Deep Think proto
|
|
|
27
27
|
|
|
28
28
|
Read `.agent/skills/idea-extraction/SKILL.md` and follow its Recursive Domain Exhaustion Protocol and Deep Think Protocol.
|
|
29
29
|
|
|
30
|
-
Read the `## Expansion Mode`
|
|
30
|
+
Read the `## Expansion Mode` and `## Structural Classification` sections from `docs/plans/ideation/ideation-index.md`. The expansion mode shapes exploration behavior. The structural classification determines where domain files are created.
|
|
31
|
+
|
|
32
|
+
> **Multi-product projects:** When creating domain files, always check whether the domain belongs to a specific surface or is shared. Use `surfaces/{name}/` for surface-exclusive domains and `domains/` for shared/cross-cutting domains. Ask the user if placement is unclear.
|
|
31
33
|
|
|
32
34
|
### Full Mode (recommended for 3+ domains)
|
|
33
35
|
|
|
34
36
|
#### Level 0 — Global Domain Map
|
|
35
37
|
|
|
36
|
-
1. Read `ideation-index.md` for currently identified domains
|
|
38
|
+
1. Read `ideation-index.md` for currently identified domains and structural classification
|
|
37
39
|
2. Apply the idea-extraction skill's Deep Think Protocol:
|
|
38
40
|
- "Based on this product type and industry, what domains would I expect to see that haven't been mentioned?"
|
|
39
41
|
- Present hypotheses to user for confirmation or rejection
|
|
40
|
-
3. For each confirmed domain, create a domain file
|
|
42
|
+
3. For each confirmed domain, create a domain file:
|
|
43
|
+
- **Single-surface**: Create in `domains/` using the `ideation-domain-template.md`
|
|
44
|
+
- **Multi-product**: Determine placement first — "Does this belong to a specific surface, or is it shared?" Create in `surfaces/{name}/` or `domains/` accordingly.
|
|
41
45
|
4. Note preliminary cross-cuts: "Domain A might touch Domain B because [reason]" → add to `cross-cuts/cross-cut-ledger.md` as **Level 0** entries
|
|
42
|
-
5. Update `ideation-index.md` with the complete domain map
|
|
46
|
+
5. Update `ideation-index.md` with the complete domain map (paths reflect actual folder locations)
|
|
43
47
|
6. **Gate**: Present complete domain map to user. Get confirmation before Level 1.
|
|
44
48
|
|
|
45
49
|
#### Level 1 — Domain Breadth Sweep
|
|
@@ -50,7 +54,7 @@ For each domain (dependency order — foundational first):
|
|
|
50
54
|
2. **Deep Think**: "Based on this domain in this industry, what sub-areas would an expert expect that haven't been mentioned?" Present hypotheses.
|
|
51
55
|
3. Write the breadth map to the domain file. Mark each sub-area as `[SURFACE]`.
|
|
52
56
|
4. Note cross-cuts at sub-area level → add to ledger as **Level 1** entries
|
|
53
|
-
5. **NEW DOMAINS DISCOVERED?** →
|
|
57
|
+
5. **NEW DOMAINS DISCOVERED?** → Classify placement (surface-specific or shared), create domain file in the correct folder, update index, loop back to Level 0 for the new domain. Do NOT proceed until domain map is stable.
|
|
54
58
|
6. Mark domain status as `[BREADTH]` in the index
|
|
55
59
|
7. **Gate**: Pause after EACH domain's breadth map. "Here's what I mapped for [Domain]. Anything missing?" Then after ALL domains: "All domains are at BREADTH. Ready to drill?"
|
|
56
60
|
|
|
@@ -67,7 +71,7 @@ For each domain (dependency order), for each sub-area:
|
|
|
67
71
|
4. Record Deep Think outcomes in the domain file's Deep Think Annotations table
|
|
68
72
|
5. Cross-cuts with evidence → add to ledger as **Level 2+** entries with specific evidence
|
|
69
73
|
6. **NEW SUB-AREAS DISCOVERED?** → Add to domain file breadth map as `[SURFACE]`, complete breadth mapping first, THEN drill
|
|
70
|
-
7. **NEW DOMAINS DISCOVERED?** →
|
|
74
|
+
7. **NEW DOMAINS DISCOVERED?** → Classify placement (surface-specific or shared), create domain file in the correct folder, update index, loop back to Level 0
|
|
71
75
|
8. When Deep Think yields zero new hypotheses AND user confirms → mark sub-area `[EXHAUSTED]`
|
|
72
76
|
9. When all sub-areas are `[DEEP]` or `[EXHAUSTED]` → mark domain `[DEEP]` or `[EXHAUSTED]` in index
|
|
73
77
|
10. **Gate**: Pause after each domain is drilled. "Here's what I captured for [Domain]. Anything missing?"
|
|
@@ -54,8 +54,41 @@ uses and how the rest of the workflow behaves.
|
|
|
54
54
|
**For verbal / no input (Interview mode):**
|
|
55
55
|
1. Read `.agent/skills/idea-extraction/SKILL.md` and enter Interview mode
|
|
56
56
|
2. Start with: "In one sentence, what problem does this solve and for whom?"
|
|
57
|
-
3.
|
|
58
|
-
4.
|
|
57
|
+
3. **Immediately after**: Run Structural Classification (Step 1.3) — ask about audiences and surfaces before identifying domains
|
|
58
|
+
4. From that sentence + classification, identify the key nouns — these become initial domains
|
|
59
|
+
5. Proceed to folder seeding (Step 1.5) then domain exploration in `/ideate-discover`
|
|
60
|
+
|
|
61
|
+
## 1.3. Structural Classification
|
|
62
|
+
|
|
63
|
+
Read the **Structural Classification Protocol** in `.agent/skills/idea-extraction/SKILL.md`.
|
|
64
|
+
|
|
65
|
+
This step determines the folder layout for all ideation output. It MUST run **before** any domain files are created (Step 1.5).
|
|
66
|
+
|
|
67
|
+
**For rich/thin document input:**
|
|
68
|
+
1. Scan the document for surface signals:
|
|
69
|
+
- Distinct platform names in section headings (e.g., "Consumer Web Platform", "Shop Software")
|
|
70
|
+
- Different tech stacks per surface (e.g., "Astro for web", "Tauri for desktop")
|
|
71
|
+
- Surface-exclusive features (e.g., "Board Viewer (desktop only)")
|
|
72
|
+
2. If signals detected → classify as **multi-product**
|
|
73
|
+
3. If no signals → classify as **single-surface**
|
|
74
|
+
4. If ambiguous → ask the user the two classification questions before proceeding
|
|
75
|
+
|
|
76
|
+
**For interview / verbal input:**
|
|
77
|
+
1. After the opening problem statement, ask:
|
|
78
|
+
- "Who are the distinct user types or audiences for this?"
|
|
79
|
+
- "What platforms does this need to live on?" (web, mobile, desktop, API, CLI)
|
|
80
|
+
2. Based on the answers, classify the project shape
|
|
81
|
+
3. If the user's one-liner already specifies a single surface ("make me a website"), classify as **single-surface** without asking
|
|
82
|
+
|
|
83
|
+
**Record the classification** in `ideation-index.md` under `## Structural Classification`:
|
|
84
|
+
|
|
85
|
+
```markdown
|
|
86
|
+
## Structural Classification
|
|
87
|
+
|
|
88
|
+
- **Project Shape**: [single-surface | multi-surface-shared | multi-product]
|
|
89
|
+
- **Surfaces**: [list of identified surfaces, e.g., "Web (Astro/React), Desktop (Rust/Tauri), Mobile (React Native)" — or "N/A" for single-surface]
|
|
90
|
+
- **Classification Basis**: [how this was determined — "detected from document", "user interview", "inferred from one-liner"]
|
|
91
|
+
```
|
|
59
92
|
|
|
60
93
|
## 1.4. Re-run check
|
|
61
94
|
|
|
@@ -72,7 +105,9 @@ Read `.agent/skills/prd-templates/references/ideation-index-template.md` and the
|
|
|
72
105
|
|
|
73
106
|
Read `.agent/skills/technical-writer/SKILL.md` and follow its methodology.
|
|
74
107
|
|
|
75
|
-
|
|
108
|
+
Read the **Structural Classification** from Step 1.3 and create the appropriate folder structure.
|
|
109
|
+
|
|
110
|
+
**Single-surface layout** (project shape = `single-surface` or `multi-surface-shared`):
|
|
76
111
|
|
|
77
112
|
```
|
|
78
113
|
docs/plans/ideation/
|
|
@@ -88,9 +123,31 @@ docs/plans/ideation/
|
|
|
88
123
|
└── cross-cut-ledger.md
|
|
89
124
|
```
|
|
90
125
|
|
|
126
|
+
**Multi-product layout** (project shape = `multi-product`):
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
docs/plans/ideation/
|
|
130
|
+
├── ideation-index.md
|
|
131
|
+
├── meta/
|
|
132
|
+
│ ├── problem-statement.md
|
|
133
|
+
│ ├── personas.md
|
|
134
|
+
│ ├── competitive-landscape.md
|
|
135
|
+
│ └── constraints.md
|
|
136
|
+
├── surfaces/
|
|
137
|
+
│ ├── {surface-1-name}/
|
|
138
|
+
│ ├── {surface-2-name}/
|
|
139
|
+
│ └── {surface-N-name}/
|
|
140
|
+
├── domains/
|
|
141
|
+
│ └── (shared/cross-cutting domain files)
|
|
142
|
+
└── cross-cuts/
|
|
143
|
+
└── cross-cut-ledger.md
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Create the surface folders based on the surfaces identified in Step 1.3.
|
|
147
|
+
|
|
91
148
|
**Seeding behavior by input type:**
|
|
92
149
|
|
|
93
|
-
- **Rich document**: Parse by domain → create one domain file per identified domain → seed each with relevant content from source. Preserve all detail. Add reference at top of index: `> Source: path/to/original.md`. Do not modify the original. Run the **Source → Domain Files fidelity check**: every major section of the source maps to a domain file — nothing dropped during parsing.
|
|
150
|
+
- **Rich document**: Parse by domain → create one domain file per identified domain → seed each with relevant content from source. **For multi-product projects:** place each domain file in the correct surface folder or shared `domains/` folder based on the domain placement rules in the idea-extraction skill. Preserve all detail. Add reference at top of index: `> Source: path/to/original.md`. Do not modify the original. Run the **Source → Domain Files fidelity check**: every major section of the source maps to a domain file — nothing dropped during parsing.
|
|
94
151
|
- **Chat transcript**: Run the noise filter (read full transcript, extract decisions/ideas/rejections, discard filler, present extracted signal to user for confirmation), then create domain files with the clean structured signal. Attribute decisions: `> Decided in conversation: [decision]`.
|
|
95
152
|
- **Thin document**: Create domain files annotated with `[SURFACE]`, `[PARTIAL]`, or `[DEEP]` depth markers per sub-area.
|
|
96
153
|
- **Verbal / one-liner**: Create domain files with scaffolding based on the initial description. Sub-areas are `[SURFACE]` placeholders.
|
|
@@ -36,11 +36,11 @@ Explore constraints with the user. Write to `docs/plans/ideation/meta/constraint
|
|
|
36
36
|
3. **Team** — Solo dev? Small team? Skill gaps?
|
|
37
37
|
4. **Compliance** — GDPR, PCI, COPPA, HIPAA, SOC 2? Age restrictions?
|
|
38
38
|
5. **Performance** — Expected scale (users, requests, data)? Latency requirements?
|
|
39
|
-
6. **Surface classification** —
|
|
39
|
+
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
40
|
|
|
41
41
|
**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)?"
|
|
42
42
|
|
|
43
|
-
Write
|
|
43
|
+
Write constraints to `meta/constraints.md`. If the surface classification changed, update `ideation-index.md` `## Structural Classification` section.
|
|
44
44
|
|
|
45
45
|
### Success metrics
|
|
46
46
|
|
|
@@ -162,7 +162,7 @@ Read `.agent/skills/pipeline-rubrics/references/ideation-rubric.md` before apply
|
|
|
162
162
|
| 9 | **Domain Coverage** | Are all domains at `[DEEP]` or `[EXHAUSTED]`? |
|
|
163
163
|
| 10 | **Deep Think Coverage** | Were hypotheses tracked? Are all resolved (confirmed/rejected)? |
|
|
164
164
|
| 11 | **Cross-Cut Completeness** | Is the ledger clean? No pending entries? |
|
|
165
|
-
| 12 | **Folder Structure Compliance** | Does the folder match the
|
|
165
|
+
| 12 | **Folder Structure Compliance** | Does the folder match the classified structure? (flat `domains/` for single-surface, `surfaces/` + `domains/` for multi-product) |
|
|
166
166
|
|
|
167
167
|
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.
|
|
168
168
|
|
|
@@ -4,8 +4,8 @@ pipeline:
|
|
|
4
4
|
position: 1
|
|
5
5
|
stage: vision
|
|
6
6
|
predecessors: [] # entry point
|
|
7
|
-
successors: [create-prd]
|
|
8
|
-
skills: [brainstorming, idea-extraction, pipeline-rubrics, prd-templates, resolve-ambiguity, technical-writer]
|
|
7
|
+
successors: [audit-ambiguity, create-prd] # audit-ambiguity recommended before create-prd
|
|
8
|
+
skills: [brainstorming, idea-extraction, pipeline-rubrics, prd-templates, prompt-engineer, resolve-ambiguity, technical-writer]
|
|
9
9
|
calls-bootstrap: false
|
|
10
10
|
shards: [ideate-extract, ideate-discover, ideate-validate]
|
|
11
11
|
---
|
|
@@ -23,25 +23,28 @@ Check progress state, load skills, read the slice, detect parallel mode, and wri
|
|
|
23
23
|
|
|
24
24
|
## -1. Placeholder verification (CRITICAL — run before anything else)
|
|
25
25
|
|
|
26
|
-
Scan
|
|
26
|
+
Scan the surface stack map in `.agent/instructions/tech-stack.md` for completeness before writing code.
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
5. `.agent/instructions/structure.md`
|
|
33
|
-
6. `.agent/instructions/patterns.md`
|
|
34
|
-
7. `.agent/instructions/tech-stack.md`
|
|
28
|
+
Verify:
|
|
29
|
+
1. The slice's surface row has filled values for **all** required columns (Languages, Databases, BE Frameworks, FE Frameworks, ORMs, Unit Tests, E2E Tests, FE Design, State Mgmt)
|
|
30
|
+
2. Cross-cutting categories have filled values (Auth, Security, CI/CD, Hosting, Accessibility)
|
|
31
|
+
3. Commands section in `.agent/instructions/commands.md` has non-template values
|
|
35
32
|
|
|
36
|
-
|
|
33
|
+
Also scan these instruction files for any remaining template markers:
|
|
34
|
+
- `.agent/instructions/structure.md`
|
|
35
|
+
- `.agent/instructions/patterns.md`
|
|
36
|
+
- `.agent/instructions/tech-stack.md`
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
|-----------------|-------------|
|
|
40
|
-
| `AGENTS.md`, `GEMINI.md`, `workflow.md`, `commands.md`, `tech-stack.md` | Run `/create-prd` |
|
|
41
|
-
| `structure.md` (`{{PROJECT_STRUCTURE}}`, `{{ARCHITECTURE_TABLE}}`) | Run `/create-prd-compile` Step 9.5 |
|
|
42
|
-
| `patterns.md` (`{{FRAMEWORK_PATTERNS}}`) | Run `/bootstrap-agents-provision` |
|
|
38
|
+
**If the map has empty cells for this slice's surface** → STOP. Tell user which cells are empty with remediation:
|
|
43
39
|
|
|
44
|
-
|
|
40
|
+
| Empty Cell | Remediation |
|
|
41
|
+
|---|---|
|
|
42
|
+
| Languages / Databases / Frameworks | Run `/create-prd-stack` first |
|
|
43
|
+
| Commands section | Run `/bootstrap-agents` |
|
|
44
|
+
| `structure.md` (project structure) | Run `/create-prd-compile` Step 9.5 |
|
|
45
|
+
| `patterns.md` (framework patterns) | Run `/bootstrap-agents-provision` |
|
|
46
|
+
|
|
47
|
+
Only proceed when the map is fully populated for this slice's surface.
|
|
45
48
|
|
|
46
49
|
---
|
|
47
50
|
|
|
@@ -55,10 +58,9 @@ Verify previous slice was fully marked complete before starting this one.
|
|
|
55
58
|
|
|
56
59
|
Read these skill SKILL.md files: `tdd-workflow`, `error-handling-patterns`, `git-workflow`, `code-review-pro`, `testing-strategist`, `clean-code`, `logging-best-practices`, `minimalist-surgical-development`, `systematic-debugging`. All are in `.agent/skills/[name]/SKILL.md`.
|
|
57
60
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
Read
|
|
61
|
-
If this slice includes FE tasks: Read .agent/skills/{{STATE_MANAGEMENT_SKILL}}/SKILL.md and follow its state management conventions. Skip if no FE tasks or `{{STATE_MANAGEMENT_SKILL}}` is not provisioned.
|
|
61
|
+
Determine which surface this slice belongs to from the phase plan. Read the surface stack map.
|
|
62
|
+
|
|
63
|
+
Read `.agent/skills/prd-templates/references/skill-loading-protocol.md` and load skills for this slice's surface: Languages, Unit Tests, and conditionally ORMs (if BE tasks) and State Mgmt (if FE tasks).
|
|
62
64
|
|
|
63
65
|
Use `find-skills` to discover a test framework skill if needed.
|
|
64
66
|
|
|
@@ -95,16 +97,16 @@ Log each dispatch phase to `.agent/progress/slices/phase-NN-slice-NN.md` `## Dis
|
|
|
95
97
|
|
|
96
98
|
---
|
|
97
99
|
|
|
98
|
-
## 2. Write the contract (
|
|
100
|
+
## 2. Write the contract ({{CONTRACT_LIBRARY}} schema)
|
|
99
101
|
|
|
100
102
|
Before writing the schema, locate the BE endpoint(s) referenced by this slice's acceptance criteria. For each endpoint:
|
|
101
|
-
1. Read the BE spec section that defines it. Copy the typed
|
|
103
|
+
1. Read the BE spec section that defines it. Copy the typed {{CONTRACT_LIBRARY}} contract completely — every request field, response field, error code, and validation rule.
|
|
102
104
|
2. Read the slice's acceptance criteria. Add any additional request/response shapes required by behavioral assertions that are not already present in the BE contract (e.g., query parameters implied by filter behavior, UI-specific error payloads).
|
|
103
105
|
3. Verify the combined schema covers every acceptance criterion and every BE contract field. Flag any drift between the BE spec and the IA shard it implements.
|
|
104
106
|
|
|
105
|
-
|
|
107
|
+
Load the Languages skill(s) from this slice's surface row per the skill loading protocol.
|
|
106
108
|
|
|
107
|
-
Define request/response shapes as
|
|
109
|
+
Define request/response shapes as {{CONTRACT_LIBRARY}} schemas in the contracts directory (see `.agent/instructions/structure.md`). This is the source of truth.
|
|
108
110
|
|
|
109
111
|
### Propose next step
|
|
110
112
|
|
|
@@ -17,7 +17,7 @@ pipeline:
|
|
|
17
17
|
|
|
18
18
|
Execute the TDD cycle (Red → Green → Refactor), run validation, handle synthesis, and update all progress tracking files.
|
|
19
19
|
|
|
20
|
-
**Prerequisite**: Contract (
|
|
20
|
+
**Prerequisite**: Contract ({{CONTRACT_LIBRARY}} schema) must be written (from `/implement-slice-setup` or equivalent). If in parallel mode, QA-RED and BE/FE/QA-GREEN dispatch should be completed during setup.
|
|
21
21
|
|
|
22
22
|
---
|
|
23
23
|
|
|
@@ -26,153 +26,112 @@ Execute the TDD cycle (Red → Green → Refactor), run validation, handle synth
|
|
|
26
26
|
Read .agent/skills/tdd-workflow/SKILL.md and follow its methodology.
|
|
27
27
|
Read .agent/skills/clean-code/SKILL.md and follow its methodology.
|
|
28
28
|
Read .agent/skills/systematic-debugging/SKILL.md and follow its methodology.
|
|
29
|
-
|
|
30
|
-
Read .agent/skills/{{UNIT_TESTING_SKILL}}/SKILL.md and follow its test writing conventions.
|
|
31
|
-
Read .agent/skills/{{E2E_TESTING_SKILL}}/SKILL.md and follow its E2E test conventions.
|
|
29
|
+
Determine which surface this slice belongs to from the phase plan or slice path. Read the surface stack map from `.agent/instructions/tech-stack.md`.
|
|
32
30
|
|
|
33
|
-
|
|
31
|
+
Load the Languages, Unit Tests, and E2E Tests skill(s) from this slice's surface row per the skill loading protocol (`.agent/skills/prd-templates/references/skill-loading-protocol.md`).
|
|
32
|
+
|
|
33
|
+
Cross-reference **all three** sources — acceptance criteria from the phase plan, the {{CONTRACT_LIBRARY}} contract from step 2, AND IA edge cases traced through the BE Source Map:
|
|
34
34
|
1. Write a test for each acceptance criterion
|
|
35
35
|
2. Write a test for each contract field, error type, and validation rule not already covered by criteria
|
|
36
|
-
3. For each endpoint
|
|
36
|
+
3. For each endpoint, read the IA shard section(s) cited in the BE spec `## Source Map`. Extract every relevant `## Edge Cases` item. Write a failing test for each, tagged `// IA-EDGE: [IA §X.Y — description]`
|
|
37
37
|
4. Run all tests — they MUST fail
|
|
38
38
|
5. Commit the failing tests
|
|
39
39
|
|
|
40
|
-
**
|
|
40
|
+
Read `.agent/skills/prd-templates/references/tdd-testing-policy.md` and apply its **Assertion Depth Rule** and **Anti-Mock-Abuse Rules** to all tests written above.
|
|
41
41
|
|
|
42
42
|
> **In parallel mode**, this step is handled by the `QA` agent dispatch in step 1.5.
|
|
43
|
-
> In sequential mode, the orchestrator handles it directly.
|
|
44
43
|
|
|
45
|
-
Run
|
|
44
|
+
Run the Test Cmd from this slice's surface row in the surface stack map to verify tests fail.
|
|
46
45
|
|
|
47
46
|
## 4. Implement (GREEN)
|
|
48
47
|
|
|
49
|
-
|
|
48
|
+
Load the Languages skill(s) from this slice's surface row per the skill loading protocol.
|
|
50
49
|
|
|
51
|
-
Write the
|
|
50
|
+
Write the simplest *correct* implementation to make all tests pass. "Minimal" means no unnecessary abstractions — it does **NOT** mean skipping error handling, input validation, logging, or edge cases that the spec defines:
|
|
52
51
|
1. Database schema/migration
|
|
53
52
|
2. API endpoint handler
|
|
54
53
|
3. Business logic
|
|
55
54
|
4. UI component
|
|
56
55
|
|
|
57
|
-
**If in parallel mode**: Each agent claims its task via the **Parallel Claim Protocol** (`.agent/skills/session-continuity/protocols/09-parallel-claim.md`)
|
|
58
|
-
|
|
59
|
-
**Before using any stub or placeholder**, apply the three-part test from the
|
|
60
|
-
`boundary-not-placeholder` rule:
|
|
61
|
-
- Does the spec exist? → Implement it. No stub.
|
|
62
|
-
- Could you write the spec now? → Write the spec first, then implement.
|
|
63
|
-
- Information genuinely doesn't exist? → `BOUNDARY:` stub with typed interface, tracking issue, and sentinel test.
|
|
56
|
+
**If in parallel mode**: Each agent claims its task via the **Parallel Claim Protocol** (`.agent/skills/session-continuity/protocols/09-parallel-claim.md`).
|
|
64
57
|
|
|
65
|
-
|
|
66
|
-
> scope, and complexity are never reasons to stub. Only missing information is.
|
|
58
|
+
**Before using any stub or placeholder**, apply the three-part test from the `boundary-not-placeholder` rule. Only missing information is a valid boundary — amount of work, scope, and complexity are never reasons to stub.
|
|
67
59
|
|
|
68
|
-
**Spec traceability**:
|
|
60
|
+
**Spec traceability**: Annotate any implementation decision not covered by the spec with `// DECISION: [what was decided and why]`. QA will audit these.
|
|
69
61
|
|
|
70
|
-
|
|
62
|
+
> **Decision recording**: For decisions with ripple effects (touching other components, changing contracts, setting precedent), read `.agent/skills/session-continuity/protocols/06-decision-analysis.md` and follow the **Decision Effect Analysis Protocol**. Isolated decisions don't need this — only decisions where changing it later requires editing more than the current file.
|
|
71
63
|
|
|
72
|
-
|
|
64
|
+
Run the Test Cmd to verify tests pass.
|
|
73
65
|
|
|
74
|
-
|
|
66
|
+
## 4.1. Debug cycle (if tests fail)
|
|
75
67
|
|
|
76
|
-
Read
|
|
77
|
-
Read .agent/skills/parallel-debugging/SKILL.md if failures span multiple subsystems.
|
|
68
|
+
Read `.agent/skills/systematic-debugging/SKILL.md` and follow its ACH methodology. Read `.agent/skills/parallel-debugging/SKILL.md` if failures span multiple subsystems.
|
|
78
69
|
|
|
79
|
-
1. Classify
|
|
80
|
-
2.
|
|
81
|
-
3.
|
|
82
|
-
4.
|
|
83
|
-
5. Maximum 3
|
|
70
|
+
1. Classify: contract mismatch vs logic error vs integration issue
|
|
71
|
+
2. Contract mismatch → re-read BE spec — contract wrong or implementation?
|
|
72
|
+
3. Logic error → ACH per debugging skill
|
|
73
|
+
4. Integration issue → check cross-surface wiring, env vars, service connectivity
|
|
74
|
+
5. Maximum 3 iterations before escalating to user
|
|
84
75
|
|
|
85
|
-
Run
|
|
76
|
+
Run the Test Cmd after each iteration.
|
|
86
77
|
|
|
87
78
|
## 4.5. New dependency check
|
|
88
79
|
|
|
89
|
-
After
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
2. Read `.agent/workflows/bootstrap-agents.md` and fire bootstrap with `PIPELINE_STAGE=implement-slice` + the key-value pair (e.g., `NEW_DEPENDENCY=[package-name]`)
|
|
94
|
-
3. Confirm the matching skill is installed before proceeding to REFACTOR
|
|
80
|
+
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
|
|
95
84
|
|
|
96
|
-
|
|
85
|
+
No new unregistered dependencies → skip to Step 5.
|
|
97
86
|
|
|
98
87
|
## 5. Refactor
|
|
99
88
|
|
|
100
|
-
With tests green, improve code quality:
|
|
101
|
-
- Extract shared logic
|
|
102
|
-
- Improve naming
|
|
103
|
-
- Remove duplication
|
|
104
|
-
- Add documentation
|
|
89
|
+
With tests green, improve code quality: extract shared logic, improve naming, remove duplication, add documentation.
|
|
105
90
|
|
|
106
|
-
Read `.agent/skills/code-review-pro/SKILL.md` and apply its adversarial review: "How would a senior engineer reject this in a PR review?"
|
|
91
|
+
Read `.agent/skills/code-review-pro/SKILL.md` and apply its adversarial review: "How would a senior engineer reject this in a PR review?"
|
|
107
92
|
|
|
108
|
-
**Spec traceability check**: Re-read the BE spec and IA shard
|
|
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.
|
|
109
94
|
|
|
110
|
-
Run
|
|
95
|
+
Run the Test Cmd to verify tests still pass.
|
|
111
96
|
|
|
112
97
|
## 6. Validate
|
|
113
98
|
|
|
114
|
-
Read
|
|
99
|
+
Read `.agent/skills/verification-before-completion/SKILL.md` and apply its evidence-before-claims discipline.
|
|
115
100
|
|
|
116
|
-
Run the full
|
|
101
|
+
Run the Validation Cmd from this slice's surface row. At least one integration test per BE endpoint must hit a real test server + real test database and assert the full response body.
|
|
117
102
|
|
|
118
103
|
All must pass before the slice is complete.
|
|
119
104
|
|
|
120
105
|
## 6.5. Synthesis (parallel mode only)
|
|
121
106
|
|
|
122
|
-
**Skip
|
|
107
|
+
**Skip if not in parallel mode.**
|
|
123
108
|
|
|
124
|
-
Read `.agent/skills/session-continuity/protocols/11-parallel-synthesis.md` and follow its full procedure
|
|
109
|
+
Read `.agent/skills/session-continuity/protocols/11-parallel-synthesis.md` and follow its full procedure.
|
|
125
110
|
|
|
126
111
|
## 7. Update progress (Mandatory)
|
|
127
112
|
|
|
128
|
-
**CRITICAL
|
|
129
|
-
|
|
130
|
-
Read `.agent/skills/session-continuity/protocols/03-progress-update.md` and follow **every step** in the protocol. You must physically open and edit each of the four file targets (slice file, phase file, index, memory) using your file editing tools.
|
|
131
|
-
|
|
132
|
-
The protocol covers:
|
|
133
|
-
- **7a**: Slice file — status, criteria, implementation notes, files changed
|
|
134
|
-
- **7b**: Phase file — slice entry, sub-tasks, progress fraction, claim releases
|
|
135
|
-
- **7c**: Index — overall percentage, phase row
|
|
136
|
-
- **7d**: Memory — patterns and blockers
|
|
113
|
+
**CRITICAL**: You MUST NOT skip progress updates. Read `.agent/skills/session-continuity/protocols/03-progress-update.md` and follow **every step** — physically edit all four file targets (slice, phase, index, memory).
|
|
137
114
|
|
|
138
115
|
## 8. Completion Gate
|
|
139
116
|
|
|
140
|
-
Read
|
|
141
|
-
|
|
142
|
-
### UI Completeness Check (FE slices only)
|
|
117
|
+
Read `.agent/skills/verification-before-completion/SKILL.md` and apply its discipline.
|
|
143
118
|
|
|
144
|
-
-
|
|
145
|
-
-
|
|
146
|
-
-
|
|
147
|
-
- [ ] (FE slices only) The feature is reachable from the app's entry point via normal user navigation
|
|
119
|
+
Read `.agent/skills/prd-templates/references/slice-completion-gates.md` and verify every applicable checklist passes:
|
|
120
|
+
- **UI Completeness Check** — FE slices only
|
|
121
|
+
- **Spec Traceability Gate** — all slices
|
|
148
122
|
|
|
149
|
-
|
|
123
|
+
Read `.agent/skills/prd-templates/references/tdd-testing-policy.md` and run the **QA Anti-Cheat Audit** checklist.
|
|
150
124
|
|
|
151
|
-
|
|
125
|
+
You may not call `notify_user` until you have edited all four progress file targets (7a–7d).
|
|
152
126
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
-
|
|
156
|
-
-
|
|
157
|
-
- [ ] No `// DECISION:` annotations exist for behaviors that are actually specified in the BE spec or IA shard (i.e., no spec-defined behavior was treated as an undocumented implementation decision)
|
|
158
|
-
- [ ] The Zod contract written in Step 2 matches the delivered implementation field-for-field — no fields added, removed, or renamed during implementation without a corresponding contract update
|
|
159
|
-
|
|
160
|
-
> ❌ STOP — Do not call `notify_user` if any of the above are unchecked. Fix the gap and re-run `{{TEST_COMMAND}}`.
|
|
161
|
-
|
|
162
|
-
You may not call `notify_user` until you have edited all four file targets above (7a–7d).
|
|
163
|
-
|
|
164
|
-
Verify your edits by reading each of the following files:
|
|
165
|
-
- Read `.agent/progress/slices/phase-NN-slice-NN.md` — must show Status: complete and [x] criteria
|
|
166
|
-
- Read `.agent/progress/phases/phase-NN.md` — search for "Progress" and verify it shows the incremented fraction
|
|
167
|
-
- Read `.agent/progress/index.md` — search for "Overall" and verify it shows the new overall percentage
|
|
168
|
-
|
|
169
|
-
Replace `NN` with the actual phase and slice numbers you just completed.
|
|
127
|
+
Verify your edits by reading:
|
|
128
|
+
- `.agent/progress/slices/phase-NN-slice-NN.md` — Status: complete, [x] criteria
|
|
129
|
+
- `.agent/progress/phases/phase-NN.md` — incremented progress fraction
|
|
130
|
+
- `.agent/progress/index.md` — updated overall percentage
|
|
170
131
|
|
|
171
132
|
Your `notify_user` payload **MUST** include:
|
|
172
|
-
1.
|
|
173
|
-
2.
|
|
174
|
-
3.
|
|
175
|
-
|
|
176
|
-
If any command output shows unchecked criteria, a stale fraction, or a missing file, you have failed the workflow.
|
|
133
|
+
1. Raw output from the three reads above
|
|
134
|
+
2. Updated overall progress (e.g., "Overall progress is now 75% (24/32 slices)")
|
|
135
|
+
3. Explicit next command: Run `/implement-slice` for [next slice name]
|
|
177
136
|
|
|
178
|
-
**Infrastructure/Auth slice gate**:
|
|
137
|
+
**Infrastructure/Auth slice gate**: If this was the `00-infrastructure` or auth slice, the next command is `/verify-infrastructure`, not `/implement-slice`.
|
|
@@ -6,7 +6,7 @@ pipeline:
|
|
|
6
6
|
predecessors: [plan-phase]
|
|
7
7
|
successors: [validate-phase]
|
|
8
8
|
loop: true # repeats per slice within a phase
|
|
9
|
-
skills: [clean-code, code-review-pro, parallel-agents, parallel-debugging, parallel-feature-development, session-continuity, systematic-debugging, tdd-workflow, verification-before-completion]
|
|
9
|
+
skills: [clean-code, code-review-pro, minimalist-surgical-development, parallel-agents, parallel-debugging, parallel-feature-development, session-continuity, systematic-debugging, tdd-workflow, verification-before-completion]
|
|
10
10
|
calls-bootstrap: true # may discover new dependencies during implementation
|
|
11
11
|
shards: [implement-slice-setup, implement-slice-tdd]
|
|
12
12
|
---
|
|
@@ -35,7 +35,7 @@ Implement a single vertical slice using strict TDD: Red → Green → Refactor.
|
|
|
35
35
|
|
|
36
36
|
### Step A — Run `.agent/workflows/implement-slice-setup.md`
|
|
37
37
|
|
|
38
|
-
Checks progress state and session continuity, loads all bundled skills, reads the slice acceptance criteria, determines if parallel mode applies, and writes the contract (
|
|
38
|
+
Checks progress state and session continuity, loads all bundled skills, reads the slice acceptance criteria, determines if parallel mode applies, and writes the contract ({{CONTRACT_LIBRARY}} schema). If parallel mode is detected, dispatches agents for the TDD cycle.
|
|
39
39
|
|
|
40
40
|
### Step B — Run `.agent/workflows/implement-slice-tdd.md`
|
|
41
41
|
|
|
@@ -46,7 +46,7 @@ Executes the TDD cycle (RED: write failing tests → GREEN: implement → REFACT
|
|
|
46
46
|
## Quality Gate
|
|
47
47
|
|
|
48
48
|
You may not call `notify_user` until:
|
|
49
|
-
- [ ] All tests pass (
|
|
50
|
-
- [ ] Full validation passes (
|
|
49
|
+
- [ ] All tests pass (Test Cmd from surface stack map)
|
|
50
|
+
- [ ] Full validation passes (Validation Cmd from surface stack map)
|
|
51
51
|
- [ ] All 4 progress tracking files updated (slice, phase, index, memory)
|
|
52
52
|
- [ ] Each tracking file verified by re-reading after edit
|
|
@@ -50,7 +50,7 @@ Read these skills for slice planning guidance:
|
|
|
50
50
|
|
|
51
51
|
## 0.5. Application Completeness Audit
|
|
52
52
|
|
|
53
|
-
Read
|
|
53
|
+
Read the **Surfaces** list from the Global Settings section of `.agent/instructions/tech-stack.md`. For each row below, only run the check if "Applies To" matches the project's confirmed surfaces. Skip inapplicable rows.
|
|
54
54
|
|
|
55
55
|
Read all FE specs in `docs/plans/fe/` and check the following table.
|
|
56
56
|
|
|
@@ -106,14 +106,18 @@ Do not proceed until the user confirms all uncovered specs are resolved.
|
|
|
106
106
|
|
|
107
107
|
### 0.6b. Cross-Layer Field and Contract Consistency
|
|
108
108
|
|
|
109
|
-
Using the `cross-layer-consistency` skill's methodology, verify:
|
|
109
|
+
Using the `cross-layer-consistency` skill's methodology as a guide, verify the following **minimum checks** regardless of skill depth:
|
|
110
110
|
|
|
111
111
|
1. **Field mapping**: For every BE response field consumed by an FE component, verify the field name, type, and nullability match exactly between the BE spec and FE spec.
|
|
112
112
|
2. **Error code propagation**: For every error code defined in a BE spec, verify the corresponding FE spec documents how that error is displayed to the user.
|
|
113
113
|
3. **Access control consistency**: For every RBAC role referenced in a BE spec's access control, verify the FE spec's conditional rendering matrix includes that role.
|
|
114
|
+
4. **Data contract drift**: For every IA shard entity, verify that the BE spec's request/response schemas contain all fields defined in the IA shard's data model — no fields silently dropped or renamed.
|
|
115
|
+
5. **State management consistency**: For every FE component that manages optimistic updates, verify the corresponding BE endpoint's error response is specified well enough for the FE to roll back.
|
|
114
116
|
|
|
115
117
|
Collect all mismatches into a consistency report. If any exist → **hard stop** and present them to the user for resolution before proceeding.
|
|
116
118
|
|
|
119
|
+
> These 5 checks are **non-negotiable minimums**. The `cross-layer-consistency` skill may define additional checks — run those too, but never skip these 5 even if the skill doesn't mention them.
|
|
120
|
+
|
|
117
121
|
---
|
|
118
122
|
|
|
119
123
|
## 0.8. Draft continuity check
|