Elamur Groupants⌕
☰

court-lattice-decision

The groupant beside yom-hadin/src/court.rs in the Mova repository: what the code computes, what it never does, how to go back from its outputs, its invariants, cost and checks.

Facts

Implementation material. A Mova code model describes this code at one source revision: partial models, finite checks and their stated scope. It is not a reviewed general exposition, and its labels are shown as written, never raised.

Components

componentlabelwhere
approximantpartialapproximant
astpartial../syntax.json
costpartialmodel.md
descriptantpresentdescriptant
invariantpartialInvariant
testsfinite native checkstests

Obernants

The typed relations around the forward model: the behaviour complement (what the code never does), the reverse reconstruction (every input compatible with an output) and specialised views.

idtypelabelwhere
behavior_complementbehavior_complementpartial source derived modelbehavior_complement
reverse_reconstructionreverse_reconstructionpartial source derived modelreverse_reconstruction
dispute_presence_guarddispute_presence_guardpartial source derived modeldispute_presence_guard
earlier_tieearlier_tiepartial source derived modelearlier_tie
suspend_intervalsuspend_intervalpartial source derived modelsuspend_interval
assignment_domainassignment_domainpartial source derived modelassignment_domain

Model text

descriptant

One valid assignment to verdict, winner index and explanation trace.

Epoch 2026-10-31

Prospective review preceded test edits. Runtime logic unchanged; three sources gain tests. Synthetic witnesses do not validate legal conclusions.

Composition: Skip blocked and locally failing rules, resolve disputes only when chosen and other side both fire, maximize principle key for distinct verdicts, then suspend eligible severity.

Retained limits: partial syntax, opaque macros; no live corpus, teacher, parser model, production filesystem or frozen gold. Complete semantics and executable approximants remain open.

approximant

Forward model

One valid assignment to verdict, winner index and explanation trace.

Skip blocked and locally failing rules, resolve disputes only when chosen and other side both fire, maximize principle key for distinct verdicts, then suspend eligible severity.

Not an executable substitute. Percentage approximation is unsupported without a useful metric; future profiles limited to 1/2/5/10% require actual-reference comparison.

models

Typed models: One valid assignment to verdict, winner index and explanation trace.

Subject: yom-hadin/src/court.rs, SHA-256 c780d974b015dcefc5018d326ca5f1e0ec47af0c8fbd23927213a8848285b099. Domain: bounded finite synthetic rules/cases; valid indices and successful allocation unless a section narrows this. Each relation observes implementation, not legal authority. Status: partial source-derived model, finite evidence mapped in tests.md.

behavior_complement

Blocked rule cannot win; no fires produces free with None, whereas no matched rules produces no-rule with None.

Operator: stated relation on this source projection. Assumptions: named domain and unchanged dependencies. Evidence: tests.md maps finite observations; other branches remain source review only.

reverse_reconstruction

Fix j,l: compatible assignment set for (v,w) is all valid option vectors whose staged filters choose that pair. Trace refines but need not singleton the fiber.

Operator: stated relation on this source projection. Assumptions: named domain and unchanged dependencies. Evidence: tests.md maps finite observations; other branches remain source review only.

dispute_presence_guard

A selected authority does not suppress others if no rule of its side fires; elimination needs both chosen and competing firing sides.

Operator: stated relation on this source projection. Assumptions: named domain and unchanged dependencies. Evidence: tests.md maps finite observations; other branches remain source review only.

earlier_tie

Strict key(i)>key(win) updates, so equal specificity/rank/severity keeps first. Later principle key is original body order.

Operator: stated relation on this source projection. Assumptions: named domain and unchanged dependencies. Evidence: tests.md maps finite observations; other branches remain source review only.

suspend_interval

Only assignment1 and severity>=2 and<=configured max maps to severity1 and suffix; winner index retained.

Operator: stated relation on this source projection. Assumptions: named domain and unchanged dependencies. Evidence: tests.md maps finite observations; other branches remain source review only.

assignment_domain

Direct indexing a[pi],options[o] and principle unwrap requires internally valid points/options; malformed public Lattice may panic.

Operator: stated relation on this source projection. Assumptions: named domain and unchanged dependencies. Evidence: tests.md maps finite observations; other branches remain source review only.

tests

Checks and evidence

External run label: octopus-wave31-court-2026-10-31; exact commands in native-commands.json, per-source observations in source-test-map.json, numeric exits and named outcomes in raw logs.

19 exact selected native tests twice debug and twice release execute actual linked code on bounded hand-built cases. CLI covers argument helpers only. Full extraction/model initialization, actual jurisdiction loading, protocol disk errors, resource exhaustion and malformed public lattices are unexecuted. Module declarations have compile evidence only.

Three compiled source-behavior mutants: count weight, precedence tie, modal tie; each requires compile success, named assertion failure, exact byte/hash restoration and positive rerun. Legacy fixture interventions count separately. Final observations: external evidence-summary.md.

This node observes: One valid assignment to verdict, winner index and explanation trace.. Unmapped models remain source-derived/prospective, not verified by the whole test count.

Parent source witness map: source-evidence.md. Only the described fragment observation is supported; parent test names do not imply every fragment branch executed.

invariant-and-cost

Invariant and cost

Invariant

Winner is retained-rule index when any fire; equal keys keep earlier firing order.

Cost

O(n*p+dispute scans+rendered trace bytes), valid assignment index for each point required.

Symbolic bounds, not timings. Resource exhaustion is not tested.

This page in Markdown → https://md.groupants.elamur.ai/free/en/mova/yom-hadin/src/court.rs.groupant/decision.groupant/