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

# mlab-suite

The groupant beside mlab/src/suite.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:** [`mlab/src/suite.rs`](https://github.com/ElamurAI/mova-free/blob/main/mlab/src/suite.rs)
- **source SHA-256:** `9f7b9b196ad8e83e…`
- **repository folder:** [`mlab/src/suite.rs.groupant`](https://github.com/ElamurAI/mova-free/tree/main/mlab/src/suite.rs.groupant)
- **repository commit:** `48f2e6f74146`

> **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 | [approximant](#approximant) |
| **ast** | partial | `syntax.json` |
| **composition** | partial | [composition](#composition) |
| **cost** | symbolic source derived | [invariant](#invariant) |
| **descriptant** | present | [descriptant](#descriptant) |
| **invariant** | partial | [invariant](#invariant) |
| **tests** | executed bounded checks | [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.

| id | type | label | where |
|---|---|---|---|
| `behavior_complement` | behavior_complement | partial source derived model | [behavior_complement](#behavior-complement) |
| `reverse_reconstruction` | reverse_reconstruction | partial source derived model | [reverse_reconstruction](#reverse-reconstruction) |
| `newline_boundary` | newline_boundary | partial source derived model | [newline_boundary](#newline-boundary) |
| `scenario_isolation` | scenario_isolation | partial source derived model | [scenario_isolation](#scenario-isolation) |
| `gate_prefix` | gate_prefix | partial source derived model | [gate_prefix](#gate-prefix) |
| `count_semantics` | count_semantics | partial source derived model | [count_semantics](#count-semantics) |

## Parts

- [mlab-suite-parse-check](https://md.groupants.elamur.ai/free/en/mova/mlab/src/suite.rs.groupant/parse-check.groupant/)
- [mlab-suite-run-gate](https://md.groupants.elamur.ai/free/en/mova/mlab/src/suite.rs.groupant/run-gate.groupant/)

## Model text


### descriptant

#### mlab-suite

Line-oriented scenario parser, exact/prefix first-mismatch comparator, fresh-interpreter runner and output-only tree/VM equivalence gate.

##### Epoch 2026-10-31

Prospective source model preceded test additions. No production semantics changed. Seven legacy files are modeled, with source-scoped fragments for complex files. Retain parse-before-effects versus runtime partial effects, output equality versus correctness, and independent layers routing as distinct observations.

##### Limits

Partial lexical syntax, no macro expansion or semantic resolution. Finite synthetic CPU checks are not a proof. Frozen suites, corpus, teacher, GPU, allocation exhaustion and host IO failure injection were not run. No useful executable percent surrogate for categorical control/effects; unsupported gap, no 1/2/5/10% claim.

### approximant

#### Forward relation

parse maps ### headers/code/---/expectations to Scenario values; finish removes trailing blank code and adds newline. check strips one final newline and compares max(expected,got) lines. run_fs maps scenarios to fresh Interp+FS; vm_gate stops at first byte-different tree/VM output.

##### Domain

Valid source-generated AST/values within memory and integer/index limits; deterministic bounded synthetic observations. Arbitrary public malformed representations are outside safety claims.

##### Executable approximant gap

Exact categorical state/dispatch behavior has no supported percentage-error surrogate here.

### invariant

#### Invariant

First_diff is 1-based earliest differing line; absent lines are <end>. Scenarios do not share default workspace/FS. Gate total counts only executed prefix and fully_native uses static fallback==0 and dyn_runs==0.

##### Cost

Parse/check O(input/output plus expectation bytes) with retained copies. Runs sum program costs with fresh state; gate executes twice per scenario until mismatch and retains one mismatch. Arbitrary programs can loop indefinitely; no timeout.

### composition

#### Parent composition

parse-check constructs Scenario code/expectations; run-gate executes code in fresh environments and supplies captured output to check. vm_gate compares engine output directly and deliberately does not use expected answers; shared faults may pass equivalence.

##### Limits

Partial lexical syntax, no macro expansion or semantic resolution. Finite synthetic CPU checks are not a proof. Frozen suites, corpus, teacher, GPU, allocation exhaustion and host IO failure injection were not run. No useful executable percent surrogate for categorical control/effects; unsupported gap, no 1/2/5/10% claim.

### models

## Typed models

### behavior_complement

Expect=[] accepts only empty output. Prefix does not ignore extra output lines. Gate equality excludes differing bytes but does not exclude identical wrong answers.

### reverse_reconstruction

Parser is many-to-one due to ignored lines/fields and trimmed code. A mismatch tuple fixes only first divergent position; subsequent output is unconstrained.

### newline_boundary

Exactly one trailing LF is stripped; a\n\n is two lines, whereas empty string is zero and \n is one empty line.

### scenario_isolation

run_fs calls factory once per scenario before execution; default run_opts uses fresh Vfs.

### gate_prefix

On first mismatch increment total/stats, store mismatch, break. Unvisited suffix contributes nothing.

### count_semantics

native/fallback aggregate static compiled statement counters; fallback_runs/dyn_runs count dynamic triggers; fully_native is not proof of full language correctness.


### tests

#### Executed checks — 2026-10-31

Selected exact names: wave30_synthetic_suite_boundaries, wave30_synthetic_gate_fail_fast. All selected native commands ran twice debug and twice release with matching sorted named outcomes (12 distinct tests, 48 positive executions across subsystem). Five compiled assertion mutants fail with exit101; restored byte-exactly and rerun green. Per-source associations appear in external source-test-map.json.

Controls change expected parse state, VM persisted value, suite factory count, SHA known digest and routing tie winner. These are compiled assertion controls exercising real code, not claims of implementation-mutant completeness. lib.rs is compile/type identity evidence only.

No frozen suites, Monte Carlo or recursion-heavy EDGE runs. No speed claim. Scoped Clippy limits retained externally; lexical syntax generated twice identically.
