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.
Files changed (99) hide show
  1. package/README.md +14 -0
  2. package/package.json +1 -1
  3. package/template/.agent/instructions/commands.md +8 -32
  4. package/template/.agent/instructions/patterns.md +3 -3
  5. package/template/.agent/instructions/tech-stack.md +71 -23
  6. package/template/.agent/instructions/workflow.md +12 -1
  7. package/template/.agent/rules/completion-checklist.md +6 -0
  8. package/template/.agent/rules/security-first.md +3 -3
  9. package/template/.agent/rules/vertical-slices.md +1 -1
  10. package/template/.agent/skill-library/MANIFEST.md +6 -0
  11. package/template/.agent/skill-library/stack/devops/git-advanced/SKILL.md +972 -0
  12. package/template/.agent/skill-library/stack/devops/git-workflow/SKILL.md +420 -0
  13. package/template/.agent/skills/api-versioning/SKILL.md +44 -298
  14. package/template/.agent/skills/api-versioning/references/typescript.md +157 -0
  15. package/template/.agent/skills/architecture-mapping/SKILL.md +7 -7
  16. package/template/.agent/skills/bootstrap-agents/SKILL.md +151 -152
  17. package/template/.agent/skills/clean-code/SKILL.md +64 -118
  18. package/template/.agent/skills/clean-code/references/typescript.md +126 -0
  19. package/template/.agent/skills/database-schema-design/SKILL.md +93 -317
  20. package/template/.agent/skills/database-schema-design/references/relational.md +228 -0
  21. package/template/.agent/skills/error-handling-patterns/SKILL.md +62 -557
  22. package/template/.agent/skills/error-handling-patterns/references/go.md +162 -0
  23. package/template/.agent/skills/error-handling-patterns/references/python.md +262 -0
  24. package/template/.agent/skills/error-handling-patterns/references/rust.md +112 -0
  25. package/template/.agent/skills/error-handling-patterns/references/typescript.md +178 -0
  26. package/template/.agent/skills/idea-extraction/SKILL.md +119 -12
  27. package/template/.agent/skills/logging-best-practices/SKILL.md +108 -767
  28. package/template/.agent/skills/logging-best-practices/references/go.md +49 -0
  29. package/template/.agent/skills/logging-best-practices/references/python.md +52 -0
  30. package/template/.agent/skills/logging-best-practices/references/typescript.md +215 -0
  31. package/template/.agent/skills/migration-management/SKILL.md +127 -311
  32. package/template/.agent/skills/migration-management/references/relational.md +214 -0
  33. package/template/.agent/skills/parallel-feature-development/SKILL.md +34 -43
  34. package/template/.agent/skills/pipeline-rubrics/references/be-rubric.md +1 -1
  35. package/template/.agent/skills/pipeline-rubrics/references/ia-rubric.md +1 -1
  36. package/template/.agent/skills/prd-templates/SKILL.md +20 -3
  37. package/template/.agent/skills/prd-templates/references/be-spec-template.md +2 -2
  38. package/template/.agent/skills/prd-templates/references/decomposition-templates.md +2 -2
  39. package/template/.agent/skills/prd-templates/references/fe-spec-template.md +1 -1
  40. package/template/.agent/skills/prd-templates/references/ideation-domain-template.md +8 -2
  41. package/template/.agent/skills/prd-templates/references/ideation-index-template.md +25 -1
  42. package/template/.agent/skills/prd-templates/references/operational-templates.md +1 -1
  43. package/template/.agent/skills/prd-templates/references/placeholder-workflow-mapping.md +50 -21
  44. package/template/.agent/skills/prd-templates/references/skill-loading-protocol.md +32 -0
  45. package/template/.agent/skills/prd-templates/references/slice-completion-gates.md +21 -0
  46. package/template/.agent/skills/prd-templates/references/spec-coverage-sweep.md +3 -3
  47. package/template/.agent/skills/prd-templates/references/tdd-testing-policy.md +39 -0
  48. package/template/.agent/skills/prd-templates/references/vision-template.md +1 -1
  49. package/template/.agent/skills/regex-patterns/SKILL.md +122 -540
  50. package/template/.agent/skills/regex-patterns/references/go.md +44 -0
  51. package/template/.agent/skills/regex-patterns/references/javascript.md +63 -0
  52. package/template/.agent/skills/regex-patterns/references/python.md +77 -0
  53. package/template/.agent/skills/regex-patterns/references/rust.md +43 -0
  54. package/template/.agent/skills/session-continuity/SKILL.md +11 -9
  55. package/template/.agent/skills/session-continuity/protocols/02-progress-generation.md +2 -2
  56. package/template/.agent/skills/session-continuity/protocols/04-pattern-extraction.md +1 -1
  57. package/template/.agent/skills/session-continuity/protocols/05-session-close.md +1 -1
  58. package/template/.agent/skills/session-continuity/protocols/09-parallel-claim.md +1 -1
  59. package/template/.agent/skills/session-continuity/protocols/10-placeholder-verification-gate.md +57 -78
  60. package/template/.agent/skills/session-continuity/protocols/11-parallel-synthesis.md +1 -1
  61. package/template/.agent/skills/tdd-workflow/SKILL.md +94 -317
  62. package/template/.agent/skills/tdd-workflow/references/typescript.md +231 -0
  63. package/template/.agent/skills/testing-strategist/SKILL.md +74 -687
  64. package/template/.agent/skills/testing-strategist/references/typescript.md +328 -0
  65. package/template/.agent/skills/workflow-automation/SKILL.md +62 -154
  66. package/template/.agent/skills/workflow-automation/references/inngest.md +88 -0
  67. package/template/.agent/skills/workflow-automation/references/temporal.md +64 -0
  68. package/template/.agent/workflows/bootstrap-agents-fill.md +85 -143
  69. package/template/.agent/workflows/bootstrap-agents-provision.md +90 -107
  70. package/template/.agent/workflows/create-prd-architecture.md +16 -14
  71. package/template/.agent/workflows/create-prd-compile.md +11 -12
  72. package/template/.agent/workflows/create-prd-design-system.md +1 -1
  73. package/template/.agent/workflows/create-prd-security.md +9 -11
  74. package/template/.agent/workflows/create-prd-stack.md +10 -4
  75. package/template/.agent/workflows/create-prd.md +5 -6
  76. package/template/.agent/workflows/decompose-architecture-structure.md +3 -5
  77. package/template/.agent/workflows/decompose-architecture-validate.md +18 -1
  78. package/template/.agent/workflows/evolve-contract.md +11 -11
  79. package/template/.agent/workflows/ideate-discover.md +10 -6
  80. package/template/.agent/workflows/ideate-extract.md +61 -4
  81. package/template/.agent/workflows/ideate-validate.md +3 -3
  82. package/template/.agent/workflows/ideate.md +2 -2
  83. package/template/.agent/workflows/implement-slice-setup.md +25 -23
  84. package/template/.agent/workflows/implement-slice-tdd.md +51 -92
  85. package/template/.agent/workflows/implement-slice.md +4 -4
  86. package/template/.agent/workflows/plan-phase-preflight.md +6 -2
  87. package/template/.agent/workflows/plan-phase-write.md +6 -8
  88. package/template/.agent/workflows/resolve-ambiguity.md +1 -1
  89. package/template/.agent/workflows/update-architecture-map.md +22 -5
  90. package/template/.agent/workflows/validate-phase.md +26 -29
  91. package/template/.agent/workflows/verify-infrastructure.md +10 -10
  92. package/template/.agent/workflows/write-architecture-spec-design.md +17 -12
  93. package/template/.agent/workflows/write-be-spec-classify.md +25 -21
  94. package/template/.agent/workflows/write-be-spec.md +1 -1
  95. package/template/.agent/workflows/write-fe-spec-classify.md +6 -12
  96. package/template/.agent/workflows/write-fe-spec-write.md +1 -1
  97. package/template/AGENTS.md +1 -1
  98. package/template/GEMINI.md +3 -3
  99. package/template/docs/kit-architecture.md +34 -8
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Safely evolve a Zod schema — identify all consumers, write migration tests, update across all four surfaces
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 Zod schema without breaking existing consumers.
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
- Read .agent/skills/{{LANGUAGE_SKILL}}/SKILL.md and follow its language conventions.
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 Zod schema needs to change and what the change is:
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
- Read .agent/skills/{{UNIT_TESTING_SKILL}}/SKILL.md and follow its test writing conventions.
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 `{{TEST_COMMAND}}` — tests should FAIL until the schema is updated.
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
- Read .agent/skills/{{LANGUAGE_SKILL}}/SKILL.md and follow its language conventions.
91
+ Load the Languages skill(s) from this contract's surface row per the skill loading protocol.
92
92
 
93
- Modify the Zod schema. For breaking changes:
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 Zod plugin, a Pydantic 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.
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
- Read .agent/skills/{{LANGUAGE_SKILL}}/SKILL.md and follow its language conventions.
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 `{{VALIDATION_COMMAND}}` (see `.agent/instructions/commands.md` for the configured validation command).
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` section from `docs/plans/ideation/ideation-index.md` and route accordingly. All findings are written to the appropriate files in `docs/plans/ideation/` in real time — not held in context.
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 in `domains/` using the `ideation-domain-template.md`
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?** → Create domain file, update index, loop back to Level 0 for the new domain. Do NOT proceed until domain map is stable.
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?** → Create domain file, update index, loop back to Level 0
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. From that sentence, identify the key nounsthese become initial domains
58
- 4. Proceed to folder seeding (Step 1.5) then domain exploration in `/ideate-discover`
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
- Create the `docs/plans/ideation/` folder structure:
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** — What platforms will this run on? (web, mobile, desktop, CLI, API)
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 the surface classification to `meta/constraints.md` downstream workflows use this to determine which decision axes apply.
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 template structure? |
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 for unfilled placeholders before writing code. Read each file and scan for `{{`:
26
+ Scan the surface stack map in `.agent/instructions/tech-stack.md` for completeness before writing code.
27
27
 
28
- 1. `AGENTS.md`
29
- 2. `GEMINI.md`
30
- 3. `.agent/instructions/workflow.md`
31
- 4. `.agent/instructions/commands.md`
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
- **If ANY `{{PLACEHOLDER}}` found** → STOP. Tell user which files contain unfilled placeholders with remediation:
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
- | Unfilled pattern | Remediation |
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
- Only proceed when zero `{{` patterns remain in all seven files.
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
- Read .agent/skills/{{LANGUAGE_SKILL}}/SKILL.md and follow its language conventions.
59
- If this slice includes BE tasks: Read .agent/skills/{{ORM_SKILL}}/SKILL.md and follow its migration and schema conventions. Skip if no BE tasks or `{{ORM_SKILL}}` is not provisioned.
60
- Read .agent/skills/{{UNIT_TESTING_SKILL}}/SKILL.md and follow its test writing conventions.
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 (Zod schema)
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 Zod contract completely — every request field, response field, error code, and validation rule.
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
- Read .agent/skills/{{LANGUAGE_SKILL}}/SKILL.md and follow its language conventions.
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 Zod schemas in the contracts directory (see `.agent/instructions/structure.md`). This is the source of truth.
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 (Zod 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.
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
- Read .agent/skills/{{LANGUAGE_SKILL}}/SKILL.md and follow its language conventions.
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
- Cross-reference **all three** sources — acceptance criteria from the phase plan, the Zod contract from step 2, AND IA edge cases traced through the BE Source Map:
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 in this slice, read the IA shard section(s) cited in that endpoint's BE spec `## Source Map`. Extract every item from the IA shard's `## Edge Cases` section that is relevant to the endpoint(s) under test. Write a failing test for each uncovered edge case. Tag these tests with `// IA-EDGE: [IA §X.Y — description]` so QA-GREEN can audit traceability.
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
- **Test order**: Unit Integration E2E (if applicable)
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 `{{TEST_COMMAND}}` to verify tests fail.
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
- Read .agent/skills/{{LANGUAGE_SKILL}}/SKILL.md and follow its language conventions.
48
+ Load the Languages skill(s) from this slice's surface row per the skill loading protocol.
50
49
 
51
- Write the minimum code to make all tests pass:
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`) — marking `[!]`, writing `files:` list, and working through subtasks. Agents release claims on completion.
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
- > **"This is a lot of work" is not a valid boundary.** Amount of work, task
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**: if you make any implementation decision not explicitly covered by the spec or contract (e.g., choosing enum values, default behaviors, retry counts, timeout durations, error messages), annotate it with `// DECISION: [what was decided and why]`. QA will audit these.
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
- Run `{{TEST_COMMAND}}` to verify tests pass.
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
- ## 4.1. Debug cycle (if tests fail after initial implementation)
64
+ Run the Test Cmd to verify tests pass.
73
65
 
74
- If `{{TEST_COMMAND}}` shows failures after completing Step 4:
66
+ ## 4.1. Debug cycle (if tests fail)
75
67
 
76
- Read .agent/skills/systematic-debugging/SKILL.md and follow its ACH methodology.
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 failures: contract mismatch vs logic error vs integration issue
80
- 2. For contract mismatches: re-read the BE spec — is the contract wrong or the implementation?
81
- 3. For logic errors: apply ACH (Analysis of Competing Hypotheses) per the debugging skill
82
- 4. For integration issues: check cross-surface wiring, env vars, service connectivity
83
- 5. Maximum 3 debug iterations before escalating to user with findings
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 `{{TEST_COMMAND}}` after each debug iteration to verify progress.
76
+ Run the Test Cmd after each iteration.
86
77
 
87
78
  ## 4.5. New dependency check
88
79
 
89
- After making all tests pass (GREEN), scan the new imports introduced in the implementation files.
90
-
91
- If any package or module was introduced that does **not** have a corresponding skill directory in `.agent/skills/`:
92
- 1. Identify the stack category (e.g., `QUEUE`, `CACHE`, `SEARCH`, `STORAGE`, `REALTIME`)
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
- If no new unregistered dependencies were introduced, skip and proceed to Step 5.
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?" Fix issues before running tests.
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 sections for this slice. Verify every Zod contract field maps to a BE spec field. Verify every `// IA-EDGE:` tagged test's edge case is covered by the implementation, not just tested. Fix any spec drift before proceeding.
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 `{{TEST_COMMAND}}` to verify tests still pass after refactor.
95
+ Run the Test Cmd to verify tests still pass.
111
96
 
112
97
  ## 6. Validate
113
98
 
114
- Read .agent/skills/verification-before-completion/SKILL.md and apply its evidence-before-claims discipline.
99
+ Read `.agent/skills/verification-before-completion/SKILL.md` and apply its evidence-before-claims discipline.
115
100
 
116
- Run the full validation suite: `{{VALIDATION_COMMAND}}`.
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 this step if not in parallel mode.**
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 — write synthesis plan, resolve stubs, wire integrations, run `{{VALIDATION_COMMAND}}`.
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 ANTI-HALLUCINATION RULE**: You MUST NOT skip the progress update. Agents routinely skip this step after validation passes.
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 .agent/skills/verification-before-completion/SKILL.md and apply its evidence-before-claims discipline.
141
-
142
- ### UI Completeness Check (FE slices only)
117
+ Read `.agent/skills/verification-before-completion/SKILL.md` and apply its discipline.
143
118
 
144
- - [ ] (FE slices only) Every acceptance criterion mentioning "user sees", "user can", "displays", or "shows" has a rendered implementation — not just a passing test
145
- - [ ] (FE slices only) Every new route in this slice is wired into the app's navigation (not just exported as a component)
146
- - [ ] (FE slices only) Loading, error, and empty states are rendered in the UI not just covered by tests
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
- These items apply only when the slice is tagged `FE`. Non-FE slices skip this block.
123
+ Read `.agent/skills/prd-templates/references/tdd-testing-policy.md` and run the **QA Anti-Cheat Audit** checklist.
150
124
 
151
- ### Spec Traceability Gate (all slices)
125
+ You may not call `notify_user` until you have edited all four progress file targets (7a–7d).
152
126
 
153
- Before calling `notify_user`, verify:
154
-
155
- - [ ] Re-read the BE spec section(s) for every endpoint in this slice every response field, error code, and validation rule has a corresponding test tagged with the spec reference
156
- - [ ] Re-read the IA shard's `## Edge Cases` section for this slice's domain every edge case relevant to this slice has a `// IA-EDGE:` tagged test
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. The raw output from the three commands above.
173
- 2. The updated overall progress (e.g., "Overall progress is now 75% (24/32 slices)").
174
- 3. The explicit next command: Run `/implement-slice` for [next slice name].
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**: After completing progress tracking, check the slice name against the phase plan. If this was the `00-infrastructure` slice or the auth slice, the next command to run is `/verify-infrastructure`, not `/implement-slice`. Do not propose the next feature slice until `/verify-infrastructure` passes and produces a green report in `docs/audits/`.
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 (Zod schema). If parallel mode is detected, dispatches agents for the TDD cycle.
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 (`{{TEST_COMMAND}}`)
50
- - [ ] Full validation passes (`{{VALIDATION_COMMAND}}`)
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 `{{SURFACES}}` from `.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.
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