Elamur: **Mova** · [Parse](https://mova.elamur.ai/free/en/parse/) · [Dictionary](https://md.dictionary.elamur.ai/free/en/) · [Translate](https://md.translate.elamur.ai/free/en/) · [Research](https://md.research.elamur.ai/free/en/) · [MCP](https://mcp.elamur.ai/) · [Groupants](https://md.groupants.elamur.ai/free/en/)

[Mova](https://md.mova.elamur.ai/free/en/) · [this page in HTML](https://mova.elamur.ai/free/en/docs/releases/0.5/)

[home](https://md.mova.elamur.ai/free/en/) / [docs](https://md.mova.elamur.ai/free/en/docs/) / [releases](https://md.mova.elamur.ai/free/en/docs/releases/) / Release 0.5 — notes

# Release 0.5 — notes

> Released 2026-11-05. A number on this page is a measurement only once it carries its date. The full list of changes is under "0.5" in [Changelog](https://md.mova.elamur.ai/free/en/docs/CHANGELOG/).

0.5 is the release of models of the code (groupants checked by `mova-modelcheck`, executable Rust approximants), a school student that learns into a saved state and is examined from it in a fresh process, the text–frames–world round trip, parser diagnostics and GPU parsing, translation and Ancient Hebrew parsing, and the animals, the workers built on Mova; its `en.bin` is retrained on held-out-filtered data with the redacted in-code dictionary.

## What is new since 0.4

The details are in [Changelog](https://md.mova.elamur.ai/free/en/docs/CHANGELOG/).

- **Models of the code.** Every Rust source has a groupant: a `<file>.groupant/` sidecar with its models and typed obernant families, checked by `mova-modelcheck` ([groupants](https://md.mova.elamur.ai/free/en/docs/repo-docs/groupants/)). Executable Rust approximants (`mova-approx`) run with 1%, 2%, 5% and 10% error caps ([executable approximants](https://md.mova.elamur.ai/free/en/docs/repo-docs/mathematical-modeling/#executable-rust-approximants)). The `mova-algorithms` library holds deterministic algorithms with their models ([algorithms](https://md.mova.elamur.ai/free/en/docs/algorithms/)), and `mova-correspondence` binds them to Mova's sources ([correspondences](https://md.mova.elamur.ai/free/en/docs/repo-docs/correspondences/)).
- **The school student.** New reading steps; `world knowledge diagnose` sorts failed questions by the failing step ([diagnosing failures](https://md.mova.elamur.ai/free/en/docs/repo-docs/school/#diagnosing-failures)); four controls in every course report must go red ([controls](https://md.mova.elamur.ai/free/en/docs/repo-docs/school/#controls-in-every-course-report)); evaluation runs in a fresh process from a saved state ([retention](https://md.mova.elamur.ai/free/en/docs/repo-docs/school/#persistent-learning-and-retention)); `mova-enrich improve` is a bounded self-study step ([Mova-driven improvement](https://md.mova.elamur.ai/free/en/docs/repo-docs/school/#mova-driven-improvement)).
- **Frames and the round trip.** Text → tree → frames → world and back, with a byte-for-byte gate ([the round trip](https://md.mova.elamur.ai/free/en/docs/repo-docs/english/#the-round-trip-what-each-layer-keeps-and-loses), [tools/roundtrip](https://md.mova.elamur.ai/free/en/docs/tools/roundtrip/)).
- **Parser diagnostics and GPU parsing.** `en parse-diag` and `en construct-eval` ([en](https://md.mova.elamur.ai/free/en/docs/en/)); `gparse` with fused attention softmax ([gparse](https://md.mova.elamur.ai/free/en/docs/gparse/), [GPU stages](https://md.mova.elamur.ai/free/en/docs/repo-docs/gpu-exec/#gparse-fused-attention-softmax-approximant)).
- **Translation and ancient languages.** `translate` ([tools/translate](https://md.mova.elamur.ai/free/en/docs/tools/translate/)), the Ancient Hebrew parser ([tools/hbo](https://md.mova.elamur.ai/free/en/docs/tools/hbo/)) and the MACULA trees ([tools/macula](https://md.mova.elamur.ai/free/en/docs/tools/macula/)); `yom-hadin` ([yom-hadin](https://md.mova.elamur.ai/free/en/docs/yom-hadin/)).
- **The animals.** Fish, Crab with its deputy planner, Eel, the Whales, the Sea Spider (MovaBot), the Nautilus and the Sea Turtle; the Dolphin consultants and the per-animal terminals; custom modules through `mova-module-overlay` ([animals](https://md.mova.elamur.ai/free/en/docs/repo-docs/animals/)). The SLM's training teacher is Codex CLI ([teacher transport](https://md.mova.elamur.ai/free/en/docs/repo-docs/training/#current-teacher-transport)).

## Compared with 0.4

**The 0.5 column was measured with the release candidate `en.bin` `bff784ac…` before the dictionary redaction; the shipped `2483516a…` differs only by that redaction and was not run on held-out sets** (see below). The same commands as in [Tests](https://md.mova.elamur.ai/free/en/docs/tests/), on a CPU with the workspace build. Held-out tests are run once, at release. 0.4 values are from [0.4 notes](https://md.mova.elamur.ai/free/en/docs/releases/0.4/) (2026-10-16).

| measure | 0.4 (2026-10-16) | 0.5 candidate `bff784ac…` (2026-11-05) |
| --- | --- | --- |
| bAbI test, 20 tasks | 99.4%, 19 of 20 (task 18 92.3%, task 16 95.3%) | 98.6% (19 719 of 20 000), 19 of 20 (task 16 74.7%, task 18 100%) |
| bAbI contrast set | 99.4%, 19 of 20 | 97.6% (19 519 of 20 000), 18 of 20 (task 16 74.7%, task 2 94.8%) |
| StepGame, original labels | 96.3% | 96.3% (96 258 of 100 000) |
| StepGame corrected, clean and noise | 100% | 100% / 100% (66 517 / 46 824) |
| StepGame contrast set (no lexical reader) | 100% (17.1%) | 100% of 5 000 (17.1%) |
| SpartQA-Human YN / FR / total | 75.5 / 63.6 / 74.1 | 75.5 / 63.6 / 74.1 |
| SVAMP test, `math` solver | 64.3% (193) | 66.3% (199 of 300) |
| SVAMP test, the school's maths student | 160 | 159 of 300 (Addition 26/59, Common-Division 36/48, Multiplication 11/33, Subtraction 86/160) |
| maths student `cv` on SVAMP train: world reader / book's way | 513 / 1116 | 513 / 1110 (of 2 100) |
| LAS, tales test (with the shipped repair rules) | 79.69 | 80.63 |
| LAS, UD English EWT test | 80.68 | 81.28 |
| primary-school courses, test questions right | 11 730 of 26 992 (43.5%) | the same 25 courses: 19 677 of 49 693 (39.6%; mean of the courses 44.6%); without the books, 12 250 of 25 369 (48.3%; 0.4: 11 100 of 25 319, 43.8%); the books 7 427 of 24 324; the formal exams 5 774 of 15 757. The command school, new: 140 of 352 |
| course controls red (no lesson / shuffled / key lines / far question) | — | all 26 courses red; the 25: 12 686 / 14 850 / 14 770 / 13 990 of 49 693 (guessers: longest option 12 474, first option 12 631) |
| retained school evaluation, fresh process | — | books lesson 2 (*Alice*, the little door): 11 of 20 test and exam questions from the saved state, with no reading, no lesson focus and no updates; a state that read only lesson 1: 7 of 20 |
| model `en.bin` sha256 this table was measured with | `31a93401fe7135b17e1eacccf608d1a42e94ebc8951f011d7f80ff9db144eb86` | `bff784ac049c4a6760cdc0512468a1107204cfb982b8513a735b70530ac04eed` |

Build: main `9057160b1`, `cargo build --release --locked`, CPU only, no large-model calls. Every held-out set (bAbI test and its contrast set, the three StepGame test sets, SpartQA-Human, the SVAMP test for both solvers, the tales and EWT tests) was read once.

**This table was measured with `en.bin` `bff784ac…`, before the redaction; the shipped `en.bin` is `2483516a…`.** After the held-out run, 415 lemmas of the in-code dictionary that were personal tokens (e-mail addresses, links, `@handles`, telephone numbers from the EWT e-mail and web genres) became `<redacted-N>` placeholders ([Data and model licences](https://md.mova.elamur.ai/free/en/docs/licence/DATA/)); organisation domain names seen as words (such as `Newsday.com`) are not personal data and stay. That changes the dictionary fingerprint, so `en.bin` was retrained with the same recipe on the same filtered files; two trainings gave the same bytes, `2483516a26a8e17d53c7142df919289cb2a061b37b7b78ae07ae1bba7d41564d`, and that model is the one in `mova-model-0.5.tar.gz`. The held-out sets were not read again. The two models differ only by the redaction; on development sets and the school (2026-11-05, `EN_LEXEXT=1`, the two builds differing only by the dictionary):

| measure | `bff784ac…` (measured above) | `2483516a…` (shipped) |
| --- | --- | --- |
| UD EWT dev, UPOS / LAS | 95.03 / 81.00 | 94.93 / 80.83 |
| GUM dev, UPOS / LAS | 95.88 / 79.73 | 95.94 / 79.68 |
| school dev, UPOS / LAS | 96.46 / 85.45 | 96.57 / 85.24 |
| school bench, medium tier, seed 42, 26 courses: tests / understood / formal exam | 6 799 of 16 919 / 10 047 / 1 944 of 5 407 | 6 825 of 16 919 / 10 049 / 1 949 of 5 407; controls red in all 26 on both |
| the 25 courses (as in the table above): right / formal exams | 19 677 of 49 693 / 5 774 of 15 757; the command school 140 of 352 | 19 642 of 49 693 (39.5%) / 5 752 of 15 757; the books 7 385; controls red in all 26; the command school 143 of 352 |

The two models choose the same option on 93.3% of the 65 450 trace rows of the 25 courses. Two runs of the shipped model over the 26 courses gave byte-identical traces and reports, and two runs of the medium bench identical traces.

Notes:

- **The parser model is the cause of the bAbI changes.** The same 0.5 code with the 0.4 model, on the bAbI *train* stories: task 16 95.5%, task 18 92.5%; with the 0.5 model: task 16 77.0%, task 18 100%. The 0.5 model reads *Does* as an auxiliary in "Does the box of chocolates fit in the box?", so task 18 is solved; in task 16 (basic induction) it loses colours such as "Lily is gray" in a story ("no rhino without an attribute"). Task 2 of the contrast set (94.8%) is just under the bar.
- **The book's way in `cv` fell by 6 (1116 → 1110) with the model.** With the 0.4 model the same code gives 1116. The school's SVAMP test fell by 1 (Subtraction 87 → 86); it was not rerun with the other model, as it is held out.
- **The `math` solver gained 6 on SVAMP** (193 → 199); code and model both changed, and the cause is not isolated. **LAS rose** on both tests (tales +0.94, EWT +0.60): no sentence of either test is in the 0.5 model's training text (checked by text).
- **The 0.5 model is trained on held-out-filtered data.** The 0.4 `en.bin` had the school's test-lesson and dev sentences in its training data, so the 0.4 course score was read with a parser that had seen those sentences. The 0.5 model is trained on EWT train, ESL Spoken train and the school's agreed trees after the held-out filter ([training.md](https://md.mova.elamur.ai/free/en/docs/repo-docs/training/)), so the course numbers below are not flattered that way.
- **The courses.** The 25 courses of 0.4 now hold 49 693 test questions: the books course grew from 1 673 to 24 324 questions with the books' chapters, and the books pull the sum down. On the other 24 courses the question sets are close but not identical (25 319 → 25 369 questions; biology 4 581 → 4 631): right answers rise from 11 100 to 12 250 (43.8% → 48.3%), with every control red, despite the cleaner parser. This is not a matched-question comparison, and no bound on the gain over the shared questions is claimed.
- **Determinism.** Two runs of all 26 courses gave byte-identical traces and reports; two runs of `school actors cv` and of the bAbI train stories gave identical output; the retained exam run twice from the same saved state gave identical answers.
- **The *do*-support issue of 0.4 is fixed** in the held-out run (bAbI task 18 100%), measured with `en.bin` `bff784ac…` before the dictionary redaction; the shipped `2483516a…` was not run on held-out sets (it picks the same option on 93.3% of course trace rows). The *give away* verb class is still missing: `question_numbers_must_be_used` stays ignored.

## GPU mode

The stages and their kinds are described in [gpu-exec.md](https://md.mova.elamur.ai/free/en/docs/repo-docs/gpu-exec/#stages).

| stage | CPU | GPU | agreement |
| --- | --- | --- | --- |
| parsing the 25 courses (`gparse` instead of `en`), 2026-11-05 | 19 642 of 49 693 right; exams 5 752 | 19 808 right (39.9%); exams 5 716; all controls red | approximant: other trees; the same option on 78.9% of 65 450 trace rows |
| `gparse` prediction with fused softmax, 2026-11-05 (the 25 courses in GPU mode) | `GP_FUSED_SOFTMAX=0`: 19 808 right | fused: 19 808 right | approximant; on these inputs the 25 traces are byte-identical |
| `induce`, `selfplay` | not measured for 0.5 | not measured for 0.5 | exact (0.4: the same rules byte for byte) |

Both rows were measured with the files of the published `mova-model-0.5.tar.gz` (SHA-256 `bd30339755ad2fcf26857593c019c1b5adfd0eb4eb99ca39b9f12ff6b152c5c0`), named explicitly (`WORLD_EN_MODEL`, `MOVA_GPARSE_MODEL`): `en.bin` `2483516a26a8e17d53c7142df919289cb2a061b37b7b78ae07ae1bba7d41564d` (CPU column, and the tokens, UPOS, features and lemmas in GPU mode) and `gparse/model.safetensors` `f32dc064999be83b062d02a284c24c18936cb7980532ea4189df15f538f3f373` (GPU column), on an RTX 4000 SFF Ada. Build: commit `17ee53a82e4c7cc3d8d8950d465667e8334f4b15` (the dictionary redaction), `world` CPU (SHA-256 `43346bd2efbc9208f47da4e473e475f7b80a29ea558f308bacddb8e358c2f4c4`) and `world --features gpu` (`a1095a06f8cec10c9b97e3e0b36112b323dc87734c8bab702c8fd16486dd190a`); the candle CUDA kernels (PTX) were compiled on the same host on 2026-10-22 with CUDA 12.4.131 before the system compiler became GCC 14.2. A clean GPU rebuild from source on that host is blocked (GCC 14 / CUDA 12.4, known issues), so these GPU numbers are repeatable with these binaries but not yet reproduced from a clean build. The fused and the `GP_FUSED_SOFTMAX=0` runs were each made twice: all four gave byte-identical traces and reports. With GCC 14 the CUDA 12.4 compiler refuses to build candle's kernels; the GPU build reused kernels compiled earlier (known issues).

## Known issues

- **bAbI task 16 (basic induction) fell to 74.7%** in the held-out run with `en.bin` `bff784ac…` (95.3% in 0.4); the same code with the 0.4 model keeps it. The shipped `2483516a…` differs only by the dictionary redaction and was not run on the held-out set. Not repaired for this release: the bAbI test is held out.
- **No verb class for *give away*** (open from 0.4): `question_numbers_must_be_used` stays ignored. The *do*-support issue of 0.4 is fixed in the held-out run with `bff784ac…` (not re-run with the shipped `2483516a…`).
- **Unit tests that need the environment** (2026-11-05, `cargo test --workspace --exclude gparse`: 2 601 passed, 15 failed, 12 ignored): the `db` tests need the DuckDB CLI (`DUCKDB`) and the `wasi-host` tests a `mlab.wasm` built for `wasm32-wasip1`. The other failures of that run are fixed in the released code: `world/tests/groupant_retention.rs` reseals its retained states with the `dictionary` field, `roundtrip`'s `lossy_rows_and_before_domain` uses its own temporary folder without `WAVE32_TEMP`, and `world`'s `ideas::isolated_tsv_update_and_rank` skips without `MOVA_HOT_ROOT`. The stale lock files of `tools/agent-mova` and `tools/agent-runner` found in the same run are regenerated; every standalone workspace resolves with `--locked`.
- **`gparse` does not build with GCC 14 and CUDA 12.4** (`nvcc` refuses the host compiler), so `--workspace` with `gparse` fails to compile on such a host; the GPU build reused already compiled kernels.
- **Resolved: the in-code dictionary's licence is stated** (operator's decision, 2026-11-05). `en/data/lemmas.tsv` and `forms.tsv` hold forms, lemmas and counts from UD English EWT and are compiled into every binary; the dictionary is distributed under CC BY-SA 4.0, with every source cited in [Licence and sources of en/data: the in-code English dictionary](https://md.mova.elamur.ai/free/en/docs/en/data/LICENSE/) (`en licence` prints it). The citations live outside the compiled blob, so the dictionary fingerprint of `en.bin` `2483516a…` is unchanged (a unit test pins it). Mova's code alone is under the Elamur Cosmic License; its data, the dictionaries included, is under CC BY-SA 4.0 ([Data and model licences](https://md.mova.elamur.ai/free/en/docs/licence/DATA/)).
- **The Fish terminal crate is still named `peta-fish-terminal`**, and its session, option and report names keep the `peta-fish` prefix as fixed protocol identifiers ([animals](https://md.mova.elamur.ai/free/en/docs/repo-docs/animals/#public-pieces-and-deployments)).
- **The school is a separate archive.** The courses, lessons and school dictionaries are not in the repository: `mova fetch 0.5 school` installs `school-0.5.tar.gz` into school (`MOVA_SCHOOL_DATA` picks another folder). Without it the courses are absent, the layer `builtin:commands` is empty and the register of euphemisms filters nothing. The pupils' dictionary (`world/data/dictionary-improved.tsv`) stays in the repository, compiled in.
- **The school dictionaries are data only.** The tools that build them are internal, so they cannot be rebuilt from this repository.
- **The `peta` and `worlds` features of `world` add nothing in a public checkout.** The legacy manuals they compile in are not in the public tree; without them `world/build.rs` warns and builds with no manuals. The default build does not use them.
- **The worker tools are Unix only.** Crab, Octopus, Eel, Whale, the Fish crates and the agent tools use Unix sockets, file modes and `libc`.

## Not carried on

- The 15% and 25% approximant profiles (see "Removed" in [Changelog](https://md.mova.elamur.ai/free/en/docs/CHANGELOG/)).
- The 0.4 model `en.bin` (it stays in the 0.4 download).

## Downloads

The files that come with 0.5 beside the code, published on 2026-11-05. Each is one `.tar.gz`, served over HTTPS from [https://research.elamur.ai/download/0/0.5/](https://research.elamur.ai/download/0/0.5/) and by BitTorrent; every torrent has the HTTPS file as its web seed, and our seeder serves them all. Sizes, SHA-256, licences, .torrent files, magnet links and what each archive holds: [Mova 0.5 — the release files](https://md.mova.elamur.ai/free/en/docs/releases/0.5-files/) (for programs: [0.5-files.json](https://github.com/ElamurAI/mova-free/blob/main/releases/0.5-files.json)). `./install.sh` runs `mova fetch 0.5`, which downloads and checks the model.

| file | needed | licence | size | HTTPS | BitTorrent |
| --- | --- | --- | --- | --- | --- |
| `mova-model-0.5.tar.gz`: `en.bin`, `gparse/`, `coref/gender.tsv` | required | CC BY-SA 4.0 | 158 MiB | [file](https://research.elamur.ai/download/0/0.5/mova-model-0.5.tar.gz) | [.torrent](https://research.elamur.ai/download/0/0.5/mova-model-0.5.tar.gz.torrent), [magnet](https://md.mova.elamur.ai/free/en/docs/releases/0.5-files/#mova-model-05targz) |
| `corpus-0.5.tar.gz`: books, the agreed school treebank (training part), silver and bronze trees, maths scripts, contrast sets | optional | CC BY-SA 4.0 | 14.0 MiB | [file](https://research.elamur.ai/download/0/0.5/corpus-0.5.tar.gz) | [.torrent](https://research.elamur.ai/download/0/0.5/corpus-0.5.tar.gz.torrent), [magnet](https://md.mova.elamur.ai/free/en/docs/releases/0.5-files/#corpus-05targz) |
| `dictionaries-0.5.tar.gz`: the pupils' dictionary and the commands dictionary | optional | CC BY-SA 4.0 | 6.6 MiB | [file](https://research.elamur.ai/download/0/0.5/dictionaries-0.5.tar.gz) | [.torrent](https://research.elamur.ai/download/0/0.5/dictionaries-0.5.tar.gz.torrent), [magnet](https://md.mova.elamur.ai/free/en/docs/releases/0.5-files/#dictionaries-05targz) |
| `school-0.5.tar.gz`: the school's courses and lessons, the school dictionaries and the commands dictionary | optional (needed for the school runs and the site) | CC BY-SA 4.0 | 39.5 MiB | [file](https://research.elamur.ai/download/0/0.5/school-0.5.tar.gz) | [.torrent](https://research.elamur.ai/download/0/0.5/school-0.5.tar.gz.torrent), [magnet](https://md.mova.elamur.ai/free/en/docs/releases/0.5-files/#school-05targz) |

`en.bin` of 0.5 has SHA-256 `2483516a26a8e17d53c7142df919289cb2a061b37b7b78ae07ae1bba7d41564d` (the archive `bd303397…`); it is trained on data from which every held-out sentence is removed, and two trainings give the same bytes. The 0.4 files stay at [https://research.elamur.ai/download/0/0.4/](https://research.elamur.ai/download/0/0.4/).

## Links

- Changes: [Changelog](https://md.mova.elamur.ai/free/en/docs/CHANGELOG/)
- Previous notes: [0.4 notes](https://md.mova.elamur.ai/free/en/docs/releases/0.4/), [0.3 notes](https://md.mova.elamur.ai/free/en/docs/releases/0.3/)
- How to reproduce: [Tests](https://md.mova.elamur.ai/free/en/docs/tests/)
- Licences: [Licence files](https://md.mova.elamur.ai/free/en/docs/licence/), [Data and model licences](https://md.mova.elamur.ai/free/en/docs/licence/DATA/)
- Downloads: [above](#downloads), [Mova 0.5 — the release files](https://md.mova.elamur.ai/free/en/docs/releases/0.5-files/); release page [https://mova.elamur.ai/free/en/releases/0.5/](https://mova.elamur.ai/free/en/releases/0.5/)
- [← previous Release 0.4 — notes (published 2026-10-16)](https://md.mova.elamur.ai/free/en/docs/releases/0.4/)
- [next → Mova 0.5 — the release files](https://md.mova.elamur.ai/free/en/docs/releases/0.5-files/)
- [↑ back to releases/](https://md.mova.elamur.ai/free/en/docs/releases/)
