# Liberty-immunity pitfalls Wrong forms, silent outcomes, `LDC-E` diagnostics, typical formalizer mistakes, and how to detect them. ## 1. Absence of a prohibition is not permission By default absence of a prohibition returns `UNDETERMINED`, not permission. A weak query is true only relative to an explicitly chosen universe of rules, source/time snapshot, interpretation, and closure policy over applicable prohibitions. An AI agent answering "permitted" to a normless question invents a position: the honest answer is `UNDETERMINED` listing the query's chosen parameters. ## 2. Cross-wired parties Liberties and immunities have `holder`/`against`; duties and prohibitions have `bearer`/`beneficiary`; powers have `holder`/`over`. `bearer` on a liberty is not "a synonym of holder" but a marker of a foreign modality: the reader looks for a duty where the norm grants a right. The `claim_right` view permutes the parties on purpose — which is exactly why it is a view, not a record. ## 3. A liberty has no goal Performance, breach, deadline are duty categories. A liberty has only a window: `CREATED` before, `ACTIVE` inside, `EXPIRED` after. A test expecting `position(MayX, SATISFIED)` or `VIOLATED` fails because of a carried-over category, not because of the engine. Performing the action (`withdraws`) neither "performs" the liberty nor discharges it. ## 4. Immunity locks the effect, not the action Immunity blocks the legal transformation but does not necessarily prohibit the organ's physical action: an invalid exercise may still factually happen and carry separate consequences. Modelling "arrest is prohibited" as immunity loses the tort of the arrest itself: a prohibition on the organ is `prohibition`, un-lockability of the effect is `immunity`. Both forms side by side is normal; one for the other is a mistake. ## 5. Liberty against a prohibition with no priority The pair is considered only for one ground subject with overlapping windows; structurally only forbearance and liberty over the same action conflict. Priority gives the loser `DEFEATED`, its absence — `UNRESOLVED_NORMATIVE_CONFLICT`, and both positions stand. Silent outcome: the case answers with conflict where the author expected permission to win. Detection — read `evaluation_status`, not only the positions. ## 6. A judge in `valid_when` is a request, not a refusal A judgment relation in `valid_when` or `condition` gives `NEITHER` with `REQUIRES_JUDGMENT` and a `JudgmentRequest` to the named organ: no `POWER_INVALID_EXERCISE` is issued then — the organ has not spoken yet. The mistake is reading this `NEITHER` as "the power is invalid". If the effect is already locked by immunity, the judge is not asked at all. ## 7. Incomplete liberty and immunity — `LDC-E1305` A `liberty` without a holder, an `action`, or a `window`, an `immunity` without a holder, a `protected_effect`, or a `window` is rejection `LDC-E1305` for each missing field. Detection: `law engine check` lists every missing field — read the whole list, not the first item.