# M10-L04 — Lab contract

**Build:** Listen Transfer events then backfill from last confirmed block.

**Pass:** Gap is filled once; duplicate log keys ignored.

**Failure injection:** Reconnect can miss events; duplicates occur on rescan.

**Review question:** What uniquely identifies a log within a canonical block?

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