Agent loop runtime notes
Completion judge isolation
done_judge and verify_completion_judge run on a transcript projection. The
judge prompt includes the worker transcript, but the judge's own LLM request and
structured response are not appended to agent_session_messages(session_id).
Only legitimate worker turns and explicit runtime feedback injections mutate the
worker session transcript.
This keeps replay and follow-up turns deterministic: a judge veto may inject a
feedback message because that message is intended to steer the worker, while an
accepted judge decision only emits judge_decision and typed_checkpoint
events. Tests should assert transcript equality around accepted judge calls
instead of inferring isolation from event counts.