whale-world
The groupant beside models/whale-world.groupant 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
| component | label | where |
|---|---|---|
| approximant | partial source derived | Forward |
| ast | not materialized | |
| composition | partial source derived | Composition |
| cost | partial source derived | Cost |
| descriptant | partial source derived | Descriptant |
| invariant | partial source derived | Invariant |
| tests | finite evidence | tests |
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.
| id | type | label | where |
|---|---|---|---|
behavior_complement | behavior_complement | partial source derived finite checks | behavior_complement |
reverse_reconstruction | reverse_reconstruction | partial source derived finite checks | reverse_reconstruction |
Model text
Descriptant
Document dossiers and one global world for Whale epochs: per document an append-only set of texts (original, Mova drafts, consultant descriptions, earlier descriptions, web pages) with licence, provenance, inputs and citation counts; one incremental store that reads every text once with Mova into entities, statements, a word โ sentence โ document index and document edges; queries that give a writer a document's nearest neighbourhood with all its content, explanations and context packs with citations. Crate tools/whale-world (mova-whale-world), a standalone workspace over mova-topic-corpus (library, graph, licence, annotate, explain_score, acronym, statement kinds, corpora) and mova-whale (knowledge norm_term/expansion, private_dir).
Forward
library / site roots / topic corpora / learner states -> import -> dossier rows (append-only) ; epoch driver -> dossier add ; dossiers (epoch < E) + cached corpus neighbours -> world add (parse once, shards, buckets, doc entities, edges) -> world(E) -> queries (entity, explain, related, neighbourhood [+content], sentences, context).
Invariant
Dossier rows and files are never rewritten; changed files are refused everywhere; only library originals under open licences, not local-only, and only with public_originals, can be public_ok; web pages, consultant and Mova drafts and earlier descriptions never. The world keeps all content; world(e) shows only texts of earlier epochs; the same inputs give byte-identical dossiers and stores (checked twice live on 2026-11-05).
Cost
Import 11.3 s for six papers (library load included). World build 25โ32 s for 93 texts / 19,260 sentences (parsing dominates; cached neighbour parses are reused). Queries 10 ms โ 1.1 s cold. 6.8 MB on disk.
Composition
Leaves are file groupants under tools/whale-world/src/**/*.rs.groupant. Correct leaves do not prove the wiring: the interaction checks are the end-to-end tests (tests.rs: dossier -> world -> query, epochs, refusals) and the live six-paper build. The parent is crab-orchestration, beside whale-workers and topic-corpus; an epoch driver in tools/whale codes against the documented library API.
behavior_complement
Domain: all configured runs. The crate does not: fetch pages, ask a terminal or a consultant, write descriptions, publish anything, delete or edit dossier texts, repair an interrupted world build, parse uncached corpus neighbours, or judge statements beyond lexical kinds. Counterexample: a CC0 web page and a CC BY-SA original stay public_ok false (tests).
reverse_reconstruction
From a dossier row the exact text is recovered (hash-checked) with its source, licence and inputs; from a world citation {doc, text, s} the sentence is recovered from its shard and the text row names the dossier text. Parses are not mapped back to character offsets. Evidence status: source-derived with finite checks.
tests
Checks
cargo test --manifest-path tools/whale-world/Cargo.toml --offline with WORLD_EN_MODEL=$MOVA_DATA/download/0/0.4/en.bin (9 unit tests, 2026-11-05). Negative controls 2026-11-05 (each red, then restored): public_ok without the original-kind condition; Dossier::read without the hash check; context statements citing a wrong sentence. Live: six papers imported and built twice into separate roots, byte-identical.
This page in Markdown โ https://md.groupants.elamur.ai/free/en/mova/models/whale-world.groupant/