Elamur GroupantsโŒ•
โ˜ฐ

prag-vnconv

The groupant beside prag/src/vnconv.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
approximantpartial source modelforward
astpartialsyntax.json
compositionpartial source modelcomposition
costpartial source modelcost
descriptantpartial source modelepoch-memory
invariantpartial source modelinvariant
testspartial source modelchecks

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
prag-vnconv-behavior-complementbehavior_complementpartial source modelbehavior-complement
prag-vnconv-reverse-reconstructionreverse_reconstructionpartial source modelreverse-reconstruction
prag-vnconv-specializationdocument_boundarypartial source modelspecialization

Parts

Model text

model

prag-vnconv

forward

For ordered supplied documents D, V(D)=render(fold append_verbnet over D). A directory wrapper sorts XML filenames, accumulates raw UTF-8 checksum, and invokes exactly these functions. WordNet nominal rows N(index,noun,verb) project first eligible derivational senses. convert routes VerbNet to out and PropBank/NomBank to test; nominals writes permissive rows to out. Only the pure supplied-input paths are executed here.

invariant

Class parent indices refer to the active per-document stack; no stack or partial frame crosses documents. Class rows precede their own frames. External license declarations and checksum provenance are preserved text, not independently certified provenance. File writes are sequential, not transactional.

cost

Let B be total supplied bytes, E events, R emitted row bytes, and W WordNet tokens. XML scanning O(B), materialized events O(B), retained classes and rows O(B+R); repeated string joins may copy intermediate restriction strings. WordNet uses ordered maps O(W log S) plus candidate scans and frame sorting. External IO is additional and unmeasured.

behavior-complement

Universe U consists of supplied input/candidate row tuples with representable counts. The partial complement includes pairs (D,y) where y has a child parent from a previous document, a frame before its class row, or a nominal from a first non-event sense. These are concrete mismatches to the projected relation; unrestricted XML validity and external write traces remain unknown. Revision: this source hash. Observation: pure supplied-input outputs. This is a partial source-derived exclusion model with finite witness evidence, not a universal proof.

reverse-reconstruction

V^-1(y)={D:V(D)=y} and N^-1(y)={(i,n,v):N(i,n,v)=y}. Preserve all candidate documents, intermediate events and lexical maps satisfying the projection. Comments, ignored fields, unused senses, whitespace and alternative entity spellings create nonunique fibers. The FNV accumulator cannot reconstruct document boundaries. The target is the full compatible fiber under forward and its stated domain, without unique recovery or an implemented complete solver.

specialization

Source-boundary intervention: append an unfinished class/SYNTAX document followed by a clean document. The second class has parent '-' and only its own syntax; class accumulation persists, parser state does not.

composition

Children share the exact source and intermediate event/word identities. XML feeds the same class fold used by production; restriction expressions route through the active target. WordNet maps and index offsets must agree before selection and word-scoped frames. Reverse composition retains those intermediates jointly, not independently chosen marginals. Overlapping costs are counted once.

checks

Seven vnconv::wave15_models tests exercise tiny original in-memory strings. Named old-code Unicode panic witness, compiled semantic-buffer mutation, exact restoration, twice debug and twice release with identical normalized outcomes; syntax generated twice. See root receipts.

epoch-memory

2026-10-30: prospective review predicted unchanged valid XML/WordNet rows and no speed gain. A single checked range adds O(1) validation to pointer parsing. Public verbnet_xml and private nominal_rows expose existing production algorithms with no duplicate parser. Old pointer slice failed at byte 2 of a euro sign. Positive fixtures preserve quoted delimiters, literal escape behavior, nesting, source reset, first-sense semantics and index order. Partial syntax and source hashes identify this epoch, not semantic truth.

limitations

This is a small tag reader, not general XML. No corpus files, live parser/teacher/GPU, converter jobs or filesystem writes executed by tests. PropBank/full NomBank conversion, external error paths and attribution truth remain unexecuted. Malformed huge counts, XML structural validation, universal Unicode linguistic handling and full lexicon correctness remain outside the finite domain. No speed, error-cap or full-system proof claim.

receipts

Wave15 conversion evidence

Seven named vnconv::wave15_models tests pass twice debug and twice release with identical normalized identities/results. Original tiny supplied-input strings only. The old source failed malformed_unicode_wordnet_pointer_does_not_panic at a UTF-8 boundary. A compiled production mutation replacing adjacent semantic deduplication with sem.clear failed verbnet_nested_restrictions_and_row_order; production bytes restored exactly before the four positive runs.

Two syntax projections match byte for byte. Two complete-registry structural reports match byte for byte; changed-source registration passes using an external temporary registry, without editing shared parents. An initial leaf-only registry report rejected unrelated sidecars because the inventory scans the whole repository; the complete scaffold resolves ownership. No production changes arose from that harness correction.

SHA-256 receipts
Limits

Finite observations and source-bound partial syntax, not a general XML parser proof. No actual corpus files, conversion jobs, live parser, teacher, GPU or external writes. PropBank/full NomBank and filesystem branches remain unexecuted. Seven nested fragments describe the supported joins and gaps. No optimization, throughput or error-cap claim.

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