@3fn/core 13.0.0 → 14.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. package/.kiro/agents/ada-prompt.md +80 -132
  2. package/.kiro/agents/ada-prompt.md.attribution.json +45 -0
  3. package/.kiro/agents/ada.json +44 -59
  4. package/.kiro/agents/ada.json.attribution.json +13 -0
  5. package/.kiro/agents/data-prompt.md +83 -74
  6. package/.kiro/agents/data-prompt.md.attribution.json +53 -0
  7. package/.kiro/agents/data.json +31 -38
  8. package/.kiro/agents/data.json.attribution.json +13 -0
  9. package/.kiro/agents/kenya-prompt.md +83 -72
  10. package/.kiro/agents/kenya-prompt.md.attribution.json +53 -0
  11. package/.kiro/agents/kenya.json +27 -35
  12. package/.kiro/agents/kenya.json.attribution.json +13 -0
  13. package/.kiro/agents/leonardo-prompt.md +176 -234
  14. package/.kiro/agents/leonardo-prompt.md.attribution.json +45 -0
  15. package/.kiro/agents/leonardo.json +28 -36
  16. package/.kiro/agents/leonardo.json.attribution.json +13 -0
  17. package/.kiro/agents/lina-prompt.md +110 -151
  18. package/.kiro/agents/lina-prompt.md.attribution.json +53 -0
  19. package/.kiro/agents/lina.json +46 -59
  20. package/.kiro/agents/lina.json.attribution.json +13 -0
  21. package/.kiro/agents/sparky-prompt.md +89 -72
  22. package/.kiro/agents/sparky-prompt.md.attribution.json +53 -0
  23. package/.kiro/agents/sparky.json +37 -37
  24. package/.kiro/agents/sparky.json.attribution.json +13 -0
  25. package/.kiro/agents/stacy-prompt.md +74 -48
  26. package/.kiro/agents/stacy-prompt.md.attribution.json +45 -0
  27. package/.kiro/agents/stacy.json +28 -30
  28. package/.kiro/agents/stacy.json.attribution.json +13 -0
  29. package/.kiro/agents/thurgood-prompt.md +94 -138
  30. package/.kiro/agents/thurgood-prompt.md.attribution.json +45 -0
  31. package/.kiro/agents/thurgood.json +31 -35
  32. package/.kiro/agents/thurgood.json.attribution.json +13 -0
  33. package/.kiro/steering/AI-Collaboration-Principles.md +3 -3
  34. package/.kiro/steering/Civitas-System-Overview.md +5 -5
  35. package/.kiro/steering/DesignerPunk-Systems-Overview.md +6 -6
  36. package/.kiro/steering/Task-Completion-Protocol.md +98 -17
  37. package/.kiro/steering/core-goals.md +3 -3
  38. package/.kiro/steering/personal-note.md +1 -1
  39. package/.kiro/steering/start-up-tasks.md +14 -3
  40. package/application-mcp-server/src/index.ts +26 -0
  41. package/dist/ComponentTokens.android.kt +1 -1
  42. package/dist/ComponentTokens.ios.swift +1 -1
  43. package/dist/ComponentTokens.web.css +1 -1
  44. package/dist/DesignTokens.android.kt +1 -1
  45. package/dist/DesignTokens.dtcg.json +8 -5
  46. package/dist/DesignTokens.figma.json +2 -2
  47. package/dist/DesignTokens.ios.swift +1 -1
  48. package/dist/DesignTokens.web.css +1 -1
  49. package/dist/android/DesignTokens.android.kt +1 -1
  50. package/dist/blend/OklchBlendCalculator.js +1 -0
  51. package/dist/blend/ThemeAwareBlendUtilities.web.d.ts +13 -2
  52. package/dist/blend/ThemeAwareBlendUtilities.web.js +6 -1
  53. package/dist/browser/designerpunk.esm.js +22 -81
  54. package/dist/browser/designerpunk.esm.min.js +29 -32
  55. package/dist/browser/designerpunk.umd.js +22 -81
  56. package/dist/browser/designerpunk.umd.min.js +42 -45
  57. package/dist/browser/tokens.css +1 -1
  58. package/dist/components/core/Avatar-Base/platforms/web/Avatar.web.js +24 -5
  59. package/dist/components/core/Button-CTA/examples/BasicUsage.d.ts +16 -28
  60. package/dist/components/core/Button-CTA/examples/BasicUsage.js +18 -43
  61. package/dist/components/core/Button-CTA/platforms/web/ButtonCTA.web.d.ts +3 -15
  62. package/dist/components/core/Button-CTA/platforms/web/ButtonCTA.web.js +9 -58
  63. package/dist/components/core/Button-CTA/types.d.ts +0 -24
  64. package/dist/components/core/Button-CTA/types.js +6 -0
  65. package/dist/components/core/Input-Text-Base/types.d.ts +13 -1
  66. package/dist/components/core/Input-Text-Password/platforms/web/InputTextPassword.web.js +11 -2
  67. package/dist/generators/DTCGFormatGenerator.js +8 -0
  68. package/dist/integration/BuildErrorHandler.js +2 -2
  69. package/dist/ios/DesignTokens.ios.swift +1 -1
  70. package/dist/mcp/application-mcp.js +24 -0
  71. package/dist/mcp/docs-mcp.js +130 -15
  72. package/dist/mcp/product-mcp.js +25 -0
  73. package/dist/tokens/OpacityTokens.js +1 -1
  74. package/dist/tokens/semantic/BlendTokens.d.ts +10 -3
  75. package/dist/tokens/semantic/BlendTokens.js +17 -5
  76. package/dist/tokens/semantic/OpacityTokens.d.ts +4 -4
  77. package/dist/tokens/semantic/OpacityTokens.js +4 -4
  78. package/dist/types/ComponentTypes.d.ts +1 -1
  79. package/dist/types/generated/TokenTypes.d.ts +1 -1
  80. package/dist/types/generated/TokenTypes.js +1 -1
  81. package/dist/validators/StemmaTokenUsageValidator.js +3 -2
  82. package/dist/web/DesignTokens.web.css +1 -1
  83. package/governance/Component-Development-Guide.md +22 -12
  84. package/governance/Component-Development-Standards.md +2 -2
  85. package/governance/Component-Family-Avatar.md +0 -1
  86. package/governance/Component-Family-Badge.md +0 -1
  87. package/governance/Component-Family-Button.md +4 -17
  88. package/governance/Component-Family-Chip.md +0 -1
  89. package/governance/Component-Family-Container.md +0 -1
  90. package/governance/Component-Family-Data-Display.md +1 -2
  91. package/governance/Component-Family-Divider.md +1 -2
  92. package/governance/Component-Family-Form-Inputs.md +5 -5
  93. package/governance/Component-Family-Icon.md +1 -2
  94. package/governance/Component-Family-Loading.md +1 -2
  95. package/governance/Component-Family-Modal.md +1 -2
  96. package/governance/Component-Family-Navigation.md +0 -1
  97. package/governance/Component-Family-Progress.md +0 -1
  98. package/governance/Component-Inheritance-Structures.md +195 -76
  99. package/governance/Component-MCP-Document-Template.md +6 -5
  100. package/governance/Component-Primitive-vs-Semantic-Philosophy.md +1 -1
  101. package/governance/Component-Quick-Reference.md +33 -33
  102. package/governance/Component-Readiness-Status.md +54 -38
  103. package/governance/Component-Templates.md +32 -36
  104. package/governance/Contract-System-Reference.md +6 -6
  105. package/governance/MCP-Integration-Guide.md +1 -1
  106. package/governance/Process-Cross-Reference-Standards.md +31 -13
  107. package/governance/Process-Development-Workflow.md +49 -59
  108. package/governance/Process-File-Organization.md +24 -24
  109. package/governance/Process-Hook-Operations.md +19 -7
  110. package/governance/Process-Orchestration-Model-Selection.md +92 -0
  111. package/governance/Process-Spec-Planning.md +91 -39
  112. package/governance/Process-Task-Type-Definitions.md +80 -4
  113. package/governance/Product-Handoff-Protocol.md +2 -0
  114. package/governance/Rosetta-System-Architecture.md +6 -6
  115. package/governance/Test-Behavioral-Contract-Validation.md +38 -31
  116. package/governance/Test-Failure-Audit-Methodology.md +1 -1
  117. package/governance/Token-Family-Accessibility.md +1 -2
  118. package/governance/Token-Family-Blend.md +18 -16
  119. package/governance/Token-Family-Blur.md +0 -1
  120. package/governance/Token-Family-Border.md +1 -2
  121. package/governance/Token-Family-Color.md +0 -1
  122. package/governance/Token-Family-Glow.md +1 -2
  123. package/governance/Token-Family-Layering.md +0 -1
  124. package/governance/Token-Family-Motion.md +1 -2
  125. package/governance/Token-Family-Opacity.md +0 -1
  126. package/governance/Token-Family-Radius.md +1 -2
  127. package/governance/Token-Family-Responsive.md +1 -2
  128. package/governance/Token-Family-Shadow.md +1 -2
  129. package/governance/Token-Family-Sizing.md +0 -1
  130. package/governance/Token-Family-Spacing.md +1 -2
  131. package/governance/Token-Family-Typography.md +1 -2
  132. package/governance/Token-Governance.md +8 -8
  133. package/governance/Token-Quick-Reference.md +21 -21
  134. package/governance/Token-Resolution-Patterns.md +1 -1
  135. package/governance/Token-Semantic-Structure.md +1 -1
  136. package/governance/Web-Authoring-Standards.md +5 -5
  137. package/governance/browser-distribution-guide.md +1 -4
  138. package/governance/classification-map.md +368 -0
  139. package/governance/completion-documentation-guide.md +11 -8
  140. package/governance/component-meta-authoring-guide.md +1 -1
  141. package/governance/cross-platform-vs-platform-specific-decision-framework.md +1 -1
  142. package/governance/platform-implementation-guidelines.md +1 -1
  143. package/governance/release-management-system.md +2 -2
  144. package/governance/rosetta-system-principles.md +8 -6
  145. package/governance/stemma-system-principles.md +18 -17
  146. package/mcp-server/src/index.ts +24 -6
  147. package/mcp-server/src/indexer/DocumentIndexer.ts +119 -9
  148. package/mcp-server/src/indexer/__tests__/bare-id-crossrefs.test.ts +250 -0
  149. package/mcp-server/src/indexer/cross-ref-parser.ts +29 -1
  150. package/mcp-server/src/indexer/index-health.ts +27 -2
  151. package/mcp-server/src/query/__tests__/find-docs-calibration.test.ts +11 -26
  152. package/mcp-server/src/relocation-integrity-gate/__tests__/relocation-integrity-gate.test.ts +72 -5
  153. package/mcp-server/src/relocation-integrity-gate/relocation-integrity-gate.ts +81 -24
  154. package/mcp-server/src/tools/list-cross-references.ts +2 -2
  155. package/package.json +23 -21
  156. package/src/__tests__/browser-distribution/css-bundling.test.ts +6 -4
  157. package/src/__tests__/console-allowlist.json +14 -0
  158. package/src/__tests__/console-fail-setup.ts +169 -0
  159. package/src/__tests__/integration/Spec107-DesignLanguageContext.test.ts +16 -0
  160. package/src/__tests__/stemma-system/behavioral-contract-validation.test.ts +70 -17
  161. package/src/__tests__/stemma-system/contract-catalog-name-validation.test.ts +28 -0
  162. package/src/__tests__/stemma-system/form-inputs-contracts.test.ts +223 -16
  163. package/src/__tests__/stemma-system/input-text-native-base-call-alignment.test.ts +298 -0
  164. package/src/blend/OklchBlendCalculator.ts +3 -0
  165. package/src/blend/ThemeAwareBlendUtilities.android.kt +3 -0
  166. package/src/blend/ThemeAwareBlendUtilities.ios.swift +3 -0
  167. package/src/blend/ThemeAwareBlendUtilities.web.ts +9 -1
  168. package/src/blend/__tests__/InteractionStateAudit.test.ts +12 -9
  169. package/src/build/errors/__tests__/ErrorHandler.integration.test.ts +8 -0
  170. package/src/build/errors/__tests__/ErrorHandler.test.ts +5 -0
  171. package/src/build/workflow/__tests__/CICDIntegration.test.ts +12 -1
  172. package/src/cli/__tests__/init.test.ts +45 -11
  173. package/src/components/core/Avatar-Base/Avatar-Base.schema.yaml +1 -1
  174. package/src/components/core/Avatar-Base/__tests__/Avatar.accessibility.test.ts +121 -7
  175. package/src/components/core/Avatar-Base/__tests__/Avatar.image.test.ts +3 -0
  176. package/src/components/core/Avatar-Base/__tests__/Avatar.test.ts +15 -6
  177. package/src/components/core/Avatar-Base/contracts.yaml +11 -1
  178. package/src/components/core/Avatar-Base/platforms/web/Avatar.web.ts +24 -5
  179. package/src/components/core/Badge-Count-Base/contracts.yaml +1 -1
  180. package/src/components/core/Badge-Label-Base/contracts.yaml +1 -1
  181. package/src/components/core/Button-CTA/Button-CTA.schema.yaml +2 -12
  182. package/src/components/core/Button-CTA/README.md +3 -6
  183. package/src/components/core/Button-CTA/__tests__/ButtonCTA.test.ts +35 -89
  184. package/src/components/core/Button-CTA/__tests__/setup.test.ts +0 -2
  185. package/src/components/core/Button-CTA/__tests__/test-utils.ts +0 -2
  186. package/src/components/core/Button-CTA/contracts.yaml +6 -29
  187. package/src/components/core/Button-CTA/examples/BasicUsage.html +2 -14
  188. package/src/components/core/Button-CTA/examples/BasicUsage.tsx +17 -44
  189. package/src/components/core/Button-CTA/platforms/android/ButtonCTA.android.kt +12 -20
  190. package/src/components/core/Button-CTA/platforms/ios/ButtonCTA.ios.swift +12 -51
  191. package/src/components/core/Button-CTA/platforms/web/ButtonCTA.web.css +2 -26
  192. package/src/components/core/Button-CTA/platforms/web/ButtonCTA.web.ts +18 -71
  193. package/src/components/core/Button-CTA/types.ts +10 -28
  194. package/src/components/core/Chip-Base/__tests__/ChipBase.test.ts +13 -0
  195. package/src/components/core/Chip-Filter/__tests__/ChipFilter.test.ts +13 -0
  196. package/src/components/core/Chip-Input/__tests__/ChipInput.test.ts +13 -0
  197. package/src/components/core/Input-Text-Base/Input-Text-Base.schema.yaml +30 -2
  198. package/src/components/core/Input-Text-Base/README.md +25 -2
  199. package/src/components/core/Input-Text-Base/__tests__/focusIndicators.test.ts +16 -15
  200. package/src/components/core/Input-Text-Base/contracts.yaml +90 -0
  201. package/src/components/core/Input-Text-Base/platforms/android/InputTextBase.android.kt +26 -12
  202. package/src/components/core/Input-Text-Base/platforms/ios/InputTextBase.ios.swift +195 -59
  203. package/src/components/core/Input-Text-Base/types.ts +13 -1
  204. package/src/components/core/Input-Text-Email/Input-Text-Email.schema.yaml +5 -1
  205. package/src/components/core/Input-Text-Email/README.md +8 -7
  206. package/src/components/core/Input-Text-Email/platforms/android/InputTextEmail.android.kt +1 -4
  207. package/src/components/core/Input-Text-Email/platforms/ios/InputTextEmail.ios.swift +2 -16
  208. package/src/components/core/Input-Text-Password/Input-Text-Password.schema.yaml +10 -3
  209. package/src/components/core/Input-Text-Password/README.md +9 -8
  210. package/src/components/core/Input-Text-Password/contracts.yaml +5 -0
  211. package/src/components/core/Input-Text-Password/platforms/android/InputTextPassword.android.kt +17 -7
  212. package/src/components/core/Input-Text-Password/platforms/ios/InputTextPassword.ios.swift +22 -20
  213. package/src/components/core/Input-Text-Password/platforms/web/InputTextPassword.web.ts +11 -2
  214. package/src/components/core/Input-Text-PhoneNumber/Input-Text-PhoneNumber.schema.yaml +5 -1
  215. package/src/components/core/Input-Text-PhoneNumber/README.md +9 -8
  216. package/src/components/core/Input-Text-PhoneNumber/platforms/android/InputTextPhoneNumber.android.kt +2 -5
  217. package/src/components/core/Input-Text-PhoneNumber/platforms/ios/InputTextPhoneNumber.ios.swift +3 -17
  218. package/src/components/core/Nav-Header-App/contracts.yaml +1 -1
  219. package/src/components/core/Nav-SegmentedChoice-Base/contracts.yaml +1 -1
  220. package/src/components/core/Progress-Indicator-Connector-Base/contracts.yaml +1 -1
  221. package/src/components/core/Progress-Indicator-Label-Base/contracts.yaml +1 -1
  222. package/src/components/core/Progress-Indicator-Node-Base/contracts.yaml +1 -1
  223. package/src/components/core/Progress-Stepper-Base/__tests__/StepperBase.test.ts +5 -2
  224. package/src/components/core/Progress-Stepper-Detailed/__tests__/StepperDetailed.test.ts +5 -2
  225. package/src/generators/DTCGFormatGenerator.ts +6 -0
  226. package/src/generators/__tests__/DTCGConfigOptions.test.ts +14 -5
  227. package/src/integration/BuildErrorHandler.ts +2 -2
  228. package/src/tokens/OpacityTokens.ts +1 -1
  229. package/src/tokens/__tests__/OpacityTokens.test.ts +3 -1
  230. package/src/tokens/semantic/BlendTokens.ts +26 -5
  231. package/src/tokens/semantic/OpacityTokens.ts +4 -4
  232. package/src/tools/release/__tests__/ReleasePipeline.test.ts +1 -1
  233. package/src/types/ComponentTypes.ts +1 -1
  234. package/src/types/generated/TokenTypes.ts +1 -1
  235. package/src/validators/StemmaTokenUsageValidator.ts +3 -2
  236. package/token-index/semantics.yaml +1 -2
@@ -9,7 +9,7 @@ description: Standards for creating spec documents — requirements format (EARS
9
9
 
10
10
  **Date**: 2025-01-10
11
11
  **Updated**: October 20, 2025
12
- **Last Reviewed**: 2025-12-15
12
+ **Last Reviewed**: 2026-07-05
13
13
  **Purpose**: Standards for creating requirements, design, and task documents for feature specifications
14
14
  **Organization**: process-standard
15
15
  **Scope**: cross-project
@@ -35,7 +35,7 @@ description: Standards for creating spec documents — requirements format (EARS
35
35
 
36
36
  1. ✅ **Component-Templates** - Query "Behavioral Contract Templates" section for:
37
37
  - Interaction contracts (Focusable, Pressable, Hoverable)
38
- - State contracts (Disabled, Error, Success, Loading)
38
+ - State contracts (Error, Success, Loading)
39
39
  - Accessibility contracts (Focus Ring, Reduced Motion, Screen Reader Hidden)
40
40
  - Visual contracts (Pressed State, Float Label Animation)
41
41
 
@@ -46,8 +46,8 @@ description: Standards for creating spec documents — requirements format (EARS
46
46
 
47
47
  **MCP Queries**:
48
48
  ```
49
- get_section({ path: ".kiro/steering/Component-Templates.md", heading: "Behavioral Contract Templates" })
50
- get_section({ path: ".kiro/steering/Component-Quick-Reference.md", heading: "Naming Convention" })
49
+ get_section({ path: "component-family-templates", heading: "Behavioral Contract Templates" })
50
+ get_section({ path: "component-quick-reference", heading: "Naming Convention" })
51
51
  ```
52
52
 
53
53
  **Why**: Component specs need behavioral contracts for interaction states, accessibility patterns, and platform-specific behaviors that generic spec guidance doesn't cover.
@@ -59,8 +59,8 @@ get_section({ path: ".kiro/steering/Component-Quick-Reference.md", heading: "Nam
59
59
 
60
60
  ### WHEN Creating Tasks Document THEN Read:
61
61
  1. ✅ **Tasks Document Format** (MUST READ)
62
- 2. ✅ **Task Type Classification System** (MUST READ - understand Setup/Implementation/Architecture)
63
- 3. ✅ **Reference: Task Type Definitions** (`.kiro/steering/Process-Task-Type-Definitions.md` - if unclear on classification)
62
+ 2. ✅ **Task Type Classification System** (MUST READ - understand Setup/Implementation/Architecture/Documentation)
63
+ 3. ✅ **Reference: Task Type Definitions** (`governance/Process-Task-Type-Definitions.md` - if unclear on classification)
64
64
  4. ✅ **Spec Workflow: Phase 3** (scroll to Spec Workflow section)
65
65
  5. ❌ **SKIP**: Detailed validation tiers, detailed documentation tiers, rationale sections
66
66
 
@@ -366,17 +366,17 @@ During spec formalization (design-outline → requirements.md), Thurgood will id
366
366
  - [Path to completion doc]
367
367
 
368
368
  - [ ] [N.1] [Sub-task Title]
369
- **Type**: [Setup | Implementation | Architecture]
369
+ **Type**: [Setup | Implementation | Architecture | Documentation]
370
370
  **Validation**: [Tier 1: Minimal | Tier 2: Standard | Tier 3: Comprehensive]
371
- **Agent**: [Agent name]
371
+ **Agent**: [Agent name (Model)]
372
372
  - [Implementation step 1]
373
373
  - [Implementation step 2]
374
374
  - _Requirements: [Requirement IDs]_
375
375
 
376
376
  - [ ] [N.2] [Sub-task Title]
377
- **Type**: [Setup | Implementation | Architecture]
377
+ **Type**: [Setup | Implementation | Architecture | Documentation]
378
378
  **Validation**: [Tier 1: Minimal | Tier 2: Standard | Tier 3: Comprehensive]
379
- **Agent**: [Agent name]
379
+ **Agent**: [Agent name (Model)]
380
380
  - [Implementation step 1]
381
381
  - [Implementation step 2]
382
382
  - _Requirements: [Requirement IDs]_
@@ -427,6 +427,9 @@ During spec formalization (design-outline → requirements.md), Thurgood will id
427
427
  - Indicates the optimal agent based on domain boundaries (Ada: tokens/pipeline, Lina: components/tests, Thurgood: governance/specs)
428
428
  - For cross-domain tasks, use `Agent A + Agent B` with rationale
429
429
  - Agent field is a recommendation — Peter may route differently based on context
430
+ - **Recommended model rides the Agent field, per task**: `**Agent**: Thurgood (Sonnet)` — agent, then model in parentheses. The model is the *task's* tier, not the agent's — the same agent may carry different models on different tasks (implement-work → the cheaper tier; a decide task → the higher tier). Cross-domain: `Agent A (Model) + Agent B (Model)`.
431
+ - The model is a **concrete name and advisory as of authoring, never a binding** — the executing orchestrator re-checks it against the current model lineup (delegate-then-verify is the net). It jumpstarts tier calibration even when the always-loaded cue is absent; a stale or rote stamp is re-derived at delegation, never treated as permission to skip calibration.
432
+ - When the recommended tier **diverges from what the task's Type implies** (an Architecture task run at the cheaper tier because design already settled the calls, or the reverse), add a one-line reason. See `process-orchestration-model-selection` for the decide-vs-implement axis.
430
433
  - Parent tasks use Type: Parent with Tier 3: Comprehensive validation
431
434
  - Type determines which validation tier and documentation tier to apply
432
435
 
@@ -436,7 +439,7 @@ During spec formalization (design-outline → requirements.md), Thurgood will id
436
439
 
437
440
  **Contract Traceability:**
438
441
  - Every platform implementation subtask in a component spec must include `_Contracts:` lines listing the contracts that subtask satisfies
439
- - Format: `_Contracts: interaction_focusable, interaction_pressable, state_disabled_`
442
+ - Format: `_Contracts: interaction_focusable, interaction_pressable, state_loading_`
440
443
  - This maps implementation work to behavioral guarantees, enabling review and audit
441
444
 
442
445
  ### Task Format Examples
@@ -466,8 +469,7 @@ During spec formalization (design-outline → requirements.md), Thurgood will id
466
469
 
467
470
  **Post-Completion:**
468
471
  - Mark complete: Use `taskStatus` tool to update task status
469
- - Commit changes: `./.kiro/hooks/commit-task.sh "Task 1 Complete: Build System Foundation"` (runs release analysis automatically)
470
- - Verify: Check GitHub for committed changes
472
+ - Complete the parent on its unit branch: `./.kiro/hooks/complete-task.sh "Task 1 Complete: Build System Foundation (spec)"`. If this parent IS its own merge unit → the tooling opens the PR; report the URL and STOP. If it is one of several in a declared multi-parent unit → docs commit on the branch (no PR); the PR opens at unit completion. **Accepted when the UNIT merges.**
471
473
 
472
474
  - [ ] 1.1 Create directory structure
473
475
  **Type**: Setup
@@ -569,8 +571,7 @@ During spec formalization (design-outline → requirements.md), Thurgood will id
569
571
 
570
572
  **Post-Completion:**
571
573
  - Mark complete: Use `taskStatus` tool to update task status
572
- - Commit changes: `./.kiro/hooks/commit-task.sh "Task 5 Complete: Token Generation System"` (runs release analysis automatically)
573
- - Verify: Check GitHub for committed changes
574
+ - Complete the parent on its unit branch: `./.kiro/hooks/complete-task.sh "Task 5 Complete: Token Generation System (spec)"`. If this parent IS its own merge unit → the tooling opens the PR; report the URL and STOP. If it is one of several in a declared multi-parent unit → docs commit on the branch (no PR); the PR opens at unit completion. **Accepted when the UNIT merges.**
574
575
 
575
576
  - [ ] 5.1 Set up generator directory structure
576
577
  **Type**: Setup
@@ -614,7 +615,7 @@ During spec formalization (design-outline → requirements.md), Thurgood will id
614
615
 
615
616
  ### Overview
616
617
 
617
- The Task Type Classification System provides a three-tier approach to categorizing tasks based on their complexity, risk, and nature of work. Task types are determined during the planning phase (when creating tasks.md) and guide the appropriate level of validation and completion documentation during execution.
618
+ The Task Type Classification System provides a structured approach to categorizing tasks based on their complexity, risk, and nature of work. Task types are determined during the planning phase (when creating tasks.md) and guide the appropriate level of validation and completion documentation during execution.
618
619
 
619
620
  This classification system enables:
620
621
  - **Objective task categorization** based on clear characteristics
@@ -622,7 +623,7 @@ This classification system enables:
622
623
  - **Proportional documentation detail** aligned with task type
623
624
  - **Consistent AI agent execution** through unambiguous task metadata
624
625
 
625
- ### Three Task Types
626
+ ### Task Types
626
627
 
627
628
  #### Setup Tasks
628
629
 
@@ -691,6 +692,28 @@ This classification system enables:
691
692
 
692
693
  **Validation & Documentation**: Tier 3 - Comprehensive
693
694
 
695
+ #### Documentation Tasks
696
+
697
+ **Definition**: Writing work that produces or updates documentation artifacts
698
+
699
+ **Characteristics**:
700
+ - Produces or updates documentation files; no production code, test, or configuration behavior changes
701
+ - Applies only when the *entire* output is documentation artifacts: mixed code+doc tasks are classified by the code work (Implementation/Architecture), and tooling-consumed metadata (component schemas, `component-meta.yaml`) is Implementation, not Documentation
702
+ - Success measured by artifact existence and content acceptance criteria (SHALL/SHALL NOT where relevant)
703
+ - No runtime risk; risk is informational (inaccuracy, staleness, broken cross-references)
704
+ - Governance-*law* targets route through the ballot-measure model (agent drafts, Peter ratifies); spec-authorized steering updates proceed under the spec's authority; rebuild the affected MCP index after application either way
705
+ - Validated by artifact and content checks, not test suites
706
+
707
+ **Examples**:
708
+ - Author completion and summary documentation
709
+ - Deliver cross-spec handback or closeout notes
710
+ - Draft ballot-measure steering proposals
711
+ - Log deferred findings in the issues registry
712
+ - Write or update consumer-facing guides
713
+ - Apply spec-authorized steering-doc updates
714
+
715
+ **Validation & Documentation**: Tier 1 - Minimal (default; escalate to Tier 2 - Standard only when the artifact BOTH carries SHALL/SHALL NOT contract semantics AND other specs' decisions depend on it)
716
+
694
717
  #### Parent Tasks
695
718
 
696
719
  **Definition**: Container tasks that encompass multiple subtasks and define overall success criteria
@@ -716,7 +739,7 @@ Task types are determined during **Phase 3: Tasks** of the spec workflow, when c
716
739
  2. **Identify task characteristics** (structural vs coding vs design work)
717
740
  3. **Assess complexity and risk** (low vs medium vs high)
718
741
  4. **Determine validation needs** (minimal vs standard vs comprehensive)
719
- 5. **Assign task type** (Setup, Implementation, or Architecture)
742
+ 5. **Assign task type** (Setup, Implementation, Architecture, or Documentation)
720
743
  6. **Add type metadata** to task in tasks.md
721
744
 
722
745
  #### Classification Decision Examples
@@ -787,7 +810,7 @@ Document decision in tasks.md for future reference
787
810
  #### Clear Classification
788
811
 
789
812
  When task type is obvious from characteristics:
790
- 1. Assign appropriate type (Setup, Implementation, Architecture)
813
+ 1. Assign appropriate type (Setup, Implementation, Architecture, Documentation)
791
814
  2. Add type metadata to task
792
815
  3. Proceed with task creation
793
816
 
@@ -811,7 +834,7 @@ When encountering a task pattern not covered by existing definitions:
811
834
 
812
835
  For detailed task type definitions with comprehensive examples, see:
813
836
 
814
- **Task Type Definitions**: `.kiro/steering/Process-Task-Type-Definitions.md`
837
+ **Task Type Definitions**: `governance/Process-Task-Type-Definitions.md`
815
838
 
816
839
  This living document provides:
817
840
  - Detailed definitions for each task type
@@ -826,7 +849,7 @@ Task type metadata is included in the tasks.md format:
826
849
 
827
850
  ```markdown
828
851
  - [ ] [N.1] [Sub-task Title]
829
- **Type**: [Setup | Implementation | Architecture]
852
+ **Type**: [Setup | Implementation | Architecture | Documentation]
830
853
  **Validation**: [Tier 1: Minimal | Tier 2: Standard | Tier 3: Comprehensive]
831
854
  - [Implementation step 1]
832
855
  - [Implementation step 2]
@@ -1085,7 +1108,7 @@ This document provides:
1085
1108
 
1086
1109
  ### Overview
1087
1110
 
1088
- The Three-Tier Validation System aligns validation depth with task complexity and risk. Each task type (Setup, Implementation, Architecture, Parent) has a corresponding validation tier that specifies the checks required before marking a task complete.
1111
+ The Three-Tier Validation System aligns validation depth with task complexity and risk. Each task type (Setup, Implementation, Architecture, Documentation, Parent) has a corresponding validation tier that specifies the checks required before marking a task complete.
1089
1112
 
1090
1113
  This validation system ensures:
1091
1114
  - **Appropriate error detection** matched to task complexity
@@ -1107,18 +1130,19 @@ This validation system ensures:
1107
1130
 
1108
1131
  ### Validation Tier Definitions
1109
1132
 
1110
- The three validation tiers (Minimal, Standard, Comprehensive) align with task types (Setup, Implementation, Architecture/Parent). Each tier specifies the required checks before marking a task complete.
1133
+ The three validation tiers (Minimal, Standard, Comprehensive) align with task types (Setup/Documentation, Implementation, Architecture/Parent). Each tier specifies the required checks before marking a task complete.
1111
1134
 
1112
1135
  **For detailed tier definitions**, including required checks, validation examples, and failure handling, query Task-Type-Definitions via MCP:
1113
1136
 
1114
1137
  ```
1115
- get_section({ path: ".kiro/steering/Process-Task-Type-Definitions.md", heading: "Setup Tasks" })
1116
- get_section({ path: ".kiro/steering/Process-Task-Type-Definitions.md", heading: "Implementation Tasks" })
1117
- get_section({ path: ".kiro/steering/Process-Task-Type-Definitions.md", heading: "Architecture Tasks" })
1138
+ get_section({ path: "process-task-type-definitions", heading: "Setup Tasks" })
1139
+ get_section({ path: "process-task-type-definitions", heading: "Implementation Tasks" })
1140
+ get_section({ path: "process-task-type-definitions", heading: "Architecture Tasks" })
1141
+ get_section({ path: "process-task-type-definitions", heading: "Documentation Tasks" })
1118
1142
  ```
1119
1143
 
1120
1144
  **Quick Reference**:
1121
- - **Tier 1 (Setup)**: Syntax validation, artifact verification, basic structure check
1145
+ - **Tier 1 (Setup/Documentation)**: Syntax validation, artifact verification, basic structure check
1122
1146
  - **Tier 2 (Implementation)**: Syntax, functional correctness, integration, requirements compliance
1123
1147
  - **Tier 3 (Architecture/Parent)**: All Tier 2 checks plus design soundness, system integration, edge cases, success criteria verification
1124
1148
 
@@ -1220,7 +1244,7 @@ get_section({ path: ".kiro/steering/Process-Task-Type-Definitions.md", heading:
1220
1244
 
1221
1245
  ### Overview
1222
1246
 
1223
- The Three-Tier Completion Documentation System aligns documentation detail with task complexity and type. Each task type (Setup, Implementation, Architecture, Parent) has a corresponding documentation tier that specifies the required sections and level of detail for completion documentation.
1247
+ The Three-Tier Completion Documentation System aligns documentation detail with task complexity and type. Each task type (Setup, Implementation, Architecture, Documentation, Parent) has a corresponding documentation tier that specifies the required sections and level of detail for completion documentation.
1224
1248
 
1225
1249
  This documentation system ensures:
1226
1250
  - **Appropriate documentation depth** matched to task complexity
@@ -1240,12 +1264,12 @@ This documentation system ensures:
1240
1264
 
1241
1265
  ---
1242
1266
 
1243
- ### Tier 1: Minimal Documentation (Setup Tasks)
1267
+ ### Tier 1: Minimal Documentation (Setup and Documentation Tasks)
1244
1268
 
1245
1269
  **📖 CONDITIONAL SECTION - Read only when needed**
1246
1270
 
1247
1271
  **Load when**:
1248
- - Documenting Setup task completion (Tier 1)
1272
+ - Documenting Setup or Documentation task completion (Tier 1)
1249
1273
  - Need to understand minimal documentation requirements
1250
1274
  - Creating completion docs for structural work
1251
1275
  - Need template for Setup task documentation
@@ -1261,6 +1285,7 @@ This documentation system ensures:
1261
1285
 
1262
1286
  **When to Apply**:
1263
1287
  - Setup tasks (directory creation, configuration files, dependency installation)
1288
+ - Documentation tasks (completion docs, handbacks, guides — Tier 1 default)
1264
1289
  - Low complexity, low risk work
1265
1290
  - Straightforward operations with clear outcomes
1266
1291
 
@@ -2220,7 +2245,7 @@ Developers can now:
2220
2245
 
2221
2246
  **Forward-Looking Note**: This summary document workflow applies to new specs going forward. Existing completion documents don't need changes.
2222
2247
 
2223
- **Release Analysis**: The release tool (`src/tools/release/`) scans summary documents via git log to generate release notes. `commit-task.sh` runs release analysis automatically after each commit.
2248
+ **Release Analysis**: The release tool (`src/tools/release/`) scans summary documents via git log to generate release notes. Release analysis runs post-merge on `main` (non-blocking); run `npm run release:analyze` for on-demand detail.
2224
2249
 
2225
2250
  **Format Template**:
2226
2251
 
@@ -2400,9 +2425,22 @@ When creating cross-references, calculate relative paths based on the source doc
2400
2425
 
2401
2426
  ## Spec Workflow
2402
2427
 
2403
- ### Phase 1: Requirements
2428
+ ### Phase 0: Design Outline
2429
+
2430
+ **Current practice (standard since early 2026)**: specs begin with a design outline (`design-outline.md` in the spec directory) that explores the problem, options, and scope before any formal document is written. Recent specs (121–125) all follow this pattern.
2431
+
2432
+ 1. Create `design-outline.md` in `.kiro/specs/[spec-name]/`
2433
+ 2. Create the feedback document(s) alongside it — a single `feedback.md` or a split-by-phase `feedback/` directory (e.g., `feedback/design-outline.md`). Both structures are defined in the **Spec Feedback Protocol** (Layer 1, always loaded), which is the authority for feedback structure, stamp format (`[AGENT R#]`), directed questions, and incorporation passes
2434
+ 3. Request feedback rounds from identified stakeholders; incorporate feedback into the outline body as a coherent revision (woven, not appended), recording session decisions and incorporation notes in the feedback doc
2435
+ 4. Proceed to requirements only after outline feedback is incorporated and the project lead approves
2436
+
2437
+ **STUB outlines for gated specs**: When formalization is blocked on an upstream decision, a design outline may be created as an explicit **STUB** — capturing scope, dependencies, and cross-references only, with a clear "do not formalize until [gate]" marker and no architecture decisions (which would pre-empt the upstream spec). Precedents: Specs 123 (gated on 118) and 125.
2404
2438
 
2405
- **For component development**: Consider creating a design outline before requirements to explore variants, token usage, and platform considerations. See Component Development Guide for component-specific spec methodology.
2439
+ **Sequential formalization gates**: requirements → design → tasks each pause for agent feedback before proceeding, unless the project lead explicitly waives the gate. See Spec Feedback Protocol § "Sequential Formalization Gate" — this document defers to it.
2440
+
2441
+ **For component development**: the Component Development Guide adds component-specific design-outline methodology (variants, token usage, platform considerations).
2442
+
2443
+ ### Phase 1: Requirements
2406
2444
 
2407
2445
  1. Generate initial requirements based on feature idea
2408
2446
  2. Use EARS format for acceptance criteria
@@ -2426,7 +2464,7 @@ When creating cross-references, calculate relative paths based on the source doc
2426
2464
  - Assess complexity and risk (low vs medium vs high)
2427
2465
  - Assign task type (Setup, Implementation, or Architecture)
2428
2466
  - Add **Type** and **Validation** metadata to each subtask
2429
- - Reference **Task Type Definitions** (`.kiro/steering/Process-Task-Type-Definitions.md`) for classification guidance
2467
+ - Reference **Task Type Definitions** (`governance/Process-Task-Type-Definitions.md`) for classification guidance
2430
2468
  - Prompt human for clarification if task type is ambiguous
2431
2469
  4. Add success criteria at primary task level
2432
2470
  5. Include artifacts and completion documentation paths
@@ -2451,18 +2489,18 @@ When creating cross-references, calculate relative paths based on the source doc
2451
2489
  - **Tier 1 (Setup)**: Minimal format - artifacts, notes, validation
2452
2490
  - **Tier 2 (Implementation)**: Standard format - artifacts, details, validation, requirements
2453
2491
  - **Tier 3 (Architecture/Parent)**: Comprehensive format - artifacts, decisions, algorithm, validation, lessons, integration
2454
- 6. **Commit changes**: Run `./.kiro/hooks/commit-task.sh "Task Name"` to commit and push
2455
- 7. Verify all validation checks passed before moving to next task
2492
+ 6. **Open the task PR**: Run `./.kiro/hooks/complete-task.sh "Task Name"` — commit on the task branch, push, open the PR, report the URL, STOP
2493
+ 7. The task completes at merge (Peter merges on green); required checks must pass on the PR before it is mergeable
2456
2494
 
2457
2495
  **Two Workflow Paths:**
2458
2496
 
2459
2497
  **Path A (Recommended - IDE-based with automation)**:
2460
- - Use `taskStatus` tool → Triggers agent hooks → Auto organization → Auto release detection → Manual commit
2498
+ - Use `taskStatus` tool → Triggers agent hooks → Auto organization → Auto release detection → `complete-task.sh` (commits on the task branch; opens the unit PR at unit completion)
2461
2499
  - **Benefit**: Automated file organization and release detection
2462
2500
  - **Use when**: Working within Kiro IDE on spec tasks
2463
2501
 
2464
2502
  **Path B (Manual - Script-based)**:
2465
- - Manual task status updates → Manual commit via script → No agent hooks triggered
2503
+ - Manual task status updates → `complete-task.sh` on the task branch → No agent hooks triggered
2466
2504
  - **Benefit**: Simpler, direct control
2467
2505
  - **Use when**: Quick fixes, non-spec work, or when agent hooks aren't needed
2468
2506
  - **Note**: Run `npm run release:analyze` for on-demand release analysis
@@ -2634,6 +2672,20 @@ When your spec depends on another spec, declare dependencies explicitly in the h
2634
2672
  - **BLOCKER**: Cannot write integration tests until ButtonCTA works in test environment
2635
2673
  ```
2636
2674
 
2675
+ #### Handoff Notes (`inbound-from-*.md`)
2676
+
2677
+ **Current practice**: when one spec (or a named analysis) produces decisions, findings, or obligations that a different spec must consume, a handoff note is written into the receiving spec's directory:
2678
+
2679
+ ```
2680
+ .kiro/specs/[receiving-spec]/inbound-from-[source].md
2681
+ ```
2682
+
2683
+ - The source may be a spec number (`inbound-from-118.md`) or a named analysis (`inbound-from-wordpress-thesis.md`)
2684
+ - Handoff notes capture what the receiving spec must honor or evaluate during formalization — they are inputs to the design outline, not spec artifacts themselves
2685
+ - During formalization, the spec author reconciles all inbound notes into the outline and formal documents
2686
+
2687
+ Precedents in the spec record: 118, 119, 122, 123, 124, and 125 all carry inbound handoff notes.
2688
+
2637
2689
  #### When to Check Dependencies
2638
2690
 
2639
2691
  **During Requirements Phase**:
@@ -2666,7 +2718,7 @@ When a task cannot proceed due to external dependencies, mark it as blocked with
2666
2718
 
2667
2719
  ```markdown
2668
2720
  - [ ] X.Y Task Name
2669
- **Type**: [Setup | Implementation | Architecture]
2721
+ **Type**: [Setup | Implementation | Architecture | Documentation]
2670
2722
  **Validation**: [Tier 1 | Tier 2 | Tier 3]
2671
2723
  **Status**: BLOCKED
2672
2724
  **Blocker**: [Spec XXX Task Y.Z] - [Specific reason]
@@ -8,7 +8,7 @@ description: Task type definitions for the three-tier validation and documentati
8
8
  # Task Type Definitions
9
9
 
10
10
  **Date**: 2025-10-20
11
- **Last Reviewed**: 2025-12-15
11
+ **Last Reviewed**: 2026-07-05
12
12
  **Purpose**: Define task types for three-tier validation and documentation system
13
13
  **Organization**: process-standard
14
14
  **Scope**: cross-project
@@ -23,7 +23,7 @@ description: Task type definitions for the three-tier validation and documentati
23
23
 
24
24
  ### WHEN Creating Tasks Document (Planning Phase) THEN Read:
25
25
  1. ✅ **Overview** (MUST READ - understand task type purpose)
26
- 2. ✅ **All Task Type Definitions** (Setup, Implementation, Architecture)
26
+ 2. ✅ **All Task Type Definitions** (Setup, Implementation, Architecture, Documentation)
27
27
  3. ✅ **Characteristics and Examples** for each type
28
28
  4. ✅ **Validation and Documentation Tiers** for each type
29
29
  5. ❌ **SKIP**: Update History (unless encountering new patterns)
@@ -57,7 +57,7 @@ description: Task type definitions for the three-tier validation and documentati
57
57
 
58
58
  **Note**: This section intentionally uses the same heading as other steering documents because each document provides an overview of its specific system or process. This structural pattern enables consistent navigation across documentation.
59
59
 
60
- This document defines the three task types used in the Spec Planning Standards to determine appropriate validation depth and completion documentation detail. Task types are determined during the planning phase and guide execution practices.
60
+ This document defines the four task types used in the Spec Planning Standards to determine appropriate validation depth and completion documentation detail. Task types are determined during the planning phase and guide execution practices. Task type also informs the **recommended model tier** for delegated work (Architecture → *decide* / higher tier; Setup / Implementation / Documentation → *implement* / cheaper tier) — see `process-orchestration-model-selection`.
61
61
 
62
62
  **Layer Context**: This is a Layer 2 (Frameworks and Patterns) document that provides reusable classification framework for spec planning. It works with Spec Planning Standards to enable consistent task type assignment across all specs.
63
63
 
@@ -302,6 +302,74 @@ Architecture tasks use comprehensive documentation to capture design decisions a
302
302
 
303
303
  ---
304
304
 
305
+ ## Documentation Tasks
306
+
307
+ ### Definition
308
+
309
+ Documentation tasks are **writing work that produces or updates documentation artifacts** — completion documentation, cross-spec handoffs and closeout notes, issues-registry entries, consumer-facing guides, and drafts or spec-authorized updates of governance/steering content. They change what the project knows and records, not what the code does: no production code, test, or configuration behavior is modified.
310
+
311
+ ### Characteristics
312
+
313
+ - **Artifact-producing**: Creates or updates documentation files; success is measured by artifact existence and content matching stated acceptance criteria
314
+ - **Content acceptance criteria**: Well-formed Documentation tasks state what the artifact SHALL contain (and, where relevant, SHALL NOT contain)
315
+ - **No runtime risk**: Cannot break builds, tests, or shipped behavior; the risk is informational — inaccuracy, staleness, broken cross-references
316
+ - **The output decides the classification**: Documentation applies only to tasks whose *entire* output is documentation artifacts — content read by humans and agents, not executed or consumed by tooling. Two corollaries: a task that modifies code AND documentation is classified by the code work (Implementation or Architecture); and metadata artifacts consumed by tooling (component schemas, `component-meta.yaml`) are Implementation, not Documentation — writing work that changes shipped-tool behavior fails the "no configuration behavior" test
317
+ - **Governance routing**: When the target is governance *law* (task taxonomy, process standards, steering content whose change is not already authorized by an approved spec), the task produces a *proposal* — the edit routes through the ballot-measure model (agent drafts, Peter ratifies). Steering-doc updates that an approved spec explicitly authorizes proceed under that spec's authority (precedent: Spec 102 Task 1.8; Specs 020 and 036 are entire steering-doc specs). Either way, rebuild the affected MCP index after application
318
+ - **Artifact-based validation**: Validated by artifact and content checks (files exist, criteria met, cross-references resolve, metadata valid), not by test suites
319
+
320
+ ### Examples
321
+
322
+ 1. **Author completion documentation**
323
+ - Write detailed completion doc + concise summary doc for a parent task
324
+ - Record decisions, deferred items, and out-of-scope routing
325
+ (Precedent: Spec 124 Task 5)
326
+
327
+ 2. **Deliver a cross-spec handback or closeout note**
328
+ - Write a guidance note into another spec's directory with defined SHALL/SHALL NOT content
329
+ - Cross-reference it from the receiving spec's decision record
330
+ (Precedent: Spec 124 Task 6; Spec 118 Task 6)
331
+
332
+ 3. **Draft ballot-measure steering proposals**
333
+ - Draft proposed steering-doc changes with before/after text for Peter's ratification
334
+ (Precedent: Spec 117 Task 6.1; Spec 118 Task 5.2)
335
+
336
+ 4. **Log deferred findings in the issues registry**
337
+ - Record out-of-scope findings with rationale; mark superseded issues resolved
338
+ (Precedent: Spec 117 Task 6.2)
339
+
340
+ 5. **Write or update consumer-facing documentation**
341
+ - README, onboarding, and usage guides
342
+ (Precedent: Specs 101, 102, 077)
343
+
344
+ 6. **Spec-authorized steering-doc updates**
345
+ - Apply steering-doc changes an approved spec explicitly authorizes; rebuild the affected MCP index
346
+ (Precedent: Spec 102 Task 1.8; Specs 020, 036)
347
+
348
+ ### Validation Tier
349
+
350
+ **Tier 1: Minimal (default)**
351
+
352
+ Documentation tasks default to minimal validation because they carry no runtime risk and have artifact-based success criteria:
353
+
354
+ - Verify all specified artifacts were created or updated
355
+ - Verify content satisfies the task's stated success criteria
356
+ - Verify cross-references resolve
357
+ - For governance/steering artifacts: metadata validates (`scripts/validate-steering-metadata.js`) and the affected MCP index is rebuilt after application
358
+
359
+ **Escalation to Tier 2 - Standard (planner's option)**: Escalate only when BOTH conditions hold — the artifact carries SHALL/SHALL NOT contract semantics, AND another spec's decisions depend on the artifact. The criterion is conjunctive: cross-spec dependency alone does not escalate (Spec 124 Task 6 — a gated cross-spec handback without contract semantics — stayed Tier 1), and neither does "this document is important." (Precedent for escalation: Spec 118 Tasks 5.2 and 6, which had both properties.)
360
+
361
+ **What Tier 2 means for a Documentation task**: all Tier 1 checks, PLUS per-criterion verification that each stated SHALL is satisfied and each stated SHALL NOT is absent from the artifact, PLUS verification that the receiving spec's cross-reference exists and resolves. (Grounded in Spec 118 Tasks 5.2/6 practice.)
362
+
363
+ ### Documentation Tier
364
+
365
+ **Tier 1: Minimal**
366
+
367
+ Documentation tasks use minimal completion documentation:
368
+
369
+ - **Artifacts Created/Updated**: List of documentation files created or changed
370
+ - **Implementation Notes**: Brief description of what was written and any routing (ballot staging, MCP index rebuild)
371
+ - **Validation**: Document Tier 1 validation results (or Tier 2, if escalated)
372
+
305
373
  ## Update History
306
374
 
307
375
  This section tracks updates to task type definitions as new patterns emerge through human-AI collaborative decision-making.
@@ -314,7 +382,7 @@ Each update should follow this format:
314
382
  ### [Date] - [Pattern Name]
315
383
 
316
384
  **Pattern**: [Brief description of the new task pattern or edge case]
317
- **Classification Decision**: [Setup / Implementation / Architecture]
385
+ **Classification Decision**: [Setup / Implementation / Architecture / Documentation]
318
386
  **Rationale**: [Why this classification was chosen]
319
387
  **Decided By**: [Human name] + [AI Agent]
320
388
  **Examples**: [Specific examples of this pattern]
@@ -376,3 +444,11 @@ Each update should follow this format:
376
444
  ---
377
445
 
378
446
  *This document provides clear task type definitions with examples to enable consistent classification during spec planning and execution.*
447
+
448
+ ### July 5, 2026 - Documentation Task Type Ratified
449
+
450
+ **Pattern**: Tasks that produce or update documentation artifacts (completion docs, cross-spec handbacks, ballot proposals, issues-registry entries, consumer docs, spec-authorized steering updates) with no production code changes.
451
+ **Classification Decision**: Documentation (new task type)
452
+ **Rationale**: Practice used `Type: Documentation` in 123 tasks across 23 specs while this document defined only three types; Task-Completion-Protocol (Layer 1) already enumerated four. Ratified via ballot measure (2026-07-05, from the A9 governance review; reviewed by Stacy, Ada, Lina) to reconcile law with practice. Default Tier 1 - Minimal; escalate to Tier 2 only when the artifact BOTH carries SHALL/SHALL NOT contract semantics AND other specs' decisions depend on it (precedent: Spec 118 Tasks 5.2, 6; counterexample: Spec 124 Task 6 stayed Tier 1). Classification follows the output: mixed code+doc tasks are classified by the code work; tooling-consumed metadata is Implementation.
453
+ **Decided By**: Peter Michaels Allen + Thurgood
454
+ **Examples**: Spec 124 Tasks 5, 6; Spec 118 Tasks 5.2, 6; Spec 117 Tasks 6.1, 6.2; Spec 102 Task 1.8; Specs 101/077 doc tasks.
@@ -143,6 +143,8 @@ During implementation, lessons accumulate from multiple sources — Leonardo's d
143
143
 
144
144
  Without this step, lessons collect but never get acted on.
145
145
 
146
+ > **Return-edge note (Spec 125-B Req 14)**: this review is the PRODUCT-side half of the strategy→tactics→validation loop's return edge — the channel through which validation evidence feeds back into what the docs teach. The SYSTEM-side half is the monthly Civitas governance health check's recurring-required-check-failure review item (canonical source: `canonical/agents/thurgood.md`, Cadence-driven section) — the two halves name each other by design, with no new machinery. The edge's first manual exercise was the 125-B U1 pilot observation window, recorded in that spec's closeout record; neither cadence claims it anew.
147
+
146
148
  ### Timing
147
149
 
148
150
  **Default trigger**: After a complete feature or flow is implemented across active platforms.
@@ -631,16 +631,16 @@ The exemption is **not silent**: each exempt subsystem has a **paired boot/smoke
631
631
 
632
632
  ```
633
633
  # Get this document
634
- get_document_full({ path: ".kiro/steering/Rosetta-System-Architecture.md" })
634
+ get_document_full({ path: "rosetta-system-architecture" })
635
635
 
636
636
  # Get specific sections
637
- get_section({ path: ".kiro/steering/Rosetta-System-Architecture.md", heading: "Token Pipeline Architecture" })
638
- get_section({ path: ".kiro/steering/Rosetta-System-Architecture.md", heading: "OKLCH Color Pipeline" })
639
- get_section({ path: ".kiro/steering/Rosetta-System-Architecture.md", heading: "Component Token Integration" })
640
- get_section({ path: ".kiro/steering/Rosetta-System-Architecture.md", heading: "Subsystem Entry Points Summary" })
637
+ get_section({ path: "rosetta-system-architecture", heading: "Token Pipeline Architecture" })
638
+ get_section({ path: "rosetta-system-architecture", heading: "OKLCH Color Pipeline" })
639
+ get_section({ path: "rosetta-system-architecture", heading: "Component Token Integration" })
640
+ get_section({ path: "rosetta-system-architecture", heading: "Subsystem Entry Points Summary" })
641
641
 
642
642
  # For token creation governance and guides
643
- get_section({ path: ".kiro/steering/Token-Governance.md", heading: "Token Creation Guides" })
643
+ get_section({ path: "token-governance", heading: "Token Creation Guides" })
644
644
  ```
645
645
 
646
646
  ---
@@ -14,7 +14,7 @@ description: Framework for validating behavioral contracts across web, iOS, and
14
14
  **Scope**: cross-project
15
15
  **Layer**: 2
16
16
  **Relevant Tasks**: component-development, cross-platform-validation, testing
17
- **Last Reviewed**: 2026-01-02
17
+ **Last Reviewed**: 2026-07-15
18
18
 
19
19
  ---
20
20
 
@@ -210,13 +210,11 @@ pressable_validation_checklist:
210
210
  - [ ] Click/tap triggers action
211
211
  - [ ] Enter key triggers action (web)
212
212
  - [ ] Space key triggers action (web)
213
- - [ ] Action NOT triggered when disabled
214
213
 
215
214
  state_validation:
216
215
  - [ ] Default state is correct
217
216
  - [ ] Hover state appears (desktop only)
218
217
  - [ ] Pressed/active state appears
219
- - [ ] Disabled state prevents interaction
220
218
 
221
219
  outcome_validation:
222
220
  - [ ] onPress callback is invoked
@@ -226,7 +224,6 @@ pressable_validation_checklist:
226
224
 
227
225
  accessibility_validation:
228
226
  - [ ] role="button" or semantic button (web)
229
- - [ ] aria-disabled when disabled (web)
230
227
  - [ ] Screen reader announces button
231
228
 
232
229
  cross_platform_validation:
@@ -305,38 +302,49 @@ error_state_validation_checklist:
305
302
  - [ ] Android: TalkBack announces error
306
303
  ```
307
304
 
308
- ### Disabled State Contract Validation
305
+ ### Disabled State Exclusion Guard Validation
309
306
 
310
- **Contract Definition**: Prevents interaction when disabled
307
+ **Provenance**: As of the 2026-07-15 adjudication (`.kiro/issues/button-cta-disabled-state-adjudication.md`), the no-disabled-states philosophy holds corpus-wide with **zero exceptions** — Button-CTA was the last component carrying `state_disabled`, and it has been removed. No component in the corpus may declare a disabled state as a behavioral contract, and `blend.disabledDesaturate` (along with the other disabled-state blend wrappers) is deprecated. Validation for this contract type has inverted: rather than validating that a disabled state behaves correctly, validation now confirms a disabled state does **not exist** and cannot be reintroduced.
308
+
309
+ **Contract Definition**: Component has no disabled state. Interaction affordances are always active; unavailable actions are handled by not rendering the component (or by another contract — see Philosophy Alternatives below), never by disabling it in place.
310
+
311
+ **Rationale**: DesignerPunk does not support disabled states for usability and accessibility reasons. If an action is unavailable, the component should not be rendered.
311
312
 
312
313
  ```yaml
313
- disabled_state_validation_checklist:
314
- trigger_validation:
315
- - [ ] Disabled state activates when disabled=true
316
- - [ ] Disabled state deactivates when disabled=false
317
-
318
- state_validation:
319
- - [ ] Component cannot receive focus
320
- - [ ] Component cannot be clicked/tapped
321
- - [ ] Visual styling indicates disabled state
322
- - [ ] Cursor shows not-allowed (web)
323
-
324
- outcome_validation:
325
- - [ ] onPress/onChange NOT called when disabled
326
- - [ ] Desaturated colors applied (blend.disabledDesaturate)
327
- - [ ] Component is visually distinct from enabled
328
-
329
- accessibility_validation:
330
- - [ ] aria-disabled="true" set (web)
331
- - [ ] Disabled state communicated to AT
332
- - [ ] Component removed from tab order (web)
333
-
314
+ disabled_state_exclusion_guard_checklist:
315
+ schema_validation:
316
+ - [ ] state_disabled is declared under contracts.yaml `excludes:` (NOT under `contracts:`)
317
+ - [ ] Excludes entry carries the standardized reason: "DesignerPunk does not support disabled states for usability and accessibility reasons. If an action is unavailable, the component should not be rendered."
318
+
319
+ api_surface_validation:
320
+ - [ ] Component exposes no disabled prop/property
321
+ - [ ] Component does not list `disabled` in observedAttributes (web) or an equivalent observed-attribute mechanism per platform
322
+
323
+ ignored_input_validation:
324
+ - [ ] A consumer-set disabled attribute is ignored — not forwarded to internal/shadow elements
325
+ - [ ] No disabled-styling class is applied when a disabled attribute is set
326
+ - [ ] No aria-disabled (or platform-equivalent) attribute is applied when a disabled attribute is set
327
+ - [ ] Press/activation still fires normally even when a consumer sets a disabled attribute
328
+
329
+ rendered_output_validation:
330
+ - [ ] No disabled attribute is ever rendered on any platform
331
+ - [ ] No aria-disabled attribute is ever rendered on any platform
332
+ - [ ] No platform-equivalent disabled semantic (e.g., Android `enabled = false`, iOS `.disabled()`) is ever applied
333
+
334
334
  cross_platform_validation:
335
- - [ ] Web: aria-disabled and tabindex=-1
336
- - [ ] iOS: .disabled() modifier applied
337
- - [ ] Android: enabled = false in semantics
335
+ - [ ] Web: no disabled/aria-disabled attribute, no tabindex=-1 for disabled reasons
336
+ - [ ] iOS: no `.disabled()` modifier applied
337
+ - [ ] Android: no `enabled = false` in semantics
338
338
  ```
339
339
 
340
+ **Philosophy Alternatives** — when a spec's design outline reaches for "disabled," redirect to the pattern that actually fits:
341
+
342
+ - **In-flight async action** → `state_loading` (component shows a loading/busy state; the action remains conceptually available, just pending)
343
+ - **Form input momentarily invalid** → validate-on-press / validate-on-submit (surface the error, do not disable the control)
344
+ - **Action genuinely unavailable** → do not render the component/action at all
345
+
346
+ **Mirror reference**: `src/components/core/Button-CTA/__tests__/ButtonCTA.test.ts`, `describe('No Disabled State (philosophy exclusion)')` — the canonical exclusion-guard test block this checklist is derived from.
347
+
340
348
  ### Hover State Contract Validation
341
349
 
342
350
  **Contract Definition**: Visual feedback on hover (desktop only)
@@ -347,7 +355,6 @@ hover_state_validation_checklist:
347
355
  - [ ] Hover state triggers on mouse enter
348
356
  - [ ] Hover state clears on mouse leave
349
357
  - [ ] Hover state NOT shown on touch devices
350
- - [ ] Hover state NOT shown when disabled
351
358
 
352
359
  state_validation:
353
360
  - [ ] Background color changes on hover
@@ -8,7 +8,7 @@ description: Reusable methodology for conducting test failure audits — workflo
8
8
  # Test Failure Audit Methodology
9
9
 
10
10
  **Date**: 2025-12-26
11
- **Last Reviewed**: 2025-12-26
11
+ **Last Reviewed**: 2026-07-08
12
12
  **Purpose**: Reusable methodology guidance for conducting test failure audits, including workflow steps, pattern identification, and lessons learned from Specs 025/026/029
13
13
  **Organization**: process-standard
14
14
  **Scope**: cross-project