treebanks-readme-citation-year
The groupant beside tools/treebanks/src/readme.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 | model.md |
| ast | partial | ../syntax.json |
| composition | partial | Composition |
| cost | partial | invariant-and-cost |
| descriptant | present | descriptant |
| invariant | partial | invariant-and-cost |
| tests | bounded checks | 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 |
window_boundary | window_boundary | partial source derived model | window_boundary |
suffix_projection | suffix_projection | partial source derived model | suffix_projection |
leading_digit | leading_digit | partial source derived model | leading_digit |
unicode_domain | unicode_domain | partial source derived model | unicode_domain |
Model text
descriptant
Descriptant
Read initial ASCII digits, require exactly four, at most one suffix character and all suffix chars ASCII lowercase; parse u32 and retain 1950<=y<=2035.
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
Read initial ASCII digits, require exactly four, at most one suffix character and all suffix chars ASCII lowercase; parse u32 and retain 1950<=y<=2035.
Composition
This fragment is the exact byte-scoped helper identified in the manifest; its relation is restricted to the operations above.
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-readme-citation-year
Subject: source SHA-256 c5a5a281432502fb19e16e2351cd5876f307fe244a19a15076495c6ad84213d5; 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
Uppercase suffix, multiple suffix chars, five digits, earlier/later years produce None.
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
Some(y) admits y decimal or y followed by any single lowercase ASCII letter; year suffix is lost.
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.
window_boundary
Inclusive 1950 and 2035 distinguish publication heuristic from unrestricted date parser.
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.
suffix_projection
2019a and 2019z map to same year as 2019, preserving ambiguity.
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.
leading_digit
Parsing requires digits at start; surrounding punctuation must be removed by has_year tokenization first.
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.
unicode_domain
Fullwidth digits and non-ASCII suffix letters reject; four-digit restriction makes u32 parse bounded.
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
Scoped evidence
Parent native slice and exact names are in ../tests.md.
Only named finite assertions cover selected inputs; other branches and invalid-domain behavior remain source-derived.
This fragment has no independent full-coverage claim. Its byte range and source hash bind the source-derived relation; parent test success is evidence only where that helper is actually reached.
invariant-and-cost
Invariant and cost
O(input bytes), small digit String allocation; integer parsing cannot overflow after four digits.
Uppercase suffix, multiple suffix chars, five digits, earlier/later years produce None.
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/readme.rs.groupant/citation-year.groupant/