cfsa-antigravity 2.19.0 → 2.19.2

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 (200) hide show
  1. package/package.json +1 -1
  2. package/template/.agent/kit-sync.md +3 -3
  3. package/template/.claude/commands/audit-ambiguity-execute.md +6 -0
  4. package/template/.claude/commands/audit-ambiguity-rubrics.md +6 -0
  5. package/template/.claude/commands/audit-ambiguity.md +6 -0
  6. package/template/.claude/commands/bootstrap-agents-fill.md +6 -0
  7. package/template/.claude/commands/bootstrap-agents-provision.md +6 -0
  8. package/template/.claude/commands/bootstrap-agents.md +6 -0
  9. package/template/.claude/commands/create-prd-architecture.md +6 -0
  10. package/template/.claude/commands/create-prd-compile.md +6 -0
  11. package/template/.claude/commands/create-prd-design-system.md +6 -0
  12. package/template/.claude/commands/create-prd-security.md +6 -0
  13. package/template/.claude/commands/create-prd-stack.md +6 -0
  14. package/template/.claude/commands/decompose-architecture-structure.md +6 -0
  15. package/template/.claude/commands/decompose-architecture-validate.md +6 -0
  16. package/template/.claude/commands/evolve-contract.md +6 -0
  17. package/template/.claude/commands/evolve-feature-cascade.md +6 -0
  18. package/template/.claude/commands/evolve-feature-classify.md +6 -0
  19. package/template/.claude/commands/evolve-feature.md +6 -0
  20. package/template/.claude/commands/ideate-discover.md +6 -0
  21. package/template/.claude/commands/ideate-extract.md +6 -0
  22. package/template/.claude/commands/ideate-validate.md +6 -0
  23. package/template/.claude/commands/implement-slice-setup.md +6 -0
  24. package/template/.claude/commands/implement-slice-tdd.md +6 -0
  25. package/template/.claude/commands/plan-phase-preflight.md +6 -0
  26. package/template/.claude/commands/plan-phase-write.md +6 -0
  27. package/template/.claude/commands/propagate-decision-apply.md +6 -0
  28. package/template/.claude/commands/propagate-decision-scan.md +6 -0
  29. package/template/.claude/commands/propagate-decision.md +6 -0
  30. package/template/.claude/commands/remediate-pipeline-assess.md +6 -0
  31. package/template/.claude/commands/remediate-pipeline-execute.md +6 -0
  32. package/template/.claude/commands/remediate-pipeline.md +6 -0
  33. package/template/.claude/commands/remediate-shard-split.md +6 -0
  34. package/template/.claude/commands/resolve-ambiguity.md +6 -0
  35. package/template/.claude/commands/setup-workspace-cicd.md +6 -0
  36. package/template/.claude/commands/setup-workspace-data.md +6 -0
  37. package/template/.claude/commands/setup-workspace-hosting.md +6 -0
  38. package/template/.claude/commands/setup-workspace-scaffold.md +6 -0
  39. package/template/.claude/commands/sync-kit.md +6 -0
  40. package/template/.claude/commands/update-architecture-map.md +6 -0
  41. package/template/.claude/commands/validate-phase-quality.md +6 -0
  42. package/template/.claude/commands/validate-phase-readiness.md +6 -0
  43. package/template/.claude/commands/verify-infrastructure.md +6 -0
  44. package/template/.claude/commands/write-architecture-spec-deepen.md +6 -0
  45. package/template/.claude/commands/write-architecture-spec-design.md +6 -0
  46. package/template/.claude/commands/write-be-spec-classify.md +6 -0
  47. package/template/.claude/commands/write-be-spec-write.md +6 -0
  48. package/template/.claude/commands/write-fe-spec-classify.md +6 -0
  49. package/template/.claude/commands/write-fe-spec-write.md +6 -0
  50. package/template/.claude/skills/accessibility/SKILL.md +522 -0
  51. package/template/.claude/skills/accessibility/references/WCAG.md +162 -0
  52. package/template/.claude/skills/accessibility/references/ia-spec-checklist.md +35 -0
  53. package/template/.claude/skills/adversarial-review/SKILL.md +90 -0
  54. package/template/.claude/skills/antigravity-workflows/SKILL.md +81 -0
  55. package/template/.claude/skills/antigravity-workflows/resources/implementation-playbook.md +36 -0
  56. package/template/.claude/skills/api-design-principles/SKILL.md +169 -0
  57. package/template/.claude/skills/api-design-principles/assets/api-design-checklist.md +155 -0
  58. package/template/.claude/skills/api-design-principles/assets/rest-api-template.py +182 -0
  59. package/template/.claude/skills/api-design-principles/references/graphql-schema-design.md +583 -0
  60. package/template/.claude/skills/api-design-principles/references/rest-best-practices.md +408 -0
  61. package/template/.claude/skills/api-design-principles/resources/implementation-playbook.md +513 -0
  62. package/template/.claude/skills/api-versioning/SKILL.md +166 -0
  63. package/template/.claude/skills/api-versioning/references/typescript.md +157 -0
  64. package/template/.claude/skills/architecture-mapping/SKILL.md +219 -0
  65. package/template/.claude/skills/bootstrap-agents/SKILL.md +258 -0
  66. package/template/.claude/skills/brainstorming/SKILL.md +177 -0
  67. package/template/.claude/skills/brand-guidelines/SKILL.md +44 -0
  68. package/template/.claude/skills/clean-code/SKILL.md +196 -0
  69. package/template/.claude/skills/clean-code/references/typescript.md +126 -0
  70. package/template/.claude/skills/code-review-pro/SKILL.md +152 -0
  71. package/template/.claude/skills/concise-planning/SKILL.md +107 -0
  72. package/template/.claude/skills/cross-layer-consistency/SKILL.md +117 -0
  73. package/template/.claude/skills/database-schema-design/SKILL.md +205 -0
  74. package/template/.claude/skills/database-schema-design/references/relational.md +228 -0
  75. package/template/.claude/skills/deployment-procedures/SKILL.md +241 -0
  76. package/template/.claude/skills/design-anti-cliche/SKILL.md +159 -0
  77. package/template/.claude/skills/design-direction/SKILL.md +45 -0
  78. package/template/.claude/skills/error-handling-patterns/SKILL.md +226 -0
  79. package/template/.claude/skills/error-handling-patterns/references/go.md +162 -0
  80. package/template/.claude/skills/error-handling-patterns/references/python.md +262 -0
  81. package/template/.claude/skills/error-handling-patterns/references/rust.md +112 -0
  82. package/template/.claude/skills/error-handling-patterns/references/typescript.md +178 -0
  83. package/template/.claude/skills/find-skills/SKILL.md +145 -0
  84. package/template/.claude/skills/git-advanced/SKILL.md +972 -0
  85. package/template/.claude/skills/git-workflow/SKILL.md +420 -0
  86. package/template/.claude/skills/idea-extraction/SKILL.md +644 -0
  87. package/template/.claude/skills/logging-best-practices/SKILL.md +192 -0
  88. package/template/.claude/skills/logging-best-practices/references/go.md +49 -0
  89. package/template/.claude/skills/logging-best-practices/references/python.md +52 -0
  90. package/template/.claude/skills/logging-best-practices/references/typescript.md +215 -0
  91. package/template/.claude/skills/migration-management/SKILL.md +200 -0
  92. package/template/.claude/skills/migration-management/references/relational.md +214 -0
  93. package/template/.claude/skills/minimalist-surgical-development/SKILL.md +135 -0
  94. package/template/.claude/skills/parallel-agents/SKILL.md +165 -0
  95. package/template/.claude/skills/parallel-debugging/SKILL.md +135 -0
  96. package/template/.claude/skills/parallel-feature-development/SKILL.md +157 -0
  97. package/template/.claude/skills/performance-budgeting/SKILL.md +144 -0
  98. package/template/.claude/skills/pipeline-rubrics/SKILL.md +51 -0
  99. package/template/.claude/skills/pipeline-rubrics/references/architecture-rubric.md +19 -0
  100. package/template/.claude/skills/pipeline-rubrics/references/be-rubric.md +21 -0
  101. package/template/.claude/skills/pipeline-rubrics/references/fe-rubric.md +20 -0
  102. package/template/.claude/skills/pipeline-rubrics/references/ia-rubric.md +19 -0
  103. package/template/.claude/skills/pipeline-rubrics/references/scoring.md +32 -0
  104. package/template/.claude/skills/pipeline-rubrics/references/vision-rubric.md +12 -0
  105. package/template/.claude/skills/prd-templates/SKILL.md +107 -0
  106. package/template/.claude/skills/prd-templates/references/architecture-completeness-checklist.md +28 -0
  107. package/template/.claude/skills/prd-templates/references/architecture-design-template.md +88 -0
  108. package/template/.claude/skills/prd-templates/references/be-spec-classification.md +41 -0
  109. package/template/.claude/skills/prd-templates/references/be-spec-template.md +107 -0
  110. package/template/.claude/skills/prd-templates/references/bootstrap-verification-protocol.md +50 -0
  111. package/template/.claude/skills/prd-templates/references/constraint-exploration.md +41 -0
  112. package/template/.claude/skills/prd-templates/references/data-placement-template.md +74 -0
  113. package/template/.claude/skills/prd-templates/references/decision-confirmation-protocol.md +68 -0
  114. package/template/.claude/skills/prd-templates/references/decision-propagation.md +121 -0
  115. package/template/.claude/skills/prd-templates/references/decomposition-templates.md +226 -0
  116. package/template/.claude/skills/prd-templates/references/deep-ideation-loading-protocol.md +114 -0
  117. package/template/.claude/skills/prd-templates/references/design-system-decisions.md +198 -0
  118. package/template/.claude/skills/prd-templates/references/design-system-prerequisite-check.md +18 -0
  119. package/template/.claude/skills/prd-templates/references/domain-exhaustion-criteria.md +37 -0
  120. package/template/.claude/skills/prd-templates/references/engagement-tier-protocol.md +58 -0
  121. package/template/.claude/skills/prd-templates/references/engineering-standards-template.md +126 -0
  122. package/template/.claude/skills/prd-templates/references/evolution-layer-guidance.md +91 -0
  123. package/template/.claude/skills/prd-templates/references/expansion-modes.md +27 -0
  124. package/template/.claude/skills/prd-templates/references/fe-classification-procedures.md +47 -0
  125. package/template/.claude/skills/prd-templates/references/fe-spec-template.md +90 -0
  126. package/template/.claude/skills/prd-templates/references/feature-ledger-protocol.md +149 -0
  127. package/template/.claude/skills/prd-templates/references/folder-seeding-protocol.md +77 -0
  128. package/template/.claude/skills/prd-templates/references/fractal-cx-template.md +58 -0
  129. package/template/.claude/skills/prd-templates/references/fractal-feature-template.md +93 -0
  130. package/template/.claude/skills/prd-templates/references/fractal-node-index-template.md +55 -0
  131. package/template/.claude/skills/prd-templates/references/gate-applicability.md +92 -0
  132. package/template/.claude/skills/prd-templates/references/ideation-crosscut-template.md +36 -0
  133. package/template/.claude/skills/prd-templates/references/ideation-index-template.md +111 -0
  134. package/template/.claude/skills/prd-templates/references/ideation-meta-template.md +126 -0
  135. package/template/.claude/skills/prd-templates/references/infrastructure-report-template.md +71 -0
  136. package/template/.claude/skills/prd-templates/references/input-classification.md +23 -0
  137. package/template/.claude/skills/prd-templates/references/map-guard-protocol.md +65 -0
  138. package/template/.claude/skills/prd-templates/references/operational-templates.md +116 -0
  139. package/template/.claude/skills/prd-templates/references/persona-completeness-gate.md +20 -0
  140. package/template/.claude/skills/prd-templates/references/placeholder-guard-template.md +21 -0
  141. package/template/.claude/skills/prd-templates/references/placeholder-workflow-mapping.md +50 -0
  142. package/template/.claude/skills/prd-templates/references/shard-boundary-analysis.md +103 -0
  143. package/template/.claude/skills/prd-templates/references/shard-split-remediation.md +157 -0
  144. package/template/.claude/skills/prd-templates/references/skill-loading-protocol.md +36 -0
  145. package/template/.claude/skills/prd-templates/references/slice-completion-gates.md +29 -0
  146. package/template/.claude/skills/prd-templates/references/spec-coverage-sweep.md +44 -0
  147. package/template/.claude/skills/prd-templates/references/surface-model.md +61 -0
  148. package/template/.claude/skills/prd-templates/references/tdd-testing-policy.md +39 -0
  149. package/template/.claude/skills/prd-templates/references/vision-template.md +57 -0
  150. package/template/.claude/skills/prd-templates/references/workflow-checkpoint-protocol.md +112 -0
  151. package/template/.claude/skills/prd-templates/references/write-verification-protocol.md +57 -0
  152. package/template/.claude/skills/prompt-engineer/SKILL.md +203 -0
  153. package/template/.claude/skills/regex-patterns/SKILL.md +333 -0
  154. package/template/.claude/skills/regex-patterns/references/go.md +44 -0
  155. package/template/.claude/skills/regex-patterns/references/javascript.md +63 -0
  156. package/template/.claude/skills/regex-patterns/references/python.md +77 -0
  157. package/template/.claude/skills/regex-patterns/references/rust.md +43 -0
  158. package/template/.claude/skills/resolve-ambiguity/SKILL.md +278 -0
  159. package/template/.claude/skills/security-scanning-security-hardening/SKILL.md +231 -0
  160. package/template/.claude/skills/session-continuity/SKILL.md +732 -0
  161. package/template/.claude/skills/session-continuity/protocols/01-session-resumption.md +38 -0
  162. package/template/.claude/skills/session-continuity/protocols/02-progress-generation.md +85 -0
  163. package/template/.claude/skills/session-continuity/protocols/03-progress-update.md +70 -0
  164. package/template/.claude/skills/session-continuity/protocols/04-pattern-extraction.md +60 -0
  165. package/template/.claude/skills/session-continuity/protocols/05-session-close.md +37 -0
  166. package/template/.claude/skills/session-continuity/protocols/06-decision-analysis.md +84 -0
  167. package/template/.claude/skills/session-continuity/protocols/07-spec-pipeline-generation.md +48 -0
  168. package/template/.claude/skills/session-continuity/protocols/08-spec-pipeline-update.md +55 -0
  169. package/template/.claude/skills/session-continuity/protocols/09-parallel-claim.md +122 -0
  170. package/template/.claude/skills/session-continuity/protocols/10-placeholder-verification-gate.md +83 -0
  171. package/template/.claude/skills/session-continuity/protocols/11-parallel-synthesis.md +21 -0
  172. package/template/.claude/skills/session-continuity/protocols/ambiguity-gates.md +48 -0
  173. package/template/.claude/skills/skill-creator/SKILL.md +203 -0
  174. package/template/.claude/skills/skill-creator/references/.gitkeep +0 -0
  175. package/template/.claude/skills/skill-creator/scripts/.gitkeep +0 -0
  176. package/template/.claude/skills/spec-writing/SKILL.md +110 -0
  177. package/template/.claude/skills/systematic-debugging/CREATION-LOG.md +119 -0
  178. package/template/.claude/skills/systematic-debugging/SKILL.md +297 -0
  179. package/template/.claude/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
  180. package/template/.claude/skills/systematic-debugging/condition-based-waiting.md +115 -0
  181. package/template/.claude/skills/systematic-debugging/defense-in-depth.md +122 -0
  182. package/template/.claude/skills/systematic-debugging/find-polluter.sh +63 -0
  183. package/template/.claude/skills/systematic-debugging/root-cause-tracing.md +169 -0
  184. package/template/.claude/skills/systematic-debugging/test-academic.md +14 -0
  185. package/template/.claude/skills/systematic-debugging/test-pressure-1.md +58 -0
  186. package/template/.claude/skills/systematic-debugging/test-pressure-2.md +68 -0
  187. package/template/.claude/skills/systematic-debugging/test-pressure-3.md +69 -0
  188. package/template/.claude/skills/tdd-workflow/SKILL.md +186 -0
  189. package/template/.claude/skills/tdd-workflow/references/typescript.md +231 -0
  190. package/template/.claude/skills/tech-stack-catalog/SKILL.md +49 -0
  191. package/template/.claude/skills/tech-stack-catalog/references/constraint-questions.md +237 -0
  192. package/template/.claude/skills/tech-stack-catalog/references/dev-tooling-decisions.md +37 -0
  193. package/template/.claude/skills/tech-stack-catalog/references/surface-decision-tables.md +69 -0
  194. package/template/.claude/skills/technical-writer/SKILL.md +242 -0
  195. package/template/.claude/skills/testing-strategist/SKILL.md +319 -0
  196. package/template/.claude/skills/testing-strategist/references/typescript.md +328 -0
  197. package/template/.claude/skills/verification-before-completion/SKILL.md +97 -0
  198. package/template/.claude/skills/workflow-automation/SKILL.md +166 -0
  199. package/template/.claude/skills/workflow-automation/references/inngest.md +88 -0
  200. package/template/.claude/skills/workflow-automation/references/temporal.md +64 -0
@@ -0,0 +1,226 @@
1
+ # Decomposition Templates
2
+
3
+ Templates for shard skeletons and layer indexes created during `/decompose-architecture-structure`.
4
+
5
+ ---
6
+
7
+ ## Shard Skeleton
8
+
9
+ For each shard, create at `docs/plans/ia/[NN-domain-name].md`:
10
+
11
+ ```markdown
12
+ # [Shard ##] — [Domain Name]
13
+
14
+ > **Architecture Source**: [link to architecture-design.md]
15
+ > **Status**: Skeleton | Draft | Review | Complete
16
+
17
+ ## Overview
18
+ [1-2 sentence description of this domain's scope]
19
+
20
+ ## Features
21
+ [Level-1 sub-features from the relevant ideation domain folder for this domain. Check `ideation-index.md` Structure Map for the correct folder path — folders are under `domains/` or `surfaces/{name}/`. Read the folder's `*-index.md` for the children table, then each child feature file. NOT architecture-level headlines. See /decompose-architecture-structure Step 5 for seeding instructions.]
22
+
23
+ ## User Interactions
24
+ [To be filled during /write-architecture-spec]
25
+
26
+ ## Data Model
27
+ [To be filled during /write-architecture-spec]
28
+
29
+ ## Access Control
30
+ [To be filled during /write-architecture-spec]
31
+
32
+ ## Accessibility
33
+
34
+ <!-- Filled by /write-architecture-spec-design Step 5.5 -->
35
+ <!-- For web/mobile/desktop surfaces: WCAG 2.1 AA requirements per interaction -->
36
+ <!-- For api/cli/extension only: "Not applicable — no visual surfaces" -->
37
+
38
+ ## Edge Cases
39
+ [To be filled during /write-architecture-spec]
40
+
41
+ ## Surface Applicability
42
+ <!-- Populated during decomposition from architecture design's Project Surfaces -->
43
+ | Surface | Applicable | Notes |
44
+ |---------|-----------|-------|
45
+ | [populated from architecture design] | | |
46
+
47
+ > `all` shorthand: If the shard applies to every surface, write `Surfaces: all` instead of the table.
48
+
49
+ ## Cross-Shard Dependencies
50
+ [List which other shards this one depends on or is depended upon by]
51
+
52
+ ## Deep Dives Needed
53
+ [List any features complex enough to warrant a separate deep dive document]
54
+
55
+ ## Changelog
56
+
57
+ | Date | Change | Workflow | Sections Affected |
58
+ |------|--------|----------|-------------------|
59
+ | [date] | Initial creation | /decompose-architecture-structure | All |
60
+ ```
61
+
62
+ ---
63
+
64
+ ## IA Index
65
+
66
+ Create at `docs/plans/ia/index.md`:
67
+
68
+ ```markdown
69
+ # IA Layer — Information Architecture
70
+
71
+ > **Architecture Source**: [link to architecture-design.md]
72
+
73
+ ## Reading Order
74
+
75
+ Read cross-cutting shards first, then feature shards in numerical order.
76
+
77
+ ## Shards
78
+
79
+ | # | Shard | Surfaces | Status | Deep Dives |
80
+ |---|-------|----------|--------|------------|
81
+ | 00 | [00-shard-name.md](00-shard-name.md) | all | 🔲 | — |
82
+ | 01 | [01-shard-name.md](01-shard-name.md) | web, mobile | 🔲 | — |
83
+ | ... | ... | ... | ... | ... |
84
+
85
+ ## Conventions
86
+
87
+ - Every shard must define: features, user interactions, data model, access control, accessibility, edge cases
88
+ - Cross-shard dependencies must be bidirectional (if A references B, B must reference A)
89
+ - Complex features get a separate deep dive in `deep-dives/`
90
+ - Status: 🔲 Skeleton → 📝 Draft → 👀 Review → ✅ Complete
91
+ ```
92
+
93
+ ---
94
+
95
+ ## BE Index Skeleton
96
+
97
+ Create at `docs/plans/be/index.md`:
98
+
99
+ ```markdown
100
+ # BE Layer — Backend Specifications
101
+
102
+ > **IA Source**: [link to ia/index.md]
103
+
104
+ ## Reading Order
105
+
106
+ Read cross-cutting specs first, then feature specs in numerical order.
107
+
108
+ ## Conventions Template
109
+
110
+ Every BE spec MUST include:
111
+ - API Endpoints (method, path, description)
112
+ - Request/Response Contracts ({{CONTRACT_LIBRARY}} schemas)
113
+ - Database Schema (tables, fields, indexes, permissions)
114
+ - Middleware & Policies (auth, rate limits, validation)
115
+ - Data Flow (request lifecycle)
116
+ - Error Handling (specific error codes, not generic 500s)
117
+ - IA Source Map (which IA shard sections and deep dives inform each part)
118
+
119
+ ## Shard-to-Spec Mapping
120
+
121
+ Populated by `/write-be-spec`. Mapping depends on shard document type
122
+ (classified during `/write-architecture-spec`):
123
+
124
+ | IA Shard | Type | BE Spec(s) | Status |
125
+ |----------|------|-----------|--------|
126
+ | *(populated by /write-be-spec)* | | | |
127
+ ```
128
+
129
+ ---
130
+
131
+ ## FE Index Skeleton
132
+
133
+ Create at `docs/plans/fe/index.md`:
134
+
135
+ ```markdown
136
+ # FE Layer — Frontend Specifications
137
+
138
+ > **BE Source**: [link to be/index.md]
139
+
140
+ ## Reading Order
141
+
142
+ Read cross-cutting specs first, then feature specs in numerical order.
143
+
144
+ ## Conventions Template
145
+
146
+ Every FE spec MUST include:
147
+ - Component Inventory (tree with props interfaces)
148
+ - Page/Route Definitions (URL patterns, guards, redirects)
149
+ - State Management (server state, client state, URL state)
150
+ - Interaction Specification (click, hover, keyboard, form validation)
151
+ - Responsive Behavior (breakpoints, component behavior)
152
+ - Accessibility (ARIA roles, keyboard navigation, screen reader)
153
+ - Loading/Error/Empty States
154
+ - Source Map (traceability to BE spec and IA shard sections)
155
+
156
+ ## Spec-to-Source Mapping
157
+
158
+ Populated by `/write-fe-spec`. FE specs are organized by UI surface, not backend boundary:
159
+
160
+ | # | FE Spec | BE Source(s) | IA Source | Status |
161
+ |---|---------|-------------|-----------|--------|
162
+ | *(populated by /write-fe-spec)* | | | | |
163
+ ```
164
+
165
+ ---
166
+
167
+ ## Master Index — Single-Surface
168
+
169
+ Create or update `docs/plans/index.md`:
170
+
171
+ ```markdown
172
+ # [Project Name] — Specification Index
173
+
174
+ ## Documents
175
+
176
+ | Document | Description | Status |
177
+ |----------|-------------|--------|
178
+ | [Ideation](ideation/ideation-index.md) | Problem, personas, features, constraints, domain map | ✅ |
179
+ | [Architecture Design](YYYY-MM-DD-architecture-design.md) | Tech stack, system design, security | ✅ |
180
+
181
+ ## Specification Layers
182
+
183
+ | Layer | Index | Purpose | Specs |
184
+ |-------|-------|---------|-------|
185
+ | **IA** | [ia/index.md](ia/index.md) | Features, interactions, data models, access control | N shards |
186
+ | **BE** | [be/index.md](be/index.md) | API endpoints, contracts, database schemas, middleware | N specs |
187
+ | **FE** | [fe/index.md](fe/index.md) | Components, routing, state, interactions, a11y | N specs |
188
+ ```
189
+
190
+ ## Master Index — Multi-Surface
191
+
192
+ ```markdown
193
+ # [Project Name] — Specification Index
194
+
195
+ ## Documents
196
+
197
+ | Document | Description | Status |
198
+ |----------|-------------|--------|
199
+ | [Ideation](ideation/ideation-index.md) | Problem, personas, features, constraints, domain map | ✅ |
200
+ | [Architecture Design](YYYY-MM-DD-architecture-design.md) | Tech stack, system design, security | ✅ |
201
+
202
+ ## IA Layer (shared across all surfaces)
203
+
204
+ | Layer | Index | Purpose | Shards |
205
+ |-------|-------|---------|--------|
206
+ | **IA** | [ia/index.md](ia/index.md) | Features, interactions, data models, access control | N shards |
207
+
208
+ > IA shards are domain-based, not surface-based. Each shard declares its surface applicability.
209
+
210
+ ## Per-Surface Layers
211
+
212
+ | Surface | BE Index | FE Index | Description |
213
+ |---------|----------|----------|-------------|
214
+ | **Shared** | [be/index.md](be/index.md) | [fe/index.md](fe/index.md) | Cross-surface contracts (pre-scaffolded dirs) |
215
+ | **[Surface 1]** | [be/surface-1/index.md](be/surface-1/index.md) | [fe/surface-1/index.md](fe/surface-1/index.md) | [description] |
216
+ | **[Surface 2]** | [be/surface-2/index.md](be/surface-2/index.md) | [fe/surface-2/index.md](fe/surface-2/index.md) | [description] |
217
+
218
+ ## Pipeline
219
+
220
+ IA shards (shared) → per-surface BE specs → per-surface FE specs → audit → plan → implement → validate
221
+
222
+ Shared BE specs must be completed first — surface-specific specs depend on them.
223
+ ```
224
+
225
+ Each surface's own `index.md` contains BE/FE tables scoped to that surface.
226
+ IA shards are referenced from the shared `ia/index.md` — filtered by the shard's Surface Applicability.
@@ -0,0 +1,114 @@
1
+ # Deep Ideation Loading Protocol
2
+
3
+ > **Purpose**: When ideation output is large (many domains, many features), the single `ideation-index.md` summary is insufficient for downstream architecture decisions. This protocol reads domain-level index files to build a structured **Domain Digest Table** that captures every feature, role assignment, and decision without requiring the agent to hold hundreds of leaf-level files in context.
4
+
5
+ ## When to Invoke
6
+
7
+ **Always invoke** this protocol when ANY of these thresholds are met (read from the `## Progress Summary` table in `ideation-index.md`):
8
+
9
+ | Metric | Threshold |
10
+ |--------|-----------|
11
+ | Total domains | ≥ 6 |
12
+ | Total leaf features | ≥ 50 |
13
+ | Total surfaces | ≥ 2 (multi-product projects) |
14
+
15
+ If none of these thresholds are met, the standard `ideation-index.md` read is sufficient — skip this protocol.
16
+
17
+ ## Procedure
18
+
19
+ ### Step 1 — Enumerate domain folders
20
+
21
+ Read the `## Structure Map` in `ideation-index.md`. For each row in the domain tables, record:
22
+ - Domain number and name
23
+ - Path to the domain folder
24
+ - Status (`[SURFACE]`, `[BREADTH]`, `[DEEP]`, `[EXHAUSTED]`)
25
+ - Child count (from the "Children" column)
26
+ - Surface (for multi-product projects)
27
+
28
+ This produces a **domain enumeration list** — typically 6-20 entries.
29
+
30
+ ### Step 2 — Read each domain index
31
+
32
+ For each domain in the enumeration list, read `{domain-folder}/{domain}-index.md`. Extract:
33
+
34
+ 1. **Children table** — every sub-domain and feature with: number, name, type, status, depth
35
+ 2. **Role Matrix** — which personas have access to which children, and at what level (Full / Config / Read-only / Reports / None)
36
+ 3. **Decision Log** — any product decisions made during ideation for this domain
37
+ 4. **Open Questions** — deferred questions tagged for downstream stages
38
+
39
+ > **Context management**: Read domain indexes one at a time. Extract the structured data, then move to the next. Do not attempt to hold all domain indexes simultaneously.
40
+
41
+ ### Step 3 — Read CX files for cross-domain dependencies
42
+
43
+ Read `ideation-cx.md` (global cross-cuts) and each domain-level `{domain}-cx.md`. Extract:
44
+ - Cross-domain data dependencies (which entities are shared)
45
+ - Trigger chains (domain A event → domain B action)
46
+ - Shared entity ownership
47
+
48
+ ### Step 4 — Build the Domain Digest Table
49
+
50
+ Compile the extracted data into a structured table:
51
+
52
+ ```markdown
53
+ ## Ideation Digest
54
+
55
+ > Auto-generated by the Deep Ideation Loading Protocol. Source: domain-level index files.
56
+ > This section is the primary source for entity identification, data strategy, and phasing decisions.
57
+
58
+ ### Domain Summary
59
+
60
+ | # | Domain | Surface | Features | Sub-domains | Depth | Must Have | Roles | Key Entities |
61
+ |---|--------|---------|----------|-------------|-------|----------|-------|-------------|
62
+ | 01 | {name} | {surface} | {N} | {N} | {status} | {N} | {list} | {entity hints} |
63
+
64
+ ### Cross-Domain Dependencies
65
+
66
+ | Source Domain | Target Domain | Type | Shared Entities |
67
+ |--------------|--------------|------|----------------|
68
+ | {source} | {target} | data / trigger / permission | {entities} |
69
+
70
+ ### Ideation Decisions (from domain logs)
71
+
72
+ | # | Domain | Decision | Impact |
73
+ |---|--------|----------|--------|
74
+ | D-{NN} | {domain} | {decision} | {what this affects downstream} |
75
+
76
+ ### Deferred Questions (tagged for /create-prd)
77
+
78
+ | # | Domain | Question | Owner |
79
+ |---|--------|----------|-------|
80
+ | Q-{NN} | {domain} | {question} | /create-prd |
81
+ ```
82
+
83
+ ### Step 5 — Derive Key Entities column
84
+
85
+ For each domain, scan the Children table for entity hints:
86
+ - Feature names that imply data objects (e.g., "Device History" → `Device`, `RepairRecord`)
87
+ - Role Matrix intersections that imply access-controlled resources
88
+ - Cross-cut shared entities from CX files
89
+
90
+ List the implied entities in the "Key Entities" column. These are **hints**, not schema — they inform data strategy without prescribing it.
91
+
92
+ ### Step 6 — Write to architecture-draft.md
93
+
94
+ Write the completed Domain Digest Table to `docs/plans/architecture-draft.md` as the first section (`## Ideation Digest`). If the file doesn't exist yet, create it with this section.
95
+
96
+ > **Write immediately.** Do not hold the digest in memory — write it to disk as soon as it's compiled. All subsequent create-prd shards read from `architecture-draft.md`.
97
+
98
+ ## Downstream Consumption
99
+
100
+ | Consumer | What It Uses |
101
+ |----------|-------------|
102
+ | `create-prd-architecture` (Step 5: Data strategy) | Key Entities column → entity identification; Cross-Domain Dependencies → data ownership and sync |
103
+ | `create-prd-compile` (Step 9: Phasing) | Features + Must Have counts → phase complexity sizing; Sub-domain counts → dependency ordering |
104
+ | `create-prd-security` | Roles column → access control scope; Cross-Domain Dependencies → trust boundaries |
105
+
106
+ ## Anti-Patterns
107
+
108
+ | ❌ Wrong | ✅ Right |
109
+ |---------|---------|
110
+ | Reading all 295 leaf-level feature files | Reading 8-20 domain index files |
111
+ | Skipping this protocol because "ideation-index.md has a summary" | Invoking when thresholds are met — summaries lose detail |
112
+ | Deriving entities from the MoSCoW bullet list | Deriving entities from the Children tables + CX dependencies |
113
+ | Holding all domain indexes in context simultaneously | Reading one at a time, extracting structured data, moving on |
114
+ | Writing the digest at the end of create-prd | Writing it to architecture-draft.md immediately in Step 1.5 |
@@ -0,0 +1,198 @@
1
+ # Design System Decision Options & Output Template
2
+
3
+ Reference material for the `/create-prd-design-system` workflow. Contains option menus for all seven decisions and the canonical output template for `docs/plans/design-system.md`.
4
+
5
+ ---
6
+
7
+ ## Navigation Paradigm Options
8
+
9
+ ### Web surfaces
10
+
11
+ - **Sidebar + topnav** — Collapsible sidebar for section nav, top bar for global actions. Good for complex apps with deep IA; competes with content width on small screens.
12
+ - **Tab bar (app-style)** — Horizontal tab bar, web app feels like a native app. Limited to 5–7 top-level destinations; unfamiliar on traditional websites.
13
+ - **Full-page transitions** — Each section is a full-page view with navigation between pages. Poor for frequent cross-section navigation; high cognitive load for data-heavy apps.
14
+ - **Command palette primary** — Keyboard-first navigation with minimal visible chrome. High power-user efficiency; steep learning curve, requires discoverability affordances.
15
+ - **Minimal/none** — No persistent navigation; content-first with contextual links. Clean and focused; users may feel lost without orientation cues.
16
+
17
+ ### Mobile surfaces
18
+
19
+ - **Bottom tab bar** — iOS/Android standard, 3–5 tabs at screen bottom. Limited to 5 top-level destinations; thumb-friendly.
20
+ - **Drawer + top header** — Slide-out drawer with a persistent top header bar. Supports many sections; discoverability issues — out of sight, out of mind.
21
+ - **Stack navigation only** — Linear forward/back navigation with no persistent tabs. No quick access to unrelated sections; relies on back button.
22
+ - **Tab bar + stack hybrid** — Bottom tabs for top-level sections, stack navigation within each tab. Combines discoverability with depth; tab count still limited.
23
+
24
+ ### Desktop (native) surfaces
25
+
26
+ - **Menu bar + sidebar** — OS-native menu bar with sidebar panel. Platform-specific conventions differ (macOS vs Windows vs Linux).
27
+ - **Ribbon (Office-style)** — Grouped toolbar with tabbed ribbon. Heavy initial learning curve; takes vertical space.
28
+ - **Panel system** — Draggable/dockable panels with customizable layout. Window management complexity; steep learning curve.
29
+ - **Sidebar only** — Vertical sidebar as sole navigation element. No menu bar discoverability for infrequent actions.
30
+
31
+ ---
32
+
33
+ ## Page Archetype Options
34
+
35
+ | Archetype | Description | Typical Layout Zones |
36
+ |-----------|-------------|---------------------|
37
+ | **Dashboard** | Data overview with cards/charts | Nav zone · Summary strip · Grid/card zone · Detail panel |
38
+ | **List → Detail** | Browse items, select to view/edit | Nav zone · Filter bar · List zone · Detail zone |
39
+ | **Form** | Multi-step or single-page data entry | Nav zone · Form zone · Action bar |
40
+ | **Content/Article** | Long-form reading with optional sidebar | Nav zone · Content zone · Sidebar/TOC zone |
41
+ | **Settings** | Tabbed or sectioned preference panels | Nav zone · Section nav · Settings zone |
42
+ | **Empty/Onboarding** | First-run or zero-data state | Nav zone · Illustration zone · CTA zone |
43
+ | **Auth** | Login/signup/password-reset | Centered card zone · Background zone |
44
+ | **Error** | 404/500/offline states | Nav zone · Error illustration zone · Recovery CTA |
45
+
46
+ ### Example wireframe (Dashboard archetype)
47
+
48
+ ```
49
+ ┌─────────────────────────────────────┐
50
+ │ Nav Zone │
51
+ ├────────┬────────────────────────────┤
52
+ │ │ Summary Strip │
53
+ │ Side ├────────────────────────────┤
54
+ │ bar │ │
55
+ │ Zone │ Content Zone │
56
+ │ │ │
57
+ ├────────┴────────────────────────────┤
58
+ │ Action Bar │
59
+ └─────────────────────────────────────┘
60
+ ```
61
+
62
+ ---
63
+
64
+ ## Global Component Categories
65
+
66
+ - **Navigation components** — derived from the navigation paradigm (e.g., TopNav, Sidebar, BottomTabBar, Breadcrumb)
67
+ - **Layout components** — derived from archetypes (e.g., PageShell, ContentArea, Sidebar, ActionBar)
68
+ - **Feedback components** — Loading skeleton, Toast, ErrorBoundary, EmptyState
69
+ - **Form primitives** — Input, Select, Checkbox, Radio, TextArea, DatePicker, FileUpload
70
+ - **Data display** — Table, Card, Badge, Avatar, Stat, Chart container
71
+ - **Overlay components** — Modal, Drawer, Popover, Tooltip, ContextMenu
72
+ - **Action components** — Button, IconButton, Link, Dropdown menu
73
+
74
+ ---
75
+
76
+ ## Motion Language Options
77
+
78
+ | Level | Description | Typical Durations | Use When |
79
+ |-------|-------------|-------------------|----------|
80
+ | **Instant** | No transitions — all state changes are immediate | 0ms | Performance-critical tools, terminal UIs, accessibility-first products |
81
+ | **Subtle** | Micro-transitions only — fades and opacity shifts | 100–150ms ease-out | Productivity tools, data-dense dashboards, professional/enterprise apps |
82
+ | **Balanced** | Purposeful transitions for navigation and state changes | 150–300ms ease-in-out | Most consumer apps, SaaS products, general-purpose UIs |
83
+ | **Rich** | Expressive animations — page transitions, element choreography, spring physics | 200–500ms spring/cubic-bezier | Marketing sites, creative tools, consumer apps where delight matters |
84
+
85
+ > **Mandatory regardless of level**: All motion must respect `prefers-reduced-motion: reduce`. When reduced motion is active, all animations collapse to instant (0ms) or opacity-only transitions (≤100ms).
86
+
87
+ ---
88
+
89
+ ## Data Density Options
90
+
91
+ | Philosophy | Description | Best For | Characteristics |
92
+ |------------|-------------|----------|-----------------|
93
+ | **Compact** | Maximum information per viewport — tight spacing, smaller text, dense tables | Data-heavy dashboards, admin panels, developer tools | 12–14px body text, 4–8px element spacing, minimal whitespace |
94
+ | **Spacious** | Generous whitespace, larger text, breathing room between elements | Consumer apps, marketing, content-focused products | 16–18px body text, 16–24px element spacing, generous padding |
95
+ | **Hybrid** | Context-dependent — compact for data tables/lists, spacious for forms/content | Apps mixing data overview with detail editing | Defined rules for when each density applies |
96
+
97
+ If **Hybrid** is selected, ask the user to define the density rules:
98
+ - Which archetypes get compact density?
99
+ - Which archetypes get spacious density?
100
+ - What is the transition behavior between densities?
101
+
102
+ ---
103
+
104
+ ## Global State Design Language Options
105
+
106
+ ### Loading states
107
+
108
+ | Option | Description | Best For |
109
+ |--------|-------------|----------|
110
+ | **Skeleton screens** | Grey placeholder shapes matching the expected layout | Content-heavy pages where layout stability matters |
111
+ | **Spinner/shimmer** | Centered spinner or shimmer overlay | Simple actions, modals, inline operations |
112
+ | **Progressive** | Skeleton for page-level, spinner for component-level operations | Complex apps with mixed loading contexts |
113
+
114
+ ### Error states
115
+
116
+ - **Inline** — Error message appears near the failed element (forms, field validation)
117
+ - **Toast** — Transient notification for non-blocking errors (network retry, background sync)
118
+ - **Full-page** — Dedicated error page (404, 500, offline)
119
+ - **Error boundary** — Component-level fallback UI (prevents cascade, isolates failure)
120
+
121
+ ### Empty states
122
+
123
+ - **Illustration + copy** — Custom illustration with descriptive text and CTA
124
+ - **Minimal** — Text-only with action link
125
+ - **Contextual** — Different empty states per archetype (empty dashboard vs. empty list)
126
+
127
+ **Copy tone**: Helpful / Playful / Neutral — must align with the confirmed design direction.
128
+
129
+ ---
130
+
131
+ ## design-system.md Output Template
132
+
133
+ The final `docs/plans/design-system.md` must have this exact structure:
134
+
135
+ ```markdown
136
+ # Design System
137
+
138
+ > **Confirmed Design Direction**: [confirmed direction from brand-guidelines]
139
+ > **Date**: [YYYY-MM-DD]
140
+ > **Status**: Locked
141
+
142
+ ## Navigation Paradigm
143
+ [Confirmed paradigm with rationale]
144
+ [Surface-specific notes if multi-surface project]
145
+
146
+ ## Layout Grid
147
+
148
+ | Breakpoint | Columns | Gutter | Max Width |
149
+ |------------|---------|--------|-----------|
150
+ | Mobile (≤768px) | [confirmed] | [confirmed] | [confirmed] |
151
+ | Tablet (769–1024px) | [confirmed] | [confirmed] | [confirmed] |
152
+ | Desktop (≥1025px) | [confirmed] | [confirmed] | [confirmed] |
153
+
154
+ **Grid type**: [confirmed]
155
+
156
+ ## Page Archetypes
157
+
158
+ ### [Archetype Name]
159
+ **Layout zones**: [nav] | [content] | [sidebar] | [action]
160
+ [Optional: ASCII wireframe for additional clarity]
161
+
162
+ [repeat for each confirmed archetype]
163
+
164
+ ## Global Component Inventory
165
+ - `<ComponentName>` — [what it does / what it renders]
166
+ - `<ComponentName>` — [what it does / what it renders]
167
+ [repeat for each confirmed global component]
168
+
169
+ ## Motion Language
170
+ **Style**: [confirmed style — Instant / Subtle / Balanced / Rich]
171
+ **Default duration**: [confirmed duration range]
172
+ **Default easing**: [confirmed easing function]
173
+ **Interaction transitions**: [confirmed interaction transition behavior]
174
+ **Reduced-motion policy**: All animations disabled when `prefers-reduced-motion: reduce` is active.
175
+
176
+ ## Data Density Philosophy
177
+ **Default density**: [confirmed density — Compact / Spacious / Hybrid]
178
+ **Rules**: [when each density applies — per archetype if hybrid]
179
+
180
+ ## Global State Design Language
181
+
182
+ ### Loading States
183
+ - **Skeleton screens**: use when [confirmed rule]
184
+ - **Spinner/shimmer**: use when [confirmed rule]
185
+ - **Progressive**: use when [confirmed rule]
186
+
187
+ ### Error States
188
+ - **Inline errors**: use when [confirmed rule — e.g., form field validation]
189
+ - **Toast errors**: use when [confirmed rule — e.g., non-blocking network errors]
190
+ - **Full-page errors**: use when [confirmed rule — e.g., 404, 500, offline]
191
+ - **Error boundaries**: use when [confirmed rule — e.g., component-level isolation]
192
+
193
+ ### Empty States
194
+ **Illustration style**: [confirmed style]
195
+ **Copy tone**: [confirmed tone — must align with confirmed design direction]
196
+ **CTA**: Every empty state MUST include a primary call-to-action that guides the user toward populating the view.
197
+ [Per-archetype empty state rules if contextual]
198
+ ```
@@ -0,0 +1,18 @@
1
+ # Design System Prerequisite Check
2
+
3
+ Run this check before writing any FE spec.
4
+
5
+ ## Procedure
6
+
7
+ 1. Check whether `docs/plans/design-system.md` exists.
8
+ 2. If it does not exist → **stop** and tell the user: _"The design system has not been established yet. Run `/create-prd-design-system` to lock navigation paradigm, layout grid, page archetypes, and global state design language before writing FE specs."_
9
+ 3. If it exists → read and extract all seven decision areas: Navigation Paradigm, Layout Grid, Page Archetypes, Global Component Inventory, Motion Language, Data Density Philosophy, and Global State Design Language.
10
+ 4. The extracted decisions are **requirements** for this FE spec — any violation is a rubric failure under Dimension 11 (Design System Consistency).
11
+
12
+ ## Fail-Fast Validation Checks
13
+
14
+ Verify the following before proceeding. If any check fails, classification must **stop** and instruct the user to run `/create-prd-design-system` to resolve drift before continuing:
15
+
16
+ - **Page archetype match**: At least one page archetype from `design-system.md` applies to the feature being classified. If no archetype matches, the design system is incomplete for this feature.
17
+ - **Global component / navigation compliance**: The navigation paradigm and Global Component Inventory sections are populated (not empty or placeholder). Every navigation element the FE spec will use must exist in the inventory — re-inventing global components is a rubric failure.
18
+ - **Global state design language compliance**: The Loading States, Error States, and Empty States sub-sections are populated with confirmed approaches. The FE spec must use these confirmed patterns — inventing loading/error/empty state patterns outside the design language is a rubric failure.
@@ -0,0 +1,37 @@
1
+ # Domain Exhaustion Criteria
2
+
3
+ Final validation gate before vision compilation. All criteria must pass.
4
+
5
+ | Check | Criteria | Action if Fail |
6
+ |-------|----------|----------------|
7
+ | All leaf nodes ≥ `[DEEP]` | Every feature file in the tree is `[DEEP]` or `[EXHAUSTED]` | Drill remaining feature files |
8
+ | Status propagation correct | Parent nodes reflect their children's status | Update parent indexes |
9
+ | All Must Have features ≥ Level 2 | Every Must Have has sub-features AND edge cases AND Role Lens | Deep Think + drill |
10
+ | Deep Think zero hypotheses | Final Deep Think pass across ALL leaf nodes yields no new hypotheses | Present any new hypotheses, drill if confirmed |
11
+ | All CX files clean | No Medium/Low confidence entries remain at any level — all are High or rejected | Run synthesis questions on pending pairs |
12
+ | Role Lens complete | Every feature file has a populated Role Lens table | Fill missing Role Lens entries |
13
+ | User confirmation | User explicitly confirms "nothing else" for each domain | Ask for each under-explored domain |
14
+
15
+ ## Execution Procedure
16
+
17
+ 1. Walk the fractal tree. For each leaf node below `[DEEP]`:
18
+ - "Feature [X] in [domain] is still at [status]. Drill deeper or intentionally minimal?"
19
+ - If "drill" → return to `/ideate-discover`
20
+ - If "intentionally minimal" → note in feature file and proceed
21
+
22
+ 2. Run **final Deep Think pass**: For each `[DEEP]` leaf node, apply the four Deep Think questions. Present any new hypotheses.
23
+ - If confirmed → drill, update feature files
24
+ - If zero hypotheses → mark `[EXHAUSTED]`, propagate status upward
25
+
26
+ 3. Walk ALL CX files at every level. Resolve any Medium/Low confidence entries.
27
+
28
+ 4. Verify all feature files have populated Role Lens tables.
29
+
30
+ 5. Update `ideation-index.md` progress summary with final counts (total leaf nodes, exhausted count, CX entries confirmed).
31
+
32
+ ## Proportionality Check
33
+
34
+ - **Rich inputs**: Total domain file content (all files combined) should be at least 30% of the original source document's line count. If short, identify what was lost.
35
+ - **All inputs**: Each domain with `[DEEP]` or `[EXHAUSTED]` status should have at least 3 sub-areas drilled with edge cases.
36
+
37
+ If proportionality fails, return to `/ideate-discover` for the under-explored areas.
@@ -0,0 +1,58 @@
1
+ # Engagement Tier Protocol
2
+
3
+ **Purpose**: Single source of truth for engagement tier definitions and behavior. Workflows reference this instead of inlining tier blocks.
4
+
5
+ ---
6
+
7
+ ## Tier Definitions
8
+
9
+ | Tier | When | User Experience |
10
+ |------|------|-----------------|
11
+ | **Auto** | 6+ well-constrained axes, experienced user, clear preferences | Agent uses Deep Think reasoning per axis, presents all decisions for batch review at shard end |
12
+ | **Hybrid** | 3-5 axes, some need discussion, some are obvious | Group related decisions, present key choices, auto-confirm obvious ones |
13
+ | **Interactive** | ≤2 axes, novel/uncertain domain, user requests it | Full interview — one decision at a time with options and trade-offs |
14
+
15
+ ## Tier Selection
16
+
17
+ Read the user's context:
18
+ 1. Count the number of decision axes in the current step
19
+ 2. Assess user's familiarity (prior conversations, explicit preferences, technical depth)
20
+ 3. Default to **Interactive** if uncertain
21
+
22
+ Present the proposed tier: "I'll approach this as [tier] — [brief rationale]. Want a different level of involvement?"
23
+
24
+ **HARD GATE**: Wait for user acknowledgment before proceeding. If the user requests a different tier, switch.
25
+
26
+ ## Behavior by Tier
27
+
28
+ ### Auto Tier
29
+ 1. For each decision: apply Deep Think reasoning (consider constraints, project goals, prior decisions)
30
+ 2. Write the decision with `[AUTO-CONFIRMED — reasoning: ...]` annotation
31
+ 3. At shard end: present ALL auto-confirmed decisions in a summary table
32
+ 4. User reviews batch — any rejection triggers Interactive re-presentation for that decision
33
+ 5. Remove `[AUTO-CONFIRMED]` annotations after batch approval
34
+
35
+ ### Hybrid Tier
36
+ 1. Group related decisions (e.g., all auth decisions together)
37
+ 2. For obvious decisions: present with recommendation, apply if user says "looks good"
38
+ 3. For debatable decisions: present options with trade-offs, wait for selection
39
+ 4. Follow the decision-confirmation-protocol for each group
40
+
41
+ ### Interactive Tier
42
+ 1. Present one decision at a time
43
+ 2. Include 2-3 options with trade-offs and your recommendation
44
+ 3. Wait for explicit selection
45
+ 4. Follow the decision-confirmation-protocol for each decision
46
+
47
+ ## Gate Classification
48
+
49
+ Not all decisions follow the engagement tier. Some are always user-facing regardless of tier:
50
+
51
+ | Gate Type | Always Interactive? | Examples |
52
+ |-----------|-------------------|----------|
53
+ | **Product** | Yes — user always decides | Feature scope, UX philosophy, pricing |
54
+ | **Architecture** | Yes — present options | Database choice, framework, hosting |
55
+ | **Structural** | No — tier-aware | File naming, directory organization |
56
+ | **Implementation** | No — agent decides | Import ordering, variable naming |
57
+
58
+ See `.agent/rules/decision-classification.md` for the full classification.