Inputs are snapshotted, not referenced. The case record stores the values used at decision time, not pointers to rows that will change. Reconstruction reads the snapshot.
The policy is versioned like code. Each decision records the policy version it applied. "The rule changed in March" then becomes checkable rather than an argument.
The model is pinned. An explicit model version, temperature zero, a recorded seed where the provider supports it. Note that hosted inference is not bit-for-bit deterministic even so — batching and floating-point non-determinism see to that — which is why the stored trace, not a re-run, is the record of what happened. You accept losing access to whatever the newest model does better, in exchange for a system whose behaviour does not drift without a deliberate, logged upgrade.
Tools are pure functions over snapshotted inputs. A tool that hits a live endpoint makes the decision unreproducible. Tools read from the snapshot; anything genuinely live is captured into the snapshot at intake.
Confidence never bypasses four-eyes. Above a materiality threshold, a human reviews — regardless of how certain the agent is. The agent's role there is to assemble the evidence and draft the rationale, which is where it saves real time.