3.14.4 (main, Apr  7 2026, 13:13:20) [Clang 21.0.0 (clang-2100.0.123.102)]
PASS PIM equals frozen chapter30 fixture
PASS emitted PIM reparses
PASS emitted PSM consumed by generator
PASS generated full lifecycle executed
OBSERVED generated history=["INSPECTION_REQUIRED", "ACTIVE", "INSPECTION_REQUIRED", "ACTIVE", "RETIRED"]
PASS generated preserves INSPECTION_REQUIRED/approveInspection
PASS generated rejects INSPECTION_REQUIRED/requireInspection
REJECTED ValueError OPERATION_NOT_ALLOWED
PASS generated preserves INSPECTION_REQUIRED/retire
PASS generated rejects ACTIVE/approveInspection
REJECTED ValueError OPERATION_NOT_ALLOWED
PASS generated preserves ACTIVE/requireInspection
PASS generated preserves ACTIVE/retire
PASS generated rejects RETIRED/approveInspection
REJECTED ValueError OPERATION_NOT_ALLOWED
PASS generated rejects RETIRED/requireInspection
REJECTED ValueError OPERATION_NOT_ALLOWED
PASS generated rejects RETIRED/retire
REJECTED ValueError OPERATION_NOT_ALLOWED
PASS all four requirements traced
PASS all PIM edges traced to target dispatch
PASS eight CIM losses plus one platform metadata loss
PASS authorization not silently implemented
PASS authorization change invisible in PIM
PASS authorization change retained in ledger
PASS unsupported platform decision
REJECTED MappingError unsupported platform decision
PASS duplicate requirement id
REJECTED MappingError $.rules[1].id: duplicate requirement
PASS wrong policy rejected before emission
REJECTED ModelError UNREACHABLE at $.states: ACTIVE
PASS unknown CIM field is not dropped
REJECTED MappingError $: exact fields required
PASS duplicate CIM JSON key
REJECTED MappingError duplicate CIM key: version
PASS all emitted artifacts deterministic
PASS PSM has explicit Python target
PASS chapter31 checks=26
