cycle-main-changes
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
| component | label | where |
|---|---|---|
| approximant | partial | approximant |
| ast | partial | ../syntax.json |
| cost | partial | invariant-and-cost |
| descriptant | present | descriptant |
| invariant | partial | invariant-and-cost |
| tests | bounded or representation | 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 |
coordinate_filter | coordinate_filter | partial source derived model | coordinate_filter |
ranking_ties | ranking_ties | partial source derived model | ranking_ties |
rate_zero | rate_zero | partial source derived model | rate_zero |
top_projection | top_projection | partial source derived model | top_projection |
Model text
descriptant
cycle-main-changes
Epoch 2026-10-31
Prospective inspection identified this relation before additions: Map id to last block's ordinary-word form/UPOS/head/relation; intersect final ids with draft, skip unequal form arrays, count changes, rank descending count then lexical, truncate examples/top.
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
Map id to last block's ordinary-word form/UPOS/head/relation; intersect final ids with draft, skip unequal form arrays, count changes, rank descending count then lexical, truncate examples/top.
Composition
This fragment isolates the stated helper relation; parent composition retains surrounding effects and failures.
catalog
Typed observations: cycle-main-changes
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
Token mismatch contributes skipped but not words/counts. Final-only ids contribute neither compared nor skipped.
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
Same report admits arbitrary unchanged features, unshared ids, mismatched sentences and suppressed categories. Exact original trees not recoverable.
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.
coordinate_filter
Rows containing '-' or '.' in id omitted; projected heads remain strings, so numeric-equivalent text can differ.
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.
ranking_ties
Equal category counts sorted lexically; samples at most four distinct forms in sentence-map order.
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.
rate_zero
Zero matched words uses denominator one, yielding zero finite percentages. This does not imply parsing accuracy.
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.
top_projection
top=0 still prints summary/headings but no category rows. Counts are independent of top truncation.
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::changes_counts_moves exercises relation/UPOS changes and identity; other shapes source-derived.
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
Head and relation counted separately; category includes either. Percent denominator max(words,1), so zero produces zero.
O(bytes+W+K log K), maps O(S log S), O(W+K) state.
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/changes.groupant/