---
title: "nightingale — Mova code model"
description: "Mova code model of models/nightingale.groupant: components with their labels, obernants and the model text."
url: "https://groupants.elamur.ai/free/en/mova/models/nightingale.groupant/"
---
Elamur: [Mova](https://md.mova.elamur.ai/free/en/) · [Dictionary](https://md.dictionary.elamur.ai/free/en/) · [Translate](https://md.translate.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/nightingale.groupant/>

# nightingale

The groupant beside models/nightingale.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:** 16
- **repository folder:** [`models/nightingale.groupant`](https://github.com/ElamurAI/mova-free/tree/main/models/nightingale.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

Nightingale (mova-nightingale): one per language, each with its own Sol, sitting under the Eel. It keeps the language's naturalness model on the CPU — form uni-, bi- and trigrams, lemmas, foreign tags and the Elephant's dependency patterns, counted by register label — as one standard per language plus small learned deltas per dialect and style; hands versioned models to the Eel, whose lm-<lang> rounds gate them on held-out bits per token and install them; judges words and phrases of translations against their alternatives and a soft hand list of loans; answers English through Mova's reader and deputy; and scans parallel pairs for needless loans and needless purism, with review-only proposals.

### Forward

sources -> units -> count (Counter, wordgraph::extract) -> parts -> merge (k-way, prune, lineage) -> model.ngl + meta.json -> delta::learn -> deltas.tsv -> handoff gen-<n> + READY -> round (Eel lm-<lang>: current vs candidate bits per token on the frozen dev) -> the Eel installs; prompt -> ask::read | Deputy with Hands(status, proposals) -> English; work: count_new -> freeze_dev -> build_handoff -> scan_step -> consult_step -> proposals.

### Invariant

Dev documents are never counted; the same parts give the same model bytes in any order; a part, a model and a handoff exist only complete (sidecar, meta, READY last); deltas belong to their model's lineage; a listed loan keeps its counts; nothing is deleted; the Nightingale never installs its own model and never holds the GPU.

### Cost

Counting about 40 000 tokens a second a thread (English tier-1, 2026-11-06: 47.3 M tokens on 3 threads in 5.5 min, 2.0 GB peak); a handoff merge and delta learning about a minute; the served model in memory (2.2 GB for the 47 M-token English probe).

### Composition

Leaves are file groupants under `tools/nightingale/src/*.rs.groupant` and `tools/nightingale/tests/*.rs.groupant`; the dependency patterns are the word graph's extraction (wordgraph); tree stores are treestore's; the deputy is mova-octopus; the Sol's terminal rules are nautilus::teacher's. Operationally the Nightingale sits under the Eel (eel-native-learning): its round child is the Eel's native round contract, and its installed model is the Eel's state. Interaction checks: tests/model.rs (count, merge, deltas, handoff and the round together) and tests/english.rs (reader, deputy, scan and Sol together).

### Behavior complement

No GPU; no install of its own model; no ban from the hand list; no list, manual or model written from a Sol answer; no Sol question without the operator's word; no proposal admitted.

### Reverse reconstruction

Part sidecars and docs files, meta.json (parts and lineage), deltas.tsv (each delta's counts), work.jsonl, english.jsonl, sol.jsonl, proposals.jsonl, scan.json and chosen.json recover what was counted, built, asked and proposed. Evidence status: source-derived with finite checks.

### Tests

#### Checks

tests/model.rs and tests/english.rs with the 2026-11-05 model; negative controls: a shuffled corpus (4.52 against 1.53 bits per token on the synthetic dev; 10.53 against 8.48 on one real tier-1 shard), a listed loan penalised but retrievable, a random label split learning no delta (red with trigrams before the Bonferroni bar).
These are finite fixtures and measurements; not a proof.

## History


#### 2026-11-06 · document

##### Epoch 2026-11-06

First model: the Nightingale as the Eel's CPU helper per language, with variety deltas over a standard (operator's principle of 2026-11-06).

## Provenance

- **repository commit:** `2e25d7bfae9a`
