world-tests-rollback
The groupant beside world/src/tests.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 | partial | Cost |
| descriptant | present | descriptant |
| invariant | partial | model.md |
| tests | bounded checks partial scope | 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 |
delta_shape | delta_shape | partial source derived model | delta_shape |
diff_witness | diff_witness | partial source derived model | diff_witness |
rejection_cases | rejection_cases | partial source derived model | rejection_cases |
coverage_scope | coverage_scope | partial source derived model | coverage_scope |
Model text
descriptant
world-tests-rollback
Save C1 version/snapshot/delta, apply six legal changes, compare historical observations and latest diff. Reject fixture snapshots character versions/event count before mismatched have and distant give, then checks equality and links.
Modeling epoch — 2026-10-31
Read full assigned source before editing; prospective predictions retained in external wave29 receipts. This child binds only its stated half-open UTF-8 byte range; other APIs remain parent scope. Evidence is limited to named bounded fixtures; registration is partial modeling. Production behavior unchanged; only inline synthetic tests added to four assigned sources.
approximant
Forward relation
Save C1 version/snapshot/delta, apply six legal changes, compare historical observations and latest diff. Reject fixture snapshots character versions/event count before mismatched have and distant give, then checks equality and links.
Domain and resource limits
Finite valid structures and allocation-success executions under the branch conditions in models.md; integer overflow is outside measured fixtures. Exact categorical relations have no supplied percent surrogate. Macro expansion, arbitrary model quality and external effects are not inferred from syntax.
invariant
Invariant
Old value equality and changed current state both required; independent check_links follows rejects.
Cost
Six successful and two rejected commands; delegated snapshot/link costs.
composition
Composition
This scope contributes rollback to its parent. Its forward, complement and preimage are restricted to the bound byte interval. The parent syntax projection is referenced once through ../syntax.json; no independent semantic AST is claimed.
models
behavior_complement
Exclude mutation of saved C1 snapshot/delta or observed version/event growth on the two rejects. Acceptance alone is insufficient: new version must advance.
reverse_reconstruction
Saved/final equality leaves intermediate or unobserved fields underdetermined; error+preserved observations has narrower preimage than error alone.
delta_shape
Latest delta must omit Type/Name.
diff_witness
Requires feeling ?→offended and at L2→L1.
rejection_cases
have's link writes and distant give cannot advance observed state.
coverage_scope
Rollback snapshot does not compare every World field.
tests
Bounded checks
Named checks associated with this source (not every fragment branch):
- tests::format_is_strict
- tests::rejected_command_leaves_world_unchanged
- tests::old_states_stay_immutable
- tests::verdict_respects_order_and_alternatives
17 unique named tests in total passed twice debug and twice release; sorted named outcomes equal across all four runs. Four compiled controls cover bAbI identity, StepGame tie ordering, parser-command state removal and bench-command CPU selection; each exits101 at a runtime assertion, exact source restored then positive exit0. Other sources have finite adversarial fixtures but no separately compiled mutant.
CLI integration coverage is command construction and temporary cleanup only; legacy school/model/cadence paths are not executed. No speed benchmark, GPU, live teacher, datasets or held-out replay.
Limits:
- Only four synthetic tests executed; no model, stored VMM replay or held-out fixtures
- Finite assertions not executor proof; executable percentage approximant unsupported
External receipt root: $MOVA_DATA/runs/octopus-wave29-worldeval-2026-10-31.
This page in Markdown → https://md.groupants.elamur.ai/free/en/mova/world/src/tests.rs.groupant/rollback.groupant/