retrievalInterfacegovExperiment) routing a definable % of readers to the variant (zero added latency, app-cached); the imprimatur writes config/live as a single pinned pair (govLock) — one live edition at a time, supersede-prior, no deploy. The engine chat path and the optimizer both read it, byte-identical. Both are compatibility-guarded server-side — a blocked pair returns HTTP 409 with the exact field mismatch.6optimization/{uid}/iterations via govCandidate.components[].)invariantFlags list (over-length I11 · premature-upsell I9 are checked today); any flag marks the proof ineligible — a flag, not a ranker.retrievalInterface (the fields it exposes through ground(retrieval) in prompt.js). When a field is missing — e.g. a prompt reads meta_scope_shift but the corpus doesn't expose it — the guard names the exact mismatch and blocks, so a "corpus go-live" can't silently break a prompt that assumed a different shape. The check shown here mirrors liveconfig.compatible(); the server re-runs it authoritatively and returns HTTP 409 on a blocked lock/experiment.config/live { promptVersionId, corpusVersionId, staticBlock, voiceLayer } — a runtime-config flip, app-cached, no deploy. One live pair at a time; supersede-prior; full audit trail; mirrored back to prompt.js + voice-feedback.md. The engine chat path and the optimizer both read it, so they are byte-identical.