---
title: "whale-workers — Mova code model"
description: "Mova code model of models/whale-workers.groupant: components with their labels, obernants and the model text."
url: "https://groupants.elamur.ai/free/en/mova/models/whale-workers.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/whale-workers.groupant/>

# whale-workers

The groupant beside models/whale-workers.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:** 29
- **repository folder:** [`models/whale-workers.groupant`](https://github.com/ElamurAI/mova-free/tree/main/models/whale-workers.groupant)
- **repository commit:** `855da7bd4a7b`

> **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.md` |

## 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](#behavior-complement) |
| `reverse_reconstruction` | reverse_reconstruction | partial source derived finite checks | [reverse_reconstruction](#reverse-reconstruction) |

## Model text


### Descriptant

Composition of the public `mova-whale` crate. A deployment supplies a pinned specification (prompt template, kinds, output contract, gate parameters, bundle layout), teacher identity, items or a candidate queue and paths; the crate supplies the mechanics.

### Forward

util pins and leases -> spec loads the pinned contract -> source extracts bounded context -> whale prepares tasks, reserves, calls the teacher once and admits the reply through contract and originality into an immutable bundle -> pool launches prepared workers once -> swarm schedules survey and agent lanes by measured time from a pinned queue -> agent runs bounded worktree sessions -> roles exposes pool/swarm to Crab -> main is the executable all children run.

### Invariant

Every external call is preceded by a durable reservation and followed by a terminal receipt or an uncertain state that blocks replay; every published artifact is immutable and hash-listed; every concrete choice is pinned by hash in configuration.

### Cost

Dominated by teacher/agent latency; local gates are linear in reply and corpus size; schedulers poll SQLite O(lanes).

### Composition

Leaves are file groupants under `tools/whale/src/*.rs.groupant`. Correct leaves do not prove the wiring: the interaction checks are the pool/swarm fixture tests that launch the real child entry points through fake executables, and whale tests that cross spec, contract, originality and publish.

### behavior_complement

Domain: all configured runs. The system does not: call a teacher without a pinned specification and explicit model; retry or reprompt; overwrite bundles; merge or push agent candidates; restart launched cohorts; admit writes outside configured scopes; claim correctness from structural gates. Counterexample: a forged template hash stops every entry point before any reservation.

### reverse_reconstruction

From a bundle manifest the task, reply, spec and template hashes are recoverable and the job directory retains the reply; from swarm status only per-lane counts and charged time are recoverable, admitting many schedules. Evidence status: source-derived with finite checks.

### Epoch 2026-11-04 (Sea Spider live: singleton and callers)

New child mova-whale-seaspider-client: optional seaspider_socket in the animal config; ask_sea_spider asks Sea Spider as caller whale. Off unless configured.

### Epoch 2026-11-04

New children `mova-whale-pod` (pod-shared term knowledge), `mova-whale-review` (review hints from the Whale's own terminal) and `mova-whale-topic` (the topic-corpus binary as a child process). The pod adds a cross-Whale interaction: learners of one batch share terms through `pod/` (claims before asking, entries after answers).

### tests.md


cargo test --manifest-path tools/whale/Cargo.toml --offline --locked (74 tests, fake teachers/executables; two identical runs on 2026-11-03).
Negative control: disabling the pin hash comparison in util::pinned turns four tests red (spec, whale, agent template and swarm queue pins); restored afterwards.
