Elamur GroupantsโŒ•
โ˜ฐ

text-corpus-tools

The groupant beside models/text-corpus-tools.groupant 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
approximantpartialforward
astnot materialized
compositionpartialcomposition
costsymbolic source derivedcost
descriptantpresentdescriptant
invariantpartialinvariant
testssee source local evidencechecks

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
text-coordinate-transportrepresentation_transportpartial source derived modeltext-coordinate-transport
lossy-artifact-joininformation_loss_projectionpartial source derived modellossy-artifact-join
effect-prefix-orderfailure_trace_partitionpartial source derived modeleffect-prefix-order
determinism-domainordering_constraintpartial source derived modeldeterminism-domain

Model text

descriptant

text-corpus-tools: wave33

Actual joins are within each tool; no cross-tool Rust caller is invented. A possible explicit artifact adapter maps Gutenberg fetched pg-id text into school book_paragraphs -> sentences, losing headers/underscores/short fragments. OCR output is Unicode line text and is not directly a school address TSV. Wiktionary page raw wikitext can be supplied to count/emit helpers only with edition/title/namespace context; these tools do not call one another. Tests exercise actual local helper joins only; cross-tool adapters remain source-derived.

This source-bound partial group organizes existing Mova code. Native evidence and excluded effects are recorded in source sidecars and the root wave33 report. Registration is not a universal proof or whole-system runtime claim.

Epoch 2026-11-04: wikt-extract

The group gains three leaves for tools/wikt-extract (wikitext rendering, English entries, the streamed build and module packaging). Its real in-crate join is parts -> run(stream_rows -> pages -> entry::entries -> wikitext::render) -> row -> sorted layer -> module.json; like the other tools it calls no sibling tool (it repeats wikt-page's index-to-stream naming rule). Its output, the wiktionary-en add-on module, is CC BY-SA data outside the repository. Observed on the full English dump: identical layer bytes for 6 and 3 threads; 2 702 of 1 491 059 entries carry template gaps.

model

text-corpus-tools

forward

Tagged union of seven independent CLI relations: Gutenberg CSV selection/fetch; Kaggle CSV feature/rule/group prediction; OCR normalization/correction/alignment/masking; school text cleanup/sentence/address export; Wiktionary count, idiom emission and exact-page lookup. Real in-file joins include csv_rows -> select/death_years gates, feats -> learn/predict_list, Channel -> Corrector -> token, letter_stream -> align, usfm_verses -> verse_sentences, EnAgg.page -> en_line/flush, labels/regions/plain -> emit, and read_stream -> find_page.

invariant

Tagged routing prevents treating similarly named text artifacts as interchangeable. UTF-8 bytes, chars, row indices, passenger ids and verse coordinates are separate spaces. Repeated pure fixtures match across profiles. Lossy normalizers and aggregated counts do not uniquely recover input. File/output effects are sequential and lack rollback.

cost

Add costs only along reached call chains, not across independent tools. Character/CSV scans generally O(bytes); conservative repeated wiki/cleanup scans O(bytes^2); OCR DP O((n+1)(m+1)) memory/time, word alignment O((N+1)(M+1)*(L+1)^2); Kaggle 36 candidates/row, at most twelve retained rules and thirteen candidate-building iterations and dense neighbor dedup O(N^3) per reconstruction; indexed pages decode streams repeatedly per title. Network/process/corpus throughput unmeasured.

composition

Actual joins are within each tool; no cross-tool Rust caller is invented. A possible explicit artifact adapter maps Gutenberg fetched pg-id text into school book_paragraphs -> sentences, losing headers/underscores/short fragments. OCR output is Unicode line text and is not directly a school address TSV. Wiktionary page raw wikitext can be supplied to count/emit helpers only with edition/title/namespace context; these tools do not call one another. Tests exercise actual local helper joins only; cross-tool adapters remain source-derived.

domain

Bounded synthetic UTF-8 text, byte/char slices, passenger rows and in-memory XML/wikitext; finite positive OCR score parameters, bounded arithmetic and allocations. CLI argument/filesystem/network/model/corpus environments are modeled conditionally and not executed.

limitations

CPU only. Existing nine tests and seven new exact tests inspected. No downloads, full CLI effects, model loads, live teacher or corpus use. Original production prefixes unchanged; only inline tests. No percent approximation metric/guarantee established.

checks

catalog

behavior-complement

For each tagged relation, excluded effects follow its gates: no later matching Gutenberg group, no transitive Kaggle group edge, no short OCR word change, no cut-only two-word school sentence, no translation-subpage En section, no unlabeled single-word idiom row, no mismatched exact XML page. These are scoped source-derived exclusions; independent tool complements are not unioned into an invented pipeline.

reverse-reconstruction

Recover compatible antecedents per tag: catalog rows satisfying first-match/date predicates; passenger feature/group-label fibers; pointed texts sharing corrected skeleton; markup texts sharing emitted sentence; page multisets sharing counts; wikitext sharing gloss; XML sharing Page fields. Preserve multiple possibilities and hidden rejected inputs; no unique corpus reconstruction.

text-coordinate-transport

School verse marks are UTF-8 clean-string byte offsets; OCR edit alignments use char indices; Kaggle uses passenger u32 ids; Wiktionary streams use compressed byte offsets. An adapter must carry the coordinate tag and cannot reuse equal numeric values across spaces.

lossy-artifact-join

Potential Gutenberg text -> school book cleanup strips header/footer, first line behavior, underscores and short cut fragments; reverse is a preimage including lost text. Raw Wiktionary Page.text requires edition/title context to enter count/emit helpers and does not imply six-column idiom TSV equivalence.

effect-prefix-order

Each effectful command admits successful prefixes before later failure: pool before verses/counts, earlier Gutenberg rows before write failure, earlier requested pages before missing/parse failure. Pure helper successes do not establish atomic publication or remote availability.

determinism-domain

BTreeMap rule conditions and explicit lexical tie keys stabilize selected paths; En reports sort ties by key, while Ukrainian morph/emptydef equal-count rows lack tie keys. Fixed synthetic helper outcomes cannot certify those unexecuted report orders or external subprocess schedules.

This page in Markdown โ†’ https://md.groupants.elamur.ai/free/en/mova/models/text-corpus-tools.groupant/