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
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 |
| ast | partial | syntax.json |
| composition | partial | composition |
| cost | symbolic source derived | invariant |
| descriptant | present | descriptant |
| invariant | partial | invariant |
| tests | executed bounded checks | 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 |
reverse_reconstruction | reverse_reconstruction | partial source derived model | reverse_reconstruction |
newline_boundary | newline_boundary | partial source derived model | newline_boundary |
scenario_isolation | scenario_isolation | partial source derived model | scenario_isolation |
gate_prefix | gate_prefix | partial source derived model | gate_prefix |
count_semantics | count_semantics | partial source derived model | count_semantics |
Parts
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.
This page in Markdown โ https://md.groupants.elamur.ai/free/en/mova/mlab/src/suite.rs.groupant/