Elamur Groupants⌕
☰

cycle-main-parser-input

The groupant beside tools/cycle/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
astpartial../syntax.json
costpartialinvariant-and-cost
descriptantpresentdescriptant
invariantpartialinvariant-and-cost
testsbounded or representationtests

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
sentinel_flushsentinel_flushpartial source derived modelsentinel_flush
row_filterrow_filterpartial source derived modelrow_filter
effect_ordereffect_orderpartial source derived modeleffect_order
cardinality_onlycardinality_onlypartial source derived modelcardinality_only

Model text

descriptant

cycle-main-parser-input

Epoch 2026-10-31

Prospective inspection identified this relation before additions: Create in/out/log, collect sent_ids and ten-column ordinary-row forms, flush nonempty groups on blank line plus sentinel, check equal count, write ids then tokens.

The production implementation is unchanged; only selected inline tests are appended. Source-bound syntax is generated twice and compared. Native checks exercise bounded helpers; entry orchestration, teacher calls, models and corpora remain source-derived. Partial syntax is not semantic proof. Preserve failure prefixes and ambiguity when refining this model.

approximant

Forward relation

Create in/out/log, collect sent_ids and ten-column ordinary-row forms, flush nonempty groups on blank line plus sentinel, check equal count, write ids then tokens.

Composition

This fragment isolates the stated helper relation; parent composition retains surrounding effects and failures.

catalog

Typed observations: cycle-main-parser-input

Subject: tools/cycle/src/main.rs, SHA-256 c901ffdda1a67fa69ed553c5d0c8e7e83d1aa0c23ce8a7bc74d53f30e5c5b108. Domain: bounded source inputs, declared filesystem/environment state and normal allocations. Each view is a partial source-derived relation, not a universal proof. Observation is one helper call or the explicitly described trace. Checks are in tests.md; unexecuted effects remain gaps.

behavior_complement

Count mismatch cannot return Ok or write new ids/tokens. Preexisting files are not deleted.

Scope: the bound source interval and stated assumptions. Evidence: source inspection plus the checks explicitly named in tests.md; no finite check establishes all inputs.

reverse_reconstruction

ids/tokens admit arbitrary omitted comments, lemmas/features/heads and excluded rows. Joining forms with spaces loses embedded whitespace distinctions.

Scope: the bound source interval and stated assumptions. Evidence: source inspection plus the checks explicitly named in tests.md; no finite check establishes all inputs.

sentinel_flush

Trailing nonempty group flushes without final blank line; repeated blank lines do not add empty sentences.

Scope: the bound source interval and stated assumptions. Evidence: source inspection plus the checks explicitly named in tests.md; no finite check establishes all inputs.

row_filter

Exactly ten columns and id lacking '-' or '.' suffice; numeric positivity is not checked.

Scope: the bound source interval and stated assumptions. Evidence: source inspection plus the checks explicitly named in tests.md; no finite check establishes all inputs.

effect_order

Three mkdir operations precede parsing; ids write precedes tokens write, so failure can expose partial pair.

Scope: the bound source interval and stated assumptions. Evidence: source inspection plus the checks explicitly named in tests.md; no finite check establishes all inputs.

cardinality_only

Matching ids and groups count does not establish each id occurs before corresponding group; malformed metadata ordering can pass.

Scope: the bound source interval and stated assumptions. Evidence: source inspection plus the checks explicitly named in tests.md; no finite check establishes all inputs.

tests

Checks and limits

tests::parser_input_matches_ids covers two groups and mismatch; compiled cardinality mutant should fail.

Exact native outcomes and command metadata are retained in the external wave33 cycle receipt bundle. Selected names run twice in debug and release; syntax is independently regenerated twice. Compiled mutations and source restoration receipts distinguish behavior changes from assertion-only controls. These claims are finalized in evidence.md. No live teacher, real model/corpus, benchmark CLI or lesson-learning CLI is run.

invariant-and-cost

Invariant and cost

Bad count returns error after dirs exist and before two writes. Multiword/range/empty-node ids omitted.

O(input bytes), O(ids+tokens) allocations and output I/O.

No executable percentage surrogate is claimed: effects, categorical acceptance and report text have no justified approximate metric here. Future profiles require a useful metric, zero case, reference and evidence at caps 1/2/5/10%.

This page in Markdown → https://md.groupants.elamur.ai/free/en/mova/tools/cycle/src/main.rs.groupant/parser-input.groupant/