roundtrip-hebrew-row-codec-field-patches
The groupant beside tools/roundtrip/src/blocks/site_heb.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-and-cost |
| descriptant | present | descriptant |
| invariant | partial | invariant-and-cost |
| 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 |
misc_order | misc_order | partial source derived model | misc_order |
pair_delete | pair_delete | partial source derived model | pair_delete |
position_charge | position_charge | partial source derived model | position_charge |
overwrite_fiber | overwrite_fiber | partial source derived model | overwrite_fiber |
Model text
descriptant
Description and epoch memory
Compare ten fields; FEATS/MISC canonical target becomes set/delete operations over maps, otherwise whole replacement. apply mutates fields sequentially and normalizes pair ordering; nonempty patch set adds position charge.
Epoch 2026-10-31
Prospective model retained externally before edits. Existing production bytes preserved; only bounded inline tests appended to six owned files. Models distinguish byte reconstruction with residual from semantic understanding and persistent learning. Finite tests and compiled mutants support selected boundaries only. Source inspection identified noninjective projections and explicit admissibility restrictions; no bug repair or performance claim.
Combiner input is this source snapshot, syntax projection, models, costs and retained receipts. Proposed next epoch: target the stated unexecuted branches with bounded witnesses before expanding any claim. AST remains partial, macros opaque; no name resolution or proof.
approximant
Forward relation
Compare ten fields; FEATS/MISC canonical target becomes set/delete operations over maps, otherwise whole replacement. apply mutates fields sequentially and normalizes pair ordering; nonempty patch set adds position charge.
Domain: Ten fields per row; unique canonical FEATS/MISC keys for pair identity, '_' empty convention, delimiter-free nonempty analyses for serialization. Finite counts/products/indices, signed offsets avoiding overflow; supplied lexicon only, no global load.
No executable percentage surrogate is supplied: these categorical codec/effect observations have no justified lossy metric. Future caps are 1/2/5/10% only after defining metric, zero behavior and differential reference.
catalog
Source-bound typed models
Each section is a partial source-derived relation on the bound snapshot and declared domain; finite checks are falsification evidence, not a universal proof. Observation horizon is one call unless history is explicitly named.
behavior_complement
No unchanged field emits patch. Noncanonical target MISC cannot be silently sorted because whole replacement chosen. Duplicate FEATS remain outside identity guarantee.
Domain and held state: Ten fields per row; unique canonical FEATS/MISC keys for pair identity, '_' empty convention, delimiter-free nonempty analyses for serialization. Finite counts/products/indices, signed offsets avoiding overflow; supplied lexicon only, no global load.
Status: partial source-derived model. Oracle: the named scoped tests in tests.md; unexercised branches remain inspection hypotheses.
reverse_reconstruction
Given pred and patches, deterministic row; given target alone all pred values overridden by Field and deleted pair values remain compatible. Pair exactness needs unique target keys and underscore empty representation.
Domain and held state: Ten fields per row; unique canonical FEATS/MISC keys for pair identity, '_' empty convention, delimiter-free nonempty analyses for serialization. Finite counts/products/indices, signed offsets avoiding overflow; supplied lexicon only, no global load.
Status: partial source-derived model. Oracle: the named scoped tests in tests.md; unexercised branches remain inspection hypotheses.
misc_order
Unknown/duplicate/out-of-order MISC triggers Field rather than Pairs.
Domain and held state: Ten fields per row; unique canonical FEATS/MISC keys for pair identity, '_' empty convention, delimiter-free nonempty analyses for serialization. Finite counts/products/indices, signed offsets avoiding overflow; supplied lexicon only, no global load.
Status: partial source-derived model. Oracle: the named scoped tests in tests.md; unexercised branches remain inspection hypotheses.
pair_delete
Keys in source but absent target become None, charged7 FEATS or3 MISC.
Domain and held state: Ten fields per row; unique canonical FEATS/MISC keys for pair identity, '_' empty convention, delimiter-free nonempty analyses for serialization. Finite counts/products/indices, signed offsets avoiding overflow; supplied lexicon only, no global load.
Status: partial source-derived model. Oracle: the named scoped tests in tests.md; unexercised branches remain inspection hypotheses.
position_charge
Exactly one pos_bits(n) added whenever patch vector nonempty.
Domain and held state: Ten fields per row; unique canonical FEATS/MISC keys for pair identity, '_' empty convention, delimiter-free nonempty analyses for serialization. Finite counts/products/indices, signed offsets avoiding overflow; supplied lexicon only, no global load.
Status: partial source-derived model. Oracle: the named scoped tests in tests.md; unexercised branches remain inspection hypotheses.
overwrite_fiber
Field(j,v) erases original j; Pairs only overwrites/removes named keys.
Domain and held state: Ten fields per row; unique canonical FEATS/MISC keys for pair identity, '_' empty convention, delimiter-free nonempty analyses for serialization. Finite counts/products/indices, signed offsets avoiding overflow; supplied lexicon only, no global load.
Status: partial source-derived model. Oracle: the named scoped tests in tests.md; unexercised branches remain inspection hypotheses.
tests
Actual checks
blocks::site_heb::wave32::patch_fields_and_canonical_pair_fibersblocks::site_heb::tests::affixes_cut_an_unknown_tokenblocks::site_heb::tests::a_learned_tree_comes_back_with_its_patches
The listed parent/source tests exercise only their named mechanisms; other model statements are source inspection. Sixteen selected actual roundtrip library tests passed twice debug and twice release (64 exact-name executions), with identical sorted test outcomes. Eight compiled production-behavior mutants, one per source, failed assertions; exact originals were restored and the selected check passed. No assertion-only mutants or surviving compiled mutants. An initial mutation selector was ambiguous and stopped before writing that source; corrected selector retained separately.
Raw logs, numeric statuses, original/restored hashes, prospective.md, native-commands.json and syntax pairs: $MOVA_DATA/runs/octopus-wave32-rt_blocks-2026-10-31. No live model/corpus/site/learning workflow or full pipeline was executed.
invariant-and-cost
Invariants and cost
No unchanged field emits patch. Noncanonical target MISC cannot be silently sorted because whole replacement chosen. Duplicate FEATS remain outside identity guarantee.
Given pred and patches, deterministic row; given target alone all pred values overridden by Field and deleted pair values remain compatible. Pair exactness needs unique target keys and underscore empty representation.
Cost
O(10+K log K) pair work and strings; n only affects pos_bits.
Integer additions/products and allocation sizes must fit native types. Floating costs require finite values; no throughput or all-input guarantee follows from synthetic tests.
This page in Markdown โ https://md.groupants.elamur.ai/free/en/mova/tools/roundtrip/src/blocks/site_heb.rs.groupant/field-patches.groupant/