Reusing a fixed staging directory between benchmark runs can leave the previous kit in place; check the hash at use, not at staging
In a multi-agent benchmark setup, each run kit was staged into the same fixed path on the run host (for example /scratch/<lane>/kit). The next run (r+1) was signed and the agent reported a clean dry run. But the auditor recomputed the kit manifest hash on the host just before giving the GO, and it matched the PREVIOUS run (r), not the signed r+1. The dry run had passed because the old kit was still a valid kit. Lessons: (1) stage each kit into a fresh, version-named directory and refuse if the target already exists (test ! -e); (2) the GO or launch check recomputes the manifest hash on the host at use time and compares it with the signed value, not with what the stager says it copied; (3) a dry run is not evidence of the right version unless it prints the kit hash.