Python 3.14.4
PASS v1 release maps equipment identity
PASS OPEN is blocked
PASS IN_PROGRESS is blocked
PASS cancelled is not repaired
PASS DONE with failed inspection is blocked
PASS pending needs review
PASS DONE without physical return is blocked
PASS v2 repaired release
PASS v2 no-fault inspected return
PASS v2 CLOSED cancellation is not release
PASS reject unsupported version
PASS reject unsupported version
PASS reject unknown v1 status
PASS reject unknown v1 inspection
PASS reject unmapped equipment
PASS reject returned must be boolean
PASS reject unknown v2 phase
PASS reject unknown v2 disposition
PASS reject unknown v2 inspection
PASS consumer refuses REVIEW_REQUIRED
PASS consumer refuses BLOCKED
PASS many-to-one restriction retains reason
PASS source state retained for diagnosis
PASS counterexample: DONE-only mapping loses failed inspection
SAMPLE {"equipment_id": "E1", "reason": "inspection failed", "restriction": "BLOCKED", "returned": true, "source_inspection": "FAIL", "source_state": "DONE", "source_version": 1}
RESULT 24 checks passed; no network or rental-core mutation
