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,126 @@
1
+ # Engineering Standards Template
2
+
3
+ Use this template when creating `docs/plans/ENGINEERING-STANDARDS.md`. Fill in concrete values based on tech stack decisions — **no TBDs allowed**.
4
+
5
+ ```markdown
6
+ # [Project Name] — Engineering Standards
7
+
8
+ > **Architecture**: [link to architecture-design.md]
9
+ > **Date**: YYYY-MM-DD
10
+ > **Status**: Draft | Review | Approved
11
+
12
+ ## Test Coverage
13
+ - Minimum unit test coverage: [e.g., 80%]
14
+ - Integration test requirement: [e.g., every API endpoint]
15
+ - E2E test requirement: [e.g., every critical user flow]
16
+ - Coverage tool: [e.g., vitest coverage-v8]
17
+
18
+ ## Linting & Formatting
19
+ - Linter: [e.g., ESLint with strict config]
20
+ - Formatter: [e.g., Prettier]
21
+ - Type checker: [e.g., TypeScript strict mode]
22
+ - Pre-commit hooks: [yes/no, tool]
23
+
24
+ ## Performance Budgets
25
+
26
+ > **Baseline**: Budgets target [device tier] on [network condition]. Every threshold must have a named enforcement tool — a threshold without an enforcement tool is incomplete.
27
+
28
+ ### Web Vitals per page type (web/desktop surfaces only)
29
+
30
+ | Page Type | LCP target | INP target | CLS target | Enforcement Tool |
31
+ |-----------|-----------|-----------|-----------|-----------------|
32
+ | [e.g., Landing] | [e.g., ≤ 2.0 s] | [e.g., ≤ 150 ms] | [e.g., ≤ 0.05] | [e.g., Lighthouse CI] |
33
+ | [e.g., Dashboard] | [e.g., ≤ 2.5 s] | [e.g., ≤ 200 ms] | [e.g., ≤ 0.1] | [e.g., Lighthouse CI] |
34
+ | [e.g., Detail/Form] | [e.g., ≤ 2.0 s] | [e.g., ≤ 100 ms] | [e.g., ≤ 0.05] | [e.g., Lighthouse CI] |
35
+
36
+ ### JS Bundle Size per page type (web/desktop surfaces only)
37
+
38
+ | Page Type | Initial JS (gzipped) | Total JS (gzipped) | Enforcement Tool |
39
+ |-----------|---------------------|-------------------|-----------------|
40
+ | [e.g., Landing] | [e.g., ≤ 80 KB] | [e.g., ≤ 150 KB] | [e.g., size-limit] |
41
+ | [e.g., Dashboard] | [e.g., ≤ 150 KB] | [e.g., ≤ 300 KB] | [e.g., size-limit] |
42
+
43
+ ### API Response Time per tier
44
+
45
+ | Tier | Description | p50 | p95 | p99 | Enforcement Tool |
46
+ |------|------------|-----|-----|-----|-----------------|
47
+ | Tier 1 — Cached read | [e.g., Response from cache] | [e.g., ≤ 10 ms] | [e.g., ≤ 30 ms] | [e.g., ≤ 50 ms] | [e.g., k6] |
48
+ | Tier 2 — Uncached read | [e.g., Single-entity DB fetch] | [e.g., ≤ 30 ms] | [e.g., ≤ 80 ms] | [e.g., ≤ 150 ms] | [e.g., k6] |
49
+ | Tier 3 — Write | [e.g., Create, update, delete] | [e.g., ≤ 80 ms] | [e.g., ≤ 200 ms] | [e.g., ≤ 400 ms] | [e.g., k6] |
50
+ | Tier 4 — Background | [e.g., Async jobs, external calls] | [Best-effort] | [e.g., ≤ 1000 ms] | [e.g., ≤ 3000 ms] | [e.g., k6] |
51
+
52
+ ### DB Query Time per tier
53
+
54
+ | Tier | Description | p50 | p95 | Enforcement Tool |
55
+ |------|------------|-----|-----|-----------------|
56
+ | Tier 1 — Indexed point lookup | [e.g., PK or unique-index fetch] | [e.g., ≤ 5 ms] | [e.g., ≤ 15 ms] | [e.g., pgbench] |
57
+ | Tier 2 — Indexed range scan | [e.g., Range or list on indexed column] | [e.g., ≤ 15 ms] | [e.g., ≤ 50 ms] | [e.g., pgbench] |
58
+ | Tier 3 — Aggregation | [e.g., COUNT, SUM, GROUP BY] | [e.g., ≤ 50 ms] | [e.g., ≤ 150 ms] | [e.g., pgbench] |
59
+ | Tier 4 — Full-text / vector / analytical | [e.g., Search, similarity, reports] | [e.g., ≤ 100 ms] | [e.g., ≤ 300 ms] | [e.g., pgbench] |
60
+
61
+ ### Desktop surfaces (if applicable)
62
+
63
+ | Metric | Threshold | Enforcement Tool |
64
+ |--------|----------|-----------------|
65
+ | Cold start | [e.g., ≤ 2 s] | [e.g., platform profiler] |
66
+ | Memory (idle) | [e.g., ≤ 200 MB] | [e.g., platform profiler] |
67
+ | Memory (active) | [e.g., ≤ 500 MB] | [e.g., platform profiler] |
68
+ | Installer size | [e.g., ≤ 100 MB] | [e.g., CI size check] |
69
+
70
+ ### Mobile surfaces (if applicable)
71
+
72
+ | Metric | Threshold | Enforcement Tool |
73
+ |--------|----------|-----------------|
74
+ | Cold launch | [e.g., ≤ 1.5 s] | [e.g., platform profiler] |
75
+ | Warm launch | [e.g., ≤ 0.5 s] | [e.g., platform profiler] |
76
+ | Battery drain (active) | [e.g., ≤ 5 %/hr] | [e.g., platform profiler] |
77
+ | Download size | [e.g., ≤ 50 MB] | [e.g., CI size check] |
78
+
79
+ ### CLI surfaces (if applicable)
80
+
81
+ | Metric | Threshold | Enforcement Tool |
82
+ |--------|----------|-----------------|
83
+ | Execution time | [e.g., ≤ 500 ms for common operations] | [e.g., hyperfine] |
84
+ | Binary size | [e.g., ≤ 20 MB] | [e.g., CI size check] |
85
+ | Startup latency | [e.g., ≤ 100 ms] | [e.g., hyperfine] |
86
+
87
+ ### CI Enforcement
88
+
89
+ | Budget Category | Enforcement Tool | Fail Condition | Fail vs. Warn |
90
+ |----------------|-----------------|----------------|---------------|
91
+ | Web Vitals | [e.g., Lighthouse CI] | [e.g., Score below threshold] | [Fail] |
92
+ | Bundle size | [e.g., size-limit] | [e.g., Exceeds per-page-type cap] | [Fail] |
93
+ | API response time | [e.g., k6] | [e.g., p95 exceeds tier target] | [Warn / Fail after baseline] |
94
+ | DB query time | [e.g., pgbench] | [e.g., p95 exceeds tier target] | [Warn / Fail after baseline] |
95
+ | Desktop/mobile | [e.g., platform profiler] | [e.g., Any metric exceeds threshold] | [Warn] |
96
+
97
+ ## Accessibility
98
+ - WCAG level: [e.g., 2.1 AA] (web/mobile)
99
+ - Screen reader testing: [required/optional]
100
+ - Keyboard navigation: [all interactive elements]
101
+ - Platform accessibility APIs: [e.g., UIAccessibility for iOS, AccessibilityNodeInfo for Android]
102
+
103
+ ## Security
104
+ - Dependency audit: [e.g., npm audit on every CI run]
105
+ - Dependency audit enforcement: [e.g., Fail on HIGH/CRITICAL, Warn on MODERATE]
106
+ - Secret scanning: [tool/approach]
107
+ - CSP policy: [strict/relaxed + details] (web surfaces)
108
+ - Code signing: [signing certificate strategy] (desktop/mobile surfaces)
109
+ - Security testing tool: [e.g., OWASP ZAP for web, MobSF for mobile, or none] (surface-specific dynamic security scan)
110
+
111
+ ## Code Quality
112
+ - Max file length: [e.g., 300 lines]
113
+ - Max function length: [e.g., 50 lines]
114
+ - Max cyclomatic complexity: [e.g., 10]
115
+ - Required documentation: [public APIs / all exports / none]
116
+
117
+ ## CI/CD Gates
118
+ - Tests must pass: [yes]
119
+ - Lint must pass: [yes]
120
+ - Type-check must pass: [yes]
121
+ - Build must succeed: [yes]
122
+ - Coverage threshold met: [yes]
123
+
124
+ ## Validation Command
125
+ [The single command that enforces all of the above]
126
+ ```
@@ -0,0 +1,91 @@
1
+ # Evolution Layer Guidance
2
+
3
+ Reference for `/evolve-feature-classify` Step 4 and `/evolve-feature-cascade` Step 1 — specifies what to write at each pipeline layer when evolving a feature.
4
+
5
+ ## Entry Point Writing Depth
6
+
7
+ ### Ideation Layer (`docs/plans/ideation/`)
8
+
9
+ 1. **Placement**: Read `ideation-index.md` Structure Map. Identify the domain folder. Create new domain if needed.
10
+ 2. **Classification Gate**: Apply Node Classification Gate from `.agent/skills/idea-extraction/SKILL.md` — leaf feature or sub-domain folder.
11
+ 3. **Write**: Use `.agent/skills/prd-templates/references/fractal-feature-template.md`. Include:
12
+ - Feature description (what and why)
13
+ - Affected personas
14
+ - Success criteria
15
+ - Constraints
16
+ - Role Lens — which personas interact and how
17
+ 4. **Update parent index**: Add to parent domain's `*-index.md` children table
18
+ 5. **Update CX files**: If cross-domain interactions exist, update parent `*-cx.md` and/or `ideation-cx.md`
19
+ 6. **Update `ideation-index.md`**: Add to MoSCoW Summary at appropriate priority
20
+
21
+ ### Architecture Layer (`architecture-design.md`)
22
+
23
+ - Technical constraint description
24
+ - Affected components
25
+ - Non-functional requirements (performance, scalability, compliance)
26
+ - Integration points
27
+
28
+ ### IA Layer (specific IA shard)
29
+
30
+ - Domain interactions (new/modified user flows)
31
+ - Contracts (new/modified API contracts)
32
+ - Data models (new entities, fields, relationships)
33
+ - Access control (RBAC implications)
34
+
35
+ ### BE Layer (BE spec)
36
+
37
+ - New API endpoints
38
+ - Updated schemas
39
+ - Middleware requirements
40
+ - Validation rules
41
+
42
+ ### FE Layer (FE spec)
43
+
44
+ - New components
45
+ - State management updates
46
+ - New routes
47
+ - Accessibility requirements
48
+
49
+ ### Phase Plan
50
+
51
+ - New slices or updated slice acceptance criteria
52
+
53
+ ## Cascade Layer Guidance
54
+
55
+ When cascading through downstream layers in `/evolve-feature-cascade`:
56
+
57
+ | Layer | What to Add |
58
+ |-------|------------|
59
+ | Architecture | New components, system diagram references, NFRs, integration points |
60
+ | IA | New domain interactions, updated contracts, data model changes, access control updates |
61
+ | BE | New API endpoints, updated schemas, middleware requirements, validation rules |
62
+ | FE | New components, state management updates, new routes, accessibility requirements |
63
+ | Phase plan | New slices or updated slice acceptance criteria |
64
+
65
+ ## Impact Assessment Format
66
+
67
+ ```
68
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
69
+ Implementation Impact
70
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
71
+ In-progress slices affected: [list or "none"]
72
+ Completed slices that may need revisiting: [list or "none"]
73
+ New slices needed: [list or "none"]
74
+ Phase plan update required: [yes/no]
75
+
76
+ Recommended action: [specific next step]
77
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
78
+ ```
79
+
80
+ ## Completion Summary Format
81
+
82
+ ```
83
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
84
+ Feature Evolution Complete
85
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
86
+ Entry point: [document]
87
+ Layers updated: [list]
88
+ New content: [summary]
89
+ Implementation: [impact summary]
90
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
91
+ ```
@@ -0,0 +1,27 @@
1
+ # Expansion Mode Options
2
+
3
+ Present these options after engagement tier selection. All input types see the same options.
4
+
5
+ | # | Mode | When to Recommend | Description |
6
+ |---|------|-------------------|-------------|
7
+ | 1 | **Full exploration** | 3+ domains | Breadth-before-depth with Deep Think |
8
+ | 2 | **Process as-is** | Thin input where user is confident | Proceed with what's captured |
9
+ | 3 | **Expand vertically** | Domains exist but are shallow | Drill deeper into existing features |
10
+ | 4 | **Expand horizontally** | Domains are deep but coverage gaps exist | Add new domains |
11
+ | 5 | **Cross-cutting concerns** | Domains mapped but interactions unexplored | Map feature interactions |
12
+ | 6 | **Combination** | User has specific priorities | User specifies dimensions and order |
13
+ | 7 | **Audit ambiguity first** | Unclear whether depth or breadth is needed | Inline ambiguity check before deciding |
14
+
15
+ ## Default Recommendations
16
+
17
+ | Input Type | Default |
18
+ |---|---|
19
+ | Rich document (≥3 domains) | Full exploration |
20
+ | Rich document (<3 domains) | Expand vertically |
21
+ | Thin document | Full exploration |
22
+ | Verbal / one-liner | Full exploration |
23
+ | Re-run (continue) | Audit ambiguity first |
24
+
25
+ ## Recording
26
+
27
+ Write the selected mode to `ideation-index.md` under `## Expansion Mode` immediately after user selection.
@@ -0,0 +1,47 @@
1
+ # FE Classification — Accessibility & Conditional Rendering Procedures
2
+
3
+ Procedures used during `/write-fe-spec-classify` Step 4c to build accessibility inventories and conditional rendering matrices.
4
+
5
+ ---
6
+
7
+ ## Accessibility Extraction Gate
8
+
9
+ Build an accessibility inventory table for every interactive component or interaction in this feature:
10
+
11
+ | Component/Interaction | WCAG Req | Keyboard Nav | Screen Reader | IA Source |
12
+ |-----------------------|----------|-------------|--------------|-----------|
13
+ | [component name] | [WCAG level + criterion] | [key bindings + focus order] | [aria-label / role / live region] | [IA shard § section] |
14
+ | [interaction name] | [WCAG level + criterion] | [key bindings + focus order] | [aria-label / role / live region] | [IA shard § section] |
15
+
16
+ **Thin a11y coverage flag**: If an interactive feature has **< 3 accessibility specifications** in the IA shard (fewer than 3 rows in the inventory table for a feature with interactive elements), flag it:
17
+
18
+ > ⚠️ **Thin accessibility coverage** for [feature name]: only [N] a11y specs found in IA shard. Options:
19
+ > 1. Resolve now — add missing WCAG requirements to the IA shard before proceeding
20
+ > 2. Accept thin coverage — proceed with what exists and flag as tech debt
21
+
22
+ **Wait for the user's choice before proceeding.**
23
+
24
+ **Carry-forward instruction**: The accessibility inventory table becomes inline annotations in the `## Component Inventory` section during `/write-fe-spec-write`. Each component's specification must include its WCAG requirements, keyboard navigation, and screen reader behavior directly — not as a separate accessibility section.
25
+
26
+ ---
27
+
28
+ ## Conditional Rendering Enumeration (Step 4c.5)
29
+
30
+ Read the IA shard's `## Access Control` section. Build a **role × feature rendering matrix** for every feature-level component or interaction:
31
+
32
+ | Feature/Component | Free | Paid | Creator | Guardian | Junior | Business | Staff | Admin |
33
+ |-------------------|------|------|---------|----------|--------|----------|-------|-------|
34
+ | [component name] | [hidden/locked/read-only/full] | [hidden/locked/read-only/full] | [hidden/locked/read-only/full] | [hidden/locked/read-only/full] | [hidden/locked/read-only/full] | [hidden/locked/read-only/full] | [hidden/locked/read-only/full] | [hidden/locked/read-only/full] |
35
+
36
+ **Values**: `hidden` (not rendered), `locked` (visible but disabled with upgrade prompt), `read-only` (visible, non-interactive), `full` (full access).
37
+
38
+ **Variant mapping**: Every non-trivial cell (any value other than `full` for the majority role) becomes a **named variant** in the component's `variants` spec in the FE spec. For example, if `Creator` gets `read-only` access to a component while `Paid` gets `full`, the component spec must include a `readOnlyCreator` variant (or equivalent named variant).
39
+
40
+ **Unspecified role × feature combinations**: If the IA shard's `## Access Control` does not specify the rendering state for a particular role × feature combination, flag it explicitly:
41
+
42
+ > ⚠️ **Unspecified role × feature combination**: [component] × [role] is not defined in the IA shard's access control.
43
+ > Options:
44
+ > 1. Define it now — specify the rendering state
45
+ > 2. Apply closest-tier default — inherit from the nearest tier (e.g., Free inherits from the most restrictive, Admin inherits `full`)
46
+
47
+ **Do not assume.** Every cell must be explicitly defined or explicitly defaulted with user confirmation.
@@ -0,0 +1,90 @@
1
+ # FE Spec Template
2
+
3
+ Use this template when writing FE specs to `docs/plans/fe/[NN-feature-name].md`.
4
+
5
+ ```markdown
6
+ # [Feature] — Frontend Specification
7
+
8
+ > **BE Source**: [link to BE spec(s), or N/A for cross-cutting]
9
+ > **IA Source**: [link to IA shard, or N/A for cross-cutting]
10
+ > **Status**: Draft | Review | Complete
11
+
12
+ ## Split Group _(include only if this spec resulted from a split)_
13
+
14
+ > **Split origin**: [IA shard that was split, e.g., `09-messaging`]
15
+ > **Companion specs**: [sibling FE spec files, e.g., `09b-agent-flow-ui.md`]
16
+ > **Shared entities**: [data models shared across companions, e.g., `Message`, `Thread`]
17
+
18
+ ## Source Map
19
+
20
+ | FE Spec Section | Source | Section/Lines |
21
+ |-----------------|--------|---------------|
22
+ | Component Inventory | [be-spec.md or conventions] | § Response Contracts |
23
+ | Page/Route Definitions | [ia-shard.md or conventions] | § User Flows |
24
+ | Interactions | [ia-shard.md or conventions] | § User Flows + § Edge Cases |
25
+ | Accessibility | [ia-shard.md or conventions] | § Accessibility (lines N–M) |
26
+ | Responsive Behavior | [ia-shard.md or conventions] | § Device Strategy |
27
+ | Data Mapping | [be-spec.md or conventions] | § Request/Response Contracts |
28
+
29
+ ## Design Requirements
30
+ **Direction**: [from brand-guidelines — confirmed direction]
31
+ **Typography**: [font/size/weight per text element]
32
+ **Colors**: [primary/secondary/accent for default, hover, active, disabled, error states]
33
+ **Motion**: [animation/transition behavior, or "none"]
34
+ **Anti-patterns**: [what AI slop looks like for this component and how to avoid it]
35
+
36
+ ## Design System Compliance
37
+ **Page archetype(s)**: [name the archetype(s) from design-system.md]
38
+ **Navigation**: [confirm which nav elements this spec uses from the global component inventory]
39
+ **Loading states**: [confirm skeleton vs. spinner — cite design-system.md rule]
40
+ **Error states**: [confirm inline/toast/full-page/boundary — cite design-system.md rule for each context]
41
+ **Empty states**: [confirm illustration style and copy tone from design-system.md]
42
+
43
+ ## Component Inventory
44
+ [Tree with props interfaces]
45
+
46
+ ## Page/Route Definitions
47
+ [URL patterns, guards, redirects]
48
+
49
+ ## State Management
50
+ [Server state, client state, URL state, loading/error/empty]
51
+
52
+ ## Interaction Specification
53
+ [Click, hover, keyboard, form validation matching {{CONTRACT_LIBRARY}}]
54
+
55
+ ## Responsive Behavior
56
+ [Breakpoints, component behavior per breakpoint]
57
+
58
+ ## Accessibility
59
+ [ARIA roles, keyboard nav, screen reader, WCAG compliance]
60
+
61
+ ## Data Mapping
62
+ [Which BE response fields map to which component props]
63
+
64
+ ## Open Questions
65
+
66
+ ## Changelog
67
+
68
+ | Date | Change | Workflow | Sections Affected |
69
+ |------|--------|----------|-------------------|
70
+ | [date] | Initial creation | /write-fe-spec | All |
71
+ ```
72
+
73
+ ## Quality Gates Checklist
74
+
75
+ Apply after writing every FE spec:
76
+
77
+ - [ ] Every component has a props interface
78
+ - [ ] Every interactive element has defined behavior
79
+ - [ ] Every data field maps to a BE response field (if applicable)
80
+ - [ ] Loading, error, and empty states defined for every data-fetching view
81
+ - [ ] Accessibility requirements meet WCAG 2.1 AA
82
+ - [ ] Responsive behavior specified for all breakpoints
83
+ - [ ] IA shard's accessibility section fully consumed (not re-derived from BE spec)
84
+ - [ ] IA shard's user flows reflected in interaction specification
85
+ - [ ] Account-tier conditional rendering rules from IA access model included
86
+ - [ ] Source Map is complete — no FE spec section lacks a traceable source
87
+ - [ ] Design Requirements section filled from brand-guidelines (not placeholders)
88
+ - [ ] Page archetype named and matches design-system.md
89
+ - [ ] All loading/error/empty states use the confirmed design language from design-system.md
90
+ - [ ] No global component re-invented (consuming from global inventory, not re-implementing)
@@ -0,0 +1,149 @@
1
+ # Feature Tracking Ledger Protocol
2
+
3
+ > **Purpose**: Track every ideation feature through the entire pipeline — from birth in ideation to final slice assignment. Catches dropped features that per-stage reconciliation tables miss.
4
+
5
+ ## Ledger Location
6
+
7
+ `docs/plans/feature-ledger.md`
8
+
9
+ ## Ledger Format
10
+
11
+ ```markdown
12
+ # Feature Tracking Ledger
13
+
14
+ > Auto-generated by `/ideate-validate`. Updated by each pipeline stage.
15
+ > Each column is populated by the stage that owns it (see Column Ownership below).
16
+
17
+ | Feature ID | Feature Name | Domain | MoSCoW | IA Shard | IA Status | BE Spec | BE Status | FE Spec | FE Status | Phase | Slice |
18
+ |-----------|-------------|--------|--------|----------|-----------|---------|-----------|---------|-----------|-------|-------|
19
+ ```
20
+
21
+ ## Column Ownership
22
+
23
+ | Column(s) | Populated By | Stage |
24
+ |-----------|-------------|-------|
25
+ | Feature ID, Feature Name, Domain, MoSCoW | `/ideate-validate` Step 11.5 | Discovery |
26
+ | IA Shard, IA Status | `/decompose-architecture-validate` | Design |
27
+ | BE Spec, BE Status | `/write-be-spec-write` | Specification |
28
+ | FE Spec, FE Status | `/write-fe-spec-write` | Specification |
29
+ | Phase, Slice | `/plan-phase-write` Step 2.5 | Planning |
30
+
31
+ ## Status Values
32
+
33
+ | Status | Meaning |
34
+ |--------|---------|
35
+ | ✅ | Covered — spec exists and includes this feature |
36
+ | ⚠️ deferred | Explicitly deferred with documented reason |
37
+ | ❌ missing | Not covered — no spec addresses this feature |
38
+ | — | Column not yet populated (upstream stage hasn't run) |
39
+
40
+ ## Step 1 — Ledger Creation (`/ideate-validate`)
41
+
42
+ **When**: After Step 11 (compile vision), before Step 12 (request review).
43
+
44
+ **Procedure**:
45
+
46
+ 1. Read `ideation-index.md` → Structure Map → get all domain paths
47
+ 2. For each domain, read `{domain}-index.md` → Children table
48
+ 3. For each leaf-level child (type = `feature`), create one ledger row:
49
+ - **Feature ID**: `{domain-name}/{feature-file-basename}` (e.g., `inventory/01-categories`)
50
+ - **Feature Name**: from the Children table Name column
51
+ - **Domain**: domain name
52
+ - **MoSCoW**: from `ideation-index.md` MoSCoW Summary (match by feature name), or from the feature's own priority field if available
53
+ 4. All other columns → `—` (not yet populated)
54
+ 5. Write to `docs/plans/feature-ledger.md`
55
+
56
+ > **Context management**: Read domain indexes one at a time, extract features, move on. Same pattern as the deep-ideation-loading protocol.
57
+
58
+ ## Step 2 — IA Assignment (`/decompose-architecture-validate`)
59
+
60
+ **When**: After shard boundaries are approved and shard skeletons exist.
61
+
62
+ **Procedure**:
63
+
64
+ 1. Read `docs/plans/feature-ledger.md`
65
+ 2. For each IA shard skeleton in `docs/plans/ia/`:
66
+ - Read the shard's `## Sub-features` or features list
67
+ - For each feature, find the matching row in the ledger (match by Feature ID or Feature Name)
68
+ - Set **IA Shard** = shard name (e.g., `02-inventory`)
69
+ - Set **IA Status** = `✅`
70
+ 3. **Orphan check**: Any row where IA Shard is still `—` after processing all shards → set IA Status = `❌ missing`
71
+ 4. Write updated ledger
72
+
73
+ **If orphans are found**:
74
+ > ⚠️ **Feature ledger orphan check**: [N] features from ideation have no IA shard assignment:
75
+ > - `{Feature ID}`: {Feature Name}
76
+ >
77
+ > Options:
78
+ > 1. Add to an existing shard
79
+ > 2. Create a new shard
80
+ > 3. Mark as explicitly deferred (with reason)
81
+
82
+ **STOP** — wait for user decision on each orphan.
83
+
84
+ ## Step 3 — BE Coverage (`/write-be-spec-write`)
85
+
86
+ **When**: After each BE spec is written.
87
+
88
+ **Procedure**:
89
+
90
+ 1. Read `docs/plans/feature-ledger.md`
91
+ 2. Read the newly written BE spec's endpoint list
92
+ 3. For each endpoint, identify which Feature ID(s) it serves (from the IA shard → feature mapping)
93
+ 4. For each matched Feature ID, set **BE Spec** = spec file name, **BE Status** = `✅`
94
+ 5. Write updated ledger
95
+
96
+ > **Note**: Not all features produce BE endpoints (e.g., purely client-side UI features). These should have BE Status = `⚠️ deferred` with reason "client-only".
97
+
98
+ ## Step 4 — FE Coverage (`/write-fe-spec-write`)
99
+
100
+ **When**: After each FE spec is written.
101
+
102
+ **Procedure**:
103
+
104
+ 1. Read `docs/plans/feature-ledger.md`
105
+ 2. Read the newly written FE spec's component list
106
+ 3. For each component, identify which Feature ID(s) it serves
107
+ 4. For each matched Feature ID, set **FE Spec** = spec file name, **FE Status** = `✅`
108
+ 5. Write updated ledger
109
+
110
+ ## Step 5 — Slice Assignment (`/plan-phase-write`)
111
+
112
+ **When**: After Step 2.5 (spec coverage verification).
113
+
114
+ **Procedure**:
115
+
116
+ 1. Read `docs/plans/feature-ledger.md`
117
+ 2. For each slice, identify which Feature ID(s) it covers (from its spec source map)
118
+ 3. For each matched Feature ID, set **Phase** = phase number, **Slice** = slice ID
119
+ 4. Write updated ledger
120
+
121
+ ## Verification Gate (`/plan-phase-preflight`)
122
+
123
+ **When**: During the cross-layer consistency check.
124
+
125
+ **Procedure**:
126
+
127
+ 1. Read `docs/plans/feature-ledger.md`
128
+ 2. Count features by completeness:
129
+ - **✅ Complete**: All columns through FE Status are ✅ or ⚠️ deferred
130
+ - **⚠️ Partial**: Some columns filled, some still `—`
131
+ - **❌ Orphaned**: IA Status or BE Status or FE Status = `❌ missing`
132
+ 3. Report:
133
+
134
+ > **Feature Ledger Verification**:
135
+ > - ✅ Complete: [N] features
136
+ > - ⚠️ Partial: [N] features (columns not yet populated by upstream stages)
137
+ > - ❌ Orphaned: [N] features (dropped between stages)
138
+
139
+ 4. **If any ❌ orphans** → **BLOCKING GATE**: "Feature ledger shows [N] orphaned features. Resolve before planning."
140
+ 5. **If any ⚠️ partial** → **WARNING**: "Feature ledger shows [N] features with incomplete coverage. These may be from stages not yet run."
141
+
142
+ ## Anti-Patterns
143
+
144
+ | ❌ Wrong | ✅ Right |
145
+ |---------|---------|
146
+ | Skipping ledger updates "because it's just bookkeeping" | Every stage updates its columns — it's the only global tracking |
147
+ | Marking orphaned features as ⚠️ deferred without a reason | Orphans are ❌ missing until explicitly deferred with documented reasoning |
148
+ | Regenerating the ledger from scratch at each stage | Updating existing rows — the ledger is cumulative |
149
+ | Ignoring the orphan check at plan-phase-preflight | Blocking on orphans — they represent dropped features |
@@ -0,0 +1,77 @@
1
+ # Folder Seeding Protocol
2
+
3
+ Rules for creating the `docs/plans/ideation/` folder structure during `/ideate-extract`.
4
+
5
+ ## Additive-Only Rule
6
+
7
+ The `docs/plans/ideation/` directory already exists in the kit with `.gitkeep` and `README.md`. You are ADDING files into this existing directory.
8
+
9
+ - Do NOT delete, overwrite, or replace the directory itself
10
+ - Do NOT remove any existing files (`.gitkeep`, `README.md`)
11
+ - Create new files alongside what already exists
12
+
13
+ ## Base Structure (All Project Shapes)
14
+
15
+ After seeding, the folder should contain kit-shipped files PLUS new pipeline files:
16
+
17
+ ```
18
+ docs/plans/ideation/
19
+ ├── .gitkeep ← KIT-SHIPPED — do not touch
20
+ ├── README.md ← KIT-SHIPPED — do not touch
21
+ ├── ideation-index.md ← NEW: super-index (from ideation-index-template)
22
+ ├── ideation-cx.md ← NEW: global cross-cuts (from ideation-crosscut-template)
23
+ └── meta/ ← NEW: created by this step
24
+ ├── problem-statement.md
25
+ ├── personas.md
26
+ ├── competitive-landscape.md
27
+ └── constraints.md
28
+ ```
29
+
30
+ For multi-product projects, additionally create `surfaces/` with sub-folders per surface.
31
+
32
+ ## Templates
33
+
34
+ Read these templates when creating files:
35
+
36
+ - `.agent/skills/prd-templates/references/ideation-index-template.md` (super-index)
37
+ - `.agent/skills/prd-templates/references/ideation-crosscut-template.md` (global CX)
38
+ - `.agent/skills/prd-templates/references/fractal-node-index-template.md` (node index)
39
+ - `.agent/skills/prd-templates/references/fractal-cx-template.md` (node CX)
40
+ - `.agent/skills/prd-templates/references/fractal-feature-template.md` (feature file)
41
+
42
+ ## Domain Seeding Rules
43
+
44
+ Domains come from the **confirmed classification table** (Step 1.4.5), NOT from source headings.
45
+
46
+ ### Placement by Structural Classification
47
+
48
+ | Classification | Placement |
49
+ |---|---|
50
+ | Single-surface | `docs/plans/ideation/{NN}-{slug}/` |
51
+ | Hub-and-spoke | Surface-exclusive in `surfaces/{surface}/{NN}-{slug}/`, shared in hub surface |
52
+ | Peer | Surface-exclusive in `surfaces/{surface}/{NN}-{slug}/`, shared in `shared/{NN}-{slug}/` |
53
+
54
+ ### Node Type → Action
55
+
56
+ | Gate Result | Action |
57
+ |---|---|
58
+ | **Domain** | Create domain folder with `{slug}-index.md` + `{slug}-cx.md` |
59
+ | **Sub-domain** | Create sub-domain folder nested inside parent domain |
60
+ | **Feature** | Create feature file inside parent domain or sub-domain |
61
+ | **Cross-cut** | Add entries to appropriate CX files (domain-level or global) |
62
+ | **Not-a-product-domain** | Add notes to `meta/constraints.md` for `/create-prd` |
63
+
64
+ After all nodes are created, update `ideation-index.md` structure map with paths.
65
+
66
+ ## Content Seeding by Input Type
67
+
68
+ | Input Type | Content Strategy |
69
+ |---|---|
70
+ | **Rich document** | Seed each node with content from source using classification table citations. Run fidelity check: every major concept in source must map to SOMETHING in the output. Add `> Source: path/to/original.md` to index. |
71
+ | **Chat transcript** | Noise filter → extract signal → seed domain folders with structured output |
72
+ | **Thin document** | Create domain folders with depth markers on feature files |
73
+ | **Verbal / one-liner** | Create domain folders with scaffolding. Feature files are `[SURFACE]`. |
74
+
75
+ ## Post-Seeding Verification Gate
76
+
77
+ After creating all files, verify that `docs/plans/ideation/.gitkeep` and `docs/plans/ideation/README.md` still exist. If EITHER file is missing → **STOP**: "Kit-shipped files were destroyed during seeding. Restore `.gitkeep` and/or `README.md` to `docs/plans/ideation/` before continuing."
@@ -0,0 +1,58 @@
1
+ # {Node Name} — Cross-Cuts
2
+
3
+ > **Level**: {surface | domain | sub-domain}
4
+ > **Scope**: Connections between children of [{parent}](../{parent}-index.md)
5
+
6
+ ## Cross-Cut Map
7
+
8
+ | # | Source | Target | Relationship | Roles Affected | Confidence | Evidence |
9
+ |---|--------|--------|--------------|----------------|------------|----------|
10
+ | CX-01 | [child-A](./path) | [child-B](./path) | _what the interaction is_ | Tech, Owner | High | _specific evidence from exploration_ |
11
+ | CX-02 | [child-C](./path) | [{external-node}](../../path) | _cross-level interaction_ | Tech | Medium | _evidence_ |
12
+
13
+ > **Confidence levels:** High (confirmed with evidence), Medium (strong signal, needs validation), Low (hypothesis)
14
+ >
15
+ > **Cross-level references:** When a cross-cut spans levels (e.g., a feature in one surface touches a domain in another), record it here at the HIGHER level with a link path to the specific lower-level item. The detail of HOW they interact lives in the LOWER-level CX file.
16
+ >
17
+ > **Cross-references:** When referencing a CX entry from another file, use format `{filename}#CX-NN` (e.g., `ai-assistant-cx.md#CX-03`)
18
+
19
+ ---
20
+
21
+ ## Cross-Cut Details
22
+
23
+ ### CX-01: {Source} ↔ {Target}
24
+
25
+ **Relationship**: _Detailed description of how these two children interact. What data flows between them? What triggers what?_
26
+
27
+ **Role scoping**:
28
+ - **{Role 1}**: _what this role experiences at this intersection_
29
+ - **{Role 2}**: _what this role experiences_
30
+ - **{Role 3}**: _not affected / no visibility_
31
+
32
+ **Synthesis questions answered**:
33
+ 1. **Shared state conflict**: _Who owns the entity? What's the merge strategy if both sides modify it?_
34
+ 2. **Trigger chain**: _Does A trigger B? What happens if B fails — rollback? Compensating action? Is it sync or async?_
35
+ 3. **Permission intersection**: _Does a permission in A affect what you can do in B?_
36
+ 4. **Notification fan-out**: _Does an event in A notify actors in B?_
37
+ 5. **State transition conflict**: _Can A and B race? What's the consistency impact?_
38
+
39
+ ---
40
+
41
+ _Repeat the Cross-Cut Details section for each CX entry in the map._
42
+
43
+ ---
44
+
45
+ ## Rejected Pairs
46
+
47
+ | # | Source | Target | Reason for Rejection |
48
+ |---|--------|--------|---------------------|
49
+ | R-01 | _{child-A}_ | _{child-B}_ | _No shared state, no trigger dependency, independent lifecycles_ |
50
+
51
+ > **Notes for agents:**
52
+ > - This template is used at EVERY folder level in the fractal structure
53
+ > - CX files ONLY connect children at their own level — a surface CX connects domains, a domain CX connects sub-domains, a sub-domain CX connects features
54
+ > - CX entries use sequential `CX-NN` numbering within each file, starting at CX-01
55
+ > - Always include role scoping — every cross-cut affects specific roles, not all roles equally
56
+ > - Rejected pairs are valuable — they show the agent considered the interaction and dismissed it with reasoning
57
+ > - The 5 synthesis questions should be answered for EVERY confirmed cross-cut (CX entries with High confidence)
58
+ > - For Medium/Low confidence entries, the synthesis questions can be deferred to later drilling passes