macula-converter-xml-reader
The groupant beside tools/macula/src/main.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 |
empty_word | empty_word | partial source derived model | empty_word |
first_text | first_text | partial source derived model | first_text |
attachment | attachment | partial source derived model | attachment |
error_prefix | error_prefix | partial source derived model | error_prefix |
Model text
descriptant
Descriptant
Prospective epoch
2026-10-31 source review predicted: XML start sentence creates current, wg pushes frame, w pending or Empty immediate; text fills only empty form; ends attach/emit. Resource model: O(B) plus attr-map comparisons, O(depth) stack/owned tree. 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; five 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.
Exact byte scope; finite correspondence only. Untested branches source-derived.
approximant
Forward relation
XML start sentence creates current, wg pushes frame, w pending or Empty immediate; text fills only empty form; ends attach/emit.
Domain: Group/word order preserved; unicode attribute overrides text; invalid nesting can unwrap, XML error panics, unfinished sentence omitted.
invariant
Invariant and cost
Invariant
Group/word order preserved; unicode attribute overrides text; invalid nesting can unwrap, XML error panics, unfinished sentence omitted.
Cost
O(B) plus attr-map comparisons, O(depth) stack/owned tree.
Limits
Exact byte scope; finite correspondence only. Untested branches source-derived. 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
Outside-sentence words ignored; nonempty form cannot be overwritten by text; incomplete EOF sentence not returned.
reverse_reconstruction
Sent permits ignored tags/attribute ordering/defaults; raw XML not recoverable.
empty_word
Empty w emits same word(attrs) without text stage.
first_text
Once nonempty trimmed Text fills form subsequent events ignored.
attachment
Node pushes innermost stack else current.top; wg end wraps ordered kids.
error_prefix
Previously collected sentences local before panic but no partial Vec returned, unlike corpus XML reader.
tests
Checks and evidence
Named source/helper checks: tests::genesis_1_1, wave31::majority_tie_and_empty_parser.
Wave31 on2026-10-31:30 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. Six 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-wave31-corpus-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.
Exact byte scope; finite correspondence only. Untested branches source-derived.
This page in Markdown โ https://md.groupants.elamur.ai/free/en/mova/tools/macula/src/main.rs.groupant/xml-reader.groupant/