@3fn/core 13.0.0 → 14.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +5 -5
- package/.kiro/steering/DesignerPunk-Systems-Overview.md +6 -6
- 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 +14 -3
- package/application-mcp-server/src/index.ts +26 -0
- package/dist/ComponentTokens.android.kt +1 -1
- package/dist/ComponentTokens.ios.swift +1 -1
- package/dist/ComponentTokens.web.css +1 -1
- 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 +22 -81
- package/dist/browser/designerpunk.esm.min.js +29 -32
- package/dist/browser/designerpunk.umd.js +22 -81
- package/dist/browser/designerpunk.umd.min.js +42 -45
- package/dist/browser/tokens.css +1 -1
- 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/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/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/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/Component-Development-Guide.md +22 -12
- package/governance/Component-Development-Standards.md +2 -2
- package/governance/Component-Family-Avatar.md +0 -1
- package/governance/Component-Family-Badge.md +0 -1
- package/governance/Component-Family-Button.md +4 -17
- package/governance/Component-Family-Chip.md +0 -1
- package/governance/Component-Family-Container.md +0 -1
- package/governance/Component-Family-Data-Display.md +1 -2
- package/governance/Component-Family-Divider.md +1 -2
- package/governance/Component-Family-Form-Inputs.md +5 -5
- package/governance/Component-Family-Icon.md +1 -2
- package/governance/Component-Family-Loading.md +1 -2
- package/governance/Component-Family-Modal.md +1 -2
- package/governance/Component-Family-Navigation.md +0 -1
- package/governance/Component-Family-Progress.md +0 -1
- package/governance/Component-Inheritance-Structures.md +195 -76
- 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 +54 -38
- package/governance/Component-Templates.md +32 -36
- package/governance/Contract-System-Reference.md +6 -6
- 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 +24 -24
- package/governance/Process-Hook-Operations.md +19 -7
- package/governance/Process-Orchestration-Model-Selection.md +92 -0
- package/governance/Process-Spec-Planning.md +91 -39
- package/governance/Process-Task-Type-Definitions.md +80 -4
- package/governance/Product-Handoff-Protocol.md +2 -0
- package/governance/Rosetta-System-Architecture.md +6 -6
- 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 +21 -21
- 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 +368 -0
- package/governance/completion-documentation-guide.md +11 -8
- 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 +1 -1
- package/governance/release-management-system.md +2 -2
- 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 +23 -21
- 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/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/contracts.yaml +11 -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/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/__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/semantic/BlendTokens.ts +26 -5
- package/src/tokens/semantic/OpacityTokens.ts +4 -4
- package/src/tools/release/__tests__/ReleasePipeline.test.ts +1 -1
- 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/semantics.yaml +1 -2
|
@@ -9,7 +9,7 @@ description: Standards for creating spec documents — requirements format (EARS
|
|
|
9
9
|
|
|
10
10
|
**Date**: 2025-01-10
|
|
11
11
|
**Updated**: October 20, 2025
|
|
12
|
-
**Last Reviewed**:
|
|
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]_
|
|
@@ -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
|
|
|
@@ -2220,7 +2245,7 @@ Developers can now:
|
|
|
2220
2245
|
|
|
2221
2246
|
**Forward-Looking Note**: This summary document workflow applies to new specs going forward. Existing completion documents don't need changes.
|
|
2222
2247
|
|
|
2223
|
-
**Release Analysis**: The release tool (`src/tools/release/`) scans summary documents via git log to generate release notes. `
|
|
2248
|
+
**Release Analysis**: The release tool (`src/tools/release/`) scans summary documents via git log to generate release notes. Release analysis runs post-merge on `main` (non-blocking); run `npm run release:analyze` for on-demand detail.
|
|
2224
2249
|
|
|
2225
2250
|
**Format Template**:
|
|
2226
2251
|
|
|
@@ -2400,9 +2425,22 @@ When creating cross-references, calculate relative paths based on the source doc
|
|
|
2400
2425
|
|
|
2401
2426
|
## Spec Workflow
|
|
2402
2427
|
|
|
2403
|
-
### Phase
|
|
2428
|
+
### Phase 0: Design Outline
|
|
2429
|
+
|
|
2430
|
+
**Current practice (standard since early 2026)**: specs begin with a design outline (`design-outline.md` in the spec directory) that explores the problem, options, and scope before any formal document is written. Recent specs (121–125) all follow this pattern.
|
|
2431
|
+
|
|
2432
|
+
1. Create `design-outline.md` in `.kiro/specs/[spec-name]/`
|
|
2433
|
+
2. Create the feedback document(s) alongside it — a single `feedback.md` or a split-by-phase `feedback/` directory (e.g., `feedback/design-outline.md`). Both structures are defined in the **Spec Feedback Protocol** (Layer 1, always loaded), which is the authority for feedback structure, stamp format (`[AGENT R#]`), directed questions, and incorporation passes
|
|
2434
|
+
3. Request feedback rounds from identified stakeholders; incorporate feedback into the outline body as a coherent revision (woven, not appended), recording session decisions and incorporation notes in the feedback doc
|
|
2435
|
+
4. Proceed to requirements only after outline feedback is incorporated and the project lead approves
|
|
2436
|
+
|
|
2437
|
+
**STUB outlines for gated specs**: When formalization is blocked on an upstream decision, a design outline may be created as an explicit **STUB** — capturing scope, dependencies, and cross-references only, with a clear "do not formalize until [gate]" marker and no architecture decisions (which would pre-empt the upstream spec). Precedents: Specs 123 (gated on 118) and 125.
|
|
2404
2438
|
|
|
2405
|
-
**
|
|
2439
|
+
**Sequential formalization gates**: requirements → design → tasks each pause for agent feedback before proceeding, unless the project lead explicitly waives the gate. See Spec Feedback Protocol § "Sequential Formalization Gate" — this document defers to it.
|
|
2440
|
+
|
|
2441
|
+
**For component development**: the Component Development Guide adds component-specific design-outline methodology (variants, token usage, platform considerations).
|
|
2442
|
+
|
|
2443
|
+
### Phase 1: Requirements
|
|
2406
2444
|
|
|
2407
2445
|
1. Generate initial requirements based on feature idea
|
|
2408
2446
|
2. Use EARS format for acceptance criteria
|
|
@@ -2426,7 +2464,7 @@ When creating cross-references, calculate relative paths based on the source doc
|
|
|
2426
2464
|
- Assess complexity and risk (low vs medium vs high)
|
|
2427
2465
|
- Assign task type (Setup, Implementation, or Architecture)
|
|
2428
2466
|
- Add **Type** and **Validation** metadata to each subtask
|
|
2429
|
-
- Reference **Task Type Definitions** (
|
|
2467
|
+
- Reference **Task Type Definitions** (`governance/Process-Task-Type-Definitions.md`) for classification guidance
|
|
2430
2468
|
- Prompt human for clarification if task type is ambiguous
|
|
2431
2469
|
4. Add success criteria at primary task level
|
|
2432
2470
|
5. Include artifacts and completion documentation paths
|
|
@@ -2451,18 +2489,18 @@ When creating cross-references, calculate relative paths based on the source doc
|
|
|
2451
2489
|
- **Tier 1 (Setup)**: Minimal format - artifacts, notes, validation
|
|
2452
2490
|
- **Tier 2 (Implementation)**: Standard format - artifacts, details, validation, requirements
|
|
2453
2491
|
- **Tier 3 (Architecture/Parent)**: Comprehensive format - artifacts, decisions, algorithm, validation, lessons, integration
|
|
2454
|
-
6. **
|
|
2455
|
-
7.
|
|
2492
|
+
6. **Open the task PR**: Run `./.kiro/hooks/complete-task.sh "Task Name"` — commit on the task branch, push, open the PR, report the URL, STOP
|
|
2493
|
+
7. The task completes at merge (Peter merges on green); required checks must pass on the PR before it is mergeable
|
|
2456
2494
|
|
|
2457
2495
|
**Two Workflow Paths:**
|
|
2458
2496
|
|
|
2459
2497
|
**Path A (Recommended - IDE-based with automation)**:
|
|
2460
|
-
- Use `taskStatus` tool → Triggers agent hooks → Auto organization → Auto release detection →
|
|
2498
|
+
- Use `taskStatus` tool → Triggers agent hooks → Auto organization → Auto release detection → `complete-task.sh` (commits on the task branch; opens the unit PR at unit completion)
|
|
2461
2499
|
- **Benefit**: Automated file organization and release detection
|
|
2462
2500
|
- **Use when**: Working within Kiro IDE on spec tasks
|
|
2463
2501
|
|
|
2464
2502
|
**Path B (Manual - Script-based)**:
|
|
2465
|
-
- Manual task status updates →
|
|
2503
|
+
- Manual task status updates → `complete-task.sh` on the task branch → No agent hooks triggered
|
|
2466
2504
|
- **Benefit**: Simpler, direct control
|
|
2467
2505
|
- **Use when**: Quick fixes, non-spec work, or when agent hooks aren't needed
|
|
2468
2506
|
- **Note**: Run `npm run release:analyze` for on-demand release analysis
|
|
@@ -2634,6 +2672,20 @@ When your spec depends on another spec, declare dependencies explicitly in the h
|
|
|
2634
2672
|
- **BLOCKER**: Cannot write integration tests until ButtonCTA works in test environment
|
|
2635
2673
|
```
|
|
2636
2674
|
|
|
2675
|
+
#### Handoff Notes (`inbound-from-*.md`)
|
|
2676
|
+
|
|
2677
|
+
**Current practice**: when one spec (or a named analysis) produces decisions, findings, or obligations that a different spec must consume, a handoff note is written into the receiving spec's directory:
|
|
2678
|
+
|
|
2679
|
+
```
|
|
2680
|
+
.kiro/specs/[receiving-spec]/inbound-from-[source].md
|
|
2681
|
+
```
|
|
2682
|
+
|
|
2683
|
+
- The source may be a spec number (`inbound-from-118.md`) or a named analysis (`inbound-from-wordpress-thesis.md`)
|
|
2684
|
+
- Handoff notes capture what the receiving spec must honor or evaluate during formalization — they are inputs to the design outline, not spec artifacts themselves
|
|
2685
|
+
- During formalization, the spec author reconciles all inbound notes into the outline and formal documents
|
|
2686
|
+
|
|
2687
|
+
Precedents in the spec record: 118, 119, 122, 123, 124, and 125 all carry inbound handoff notes.
|
|
2688
|
+
|
|
2637
2689
|
#### When to Check Dependencies
|
|
2638
2690
|
|
|
2639
2691
|
**During Requirements Phase**:
|
|
@@ -2666,7 +2718,7 @@ When a task cannot proceed due to external dependencies, mark it as blocked with
|
|
|
2666
2718
|
|
|
2667
2719
|
```markdown
|
|
2668
2720
|
- [ ] X.Y Task Name
|
|
2669
|
-
**Type**: [Setup | Implementation | Architecture]
|
|
2721
|
+
**Type**: [Setup | Implementation | Architecture | Documentation]
|
|
2670
2722
|
**Validation**: [Tier 1 | Tier 2 | Tier 3]
|
|
2671
2723
|
**Status**: BLOCKED
|
|
2672
2724
|
**Blocker**: [Spec XXX Task Y.Z] - [Specific reason]
|
|
@@ -8,7 +8,7 @@ description: Task type definitions for the three-tier validation and documentati
|
|
|
8
8
|
# Task Type Definitions
|
|
9
9
|
|
|
10
10
|
**Date**: 2025-10-20
|
|
11
|
-
**Last Reviewed**:
|
|
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.
|
|
@@ -631,16 +631,16 @@ The exemption is **not silent**: each exempt subsystem has a **paired boot/smoke
|
|
|
631
631
|
|
|
632
632
|
```
|
|
633
633
|
# Get this document
|
|
634
|
-
get_document_full({ path: "
|
|
634
|
+
get_document_full({ path: "rosetta-system-architecture" })
|
|
635
635
|
|
|
636
636
|
# Get specific sections
|
|
637
|
-
get_section({ path: "
|
|
638
|
-
get_section({ path: "
|
|
639
|
-
get_section({ path: "
|
|
640
|
-
get_section({ path: "
|
|
637
|
+
get_section({ path: "rosetta-system-architecture", heading: "Token Pipeline Architecture" })
|
|
638
|
+
get_section({ path: "rosetta-system-architecture", heading: "OKLCH Color Pipeline" })
|
|
639
|
+
get_section({ path: "rosetta-system-architecture", heading: "Component Token Integration" })
|
|
640
|
+
get_section({ path: "rosetta-system-architecture", heading: "Subsystem Entry Points Summary" })
|
|
641
641
|
|
|
642
642
|
# For token creation governance and guides
|
|
643
|
-
get_section({ path: "
|
|
643
|
+
get_section({ path: "token-governance", heading: "Token Creation Guides" })
|
|
644
644
|
```
|
|
645
645
|
|
|
646
646
|
---
|
|
@@ -14,7 +14,7 @@ description: Framework for validating behavioral contracts across web, iOS, and
|
|
|
14
14
|
**Scope**: cross-project
|
|
15
15
|
**Layer**: 2
|
|
16
16
|
**Relevant Tasks**: component-development, cross-platform-validation, testing
|
|
17
|
-
**Last Reviewed**: 2026-
|
|
17
|
+
**Last Reviewed**: 2026-07-15
|
|
18
18
|
|
|
19
19
|
---
|
|
20
20
|
|
|
@@ -210,13 +210,11 @@ pressable_validation_checklist:
|
|
|
210
210
|
- [ ] Click/tap triggers action
|
|
211
211
|
- [ ] Enter key triggers action (web)
|
|
212
212
|
- [ ] Space key triggers action (web)
|
|
213
|
-
- [ ] Action NOT triggered when disabled
|
|
214
213
|
|
|
215
214
|
state_validation:
|
|
216
215
|
- [ ] Default state is correct
|
|
217
216
|
- [ ] Hover state appears (desktop only)
|
|
218
217
|
- [ ] Pressed/active state appears
|
|
219
|
-
- [ ] Disabled state prevents interaction
|
|
220
218
|
|
|
221
219
|
outcome_validation:
|
|
222
220
|
- [ ] onPress callback is invoked
|
|
@@ -226,7 +224,6 @@ pressable_validation_checklist:
|
|
|
226
224
|
|
|
227
225
|
accessibility_validation:
|
|
228
226
|
- [ ] role="button" or semantic button (web)
|
|
229
|
-
- [ ] aria-disabled when disabled (web)
|
|
230
227
|
- [ ] Screen reader announces button
|
|
231
228
|
|
|
232
229
|
cross_platform_validation:
|
|
@@ -305,38 +302,49 @@ error_state_validation_checklist:
|
|
|
305
302
|
- [ ] Android: TalkBack announces error
|
|
306
303
|
```
|
|
307
304
|
|
|
308
|
-
### Disabled State
|
|
305
|
+
### Disabled State Exclusion Guard Validation
|
|
309
306
|
|
|
310
|
-
**
|
|
307
|
+
**Provenance**: As of the 2026-07-15 adjudication (`.kiro/issues/button-cta-disabled-state-adjudication.md`), the no-disabled-states philosophy holds corpus-wide with **zero exceptions** — Button-CTA was the last component carrying `state_disabled`, and it has been removed. No component in the corpus may declare a disabled state as a behavioral contract, and `blend.disabledDesaturate` (along with the other disabled-state blend wrappers) is deprecated. Validation for this contract type has inverted: rather than validating that a disabled state behaves correctly, validation now confirms a disabled state does **not exist** and cannot be reintroduced.
|
|
308
|
+
|
|
309
|
+
**Contract Definition**: Component has no disabled state. Interaction affordances are always active; unavailable actions are handled by not rendering the component (or by another contract — see Philosophy Alternatives below), never by disabling it in place.
|
|
310
|
+
|
|
311
|
+
**Rationale**: DesignerPunk does not support disabled states for usability and accessibility reasons. If an action is unavailable, the component should not be rendered.
|
|
311
312
|
|
|
312
313
|
```yaml
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
- [ ]
|
|
316
|
-
- [ ]
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
- [ ] Component
|
|
320
|
-
- [ ] Component
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
- [ ]
|
|
326
|
-
- [ ]
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
- [ ] aria-disabled
|
|
331
|
-
- [ ]
|
|
332
|
-
|
|
333
|
-
|
|
314
|
+
disabled_state_exclusion_guard_checklist:
|
|
315
|
+
schema_validation:
|
|
316
|
+
- [ ] state_disabled is declared under contracts.yaml `excludes:` (NOT under `contracts:`)
|
|
317
|
+
- [ ] Excludes entry carries the standardized reason: "DesignerPunk does not support disabled states for usability and accessibility reasons. If an action is unavailable, the component should not be rendered."
|
|
318
|
+
|
|
319
|
+
api_surface_validation:
|
|
320
|
+
- [ ] Component exposes no disabled prop/property
|
|
321
|
+
- [ ] Component does not list `disabled` in observedAttributes (web) or an equivalent observed-attribute mechanism per platform
|
|
322
|
+
|
|
323
|
+
ignored_input_validation:
|
|
324
|
+
- [ ] A consumer-set disabled attribute is ignored — not forwarded to internal/shadow elements
|
|
325
|
+
- [ ] No disabled-styling class is applied when a disabled attribute is set
|
|
326
|
+
- [ ] No aria-disabled (or platform-equivalent) attribute is applied when a disabled attribute is set
|
|
327
|
+
- [ ] Press/activation still fires normally even when a consumer sets a disabled attribute
|
|
328
|
+
|
|
329
|
+
rendered_output_validation:
|
|
330
|
+
- [ ] No disabled attribute is ever rendered on any platform
|
|
331
|
+
- [ ] No aria-disabled attribute is ever rendered on any platform
|
|
332
|
+
- [ ] No platform-equivalent disabled semantic (e.g., Android `enabled = false`, iOS `.disabled()`) is ever applied
|
|
333
|
+
|
|
334
334
|
cross_platform_validation:
|
|
335
|
-
- [ ] Web: aria-disabled
|
|
336
|
-
- [ ] iOS:
|
|
337
|
-
- [ ] Android: enabled = false in semantics
|
|
335
|
+
- [ ] Web: no disabled/aria-disabled attribute, no tabindex=-1 for disabled reasons
|
|
336
|
+
- [ ] iOS: no `.disabled()` modifier applied
|
|
337
|
+
- [ ] Android: no `enabled = false` in semantics
|
|
338
338
|
```
|
|
339
339
|
|
|
340
|
+
**Philosophy Alternatives** — when a spec's design outline reaches for "disabled," redirect to the pattern that actually fits:
|
|
341
|
+
|
|
342
|
+
- **In-flight async action** → `state_loading` (component shows a loading/busy state; the action remains conceptually available, just pending)
|
|
343
|
+
- **Form input momentarily invalid** → validate-on-press / validate-on-submit (surface the error, do not disable the control)
|
|
344
|
+
- **Action genuinely unavailable** → do not render the component/action at all
|
|
345
|
+
|
|
346
|
+
**Mirror reference**: `src/components/core/Button-CTA/__tests__/ButtonCTA.test.ts`, `describe('No Disabled State (philosophy exclusion)')` — the canonical exclusion-guard test block this checklist is derived from.
|
|
347
|
+
|
|
340
348
|
### Hover State Contract Validation
|
|
341
349
|
|
|
342
350
|
**Contract Definition**: Visual feedback on hover (desktop only)
|
|
@@ -347,7 +355,6 @@ hover_state_validation_checklist:
|
|
|
347
355
|
- [ ] Hover state triggers on mouse enter
|
|
348
356
|
- [ ] Hover state clears on mouse leave
|
|
349
357
|
- [ ] Hover state NOT shown on touch devices
|
|
350
|
-
- [ ] Hover state NOT shown when disabled
|
|
351
358
|
|
|
352
359
|
state_validation:
|
|
353
360
|
- [ ] Background color changes on hover
|
|
@@ -8,7 +8,7 @@ description: Reusable methodology for conducting test failure audits — workflo
|
|
|
8
8
|
# Test Failure Audit Methodology
|
|
9
9
|
|
|
10
10
|
**Date**: 2025-12-26
|
|
11
|
-
**Last Reviewed**:
|
|
11
|
+
**Last Reviewed**: 2026-07-08
|
|
12
12
|
**Purpose**: Reusable methodology guidance for conducting test failure audits, including workflow steps, pattern identification, and lessons learned from Specs 025/026/029
|
|
13
13
|
**Organization**: process-standard
|
|
14
14
|
**Scope**: cross-project
|