# M02-L05 — Lab contract

**Build:** Implement nonce guard and replay test in local signer demo.

**Pass:** First request accepted; duplicate nonce rejected; wrong chain rejected.

**Failure injection:** Reusing nonce replaces/conflicts; replaying a signature can duplicate intent without domain separation.

**Review question:** Does a nonce replace business idempotency keys?

Status: specification; only count as executable when source and tests are present and verified.
