---
title: "elephant — Mova code model"
description: "Mova code model of models/elephant.groupant: components with their labels, obernants and the model text."
url: "https://groupants.elamur.ai/free/en/mova/models/elephant.groupant/"
---
Elamur: [Mova](https://md.mova.elamur.ai/free/en/) · [Dictionary](https://md.dictionary.elamur.ai/free/en/) · [Research](https://md.research.elamur.ai/free/en/) · **Groupants**

This page as HTML: <https://groupants.elamur.ai/free/en/mova/models/elephant.groupant/>

# elephant

The groupant beside models/elephant.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

- **kind:** groupant group
- **status:** partial source composition
- **bound sources:** 15
- **repository folder:** [`models/elephant.groupant`](https://github.com/ElamurAI/mova-free/tree/main/models/elephant.groupant)

> **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](#forward) |
| **Ast** | not materialized |  |
| **Composition** | partial source derived | [Composition](#composition) |
| **Cost** | partial source derived | [Cost](#cost) |
| **Descriptant** | partial source derived | [Descriptant](#descriptant) |
| **Invariant** | partial source derived | [Invariant](#invariant) |
| **Tests** | finite evidence | [Tests](#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.

| relation | type | label | where |
|---|---|---|---|
| Behavior complement | behavior complement | partial source derived finite checks | [Behavior complement](#behavior-complement) |
| Reverse reconstruction | reverse reconstruction | partial source derived finite checks | [Reverse reconstruction](#reverse-reconstruction) |

## Model text


### Descriptant

Elephant (mova-elephant): the keeper of Mova's word graph, one of Mova's animals. An incremental LSM store of counts over pass parts (runs, deltas, retractions; the graph built as the view), a program key on every part with a reprogramming plan that recounts only affected parts, English through Mova (a question-frame reader over the native parse for questions about words; the native deputy for its own state and work), a standing loop under Crab, and two consultant terminals asked only what counts cannot decide, with review-only proposals.

### Forward

pass parts -> Store::add (hash, key) -> deltas; Store::tamp (fan_in smallest units, merge::compact) -> runs; Store::view (staged runs + deltas -> wordgraph::compile::build) -> graph; new key -> reprogram::plan (ok / attest by key::affected / recount) -> Store::rekey; prompt -> ask::read | Deputy with Hands(status, proposals, tamp, refresh) -> English; work: requests -> add -> tamp -> view -> papers (elephant-tamp) -> consult (suspect + consult) -> proposals.

### Invariant

I1 a part is counted once; I2 one program key per store (or attested); I3 the view over runs + deltas equals the wordgraph build over the original parts in every section but provenance (same OOV registry state), and any merge tree writes the same run; I4 one graph per lineage. The English service never writes the store; consultants never write the graph or the lists; nothing is deleted.

### Cost

Add: one hash per part; tamp: two streaming reads of its inputs and one write (O(R log k)); view: one wordgraph build over a bounded number of inputs (size-tiered compaction rewrites a record O(log_fan_in N) times). Measured 2026-11-06 on the 50 000-article pass: view over 4 runs + 5 deltas 39 s / 0.73 GB against the full build 54 s / 1.25 GB; major tamp 21-23 s / 0.04 GB; 11 whole-Wikipedia parts (126 M records) tamped in 69 s / 0.10 GB; English through serve 107-159 ms a question.

### Composition

Leaves are file groupants under `tools/elephant/src/*.rs.groupant` and `tools/elephant/tests/*.rs.groupant`; the graph and its passes are the `word-graph` group (wordgraph). Correct leaves do not prove the wiring: the interaction checks are tests/lsm.rs (store, merge, key and wordgraph's build together), tests/work.rs (the loop, the store, the detector and the consultant rules together) and tests/english.rs (the reader, the deputy and the hands together).

### Behavior complement

No model is called for native work; no part is copied or deleted; no proposal is admitted; no consultant question without the operator's word; the hand lists and the graph never take a consultant's answer.

### Reverse reconstruction

The store's history (one manifest per generation), journal.jsonl, work.jsonl, english.jsonl, consult.jsonl and proposals.jsonl recover what was counted, merged, built, asked and proposed, with hashes. Evidence status: source-derived with finite checks.

### Tests

#### Checks

lsm equality and merge-tree freedom on synthetic passes and on the 50 000-article pass (byte-identical 143 MB runs from two merge trees); reprogramming attests 3 of 4 parts; the loop with fake terminals; English with the 2026-11-05 model. Red controls: merge by max, the counted-hash skip removed, the reader's negation check removed, the comparison on a graph missing a pass.
These are finite fixtures and measurements; not a proof.

## History


#### 2026-11-06 · document

##### Epoch 2026-11-06

First model: the Elephant made incremental (LSM store), an animal on Mova (English, loop under Crab) with two Sol consultants.

## Provenance

- **repository commit:** `f55191f0d47f`
