Elamur Groupants⌕
☰

mova-elephant-key

The groupant beside tools/elephant/src/key.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
ApproximantpartialForward approximant
Astpartialsyntax.json
CompositionpartialComposition
CostpartialCost
DescriptantpresentDescriptant
InvariantpartialInvariant
Testsfinite evidenceTests

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.

relationtypelabelwhere
Behavior complementbehavior complementpartial source derived modelBehavior complement
Reverse reconstructionreverse reconstructionpartial source derived modelReverse reconstruction

Model text

Descriptant

Compatibility of parts: the key that decides a part's records (format, rules version, hand-list fingerprint, models, language, dictionary), the change between two hand-list versions, and whether a part is affected by it. Source: tools/elephant/src/key.rs.

Forward approximant

Key::of(sidecar JSON, format, dict); list_change(old, new) -> compound_reading entries added and removed, other kinds counted as query-only; affected(part, sidecar, change): a removed entry with suppressed:<phrase> > 0 in the sidecar -> affected; an added entry (h, r, d) whose triple has a record in the part under any UPOS -> affected; else unaffected.

Invariant

affected = None implies the part's records are the same under the new lists: suppression acts only when the listed triple is emitted, and the role swaps it removes derive from that emission; other list kinds act at query time.

Cost

One scan of the part's records when compound entries were added; O(1) otherwise.

Composition

Parent: elephant. Used by store (admission) and reprogram (plan).

Behavior complement

Does not read text again; never attests a change of rules, model, format or language (those always recount). Evidence status: source-derived model with finite checks, not a proof.

Reverse reconstruction

With the list snapshots and both keys, a plan is recomputable; the attestation records keep the reason.

Tests

Checks

key::tests: keys from both sidecar versions, list changes in both directions, fingerprints; lsm reprogramming test: 3 of 4 parts attested, the part holding the new compound's edge recounted; red control: an entry on an edge every part holds attests none. These are finite fixtures and measurements; not a proof.

History

2026-11-06 · document

Epoch 2026-11-06

First model, written with the source (the Elephant made incremental and an animal on Mova).

Provenance

This page in Markdown → https://md.groupants.elamur.ai/free/en/mova/tools/elephant/src/key.rs.groupant/