@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.
- package/.kiro/agents/ada-prompt.md +80 -132
- package/.kiro/agents/ada-prompt.md.attribution.json +45 -0
- package/.kiro/agents/ada.json +44 -59
- package/.kiro/agents/ada.json.attribution.json +13 -0
- package/.kiro/agents/data-prompt.md +83 -74
- package/.kiro/agents/data-prompt.md.attribution.json +53 -0
- package/.kiro/agents/data.json +31 -38
- package/.kiro/agents/data.json.attribution.json +13 -0
- package/.kiro/agents/kenya-prompt.md +83 -72
- package/.kiro/agents/kenya-prompt.md.attribution.json +53 -0
- package/.kiro/agents/kenya.json +27 -35
- package/.kiro/agents/kenya.json.attribution.json +13 -0
- package/.kiro/agents/leonardo-prompt.md +176 -234
- package/.kiro/agents/leonardo-prompt.md.attribution.json +45 -0
- package/.kiro/agents/leonardo.json +28 -36
- package/.kiro/agents/leonardo.json.attribution.json +13 -0
- package/.kiro/agents/lina-prompt.md +110 -151
- package/.kiro/agents/lina-prompt.md.attribution.json +53 -0
- package/.kiro/agents/lina.json +46 -59
- package/.kiro/agents/lina.json.attribution.json +13 -0
- package/.kiro/agents/sparky-prompt.md +89 -72
- package/.kiro/agents/sparky-prompt.md.attribution.json +53 -0
- package/.kiro/agents/sparky.json +37 -37
- package/.kiro/agents/sparky.json.attribution.json +13 -0
- package/.kiro/agents/stacy-prompt.md +74 -48
- package/.kiro/agents/stacy-prompt.md.attribution.json +45 -0
- package/.kiro/agents/stacy.json +28 -30
- package/.kiro/agents/stacy.json.attribution.json +13 -0
- package/.kiro/agents/thurgood-prompt.md +94 -138
- package/.kiro/agents/thurgood-prompt.md.attribution.json +45 -0
- package/.kiro/agents/thurgood.json +31 -35
- package/.kiro/agents/thurgood.json.attribution.json +13 -0
- package/.kiro/steering/AI-Collaboration-Principles.md +3 -3
- package/.kiro/steering/Civitas-System-Overview.md +7 -16
- package/.kiro/steering/DesignerPunk-Systems-Overview.md +6 -6
- package/.kiro/steering/Spec-Feedback-Protocol.md +2 -11
- package/.kiro/steering/Task-Completion-Protocol.md +98 -17
- package/.kiro/steering/core-goals.md +3 -3
- package/.kiro/steering/personal-note.md +1 -1
- package/.kiro/steering/start-up-tasks.md +17 -6
- package/application-mcp-server/src/index.ts +26 -0
- package/dist/ComponentTokens.android.kt +12 -12
- package/dist/ComponentTokens.ios.swift +12 -12
- package/dist/ComponentTokens.web.css +3 -3
- package/dist/DesignTokens.android.kt +1 -1
- package/dist/DesignTokens.dtcg.json +8 -5
- package/dist/DesignTokens.figma.json +2 -2
- package/dist/DesignTokens.ios.swift +1 -1
- package/dist/DesignTokens.web.css +1 -1
- package/dist/android/DesignTokens.android.kt +1 -1
- package/dist/blend/OklchBlendCalculator.js +1 -0
- package/dist/blend/ThemeAwareBlendUtilities.web.d.ts +13 -2
- package/dist/blend/ThemeAwareBlendUtilities.web.js +6 -1
- package/dist/browser/designerpunk.esm.js +36 -90
- package/dist/browser/designerpunk.esm.min.js +33 -36
- package/dist/browser/designerpunk.umd.js +36 -90
- package/dist/browser/designerpunk.umd.min.js +47 -50
- package/dist/browser/tokens.css +3 -3
- package/dist/build/tokens/defineComponentTokens.d.ts +10 -0
- package/dist/build/tokens/defineComponentTokens.js +26 -0
- package/dist/components/core/Avatar-Base/avatar.tokens.d.ts +21 -26
- package/dist/components/core/Avatar-Base/avatar.tokens.js +31 -34
- package/dist/components/core/Avatar-Base/index.d.ts +1 -1
- package/dist/components/core/Avatar-Base/index.js +2 -2
- package/dist/components/core/Avatar-Base/platforms/web/Avatar.web.js +24 -5
- package/dist/components/core/Button-CTA/examples/BasicUsage.d.ts +16 -28
- package/dist/components/core/Button-CTA/examples/BasicUsage.js +18 -43
- package/dist/components/core/Button-CTA/platforms/web/ButtonCTA.web.d.ts +3 -15
- package/dist/components/core/Button-CTA/platforms/web/ButtonCTA.web.js +9 -58
- package/dist/components/core/Button-CTA/types.d.ts +0 -24
- package/dist/components/core/Button-CTA/types.js +6 -0
- package/dist/components/core/Button-Icon/buttonIcon.tokens.d.ts +28 -14
- package/dist/components/core/Button-Icon/buttonIcon.tokens.js +35 -20
- package/dist/components/core/Input-Text-Base/types.d.ts +13 -1
- package/dist/components/core/Input-Text-Password/platforms/web/InputTextPassword.web.js +11 -2
- package/dist/generators/DTCGFormatGenerator.js +8 -0
- package/dist/generators/TokenFileGenerator.js +7 -2
- package/dist/integration/BuildErrorHandler.js +2 -2
- package/dist/ios/DesignTokens.ios.swift +1 -1
- package/dist/mcp/application-mcp.js +24 -0
- package/dist/mcp/docs-mcp.js +130 -15
- package/dist/mcp/product-mcp.js +25 -0
- package/dist/tokens/OpacityTokens.js +1 -1
- package/dist/tokens/component/progress.d.ts +65 -5
- package/dist/tokens/component/progress.js +79 -18
- package/dist/tokens/semantic/BlendTokens.d.ts +10 -3
- package/dist/tokens/semantic/BlendTokens.js +17 -5
- package/dist/tokens/semantic/OpacityTokens.d.ts +4 -4
- package/dist/tokens/semantic/OpacityTokens.js +4 -4
- package/dist/types/ComponentTypes.d.ts +1 -1
- package/dist/types/generated/TokenTypes.d.ts +1 -1
- package/dist/types/generated/TokenTypes.js +1 -1
- package/dist/validators/StemmaTokenUsageValidator.js +3 -2
- package/dist/web/DesignTokens.web.css +1 -1
- package/governance/BUILD-SYSTEM-SETUP.md +1 -2
- package/governance/Component-Development-Guide.md +23 -13
- package/governance/Component-Development-Standards.md +21 -20
- package/governance/Component-Family-Avatar.md +6 -7
- package/governance/Component-Family-Badge.md +19 -20
- package/governance/Component-Family-Button.md +30 -43
- package/governance/Component-Family-Chip.md +14 -15
- package/governance/Component-Family-Container.md +12 -13
- package/governance/Component-Family-Data-Display.md +1 -2
- package/governance/Component-Family-Divider.md +1 -2
- package/governance/Component-Family-Form-Inputs.md +65 -65
- package/governance/Component-Family-Icon.md +9 -10
- package/governance/Component-Family-Loading.md +1 -2
- package/governance/Component-Family-Modal.md +1 -2
- package/governance/Component-Family-Navigation.md +1 -2
- package/governance/Component-Family-Progress.md +0 -1
- package/governance/Component-Inheritance-Structures.md +219 -99
- package/governance/Component-MCP-Document-Template.md +6 -5
- package/governance/Component-Primitive-vs-Semantic-Philosophy.md +1 -1
- package/governance/Component-Quick-Reference.md +33 -33
- package/governance/Component-Readiness-Status.md +59 -44
- package/governance/Component-Templates.md +57 -61
- package/governance/Contract-System-Reference.md +7 -7
- package/governance/MCP-Integration-Guide.md +1 -1
- package/governance/Process-Cross-Reference-Standards.md +31 -13
- package/governance/Process-Development-Workflow.md +49 -59
- package/governance/Process-File-Organization.md +25 -28
- package/governance/Process-Hook-Operations.md +22 -11
- package/governance/Process-Orchestration-Model-Selection.md +92 -0
- package/governance/Process-Spec-Planning.md +98 -52
- package/governance/Process-Task-Type-Definitions.md +80 -4
- package/governance/Product-Handoff-Protocol.md +2 -0
- package/governance/Rosetta-System-Architecture.md +13 -11
- package/governance/Test-Behavioral-Contract-Validation.md +38 -31
- package/governance/Test-Failure-Audit-Methodology.md +1 -1
- package/governance/Token-Family-Accessibility.md +1 -2
- package/governance/Token-Family-Blend.md +18 -16
- package/governance/Token-Family-Blur.md +0 -1
- package/governance/Token-Family-Border.md +1 -2
- package/governance/Token-Family-Color.md +0 -1
- package/governance/Token-Family-Glow.md +1 -2
- package/governance/Token-Family-Layering.md +0 -1
- package/governance/Token-Family-Motion.md +1 -2
- package/governance/Token-Family-Opacity.md +0 -1
- package/governance/Token-Family-Radius.md +1 -2
- package/governance/Token-Family-Responsive.md +1 -2
- package/governance/Token-Family-Shadow.md +1 -2
- package/governance/Token-Family-Sizing.md +0 -1
- package/governance/Token-Family-Spacing.md +1 -2
- package/governance/Token-Family-Typography.md +1 -2
- package/governance/Token-Governance.md +8 -8
- package/governance/Token-Quick-Reference.md +47 -34
- package/governance/Token-Resolution-Patterns.md +1 -1
- package/governance/Token-Semantic-Structure.md +1 -1
- package/governance/Web-Authoring-Standards.md +5 -5
- package/governance/browser-distribution-guide.md +1 -4
- package/governance/classification-map.md +474 -0
- package/governance/completion-documentation-guide.md +23 -37
- package/governance/component-meta-authoring-guide.md +1 -1
- package/governance/cross-platform-vs-platform-specific-decision-framework.md +1 -1
- package/governance/platform-implementation-guidelines.md +2 -3
- package/governance/release-management-system.md +28 -63
- package/governance/rosetta-system-principles.md +8 -6
- package/governance/stemma-system-principles.md +18 -17
- package/mcp-server/src/index.ts +24 -6
- package/mcp-server/src/indexer/DocumentIndexer.ts +119 -9
- package/mcp-server/src/indexer/__tests__/bare-id-crossrefs.test.ts +250 -0
- package/mcp-server/src/indexer/cross-ref-parser.ts +29 -1
- package/mcp-server/src/indexer/index-health.ts +27 -2
- package/mcp-server/src/query/__tests__/find-docs-calibration.test.ts +11 -26
- package/mcp-server/src/relocation-integrity-gate/__tests__/relocation-integrity-gate.test.ts +72 -5
- package/mcp-server/src/relocation-integrity-gate/relocation-integrity-gate.ts +81 -24
- package/mcp-server/src/tools/list-cross-references.ts +2 -2
- package/package.json +24 -26
- package/src/__tests__/browser-distribution/css-bundling.test.ts +6 -4
- package/src/__tests__/console-allowlist.json +14 -0
- package/src/__tests__/console-fail-setup.ts +169 -0
- package/src/__tests__/integration/Spec107-DesignLanguageContext.test.ts +16 -0
- package/src/__tests__/stemma-system/behavioral-contract-validation.test.ts +70 -17
- package/src/__tests__/stemma-system/contract-catalog-name-validation.test.ts +28 -0
- package/src/__tests__/stemma-system/form-inputs-contracts.test.ts +223 -16
- package/src/__tests__/stemma-system/input-text-native-base-call-alignment.test.ts +298 -0
- package/src/blend/OklchBlendCalculator.ts +3 -0
- package/src/blend/ThemeAwareBlendUtilities.android.kt +3 -0
- package/src/blend/ThemeAwareBlendUtilities.ios.swift +3 -0
- package/src/blend/ThemeAwareBlendUtilities.web.ts +9 -1
- package/src/blend/__tests__/InteractionStateAudit.test.ts +12 -9
- package/src/build/errors/__tests__/ErrorHandler.integration.test.ts +8 -0
- package/src/build/errors/__tests__/ErrorHandler.test.ts +5 -0
- package/src/build/tokens/__tests__/defineComponentTokens.test.ts +113 -0
- package/src/build/tokens/defineComponentTokens.ts +43 -1
- package/src/build/workflow/__tests__/CICDIntegration.test.ts +12 -1
- package/src/cli/__tests__/init.test.ts +45 -11
- package/src/components/core/Avatar-Base/Avatar-Base.schema.yaml +1 -1
- package/src/components/core/Avatar-Base/__tests__/Avatar.accessibility.test.ts +121 -7
- package/src/components/core/Avatar-Base/__tests__/Avatar.image.test.ts +3 -0
- package/src/components/core/Avatar-Base/__tests__/Avatar.test.ts +15 -6
- package/src/components/core/Avatar-Base/avatar.tokens.ts +31 -34
- package/src/components/core/Avatar-Base/contracts.yaml +11 -1
- package/src/components/core/Avatar-Base/index.ts +1 -1
- package/src/components/core/Avatar-Base/platforms/web/Avatar.web.ts +24 -5
- package/src/components/core/Badge-Count-Base/contracts.yaml +1 -1
- package/src/components/core/Badge-Label-Base/contracts.yaml +1 -1
- package/src/components/core/Button-CTA/Button-CTA.schema.yaml +2 -12
- package/src/components/core/Button-CTA/README.md +3 -6
- package/src/components/core/Button-CTA/__tests__/ButtonCTA.test.ts +35 -89
- package/src/components/core/Button-CTA/__tests__/setup.test.ts +0 -2
- package/src/components/core/Button-CTA/__tests__/test-utils.ts +0 -2
- package/src/components/core/Button-CTA/contracts.yaml +6 -29
- package/src/components/core/Button-CTA/examples/BasicUsage.html +2 -14
- package/src/components/core/Button-CTA/examples/BasicUsage.tsx +17 -44
- package/src/components/core/Button-CTA/platforms/android/ButtonCTA.android.kt +12 -20
- package/src/components/core/Button-CTA/platforms/ios/ButtonCTA.ios.swift +12 -51
- package/src/components/core/Button-CTA/platforms/web/ButtonCTA.web.css +2 -26
- package/src/components/core/Button-CTA/platforms/web/ButtonCTA.web.ts +18 -71
- package/src/components/core/Button-CTA/types.ts +10 -28
- package/src/components/core/Button-Icon/buttonIcon.tokens.ts +43 -27
- package/src/components/core/Chip-Base/__tests__/ChipBase.test.ts +13 -0
- package/src/components/core/Chip-Filter/__tests__/ChipFilter.test.ts +13 -0
- package/src/components/core/Chip-Input/__tests__/ChipInput.test.ts +13 -0
- package/src/components/core/Input-Text-Base/Input-Text-Base.schema.yaml +30 -2
- package/src/components/core/Input-Text-Base/README.md +25 -2
- package/src/components/core/Input-Text-Base/__tests__/focusIndicators.test.ts +16 -15
- package/src/components/core/Input-Text-Base/contracts.yaml +90 -0
- package/src/components/core/Input-Text-Base/platforms/android/InputTextBase.android.kt +26 -12
- package/src/components/core/Input-Text-Base/platforms/ios/InputTextBase.ios.swift +195 -59
- package/src/components/core/Input-Text-Base/types.ts +13 -1
- package/src/components/core/Input-Text-Email/Input-Text-Email.schema.yaml +5 -1
- package/src/components/core/Input-Text-Email/README.md +8 -7
- package/src/components/core/Input-Text-Email/platforms/android/InputTextEmail.android.kt +1 -4
- package/src/components/core/Input-Text-Email/platforms/ios/InputTextEmail.ios.swift +2 -16
- package/src/components/core/Input-Text-Password/Input-Text-Password.schema.yaml +10 -3
- package/src/components/core/Input-Text-Password/README.md +9 -8
- package/src/components/core/Input-Text-Password/contracts.yaml +5 -0
- package/src/components/core/Input-Text-Password/platforms/android/InputTextPassword.android.kt +17 -7
- package/src/components/core/Input-Text-Password/platforms/ios/InputTextPassword.ios.swift +22 -20
- package/src/components/core/Input-Text-Password/platforms/web/InputTextPassword.web.ts +11 -2
- package/src/components/core/Input-Text-PhoneNumber/Input-Text-PhoneNumber.schema.yaml +5 -1
- package/src/components/core/Input-Text-PhoneNumber/README.md +9 -8
- package/src/components/core/Input-Text-PhoneNumber/platforms/android/InputTextPhoneNumber.android.kt +2 -5
- package/src/components/core/Input-Text-PhoneNumber/platforms/ios/InputTextPhoneNumber.ios.swift +3 -17
- package/src/components/core/Nav-Header-App/contracts.yaml +1 -1
- package/src/components/core/Nav-SegmentedChoice-Base/contracts.yaml +1 -1
- package/src/components/core/Progress-Indicator-Connector-Base/contracts.yaml +1 -1
- package/src/components/core/Progress-Indicator-Label-Base/contracts.yaml +1 -1
- package/src/components/core/Progress-Indicator-Node-Base/contracts.yaml +1 -1
- package/src/components/core/Progress-Stepper-Base/__tests__/StepperBase.test.ts +5 -2
- package/src/components/core/Progress-Stepper-Detailed/__tests__/StepperDetailed.test.ts +5 -2
- package/src/generators/DTCGFormatGenerator.ts +6 -0
- package/src/generators/TokenFileGenerator.ts +7 -2
- package/src/generators/__tests__/DTCGConfigOptions.test.ts +14 -5
- package/src/integration/BuildErrorHandler.ts +2 -2
- package/src/tokens/OpacityTokens.ts +1 -1
- package/src/tokens/__tests__/OpacityTokens.test.ts +3 -1
- package/src/tokens/__tests__/ProgressTokenCompliance.test.ts +5 -3
- package/src/tokens/__tests__/ProgressTokenFormulas.test.ts +11 -11
- package/src/tokens/__tests__/ProgressTokenTranslation.test.ts +22 -20
- package/src/tokens/component/progress.ts +83 -21
- package/src/tokens/semantic/BlendTokens.ts +26 -5
- package/src/tokens/semantic/OpacityTokens.ts +4 -4
- package/src/types/ComponentTypes.ts +1 -1
- package/src/types/generated/TokenTypes.ts +1 -1
- package/src/validators/StemmaTokenUsageValidator.ts +3 -2
- package/token-index/components.yaml +8 -8
- package/token-index/semantics.yaml +1 -2
- package/src/tools/release/__tests__/ChangeClassifier.test.ts +0 -133
- package/src/tools/release/__tests__/ChangeExtractor.test.ts +0 -222
- package/src/tools/release/__tests__/GitHubPublisher.test.ts +0 -240
- package/src/tools/release/__tests__/NotesRenderer.test.ts +0 -142
- package/src/tools/release/__tests__/NpmPublisher.test.ts +0 -289
- package/src/tools/release/__tests__/PipelineIntegration.test.ts +0 -188
- package/src/tools/release/__tests__/ReleasePipeline.test.ts +0 -192
- package/src/tools/release/__tests__/SemanticVersionValidator.test.ts +0 -49
- package/src/tools/release/__tests__/SummaryScanner.test.ts +0 -141
- package/src/tools/release/__tests__/TagResolver.test.ts +0 -91
- package/src/tools/release/__tests__/VersionCalculator.test.ts +0 -270
- package/src/tools/release/__tests__/helpers/NpmMockHelper.ts +0 -80
- package/src/tools/release/cli/ReleasePipeline.ts +0 -165
- package/src/tools/release/cli/release-tool.ts +0 -107
- package/src/tools/release/pipeline/ChangeClassifier.ts +0 -61
- package/src/tools/release/pipeline/ChangeExtractor.ts +0 -87
- package/src/tools/release/pipeline/NotesRenderer.ts +0 -66
- package/src/tools/release/pipeline/SummaryScanner.ts +0 -70
- package/src/tools/release/pipeline/TagResolver.ts +0 -40
- package/src/tools/release/pipeline/VersionCalculator.ts +0 -375
- package/src/tools/release/publishers/GitHubPublisher.ts +0 -228
- package/src/tools/release/publishers/NpmPublisher.ts +0 -196
- package/src/tools/release/release-config.json +0 -5
- package/src/tools/release/types/index.ts +0 -282
- 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**:
|
|
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 (
|
|
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: "
|
|
50
|
-
get_section({ path: "
|
|
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** (
|
|
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
|
|
407
|
-
- Detailed docs preserve comprehensive knowledge; summary docs
|
|
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,
|
|
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
|
-
-
|
|
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
|
-
-
|
|
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
|
|
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
|
-
###
|
|
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
|
|
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**:
|
|
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: "
|
|
1116
|
-
get_section({ path: "
|
|
1117
|
-
get_section({ path: "
|
|
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
|
|
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
|
-
**
|
|
2212
|
-
- **
|
|
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
|
-
-
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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** (
|
|
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. **
|
|
2455
|
-
7.
|
|
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 →
|
|
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 →
|
|
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**:
|
|
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
|
|
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.
|