@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
|
@@ -151,7 +151,7 @@ Both `find_docs` and keyworded `find_components` emit a three-layer confidence s
|
|
|
151
151
|
|
|
152
152
|
**Token exemption:** token tools perform structured predicate retrieval with no relevance ranking — the three-layer model does not apply. Trigger: if a token tool is introduced with open-ended intent input and ranked output, it inherits this model. Bright line: predicate filter → no tier; relevance ranking → tier required.
|
|
153
153
|
|
|
154
|
-
**119 Decision 4a cross-reference:** the agent-side certainty-calibration protocol that consumes a `partial` (propose best-fit + confidence + rationale → human go/no-go, with the proposal required to carry its own uncertainty) is captured in `.kiro/specs/119-
|
|
154
|
+
**119 Decision 4a cross-reference:** the agent-side certainty-calibration protocol that consumes a `partial` (propose best-fit + confidence + rationale → human go/no-go, with the proposal required to carry its own uncertainty) is captured in `.kiro/specs/119-agent-experience-architecture/design-outline.md` under Decision 4a. 121 emits the signal; 119 defines what the agent does with a `partial`.
|
|
155
155
|
|
|
156
156
|
---
|
|
157
157
|
|
|
@@ -8,7 +8,7 @@ description: Cross-reference standards for documentation — formatting rules, c
|
|
|
8
8
|
# Process-Cross-Reference-Standards
|
|
9
9
|
|
|
10
10
|
**Date**: 2026-01-03
|
|
11
|
-
**Last Reviewed**: 2026-
|
|
11
|
+
**Last Reviewed**: 2026-07-09
|
|
12
12
|
**Purpose**: Comprehensive guide for creating and maintaining cross-references in documentation
|
|
13
13
|
**Organization**: process-standard
|
|
14
14
|
**Scope**: cross-project
|
|
@@ -34,7 +34,7 @@ Cross-references MUST be used in the following documentation types:
|
|
|
34
34
|
- **Completion Documents**: Task completion documentation in `.kiro/specs/[spec-name]/completion/`
|
|
35
35
|
- **README Files**: Project and directory README files that provide navigation and context
|
|
36
36
|
- **Overview Documents**: Master documents that map components to their documentation (e.g., `docs/token-system-overview.md`)
|
|
37
|
-
- **Process Documentation**: Standards and methodology documents in `.kiro/steering/` and `docs/processes/`
|
|
37
|
+
- **Process Documentation**: Standards and methodology documents in the MCP-served governance corpus (`governance/`), the always-loaded identity docs (`.kiro/steering/`), and `docs/processes/`
|
|
38
38
|
|
|
39
39
|
**Rationale**: These are documentation artifacts where cross-references add value by helping readers discover related information and navigate between connected concepts.
|
|
40
40
|
|
|
@@ -113,11 +113,25 @@ export const TypographyTokens = {
|
|
|
113
113
|
|
|
114
114
|
## How to Format Cross-References
|
|
115
115
|
|
|
116
|
-
Cross-references should follow consistent formatting patterns to ensure clarity and maintainability.
|
|
116
|
+
Cross-references should follow consistent formatting patterns to ensure clarity and maintainability. **Which pattern applies depends on what you are linking to** — there are two reference classes:
|
|
117
|
+
|
|
118
|
+
### Two Reference Classes (pick by target)
|
|
119
|
+
|
|
120
|
+
| Target | How to reference | Example |
|
|
121
|
+
|--------|------------------|---------|
|
|
122
|
+
| **Governance corpus** — an MCP-served doc under `governance/` that carries an `id:` | **Bare-`id`** markdown link: `[Human Label](<doc-id>)` — the target's `id`, no path, no `.md`. Bare-id links are validated against the served index (Spec 119-B OB-1): a target that is not MCP-served will be dropped from cross-ref enumeration and flagged unresolved | `[Token Governance](token-governance)` |
|
|
123
|
+
| **The 9 identity docs** under `.kiro/steering/` — always-loaded, NEVER MCP-served (Spec 119-A: identity refs never take the MCP round-trip; they carry `id:` for the uniqueness guard, not for resolution) | **Relative path** markdown link, like other non-id-indexed repo files (amended 2026-08-02, Civitas health-check follow-up #4 — the prior bare-id clause implied MCP resolvability these docs deliberately do not have) | `[Core Goals](../.kiro/steering/core-goals.md)` |
|
|
124
|
+
| **Spec-local / repo-file** — spec artifacts (requirements/design/tasks/completion docs, spec guides), READMEs, and other repo files that are **not** `id`-indexed | **Relative path** markdown link (see "Relative Path Usage" below) | `[Design Decisions](../design.md#design-decisions)` |
|
|
125
|
+
|
|
126
|
+
**Why the split.** Spec 119-A gave every doc in the MCP-served corpus a stable, relocation-independent `id` and made bare-`id` the addressing form (226 intra-corpus refs migrated). An `id`-addressed link survives file moves because the `id` — not the path — is the address. Spec artifacts and loose repo files carry no `id`, so relative paths remain their correct form.
|
|
127
|
+
|
|
128
|
+
**The addressing grammar is owned elsewhere — do not re-derive it here.** The canonical source for the `id` form, the composite `docid#sectionid` section grammar, kebab-case filenames, and `aliases` is [Steering Addressing Conventions](steering-addressing-conventions). This document governs cross-reference *practice* (when to link, link-text quality, anti-patterns, maintenance); it defers the *grammar* to that doc so the two never drift.
|
|
129
|
+
|
|
130
|
+
> **Tooling caveat (119-B OB-1).** Bare-`id` cross-refs **resolve** correctly (resolver strategy-1), but the cross-reference *parser* still only enumerates `.md`-suffixed targets, so `list_cross_references` and the `crossReferences` map currently under-count bare-`id` links. Enumeration parity is deferred to 119-B OB-1. Until then, do not treat an empty `list_cross_references` result as proof a doc has no inbound links.
|
|
117
131
|
|
|
118
132
|
### Relative Path Usage
|
|
119
133
|
|
|
120
|
-
|
|
134
|
+
For **spec-local and repo-file references** (the second class above), use relative paths from the current document location. Relative paths ensure these links remain valid when viewed across different contexts. (For steering/governance-corpus targets, use the bare-`id` form instead — see the table above.)
|
|
121
135
|
|
|
122
136
|
**Pattern**: Use `../` to navigate up directories and `./` for same-directory references
|
|
123
137
|
|
|
@@ -483,7 +497,7 @@ where properties are separated by concern.
|
|
|
483
497
|
|
|
484
498
|
## Related Guides
|
|
485
499
|
|
|
486
|
-
- [Compositional Color Guide](https://github.com/3fn/
|
|
500
|
+
- [Compositional Color Guide](https://github.com/3fn/DesignerPunk/blob/main/.kiro/specs/typography-token-expansion/compositional-color-guide.md)
|
|
487
501
|
- [Strategic Flexibility Guide](/Users/peter/.kiro/specs/typography-token-expansion/strategic-flexibility-guide.md)
|
|
488
502
|
- [Inline Emphasis Guide](/.kiro/specs/typography-token-expansion/inline-emphasis-guide.md)
|
|
489
503
|
```
|
|
@@ -611,7 +625,7 @@ Strategic Flexibility Guide.
|
|
|
611
625
|
|
|
612
626
|
When files are moved during organization:
|
|
613
627
|
|
|
614
|
-
1. Update
|
|
628
|
+
1. **Bare-`id` references to steering/governance-corpus docs need no update** — the `id` is the address, so it survives the move (this move-resilience is the reason 119-A adopted `id`-addressing). Update the *relative-path* references (spec-local / repo-file links) to reflect new locations.
|
|
615
629
|
2. Verify bidirectional links remain consistent
|
|
616
630
|
3. Test navigation by clicking links in rendered markdown
|
|
617
631
|
4. Document any broken links and fix them immediately
|
|
@@ -621,10 +635,12 @@ When files are moved during organization:
|
|
|
621
635
|
Periodically validate cross-reference integrity:
|
|
622
636
|
|
|
623
637
|
- Verify all links resolve to existing documents
|
|
624
|
-
- Check that relative paths are correct from document location
|
|
638
|
+
- Check that relative paths are correct from document location (bare-`id` links resolve by `id`, not path, so there is no path to verify — confirm the `id` exists)
|
|
625
639
|
- Confirm section anchors exist in target documents
|
|
626
640
|
- Test navigation efficiency (related docs reachable in 2 clicks or less)
|
|
627
641
|
|
|
642
|
+
> **Caveat (119-B OB-1):** automated link-graph tooling built on `list_cross_references` currently under-counts bare-`id` links (the parser enumerates only `.md`-suffixed targets). Until OB-1 lands, supplement automated enumeration with a text search for bare-`id` targets when auditing a doc's inbound/outbound links.
|
|
643
|
+
|
|
628
644
|
### Navigation as Aid, Not Dependency
|
|
629
645
|
|
|
630
646
|
Cross-references should be navigation aids, not content dependencies:
|
|
@@ -654,12 +670,14 @@ Cross-references should be navigation aids, not content dependencies:
|
|
|
654
670
|
|
|
655
671
|
## Related Documentation
|
|
656
672
|
|
|
657
|
-
-
|
|
658
|
-
-
|
|
659
|
-
-
|
|
673
|
+
- [Steering Addressing Conventions](steering-addressing-conventions) - **Canonical** `id` / `docid#sectionid` grammar, filename and `aliases` conventions (this doc defers the grammar there)
|
|
674
|
+
- [Process File Organization](process-file-organization) - Metadata and directory structure
|
|
675
|
+
- [Completion Documentation Guide](completion-documentation-guide) - Completion doc cross-reference patterns
|
|
676
|
+
- [Process Development Workflow](process-development-workflow) - Task completion workflow
|
|
660
677
|
|
|
661
|
-
**MCP Queries
|
|
678
|
+
**MCP Queries** (bare-`id` in the `path` argument — the resolver addresses by `id`):
|
|
662
679
|
```
|
|
663
|
-
get_section({ path: "
|
|
664
|
-
|
|
680
|
+
get_section({ path: "steering-addressing-conventions", heading: "Convention 2: Composite `docid#sectionid` Addressing Grammar" })
|
|
681
|
+
get_section({ path: "process-file-organization", heading: "Required Metadata Fields" })
|
|
682
|
+
get_document_full({ path: "completion-documentation-guide" })
|
|
665
683
|
```
|
|
@@ -8,7 +8,7 @@ description: Development workflow and task completion practices — task complet
|
|
|
8
8
|
# Development Workflow and Task Completion Practices
|
|
9
9
|
|
|
10
10
|
**Date**: 2025-10-20
|
|
11
|
-
**Last Reviewed**: 2026-
|
|
11
|
+
**Last Reviewed**: 2026-08-12
|
|
12
12
|
**Purpose**: Task completion workflow and git practices for all development work
|
|
13
13
|
**Organization**: process-standard
|
|
14
14
|
**Scope**: cross-project
|
|
@@ -31,10 +31,10 @@ description: Development workflow and task completion practices — task complet
|
|
|
31
31
|
5. ❌ **SKIP**: Agent Hook Dependency Chains (priming only - query MCP for details), Troubleshooting sections, Hook Integration details
|
|
32
32
|
|
|
33
33
|
**MCP Queries for Detailed Guidance** (query when needed):
|
|
34
|
-
- **Completion Documentation**: `get_section({ path: "
|
|
35
|
-
- **
|
|
36
|
-
- **File Organization**: `get_section({ path: "
|
|
37
|
-
- **Hook Operations**: `get_section({ path: "
|
|
34
|
+
- **Completion Documentation**: `get_section({ path: "completion-documentation-guide", heading: "Two-Document Workflow" })`
|
|
35
|
+
- **Releases**: `get_section({ path: "release-management-system", heading: "The Release Recipe" })`
|
|
36
|
+
- **File Organization**: `get_section({ path: "process-file-organization", heading: "Organization Implementation (Conditional Loading)" })`
|
|
37
|
+
- **Hook Operations**: `get_section({ path: "process-hook-operations", heading: "Agent Hook Dependency Chains" })`
|
|
38
38
|
|
|
39
39
|
### WHEN Debugging Hook Issues THEN Read:
|
|
40
40
|
1. ✅ **Task Completion Workflow** (context)
|
|
@@ -43,11 +43,11 @@ description: Development workflow and task completion practices — task complet
|
|
|
43
43
|
4. ❌ **SKIP**: Spec Planning, Kiro Agent Hook Integration
|
|
44
44
|
|
|
45
45
|
**MCP Queries for Detailed Guidance** (query when needed):
|
|
46
|
-
- **Hook Dependency Chains**: `get_section({ path: "
|
|
47
|
-
- **Hook Troubleshooting**: `get_section({ path: "
|
|
48
|
-
- **Common Issues**: `get_section({ path: "
|
|
49
|
-
- **Release Detection Issues**: `get_section({ path: "
|
|
50
|
-
- **Hook Best Practices**: `get_section({ path: "
|
|
46
|
+
- **Hook Dependency Chains**: `get_section({ path: "process-hook-operations", heading: "Agent Hook Dependency Chains" })`
|
|
47
|
+
- **Hook Troubleshooting**: `get_section({ path: "process-hook-operations", heading: "Troubleshooting" })`
|
|
48
|
+
- **Common Issues**: `get_section({ path: "process-hook-operations", heading: "Common Issues and Solutions" })`
|
|
49
|
+
- **Release Detection Issues**: `get_section({ path: "process-hook-operations", heading: "Release Detection Not Triggering" })`
|
|
50
|
+
- **Hook Best Practices**: `get_section({ path: "process-hook-operations", heading: "Best Practices" })`
|
|
51
51
|
|
|
52
52
|
### WHEN Setting Up or Modifying Hooks THEN Read:
|
|
53
53
|
1. ✅ **Agent Hook Dependency Chains** (priming - then query MCP for detailed guidance)
|
|
@@ -56,15 +56,15 @@ description: Development workflow and task completion practices — task complet
|
|
|
56
56
|
4. ❌ **SKIP**: Task Completion Workflow, Quality Standards
|
|
57
57
|
|
|
58
58
|
**MCP Queries for Detailed Guidance** (query when needed):
|
|
59
|
-
- **Hook Dependency Chains**: `get_section({ path: "
|
|
60
|
-
- **Hook Troubleshooting**: `get_section({ path: "
|
|
61
|
-
- **Kiro Agent Hook Integration**: `get_section({ path: "
|
|
59
|
+
- **Hook Dependency Chains**: `get_section({ path: "process-hook-operations", heading: "Agent Hook Dependency Chains" })`
|
|
60
|
+
- **Hook Troubleshooting**: `get_section({ path: "process-hook-operations", heading: "Troubleshooting" })`
|
|
61
|
+
- **Kiro Agent Hook Integration**: `get_section({ path: "process-hook-operations", heading: "Kiro Agent Hook Integration" })`
|
|
62
62
|
|
|
63
63
|
### WHEN Creating Completion Documentation THEN Read:
|
|
64
64
|
1. ✅ **Task Completion Workflow** (quick reference section)
|
|
65
65
|
2. ✅ Query **Completion Documentation Guide** via MCP for detailed guidance:
|
|
66
|
-
- `get_document_full({ path: "
|
|
67
|
-
- Or specific sections: `get_section({ path: "
|
|
66
|
+
- `get_document_full({ path: "completion-documentation-guide" })`
|
|
67
|
+
- Or specific sections: `get_section({ path: "completion-documentation-guide", heading: "Documentation Tiers" })`
|
|
68
68
|
|
|
69
69
|
---
|
|
70
70
|
|
|
@@ -72,18 +72,12 @@ description: Development workflow and task completion practices — task complet
|
|
|
72
72
|
|
|
73
73
|
### Recommended Process (IDE-based with Automation)
|
|
74
74
|
1. **[MANUAL]** **Complete Task Work**: Implement all requirements and create specified artifacts
|
|
75
|
-
2. **[MANUAL]** **
|
|
76
|
-
- For regular tasks: Run `npm test` (functional lanes only, timing-assertion-free; ~1 min warm)
|
|
77
|
-
- For parent tasks (default): Run `npm test` (comprehensive functional validation, ~1 min warm)
|
|
78
|
-
- For parent tasks modifying release tool: Run `npm run test:all` (~1 min — includes performance suites; the cost delta over `npm test` is seconds)
|
|
79
|
-
- For performance tasks: Run `npm run test:performance` AND `npm run test:performance:isolated` (seconds each; perf coverage is split across the two lanes — or run `npm run test:all`). Performance assertions are wall-clock-sensitive: run on an otherwise-idle machine
|
|
80
|
-
|
|
81
|
-
> Lane semantics reworked 2026-07-03 (commit `29bba7de`; see Spec 125 design-outline addendum): default lanes are timing-assertion-free; performance coverage is split across `test:performance` + `test:performance:isolated`.
|
|
75
|
+
2. **[MANUAL]** **Local validation**: the unit PR's required checks run the full functional suite at the gate; validating locally first catches failures before they block the merge. Test-command and lane selection (incl. the performance lanes and the 2026-07-03 lane-semantics note): Start Up Tasks §4–§5.
|
|
82
76
|
3. **[MANUAL]** **Create Detailed Completion Document**: For parent tasks, create comprehensive completion doc at `.kiro/specs/[spec-name]/completion/task-N-parent-completion.md` (Tier 3)
|
|
83
77
|
4. **[MANUAL]** **Create Summary Document**: For parent tasks, create concise summary doc at `docs/specs/[spec-name]/task-N-summary.md`
|
|
84
78
|
5. **[MANUAL]** **Mark Task Complete**: Use `taskStatus` tool to update task status to "completed" when finished
|
|
85
|
-
6. **[MANUAL]** **
|
|
86
|
-
7. **[MANUAL]** **
|
|
79
|
+
6. **[MANUAL]** **Open the Task PR**: Run `./.kiro/hooks/complete-task.sh "Task Name"` to commit on the task branch, push, and open the PR; report the PR URL and STOP
|
|
80
|
+
7. **[MANUAL]** **Merge = completion**: Peter merges on green — the merge accepts the work into `main` (no separate GitHub verification step; the merged PR is the verification). Release analysis runs post-merge on `main`.
|
|
87
81
|
|
|
88
82
|
**Why use `taskStatus` tool?**
|
|
89
83
|
- Triggers agent hooks for automatic file organization
|
|
@@ -100,22 +94,22 @@ description: Development workflow and task completion practices — task complet
|
|
|
100
94
|
**For detailed guidance** on documentation tiers, naming conventions, templates, and the two-document workflow, query Completion Documentation Guide via MCP:
|
|
101
95
|
|
|
102
96
|
```
|
|
103
|
-
get_document_full({ path: "
|
|
97
|
+
get_document_full({ path: "completion-documentation-guide" })
|
|
104
98
|
```
|
|
105
99
|
|
|
106
100
|
Or query specific sections:
|
|
107
101
|
```
|
|
108
|
-
get_section({ path: "
|
|
109
|
-
get_section({ path: "
|
|
110
|
-
get_section({ path: "
|
|
102
|
+
get_section({ path: "completion-documentation-guide", heading: "Two-Document Workflow" })
|
|
103
|
+
get_section({ path: "completion-documentation-guide", heading: "Documentation Tiers" })
|
|
104
|
+
get_section({ path: "completion-documentation-guide", heading: "Naming Conventions" })
|
|
111
105
|
```
|
|
112
106
|
|
|
113
107
|
### Alternative Process (Script-based without Automation)
|
|
114
108
|
1. **Complete Task Work**: Implement all requirements and create specified artifacts
|
|
115
109
|
2. **Manually update tasks.md**: Change task status from `[ ]` to `[x]`
|
|
116
|
-
3. **
|
|
117
|
-
4. **
|
|
118
|
-
5. **[OPTIONAL]** **Release
|
|
110
|
+
3. **Open the Task PR**: Run `./.kiro/hooks/complete-task.sh "Task Name"` to commit on the task branch, push, and open the PR
|
|
111
|
+
4. **Merge = completion**: Peter merges on green; the merged PR is the verification
|
|
112
|
+
5. **[OPTIONAL]** **Release-delta check**: `git log $(git describe --tags --abbrev=0)..main --oneline` shows everything shipped since the last release (squash titles are the changelog spine — see Release Management System)
|
|
119
113
|
|
|
120
114
|
**When to use this approach:**
|
|
121
115
|
- Quick fixes or minor changes
|
|
@@ -131,10 +125,10 @@ get_section({ path: ".kiro/steering/Completion Documentation Guide.md", heading:
|
|
|
131
125
|
- Example: "Task 6 Complete: Strategic Framework Documentation Package"
|
|
132
126
|
|
|
133
127
|
### Git Practices
|
|
134
|
-
- **Repository**: https://github.com/3fn/
|
|
135
|
-
- **Branch**: All work on `main`
|
|
136
|
-
- **Commits**: Atomic commits per
|
|
137
|
-
- **
|
|
128
|
+
- **Repository**: https://github.com/3fn/DesignerPunk
|
|
129
|
+
- **Branch**: All work on task branches (`task/<spec>-<N>-<slug>`); `main` is protected — direct pushes are rejected, admins included
|
|
130
|
+
- **Commits**: Atomic commits per subtask on the branch; squash-merge yields one `main` commit per **merge unit** with the PR title as its subject (a unit is the whole spec for small specs, or a tasks.md-declared grouping for large specs — see Task-Completion-Protocol § Coherent Units)
|
|
131
|
+
- **PRs**: Title = `Task <N> Complete: <Description> (<spec>)`; body carries Spec / Task / Agent / completion-doc path / validation note
|
|
138
132
|
|
|
139
133
|
## Spec Planning (Conditional Loading)
|
|
140
134
|
|
|
@@ -167,17 +161,13 @@ See **Spec Planning Standards** (`.kiro/steering/Process-Spec-Planning.md`) for
|
|
|
167
161
|
## Hook System Usage
|
|
168
162
|
|
|
169
163
|
### Available Tools
|
|
170
|
-
- **`.kiro/hooks/
|
|
171
|
-
- **`.kiro/hooks/task-completion-commit.sh`**: Full automation script with message extraction
|
|
164
|
+
- **`.kiro/hooks/complete-task.sh`**: Task-completion PR tooling — branch, commit, push, PR-open, URL report
|
|
172
165
|
- **`.kiro/hooks/README.md`**: Complete documentation and usage examples
|
|
173
166
|
|
|
174
167
|
### Usage Examples
|
|
175
168
|
```bash
|
|
176
|
-
# Standard task completion
|
|
177
|
-
./.kiro/hooks/
|
|
178
|
-
|
|
179
|
-
# For different specs or custom task files
|
|
180
|
-
./.kiro/hooks/task-completion-commit.sh path/to/tasks.md "Task Name"
|
|
169
|
+
# Standard task completion — opens the task PR
|
|
170
|
+
./.kiro/hooks/complete-task.sh "Task N Complete: Description (spec)"
|
|
181
171
|
```
|
|
182
172
|
|
|
183
173
|
---
|
|
@@ -195,14 +185,14 @@ Agent hooks use `runAfter` configuration to create dependency chains where hooks
|
|
|
195
185
|
**For detailed guidance** on dependency chain behavior, troubleshooting, and best practices, query Process-Hook-Operations via MCP:
|
|
196
186
|
|
|
197
187
|
```
|
|
198
|
-
get_document_full({ path: "
|
|
188
|
+
get_document_full({ path: "process-hook-operations" })
|
|
199
189
|
```
|
|
200
190
|
|
|
201
191
|
Or query specific sections:
|
|
202
192
|
```
|
|
203
|
-
get_section({ path: "
|
|
204
|
-
get_section({ path: "
|
|
205
|
-
get_section({ path: "
|
|
193
|
+
get_section({ path: "process-hook-operations", heading: "Agent Hook Dependency Chains" })
|
|
194
|
+
get_section({ path: "process-hook-operations", heading: "Dependency Chain Behavior" })
|
|
195
|
+
get_section({ path: "process-hook-operations", heading: "Best Practices" })
|
|
206
196
|
```
|
|
207
197
|
|
|
208
198
|
---
|
|
@@ -237,15 +227,15 @@ When experiencing errors or failures during task completion, hooks not triggerin
|
|
|
237
227
|
**For detailed troubleshooting guidance**, query Process-Hook-Operations via MCP:
|
|
238
228
|
|
|
239
229
|
```
|
|
240
|
-
get_document_full({ path: "
|
|
230
|
+
get_document_full({ path: "process-hook-operations" })
|
|
241
231
|
```
|
|
242
232
|
|
|
243
233
|
Or query specific sections:
|
|
244
234
|
```
|
|
245
|
-
get_section({ path: "
|
|
246
|
-
get_section({ path: "
|
|
247
|
-
get_section({ path: "
|
|
248
|
-
get_section({ path: "
|
|
235
|
+
get_section({ path: "process-hook-operations", heading: "Troubleshooting" })
|
|
236
|
+
get_section({ path: "process-hook-operations", heading: "Common Issues and Solutions" })
|
|
237
|
+
get_section({ path: "process-hook-operations", heading: "Release Detection Not Triggering" })
|
|
238
|
+
get_section({ path: "process-hook-operations", heading: "Quick Reference: Diagnostic Commands" })
|
|
249
239
|
```
|
|
250
240
|
|
|
251
241
|
**Quick Reference - Common Issues**:
|
|
@@ -255,9 +245,9 @@ get_section({ path: ".kiro/steering/Process-Hook-Operations.md", heading: "Quick
|
|
|
255
245
|
- **Hook script errors**: Ensure scripts have execute permissions (`chmod +x`)
|
|
256
246
|
|
|
257
247
|
**Quick Reference - Error Recovery**:
|
|
258
|
-
- If commit fails: Fix issues and re-run
|
|
259
|
-
- If push fails:
|
|
260
|
-
- If wrong
|
|
248
|
+
- If commit fails: Fix issues and re-run the tooling
|
|
249
|
+
- If push fails: Push the TASK BRANCH manually (`git push -u origin <branch>`)
|
|
250
|
+
- If the PR title is wrong: Edit the PR title on GitHub (squash-merge takes the title as the commit subject)
|
|
261
251
|
|
|
262
252
|
|
|
263
253
|
---
|
|
@@ -298,13 +288,13 @@ Agent hooks provide automatic file organization and release detection when tasks
|
|
|
298
288
|
**For detailed guidance** on hook execution order, automatic file organization, release detection, and troubleshooting, query Process-Hook-Operations via MCP:
|
|
299
289
|
|
|
300
290
|
```
|
|
301
|
-
get_document_full({ path: "
|
|
291
|
+
get_document_full({ path: "process-hook-operations" })
|
|
302
292
|
```
|
|
303
293
|
|
|
304
294
|
Or query specific sections:
|
|
305
295
|
```
|
|
306
|
-
get_section({ path: "
|
|
307
|
-
get_section({ path: "
|
|
308
|
-
get_section({ path: "
|
|
309
|
-
get_section({ path: "
|
|
296
|
+
get_section({ path: "process-hook-operations", heading: "Kiro Agent Hook Integration" })
|
|
297
|
+
get_section({ path: "process-hook-operations", heading: "Agent Hook Execution Order" })
|
|
298
|
+
get_section({ path: "process-hook-operations", heading: "Automatic File Organization" })
|
|
299
|
+
get_section({ path: "process-hook-operations", heading: "Release Detection" })
|
|
310
300
|
```
|
|
@@ -9,7 +9,7 @@ description: File organization standards — metadata-driven organization, direc
|
|
|
9
9
|
# File Organization Standards
|
|
10
10
|
|
|
11
11
|
**Date**: 2025-01-10
|
|
12
|
-
**Last Reviewed**: 2026-
|
|
12
|
+
**Last Reviewed**: 2026-07-05
|
|
13
13
|
**Purpose**: Metadata-driven file organization system for sustainable project structure
|
|
14
14
|
**Organization**: process-standard
|
|
15
15
|
**Scope**: cross-project
|
|
@@ -34,8 +34,8 @@ description: File organization standards — metadata-driven organization, direc
|
|
|
34
34
|
|
|
35
35
|
**Query via MCP for detailed guidance:**
|
|
36
36
|
```
|
|
37
|
-
get_section({ path: "
|
|
38
|
-
get_section({ path: "
|
|
37
|
+
get_section({ path: "completion-documentation-guide", heading: "Two-Document Workflow" })
|
|
38
|
+
get_section({ path: "completion-documentation-guide", heading: "Cross-References" })
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
### WHEN Creating Spec Documents (Requirements, Design, Tasks)
|
|
@@ -58,8 +58,8 @@ get_section({ path: ".kiro/steering/Completion Documentation Guide.md", heading:
|
|
|
58
58
|
|
|
59
59
|
**Query via MCP for detailed guidance:**
|
|
60
60
|
```
|
|
61
|
-
get_section({ path: "
|
|
62
|
-
get_section({ path: "
|
|
61
|
+
get_section({ path: "completion-documentation-guide", heading: "Naming Conventions" })
|
|
62
|
+
get_section({ path: "completion-documentation-guide", heading: "Document Templates" })
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
### WHEN Adding Cross-References
|
|
@@ -69,9 +69,9 @@ get_section({ path: ".kiro/steering/Completion Documentation Guide.md", heading:
|
|
|
69
69
|
|
|
70
70
|
**Query via MCP for detailed guidance:**
|
|
71
71
|
```
|
|
72
|
-
get_section({ path: "
|
|
73
|
-
get_section({ path: "
|
|
74
|
-
get_section({ path: "
|
|
72
|
+
get_section({ path: "process-cross-reference-standards", heading: "How to Format Cross-References" })
|
|
73
|
+
get_section({ path: "process-cross-reference-standards", heading: "Common Cross-Reference Patterns" })
|
|
74
|
+
get_section({ path: "process-cross-reference-standards", heading: "Anti-Patterns to Avoid" })
|
|
75
75
|
```
|
|
76
76
|
|
|
77
77
|
### WHEN Organizing Existing Files AND Creating New Implementation Files
|
|
@@ -109,10 +109,7 @@ All files use explicit metadata to declare organizational intent, enabling safe
|
|
|
109
109
|
**Task**: Associated task number and name (if applicable)
|
|
110
110
|
```
|
|
111
111
|
|
|
112
|
-
**Civitas Governance Note:** Steering documents require additional metadata fields (`Last Reviewed`, `Layer`, `Relevant Tasks`, `inclusion` in YAML frontmatter). For the complete steering doc metadata requirements and lifecycle process (creation → review → update → deprecation), see Thurgood's Civitas Steward operational mode or query
|
|
113
|
-
```
|
|
114
|
-
get_section({ path: ".kiro/steering/Civitas-System-Overview.md", heading: "Governance Processes" })
|
|
115
|
-
```
|
|
112
|
+
**Civitas Governance Note:** Steering documents require additional metadata fields (`Last Reviewed`, `Layer`, `Relevant Tasks`, `inclusion` in YAML frontmatter). For the complete steering doc metadata requirements and lifecycle process (creation → review → update → deprecation), see Thurgood's Civitas Steward operational mode, or the always-loaded Civitas System Overview § "Governance Processes" (an identity doc — never MCP-served, already in every agent's context; no query needed).
|
|
116
113
|
|
|
117
114
|
#### Optional: `aliases:` frontmatter field (steering docs)
|
|
118
115
|
|
|
@@ -172,13 +169,13 @@ aliases: RTL, bidirectional, internationalization, i18n
|
|
|
172
169
|
**For detailed guidance** on completion documentation naming conventions, templates, and the two-document workflow, query Completion Documentation Guide via MCP:
|
|
173
170
|
|
|
174
171
|
```
|
|
175
|
-
get_document_full({ path: "
|
|
172
|
+
get_document_full({ path: "completion-documentation-guide" })
|
|
176
173
|
```
|
|
177
174
|
|
|
178
175
|
Or query specific sections:
|
|
179
176
|
```
|
|
180
|
-
get_section({ path: "
|
|
181
|
-
get_section({ path: "
|
|
177
|
+
get_section({ path: "completion-documentation-guide", heading: "Naming Conventions" })
|
|
178
|
+
get_section({ path: "completion-documentation-guide", heading: "Directory Structure" })
|
|
182
179
|
```
|
|
183
180
|
|
|
184
181
|
#### Summary Documents
|
|
@@ -194,19 +191,19 @@ get_section({ path: ".kiro/steering/Completion Documentation Guide.md", heading:
|
|
|
194
191
|
- Summary docs are ONLY for parent tasks (not subtasks)
|
|
195
192
|
- Naming pattern: `task-N-summary.md` (e.g., `task-1-summary.md`)
|
|
196
193
|
- Hook pattern: `**/task-*-summary.md`
|
|
197
|
-
- AI workflows:
|
|
194
|
+
- AI workflows: release analysis runs post-merge on `main` (summary docs traverse the PR gate with the work)
|
|
198
195
|
|
|
199
196
|
**For detailed guidance** on summary document templates, cross-references, and the two-document workflow, query Completion Documentation Guide via MCP:
|
|
200
197
|
|
|
201
198
|
```
|
|
202
|
-
get_document_full({ path: "
|
|
199
|
+
get_document_full({ path: "completion-documentation-guide" })
|
|
203
200
|
```
|
|
204
201
|
|
|
205
202
|
Or query specific sections:
|
|
206
203
|
```
|
|
207
|
-
get_section({ path: "
|
|
208
|
-
get_section({ path: "
|
|
209
|
-
get_section({ path: "
|
|
204
|
+
get_section({ path: "completion-documentation-guide", heading: "Two-Document Workflow" })
|
|
205
|
+
get_section({ path: "completion-documentation-guide", heading: "Cross-References" })
|
|
206
|
+
get_section({ path: "completion-documentation-guide", heading: "Document Templates" })
|
|
210
207
|
```
|
|
211
208
|
|
|
212
209
|
#### Spec-Specific Guides
|
|
@@ -293,13 +290,13 @@ strategic-framework/
|
|
|
293
290
|
**For detailed guidance** on completion documentation directory structure, naming patterns, and the two-document workflow, query Completion Documentation Guide via MCP:
|
|
294
291
|
|
|
295
292
|
```
|
|
296
|
-
get_document_full({ path: "
|
|
293
|
+
get_document_full({ path: "completion-documentation-guide" })
|
|
297
294
|
```
|
|
298
295
|
|
|
299
296
|
Or query specific sections:
|
|
300
297
|
```
|
|
301
|
-
get_section({ path: "
|
|
302
|
-
get_section({ path: "
|
|
298
|
+
get_section({ path: "completion-documentation-guide", heading: "Directory Structure" })
|
|
299
|
+
get_section({ path: "completion-documentation-guide", heading: "Naming Conventions" })
|
|
303
300
|
```
|
|
304
301
|
|
|
305
302
|
### Audit Findings
|
|
@@ -388,7 +385,7 @@ After moving files, update any cross-reference links to reflect new locations.
|
|
|
388
385
|
|
|
389
386
|
#### Enhanced Commit Hook
|
|
390
387
|
```bash
|
|
391
|
-
# .kiro/hooks/
|
|
388
|
+
# .kiro/hooks/complete-task.sh "Task Name" [--organize] (organization option folded into the PR-flow tooling)
|
|
392
389
|
# Optional organization during task completion
|
|
393
390
|
# Human-controlled with hook assistance
|
|
394
391
|
# Maintains fallback to current behavior
|
|
@@ -561,14 +558,14 @@ Cross-references are markdown links that connect related documentation, enabling
|
|
|
561
558
|
**For detailed guidance** on cross-reference formatting, patterns, anti-patterns, and maintenance, query Process-Cross-Reference-Standards via MCP:
|
|
562
559
|
|
|
563
560
|
```
|
|
564
|
-
get_document_full({ path: "
|
|
561
|
+
get_document_full({ path: "process-cross-reference-standards" })
|
|
565
562
|
```
|
|
566
563
|
|
|
567
564
|
Or query specific sections:
|
|
568
565
|
```
|
|
569
|
-
get_section({ path: "
|
|
570
|
-
get_section({ path: "
|
|
571
|
-
get_section({ path: "
|
|
566
|
+
get_section({ path: "process-cross-reference-standards", heading: "How to Format Cross-References" })
|
|
567
|
+
get_section({ path: "process-cross-reference-standards", heading: "Common Cross-Reference Patterns" })
|
|
568
|
+
get_section({ path: "process-cross-reference-standards", heading: "Anti-Patterns to Avoid" })
|
|
572
569
|
```
|
|
573
570
|
|
|
574
571
|
---
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
id: process-hook-operations
|
|
3
3
|
inclusion: manual
|
|
4
4
|
name: Process-Hook-Operations
|
|
5
|
-
description: Agent hook operational guidance — dependency chains, execution order, automatic file organization, troubleshooting, and best practices. Load when debugging hook issues, setting up or modifying hooks, or troubleshooting automation failures. NOTE - Release detection sections are
|
|
5
|
+
description: Agent hook operational guidance — dependency chains, execution order, automatic file organization, troubleshooting, and best practices. Load when debugging hook issues, setting up or modifying hooks, or troubleshooting automation failures. NOTE - Release detection sections are historical; the Spec-065 release CLI was RETIRED 2026-08-12 (Q6 ballot) in favor of the manual release recipe. See Release Management System for current process.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Hook Operations Guide
|
|
9
9
|
|
|
10
10
|
**Date**: 2026-01-04
|
|
11
|
-
**Last Reviewed**: 2026-
|
|
11
|
+
**Last Reviewed**: 2026-07-09
|
|
12
12
|
**Purpose**: Comprehensive operational guidance for agent hook dependency chains, troubleshooting, and best practices
|
|
13
13
|
**Organization**: process-standard
|
|
14
14
|
**Scope**: cross-project
|
|
@@ -19,6 +19,16 @@ description: Agent hook operational guidance — dependency chains, execution or
|
|
|
19
19
|
|
|
20
20
|
This document provides detailed operational guidance for working with Kiro agent hooks. It covers dependency chain behavior, troubleshooting procedures, and best practices for reliable automation.
|
|
21
21
|
|
|
22
|
+
> ## ⚠️ Scope & runtime — read before applying any of this
|
|
23
|
+
>
|
|
24
|
+
> **1. This describes a Kiro-IDE-only mechanism.** The "agent hooks" here are the Kiro event-hook runtime — `.kiro/agent-hooks/*.json` configs fired by the Kiro IDE on `taskStatusChange` events. **Claude Code has no equivalent event-hook system** (the same runtime gap that the always-layer has under CC — see 122 / OB-7). Under Claude Code none of these hooks fire; file organization and any release steps are performed by explicit tooling/CLI steps, not by IDE events. Read every "hooks fire on task completion" statement below as *Kiro-runtime behavior*, not a cross-runtime guarantee.
|
|
25
|
+
>
|
|
26
|
+
> **2. "Task completion" now means merge (125-A PR-gate).** Since the ratified 125-A workflow, a task is accepted when its unit's **PR is merged** — not when a local status flips. The completion tool is `./.kiro/hooks/complete-task.sh` (opens the PR), which **superseded** the old commit-on-completion tooling. Work reaches `main` only through a merged, branch-protected PR. So the troubleshooting guidance below that frames "direct git commits" as *bypassing hooks* (versus using the `taskStatus` tool) is **Kiro-IDE-specific and predates the branch→PR→merge flow** — under the current workflow, committing and pushing a branch is a *correct, expected* step, not an error to avoid.
|
|
27
|
+
>
|
|
28
|
+
> **3. Release detection here is historical.** The Spec-065 release CLI was itself RETIRED on 2026-08-12 (Q6 ballot: `.kiro/docs/ballots/2026-08-12-q6-release-manager-retirement.md`), and the `release-manager.sh` hook described below was DELETED the same day; this content is retained solely as Kiro-hook operational history. See [Release Management System](release-management-system) for the current release recipe.
|
|
29
|
+
>
|
|
30
|
+
> This doc is preserved for Kiro-runtime hook operations and history. A cross-runtime rework belongs with the 122 agent-generator work (OB-7), not here.
|
|
31
|
+
|
|
22
32
|
**When to use this document**:
|
|
23
33
|
- Debugging hook issues or automation failures
|
|
24
34
|
- Understanding hook dependencies and execution order
|
|
@@ -509,6 +519,8 @@ ls -la .kiro/release-triggers/
|
|
|
509
519
|
# git commit -m "message" && git push
|
|
510
520
|
```
|
|
511
521
|
|
|
522
|
+
> **Kiro-runtime framing only (see the Scope banner).** "`git commit && push` bypasses hooks" is true *only* of the Kiro IDE event mechanism. Under the 125-A PR-gate workflow, committing and pushing a branch is the **correct** step — subtask/parent work reaches `main` through a merged PR, and `taskStatus` marks completion *on the branch*. This "wrong approach" label applies to Kiro hook-triggering, not to the git workflow itself.
|
|
523
|
+
|
|
512
524
|
2. **Verify task status changed**: Check tasks.md to confirm task is marked `[x]`
|
|
513
525
|
|
|
514
526
|
3. **Check hook configurations**: Verify JSON files are valid and enabled
|
|
@@ -1155,13 +1167,13 @@ File organization triggers automatically when task status changes to "completed"
|
|
|
1155
1167
|
**For detailed guidance** on file organization workflow, metadata values, directory structure, scope rationale, and manual organization options, query File Organization Standards via MCP:
|
|
1156
1168
|
|
|
1157
1169
|
```
|
|
1158
|
-
get_document_full({ path: "
|
|
1170
|
+
get_document_full({ path: "process-file-organization" })
|
|
1159
1171
|
```
|
|
1160
1172
|
|
|
1161
1173
|
Or query specific sections:
|
|
1162
1174
|
```
|
|
1163
|
-
get_section({ path: "
|
|
1164
|
-
get_section({ path: "
|
|
1175
|
+
get_section({ path: "process-file-organization", heading: "Organization Implementation (Conditional Loading)" })
|
|
1176
|
+
get_section({ path: "process-file-organization", heading: "File Organization Scope (Conditional Loading)" })
|
|
1165
1177
|
```
|
|
1166
1178
|
|
|
1167
1179
|
### Release Detection
|
|
@@ -1175,20 +1187,19 @@ Release detection triggers automatically when parent task summary documents are
|
|
|
1175
1187
|
- `.kiro/` directory is filtered from Kiro IDE file watching (hooks don't trigger there)
|
|
1176
1188
|
|
|
1177
1189
|
**Quick Reference**:
|
|
1178
|
-
- **Summary docs**: `docs/specs/[spec-name]/task-N-summary.md` (
|
|
1190
|
+
- **Summary docs**: `docs/specs/[spec-name]/task-N-summary.md` (release-note source material)
|
|
1179
1191
|
- **Detailed docs**: `.kiro/specs/[spec-name]/completion/task-N-parent-completion.md` (internal)
|
|
1180
|
-
- **Manual trigger**: `./.kiro/hooks/release-manager.sh auto`
|
|
1181
1192
|
|
|
1182
|
-
**For
|
|
1193
|
+
**For the current release process** (the manual recipe; the detection hook was deleted 2026-08-12, Q6 ballot), query Release Management System via MCP:
|
|
1183
1194
|
|
|
1184
1195
|
```
|
|
1185
|
-
get_document_full({ path: "
|
|
1196
|
+
get_document_full({ path: "release-management-system" })
|
|
1186
1197
|
```
|
|
1187
1198
|
|
|
1188
1199
|
Or query specific sections:
|
|
1189
1200
|
```
|
|
1190
|
-
get_section({ path: "
|
|
1191
|
-
get_section({ path: "
|
|
1201
|
+
get_section({ path: "release-management-system", heading: "The Release Recipe" })
|
|
1202
|
+
get_section({ path: "release-management-system", heading: "Discovering What Changed and Why" })
|
|
1192
1203
|
```
|
|
1193
1204
|
|
|
1194
1205
|
---
|