The gate: done you can't fake
A separate process, dr-gate, holds a secret the agent cannot read and signs acceptance with it. No valid signature, no "completed".
This is the idea the whole tool is built around: the agent cannot
declare its own work done. A run reaches Completed only
when an acceptance marker, signed by a separate process called
dr-gate, validates.
At the start of every run, deadreckon writes a random nonce
(a one-time secret) to gate/nonce. That file lives on the host,
outside the sandbox the agent runs in. The agent can write any file it wants,
including a file that looks like an acceptance marker. What it cannot
do is read the nonce.
When the agent claims it is done, dr-gate runs outside the
sandbox. It reads the nonce, runs your checks, and writes a marker whose
signature is a hash over the nonce, the marker fields, and
the check results. Later, deadreckon recomputes that signature the same way.
A marker the agent forged has no valid signature, so it is
refused as "forged self-attestation." A marker dr-gate signed
validates, and the run can finish.
Honest about what it is. The signature is a plain hash,
not real cryptography. It holds because the secret sits outside the
sandbox where the agent has no read path. Run with
--sandbox none and you give that protection up.