Files
tech-log-frontend/config/ci/gates.json
T
DongHyeonkaandClaude Opus 5 b11aa94f1c feat: add the TechLog Studio asset library route and screen
Adds TECH_LOG_STUDIO_ASSETS (/studio/assets) as a route reachable but
excluded from primary Studio navigation (navigationLabel/navigationOrder
null), plus the AssetLibrary screen that lists assets, shows usage, and
lets an operator archive or hard-delete one. canHardDelete() is a pure
gate mirroring the server's ASSET_IN_USE rule so the screen never offers
an action the server would refuse.

Adding a 28th route also required updating the route-scoped CI
accessibility-evidence gate (FE-GATE-009 in config/ci/gates.json, plus
its authority-baseline counts and shape digest in
scripts/contracts/ci-gates.ts) and the Vite route-to-chunk map that
scripts/generate-build-manifest.ts depends on, or test:unit and the
production build both fail. See task-11-report.md for the full
breakdown.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-18 07:26:05 +09:00

2945 lines
86 KiB
JSON

{
"schemaVersion": 2,
"providerAdapter": ".gitea/workflows/quality-gates.yml",
"commands": [
{
"id": "verify-lockfile",
"script": "verify:lockfile",
"expect": "pass"
},
{
"id": "check-frozen-lockfile-fixture",
"script": "check:frozen-lockfile:fixture",
"expect": "pass"
},
{
"id": "lint",
"script": "lint",
"expect": "pass"
},
{
"id": "check-types",
"script": "check:types",
"expect": "pass"
},
{
"id": "check-types-recipes",
"script": "check:types:recipes",
"expect": "pass"
},
{
"id": "check-types-fixture",
"script": "check:types:fixture",
"expect": "fail",
"expectedExitCode": 1,
"expectedDiagnosticId": "error TS2322:"
},
{
"id": "check-types-fixture-ts-port",
"script": "check:types:fixture:ts-port",
"expect": "fail",
"expectedExitCode": 1,
"expectedDiagnosticId": "error TS2322:"
},
{
"id": "check-types-fixture-ts-result",
"script": "check:types:fixture:ts-result",
"expect": "fail",
"expectedExitCode": 1,
"expectedDiagnosticId": "error TS2339:"
},
{
"id": "check-types-fixture-application-output",
"script": "check:types:fixture:application-output",
"expect": "fail",
"expectedExitCode": 1,
"expectedDiagnosticId": "error TS2322:"
},
{
"id": "check-types-fixture-application-input",
"script": "check:types:fixture:application-input",
"expect": "fail",
"expectedExitCode": 1,
"expectedDiagnosticId": "error TS2739:"
},
{
"id": "check-types-fixture-feature-input",
"script": "check:types:fixture:feature-input",
"expect": "fail",
"expectedExitCode": 1,
"expectedDiagnosticId": "error TS2345:"
},
{
"id": "check-types-fixture-failure-kind",
"script": "check:types:fixture:failure-kind",
"expect": "fail",
"expectedExitCode": 1,
"expectedDiagnosticId": "error TS2322:"
},
{
"id": "check-types-fixture-reference-operation",
"script": "check:types:fixture:reference-operation",
"expect": "fail",
"expectedExitCode": 1,
"expectedDiagnosticId": "error TS2345:"
},
{
"id": "check-types-fixture-async-overlay",
"script": "check:types:fixture:async-overlay",
"expect": "fail",
"expectedExitCode": 1,
"expectedDiagnosticId": "error TS2322:"
},
{
"id": "check-types-fixture-route-runtime",
"script": "check:types:fixture:route-runtime",
"expect": "fail",
"expectedExitCode": 1,
"expectedDiagnosticId": "error TS2353:"
},
{
"id": "check-types-fixture-page-action",
"script": "check:types:fixture:page-action",
"expect": "fail",
"expectedExitCode": 1,
"expectedDiagnosticId": "error TS1360:"
},
{
"id": "check-types-fixture-icon-button",
"script": "check:types:fixture:icon-button",
"expect": "fail",
"expectedExitCode": 1,
"expectedDiagnosticId": "error TS2741:"
},
{
"id": "check-types-fixture-i18n-key",
"script": "check:types:fixture:i18n-key",
"expect": "fail",
"expectedExitCode": 1,
"expectedDiagnosticId": "error TS2345:"
},
{
"id": "check-types-fixture-i18n-params",
"script": "check:types:fixture:i18n-params",
"expect": "fail",
"expectedExitCode": 1,
"expectedDiagnosticId": "error TS2554:"
},
{
"id": "check-types-fixture-diagnostics",
"script": "check:types:fixture:diagnostics",
"expect": "fail",
"expectedExitCode": 1,
"expectedDiagnosticId": "UNKNOWN_DIAGNOSTIC_EVENT"
},
{
"id": "test-runtime-schema",
"script": "test:runtime-schema",
"expect": "pass"
},
{
"id": "test-unit",
"script": "test:unit",
"expect": "pass"
},
{
"id": "test-coverage",
"script": "test:coverage",
"expect": "pass"
},
{
"id": "check-coverage-fixture",
"script": "check:coverage:fixture",
"expect": "fail",
"expectedExitCode": 1,
"expectedDiagnosticId": "Risk coverage failed:"
},
{
"id": "test-component",
"script": "test:component",
"expect": "pass"
},
{
"id": "test-integration",
"script": "test:integration",
"expect": "pass"
},
{
"id": "test-http-scenario-evidence",
"script": "test:http-scenario-evidence",
"expect": "pass"
},
{
"id": "test-reference-feature",
"script": "test:reference-feature",
"expect": "pass"
},
{
"id": "test-recipes",
"script": "test:recipes",
"expect": "pass"
},
{
"id": "test-e2e",
"script": "test:e2e",
"expect": "pass"
},
{
"id": "test-browser-capabilities",
"script": "test:browser-capabilities",
"expect": "pass"
},
{
"id": "verify-browser-capability-evidence",
"script": "verify:browser-capability-evidence",
"expect": "pass"
},
{
"id": "test-storybook",
"script": "test:storybook",
"expect": "pass"
},
{
"id": "test-visual",
"script": "test:visual",
"expect": "pass"
},
{
"id": "check-test-evidence-browser",
"script": "check:test-evidence:browser",
"expect": "pass"
},
{
"id": "check-test-evidence-fixture",
"script": "check:test-evidence:fixture",
"expect": "fail",
"expectedExitCode": 1,
"expectedDiagnosticId": "Test evidence failed:"
},
{
"id": "test-a11y",
"script": "test:a11y",
"expect": "pass"
},
{
"id": "review-a11y-manual",
"script": "review:a11y-manual",
"expect": "pass"
},
{
"id": "check-architecture",
"script": "check:architecture",
"expect": "pass"
},
{
"id": "check-design-system",
"script": "check:design-system",
"expect": "pass"
},
{
"id": "check-design-system-fixture",
"script": "check:design-system:fixture",
"expect": "fail",
"expectedExitCode": 1,
"expectedDiagnosticId": "Design system contract failed:"
},
{
"id": "check-i18n",
"script": "check:i18n",
"expect": "pass"
},
{
"id": "check-i18n-fixture",
"script": "check:i18n:fixture",
"expect": "fail",
"expectedExitCode": 1,
"expectedDiagnosticId": "I18n contract failed:"
},
{
"id": "check-diagnostics",
"script": "check:diagnostics",
"expect": "pass"
},
{
"id": "check-diagnostics-fixture",
"script": "check:diagnostics:fixture",
"expect": "fail",
"expectedExitCode": 1,
"expectedDiagnosticId": "Diagnostics contract failed:"
},
{
"id": "check-browser-file-storage-boundaries",
"script": "check:browser-file-storage-boundaries",
"expect": "pass"
},
{
"id": "check-realtime-boundaries",
"script": "check:realtime-boundaries",
"expect": "pass"
},
{
"id": "check-realtime-boundaries-fixture",
"script": "check:realtime-boundaries:fixture",
"expect": "pass"
},
{
"id": "check-optional-recipes-source",
"script": "check:optional-recipes:source",
"expect": "pass"
},
{
"id": "check-optional-recipe-fixtures",
"script": "check:optional-recipe-fixtures",
"expect": "pass"
},
{
"id": "check-registries",
"script": "check:registries",
"expect": "pass"
},
{
"id": "check-registries-compatibility-fixtures",
"script": "check:registries:compatibility-fixtures",
"expect": "pass"
},
{
"id": "check-registries-baseline-fixture",
"script": "check:registries:baseline-fixture",
"expect": "fail",
"expectedExitCode": 1,
"expectedDiagnosticId": "registry baseline approval digest mismatch:"
},
{
"id": "check-registries-fixture",
"script": "check:registries:fixture",
"expect": "fail",
"expectedExitCode": 1,
"expectedDiagnosticId": "duplicates id=duplicate"
},
{
"id": "check-routes-fixture",
"script": "check:routes:fixture",
"expect": "fail",
"expectedExitCode": 1,
"expectedDiagnosticId": "duplicates routeId=DUPLICATE"
},
{
"id": "build",
"script": "build",
"expect": "pass"
},
{
"id": "build-storybook",
"script": "build:storybook",
"expect": "pass"
},
{
"id": "check-bundle",
"script": "check:bundle",
"expect": "pass"
},
{
"id": "check-optional-recipes",
"script": "check:optional-recipes",
"expect": "pass"
},
{
"id": "verify-reproducible-build",
"script": "verify:reproducible-build",
"expect": "pass"
},
{
"id": "build-release-candidate",
"script": "build:release-candidate",
"expect": "pass"
},
{
"id": "verify-local-evidence",
"script": "verify:local-evidence",
"expect": "pass"
},
{
"id": "check-supply-chain-fixtures",
"script": "check:supply-chain:fixtures",
"expect": "pass"
},
{
"id": "check-supply-chain-provider-fixtures",
"script": "check:supply-chain:provider-fixtures",
"expect": "pass"
},
{
"id": "check-security-fixtures",
"script": "check:security:fixtures",
"expect": "pass"
},
{
"id": "check-browser-security",
"script": "check:browser-security",
"expect": "pass"
},
{
"id": "verify-compatibility",
"script": "verify:compatibility",
"expect": "pass"
},
{
"id": "drill-runbook",
"script": "drill:runbook",
"args": [
"--",
"FE-RB-005"
],
"expect": "pass"
},
{
"id": "verify-documentation",
"script": "verify:documentation",
"expect": "pass"
},
{
"id": "collect-web-vitals-evidence",
"script": "collect:web-vitals-evidence",
"expect": "pass"
},
{
"id": "verify-hosting-headers",
"script": "verify:hosting-headers",
"expect": "pass"
},
{
"id": "test-sample-removal",
"script": "test:sample-removal",
"expect": "pass"
},
{
"id": "test-optional-recipe-removal",
"script": "test:optional-recipe-removal",
"expect": "pass"
},
{
"id": "test-browser-file-storage-removal",
"script": "test:browser-file-storage-removal",
"expect": "pass"
},
{
"id": "test-realtime-removal",
"script": "test:realtime-removal",
"expect": "pass"
},
{
"id": "drill-runbook-2",
"script": "drill:runbook",
"args": [
"--",
"FE-RB-001"
],
"expect": "pass"
},
{
"id": "drill-runbook-3",
"script": "drill:runbook",
"args": [
"--",
"FE-RB-002"
],
"expect": "pass"
},
{
"id": "drill-runbook-4",
"script": "drill:runbook",
"args": [
"--",
"FE-RB-003"
],
"expect": "pass"
},
{
"id": "drill-runbook-5",
"script": "drill:runbook",
"args": [
"--",
"FE-RB-004"
],
"expect": "pass"
},
{
"id": "test-performance",
"script": "test:performance",
"expect": "pass"
},
{
"id": "check-ci",
"script": "check:ci",
"expect": "pass"
},
{
"id": "check-release-admission",
"script": "check:release-admission",
"expect": "pass"
}
],
"artifactSchemas": [
{
"id": "text",
"kind": "text",
"maxBytes": 67108864
},
{
"id": "json-build-manifest",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "build-manifest"
},
{
"id": "json-bundle-performance",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "bundle-performance"
},
{
"id": "json-coverage-summary-v8",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "coverage-summary-v8"
},
{
"id": "json-dependency-diff",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "dependency-diff"
},
{
"id": "json-dependency-inventory",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "dependency-inventory"
},
{
"id": "json-field-web-vitals",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "field-web-vitals"
},
{
"id": "json-automated-a11y",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "automated-a11y"
},
{
"id": "json-manual-a11y",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "manual-a11y"
},
{
"id": "json-architecture-dependency-report",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "architecture-dependency-report"
},
{
"id": "json-design-system-contract",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "design-system-contract"
},
{
"id": "json-i18n-contract",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "i18n-contract"
},
{
"id": "json-diagnostics-contract",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "diagnostics-contract"
},
{
"id": "json-realtime-boundaries",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "realtime-boundaries"
},
{
"id": "json-optional-recipes",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "optional-recipes"
},
{
"id": "json-optional-recipe-fixtures",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "optional-recipe-fixtures"
},
{
"id": "json-registry-compatibility-fixtures",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "registry-compatibility-fixtures"
},
{
"id": "json-reproducible-build",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "reproducible-build"
},
{
"id": "json-supply-chain-fixtures",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "supply-chain-fixtures"
},
{
"id": "json-supply-chain-provider-fixtures",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "supply-chain-provider-fixtures"
},
{
"id": "json-compatibility-fixtures",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "compatibility-fixtures"
},
{
"id": "json-documentation-review",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "documentation-review"
},
{
"id": "json-hosting-headers",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "hosting-headers"
},
{
"id": "json-ci-contract-report",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "ci-contract-report"
},
{
"id": "json-schema-document",
"kind": "json-schema",
"maxBytes": 67108864
},
{
"id": "json-http-scenario-receipt",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "http-scenario-receipt"
},
{
"id": "json-lab-performance",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "lab-performance"
},
{
"id": "json-license-report",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "license-report"
},
{
"id": "json-provenance",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "provenance"
},
{
"id": "json-registry-governance-run",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "registry-governance-run"
},
{
"id": "json-registry-snapshot",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "registry-snapshot"
},
{
"id": "json-release-candidate",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "release-candidate"
},
{
"id": "json-release-verification",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "release-verification"
},
{
"id": "json-risk-coverage-v3",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "risk-coverage-v3"
},
{
"id": "json-runbook-record",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "runbook-record"
},
{
"id": "json-sbom",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "sbom"
},
{
"id": "json-supply-chain-coherence",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "supply-chain-coherence"
},
{
"id": "json-supply-chain-verification",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "supply-chain-verification"
},
{
"id": "json-test-evidence-report",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "test-evidence-report"
},
{
"id": "json-vulnerability-report",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "vulnerability-report"
},
{
"id": "junit",
"kind": "junit",
"maxBytes": 67108864
},
{
"id": "html",
"kind": "html",
"maxBytes": 67108864
},
{
"id": "markdown",
"kind": "markdown",
"maxBytes": 16777216
},
{
"id": "sarif-secret-scan",
"kind": "sarif",
"maxBytes": 67108864
},
{
"id": "json-deployment-admission",
"kind": "json",
"maxBytes": 67108864,
"executableSchemaId": "deployment-admission"
}
],
"artifacts": [
{
"id": "artifact-artifacts-quality-install-txt",
"path": "artifacts/quality/install.txt",
"schemaId": "text",
"production": "runner-generated"
},
{
"id": "artifact-artifacts-quality-lint-txt",
"path": "artifacts/quality/lint.txt",
"schemaId": "text",
"production": "runner-generated"
},
{
"id": "artifact-artifacts-quality-check-types-txt",
"path": "artifacts/quality/check-types.txt",
"schemaId": "text",
"production": "runner-generated"
},
{
"id": "artifact-artifacts-quality-gates-FE-GATE-004-txt",
"path": "artifacts/quality/gates/FE-GATE-004.txt",
"schemaId": "text",
"production": "runner-generated"
},
{
"id": "artifact-artifacts-tests-runtime-schema-xml",
"path": "artifacts/tests/runtime-schema.xml",
"schemaId": "junit",
"production": "command-generated",
"producerCommandIds": [
"test-runtime-schema"
]
},
{
"id": "artifact-artifacts-quality-gates-FE-GATE-005-txt",
"path": "artifacts/quality/gates/FE-GATE-005.txt",
"schemaId": "text",
"production": "runner-generated"
},
{
"id": "artifact-artifacts-tests-unit-xml",
"path": "artifacts/tests/unit.xml",
"schemaId": "junit",
"production": "command-generated",
"producerCommandIds": [
"test-unit"
]
},
{
"id": "artifact-artifacts-tests-coverage-xml",
"path": "artifacts/tests/coverage.xml",
"schemaId": "junit",
"production": "command-generated",
"producerCommandIds": [
"test-coverage"
]
},
{
"id": "artifact-artifacts-tests-coverage-coverage-summary-json",
"path": "artifacts/tests/coverage/coverage-summary.json",
"schemaId": "json-coverage-summary-v8",
"production": "command-generated",
"producerCommandIds": [
"test-coverage"
]
},
{
"id": "artifact-artifacts-quality-risk-coverage-json",
"path": "artifacts/quality/risk-coverage.json",
"schemaId": "json-risk-coverage-v3",
"production": "command-generated",
"producerCommandIds": [
"test-coverage"
]
},
{
"id": "artifact-artifacts-quality-risk-coverage-fixture-json",
"path": "artifacts/quality/risk-coverage-fixture.json",
"schemaId": "json-risk-coverage-v3",
"production": "command-generated",
"producerCommandIds": [
"check-coverage-fixture"
]
},
{
"id": "artifact-artifacts-quality-gates-FE-GATE-006-txt",
"path": "artifacts/quality/gates/FE-GATE-006.txt",
"schemaId": "text",
"production": "runner-generated"
},
{
"id": "artifact-artifacts-tests-component-xml",
"path": "artifacts/tests/component.xml",
"schemaId": "junit",
"production": "command-generated",
"producerCommandIds": [
"test-component"
]
},
{
"id": "artifact-artifacts-quality-gates-FE-GATE-007-txt",
"path": "artifacts/quality/gates/FE-GATE-007.txt",
"schemaId": "text",
"production": "runner-generated"
},
{
"id": "artifact-artifacts-tests-integration-xml",
"path": "artifacts/tests/integration.xml",
"schemaId": "junit",
"production": "command-generated",
"producerCommandIds": [
"test-integration"
]
},
{
"id": "artifact-artifacts-tests-http-scenario-executions-json",
"path": "artifacts/tests/http-scenario-executions.json",
"schemaId": "json-http-scenario-receipt",
"production": "command-generated",
"producerCommandIds": [
"test-http-scenario-evidence"
]
},
{
"id": "artifact-artifacts-quality-http-scenario-evidence-json",
"path": "artifacts/quality/http-scenario-evidence.json",
"schemaId": "json-test-evidence-report",
"production": "command-generated",
"producerCommandIds": [
"test-http-scenario-evidence"
]
},
{
"id": "artifact-artifacts-quality-http-scenario-evidence-fixture-json",
"path": "artifacts/quality/http-scenario-evidence-fixture.json",
"schemaId": "json-test-evidence-report",
"production": "command-generated",
"producerCommandIds": [
"test-http-scenario-evidence"
]
},
{
"id": "artifact-artifacts-tests-reference-feature-xml",
"path": "artifacts/tests/reference-feature.xml",
"schemaId": "junit",
"production": "command-generated",
"producerCommandIds": [
"test-reference-feature"
]
},
{
"id": "artifact-artifacts-tests-optional-recipes-xml",
"path": "artifacts/tests/optional-recipes.xml",
"schemaId": "junit",
"production": "command-generated",
"producerCommandIds": [
"test-recipes"
]
},
{
"id": "artifact-artifacts-quality-gates-FE-GATE-008-txt",
"path": "artifacts/quality/gates/FE-GATE-008.txt",
"schemaId": "text",
"production": "runner-generated"
},
{
"id": "artifact-artifacts-tests-e2e-report-index-html",
"path": "artifacts/tests/e2e/report/index.html",
"schemaId": "html",
"production": "command-generated",
"producerCommandIds": [
"test-e2e"
]
},
{
"id": "artifact-artifacts-tests-e2e-results-xml",
"path": "artifacts/tests/e2e/results.xml",
"schemaId": "junit",
"production": "command-generated",
"producerCommandIds": [
"test-e2e"
]
},
{
"id": "artifact-artifacts-tests-browser-capabilities-report-index-html",
"path": "artifacts/tests/browser-capabilities/report/index.html",
"schemaId": "html",
"production": "command-generated",
"producerCommandIds": [
"test-browser-capabilities"
]
},
{
"id": "artifact-artifacts-tests-browser-capabilities-results-xml",
"path": "artifacts/tests/browser-capabilities/results.xml",
"schemaId": "junit",
"production": "command-generated",
"producerCommandIds": [
"test-browser-capabilities"
]
},
{
"id": "artifact-artifacts-tests-storybook-report-index-html",
"path": "artifacts/tests/storybook/report/index.html",
"schemaId": "html",
"production": "command-generated",
"producerCommandIds": [
"test-storybook"
]
},
{
"id": "artifact-artifacts-tests-storybook-results-xml",
"path": "artifacts/tests/storybook/results.xml",
"schemaId": "junit",
"production": "command-generated",
"producerCommandIds": [
"test-storybook"
]
},
{
"id": "artifact-artifacts-tests-visual-report-index-html",
"path": "artifacts/tests/visual/report/index.html",
"schemaId": "html",
"production": "command-generated",
"producerCommandIds": [
"test-visual"
]
},
{
"id": "artifact-artifacts-tests-visual-results-xml",
"path": "artifacts/tests/visual/results.xml",
"schemaId": "junit",
"production": "command-generated",
"producerCommandIds": [
"test-visual"
]
},
{
"id": "artifact-artifacts-quality-test-evidence-json",
"path": "artifacts/quality/test-evidence.json",
"schemaId": "json-test-evidence-report",
"production": "command-generated",
"producerCommandIds": [
"check-test-evidence-browser"
]
},
{
"id": "artifact-artifacts-quality-test-evidence-fixture-json",
"path": "artifacts/quality/test-evidence-fixture.json",
"schemaId": "json-test-evidence-report",
"production": "command-generated",
"producerCommandIds": [
"check-test-evidence-fixture"
]
},
{
"id": "artifact-artifacts-quality-gates-FE-GATE-009-txt",
"path": "artifacts/quality/gates/FE-GATE-009.txt",
"schemaId": "text",
"production": "runner-generated"
},
{
"id": "artifact-artifacts-tests-a11y-json",
"path": "artifacts/tests/a11y.json",
"schemaId": "json-automated-a11y",
"production": "command-generated",
"producerCommandIds": [
"test-a11y"
]
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-HOME-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_HOME.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-EXPLORE-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_EXPLORE.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-EXPLORE-KIND-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_EXPLORE_KIND.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-CASE-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_CASE.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-REFERENCE-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_REFERENCE.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-QUESTION-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_QUESTION.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-TOPIC-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_TOPIC.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-PROJECTS-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_PROJECTS.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-PROJECT-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_PROJECT.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-PROJECT-RECORDS-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_PROJECT_RECORDS.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-PROJECT-DECISIONS-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_PROJECT_DECISIONS.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-PROJECT-ACTIVITY-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_PROJECT_ACTIVITY.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-RELEASES-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_RELEASES.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-RELEASE-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_RELEASE.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-PROFILE-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_PROFILE.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-SEARCH-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_SEARCH.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-STUDIO-HOME-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_STUDIO_HOME.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-STUDIO-DOCUMENTS-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_STUDIO_DOCUMENTS.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-STUDIO-DOCUMENT-NEW-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_STUDIO_DOCUMENT_NEW.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-STUDIO-DOCUMENT-EDIT-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_STUDIO_DOCUMENT_EDIT.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-STUDIO-DOCUMENT-VALIDATION-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_STUDIO_DOCUMENT_VALIDATION.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-STUDIO-DOCUMENT-PREVIEW-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_STUDIO_DOCUMENT_PREVIEW.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-STUDIO-DOCUMENT-PUBLISH-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_STUDIO_DOCUMENT_PUBLISH.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-STUDIO-PUBLICATIONS-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_STUDIO_PUBLICATIONS.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-STUDIO-PUBLICATION-PREVIEW-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_STUDIO_PUBLICATION_PREVIEW.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-STUDIO-ASSETS-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_STUDIO_ASSETS.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-TECH-LOG-STUDIO-NOT-FOUND-md",
"path": "artifacts/tests/a11y-manual/TECH_LOG_STUDIO_NOT_FOUND.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-NOT-FOUND-md",
"path": "artifacts/tests/a11y-manual/NOT_FOUND.md",
"schemaId": "markdown",
"production": "source-controlled"
},
{
"id": "artifact-artifacts-tests-a11y-manual-report-json",
"path": "artifacts/tests/a11y-manual/report.json",
"schemaId": "json-manual-a11y",
"production": "command-generated",
"producerCommandIds": [
"review-a11y-manual"
]
},
{
"id": "artifact-artifacts-quality-gates-FE-GATE-010-txt",
"path": "artifacts/quality/gates/FE-GATE-010.txt",
"schemaId": "text",
"production": "runner-generated"
},
{
"id": "artifact-artifacts-quality-dependency-report-json",
"path": "artifacts/quality/dependency-report.json",
"schemaId": "json-architecture-dependency-report",
"production": "command-generated",
"producerCommandIds": [
"check-architecture"
]
},
{
"id": "artifact-artifacts-quality-design-system-json",
"path": "artifacts/quality/design-system.json",
"schemaId": "json-design-system-contract",
"production": "command-generated",
"producerCommandIds": [
"check-design-system"
]
},
{
"id": "artifact-artifacts-quality-design-system-fixture-json",
"path": "artifacts/quality/design-system-fixture.json",
"schemaId": "json-design-system-contract",
"production": "command-generated",
"producerCommandIds": [
"check-design-system-fixture"
]
},
{
"id": "artifact-artifacts-quality-i18n-json",
"path": "artifacts/quality/i18n.json",
"schemaId": "json-i18n-contract",
"production": "command-generated",
"producerCommandIds": [
"check-i18n"
]
},
{
"id": "artifact-artifacts-quality-i18n-fixture-json",
"path": "artifacts/quality/i18n-fixture.json",
"schemaId": "json-i18n-contract",
"production": "command-generated",
"producerCommandIds": [
"check-i18n-fixture"
]
},
{
"id": "artifact-artifacts-quality-diagnostics-json",
"path": "artifacts/quality/diagnostics.json",
"schemaId": "json-diagnostics-contract",
"production": "command-generated",
"producerCommandIds": [
"check-diagnostics"
]
},
{
"id": "artifact-artifacts-quality-diagnostics-fixture-json",
"path": "artifacts/quality/diagnostics-fixture.json",
"schemaId": "json-diagnostics-contract",
"production": "command-generated",
"producerCommandIds": [
"check-diagnostics-fixture"
]
},
{
"id": "artifact-artifacts-quality-realtime-boundaries-json",
"path": "artifacts/quality/realtime-boundaries.json",
"schemaId": "json-realtime-boundaries",
"production": "command-generated",
"producerCommandIds": [
"check-realtime-boundaries"
]
},
{
"id": "artifact-artifacts-quality-optional-recipes-json",
"path": "artifacts/quality/optional-recipes.json",
"schemaId": "json-optional-recipes",
"production": "command-generated",
"producerCommandIds": [
"check-optional-recipes-source",
"check-optional-recipes"
]
},
{
"id": "artifact-artifacts-quality-optional-recipe-fixtures-json",
"path": "artifacts/quality/optional-recipe-fixtures.json",
"schemaId": "json-optional-recipe-fixtures",
"production": "command-generated",
"producerCommandIds": [
"check-optional-recipe-fixtures"
]
},
{
"id": "artifact-artifacts-quality-registries-json",
"path": "artifacts/quality/registries.json",
"schemaId": "json-registry-snapshot",
"production": "command-generated",
"producerCommandIds": [
"check-registries"
]
},
{
"id": "artifact-artifacts-quality-registry-compatibility-fixtures-json",
"path": "artifacts/quality/registry-compatibility-fixtures.json",
"schemaId": "json-registry-compatibility-fixtures",
"production": "command-generated",
"producerCommandIds": [
"check-registries-compatibility-fixtures"
]
},
{
"id": "artifact-artifacts-quality-registry-baseline-fixture-json",
"path": "artifacts/quality/registry-baseline-fixture.json",
"schemaId": "json-registry-governance-run",
"production": "command-generated",
"producerCommandIds": [
"check-registries-baseline-fixture"
]
},
{
"id": "artifact-artifacts-quality-registry-fixture-json",
"path": "artifacts/quality/registry-fixture.json",
"schemaId": "json-registry-governance-run",
"production": "command-generated",
"producerCommandIds": [
"check-registries-fixture"
]
},
{
"id": "artifact-artifacts-quality-route-registry-fixture-json",
"path": "artifacts/quality/route-registry-fixture.json",
"schemaId": "json-registry-governance-run",
"production": "command-generated",
"producerCommandIds": [
"check-routes-fixture"
]
},
{
"id": "artifact-artifacts-quality-gates-FE-GATE-011-txt",
"path": "artifacts/quality/gates/FE-GATE-011.txt",
"schemaId": "text",
"production": "runner-generated"
},
{
"id": "artifact-artifacts-release-build-manifest-json",
"path": "artifacts/release/build-manifest.json",
"schemaId": "json-build-manifest",
"production": "command-generated",
"producerCommandIds": [
"build"
]
},
{
"id": "artifact-artifacts-release-runtime-config-schema-json",
"path": "artifacts/release/runtime-config.schema.json",
"schemaId": "json-schema-document",
"production": "command-generated",
"producerCommandIds": [
"build"
]
},
{
"id": "artifact-artifacts-storybook-static-index-html",
"path": "artifacts/storybook/static/index.html",
"schemaId": "html",
"production": "command-generated",
"producerCommandIds": [
"build-storybook"
]
},
{
"id": "artifact-artifacts-quality-gates-FE-GATE-012-txt",
"path": "artifacts/quality/gates/FE-GATE-012.txt",
"schemaId": "text",
"production": "runner-generated"
},
{
"id": "artifact-artifacts-performance-bundle-json",
"path": "artifacts/performance/bundle.json",
"schemaId": "json-bundle-performance",
"production": "command-generated",
"producerCommandIds": [
"check-bundle"
]
},
{
"id": "artifact-artifacts-quality-gates-FE-GATE-013-txt",
"path": "artifacts/quality/gates/FE-GATE-013.txt",
"schemaId": "text",
"production": "runner-generated"
},
{
"id": "artifact-artifacts-security-scan-sarif",
"path": "artifacts/security/scan.sarif",
"schemaId": "sarif-secret-scan",
"production": "command-generated",
"producerCommandIds": [
"build-release-candidate"
]
},
{
"id": "artifact-artifacts-release-dependency-inventory-json",
"path": "artifacts/release/dependency-inventory.json",
"schemaId": "json-dependency-inventory",
"production": "command-generated",
"producerCommandIds": [
"build-release-candidate"
]
},
{
"id": "artifact-artifacts-release-sbom-cdx-json",
"path": "artifacts/release/sbom.cdx.json",
"schemaId": "json-sbom",
"production": "command-generated",
"producerCommandIds": [
"build-release-candidate"
]
},
{
"id": "artifact-artifacts-release-provenance-json",
"path": "artifacts/release/provenance.json",
"schemaId": "json-provenance",
"production": "command-generated",
"producerCommandIds": [
"build-release-candidate"
]
},
{
"id": "artifact-artifacts-release-reproducible-build-json",
"path": "artifacts/release/reproducible-build.json",
"schemaId": "json-reproducible-build",
"production": "command-generated",
"producerCommandIds": [
"verify-reproducible-build"
]
},
{
"id": "artifact-artifacts-security-dependency-diff-json",
"path": "artifacts/security/dependency-diff.json",
"schemaId": "json-dependency-diff",
"production": "command-generated",
"producerCommandIds": [
"build-release-candidate"
]
},
{
"id": "artifact-artifacts-security-license-report-json",
"path": "artifacts/security/license-report.json",
"schemaId": "json-license-report",
"production": "command-generated",
"producerCommandIds": [
"build-release-candidate"
]
},
{
"id": "artifact-artifacts-security-vulnerability-report-json",
"path": "artifacts/security/vulnerability-report.json",
"schemaId": "json-vulnerability-report",
"production": "command-generated",
"producerCommandIds": [
"build-release-candidate"
]
},
{
"id": "artifact-artifacts-security-supply-chain-verification-json",
"path": "artifacts/security/supply-chain-verification.json",
"schemaId": "json-supply-chain-verification",
"production": "command-generated",
"producerCommandIds": [
"build-release-candidate"
]
},
{
"id": "artifact-artifacts-security-supply-chain-coherence-json",
"path": "artifacts/security/supply-chain-coherence.json",
"schemaId": "json-supply-chain-coherence",
"production": "command-generated",
"producerCommandIds": [
"build-release-candidate"
]
},
{
"id": "artifact-artifacts-security-supply-chain-fixtures-json",
"path": "artifacts/security/supply-chain-fixtures.json",
"schemaId": "json-supply-chain-fixtures",
"production": "command-generated",
"producerCommandIds": [
"check-supply-chain-fixtures"
]
},
{
"id": "artifact-artifacts-security-supply-chain-provider-fixtures-json",
"path": "artifacts/security/supply-chain-provider-fixtures.json",
"schemaId": "json-supply-chain-provider-fixtures",
"production": "command-generated",
"producerCommandIds": [
"check-supply-chain-provider-fixtures"
]
},
{
"id": "artifact-artifacts-quality-gates-FE-GATE-014-txt",
"path": "artifacts/quality/gates/FE-GATE-014.txt",
"schemaId": "text",
"production": "runner-generated"
},
{
"id": "artifact-artifacts-release-compatibility-json",
"path": "artifacts/release/compatibility.json",
"schemaId": "json-compatibility-fixtures",
"production": "command-generated",
"producerCommandIds": [
"verify-compatibility"
]
},
{
"id": "artifact-artifacts-quality-gates-FE-GATE-015-txt",
"path": "artifacts/quality/gates/FE-GATE-015.txt",
"schemaId": "text",
"production": "runner-generated"
},
{
"id": "artifact-artifacts-release-release-candidate-json",
"path": "artifacts/release/release-candidate.json",
"schemaId": "json-release-candidate",
"production": "command-generated",
"producerCommandIds": [
"build-release-candidate"
]
},
{
"id": "artifact-artifacts-release-verification-json",
"path": "artifacts/release/verification.json",
"schemaId": "json-release-verification",
"production": "command-generated",
"producerCommandIds": [
"build-release-candidate"
]
},
{
"id": "artifact-artifacts-quality-gates-FE-GATE-016-txt",
"path": "artifacts/quality/gates/FE-GATE-016.txt",
"schemaId": "text",
"production": "runner-generated"
},
{
"id": "artifact-artifacts-runbooks-FE-RB-005-record-json",
"path": "artifacts/runbooks/FE-RB-005/record.json",
"schemaId": "json-runbook-record",
"production": "command-generated",
"producerCommandIds": [
"drill-runbook"
]
},
{
"id": "artifact-artifacts-quality-gates-FE-GATE-017-txt",
"path": "artifacts/quality/gates/FE-GATE-017.txt",
"schemaId": "text",
"production": "runner-generated"
},
{
"id": "artifact-artifacts-quality-documentation-review-json",
"path": "artifacts/quality/documentation-review.json",
"schemaId": "json-documentation-review",
"production": "command-generated",
"producerCommandIds": [
"verify-documentation"
]
},
{
"id": "artifact-artifacts-quality-gates-FE-GATE-018-txt",
"path": "artifacts/quality/gates/FE-GATE-018.txt",
"schemaId": "text",
"production": "runner-generated"
},
{
"id": "artifact-artifacts-performance-field-web-vitals-json",
"path": "artifacts/performance/field-web-vitals.json",
"schemaId": "json-field-web-vitals",
"production": "command-generated",
"producerCommandIds": [
"collect-web-vitals-evidence"
]
},
{
"id": "artifact-artifacts-quality-gates-FE-GATE-019-txt",
"path": "artifacts/quality/gates/FE-GATE-019.txt",
"schemaId": "text",
"production": "runner-generated"
},
{
"id": "artifact-artifacts-release-hosting-headers-json",
"path": "artifacts/release/hosting-headers.json",
"schemaId": "json-hosting-headers",
"production": "command-generated",
"producerCommandIds": [
"verify-hosting-headers"
]
},
{
"id": "artifact-artifacts-quality-gates-FE-GATE-020-txt",
"path": "artifacts/quality/gates/FE-GATE-020.txt",
"schemaId": "text",
"production": "runner-generated"
},
{
"id": "artifact-artifacts-tests-sample-removal-xml",
"path": "artifacts/tests/sample-removal.xml",
"schemaId": "junit",
"production": "command-generated",
"producerCommandIds": [
"test-sample-removal"
]
},
{
"id": "artifact-artifacts-tests-optional-recipe-removal-xml",
"path": "artifacts/tests/optional-recipe-removal.xml",
"schemaId": "junit",
"production": "command-generated",
"producerCommandIds": [
"test-optional-recipe-removal"
]
},
{
"id": "artifact-artifacts-tests-browser-file-storage-runtime-removal-xml",
"path": "artifacts/tests/browser-file-storage-runtime-removal.xml",
"schemaId": "junit",
"production": "command-generated",
"producerCommandIds": [
"test-browser-file-storage-removal"
]
},
{
"id": "artifact-artifacts-tests-realtime-runtime-removal-xml",
"path": "artifacts/tests/realtime-runtime-removal.xml",
"schemaId": "junit",
"production": "command-generated",
"producerCommandIds": [
"test-realtime-removal"
]
},
{
"id": "artifact-artifacts-quality-gates-FE-GATE-021-txt",
"path": "artifacts/quality/gates/FE-GATE-021.txt",
"schemaId": "text",
"production": "runner-generated"
},
{
"id": "artifact-artifacts-runbooks-FE-RB-001-record-json",
"path": "artifacts/runbooks/FE-RB-001/record.json",
"schemaId": "json-runbook-record",
"production": "command-generated",
"producerCommandIds": [
"drill-runbook-2"
]
},
{
"id": "artifact-artifacts-quality-gates-FE-GATE-022-txt",
"path": "artifacts/quality/gates/FE-GATE-022.txt",
"schemaId": "text",
"production": "runner-generated"
},
{
"id": "artifact-artifacts-runbooks-FE-RB-002-record-json",
"path": "artifacts/runbooks/FE-RB-002/record.json",
"schemaId": "json-runbook-record",
"production": "command-generated",
"producerCommandIds": [
"drill-runbook-3"
]
},
{
"id": "artifact-artifacts-quality-gates-FE-GATE-023-txt",
"path": "artifacts/quality/gates/FE-GATE-023.txt",
"schemaId": "text",
"production": "runner-generated"
},
{
"id": "artifact-artifacts-runbooks-FE-RB-003-record-json",
"path": "artifacts/runbooks/FE-RB-003/record.json",
"schemaId": "json-runbook-record",
"production": "command-generated",
"producerCommandIds": [
"drill-runbook-4"
]
},
{
"id": "artifact-artifacts-quality-gates-FE-GATE-024-txt",
"path": "artifacts/quality/gates/FE-GATE-024.txt",
"schemaId": "text",
"production": "runner-generated"
},
{
"id": "artifact-artifacts-runbooks-FE-RB-004-record-json",
"path": "artifacts/runbooks/FE-RB-004/record.json",
"schemaId": "json-runbook-record",
"production": "command-generated",
"producerCommandIds": [
"drill-runbook-5"
]
},
{
"id": "artifact-artifacts-quality-gates-FE-GATE-025-txt",
"path": "artifacts/quality/gates/FE-GATE-025.txt",
"schemaId": "text",
"production": "runner-generated"
},
{
"id": "artifact-artifacts-quality-gates-FE-GATE-026-txt",
"path": "artifacts/quality/gates/FE-GATE-026.txt",
"schemaId": "text",
"production": "runner-generated"
},
{
"id": "artifact-artifacts-performance-lab-json",
"path": "artifacts/performance/lab.json",
"schemaId": "json-lab-performance",
"production": "command-generated",
"producerCommandIds": [
"test-performance"
]
},
{
"id": "artifact-artifacts-quality-ci-contract-json",
"path": "artifacts/quality/ci-contract.json",
"schemaId": "json-ci-contract-report",
"production": "command-generated",
"producerCommandIds": [
"check-ci"
]
},
{
"id": "artifact-artifacts-release-deployment-admission-json",
"path": "artifacts/release/deployment-admission.json",
"schemaId": "json-deployment-admission",
"production": "command-generated",
"producerCommandIds": [
"check-release-admission"
]
},
{
"id": "artifact-artifacts-quality-gates-FE-GATE-027-txt",
"path": "artifacts/quality/gates/FE-GATE-027.txt",
"schemaId": "text",
"production": "runner-generated"
}
],
"gates": [
{
"id": "FE-GATE-001",
"name": "manifest-lockfile",
"commandIds": [
"verify-lockfile",
"check-frozen-lockfile-fixture"
],
"logArtifactId": "artifact-artifacts-quality-install-txt",
"evidenceArtifactIds": [
"artifact-artifacts-quality-install-txt"
],
"retentionClassId": "merge-cycle"
},
{
"id": "FE-GATE-002",
"name": "lint",
"commandIds": [
"lint"
],
"logArtifactId": "artifact-artifacts-quality-lint-txt",
"evidenceArtifactIds": [
"artifact-artifacts-quality-lint-txt"
],
"retentionClassId": "merge-cycle"
},
{
"id": "FE-GATE-003",
"name": "typecheck",
"commandIds": [
"check-types",
"check-types-recipes",
"check-types-fixture",
"check-types-fixture-ts-port",
"check-types-fixture-ts-result",
"check-types-fixture-application-output",
"check-types-fixture-application-input",
"check-types-fixture-feature-input",
"check-types-fixture-failure-kind",
"check-types-fixture-reference-operation",
"check-types-fixture-async-overlay",
"check-types-fixture-route-runtime",
"check-types-fixture-page-action",
"check-types-fixture-icon-button",
"check-types-fixture-i18n-key",
"check-types-fixture-i18n-params",
"check-types-fixture-diagnostics"
],
"logArtifactId": "artifact-artifacts-quality-check-types-txt",
"evidenceArtifactIds": [
"artifact-artifacts-quality-check-types-txt"
],
"retentionClassId": "merge-cycle"
},
{
"id": "FE-GATE-004",
"name": "runtime-schema",
"commandIds": [
"test-runtime-schema"
],
"logArtifactId": "artifact-artifacts-quality-gates-FE-GATE-004-txt",
"evidenceArtifactIds": [
"artifact-artifacts-tests-runtime-schema-xml"
],
"retentionClassId": "merge-cycle"
},
{
"id": "FE-GATE-005",
"name": "unit",
"commandIds": [
"test-unit",
"test-coverage",
"check-coverage-fixture"
],
"logArtifactId": "artifact-artifacts-quality-gates-FE-GATE-005-txt",
"evidenceArtifactIds": [
"artifact-artifacts-tests-unit-xml",
"artifact-artifacts-tests-coverage-xml",
"artifact-artifacts-tests-coverage-coverage-summary-json",
"artifact-artifacts-quality-risk-coverage-json",
"artifact-artifacts-quality-risk-coverage-fixture-json"
],
"retentionClassId": "merge-cycle"
},
{
"id": "FE-GATE-006",
"name": "component",
"commandIds": [
"test-component"
],
"logArtifactId": "artifact-artifacts-quality-gates-FE-GATE-006-txt",
"evidenceArtifactIds": [
"artifact-artifacts-tests-component-xml"
],
"retentionClassId": "merge-cycle"
},
{
"id": "FE-GATE-007",
"name": "integration",
"commandIds": [
"test-integration",
"test-http-scenario-evidence",
"test-reference-feature",
"test-recipes"
],
"logArtifactId": "artifact-artifacts-quality-gates-FE-GATE-007-txt",
"evidenceArtifactIds": [
"artifact-artifacts-tests-integration-xml",
"artifact-artifacts-tests-http-scenario-executions-json",
"artifact-artifacts-quality-http-scenario-evidence-json",
"artifact-artifacts-quality-http-scenario-evidence-fixture-json",
"artifact-artifacts-tests-reference-feature-xml",
"artifact-artifacts-tests-optional-recipes-xml"
],
"retentionClassId": "merge-cycle"
},
{
"id": "FE-GATE-008",
"name": "e2e",
"commandIds": [
"test-e2e",
"test-browser-capabilities",
"verify-browser-capability-evidence",
"test-storybook",
"test-visual",
"check-test-evidence-browser",
"check-test-evidence-fixture"
],
"logArtifactId": "artifact-artifacts-quality-gates-FE-GATE-008-txt",
"evidenceArtifactIds": [
"artifact-artifacts-tests-e2e-report-index-html",
"artifact-artifacts-tests-e2e-results-xml",
"artifact-artifacts-tests-browser-capabilities-report-index-html",
"artifact-artifacts-tests-browser-capabilities-results-xml",
"artifact-artifacts-tests-storybook-report-index-html",
"artifact-artifacts-tests-storybook-results-xml",
"artifact-artifacts-tests-visual-report-index-html",
"artifact-artifacts-tests-visual-results-xml",
"artifact-artifacts-quality-test-evidence-json",
"artifact-artifacts-quality-test-evidence-fixture-json"
],
"retentionClassId": "merge-cycle"
},
{
"id": "FE-GATE-009",
"name": "accessibility",
"commandIds": [
"test-a11y",
"review-a11y-manual"
],
"logArtifactId": "artifact-artifacts-quality-gates-FE-GATE-009-txt",
"evidenceArtifactIds": [
"artifact-artifacts-tests-a11y-json",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-HOME-md",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-EXPLORE-md",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-EXPLORE-KIND-md",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-CASE-md",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-REFERENCE-md",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-QUESTION-md",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-TOPIC-md",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-PROJECTS-md",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-PROJECT-md",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-PROJECT-RECORDS-md",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-PROJECT-DECISIONS-md",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-PROJECT-ACTIVITY-md",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-RELEASES-md",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-RELEASE-md",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-PROFILE-md",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-SEARCH-md",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-STUDIO-HOME-md",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-STUDIO-DOCUMENTS-md",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-STUDIO-DOCUMENT-NEW-md",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-STUDIO-DOCUMENT-EDIT-md",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-STUDIO-DOCUMENT-VALIDATION-md",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-STUDIO-DOCUMENT-PREVIEW-md",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-STUDIO-DOCUMENT-PUBLISH-md",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-STUDIO-PUBLICATIONS-md",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-STUDIO-PUBLICATION-PREVIEW-md",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-STUDIO-ASSETS-md",
"artifact-artifacts-tests-a11y-manual-TECH-LOG-STUDIO-NOT-FOUND-md",
"artifact-artifacts-tests-a11y-manual-NOT-FOUND-md",
"artifact-artifacts-tests-a11y-manual-report-json"
],
"retentionClassId": "merge-cycle"
},
{
"id": "FE-GATE-010",
"name": "architecture",
"commandIds": [
"check-architecture",
"check-design-system",
"check-design-system-fixture",
"check-i18n",
"check-i18n-fixture",
"check-diagnostics",
"check-diagnostics-fixture",
"check-browser-file-storage-boundaries",
"check-realtime-boundaries",
"check-realtime-boundaries-fixture",
"check-optional-recipes-source",
"check-optional-recipe-fixtures",
"check-registries",
"check-registries-compatibility-fixtures",
"check-registries-baseline-fixture",
"check-registries-fixture",
"check-routes-fixture",
"check-ci"
],
"logArtifactId": "artifact-artifacts-quality-gates-FE-GATE-010-txt",
"evidenceArtifactIds": [
"artifact-artifacts-quality-dependency-report-json",
"artifact-artifacts-quality-design-system-json",
"artifact-artifacts-quality-design-system-fixture-json",
"artifact-artifacts-quality-i18n-json",
"artifact-artifacts-quality-i18n-fixture-json",
"artifact-artifacts-quality-diagnostics-json",
"artifact-artifacts-quality-diagnostics-fixture-json",
"artifact-artifacts-quality-realtime-boundaries-json",
"artifact-artifacts-quality-optional-recipes-json",
"artifact-artifacts-quality-optional-recipe-fixtures-json",
"artifact-artifacts-quality-registries-json",
"artifact-artifacts-quality-registry-compatibility-fixtures-json",
"artifact-artifacts-quality-registry-baseline-fixture-json",
"artifact-artifacts-quality-registry-fixture-json",
"artifact-artifacts-quality-route-registry-fixture-json",
"artifact-artifacts-quality-ci-contract-json"
],
"retentionClassId": "merge-cycle"
},
{
"id": "FE-GATE-011",
"name": "build",
"commandIds": [
"build",
"build-storybook"
],
"logArtifactId": "artifact-artifacts-quality-gates-FE-GATE-011-txt",
"evidenceArtifactIds": [
"artifact-artifacts-release-build-manifest-json",
"artifact-artifacts-release-runtime-config-schema-json",
"artifact-artifacts-storybook-static-index-html"
],
"retentionClassId": "release-coherence"
},
{
"id": "FE-GATE-012",
"name": "bundle",
"commandIds": [
"build",
"check-bundle",
"check-optional-recipes"
],
"logArtifactId": "artifact-artifacts-quality-gates-FE-GATE-012-txt",
"evidenceArtifactIds": [
"artifact-artifacts-performance-bundle-json",
"artifact-artifacts-quality-optional-recipes-json"
],
"retentionClassId": "release-coherence"
},
{
"id": "FE-GATE-013",
"name": "security",
"commandIds": [
"verify-reproducible-build",
"build-release-candidate",
"verify-local-evidence",
"check-supply-chain-fixtures",
"check-supply-chain-provider-fixtures",
"check-security-fixtures",
"check-browser-security"
],
"logArtifactId": "artifact-artifacts-quality-gates-FE-GATE-013-txt",
"evidenceArtifactIds": [
"artifact-artifacts-security-scan-sarif",
"artifact-artifacts-release-dependency-inventory-json",
"artifact-artifacts-release-sbom-cdx-json",
"artifact-artifacts-release-provenance-json",
"artifact-artifacts-release-reproducible-build-json",
"artifact-artifacts-security-dependency-diff-json",
"artifact-artifacts-security-license-report-json",
"artifact-artifacts-security-vulnerability-report-json",
"artifact-artifacts-security-supply-chain-verification-json",
"artifact-artifacts-security-supply-chain-coherence-json",
"artifact-artifacts-security-supply-chain-fixtures-json",
"artifact-artifacts-security-supply-chain-provider-fixtures-json"
],
"retentionClassId": "release-coherence"
},
{
"id": "FE-GATE-014",
"name": "config-compatibility",
"commandIds": [
"verify-compatibility"
],
"logArtifactId": "artifact-artifacts-quality-gates-FE-GATE-014-txt",
"evidenceArtifactIds": [
"artifact-artifacts-release-compatibility-json"
],
"retentionClassId": "release-coherence"
},
{
"id": "FE-GATE-015",
"name": "release-coherence",
"commandIds": [
"build-release-candidate",
"verify-local-evidence"
],
"logArtifactId": "artifact-artifacts-quality-gates-FE-GATE-015-txt",
"evidenceArtifactIds": [
"artifact-artifacts-release-release-candidate-json",
"artifact-artifacts-release-verification-json",
"artifact-artifacts-security-supply-chain-coherence-json"
],
"retentionClassId": "release-coherence"
},
{
"id": "FE-GATE-016",
"name": "rollback-drill",
"commandIds": [
"build",
"drill-runbook"
],
"logArtifactId": "artifact-artifacts-quality-gates-FE-GATE-016-txt",
"evidenceArtifactIds": [
"artifact-artifacts-runbooks-FE-RB-005-record-json"
],
"retentionClassId": "prod-drill"
},
{
"id": "FE-GATE-017",
"name": "diagram-review",
"commandIds": [
"verify-documentation"
],
"logArtifactId": "artifact-artifacts-quality-gates-FE-GATE-017-txt",
"evidenceArtifactIds": [
"artifact-artifacts-quality-documentation-review-json"
],
"retentionClassId": "documentation"
},
{
"id": "FE-GATE-018",
"name": "field-web-vitals",
"commandIds": [
"collect-web-vitals-evidence"
],
"logArtifactId": "artifact-artifacts-quality-gates-FE-GATE-018-txt",
"evidenceArtifactIds": [
"artifact-artifacts-performance-field-web-vitals-json"
],
"retentionClassId": "field",
"requiresEnvironment": [
"FIELD_WEB_VITALS_INPUT",
"MIN_ELIGIBLE_SAMPLES"
]
},
{
"id": "FE-GATE-019",
"name": "hosting-header",
"commandIds": [
"build",
"verify-hosting-headers"
],
"logArtifactId": "artifact-artifacts-quality-gates-FE-GATE-019-txt",
"evidenceArtifactIds": [
"artifact-artifacts-release-hosting-headers-json"
],
"retentionClassId": "release-coherence",
"requiresEnvironment": [
"HOSTING_BASE_URL"
]
},
{
"id": "FE-GATE-020",
"name": "removability",
"commandIds": [
"test-sample-removal",
"test-optional-recipe-removal",
"test-browser-file-storage-removal",
"test-realtime-removal"
],
"logArtifactId": "artifact-artifacts-quality-gates-FE-GATE-020-txt",
"evidenceArtifactIds": [
"artifact-artifacts-tests-sample-removal-xml",
"artifact-artifacts-tests-optional-recipe-removal-xml",
"artifact-artifacts-tests-browser-file-storage-runtime-removal-xml",
"artifact-artifacts-tests-realtime-runtime-removal-xml"
],
"retentionClassId": "merge-cycle"
},
{
"id": "FE-GATE-021",
"name": "runbook-boot-config",
"commandIds": [
"build",
"drill-runbook-2"
],
"logArtifactId": "artifact-artifacts-quality-gates-FE-GATE-021-txt",
"evidenceArtifactIds": [
"artifact-artifacts-runbooks-FE-RB-001-record-json"
],
"retentionClassId": "prod-drill"
},
{
"id": "FE-GATE-022",
"name": "runbook-chunk-mismatch",
"commandIds": [
"build",
"drill-runbook-3"
],
"logArtifactId": "artifact-artifacts-quality-gates-FE-GATE-022-txt",
"evidenceArtifactIds": [
"artifact-artifacts-runbooks-FE-RB-002-record-json"
],
"retentionClassId": "prod-drill"
},
{
"id": "FE-GATE-023",
"name": "runbook-api-degradation",
"commandIds": [
"build",
"drill-runbook-4"
],
"logArtifactId": "artifact-artifacts-quality-gates-FE-GATE-023-txt",
"evidenceArtifactIds": [
"artifact-artifacts-runbooks-FE-RB-003-record-json"
],
"retentionClassId": "prod-drill"
},
{
"id": "FE-GATE-024",
"name": "runbook-telemetry",
"commandIds": [
"build",
"drill-runbook-5"
],
"logArtifactId": "artifact-artifacts-quality-gates-FE-GATE-024-txt",
"evidenceArtifactIds": [
"artifact-artifacts-runbooks-FE-RB-004-record-json"
],
"retentionClassId": "prod-drill"
},
{
"id": "FE-GATE-025",
"name": "runbook-release-rollback",
"commandIds": [
"build",
"drill-runbook"
],
"logArtifactId": "artifact-artifacts-quality-gates-FE-GATE-025-txt",
"evidenceArtifactIds": [
"artifact-artifacts-runbooks-FE-RB-005-record-json"
],
"retentionClassId": "prod-drill"
},
{
"id": "FE-GATE-026",
"name": "lab-performance",
"commandIds": [
"build",
"test-performance"
],
"logArtifactId": "artifact-artifacts-quality-gates-FE-GATE-026-txt",
"evidenceArtifactIds": [
"artifact-artifacts-performance-lab-json"
],
"retentionClassId": "release-coherence"
},
{
"id": "FE-GATE-027",
"name": "release-admission",
"commandIds": [
"check-release-admission"
],
"logArtifactId": "artifact-artifacts-quality-gates-FE-GATE-027-txt",
"evidenceArtifactIds": [
"artifact-artifacts-release-deployment-admission-json"
],
"retentionClassId": "release-coherence"
}
],
"stages": [
{
"id": "merge",
"readiness": "MERGE_READY",
"needs": [],
"gateIds": [
"FE-GATE-001",
"FE-GATE-002",
"FE-GATE-003",
"FE-GATE-004",
"FE-GATE-005",
"FE-GATE-006",
"FE-GATE-007",
"FE-GATE-008",
"FE-GATE-009",
"FE-GATE-010",
"FE-GATE-011",
"FE-GATE-013",
"FE-GATE-020"
]
},
{
"id": "release",
"readiness": "RELEASE_READY",
"needs": [
"merge"
],
"gateIds": [
"FE-GATE-012",
"FE-GATE-014",
"FE-GATE-015",
"FE-GATE-019",
"FE-GATE-026",
"FE-GATE-027"
]
},
{
"id": "production",
"readiness": "PROD_PROMOTION_READY",
"needs": [
"release"
],
"gateIds": [
"FE-GATE-016",
"FE-GATE-021",
"FE-GATE-022",
"FE-GATE-023",
"FE-GATE-024",
"FE-GATE-025"
]
},
{
"id": "field",
"readiness": "FIELD_SLO_READY",
"needs": [
"production"
],
"gateIds": [
"FE-GATE-018"
]
},
{
"id": "documentation",
"readiness": "DOCUMENTATION_READY",
"needs": [],
"gateIds": [
"FE-GATE-017"
]
}
],
"jobs": [
{
"id": "merge_gate",
"displayName": "${{ matrix.gate }} / ${{ matrix.name }}",
"kind": "gate-matrix",
"needs": [],
"condition": "merge",
"timeoutMinutes": 45,
"gateIds": [
"FE-GATE-001",
"FE-GATE-002",
"FE-GATE-003",
"FE-GATE-004",
"FE-GATE-005",
"FE-GATE-006",
"FE-GATE-007",
"FE-GATE-008",
"FE-GATE-009",
"FE-GATE-010",
"FE-GATE-011",
"FE-GATE-013",
"FE-GATE-020"
],
"browserGateIds": [
"FE-GATE-008",
"FE-GATE-009"
],
"environment": [],
"steps": [
{
"kind": "checkout"
},
{
"kind": "setup-node"
},
{
"kind": "frozen-install"
},
{
"kind": "browser-install"
},
{
"kind": "run-gate"
},
{
"kind": "upload",
"transferId": "merge-gate-evidence",
"name": "${{ matrix.gate }}-${{ gitea.run_id }}",
"paths": [
"artifacts/"
],
"always": true
}
]
},
{
"id": "release_gate",
"displayName": "${{ matrix.gate }} / ${{ matrix.name }}",
"kind": "gate-matrix",
"needs": [
"merge_gate"
],
"condition": "release",
"timeoutMinutes": 45,
"gateIds": [
"FE-GATE-012",
"FE-GATE-014",
"FE-GATE-019",
"FE-GATE-026"
],
"browserGateIds": [
"FE-GATE-026"
],
"environment": [
{
"name": "HOSTING_BASE_URL",
"value": "${{ vars.HOSTING_BASE_URL }}"
}
],
"steps": [
{
"kind": "checkout"
},
{
"kind": "setup-node"
},
{
"kind": "frozen-install"
},
{
"kind": "browser-install"
},
{
"kind": "run-gate"
},
{
"kind": "upload",
"transferId": "release-gate-evidence",
"name": "${{ matrix.gate }}-${{ gitea.run_id }}",
"paths": [
"artifacts/"
],
"always": true
}
]
},
{
"id": "immutable_build",
"displayName": "FE-GATE-015 / immutable-release-candidate",
"kind": "immutable",
"needs": [
"release_gate"
],
"condition": "release",
"timeoutMinutes": 45,
"gateIds": [
"FE-GATE-015",
"FE-GATE-027"
],
"browserGateIds": [],
"environment": [
{
"name": "APP_PROFILE",
"value": "${{ vars.APP_PROFILE }}"
},
{
"name": "RELEASE_TARGET",
"value": "${{ vars.RELEASE_TARGET }}"
}
],
"steps": [
{
"kind": "checkout"
},
{
"kind": "setup-node"
},
{
"kind": "frozen-install"
},
{
"kind": "run-gate"
},
{
"kind": "archive-candidate",
"stepId": "candidate",
"archivePath": ".release/release-candidate-${{ gitea.run_id }}-${{ gitea.run_attempt }}.tar.gz",
"members": [
"dist",
"pnpm-lock.yaml",
"artifacts/performance/bundle.json",
"artifacts/quality/vite-module-inventory.json",
"artifacts/release/build-manifest.json",
"artifacts/release/checksums.txt",
"artifacts/release/dependency-inventory.json",
"artifacts/release/provenance.json",
"artifacts/release/verification.json",
"artifacts/release/sbom.cdx.json",
"artifacts/security/dependency-diff.json",
"artifacts/security/license-report.json",
"artifacts/security/local-evidence-assessment.json",
"artifacts/security/scan.sarif",
"artifacts/security/supply-chain-coherence.json",
"artifacts/security/supply-chain-verification.json",
"artifacts/security/vulnerability-report.json",
"config/security/dependency-baseline.approval.json",
"config/security/dependency-baseline.json",
"config/security/dependency-change-evidence.json",
"config/security/dependency-policy.json",
"config/security/secret-scan-policy.json",
"config/security/vulnerability-exceptions.json",
"config/security/vulnerability-policy.json",
"schemas/artifacts/build-manifest.schema.json",
"schemas/artifacts/dependency-inventory.schema.json",
"schemas/artifacts/supply-chain-verification.schema.json",
"scripts/contracts/release-artifacts.ts",
"scripts/create-release-candidate.ts",
"scripts/generate-supply-chain.ts",
"scripts/lib/build-manifest-outputs.ts",
"scripts/lib/json-schema.ts",
"scripts/lib/local-policy-evidence.ts",
"scripts/lib/local-release-evidence.ts",
"scripts/lib/release-candidate.ts",
"scripts/lib/release-input-evidence.ts",
"scripts/lib/release-runtime-coherence.ts",
"scripts/lib/repository-file-inventory.ts",
"scripts/lib/secret-scan-evaluator.ts",
"scripts/lib/secret-scan-policy.ts",
"scripts/lib/secret-scan.ts",
"scripts/lib/supply-chain.ts",
"scripts/lib/validated-json-artifact.ts",
"scripts/lib/vite-route-chunks.ts",
"src/contracts/release-artifacts.ts",
"src/features/installed-contract-contributions.ts",
"src/features/installed-feature-contracts.ts",
"artifacts/release/release-candidate.json"
],
"archiveOutputName": "archive_sha256",
"distOutputName": "dist_sha256"
},
{
"kind": "upload",
"transferId": "release-candidate",
"name": "release-candidate-${{ gitea.run_id }}-${{ gitea.run_attempt }}",
"paths": [
".release/release-candidate-${{ gitea.run_id }}-${{ gitea.run_attempt }}.tar.gz"
]
}
]
},
{
"id": "vulnerability_provider",
"displayName": "external-vulnerability-provider",
"kind": "provider",
"needs": [
"immutable_build"
],
"condition": "always",
"timeoutMinutes": 45,
"gateIds": [],
"browserGateIds": [],
"environment": [
{
"name": "CANDIDATE_ARCHIVE_SHA256",
"value": "${{ needs.immutable_build.outputs.archive_sha256 }}"
},
{
"name": "CANDIDATE_ARCHIVE_PATH",
"value": ".release/vulnerability-candidate/release-candidate-${{ gitea.run_id }}-${{ gitea.run_attempt }}.tar.gz"
},
{
"name": "CI_RUN_ID",
"value": "${{ gitea.run_id }}"
},
{
"name": "CI_RUN_ATTEMPT",
"value": "${{ gitea.run_attempt }}"
},
{
"name": "EXPECTED_SOURCE_REVISION",
"value": "${{ gitea.sha }}"
},
{
"name": "VULNERABILITY_PUBLIC_KEY_PATH",
"value": "${{ vars.VULNERABILITY_PUBLIC_KEY_PATH }}"
},
{
"name": "VULNERABILITY_KEY_ID",
"value": "${{ vars.VULNERABILITY_KEY_ID }}"
},
{
"name": "VULNERABILITY_PROVIDER_COMMAND",
"value": "${{ vars.VULNERABILITY_PROVIDER_COMMAND }}"
},
{
"name": "VULNERABILITY_REPORT_PATH",
"value": "provider-evidence/untrusted/vulnerability-report.json"
},
{
"name": "VALIDATED_PROVIDER_REPORT_PATH",
"value": "provider-evidence/vulnerability-report.json"
}
],
"steps": [
{
"kind": "checkout"
},
{
"kind": "setup-node"
},
{
"kind": "frozen-install"
},
{
"kind": "download",
"transferId": "release-candidate",
"path": ".release/vulnerability-candidate"
},
{
"kind": "run-provider",
"provider": "vulnerability",
"stepId": "supervise_vulnerability"
},
{
"kind": "validate-provider-evidence",
"provider": "vulnerability"
},
{
"kind": "upload",
"transferId": "vulnerability-provider-evidence",
"name": "vulnerability-provider-${{ gitea.run_id }}-${{ gitea.run_attempt }}",
"paths": [
"provider-evidence/vulnerability-report.json"
]
}
]
},
{
"id": "provenance_provider",
"displayName": "external-provenance-provider",
"kind": "provider",
"needs": [
"immutable_build"
],
"condition": "always",
"timeoutMinutes": 45,
"gateIds": [],
"browserGateIds": [],
"environment": [
{
"name": "CANDIDATE_ARCHIVE_SHA256",
"value": "${{ needs.immutable_build.outputs.archive_sha256 }}"
},
{
"name": "CANDIDATE_ARCHIVE_PATH",
"value": ".release/provenance-candidate/release-candidate-${{ gitea.run_id }}-${{ gitea.run_attempt }}.tar.gz"
},
{
"name": "CI_RUN_ID",
"value": "${{ gitea.run_id }}"
},
{
"name": "CI_RUN_ATTEMPT",
"value": "${{ gitea.run_attempt }}"
},
{
"name": "EXPECTED_SOURCE_REVISION",
"value": "${{ gitea.sha }}"
},
{
"name": "PROVENANCE_PUBLIC_KEY_PATH",
"value": "${{ vars.PROVENANCE_PUBLIC_KEY_PATH }}"
},
{
"name": "PROVENANCE_KEY_ID",
"value": "${{ vars.PROVENANCE_KEY_ID }}"
},
{
"name": "PROVENANCE_PROVIDER_COMMAND",
"value": "${{ vars.PROVENANCE_PROVIDER_COMMAND }}"
},
{
"name": "PROVENANCE_ATTESTATION_PATH",
"value": "provider-evidence/untrusted/provenance-attestation.json"
},
{
"name": "VALIDATED_PROVIDER_REPORT_PATH",
"value": "provider-evidence/provenance-attestation.json"
}
],
"steps": [
{
"kind": "checkout"
},
{
"kind": "setup-node"
},
{
"kind": "frozen-install"
},
{
"kind": "download",
"transferId": "release-candidate",
"path": ".release/provenance-candidate"
},
{
"kind": "run-provider",
"provider": "provenance",
"stepId": "supervise_provenance"
},
{
"kind": "validate-provider-evidence",
"provider": "provenance"
},
{
"kind": "upload",
"transferId": "provenance-provider-evidence",
"name": "provenance-provider-${{ gitea.run_id }}-${{ gitea.run_attempt }}",
"paths": [
"provider-evidence/provenance-attestation.json"
]
}
]
},
{
"id": "promotion",
"displayName": "promote-verified-immutable-candidate",
"kind": "promotion",
"needs": [
"immutable_build",
"vulnerability_provider",
"provenance_provider"
],
"condition": "needs-success",
"timeoutMinutes": 45,
"gateIds": [],
"browserGateIds": [],
"environment": [
{
"name": "CANDIDATE_ARCHIVE_SHA256",
"value": "${{ needs.immutable_build.outputs.archive_sha256 }}"
},
{
"name": "CANDIDATE_ARCHIVE_PATH",
"value": ".release/candidate/release-candidate-${{ gitea.run_id }}-${{ gitea.run_attempt }}.tar.gz"
},
{
"name": "CI_RUN_ID",
"value": "${{ gitea.run_id }}"
},
{
"name": "CI_RUN_ATTEMPT",
"value": "${{ gitea.run_attempt }}"
},
{
"name": "VULNERABILITY_REPORT_PATH",
"value": "${{ gitea.workspace }}/.release/vulnerability/vulnerability-report.json"
},
{
"name": "PROVENANCE_ATTESTATION_PATH",
"value": "${{ gitea.workspace }}/.release/provenance/provenance-attestation.json"
},
{
"name": "VULNERABILITY_PUBLIC_KEY_PATH",
"value": "${{ vars.VULNERABILITY_PUBLIC_KEY_PATH }}"
},
{
"name": "VULNERABILITY_KEY_ID",
"value": "${{ vars.VULNERABILITY_KEY_ID }}"
},
{
"name": "PROVENANCE_PUBLIC_KEY_PATH",
"value": "${{ vars.PROVENANCE_PUBLIC_KEY_PATH }}"
},
{
"name": "PROVENANCE_KEY_ID",
"value": "${{ vars.PROVENANCE_KEY_ID }}"
},
{
"name": "VULNERABILITY_INVOCATION_NONCE",
"value": "${{ needs.vulnerability_provider.outputs.invocation_nonce }}"
},
{
"name": "PROVENANCE_INVOCATION_NONCE",
"value": "${{ needs.provenance_provider.outputs.invocation_nonce }}"
}
],
"steps": [
{
"kind": "checkout"
},
{
"kind": "setup-node"
},
{
"kind": "frozen-install"
},
{
"kind": "download",
"transferId": "release-candidate",
"path": ".release/candidate"
},
{
"kind": "download",
"transferId": "vulnerability-provider-evidence",
"path": ".release/vulnerability"
},
{
"kind": "download",
"transferId": "provenance-provider-evidence",
"path": ".release/provenance"
},
{
"kind": "verify-promotion",
"stepId": "finalize"
},
{
"kind": "upload",
"transferId": "promoted-release",
"name": "promoted-release-${{ gitea.run_id }}-${{ gitea.run_attempt }}",
"paths": [
"${{ steps.finalize.outputs.staging_root }}/release-candidate.tar.gz",
"${{ steps.finalize.outputs.staging_root }}/vulnerability-report.json",
"${{ steps.finalize.outputs.staging_root }}/provenance-attestation.json",
"${{ steps.finalize.outputs.staging_root }}/provider-verification.json",
"${{ steps.finalize.outputs.staging_root }}/promotion-verification.json"
]
},
{
"kind": "cleanup-promotion",
"finalizerStepId": "finalize"
}
]
},
{
"id": "production_gate",
"displayName": "${{ matrix.gate }} / ${{ matrix.name }}",
"kind": "gate-matrix",
"needs": [
"promotion"
],
"condition": "production",
"timeoutMinutes": 45,
"gateIds": [
"FE-GATE-016",
"FE-GATE-021",
"FE-GATE-022",
"FE-GATE-023",
"FE-GATE-024",
"FE-GATE-025"
],
"browserGateIds": [],
"environment": [],
"steps": [
{
"kind": "checkout"
},
{
"kind": "setup-node"
},
{
"kind": "frozen-install"
},
{
"kind": "run-gate"
},
{
"kind": "upload",
"transferId": "production-gate-evidence",
"name": "${{ matrix.gate }}-${{ gitea.run_id }}",
"paths": [
"artifacts/"
],
"always": true
}
]
},
{
"id": "field_gate",
"displayName": "FE-GATE-018 / field-web-vitals",
"kind": "gate-single",
"needs": [
"production_gate"
],
"condition": "field",
"timeoutMinutes": 45,
"gateIds": [
"FE-GATE-018"
],
"browserGateIds": [],
"environment": [
{
"name": "FIELD_WEB_VITALS_INPUT",
"value": "${{ vars.FIELD_WEB_VITALS_INPUT }}"
},
{
"name": "MIN_ELIGIBLE_SAMPLES",
"value": "${{ vars.MIN_ELIGIBLE_SAMPLES }}"
}
],
"steps": [
{
"kind": "checkout"
},
{
"kind": "setup-node"
},
{
"kind": "frozen-install"
},
{
"kind": "run-gate"
},
{
"kind": "upload",
"transferId": "field-gate-evidence",
"name": "FE-GATE-018-${{ gitea.run_id }}",
"paths": [
"artifacts/"
],
"always": true
}
]
},
{
"id": "documentation_gate",
"displayName": "FE-GATE-017 / diagram-review",
"kind": "gate-single",
"needs": [],
"condition": "documentation",
"timeoutMinutes": 45,
"gateIds": [
"FE-GATE-017"
],
"browserGateIds": [],
"environment": [],
"steps": [
{
"kind": "checkout"
},
{
"kind": "setup-node"
},
{
"kind": "frozen-install"
},
{
"kind": "run-gate"
},
{
"kind": "upload",
"transferId": "documentation-gate-evidence",
"name": "FE-GATE-017-${{ gitea.run_id }}",
"paths": [
"artifacts/"
],
"always": true
}
]
}
],
"retention": {
"durationStatus": "UNSUPPORTED_PENDING_ORGANIZATION_POLICY",
"classes": [
{
"id": "merge-cycle",
"policy": "at least through pull-request readiness decision"
},
{
"id": "release-coherence",
"policy": "at least until the next release is promoted"
},
{
"id": "prod-drill",
"policy": "at least until the next production promotion decision"
},
{
"id": "field",
"policy": "through the 28-day window and aggregation"
},
{
"id": "documentation",
"policy": "through documentation readiness review"
}
]
}
}