Supply Chain¶
The supply-chain model is still builder-first, but the toolchain has changed.
What the Builder Owns Now¶
The custom GitHub Action builder image is the repository trust root for:
a digest-pinned Debian Bookworm slim Rust base image
pinned Rust
1.95.0and pinnedtoxRust toolchain installation, including
rustfmtand ClippyOpenSSL development headers
a conservative Linux glibc floor for release artifacts
Xvfb and the Xlib runtime libraries required for GUI screenshot smoke tests
Sphinx and Python docs tooling
cargobuild / test / clippy / fmt runsdocs-site builds from the repository root
vendored Cargo dependency resolution
What It No Longer Builds¶
the retired interactive browser app
WebAssembly artifacts
GitHub Pages site zips pulled from releases
Release Outputs¶
The release pipeline now focuses on:
native CLI and GUI archives
macOS GUI
.dmgpackagesLinux
.debpackages for both binarieschecksums
provenance / attestations
package-manager metadata
repo-owned package metadata
Before attestation, the release workflow now validates:
per-platform archive smoke tests
macOS GUI
.dmgpayload validation and host smoke testsDebian package payload validation and Linux host smoke tests for
.debartifacts on Ubuntu 24.04aggregate checksums
Homebrew / Scoop / Chocolatey manifest generation
the docs-hosted
install.shflow against a local artifact serverthe checked-in release-validation scripts instead of workflow-only inline shell
GitHub Pages is rebuilt directly from main using the Sphinx docs tree instead of downloading a site zip from a release artifact.
Branch Protection Discipline¶
The repository now carries scripts/verify_branch_protection.sh plus make verify-branch-protection so operators can detect stale required-check policies before they block a merge. This is a manual or authenticated check because branch protection lives in GitHub configuration rather than the Git tree.
Cargo Dependency Discipline¶
Cargo.lockis committed and release-aware.Cargo dependencies are vendored under
vendor/.Workspace Cargo commands run with
--locked --frozen --offlineinmakeand CI.make verify-deepruns Rust-nativextaskchecks for offline metadata, dependency source and license policy, repo-owned shell linting, Python syntax checks for the existing docs/test harness scripts, and tracked-file secret scanning.make qualityis the local release-candidate gate: it runsverify-deep, the enforced local scanner subset,ci, and the host-supported GUI e2e harness before remote CI is treated as confirmation. It also requires the local security scanner stack to be installed.deny.tomlrecords the local dependency license/source policy forcargo-deny.scripts/hallucination_check.shverifies math/security invariants inparanoid-core.scripts/supply_chain_verify.shverifies vendoring, workflow pinning, and release prerequisites.scripts/security_assurance_gate.pyverifies the claim-led PR assurance protocol wiring.Release packaging lives in repo-owned scripts instead of workflow-only inline shell.