[ { "name": "casc-001-stop-at-l0", "description": "Positive (C4): L0 closes (cache hit). The cascade MUST stop at L0 and MUST NOT consult any higher tier. Closing tier = L0.", "stages": ["L0", "L2", "L3", "L4"], "stage_closes": { "L0": true, "L2": true, "L3": true, "L4": true }, "expected_closing_tier": "L0" }, { "name": "casc-002-skip-absent-tiers", "description": "Positive (C4): L0 and L2 are present but do not close; L3 closes. Closing tier = L3. (L1 absent — cascade skips absent tiers.)", "stages": ["L0", "L2", "L3", "L4"], "stage_closes": { "L0": false, "L2": false, "L3": true, "L4": true }, "expected_closing_tier": "L3" }, { "name": "casc-003-fall-through-to-l4", "description": "Positive (C4): nothing below L4 closes; L4 (the remote frontier escape hatch) closes. Closing tier = L4.", "stages": ["L0", "L2", "L3", "L4"], "stage_closes": { "L0": false, "L2": false, "L3": false, "L4": true }, "expected_closing_tier": "L4" }, { "name": "casc-004-l4-only-runtime", "description": "Positive (C4): a runtime with only an L4 stage is conformant (it has opted out of the doctrine's benefit, not its rules). Closing tier = L4.", "stages": ["L4"], "stage_closes": { "L4": true }, "expected_closing_tier": "L4" }, { "name": "casc-005-nothing-closes", "description": "Negative (C4): no stage closes the request. The cascade MUST report no resolution rather than fabricate one.", "stages": ["L0", "L2", "L3"], "stage_closes": { "L0": false, "L2": false, "L3": false }, "expected_closing_tier": null } ]