Elamur Groupants⌕
☰

treebanks-release

The groupant beside tools/treebanks/src/release.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

componentlabelwhere
approximantpartialmodel.md
astpartialsyntax.json
compositionpartialComposition
costpartialinvariant-and-cost
descriptantpresentdescriptant
invariantpartialinvariant-and-cost
testsbounded checkstests

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.

idtypelabelwhere
behavior_complementbehavior_complementpartial source derived modelbehavior_complement
reverse_reconstructionreverse_reconstructionpartial source derived modelreverse_reconstruction
count_equationcount_equationpartial source derived modelcount_equation
archive_shapearchive_shapepartial source derived modelarchive_shape
readme_priorityreadme_prioritypartial source derived modelreadme_priority
stats_projectionstats_projectionpartial source derived modelstats_projection

Parts

Model text

descriptant

Descriptant

count reads byte lines, trims CR/LF, counts nonempty data runs as sentences, ranges as fused with inclusive under_ranges, dotted ids as empty, other ids as words; final tokens=checked_sub(words+fused,under_ranges). read streams three-component archive paths, accepts UD_ dirs, prefers README.md, rejects code mismatch/duplicate split/no conllu. check_stats compares sentences/tokens/words/fused for train/dev/test/total, requires total, ignores empty nodes.

Epoch 2026-10-31

Prospective source reading identified conditional input alignment, information loss and failure order before tests. Existing production code is retained; added tests use actual helpers. Finite results update this source-bound model, not all parser/corpus semantics.

No executable percentage surrogate has a justified observation metric for these categorical/effectful APIs. Future profiles require metric, domain and real-reference evidence at caps 1/2/5/10%; no higher cap. Syntax is partial lexical Rust projection without macro expansion or semantic resolution.

approximant

Forward approximant

count reads byte lines, trims CR/LF, counts nonempty data runs as sentences, ranges as fused with inclusive under_ranges, dotted ids as empty, other ids as words; final tokens=checked_sub(words+fused,under_ranges). read streams three-component archive paths, accepts UD_ dirs, prefers README.md, rejects code mismatch/duplicate split/no conllu. check_stats compares sentences/tokens/words/fused for train/dev/test/total, requires total, ignores empty nodes.

Composition

Child fragments model one narrow helper each; their correctness alone does not establish orchestration.

The containing source wires this scoped relation to its callers. Treeagree proposal→gate→commit and treebanks parse→match→collect→render are actual joins; parsecmp is an independent diagnostic path. The external group model distinguishes these tags.

catalog

Typed models for treebanks-release

Subject: source SHA-256 1289179eb56289fb511ddca068d7230a21e21abd3d9e1b3e0daf5160de29fb82; manifest supplies exact source/byte scope. Domain: admitted states in forward model, nonoverflow arithmetic and successful allocations. Observation: one terminating invocation, except explicitly described file trace. Source-derived partial relations; named finite tests constrain selected cases only. Each entry holds arguments and environment fixed except its stated intervention.

behavior_complement

Reversed/nonnumeric ranges reject and range excess rejects at final checked subtraction; no disk extraction occurs. check_stats cannot reject disagreement solely in empty-node counts.

Operator: inner exclusion on admitted domain. Evidence: source branch derivation plus tests.md; unexercised branches remain hypotheses. Oracle: evaluate the scoped actual helper on admissible fixtures and compare this observation. No universal proof.

reverse_reconstruction

Counts admit arbitrary token text, word ids and distributions across sentences respecting totals; stats omission of words means tokens default. Stream/archive bytes are unrecoverable from totals and file inventory.

Operator: compatible antecedent relation, retaining ambiguity. Evidence: source branch derivation plus tests.md; unexercised branches remain hypotheses. Oracle: evaluate the scoped actual helper on admissible fixtures and compare this observation. No universal proof.

count_equation

tokens=words+fused-sum(b-a+1), sentences count data-containing runs plus EOF; comment-only blocks contribute zero.

Operator: specialized observation relation under the stated fixed inputs. Evidence: source branch derivation plus tests.md; unexercised branches remain hypotheses. Oracle: evaluate the scoped actual helper on admissible fixtures and compare this observation. No universal proof.

archive_shape

Only regular files with exactly three normalized path components and second UD_ prefix enter map; root is first eligible entry, not enforced globally.

Operator: specialized observation relation under the stated fixed inputs. Evidence: source branch derivation plus tests.md; unexercised branches remain hypotheses. Oracle: evaluate the scoped actual helper on admissible fixtures and compare this observation. No universal proof.

readme_priority

README.md always overrides; txt/plain only chosen when none yet, making fallback archive order observable.

Operator: specialized observation relation under the stated fixed inputs. Evidence: source branch derivation plus tests.md; unexercised branches remain hypotheses. Oracle: evaluate the scoped actual helper on admissible fixtures and compare this observation. No universal proof.

stats_projection

absent split defaults zero, absent total errors immediately, absent words defaults tokens, empty is never compared.

Operator: specialized observation relation under the stated fixed inputs. Evidence: source branch derivation plus tests.md; unexercised branches remain hypotheses. Oracle: evaluate the scoped actual helper on admissible fixtures and compare this observation. No universal proof.

tests

Bounded evidence — 2026-10-31

Source tools/treebanks/src/release.rs at SHA-256 1289179eb56289fb511ddca068d7230a21e21abd3d9e1b3e0daf5160de29fb82. Selected actual-source tests in treebanks:

These names passed twice in debug and twice in release; the complete treebank/comparison slice has 25 target-qualified names and identical sorted outcomes in all four runs. Ten compiled behavior mutations (one per owned source) failed named runtime assertions; exact original/restored SHA-256 equality and positive reruns were checked. Zero assertion-only mutants, zero surviving exploratory mutants, zero production fixes. Fresh raw logs, numeric exits, commands and mutation hashes are external in the wave33 trees receipt set.

Scope and gaps

Archive read helper and real release build are unexecuted; synthetic count/stat checks cover projection, not archive behavior. No corpus, network, downloads, annotation model, live teacher, full release build or site execution. The treebanks join is entirely in memory and parsecmp uses a tiny uniquely named temporary directory. Treeagree Registry::load uses the embedded UD registry. Tests are finite CPU observations, not universal semantic proof, title-match quality estimates or corpus accuracy.

invariant-and-cost

Invariant and cost

O(archive bytes plus file/dir sorting), count uses O(max line bytes) memory; read retains README/stats/file lists and three Counts per treebank. u64 additions/range width can overflow outside bounded fixtures; checked final subtraction alone is not global arithmetic safety.

Reversed/nonnumeric ranges reject and range excess rejects at final checked subtraction; no disk extraction occurs. check_stats cannot reject disagreement solely in empty-node counts.

The complement and specialized catalog constrain preserved coordinates and effect boundaries. Empty/malformed domains are only guaranteed where explicitly admitted. No whole-program cost bound follows from a helper bound.

This page in Markdown → https://md.groupants.elamur.ai/free/en/mova/tools/treebanks/src/release.rs.groupant/