Spaces:
Running
Running
| name: Operational Validation | |
| # Runtime gate for the non-doc operational surfaces: receipt chaining and | |
| # UDS payload manifest/attestation generation. | |
| on: | |
| push: | |
| branches: [main] | |
| paths: | |
| - 'artifacts/a11oy-uds/**' | |
| - 'deploy/**' | |
| - 'packages/receipt-substrate/**' | |
| - 'packages/perception-loop/**' | |
| - 'packages/sequence-pipeline/**' | |
| - 'packages/sparse-attention-kit/**' | |
| - 'huggingface/**' | |
| - 'docs/huggingface.md' | |
| - 'docs/INVESTOR_DEMO.md' | |
| - 'docs/WARHACKER_UDS_PROOF_POINT.md' | |
| - 'docs/ecosystem-readiness-report.json' | |
| - 'scripts/*.py' | |
| - 'scripts/validate-operational.sh' | |
| - 'scripts/release/lib/**' | |
| - '.github/workflows/operational.yml' | |
| pull_request: | |
| branches: [main] | |
| paths: | |
| - 'artifacts/a11oy-uds/**' | |
| - 'deploy/**' | |
| - 'packages/receipt-substrate/**' | |
| - 'packages/perception-loop/**' | |
| - 'packages/sequence-pipeline/**' | |
| - 'packages/sparse-attention-kit/**' | |
| - 'huggingface/**' | |
| - 'docs/huggingface.md' | |
| - 'docs/INVESTOR_DEMO.md' | |
| - 'docs/WARHACKER_UDS_PROOF_POINT.md' | |
| - 'docs/ecosystem-readiness-report.json' | |
| - 'scripts/*.py' | |
| - 'scripts/validate-operational.sh' | |
| - 'scripts/release/lib/**' | |
| - '.github/workflows/operational.yml' | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: operational-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| operational: | |
| name: Receipt + UDS validation | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - name: Harden the runner (Audit all outbound calls) | |
| uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4 | |
| with: | |
| egress-policy: audit | |
| - name: Checkout repository | |
| uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v4 | |
| with: | |
| persist-credentials: false | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4 | |
| with: | |
| version: 10.33.3 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: '22' | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Validate operational surfaces | |
| run: | | |
| bash scripts/validate-operational.sh | |
| python3 -m py_compile scripts/prepare_huggingface_payload.py scripts/publish_huggingface_payload.py scripts/build_operational_payload.py | |
| npm run payload:verify | |
| npm run payload:huggingface | |
| # Build the operational payload bundle in CI before verifying it. The | |
| # tarball is a deterministic build artifact (it embeds dist/, the | |
| # lockfile, and generated manifests) and is intentionally not | |
| # committed to the repo, so the verify step has nothing to check | |
| # unless we generate it here first. | |
| npm run payload:bundle | |
| npm run payload:bundle:verify | |