fn finish_job(
job: &Job,
asr_parts: &[String],
failure: Option<Error>,
truncated: bool,
stages: Stages,
normalizer: Option<&Normalizer>,
) -> JobOutcomeExpand description
Finish one job: read its token, build the answer, decide its record.
Taking &Job rather than a bare token is what keeps the wiring honest:
every read in here is the job’s own, so the worker cannot hand the
answer one token and the record another. Drivable by a test over a
prejoined job without a loaded model.