Elamur GroupantsโŒ•
โ˜ฐ

gutenberg-text-command

The groupant beside tools/gutenberg/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

componentlabelwhere
approximantpartialapproximant
astpartialsyntax.json
compositionpartialcomposition
costsymbolic source derivedinvariant-and-cost
descriptantpresentdescriptant
invariantpartialinvariant-and-cost
testsexecuted bounded 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
gutenberg-text-command-behavior_complementbehavior_complementpartial source derived modelbehavior_complement
gutenberg-text-command-reverse_reconstructionreverse_reconstructionpartial source derived modelreverse_reconstruction
gutenberg-text-command-ordered_group_gateordered_group_gatepartial source derived modelordered_group_gate
gutenberg-text-command-death_cutoff_partitiondeath_cutoff_partitionpartial source derived modeldeath_cutoff_partition
gutenberg-text-command-fetch_failure_streakfetch_failure_streakpartial source derived modelfetch_failure_streak
gutenberg-text-command-creation_failure_boundarycreation_failure_boundarypartial source derived modelcreation_failure_boundary

Parts

Model text

descriptant

gutenberg-text-command

Epoch 2026-10-31

Full source read preceded changes. Prospective model predicted branch/order, resource and information-loss behavior. Tests exercise actual helpers on bounded synthetic inputs; command workflows remain unexecuted. Production source prefix is preserved; only inline tests added.

csv_rows feeds select rows; validate requested groups, collect existing ids, require header columns, create JSONL, then first group match -> disaster war rejection -> all-person death gate -> existing-id rejection -> emit. fetch is independent list -> existing-file skip -> ordered three URL attempts -> rename or append missing; ten consecutive unavailable books abort.

Executable percentage approximation is unsupported: categorical parsing/effects have no useful certified metric here. Partial syntax excludes macro expansion and name resolution.

approximant

Forward relation

csv_rows feeds select rows; validate requested groups, collect existing ids, require header columns, create JSONL, then first group match -> disaster war rejection -> all-person death gate -> existing-id rejection -> emit. fetch is independent list -> existing-file skip -> ordered three URL attempts -> rename or append missing; ten consecutive unavailable books abort.

Domain

UTF-8 catalogs; exact header names and row width; u32 dates; bounded counters and filesystem availability. Malformed CSV is tolerated. Fetch paths/id safety and live HTTP remain unexecuted.

composition

Local composition

The scoped csv-dates fragment models its declared source interval. Parent relation: csv_rows feeds select rows; validate requested groups, collect existing ids, require header columns, create JSONL, then first group match -> disaster war rejection -> all-person death gate -> existing-id rejection -> emit. fetch is independent list -> existing-file skip -> ordered three URL attempts -> rename or append missing; ten consecutive unavailable books abort.

Shared representation/invariant: Selection keeps source row order and assigns at most one group per row. Header errors precede output creation, later write failures need not roll back. PD is an author-date heuristic, not legal certification. Existing skip entries match digit strings after the last pg occurrence. Child costs are included in parent costs, not added a second time. Other command paths are tagged alternatives; the child alone does not establish whole-file behavior.

models

Typed source models

All models are partial source-derived relations at this manifest snapshot. Scope is one call/trace under the stated domain; no universal semantic proof.

behavior_complement

Within admitted selection traces no non-English/non-Text row, later matching group or dated author above cutoff reaches normal PD output. not_pd selects the opposite date predicate. Fetch success excludes missing-log append for that attempt.

Domain: UTF-8 catalogs; exact header names and row width; u32 dates; bounded counters and filesystem availability. Malformed CSV is tolerated. Fetch paths/id safety and live HTTP remain unexecuted. Observation: Selection keeps source row order and assigns at most one group per row. Header errors precede output creation, later write failures need not roll back. PD is an author-date heuristic, not legal certification. Existing skip entries match digit strings after the last pg occurrence. Assumptions: bounded resources and source branch semantics. Oracle: selected actual-helper tests in tests.md constrain only their finite fixtures; remaining branches are source-derived.

reverse_reconstruction

A JSONL row permits any catalog with the matching selected fields and first-match/PD/skip predicates; unselected rows and prior skip entries are ambiguous. Missing log only identifies unavailable attempt, not remote absence forever.

Domain: UTF-8 catalogs; exact header names and row width; u32 dates; bounded counters and filesystem availability. Malformed CSV is tolerated. Fetch paths/id safety and live HTTP remain unexecuted. Observation: Selection keeps source row order and assigns at most one group per row. Header errors precede output creation, later write failures need not roll back. PD is an author-date heuristic, not legal certification. Existing skip entries match digit strings after the last pg occurrence. Assumptions: bounded resources and source branch semantics. Oracle: selected actual-helper tests in tests.md constrain only their finite fixtures; remaining branches are source-derived.

ordered_group_gate

gi=min{i: keyword(groups[i]) occurs}; disaster war exclusion applies to gi only; no fallback to a later group.

Domain: UTF-8 catalogs; exact header names and row width; u32 dates; bounded counters and filesystem availability. Malformed CSV is tolerated. Fetch paths/id safety and live HTTP remain unexecuted. Observation: Selection keeps source row order and assigns at most one group per row. Header errors precede output creation, later write failures need not roll back. PD is an author-date heuristic, not legal certification. Existing skip entries match digit strings after the last pg occurrence. Assumptions: bounded resources and source branch semantics. Oracle: selected actual-helper tests in tests.md constrain only their finite fixtures; remaining branches are source-derived.

death_cutoff_partition

P=Some(years) and all y<=cutoff. Admit iff P != not_pd; empty/undated becomes not-P; BCE contributes0.

Domain: UTF-8 catalogs; exact header names and row width; u32 dates; bounded counters and filesystem availability. Malformed CSV is tolerated. Fetch paths/id safety and live HTTP remain unexecuted. Observation: Selection keeps source row order and assigns at most one group per row. Header errors precede output creation, later write failures need not roll back. PD is an author-date heuristic, not legal certification. Existing skip entries match digit strings after the last pg occurrence. Assumptions: bounded resources and source branch semantics. Oracle: selected actual-helper tests in tests.md constrain only their finite fixtures; remaining branches are source-derived.

fetch_failure_streak

Success resets fails=0; all3 unsuccessful status codes increments; fails>=10 errors before final pause. Spawn error propagates immediately.

Domain: UTF-8 catalogs; exact header names and row width; u32 dates; bounded counters and filesystem availability. Malformed CSV is tolerated. Fetch paths/id safety and live HTTP remain unexecuted. Observation: Selection keeps source row order and assigns at most one group per row. Header errors precede output creation, later write failures need not roll back. PD is an author-date heuristic, not legal certification. Existing skip entries match digit strings after the last pg occurrence. Assumptions: bounded resources and source branch semantics. Oracle: selected actual-helper tests in tests.md constrain only their finite fixtures; remaining branches are source-derived.

creation_failure_boundary

Unknown group, skip scan, catalog/header failure precede create(out); rows written before later I/O failure can remain. No transactional promise.

Domain: UTF-8 catalogs; exact header names and row width; u32 dates; bounded counters and filesystem availability. Malformed CSV is tolerated. Fetch paths/id safety and live HTTP remain unexecuted. Observation: Selection keeps source row order and assigns at most one group per row. Header errors precede output creation, later write failures need not roll back. PD is an author-date heuristic, not legal certification. Existing skip entries match digit strings after the last pg occurrence. Assumptions: bounded resources and source branch semantics. Oracle: selected actual-helper tests in tests.md constrain only their finite fixtures; remaining branches are source-derived.

tests

Native evidence โ€” 2026-10-31

Package/bin: gutenberg. Exact selected names:

All 2 selected checks passed twice in debug and twice in release, one exact name per invocation with one test thread. Numeric exits are zero; sorted named outcomes match across all four runs. Added test blocks were formatted before these receipts; original source prefix (including earlier tests) remains byte-identical.

One compiled production mutant changed Some(y) if y > 0 to Some(y) if y >= 0. The new wave33 test compiled and failed its runtime assertion (exit 101). Exact original/restored SHA-256 equality and a restored positive exact test (exit 0) were verified. No assertion-only mutant is counted; existing negative assertions remain ordinary tests. No surviving compiled mutant is omitted.

The external wave33 text receipts retain native-commands.json, verified-outcomes.json, mutation-report.json, raw logs/statuses, paired syntax projections and prospective.md. No private filesystem path is part of this public model.

Scope: actual helpers on synthetic in-memory data only. UTF-8 catalogs; exact header names and row width; u32 dates; bounded counters and filesystem availability. Malformed CSV is tolerated. Fetch paths/id safety and live HTTP remain unexecuted. The scoped fragment reuses these tests where its helper is reached; other declared paths remain source-derived. Macro expansion, full command/effect execution, corpus accuracy and universal correctness are not established.

invariant-and-cost

Invariant and cost

Invariant

Selection keeps source row order and assigns at most one group per row. Header errors precede output creation, later write failures need not roll back. PD is an author-date heuristic, not legal certification. Existing skip entries match digit strings after the last pg occurrence.

Cost

For B input bytes, R rows, G groups, K keywords and S skip entries: O(B+S log S+RGK*Brow) comparisons, O(B+S) memory plus output; fetch at most3 external attempts per selected book with unbounded process/network latency and pause.

Arithmetic and allocation premises are conditional. No timing or percentage surrogate claimed.

This page in Markdown โ†’ https://md.groupants.elamur.ai/free/en/mova/tools/gutenberg/src/main.rs.groupant/