# A judgment on a live branch ## Intention I want to request a proportionality assessment only where a court answer can change the outcome. The court is asked only on a live branch: where its answer can still change the outcome. ## Incorrect form and why it stays silent ```law title="Incorrect form" external judgment relation proportionate(p: Person) { } ``` Without authority the channel has no addressee and is rejected with LDC-E0201. Presence of an addressee does not mean a request will be asked on a dead branch. ## Correct form Minimal standalone form: ```law language "law.core" version "0.2"; package recipes.z.r03 version "0.1.0"; namespace "urn:recipe:z-interpretations:03"; entity Person; external judgment relation proportionate(p: Person) { authority Court; } relation eligible(p: Person); relation blocked(p: Person); relation allowed(p: Person); rule Allow defeasible { for p: Person; when eligible(p) and proportionate(p); then allowed(p); } rule Block defeater { for p: Person; when blocked(p); then allowed(p); } ``` ## Frozen execution scene | Facts and choice | Question | Answer | |---|---|---| | 1. live branch, no answer | `allowed` | `NEITHER` / `REQUIRES_JUDGMENT` | | 2. conjunct refuted | `allowed` | `NEITHER` / `COMPUTED` | | 3. conjunct unknown | `allowed` | `NEITHER` / `REQUIRES_JUDGMENT` | | 4. defeater applies | `allowed` | `NEITHER` / `COMPUTED` | | 5. positive answer accepted | `allowed` | `TRUE_ONLY` / `COMPUTED` | | 6. the court does not revive a defeated candidate | `allowed` | `NEITHER` / `COMPUTED` | ```law test "live branch, no answer" { given { context { legal_time @2026-09-13; decision_time @2026-09-13T09:00:00+05:00; knowledge_time @2026-09-13T09:00:00+05:00; timezone "Asia/Almaty"; } assert eligible(entity_ref("urn:recipe:z-interpretations:03:p")); } evaluate truth(allowed(entity_ref("urn:recipe:z-interpretations:03:p"))); expect truth_status == NEITHER; expect evaluation_status == REQUIRES_JUDGMENT; expect judgment_request(proportionate, Court); } ``` ```law test "conjunct refuted" { given { context { legal_time @2026-09-13; decision_time @2026-09-13T09:00:00+05:00; knowledge_time @2026-09-13T09:00:00+05:00; timezone "Asia/Almaty"; } assert not eligible(entity_ref("urn:recipe:z-interpretations:03:p")); } evaluate truth(allowed(entity_ref("urn:recipe:z-interpretations:03:p"))); expect truth_status == NEITHER; expect evaluation_status == COMPUTED; expect judgment_requests(0); } ``` ```law test "conjunct unknown" { given { context { legal_time @2026-09-13; decision_time @2026-09-13T09:00:00+05:00; knowledge_time @2026-09-13T09:00:00+05:00; timezone "Asia/Almaty"; } } evaluate truth(allowed(entity_ref("urn:recipe:z-interpretations:03:p"))); expect truth_status == NEITHER; expect evaluation_status == REQUIRES_JUDGMENT; expect judgment_request(proportionate, Court); } ``` ```law test "defeater applies" { given { context { legal_time @2026-09-13; decision_time @2026-09-13T09:00:00+05:00; knowledge_time @2026-09-13T09:00:00+05:00; timezone "Asia/Almaty"; } assert eligible(entity_ref("urn:recipe:z-interpretations:03:p")); assert blocked(entity_ref("urn:recipe:z-interpretations:03:p")); } evaluate truth(allowed(entity_ref("urn:recipe:z-interpretations:03:p"))); expect truth_status == NEITHER; expect evaluation_status == COMPUTED; expect judgment_requests(0); } ``` ```law test "positive answer accepted" { given { context { legal_time @2026-09-13; decision_time @2026-09-13T09:00:00+05:00; knowledge_time @2026-09-13T09:00:00+05:00; timezone "Asia/Almaty"; } assert eligible(entity_ref("urn:recipe:z-interpretations:03:p")); assert proportionate(entity_ref("urn:recipe:z-interpretations:03:p")) { origin adjudicated; } } evaluate truth(allowed(entity_ref("urn:recipe:z-interpretations:03:p"))); expect truth_status == TRUE_ONLY; expect evaluation_status == COMPUTED; expect judgment_requests(0); } ``` ```law test "court does not revive defeated" { given { context { legal_time @2026-09-13; decision_time @2026-09-13T09:00:00+05:00; knowledge_time @2026-09-13T09:00:00+05:00; timezone "Asia/Almaty"; } assert eligible(entity_ref("urn:recipe:z-interpretations:03:p")); assert blocked(entity_ref("urn:recipe:z-interpretations:03:p")); assert proportionate(entity_ref("urn:recipe:z-interpretations:03:p")) { origin adjudicated; } } evaluate truth(allowed(entity_ref("urn:recipe:z-interpretations:03:p"))); expect truth_status == NEITHER; expect evaluation_status == COMPUTED; expect judgment_requests(0); } ``` ## Counterfactual Sidecar mutation: `authority Court;` → ``; expected `LDC-E0201`. Additional scenes with fragment deletion are marked in the table; the outcome is checked by both evaluators. ## Boundary A refuted conjunct and an applied defeater close the branch silently; an unknown conjunct still calls for the court's answer. ## Pitfall No request is raised for a refuted body or a defeated candidate; the scenes pin both boundaries.