translation-flow-measure-text
The groupant beside tools/translate/src/measure.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 | bounded helpers only | 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 |
canonical_gap | canonical_gap | partial source derived model | canonical_gap |
gap_cost | gap_cost | partial source derived model | gap_cost |
quote_state | quote_state | partial source derived model | quote_state |
possessive_priority | possessive_priority | partial source derived model | possessive_priority |
Model text
descriptant
translation-flow-measure-text
text_encode stores gaps differing from canonical spacing and literal tail; text_decode overrides canonical gaps then appends tail. join derives rule spaces and toggles quote state, with possessive apostrophe handling before quote toggle.
Epoch 2026-10-31
Prospective predictions saved before edits in the external wave32 tr_flow receipts. Original production bytes preserved; only appended synthetic test modules added. Selected actual helpers exercised; five compiled behavior controls rejected with exact byte restoration and positive reruns. Source syntax projection is partial, not expanded semantic Rust. Diagnostic reconstruction with residual is not semantic understanding or persistent learning.
forms/gaps lengths compatible; space length covers indexk-1; UTF-8 strings; finite literal-bit costs. No parser invocation needed.
approximant
Forward relation
text_encode stores gaps differing from canonical spacing and literal tail; text_decode overrides canonical gaps then appends tail. join derives rule spaces and toggles quote state, with possessive apostrophe handling before quote toggle.
Scope: source-derived conditional transition model at the manifest SHA. forms/gaps lengths compatible; space length covers indexk-1; UTF-8 strings; finite literal-bit costs. No parser invocation needed.
composition
Composition
Scoped children are projections of this file, not independent executables. Main population filtering feeds aggregation; order/text helpers feed measure's exact decoder; many's agreement and storage read the same MTok with intentionally different punctuation treatment, streaming accounting consumes reader costs, clustering consumes normalized PairM. Uncovered branches remain source-derived; finite helper checks do not establish orchestration wiring.
catalog
Typed models
All entries bind the source SHA and optional byte range in manifest.json. Observation is one admitted helper call or the explicitly described orchestration trace. Relations are partial source-derived models, not universal proofs. Finite test names and unexecuted effects are in tests.md.
behavior_complement
Stored gap wins canonical gap; nonempty tail cannot disappear during decode. Newline gap classified Layout while nonnewline Spacing.
Domain and held-fixed assumptions: the invariant/forward documents for this exact scope. Status: partial source-derived relation; complement is a conditional inner exclusion, reverse retains ambiguity, other types specify the named projection/intervention. Oracle: relevant named synthetic tests when listed; otherwise source inspection only.
reverse_reconstruction
Fixed forms/space/residual gives unique text; same text may admit many tokenizations/gaps. Without residual, noncanonical whitespace/tail are unrecoverable.
Domain and held-fixed assumptions: the invariant/forward documents for this exact scope. Status: partial source-derived relation; complement is a conditional inner exclusion, reverse retains ambiguity, other types specify the named projection/intervention. Oracle: relevant named synthetic tests when listed; otherwise source inspection only.
canonical_gap
First gap empty; subsequent gap single space iff space[k-1]; any other exact byte string stored.
Domain and held-fixed assumptions: the invariant/forward documents for this exact scope. Status: partial source-derived relation; complement is a conditional inner exclusion, reverse retains ambiguity, other types specify the named projection/intervention. Oracle: relevant named synthetic tests when listed; otherwise source inspection only.
gap_cost
Every changed gap charged lit_bits(gap)+pos_bits(n); tail lit_bits only.
Domain and held-fixed assumptions: the invariant/forward documents for this exact scope. Status: partial source-derived relation; complement is a conditional inner exclusion, reverse retains ambiguity, other types specify the named projection/intervention. Oracle: relevant named synthetic tests when listed; otherwise source inspection only.
quote_state
One boolean treats all quote kinds as shared open/closed state; nested mismatched quotes not a full grammar.
Domain and held-fixed assumptions: the invariant/forward documents for this exact scope. Status: partial source-derived relation; complement is a conditional inner exclusion, reverse retains ambiguity, other types specify the named projection/intervention. Oracle: relevant named synthetic tests when listed; otherwise source inspection only.
possessive_priority
After alphanumeric previous form and not open, apostrophe possessive attaches left and continues without toggling quote state.
Domain and held-fixed assumptions: the invariant/forward documents for this exact scope. Status: partial source-derived relation; complement is a conditional inner exclusion, reverse retains ambiguity, other types specify the named projection/intervention. Oracle: relevant named synthetic tests when listed; otherwise source inspection only.
tests
Evidence and gaps
Native checks
measure::tests::order_residualmeasure::tests::a_block_reads_as_onemeasure::tests::text_layer_back
These selected names ran twice debug and twice release with exact filtering and one test thread; raw logs and numeric status files are in the external octopus-wave32-tr_flow-2026-10-31 receipt directory. All test bodies inspected before selection. Inline cases use only synthetic in-memory records; the existing blocks filesystem test was not selected. Tests listed at file level do not execute every function or this entire scoped fragment.
Controls
Five compiled source-behavior mutants: main gate counter suppressed; many strict chapter comparison relaxed; measure noncanonical-gap recording disabled; pages Meta filter reversed; blocks literal-change predicate reversed. All failed the corresponding assertion and passed after original bytes/hash restoration. Zero assertion-only mutants; zero surviving exploratory mutants.
Limitations
CLI argument/effect paths, live corpus/model/annotation/training, full Run::verse, page filesystem and reports remain source-derived only. Source syntax projections generated twice and byte-compared. No corpus-quality, persistent-learning, throughput or universal semantic coverage claim.
invariant-and-cost
Domain, invariant and cost
Invariant
forms/gaps lengths compatible; space length covers indexk-1; UTF-8 strings; finite literal-bit costs. No parser invocation needed.
Cost
O(form+literal bytes) concatenation plus O(tokens log changed_gaps) map lookup; join scans tokens and char boundary predicates.
Integer additions/casts require representability; finite floating inputs where comparisons are modeled. These symbolic costs are not measurements of corpus throughput. No useful cheaper executable percentage surrogate established; future supported caps only 1/2/5/10%.
This page in Markdown โ https://md.groupants.elamur.ai/free/en/mova/tools/translate/src/measure.rs.groupant/text.groupant/