@3fn/core 13.0.0 → 14.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) 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 +7 -16
  35. package/.kiro/steering/DesignerPunk-Systems-Overview.md +6 -6
  36. package/.kiro/steering/Spec-Feedback-Protocol.md +2 -11
  37. package/.kiro/steering/Task-Completion-Protocol.md +98 -17
  38. package/.kiro/steering/core-goals.md +3 -3
  39. package/.kiro/steering/personal-note.md +1 -1
  40. package/.kiro/steering/start-up-tasks.md +17 -6
  41. package/application-mcp-server/src/index.ts +26 -0
  42. package/dist/ComponentTokens.android.kt +12 -12
  43. package/dist/ComponentTokens.ios.swift +12 -12
  44. package/dist/ComponentTokens.web.css +3 -3
  45. package/dist/DesignTokens.android.kt +1 -1
  46. package/dist/DesignTokens.dtcg.json +8 -5
  47. package/dist/DesignTokens.figma.json +2 -2
  48. package/dist/DesignTokens.ios.swift +1 -1
  49. package/dist/DesignTokens.web.css +1 -1
  50. package/dist/android/DesignTokens.android.kt +1 -1
  51. package/dist/blend/OklchBlendCalculator.js +1 -0
  52. package/dist/blend/ThemeAwareBlendUtilities.web.d.ts +13 -2
  53. package/dist/blend/ThemeAwareBlendUtilities.web.js +6 -1
  54. package/dist/browser/designerpunk.esm.js +36 -90
  55. package/dist/browser/designerpunk.esm.min.js +33 -36
  56. package/dist/browser/designerpunk.umd.js +36 -90
  57. package/dist/browser/designerpunk.umd.min.js +47 -50
  58. package/dist/browser/tokens.css +3 -3
  59. package/dist/build/tokens/defineComponentTokens.d.ts +10 -0
  60. package/dist/build/tokens/defineComponentTokens.js +26 -0
  61. package/dist/components/core/Avatar-Base/avatar.tokens.d.ts +21 -26
  62. package/dist/components/core/Avatar-Base/avatar.tokens.js +31 -34
  63. package/dist/components/core/Avatar-Base/index.d.ts +1 -1
  64. package/dist/components/core/Avatar-Base/index.js +2 -2
  65. package/dist/components/core/Avatar-Base/platforms/web/Avatar.web.js +24 -5
  66. package/dist/components/core/Button-CTA/examples/BasicUsage.d.ts +16 -28
  67. package/dist/components/core/Button-CTA/examples/BasicUsage.js +18 -43
  68. package/dist/components/core/Button-CTA/platforms/web/ButtonCTA.web.d.ts +3 -15
  69. package/dist/components/core/Button-CTA/platforms/web/ButtonCTA.web.js +9 -58
  70. package/dist/components/core/Button-CTA/types.d.ts +0 -24
  71. package/dist/components/core/Button-CTA/types.js +6 -0
  72. package/dist/components/core/Button-Icon/buttonIcon.tokens.d.ts +28 -14
  73. package/dist/components/core/Button-Icon/buttonIcon.tokens.js +35 -20
  74. package/dist/components/core/Input-Text-Base/types.d.ts +13 -1
  75. package/dist/components/core/Input-Text-Password/platforms/web/InputTextPassword.web.js +11 -2
  76. package/dist/generators/DTCGFormatGenerator.js +8 -0
  77. package/dist/generators/TokenFileGenerator.js +7 -2
  78. package/dist/integration/BuildErrorHandler.js +2 -2
  79. package/dist/ios/DesignTokens.ios.swift +1 -1
  80. package/dist/mcp/application-mcp.js +24 -0
  81. package/dist/mcp/docs-mcp.js +130 -15
  82. package/dist/mcp/product-mcp.js +25 -0
  83. package/dist/tokens/OpacityTokens.js +1 -1
  84. package/dist/tokens/component/progress.d.ts +65 -5
  85. package/dist/tokens/component/progress.js +79 -18
  86. package/dist/tokens/semantic/BlendTokens.d.ts +10 -3
  87. package/dist/tokens/semantic/BlendTokens.js +17 -5
  88. package/dist/tokens/semantic/OpacityTokens.d.ts +4 -4
  89. package/dist/tokens/semantic/OpacityTokens.js +4 -4
  90. package/dist/types/ComponentTypes.d.ts +1 -1
  91. package/dist/types/generated/TokenTypes.d.ts +1 -1
  92. package/dist/types/generated/TokenTypes.js +1 -1
  93. package/dist/validators/StemmaTokenUsageValidator.js +3 -2
  94. package/dist/web/DesignTokens.web.css +1 -1
  95. package/governance/BUILD-SYSTEM-SETUP.md +1 -2
  96. package/governance/Component-Development-Guide.md +23 -13
  97. package/governance/Component-Development-Standards.md +21 -20
  98. package/governance/Component-Family-Avatar.md +6 -7
  99. package/governance/Component-Family-Badge.md +19 -20
  100. package/governance/Component-Family-Button.md +30 -43
  101. package/governance/Component-Family-Chip.md +14 -15
  102. package/governance/Component-Family-Container.md +12 -13
  103. package/governance/Component-Family-Data-Display.md +1 -2
  104. package/governance/Component-Family-Divider.md +1 -2
  105. package/governance/Component-Family-Form-Inputs.md +65 -65
  106. package/governance/Component-Family-Icon.md +9 -10
  107. package/governance/Component-Family-Loading.md +1 -2
  108. package/governance/Component-Family-Modal.md +1 -2
  109. package/governance/Component-Family-Navigation.md +1 -2
  110. package/governance/Component-Family-Progress.md +0 -1
  111. package/governance/Component-Inheritance-Structures.md +219 -99
  112. package/governance/Component-MCP-Document-Template.md +6 -5
  113. package/governance/Component-Primitive-vs-Semantic-Philosophy.md +1 -1
  114. package/governance/Component-Quick-Reference.md +33 -33
  115. package/governance/Component-Readiness-Status.md +59 -44
  116. package/governance/Component-Templates.md +57 -61
  117. package/governance/Contract-System-Reference.md +7 -7
  118. package/governance/MCP-Integration-Guide.md +1 -1
  119. package/governance/Process-Cross-Reference-Standards.md +31 -13
  120. package/governance/Process-Development-Workflow.md +49 -59
  121. package/governance/Process-File-Organization.md +25 -28
  122. package/governance/Process-Hook-Operations.md +22 -11
  123. package/governance/Process-Orchestration-Model-Selection.md +92 -0
  124. package/governance/Process-Spec-Planning.md +98 -52
  125. package/governance/Process-Task-Type-Definitions.md +80 -4
  126. package/governance/Product-Handoff-Protocol.md +2 -0
  127. package/governance/Rosetta-System-Architecture.md +13 -11
  128. package/governance/Test-Behavioral-Contract-Validation.md +38 -31
  129. package/governance/Test-Failure-Audit-Methodology.md +1 -1
  130. package/governance/Token-Family-Accessibility.md +1 -2
  131. package/governance/Token-Family-Blend.md +18 -16
  132. package/governance/Token-Family-Blur.md +0 -1
  133. package/governance/Token-Family-Border.md +1 -2
  134. package/governance/Token-Family-Color.md +0 -1
  135. package/governance/Token-Family-Glow.md +1 -2
  136. package/governance/Token-Family-Layering.md +0 -1
  137. package/governance/Token-Family-Motion.md +1 -2
  138. package/governance/Token-Family-Opacity.md +0 -1
  139. package/governance/Token-Family-Radius.md +1 -2
  140. package/governance/Token-Family-Responsive.md +1 -2
  141. package/governance/Token-Family-Shadow.md +1 -2
  142. package/governance/Token-Family-Sizing.md +0 -1
  143. package/governance/Token-Family-Spacing.md +1 -2
  144. package/governance/Token-Family-Typography.md +1 -2
  145. package/governance/Token-Governance.md +8 -8
  146. package/governance/Token-Quick-Reference.md +47 -34
  147. package/governance/Token-Resolution-Patterns.md +1 -1
  148. package/governance/Token-Semantic-Structure.md +1 -1
  149. package/governance/Web-Authoring-Standards.md +5 -5
  150. package/governance/browser-distribution-guide.md +1 -4
  151. package/governance/classification-map.md +474 -0
  152. package/governance/completion-documentation-guide.md +23 -37
  153. package/governance/component-meta-authoring-guide.md +1 -1
  154. package/governance/cross-platform-vs-platform-specific-decision-framework.md +1 -1
  155. package/governance/platform-implementation-guidelines.md +2 -3
  156. package/governance/release-management-system.md +28 -63
  157. package/governance/rosetta-system-principles.md +8 -6
  158. package/governance/stemma-system-principles.md +18 -17
  159. package/mcp-server/src/index.ts +24 -6
  160. package/mcp-server/src/indexer/DocumentIndexer.ts +119 -9
  161. package/mcp-server/src/indexer/__tests__/bare-id-crossrefs.test.ts +250 -0
  162. package/mcp-server/src/indexer/cross-ref-parser.ts +29 -1
  163. package/mcp-server/src/indexer/index-health.ts +27 -2
  164. package/mcp-server/src/query/__tests__/find-docs-calibration.test.ts +11 -26
  165. package/mcp-server/src/relocation-integrity-gate/__tests__/relocation-integrity-gate.test.ts +72 -5
  166. package/mcp-server/src/relocation-integrity-gate/relocation-integrity-gate.ts +81 -24
  167. package/mcp-server/src/tools/list-cross-references.ts +2 -2
  168. package/package.json +24 -26
  169. package/src/__tests__/browser-distribution/css-bundling.test.ts +6 -4
  170. package/src/__tests__/console-allowlist.json +14 -0
  171. package/src/__tests__/console-fail-setup.ts +169 -0
  172. package/src/__tests__/integration/Spec107-DesignLanguageContext.test.ts +16 -0
  173. package/src/__tests__/stemma-system/behavioral-contract-validation.test.ts +70 -17
  174. package/src/__tests__/stemma-system/contract-catalog-name-validation.test.ts +28 -0
  175. package/src/__tests__/stemma-system/form-inputs-contracts.test.ts +223 -16
  176. package/src/__tests__/stemma-system/input-text-native-base-call-alignment.test.ts +298 -0
  177. package/src/blend/OklchBlendCalculator.ts +3 -0
  178. package/src/blend/ThemeAwareBlendUtilities.android.kt +3 -0
  179. package/src/blend/ThemeAwareBlendUtilities.ios.swift +3 -0
  180. package/src/blend/ThemeAwareBlendUtilities.web.ts +9 -1
  181. package/src/blend/__tests__/InteractionStateAudit.test.ts +12 -9
  182. package/src/build/errors/__tests__/ErrorHandler.integration.test.ts +8 -0
  183. package/src/build/errors/__tests__/ErrorHandler.test.ts +5 -0
  184. package/src/build/tokens/__tests__/defineComponentTokens.test.ts +113 -0
  185. package/src/build/tokens/defineComponentTokens.ts +43 -1
  186. package/src/build/workflow/__tests__/CICDIntegration.test.ts +12 -1
  187. package/src/cli/__tests__/init.test.ts +45 -11
  188. package/src/components/core/Avatar-Base/Avatar-Base.schema.yaml +1 -1
  189. package/src/components/core/Avatar-Base/__tests__/Avatar.accessibility.test.ts +121 -7
  190. package/src/components/core/Avatar-Base/__tests__/Avatar.image.test.ts +3 -0
  191. package/src/components/core/Avatar-Base/__tests__/Avatar.test.ts +15 -6
  192. package/src/components/core/Avatar-Base/avatar.tokens.ts +31 -34
  193. package/src/components/core/Avatar-Base/contracts.yaml +11 -1
  194. package/src/components/core/Avatar-Base/index.ts +1 -1
  195. package/src/components/core/Avatar-Base/platforms/web/Avatar.web.ts +24 -5
  196. package/src/components/core/Badge-Count-Base/contracts.yaml +1 -1
  197. package/src/components/core/Badge-Label-Base/contracts.yaml +1 -1
  198. package/src/components/core/Button-CTA/Button-CTA.schema.yaml +2 -12
  199. package/src/components/core/Button-CTA/README.md +3 -6
  200. package/src/components/core/Button-CTA/__tests__/ButtonCTA.test.ts +35 -89
  201. package/src/components/core/Button-CTA/__tests__/setup.test.ts +0 -2
  202. package/src/components/core/Button-CTA/__tests__/test-utils.ts +0 -2
  203. package/src/components/core/Button-CTA/contracts.yaml +6 -29
  204. package/src/components/core/Button-CTA/examples/BasicUsage.html +2 -14
  205. package/src/components/core/Button-CTA/examples/BasicUsage.tsx +17 -44
  206. package/src/components/core/Button-CTA/platforms/android/ButtonCTA.android.kt +12 -20
  207. package/src/components/core/Button-CTA/platforms/ios/ButtonCTA.ios.swift +12 -51
  208. package/src/components/core/Button-CTA/platforms/web/ButtonCTA.web.css +2 -26
  209. package/src/components/core/Button-CTA/platforms/web/ButtonCTA.web.ts +18 -71
  210. package/src/components/core/Button-CTA/types.ts +10 -28
  211. package/src/components/core/Button-Icon/buttonIcon.tokens.ts +43 -27
  212. package/src/components/core/Chip-Base/__tests__/ChipBase.test.ts +13 -0
  213. package/src/components/core/Chip-Filter/__tests__/ChipFilter.test.ts +13 -0
  214. package/src/components/core/Chip-Input/__tests__/ChipInput.test.ts +13 -0
  215. package/src/components/core/Input-Text-Base/Input-Text-Base.schema.yaml +30 -2
  216. package/src/components/core/Input-Text-Base/README.md +25 -2
  217. package/src/components/core/Input-Text-Base/__tests__/focusIndicators.test.ts +16 -15
  218. package/src/components/core/Input-Text-Base/contracts.yaml +90 -0
  219. package/src/components/core/Input-Text-Base/platforms/android/InputTextBase.android.kt +26 -12
  220. package/src/components/core/Input-Text-Base/platforms/ios/InputTextBase.ios.swift +195 -59
  221. package/src/components/core/Input-Text-Base/types.ts +13 -1
  222. package/src/components/core/Input-Text-Email/Input-Text-Email.schema.yaml +5 -1
  223. package/src/components/core/Input-Text-Email/README.md +8 -7
  224. package/src/components/core/Input-Text-Email/platforms/android/InputTextEmail.android.kt +1 -4
  225. package/src/components/core/Input-Text-Email/platforms/ios/InputTextEmail.ios.swift +2 -16
  226. package/src/components/core/Input-Text-Password/Input-Text-Password.schema.yaml +10 -3
  227. package/src/components/core/Input-Text-Password/README.md +9 -8
  228. package/src/components/core/Input-Text-Password/contracts.yaml +5 -0
  229. package/src/components/core/Input-Text-Password/platforms/android/InputTextPassword.android.kt +17 -7
  230. package/src/components/core/Input-Text-Password/platforms/ios/InputTextPassword.ios.swift +22 -20
  231. package/src/components/core/Input-Text-Password/platforms/web/InputTextPassword.web.ts +11 -2
  232. package/src/components/core/Input-Text-PhoneNumber/Input-Text-PhoneNumber.schema.yaml +5 -1
  233. package/src/components/core/Input-Text-PhoneNumber/README.md +9 -8
  234. package/src/components/core/Input-Text-PhoneNumber/platforms/android/InputTextPhoneNumber.android.kt +2 -5
  235. package/src/components/core/Input-Text-PhoneNumber/platforms/ios/InputTextPhoneNumber.ios.swift +3 -17
  236. package/src/components/core/Nav-Header-App/contracts.yaml +1 -1
  237. package/src/components/core/Nav-SegmentedChoice-Base/contracts.yaml +1 -1
  238. package/src/components/core/Progress-Indicator-Connector-Base/contracts.yaml +1 -1
  239. package/src/components/core/Progress-Indicator-Label-Base/contracts.yaml +1 -1
  240. package/src/components/core/Progress-Indicator-Node-Base/contracts.yaml +1 -1
  241. package/src/components/core/Progress-Stepper-Base/__tests__/StepperBase.test.ts +5 -2
  242. package/src/components/core/Progress-Stepper-Detailed/__tests__/StepperDetailed.test.ts +5 -2
  243. package/src/generators/DTCGFormatGenerator.ts +6 -0
  244. package/src/generators/TokenFileGenerator.ts +7 -2
  245. package/src/generators/__tests__/DTCGConfigOptions.test.ts +14 -5
  246. package/src/integration/BuildErrorHandler.ts +2 -2
  247. package/src/tokens/OpacityTokens.ts +1 -1
  248. package/src/tokens/__tests__/OpacityTokens.test.ts +3 -1
  249. package/src/tokens/__tests__/ProgressTokenCompliance.test.ts +5 -3
  250. package/src/tokens/__tests__/ProgressTokenFormulas.test.ts +11 -11
  251. package/src/tokens/__tests__/ProgressTokenTranslation.test.ts +22 -20
  252. package/src/tokens/component/progress.ts +83 -21
  253. package/src/tokens/semantic/BlendTokens.ts +26 -5
  254. package/src/tokens/semantic/OpacityTokens.ts +4 -4
  255. package/src/types/ComponentTypes.ts +1 -1
  256. package/src/types/generated/TokenTypes.ts +1 -1
  257. package/src/validators/StemmaTokenUsageValidator.ts +3 -2
  258. package/token-index/components.yaml +8 -8
  259. package/token-index/semantics.yaml +1 -2
  260. package/src/tools/release/__tests__/ChangeClassifier.test.ts +0 -133
  261. package/src/tools/release/__tests__/ChangeExtractor.test.ts +0 -222
  262. package/src/tools/release/__tests__/GitHubPublisher.test.ts +0 -240
  263. package/src/tools/release/__tests__/NotesRenderer.test.ts +0 -142
  264. package/src/tools/release/__tests__/NpmPublisher.test.ts +0 -289
  265. package/src/tools/release/__tests__/PipelineIntegration.test.ts +0 -188
  266. package/src/tools/release/__tests__/ReleasePipeline.test.ts +0 -192
  267. package/src/tools/release/__tests__/SemanticVersionValidator.test.ts +0 -49
  268. package/src/tools/release/__tests__/SummaryScanner.test.ts +0 -141
  269. package/src/tools/release/__tests__/TagResolver.test.ts +0 -91
  270. package/src/tools/release/__tests__/VersionCalculator.test.ts +0 -270
  271. package/src/tools/release/__tests__/helpers/NpmMockHelper.ts +0 -80
  272. package/src/tools/release/cli/ReleasePipeline.ts +0 -165
  273. package/src/tools/release/cli/release-tool.ts +0 -107
  274. package/src/tools/release/pipeline/ChangeClassifier.ts +0 -61
  275. package/src/tools/release/pipeline/ChangeExtractor.ts +0 -87
  276. package/src/tools/release/pipeline/NotesRenderer.ts +0 -66
  277. package/src/tools/release/pipeline/SummaryScanner.ts +0 -70
  278. package/src/tools/release/pipeline/TagResolver.ts +0 -40
  279. package/src/tools/release/pipeline/VersionCalculator.ts +0 -375
  280. package/src/tools/release/publishers/GitHubPublisher.ts +0 -228
  281. package/src/tools/release/publishers/NpmPublisher.ts +0 -196
  282. package/src/tools/release/release-config.json +0 -5
  283. package/src/tools/release/types/index.ts +0 -282
  284. package/src/tools/release/validators/SemanticVersionValidator.ts +0 -67
@@ -0,0 +1,92 @@
1
+ ---
2
+ id: process-orchestration-model-selection
3
+ inclusion: manual
4
+ name: Process-Orchestration-Model-Selection
5
+ description: How an orchestrating agent picks a model tier for delegated subagent work — match the tier to the task's cognitive demand (decide vs. implement) weighted by blast radius, default to inheriting the session model, and always independently verify subagent output. Load when delegating work to subagents or deciding which model a subagent should run.
6
+ ---
7
+
8
+ # Orchestration Model Selection
9
+
10
+ **Date**: 2026-07-07
11
+ **Last Reviewed**: 2026-07-09
12
+ **Purpose**: How an orchestrating agent chooses the model tier for delegated subagent work, and why verification — not the tier — is the guardrail (content AND placement)
13
+ **Organization**: process-standard
14
+ **Scope**: cross-project
15
+ **Layer**: 2
16
+ **Relevant Tasks**: agent-architecture, general-task-execution
17
+
18
+ ---
19
+
20
+ ## The Policy (one sentence)
21
+
22
+ **Match the model tier to the task's cognitive demand — *decide* vs. *implement*, weighted by *blast radius* — default to inheriting the session model, and always independently verify subagent output. Delegate-then-verify is the guardrail, not the tier.**
23
+
24
+ ## The Axis: decide vs. implement
25
+
26
+ The question is never "is this a subagent?" It is "what cognition does this task demand?"
27
+
28
+ - **Implement** — carry out an already-settled design, contract, or spec: component/token/test authoring against a fixed model, scripted or mechanical multi-file sweeps with a defined pattern, ports/transcriptions, measurements and probes, applying a ratified ballot. The hard calls are made; the work is faithful execution.
29
+ - **Decide** — produce architecture, make a consequential or hard-to-reverse call, weigh cross-cutting tradeoffs, or reason through multiple failure modes: spec design and review rounds, ballot drafting, incorporation/adjudication passes, choosing a system boundary or a new cross-component contract.
30
+
31
+ **Weight by blast radius.** A wrong *implementation* detail is usually local and cheap to fix under verification. A wrong *architectural* call propagates and is costly to unwind — that is exactly where marginal model capability earns its cost, and exactly the wrong place to chase savings.
32
+
33
+ ## The tiering rule
34
+
35
+ - **Implement against a settled design/contract/spec → the cheaper capable tier** (currently Sonnet). Bias toward it for concrete work: on Spec 121 the cheaper tier was *diligent*, not merely adequate — it caught real edge cases (a comma-tokenizer bug, an empty-owner schema gap, a latent import-time side effect) rather than silently papering over them.
36
+ - **Decide → the higher tier** (currently Opus).
37
+ - **The main orchestration loop stays top-tier.** Synthesis, cross-checking subagent output, and human-facing judgment are the highest-leverage cognition in the session; do not downgrade the loop that verifies everything else.
38
+
39
+ ## The default: inherit the session model
40
+
41
+ When the orchestrator does not specify a tier, a subagent **inherits the session model**. Agents carry **no per-agent default tier** — the tier is a property of the *task*, chosen at delegation, not a fixed attribute of the agent (the same agent does implement-work on one task and decide-work on another).
42
+
43
+ Inherit is the right default because it **fails expensive, not wrong**: forgetting to specify runs the task at the orchestrator's own tier — over-provisioned for cheap work (a *cost* failure: visible in spend and session limits, self-correcting) rather than under-powered for consequential work (a *quality* failure: silent, shipped). But inherit is **silent in both directions**, so it is only safe alongside the always-visible calibration rule:
44
+
45
+ - **Calibrate bidirectionally relative to the session model** — *downgrade* for implementation, *upgrade* for a decide task. Do not assume inherit is safe because the session is usually top-tier: under a cheaper session, a forgotten decide task would silently under-power.
46
+ - Omitting the tier is a decision, not a non-decision. Make it consciously.
47
+
48
+ ## The real guardrail: delegate-then-verify
49
+
50
+ **The safety mechanism is independent verification by the main loop, NOT the model tier.** Every subagent's output is re-checked before it is trusted: re-run the relevant tests and type-check, read the actual diff, spot-check against the contract. That review layer is what catches problems — including from capable tiers (a subagent once wrote a contrast *ratio* into a field expecting a color *value*; the main-loop review caught it, not the tier). The rule holds regardless of which tier ran the work: a higher tier is never a substitute for verifying; a cheaper tier under verification is safe *because* it is verified.
51
+
52
+ **Verification covers placement, not just content.** When you delegate a **file edit**, the check is two-part: the content is correct AND the edit landed **where you intended** — in the intended working tree, on the intended branch. A subagent can silently act on a *different* working tree than you meant and report success anyway, because relative paths resolve from *its* working directory, not yours. Defend against it on both ends: **hand the subagent absolute paths to the intended tree** when you delegate, and **after it reports done, confirm the change is where you expect** (`git status`/`git diff` in the intended tree, or read the file at its absolute path) before you trust or commit it. This extends the content-verification rule above to *placement*; a "done" report is a claim about content, never a guarantee about location.
53
+
54
+ - **Claude Code symptom (harness-specific).** CC nests worktrees *inside* the repo (`.claude/worktrees/<name>/`), so upward path or module resolution from a subagent (`../../../`) can cross the worktree boundary into the **parent repo** — a delegated edit lands on the parent-repo copy instead of the worktree branch, esbuild reads the parent's `package.json`, etc. Observed 3× in one session. The placement check above is the mitigation; the durable fix is upstream (place worktrees as *siblings* of the repo, not nested — a Claude Code harness-behavior request), which this guardrail does not own. Other harnesses carry this symptom note only if they reproduce the nesting condition.
55
+
56
+ ## Escalation, not default-when-unsure
57
+
58
+ The higher tier is an **escalation with a concrete trigger**, not a fallback for uncertainty. Reflexively reaching for it "to be safe" quietly gives back the cost savings without a proven need. Escalate on a concrete signal — the task requires *choosing between non-obvious tradeoffs* or *reasoning through multiple failure modes* — not on a vague sense that the work is important.
59
+
60
+ ## The load-bearing qualifier
61
+
62
+ The way to keep delegated work in the cheaper tier is to **front-load the architecture into the spec** so the subagent *implements a decided design*. Across Spec 121 the cheaper tier was safe because the hard calls were made in the requirements/design phase *before* any subagent ran (one task was typed "Architecture," yet its decisions were already settled in the spec — implementation in practice). The corollary is the trigger: **if a subagent must *make* the architectural call** — an open module-resolution strategy, a new cross-MCP contract, a system boundary — **that is the higher tier regardless of it being "a subagent."** Task **Type** is a *prior, not the answer*: an Architecture-typed task whose design is genuinely settled implements at the cheaper tier, and an Implementation-typed task that still requires a consequential call is a decide task — confirm the design is actually settled before downgrading, rather than reading the tier off the Type label.
63
+
64
+ ## Recording the tier per task (spec-driven work)
65
+
66
+ Spec-driven work has a natural place to pre-record the judgment: the task's `**Agent**:` metadata in `tasks.md`, set at formalization, when the author knows whether the architecture is settled. Format: `**Agent**: <agent> (<Model>)` (e.g. `Thurgood (Sonnet)`; cross-domain `Agent A (Model) + Agent B (Model)`) — the model rides the *task*, so the same agent may carry different models on different tasks. The recorded model is **advisory as of authoring**: the executing orchestrator re-checks it against the current model lineup (delegate-then-verify is the net). It jumpstarts calibration even if this policy is not loaded — the concrete name is actionable without the policy's vocabulary. See `Process-Spec-Planning.md` § "Agent Assignment" for the field rule. This is a *reinforcement* for spec work, not a replacement for the always-visible rule, which covers all orchestration.
67
+
68
+ ## Why the tier matters (cost rationale)
69
+
70
+ Capability tiers are priced differently (higher tier ≈ higher $/token on both input and output; ordering as of 2026-07: Opus > Sonnet > Haiku). Two consequences: a *minor-version* downgrade within a tier saves nothing (same price) — the real lever is **tier**, not version; and running a cheaper *subagent* tier than the orchestrator also **preserves the main-loop prompt cache**, whereas switching the *main* model mid-conversation would invalidate it.
71
+
72
+ ## Still calibrating (this section is expected to move)
73
+
74
+ The concrete tier assignments track the current model lineup and **will change** as models change. Recalibration lands *here*, not in the policy above.
75
+
76
+ - Current mapping (set 2026-07-06/07, Fable-era): **Sonnet** = implementation against settled specs; **Opus** = the decide tier (design, review, adjudication, ballot drafting); **Fable** = the main orchestration loop only.
77
+ - Treat specific tier *names* as the current instantiation of the *policy*, not as the policy. When the lineup shifts, re-map the names; the decide-vs-implement axis and delegate-then-verify guardrail are the stable parts.
78
+
79
+ ## Per-harness field mechanics (mechanics, not policy)
80
+
81
+ *How* an orchestrator selects a tier is harness-specific; the policy above is not.
82
+
83
+ - **Claude Code**: the subagent's `model:` frontmatter (or the Agent-tool `model` param) accepts a tier alias (`sonnet` / `opus` / `haiku` / `fable`), a full model ID, or `inherit`. **Omitting it means `inherit` — the session's current model.** Under a top-tier session, omission silently runs every subagent top-tier; set `model:` explicitly for cheaper work. Generated agent definitions carry **no** `model:` — they inherit by design; the tier is chosen per invocation.
84
+ - **Kiro**: model-selection mechanism may differ and is not characterized here. Document it when a Kiro orchestrator needs it; the policy is identical across harnesses.
85
+
86
+ ## MCP Query
87
+
88
+ ```
89
+ get_document_full({ path: "process-orchestration-model-selection" })
90
+ get_section({ path: "process-orchestration-model-selection", heading: "The tiering rule" })
91
+ get_section({ path: "process-orchestration-model-selection", heading: "The default: inherit the session model" })
92
+ ```
@@ -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]_
@@ -403,8 +403,8 @@ During spec formalization (design-outline → requirements.md), Thurgood will id
403
403
  **Completion Documentation**:
404
404
  - Two documents per primary task:
405
405
  - Detailed: `.kiro/specs/[spec-name]/completion/task-[N]-parent-completion.md` (comprehensive internal documentation)
406
- - Summary: `docs/specs/[spec-name]/task-[N]-summary.md` (concise public-facing summary, used by release tool)
407
- - Detailed docs preserve comprehensive knowledge; summary docs trigger hooks and serve as release notes
406
+ - Summary: `docs/specs/[spec-name]/task-[N]-summary.md` (concise public-facing summary — source material for hand-authored release notes)
407
+ - Detailed docs preserve comprehensive knowledge; summary docs serve as release-note source material
408
408
 
409
409
  **Sub-tasks**:
410
410
  - Focus on implementation steps
@@ -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
 
@@ -2202,25 +2227,20 @@ Developers can now:
2202
2227
 
2203
2228
  ### Parent Task Summary Documents
2204
2229
 
2205
- **Purpose**: Create concise, commit-style summaries of parent task completion that serve as release note content for the release tool.
2230
+ **Purpose**: Create concise, commit-style summaries of parent task completion that serve as source material for hand-authored release notes.
2206
2231
 
2207
2232
  **Location**: `docs/specs/[spec-name]/task-N-summary.md`
2208
2233
 
2209
2234
  **When to Create**: After completing a parent task and writing detailed completion documentation in `.kiro/specs/[spec-name]/completion/task-N-parent-completion.md`
2210
2235
 
2211
- **Hook Limitation**: Kiro IDE's `fileCreated` and `fileSaved` hooks only trigger for manual file operations through the IDE UI, not for programmatically created files by AI agents. This requires a hybrid approach:
2212
- - **Automatic hooks**: Work for manually created/edited files through IDE UI
2213
- - **Manual trigger**: Required for AI-assisted workflows after summary document creation
2214
-
2215
- **Rationale**:
2216
- - **Hook Triggering**: The `.kiro/` directory is filtered from Kiro IDE's file watching system, preventing hooks from triggering on files created there. Summary documents in `docs/specs/` directory enable automatic release detection for manual file operations.
2217
- - **Dual Purpose**: Summary documents serve both as hook triggers and as concise, public-facing release note content.
2236
+ **Rationale**:
2237
+ - **Dual Purpose**: Summary documents are the concise, public-facing record of each parent task — the source material the release recipe reads when authoring release notes.
2218
2238
  - **Clear Separation**: Detailed completion docs (internal knowledge preservation) remain in `.kiro/`, while summaries (public-facing) live in `docs/`.
2219
- - **Hybrid Approach**: Automatic hooks for manual edits, manual trigger for AI workflows ensures release detection works in all scenarios.
2239
+ - *(Historical: `docs/`-placement also served a Kiro release-detection hook and its manual trigger, deleted 2026-08-12 — Q6 ballot. The public/internal split stands on its own.)*
2220
2240
 
2221
2241
  **Forward-Looking Note**: This summary document workflow applies to new specs going forward. Existing completion documents don't need changes.
2222
2242
 
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.
2243
+ **Release notes**: hand-authored per the release recipe (Release Management System) — the author derives the delta from squash titles since the last tag and reads summary docs for each change's substance. (The automated release tool was retired 2026-08-12, Q6 ballot.)
2224
2244
 
2225
2245
  **Format Template**:
2226
2246
 
@@ -2269,7 +2289,7 @@ Developers can now:
2269
2289
  - 🟡 **Ecosystem** — new tools, agents, MCPs, build system changes, or third-party integrations. Surfaced prominently.
2270
2290
  - 🔵 **Internal** — governance updates, process changes, infrastructure work. Included as context.
2271
2291
 
2272
- When present, the release tool uses this for accurate classification. When absent, it falls back to section-based extraction. Include when your task delivers artifacts that should appear in release notes.
2292
+ When present, the release-notes author uses this for accurate classification. Include when your task delivers artifacts that should appear in release notes.
2273
2293
 
2274
2294
  **Example - Task 1 Summary**:
2275
2295
 
@@ -2400,9 +2420,22 @@ When creating cross-references, calculate relative paths based on the source doc
2400
2420
 
2401
2421
  ## Spec Workflow
2402
2422
 
2403
- ### Phase 1: Requirements
2423
+ ### Phase 0: Design Outline
2424
+
2425
+ **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.
2404
2426
 
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.
2427
+ 1. Create `design-outline.md` in `.kiro/specs/[spec-name]/`
2428
+ 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
2429
+ 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
2430
+ 4. Proceed to requirements only after outline feedback is incorporated and the project lead approves
2431
+
2432
+ **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.
2433
+
2434
+ **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.
2435
+
2436
+ **For component development**: the Component Development Guide adds component-specific design-outline methodology (variants, token usage, platform considerations).
2437
+
2438
+ ### Phase 1: Requirements
2406
2439
 
2407
2440
  1. Generate initial requirements based on feature idea
2408
2441
  2. Use EARS format for acceptance criteria
@@ -2426,7 +2459,7 @@ When creating cross-references, calculate relative paths based on the source doc
2426
2459
  - Assess complexity and risk (low vs medium vs high)
2427
2460
  - Assign task type (Setup, Implementation, or Architecture)
2428
2461
  - Add **Type** and **Validation** metadata to each subtask
2429
- - Reference **Task Type Definitions** (`.kiro/steering/Process-Task-Type-Definitions.md`) for classification guidance
2462
+ - Reference **Task Type Definitions** (`governance/Process-Task-Type-Definitions.md`) for classification guidance
2430
2463
  - Prompt human for clarification if task type is ambiguous
2431
2464
  4. Add success criteria at primary task level
2432
2465
  5. Include artifacts and completion documentation paths
@@ -2451,21 +2484,20 @@ When creating cross-references, calculate relative paths based on the source doc
2451
2484
  - **Tier 1 (Setup)**: Minimal format - artifacts, notes, validation
2452
2485
  - **Tier 2 (Implementation)**: Standard format - artifacts, details, validation, requirements
2453
2486
  - **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
2487
+ 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
2488
+ 7. The task completes at merge (Peter merges on green); required checks must pass on the PR before it is mergeable
2456
2489
 
2457
2490
  **Two Workflow Paths:**
2458
2491
 
2459
2492
  **Path A (Recommended - IDE-based with automation)**:
2460
- - Use `taskStatus` tool → Triggers agent hooks → Auto organization → Auto release detection → Manual commit
2493
+ - 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
2494
  - **Benefit**: Automated file organization and release detection
2462
2495
  - **Use when**: Working within Kiro IDE on spec tasks
2463
2496
 
2464
2497
  **Path B (Manual - Script-based)**:
2465
- - Manual task status updates → Manual commit via script → No agent hooks triggered
2498
+ - Manual task status updates → `complete-task.sh` on the task branch → No agent hooks triggered
2466
2499
  - **Benefit**: Simpler, direct control
2467
2500
  - **Use when**: Quick fixes, non-spec work, or when agent hooks aren't needed
2468
- - **Note**: Run `npm run release:analyze` for on-demand release analysis
2469
2501
 
2470
2502
  ---
2471
2503
 
@@ -2634,6 +2666,20 @@ When your spec depends on another spec, declare dependencies explicitly in the h
2634
2666
  - **BLOCKER**: Cannot write integration tests until ButtonCTA works in test environment
2635
2667
  ```
2636
2668
 
2669
+ #### Handoff Notes (`inbound-from-*.md`)
2670
+
2671
+ **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:
2672
+
2673
+ ```
2674
+ .kiro/specs/[receiving-spec]/inbound-from-[source].md
2675
+ ```
2676
+
2677
+ - The source may be a spec number (`inbound-from-118.md`) or a named analysis (`inbound-from-wordpress-thesis.md`)
2678
+ - Handoff notes capture what the receiving spec must honor or evaluate during formalization — they are inputs to the design outline, not spec artifacts themselves
2679
+ - During formalization, the spec author reconciles all inbound notes into the outline and formal documents
2680
+
2681
+ Precedents in the spec record: 118, 119, 122, 123, 124, and 125 all carry inbound handoff notes.
2682
+
2637
2683
  #### When to Check Dependencies
2638
2684
 
2639
2685
  **During Requirements Phase**:
@@ -2666,7 +2712,7 @@ When a task cannot proceed due to external dependencies, mark it as blocked with
2666
2712
 
2667
2713
  ```markdown
2668
2714
  - [ ] X.Y Task Name
2669
- **Type**: [Setup | Implementation | Architecture]
2715
+ **Type**: [Setup | Implementation | Architecture | Documentation]
2670
2716
  **Validation**: [Tier 1 | Tier 2 | Tier 3]
2671
2717
  **Status**: BLOCKED
2672
2718
  **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.