rt-mixed-compare-numeric
The groupant beside tools/roundtrip/src/compare.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 |
| 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 |
invalid_zero | invalid_zero | partial source derived model | invalid_zero |
nan_acceptance | nan_acceptance | partial source derived model | nan_acceptance |
signed_values | signed_values | partial source derived model | signed_values |
finite_premise | finite_premise | partial source derived model | finite_premise |
Model text
descriptant
Descriptant
Prospective epoch
2026-10-31 source review predicted: num(s)=parsed f64 if parse succeeds, else0; nonfinite lexical values remain accepted. Resource model: O(input numeric text length) parse and O(1) retained result. External prospective.md predates test additions and preserves APIs, effect order, hazards and interaction hypotheses.
Observed epoch
Bounded real helper checks in tests.md constrain these models; syntax is a partial lexical projection with no macro expansion, name resolution or proof. Production expressions unchanged; six inline test modules added. Compiled mutants are temporary and exactly restored. Existing malformed-input and nonfinite domains remain explicit, not silently repaired. Parent composes this scope with siblings without adding overlapping costs twice.
Narrow Permissive numeric parse scope; finite checks do not cover all inputs. Parent effects and other functions are outside this fragment.
approximant
Forward relation
num(s)=parsed f64 if parse succeeds, else0; nonfinite lexical values remain accepted.
Domain: Scope: Permissive numeric parse. Owned temporary TSVs; permissive rows of at least7/8 columns. Finite nonnegative denominator metrics for meaningful ratios; implementation accepts nonfinite values without rejecting.
invariant
Invariant and cost
Invariant
Scope: Permissive numeric parse. Owned temporary TSVs; permissive rows of at least7/8 columns. Finite nonnegative denominator metrics for meaningful ratios; implementation accepts nonfinite values without rejecting.
Cost
O(input numeric text length) parse and O(1) retained result.
Limits
Narrow Permissive numeric parse scope; finite checks do not cover all inputs. Parent effects and other functions are outside this fragment. No percentage surrogate is implemented: categorical parsing/effect observations lack an admitted numerical error metric. Any future profile must define its metric/domain and use only1/2/5/10 percent caps.
models
Typed source-bound relations
Subject: exact source SHA-256 in manifest. Domain and resource premises are in invariant.md. Each model is partial, source-derived, over a single helper invocation or the described finite trace. Complements are proposed inner exclusions under those premises; reverse relations retain all compatible antecedents, with no unique inverse claim. The oracle is the named checks in tests.md; unexecuted cases remain hypotheses. No numerical approximation certificate.
behavior_complement
Within this scoped helper relation, outputs violating the stated forward equation or its preserved fields are excluded under the domain premises; this is a partial source-derived inner exclusion, not a claim about untested panics. invalid numeric text does not return Result error.
reverse_reconstruction
Output0 admits valid zeros and every parse-error string; NaN has multiple payload/lexical antecedents.
invalid_zero
invalid numeric text does not return Result error
nan_acceptance
NaN parses and defeats ordinary abs threshold tests
signed_values
negative values parse without clamping
finite_premise
meaningful denominator formulas separately require finite values
tests
Checks and evidence
Named source/helper checks: compare::wave32_tests::lossy_rows_and_before_domain.
Wave32 on2026-10-31:10 distinct exact tests passed twice debug and twice release, with equal sorted named outcomes. This node claims only its listed subset; empty subset means source review only. Five actual source-behavior mutants compiled, failed assertions, restored exact bytes/hash, and passed focused green reruns. No assertion-only mutants; existing swapped-input controls are separate. Receipt bundle: $MOVA_DATA/runs/octopus-wave32-rt_mixed-2026-10-31 (native-commands.json, source-test-map.json, mutation-results.json, .status/.log). No live corpus, teacher, frozen assessment, download or production data used.
Narrow Permissive numeric parse scope; finite checks do not cover all inputs. Parent effects and other functions are outside this fragment.
This page in Markdown โ https://md.groupants.elamur.ai/free/en/mova/tools/roundtrip/src/compare.rs.groupant/numeric.groupant/