---
title: "roundtrip-ae2round — Mova code model"
description: "Mova code model of tools/roundtrip/src/ae2round.rs: components with their labels, obernants and the model text."
url: "https://groupants.elamur.ai/free/en/mova/tools/roundtrip/src/ae2round.rs.groupant/"
---
Elamur: [Mova](https://md.mova.elamur.ai/free/en/) · [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**

This page as HTML: <https://groupants.elamur.ai/free/en/mova/tools/roundtrip/src/ae2round.rs.groupant/>

# roundtrip-ae2round

The groupant beside tools/roundtrip/src/ae2round.rs 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
- **status:** partial source bound model
- **source:** [`tools/roundtrip/src/ae2round.rs`](https://github.com/ElamurAI/mova-free/blob/main/tools/roundtrip/src/ae2round.rs)
- **repository folder:** [`tools/roundtrip/src/ae2round.rs.groupant`](https://github.com/ElamurAI/mova-free/tree/main/tools/roundtrip/src/ae2round.rs.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** | partial | `syntax.json` |
| **Composition** | partial source derived | [Composition](#composition) |
| **Cost** | partial source derived | [Invariant and cost](#invariant-and-cost) |
| **Descriptant** | partial source derived | [Descriptant](#descriptant) |
| **Invariant** | partial source derived | [Invariant and cost](#invariant-and-cost) |
| **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

The Eel's pair rounds: roundtrip ae2-round, anti-round and pairs. Samples (dev/test from wiki, the anti slice and school sentences held in), tables learned as in wiki-round, both sides measured with guards and a control, round.json for the Eel's install gate.

### Forward

sample -> measure tables in use (pairs, gold) -> controls (generator fault, parser fault) -> adapt order generator on domain + window -> measure candidate -> round.json {metric, dev_sha256, current{value, model_sha256, guards}, candidate{value, guards}, control{real, shuffled}}.

### Invariant and cost

The anti articles are neither dev nor test and are in no adaptation window (tested for 300 rounds); same inputs give identical reports and candidate bytes (two runs 2026-11-07). Cost: a few parses of the dev sample per side plus one adaptation; about 1.2 GB peak RSS.

### Composition

main -> wiki::pool/sample -> ae2 -> Annotator::adapt/save -> round.json; checked by tools/eel native.rs.

### Behavior complement

Domain: rounds. Relation: never installs, never writes outside --out, never reads the autoencoder's dev or test text in anti-round. Counterexample: the control uses single faults, so a pair surviving another kind of fault is not thereby a gate.

### Reverse reconstruction

Domain: round.json. Relation: the sample is recomputed from (corpus, shards, sizes, round); the window is not recoverable from the tables.

### Tests

ae2round::tests (3): anti articles held in and never trained on, school sentences strided by lesson, sha256 vector; real hand rounds against the Wikipedia corpus and a scratch Eel run (ae2 and anti both installed).

## History


#### 2026-11-07 · created

Written with the extended pipeline (tools/roundtrip/README.md, «The extended pipeline»). Measurements of 2026-11-07 are in that README; two identical runs of ae2-round and anti-round gave identical round.json (but for seconds) and candidate bytes.

## Provenance

- **source SHA-256:** `36422491a18cb78e…`
- **repository commit:** `c755aaec0159`
