gparse-eisner-backtrace
The groupant beside gparse/src/eisner.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 | symbolic source derived | invariant |
| descriptant | present | descriptant |
| invariant | partial | invariant |
| tests | partial 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 |
complete_split | complete_split | partial source derived model | complete_split |
edge_write | edge_write | partial source derived model | edge_write |
termination_domain | termination_domain | partial source derived model | termination_domain |
root_projection | root_projection | partial source derived model | root_projection |
Model text
descriptant
Source-bound description
Stack expands complete to incomplete spans and writes one parent for each dependent then strips root slot.
Epoch 2026-10-31
Prospective model was recorded before edits. Added tests use bounded synthetic fixtures; production algorithms unchanged. Coverage is partial, not proof. No trained corpus, live teacher or throughput experiment was executed.
approximant
Forward approximant
Stack expands complete to incomplete spans and writes one parent for each dependent then strips root slot.
Domain: valid source-specific dimensions and resources stated in invariant; no automatic production substitution. Numerical observations are finite checks, not an end-to-end relative bound. Executable Rust surrogate: unsupported gap; existing exact tests are not surrogates. Future metric-specific caps may be 1/2/5/10%, never above 10%.
invariant
Invariant and cost
s==t stops expansion; stack uses backpointer arrays from DP.
Cost
O(n) backtrace events/output after charts, O(n) explicit stack.
Allocation, finite arithmetic, platform dimensions and external failures are not universally certified.
models
Typed model catalog
behavior_complement
Backtrace never reads sc directly; its behavior is determined by chosen root and stored backpointers.
reverse_reconstruction
Heads alone cannot reconstruct scores or unused split choices.
complete_split
Complete-left pushes complete(s,r) and incomplete(r,t); complete-right pushes incomplete(s,r) and complete(r,t).
edge_write
Incomplete-left writes heads[s]=t, right writes heads[t]=s.
termination_domain
With valid chart splits produced by finite intermediate candidates, span sizes decrease until s==t. Nonfinite recurrences are outside this guarantee.
root_projection
heads[0] omitted from returned heads[1..]; heads[root]=0.
tests
Checks and limits
Selected parent checks relevant to this fragment (not exhaustive): eisner::tests::best_tree_with_one_root; eisner::wave30::empty_singleton_and_first_root_tie; decoder_accepts_no_words
Selected commands run twice debug and twice release; exact receipts and source-to-test mapping retained in wave30 gparse external run directory. Tests do not certify allocation failure, all NaN/overflow inputs, trained-model accuracy or corpus timing. Compiled mutants cover selected boundaries; per-source coverage is recorded in the external map, not presumed.
This page in Markdown โ https://md.groupants.elamur.ai/free/en/mova/gparse/src/eisner.rs.groupant/backtrace.groupant/