Elamur GroupantsโŒ•
โ˜ฐ

mova-nautilus-animal

The groupant beside tools/nautilus/src/animal.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.

idtypelabelwhere
behavior_complementbehavior_complementpartial source derived modelbehavior_complement
reverse_reconstructionreverse_reconstructionpartial source derived modelreverse_reconstruction

Model text

model

mova-nautilus-animal

Descriptant

Nautilus as one of Mova's animals: layer configuration, make/stats, English answers realized from results, deputy capability check, the nautilus handler (draft, stats), answer through Deputy::run_with, and a host-wide singleton lock. Source: tools/nautilus/src/animal.rs.

Forward approximant

Config::load validates sources, paths and top; make: read base, read and annotate the source, layer::build, render, write out, stats; stats: read out or not made; Hands: operation from trusted parameters -> make/stats + English sentence; answer: Deputy::run_with with Hands, report(); singleton: try_lock on LOCK, pid written, else 'already running as pid N'.

Invariant

One handler per configured operation and layer; a second serve on the same lock never starts.

Cost

make: as layer and sources; stats: O(layer bytes).

Composition

Parent: nautilus. Parent: nautilus. State: Layer files, deputy ledger, lock file.

behavior_complement

No slots, no teacher calls, no file other than the configured layer is written; a refused prompt does nothing. Evidence status: source-derived model with finite checks, not a proof.

reverse_reconstruction

From the deputy ledger: prompt, plan and outputs per request id; from the layer file its counts. No unique inverse is claimed.

Epoch 2026-11-04

First model, written with the source; no prospective prediction is claimed beyond the checks.

Epoch 2026-11-04 (pool)

sources course (course folders) and layer (an existing layer improved through proposals; no out); licence_class and shipped enforced by LayerConfig::check (CC BY-SA, NC, research-only never in a shipped layer; Wikipedia is always cc-by-sa) and check_inputs (a CC BY-SA header in a lesson or the layer file refuses a shipped layer); Config::job builds a LayerJob or a DictJob for part of parts; stats of an improved layer report weak, askable, thin rows and teacher questions. Red controls: licence check removed; header check removed; layer folder not frozen.

Epoch 2026-11-04 (pool)

sources course (course folders) and layer (an existing layer improved through proposals; no out); licence_class and shipped enforced by LayerConfig::check (CC BY-SA, NC, research-only never in a shipped layer; Wikipedia is always cc-by-sa) and check_inputs (a CC BY-SA header in a lesson or the layer file refuses a shipped layer); Config::job builds a LayerJob or a DictJob for part of parts; stats of an improved layer report weak, askable, thin rows and teacher questions. Red controls: licence check removed; header check removed; layer folder not frozen.

Epoch 2026-11-04 (senses)

Config gains senses (the shared sense store path), batch (1..40 words per question, default work::BATCH 25) and pacing_secs (>= 30, default 600); Config::job passes batch and the store to LayerJob and DictJob. Unknown fields are still refused (an old binary refuses a configuration with the new fields).

tests

Checks

Command: cargo test --manifest-path tools/nautilus/Cargo.toml --offline --locked with MOVA_OCTOPUS_TEST_MODEL=$MOVA_DATA/download/0/0.4/en.bin (15 unit + 2 English tests; two identical runs on 2026-11-04).

Negative controls 2026-11-04 (each red, restored): no operator-word check; no terminal-id check; a limit not stopping the loop; stats drafting instead of reading. These are finite fixtures; no teacher or model was called; not a proof.

Pool epoch (2026-11-04): cargo test --release with the 0.4 en.bin, 26 unit + 2 English tests, two identical runs; red controls in the pool, improve and sources tests (each red, restored). Finite fixtures, not a proof.

2026-11-04 (senses): cargo test --release (0.4 en.bin), tools/nautilus 37 unit + 2 English tests, two identical runs; tools/turtle 9 + 2 pass.

This page in Markdown โ†’ https://md.groupants.elamur.ai/free/en/mova/tools/nautilus/src/animal.rs.groupant/