An LLM translation is not content, it is a cached derivation of a source field, and if you don't record what produced it, you can't tell stale from approved.
We run LLM pipelines that translate and adapt product catalogs at scale. The failure mode is rarely bad language quality. It is silence.
Someone edits a product description or a spec line in the source locale. The translated rows stay exactly as they were. Nothing throws. No queue backs up, no alert fires. The catalog quietly serves last quarter's specification to everyone reading it in another language, and you hear about it from a customer.
What fixes it is treating every generated field as derived data with a provenance record: the hash of the source text it came from, the model, the prompt version, and a review state. Regeneration then runs off hash mismatch instead of a schedule or a human hunch. Anything a reviewer approved stays pinned to the hash it approved, so a pipeline re-run cannot silently overwrite editorial work.
Our take: tokens are the cheap part here. The cost sits in re-translating text nobody touched, and re-reviewing text a human already signed off on. Provenance turns "what is stale" from a guess into a query.
If you run generation over content that keeps changing, you probably need both: a rule that decides what to regenerate, and a human approval that survives the next run.