spec-execution wrote the local marker as 'Returned:' but step 2 read for
'Returns:' (old counter-name residue), so off a tracker it never recognised
its own mark and the gate did nothing. The 4-attempt live run was tracker-mode
only, so it missed the local backend entirely. Reader aligned; local lifecycle
(set -> refuse -> refuse-uncleared -> clear -> release) now run and passing.
Also: counter-era phrasing replaced with ADR 0008's state framing; check.mjs
guard #11 asserts the marker tokens match across setter/reader/clearers/router
— the specific guard for the divergence that already bit.
version 0.9.3 -> 0.9.4; check + validate --strict green.