A lifecycle for the knowledge feeding an LLM: candidate-only builds meant to keep automated jobs off live, a contract gate that blocks silent shrinkage and lost facts (answer scoring advisory), manual reversible promotion, pinned versions, one-click rollback.
Built after unattended automation shrank a production index overnight, and tightened after a later run gutted it. Includes the uncomfortable finding that the governance layer was built but inert — every field present, the authority ranking a no-op — because provenance was never populated.
Context engineering · AI governance · Human-in-the-loop · Audited rollback
Python · PostgreSQL · Cloud Run · scheduled jobs
Treating the information a model reads the way you treat code: a versioned candidate, a gate that blocks silent shrinkage and lost facts while answer scoring runs beside it as advice, a person who promotes, a pinned known-good version for one-click rollback, and healed context sent back through the same gate. That's the design; in my own system, not every part of it was enforced.