Implements staged artifact validation and offline upload orchestration from the flakiness testing dashboard plan (docs/plans/2026-11-05-flakiness-testing-dashboard.md), building on the native reporters merged in #1166.
This PR adds the fail-closed security foundation required before any live Flakiness service uploads: untrusted CI artifacts are consumed with trustworthy GitHub provenance, validated through a public schema and strict security checks, snapshotted into private read-only storage, and orchestrated through an isolated CLI boundary with a durable delivery ledger.
What's in this PR
Commit 1: validate CI report producer provenance (80121b76f)
scripts/testing/validate-flakiness-artifacts.mjs — validateProducerProvenance(): pure policy enforcement for the trusted GitHub API context. Validates workflow ID, event, branch, job/step identity, PR snapshot binding.
Implements stage 2 of the flakiness dashboard plan: validates CI artifact provenance and payloads, then orchestrates uploads through a pinned CLI runtime with a durable delivery ledger (342 reporting contracts). This is the fail-closed trust boundary required before any live Flakiness service uploads.
Changes
Validates producer provenance and native payloads against the public schema with strict security checks; snapshots go to private read-only storage via a Python FD bridge that never loads artifact code.
Adds upload orchestration with fixed CLI args/env isolation, bounded stdout/timeout, and an atomic ledger that blocks re-upload on ambiguous or failed states.
Adds a credential-free ubuntu-latest CI workflow verifying the Python FD bridge on Linux, with full git history (fetch-depth: 0) for the git-show wiring tests; Linux support is pending its first successful run.
No live CLI execution, authentication, or hosted delivery in this PR; those belong to later gates.
Confidence Score: 0/5
Do not merge yet: the upload command is incomplete, and the earlier validation, duplicate-delivery, durability, and startup failures remain.