ProofTrail keeps storefront truth and engineering truth separate on purpose.
Generated governance references:
docs/reference/generated/profile-thresholds.mddocs/reference/generated/ci-governance-topology.mdProofTrail’s current governance model uses five layers on purpose:
pre-commit: local-fast commit gatepre-push: stronger local pre-push gatehosted: GitHub-hosted deterministic PR, CI, release, and maintenance workflowsnightly: scheduled deep verificationmanual: operator-invoked heavy review and release-prep lanesThink of these as four different report cards instead of one giant checkmark:
control-plane green: pnpm governance:control-plane:checkrepo truth green: pnpm repo:truth:checkpublic truth green: pnpm public:truth:checkrelease truth green: pnpm release:truth:checkEach layer answers a different question:
bash scripts/docs-gate.shpnpm -s docs:entrypoints:checkpnpm -s docs:surface:checkpnpm -s docs:value-narrative:checkpnpm -s mainline:alignment:checkpnpm -s identity:drift:checkThese answer questions like:
pnpm -s evidence:registry:checkpnpm -s run:graph:checkThese answer questions like:
./scripts/security-scan.shpnpm -s repo:sensitive:checkpnpm -s repo:sensitive:history:checkpnpm -s repo:pii:checknode scripts/ci/check-source-tree-runtime-residue.mjspnpm -s public:collaboration:checkpnpm -s docs:links:checkpnpm check:host-safetybash scripts/github/check-storefront-settings.shjust github-closure-reportThese answer questions like:
The default local git-hook path is intentionally narrower than the full repo CI graph.
pre-commit should stay local-fast:
configs/tooling/pre-commit-config.yamlpre-push, hosted CI, or explicit
opt-in toggles instead of being mandatory on every local commitpre-push may keep a stronger deterministic repo-wide path, but heavy lanes
such as mutation, nonstub browser replay, deep security scans, or live audits
must stay opt-in or hostedThis split keeps the default local loop honest:
Artifacts/reports/logs may live under .runtime-cache/, but workspace hygiene
still requires every cache and temp surface to stay in an explicit, isolated
lane.
UV_CACHE_DIR for uv cache isolation.PIP_CACHE_DIR for pip cache isolation.TMPDIR for temporary files that must not land in tracked repo roots.RUNNER_TOOL_CACHE and AGENT_TOOLSDIRECTORY only as runner-owned tool
cache surfaces, not as ad-hoc repo-local dump locations.$/pre-commit for PRE_COMMIT_HOME.$/uv-cache for uv cache during CI.$/pip-cache for pip cache during CI.$ only for runner-managed tool caches.clean: false, mark the reason inline with
workspace-hygiene: allow-checkout-clean-false.Gemini/AI audits are intentionally treated as advisory or maintainer-only checks, not deterministic merge blockers.
workflow_dispatch, scheduled non-blocking workflows, or explicit
maintainer commands.nightly-core and manual-core; Gemini trend reviews remain advisory.This split keeps CI trustworthy: reproducible gates stay on the mainline, while model-dependent audits still exist without turning branch quality into a provider-availability lottery.