After a human review, reconcile the edit back to your engine config.
You turned on human review, and a translator fixed a German string by hand. Good – but in fixing it, they may have quietly replaced a glossary term, used a register your brand voice rules forbid, or worded something the engine's instructions tell it to word differently. The human's edit is now authoritative, and it has overridden the configuration you tuned the engine to hold. The post-edit stage (postEdit) is the AI pass that closes that gap: it takes the human's edit as input and reconciles it back to your engine config before the job finishes.
postEdit → runs after humanEdit, reconciles its output to engine configNew to the pipeline? Start with the Pipeline overview.
That is the whole job of this stage, and it is a narrow one. It acts on the human's edit, not the source, and it does not score the result – it adjusts the human's output so it conforms to the same glossary, brand voice, and instructions every other translation on the engine already follows.
What it adjusts#
A human translator brings judgment the engine cannot – nuance, context, a fix for a phrasing that read wrong. That judgment is exactly why you enabled the human review stage. But a human working a queue does not have your full engine configuration in their head, so an edit can introduce variations that conflict with engine-level rules. The post-edit pass reconciles those two without discarding either.
It reviews the human's output against three layers of engine config and adjusts the text to align with them:
- Glossary – the source terms you map to exact translations per locale, and the terms that must never be translated. If a human edit swapped an approved term for a synonym, this pass brings it back.
- Brand voice – the tone and register the engine holds steady across languages. An edit that drifted formal-to-casual is reconciled to the voice you defined.
- Instructions – the standing rules the engine follows on every translation, applied here to the human's edit as they are to a fresh one.
The human's intent survives. What changes is the places where their wording collided with a rule the rest of your translations obey. The output that carries forward to the remaining stages is the human's edit, reconciled.
When it runs#
The post-edit stage is only available when human review is enabled, because the human's edit is its input – there is nothing to reconcile without one. Two consequences follow, and the second one is the one that surprises people:
- It depends on
humanEdit. In the engine config,postEditcannot be enabled until human review is on. Enable human review first; post-edit reconciles its output. - It is skipped when the human stage produces no output, even with
postEdit.enabled: true. Human review is event-driven and has a timeout – default 48 hours – and on timeout the AI translation becomes final with no human edit. If the human stage times out or is otherwise skipped, there is no edit to reconcile, so post-edit is skipped too. You will see askippedstep record, not a failure.
Set postEdit.enabled but saw nothing happen?
The most common reason is that the human stage produced no output. Post-edit runs only on the human's edit – if human review timed out (default 48h) or was skipped, there is nothing for this stage to reconcile, and it is skipped regardless of postEdit.enabled. Check the human stage's outcome first: a skipped humanEdit step means postEdit was skipped for the same reason. The per-stage record that shows this lives on Observe pipeline runs.
Not the same as AI Reviewers#
This is the distinction worth getting right before you turn the stage on, because the names are close and the behavior is opposite.
Not the same as AI Reviewers
The post-edit stage modifies the translation output to conform with your engine rules. AI Reviewers are a separate feature that scores translation quality asynchronously without altering the output. One changes the text; the other grades it and leaves it alone. You can run both together: post-edit reconciles the human's edit, then AI Reviewers score the reconciled result.
If your goal is to keep human edits inside your engine's rules, that is post-edit – it acts on the output. If your goal is a quality signal you can monitor and report on without touching the translation, that is AI Reviewers. They answer different questions, and using one does not replace the other.
Configuration and observability#
Post-edit is one stage in the engine pipeline, toggled like the others. Its schema entry is postEdit { enabled }, with the standing rule that it cannot be enabled unless humanEdit is. To turn it on for every job, set it on the engine's Pipeline tab; to turn it on for a single submission, pass it in the request's pipelineConfig. Both layers, and the rule that ties postEdit to humanEdit, are specified on Configure the pipeline.
When the stage runs, it appears as a postEdit entry in the job's steps[] array – completed when it reconciled the edit, skipped when the human stage gave it nothing to work with. The full step-record shape and the completed/failed/skipped semantics live on one canonical page: Observe pipeline runs.
