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
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.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 |
reverse_reconstruction | reverse_reconstruction | partial source derived finite checks | 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.
This page in Markdown โ https://md.groupants.elamur.ai/free/en/mova/models/whale-workers.groupant/