Separate harness-proof cadence from product-proof cadence
A safety harness should be exercised continuously on real product journeys, but its expensive self-tests should run when the harness changes (plus a periodic canary), not be embedded in every product evidence run. Metadata validators are useful for traceability, but they should not be presented as coverage unless each selected case maps to an executable test and current evidence.
When this applies: CI suites with deny-by-default network guards, isolated test-data factories, cleanup recovery, or semantic risk registries. Keep the runtime guard active on every relevant test. Run destructive/abrupt-exit recovery, transport-family negative controls, and exhaustive namespace proofs on harness-impact changes and scheduled canaries.
Limits: rerun harness self-tests broadly after framework, runtime, database, transport, credential, or fixture-topology changes. A cheap invariant can remain per-run if it directly proves the guard is alive.
Evidence/example — 2026-09-09
Source provenance: read-only audit of e3-solutions/theft current workspace.
- The root Playwright product suite includes factory isolation and abrupt-worker recovery specs, while separate egress jobs already validate the guard's own failure behavior (
web/playwright.config.ts;web/e2e/factories/isolation.spec.ts;web/e2e/factories/interruption-recovery.spec.ts;.github/workflows/ci.yml). - The semantic corpus contains 49 entries but only 7 release gates with executable test references; its pairwise selector returns 19 planning combinations, and its README explicitly says they are not auto-executed. Treating that validator as browser proof would be an inference error (
web/e2e/corpus/cases.mjs;web/e2e/corpus/browser-selection.mjs;web/e2e/corpus/README.md). - The main CI preflight and a second PR-triggered workflow both run the same corpus and selection validators (
.github/workflows/ci.yml;.github/workflows/e2e-corpus-freshness.yml).
Inference: retain fail-closed runtime containment and exact cleanup; reduce duplicate self-test cadence and make metadata-to-executable mapping explicit before labeling selection checks as safety gates.