Elamur GroupantsโŒ•
โ˜ฐ

syntax-validation

The groupant beside models/syntax-validation.groupant 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
astnot materialized
compositionpartial source modelcomposition
costpartial source modelcost
descriptantpartial source modelepoch-memory
invariantpartial source modelinvariant
testsbounded executedchecks (evidence)

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
syntax-validation-excluded-gate-resultsbehavior_complementpartial source modelexcluded-gate-results
syntax-validation-compatible-recordsreverse_reconstructionpartial source modelcompatible-records
syntax-validation-minimum-unreachablefirst_error_projectionpartial source modelminimum-unreachable
syntax-validation-intersection-onlyboundary_non_equivalencepartial source modelintersection-only
syntax-validation-walk-budgetresource_fallbackpartial source modelwalk-budget
syntax-validation-local-oracle-jointest_observationpartial source modellocal-oracle-join
syntax-validation-phase-boundarypipeline_obligationpartial source modelphase-boundary
wave27-english-lexical-dictionary-flagssource_priority_transportpartial composition modelwave27-english-lexical-dictionary-flags
wave27-english-lexical-coordinate-transportrepresentation_transportpartial composition modelwave27-english-lexical-coordinate-transport
wave27-english-lexical-candidate-supportsupport_preconditionpartial composition modelwave27-english-lexical-candidate-support
wave27-english-lexical-annotation-projectionlossy_gate_boundarypartial composition modelwave27-english-lexical-annotation-projection
wave27-english-structure-head-coordinate-transportrepresentation_transportpartial composition modelwave27-english-structure-head-coordinate-transport
wave27-english-structure-annotation-branch-joinbranch_compositionpartial composition modelwave27-english-structure-annotation-branch-join
wave27-english-structure-model-wire-boundaryfailure_precedencepartial composition modelwave27-english-structure-model-wire-boundary
wave27-english-structure-observability-costcost_compositionpartial composition modelwave27-english-structure-observability-cost
wave27-annotation-orchestration-representation-transportrepresentation_transportpartial composition modelwave27-annotation-orchestration-representation-transport
wave27-annotation-orchestration-gate-orderfailure_precedencepartial composition modelwave27-annotation-orchestration-gate-order
wave27-annotation-orchestration-effect-boundaryeffect_boundarypartial composition modelwave27-annotation-orchestration-effect-boundary
wave27-annotation-orchestration-cost-joinresource_compositionpartial composition modelwave27-annotation-orchestration-cost-join
wave28-formula-syntax-table-transportrepresentation_transportpartial composition modelwave28-formula-syntax-table-transport
wave28-formula-syntax-marker-disciplinesubstream_boundarypartial composition modelwave28-formula-syntax-marker-discipline
wave28-formula-syntax-canonical-adaptersroundtrip_adapterpartial composition modelwave28-formula-syntax-canonical-adapters
wave28-formula-syntax-resource-guardsresource_boundarypartial composition modelwave28-formula-syntax-resource-guards

Model text

descriptant

syntax-validation

epoch-memory

Wave25, 2026-10-30. Current callers share the root-termination observation while retaining different implementations: annotation walk/BFS and conversion walk/color. Preserve the earlier transfer epoch as historical evidence; do not infer new timing from old hybrid measurements.

model

syntax-validation

forward

Tagged gate family retains each caller's ordered preflight and diagnostics. Annotation keeps original walks for n<=64 and a 4n walk budget before reverse-head BFS for larger inputs. Conversion keeps original walks for n<=64; larger inputs use functional-graph colors: root is completed (2), unseen nodes become active (1), a path reaching completed nodes is recolored 2, and revisiting active nodes reports the current ordered start. Earlier completed paths leave no active nodes, so the least nonterminating start is preserved, including tails. Reverse-head reachability is the shared mathematical observation, not a runtime BFS dependency of conversion. Local differential tests and restricted cross-gate joins remain separate evidence.

invariant

For each gate and admitted call, the complete Result is the baseline Result: same acceptance, first error kind, word index and text. Every head entering cycle detection is in range. A token reaches virtual root iff reversed-head reachability marks it; the reported failed token is the minimum unmarked token, which can be a tail entering a cycle. Annotation Count/Form/Head/Registry/Roots precedence and converter parse/range/root-label/root-count precedence remain distinct.

cost

Let n be token count after preflight. Both small branches use O(n^2) walk work with n<=64 and O(1) cycle-phase auxiliary storage. Large annotation calls use at most 4n walk steps then optional O(n) reversed adjacency/BFS. Large conversion calls use at most 2n head transitions and O(n) color storage, allocated on every n>64 cycle-phase entry; no reverse rows or queue. Conversion separately retains its heads Vec. Diagnostic strings add error-path allocations. Parsing, normalization and conversion edits have their own costs; no whole-module linearity claim follows.

composition

The production joins are parse/normalize -> annotation gate and selected conversion edits -> converter gate. There is no production call from one gate to the other. Independent harness joins share only a finite head vector with lawful token fields, matching root conventions and matching admitted local constraints; outputs are projected to acceptance or first root-unreachable token. Source-local baseline equality tests and this restricted cross-gate observation are different relations. Algorithm library ownership remains unchanged.

checks

["Annotation baseline checks and converter legacy/transfer-parent/coloring checks","Small and large thresholds, completed suffix, least failed start and preflight precedence","Independent common-domain gate joins and distinct boundary policies","Current source-local evidence; historical fd540 receipts kept separately"]

limitations

Claims concern the cycle phase after unchanged preflight. Annotation's walk/BFS policy and conversion's walk/color policy must match the merged sources. Arbitrary edit semantics, normalization, linguistic accuracy, I/O, panics and allocation failures remain outside normal-return guarantees. Current evidence is linked separately from the historical fd540 transfer epoch.

wave26-parser-and-graph-composition

CoNLL-U bytes -> Doc lexical scan -> per-sentence refresh -> selected conversion edits -> tree_gate is the actual representation/gate boundary. A parse success alone does not imply a tree: raw malformed heads can project to zero while the gate rejects them. On refresh error, prior sent/words remain together while caller raw edits remain. The permissive training reader resets multiword-range state at every blank separator. After gate preflight, successor[0]=0 and successor[i]=head[i] give acceptance iff every token has cycle_id[i]=cycle_id[0]; the first error is the least token outside that basin, including tails. This independent test adapter preserves one-based token coordinates and does not replace the production gate.

Refresh stages an O(R) row map before replacing both derived views. This trades transient storage for consistent failure behavior. Parsing cost is O(B) in input bytes on normal-return inputs.

wave27-english-lexical

Tag and ptag call dict/hash/gram; ptag uses TnT prior only unknown words. Morph's UD/AGID/rule priority interacts with lexgen src flags and record order: changing a/r/u alters preferred analyses. tok spacing bits are not exact whitespace; consumers cannot infer original byte offsets from detokenize. text order is 1-based while array positions and dictionary indexes are 0-based. udreg validates selected enum features, so upstream Feats::parse unknown-dropping cannot become a complete annotation gate. Existing conllu callers supply Sentence/Token to learning/generation.

wave27-english-structure

Heads use root0 and1-based word coordinates; Graph truncates heads to u16, while parser/UD use usize. Ud children returns0-based child indices. GNode lemma references global dictionary or local graph heap; Store fingerprint binds global IDs but not arbitrary target serde schema. annotate repairs tree whereas kbest/complete/explain/Model.encode do not; treating them as identical is invalid. Expert consumes conllu Sentence, not Graph directly; callers must preserve tags/features/relations when adapting. Construct callbacks must return enough dependent entries and valid renderable heads.

wave27-annotation-orchestration

ann.rs is an existing cross-group gate/type dependency, not duplicate ownership. main and batch share Outcome::add_patch_reply/finish; llm direct fixed+variable concatenation differs by two separating newlines from codex message-block join. hints advise only; repair precedes draft gates; optional post-gate FEATS replacement is not re-gated.

wave28-formula-syntax

Generated enum order must match canonical arrays. Stack reversal preserves expansion order. Printer relax adapters prevent unknown swallowing groups and aligned swallowing brackets; optional rbrack and trailing-row compensation preserve parser structure. Span quotient cannot validate original coordinates.

catalog

Typed transfer relations

Source-derived current relations; current evidence is linked separately from retained historical transfer receipts.

excluded-gate-results

Type: behavior_complement.

In U of tagged lawful calls and Result observations, the candidate inner complement excludes acceptance of a preflight-valid root-disconnected head component, reporting a later unrooted token when an earlier tail enters the same cycle, and a cycle diagnostic masking an earlier Count/Form/Head/Registry or converter root-label error. It also excludes claiming both APIs accept the empty vector: converter accepts it while annotation reports Roots(0). These exclusions describe the relation; negative fixtures only sample it.

compatible-records

Type: reverse_reconstruction.

For tagged result y, retain every record sequence, root/head vector, registry state and conversion history satisfying that gate's ordered relation. Cycle(k) constrains earlier eligible tokens to terminate and k not to terminate after preflight; it does not identify the cycle vertices or discarded fields. Successful gate observations forget lexical values and edit history. Cross-gate projection further merges different error vocabularies; no unique reconstruction is claimed.

minimum-unreachable

Type: first_error_projection.

The least root-unreachable token is the mathematical observation. Annotation may compute it from reversed-head BFS after its walk budget; conversion's ordered coloring reports the least nonterminating start directly. For heads [3,0,4,3], token 1 is the failed start although cycle members are 3 and 4. No queue order or cycle-member minimum substitutes for this observation.

intersection-only

Type: boundary_non_equivalence.

The mutual domain excludes empty input and self-heads: empty converter success differs from annotation Roots(0); a self-head is a converter cycle but annotation rejects Head first. Annotation count/form validation has no universal converter equivalent. The common-domain harness proves no replacement of one complete API by the other.

walk-budget

Type: resource_fallback.

Both callers retain original walks for n<=64. Large annotation calls spend at most 4n walk steps before optional reverse BFS. Large conversion calls allocate n+1 colors and follow each head at most twice; there is no work-budget fallback or BFS allocation. These policies preserve tagged Result semantics but differ in allocation behavior. Failed allocation remains outside normal-return guarantees.

local-oracle-join

Type: test_observation.

Each checks.rs calls its own real gate and retained baseline; the independent harness calls both real gates plus a root-reachability observation on compatible fixtures. Passing a finite oracle constrains exact outputs on those rows only. Tests sharing an included implementation are not independent evidence for all conversion and parsing semantics.

phase-boundary

Type: pipeline_obligation.

Annotation normalization and converter edit application must deliver the same validated head indexing assumed by their gate. Gate correctness alone does not prove the producer's normalization or action semantics. Reused root reachability is applied only after these local obligations; acquisition and other legacy operations keep explicit coverage gaps.

wave27-english-lexical-dictionary-flags

lexgen UD rows precede AGID; a/ar/r/b flags become dict UD/AGID/REV/BASE bits via build.rs. Morph UD max-count uses later tie while AGID uses first main match; preserving rows and flags is required.

wave27-english-lexical-coordinate-transport

gram Sym high bit distinguishes graph-local heap from frozen global dictionary. text detok and Morph tree heads use1-based token coordinates; dict record ids and arrays use0-based coordinates; blind interchange invalid.

wave27-english-lexical-candidate-support

TnT emits only seen positive candidate classes, PTagger masks unseen unless forced or known shortcut. Empty training supports empty tagging but nonempty unconstrained inference is not total; parents cannot assume length-preserving success on unsupported models.

wave27-english-lexical-annotation-projection

Feats parses known pairs to bits and counts unknowns separately; udreg sees only bits. Reconstructing original annotation or validating dropped pairs requires caller to preserve unknown count/raw source.

wave27-english-structure-head-coordinate-transport

Parser tree index i is token i+1; annotation heads stay usize; GNode head=(parser head as u16); Ud children maps head h to slot h-1. Validity requires heads<=n and graph n<=65535 for lossless coordinate transport.

wave27-english-structure-annotation-branch-join

repair is between parse and child features only in annotate. complete and kbest recompute child-derived UPOS/FEATS without that transformation; equal raw parser candidates need not imply equal final annotations.

wave27-english-structure-model-wire-boundary

Annotator save packs before directory/write/rename. Unpack gate order magic/size->version->enum sizes->dictionary->length->checksum->typed body. Accepted envelope does not certify caller-selected target type.

wave27-english-structure-observability-cost

Explain requests parser trace then independently Model.encode, so semantic presentation includes repeated inference and trace stack copies. Parent runtime is sum of real calls, not max child cost or assumed shared cache.

wave27-annotation-orchestration-representation-transport

Request chunks index State items and matching drafts; this unchecked alignment is needed before reply custom_id strings can map through main patch gates.

wave27-annotation-orchestration-gate-order

Model validation before queue effects, snapshot/partial validation before resume calls, and missing/broken/tree gates before accepted patch output. Later finish failures can leave earlier writes.

wave27-annotation-orchestration-effect-boundary

Fake tests exercise local subprocess/filesystem boundaries with temporary files, not live teachers. finish optional UDPipe/corpus/training paths are unexecuted.

wave27-annotation-orchestration-cost-join

Source byte and gate costs add to partial lookup P*R and external effects; compatibility USD zero for Codex is not subscription billing or zero compute.

wave28-formula-syntax-table-transport

Ordered build rows induce discriminants/arrays and lookup Entry joins parser dispatch.

wave28-formula-syntax-marker-discipline

End markers delimit parser substreams. Stream group_tokens/opt_tokens and macros collect_until explicitly restore End on their failure paths. Macro match_pattern literal matching consumes the next token before comparison and can consume End on mismatch; read_let can likewise consume an invalid End target. No universal scan-failure preservation law is claimed.

wave28-formula-syntax-canonical-adapters

relax, rbrack and row compensation preserve parsing boundaries.

wave28-formula-syntax-resource-guards

Depth and expansion thresholds are local; pre-expansion token check does not bound peak substituted vector.

evidence

Historical epoch through fd540 โ€” syntax-validation

The retained text below describes the transfer-integration revision contained in fd540f37badaad97b53d56ba81684bbbc2ca4b9b. Its original baseline 34811b38001b47df99fcba3e6a98967adccb4b72 and all measured counts, controls, hashes and timings remain historical. They do not validate later source bytes. Wave25 compares against fd540f37badaad97b53d56ba81684bbbc2ca4b9b; see ../mova.groupant/model.md#transfer-wave25. No old receipt is relabeled as coloring or lazy-index evidence.

Retained historical document

syntax-validation evidence

checks (evidence)

2026-10-30: 25 focused checks passed twice in debug and twice in release with identical normalized observations. Five annotation checks, 18 converter checks, two independent cross-gate observations. Each source-local enumeration compares 126,126 head vectors. Active-BFS reverse-edge controls and the root adapter control failed as intended and were restored.

See models/mova.groupant/model.md#transfer-evidence, transfer-benchmark.md and transfer-validation.md for the combined receipts. Source revisions are bound by this manifest and paired partial syntax. Finite checks do not establish universal equivalence, floating-point optimality, parser quality or whole-system speed.

Current wave25 checks

Conversion coloring passed 19 focused checks, and the two cross-gate observations passed, twice in debug and twice in release. The five unchanged annotation-local checks belong to their retained fd540 epoch and are not newly counted here. The compiled first-error mutant failed and was restored. All 126126 source-local head vectors, completed-path/shared-suffix and ordered cycle witnesses are retained. Current timing is in ../../en/src/convert.rs.groupant/model.md#wave25-performance; old BFS results above remain historical.

Wave26 retained checks

Conversion 19, CoNLL-U four, functional graph joins five and annotation joins two passed twice debug/release. The CoNLL-U regression tests fail the old source and pass the repaired source; two compiled repair mutants confirm the assertions. The graph harness exhausts 3,413 valid-root-label head maps plus representation/boundary fixtures. Its shifted-head adapter mutant fails. No corpus was used.

The in-place conversion candidate is rejected on measured regressions; current coloring and its sidecars stay at 5c1a2b9. See candidate timings and prospective model. Candidate implementation 2ada8b8be929438c1c4083e6684f534d75a4e16c; source SHA256 2eb27f331cd7bee9a1b7e5426915ac0a22d89ba473ca0966a5efdf9e6e2f7be5. No candidate performance claim applies to retained production.

wave26-rejected-performance

In-place certification timing โ€” 2026-10-30

Status: rejected by root for production adoption in wave26. The star-recovery prediction failed, n64 middle-star reached 0.696x (about 44% greater latency), and most large shapes regressed approximately 3โ€“6%. Tiny-chain gains do not establish a representative overall win. The candidate remains on its isolated experiment branch; integration retains conversion source and sidecars from base 5c1a2b9823231a2854bc52cfc04f48983c32cb22. No tuning or further timing follows this rejection. Candidate implementation/evidence commit: 2ada8b8be929438c1c4083e6684f534d75a4e16c.

The candidate is a mixed resource/tiny-chain refinement, not a successful general star-latency repair. Against the current wave25 parent, n32 chain improves 2.306โ€“2.436x and n64 chain 4.510โ€“6.035x. However n128/512/2048 chain ratios are 0.939โ€“0.968x (about 3โ€“6.5% more time), retaining their linear gain versus historical quadratic walks but slightly regressing versus coloring. Star recovery was a failed prediction: n512 star is 0.940โ€“0.941x, n64 star 0.870โ€“0.874x and n64 middle-star 0.696โ€“0.904x. n2048 star is essentially even at 0.996โ€“1.001x. The measured removal of a color allocation does not imply a latency gain. Single/two-node results also include regressions. This evidence does not establish a representative workload win; integration rejected the candidate replacement.

Historical comparisons retain the long-chain benefit: n128/512/2048 chains are 8.07โ€“8.97x faster than the transfer parent and 17.14โ€“227.70x faster than legacy. Those historical gains do not erase regressions against the actual current parent. All 165 size/shape/baseline rows below are retained; no confirmation-driven retuning followed the experiment.

CPU Intel Core i5-13500, x86_64; rustc 1.99.0 (b940084d7 2026-09-28), workspace thin-LTO release. Root explicitly granted an exclusive timing slot after all workers paused builds/tests. The prepared runner invoked the existing uninstrumented release test binary serially six times: current, transfer and legacy each twice. All invocations exited 0. Fifty-five cases per invocation cover n=0,1,2,3,8,32,64,65,128,512,2048 and chain, star, forward chain, middle-root star and binary shapes. Degenerate sizes intentionally repeat equivalent head maps. Each case has three warmup pairs then seven alternating-order measured pairs (a 4/3 ordering split), 385 pairs per invocation and 2310 total. Each measured pair has 1000 calls below n128 or 32 calls otherwise. Full Result equality is asserted before each workload, and all timed calls unwrap success. Setup, compilation, IO and allocation instrumentation are outside timed calls.

Ratios are baseline time divided by candidate time; above one favors the candidate. Each run median is the median of seven paired ratios, not a ratio of medians. All-pair ranges combine fourteen samples and are not confidence intervals. Very short timings, changing CPU clocks, cache and compiled caller layout limit precision; no universal throughput/latency, corpus, training, GPU or end-to-end school claim follows. Current baseline is exact function body from 5c1a2b9823231a2854bc52cfc04f48983c32cb22; transfer is fd540f37badaad97b53d56ba81684bbbc2ca4b9b. Legacy is the retained original ordered-walk test reference. These functions are compiled test-only. Source/binary hashes before and after all timings match exactly.

Receipts: $MOVA_DATA/runs/octopus-wave26-mova-2026-10-30/timing-{current,transfer,legacy}-{1,2}.log, timing-status.log, timing-before.sha256, timing-after.sha256, timing-summary.md and timing.rs. Allocation observations in wave26-evidence.md are separately scoped and do not explain every measured instruction-level effect.

BaselinenShapeMedian run 1Median run 2All-pair range
current0binary1.107x1.370x1.106โ€“1.375x
current0chain1.106x1.367x0.589โ€“1.372x
current0forward_chain1.107x1.369x1.106โ€“1.389x
current0middle_star1.106x1.366x0.990โ€“1.375x
current0star1.109x1.359x1.107โ€“1.367x
current1binary0.941x1.000x0.938โ€“1.019x
current1chain0.942x0.996x0.834โ€“1.000x
current1forward_chain0.939x0.997x0.837โ€“1.021x
current1middle_star0.943x0.997x0.940โ€“1.004x
current1star0.967x0.998x0.940โ€“1.002x
current128binary0.968x0.960x0.948โ€“0.995x
current128chain0.952x0.939x0.933โ€“0.960x
current128forward_chain0.991x0.984x0.971โ€“1.016x
current128middle_star0.973x0.997x0.959โ€“1.064x
current128star0.938x0.947x0.917โ€“0.984x
current2binary1.013x0.995x0.952โ€“1.045x
current2chain0.927x0.988x0.907โ€“1.100x
current2forward_chain0.908x1.010x0.854โ€“1.034x
current2middle_star1.024x1.016x0.995โ€“3.086x
current2star0.910x0.984x0.905โ€“1.006x
current2048binary0.971x0.964x0.960โ€“0.980x
current2048chain0.968x0.959x0.949โ€“0.971x
current2048forward_chain0.977x0.972x0.963โ€“0.979x
current2048middle_star0.965x0.958x0.935โ€“0.972x
current2048star1.001x0.996x0.945โ€“1.083x
current3binary1.006x1.000x0.991โ€“1.023x
current3chain1.041x1.015x0.996โ€“1.063x
current3forward_chain1.006x1.015x0.959โ€“1.023x
current3middle_star1.006x0.998x0.976โ€“1.023x
current3star1.018x0.964x0.932โ€“1.045x
current32binary1.242x1.452x1.223โ€“1.516x
current32chain2.436x2.306x2.239โ€“2.540x
current32forward_chain2.467x2.059x1.982โ€“2.485x
current32middle_star1.116x1.082x0.947โ€“1.147x
current32star1.004x1.019x0.957โ€“1.037x
current512binary0.970x0.970x0.948โ€“1.001x
current512chain0.957x0.958x0.953โ€“0.966x
current512forward_chain0.975x0.978x0.952โ€“0.981x
current512middle_star0.970x0.971x0.936โ€“0.974x
current512star0.941x0.940x0.929โ€“0.946x
current64binary1.250x1.234x1.204โ€“1.396x
current64chain6.035x4.510x4.192โ€“6.624x
current64forward_chain5.409x4.857x4.432โ€“5.507x
current64middle_star0.904x0.696x0.649โ€“0.914x
current64star0.874x0.870x0.866โ€“1.230x
current65binary0.994x0.985x0.959โ€“1.029x
current65chain0.977x0.962x0.787โ€“0.992x
current65forward_chain1.060x1.066x1.055โ€“1.101x
current65middle_star0.985x1.024x0.973โ€“1.027x
current65star0.972x0.980x0.966โ€“0.987x
current8binary1.063x1.062x1.008โ€“1.119x
current8chain1.161x1.197x1.137โ€“3.657x
current8forward_chain1.159x1.159x1.087โ€“1.361x
current8middle_star1.016x1.052x0.931โ€“1.065x
current8star1.037x1.029x0.945โ€“1.041x
legacy0binary0.998x0.999x0.994โ€“1.003x
legacy0chain1.001x1.001x0.997โ€“1.007x
legacy0forward_chain1.000x1.002x0.997โ€“1.002x
legacy0middle_star1.002x0.999x0.996โ€“1.005x
legacy0star0.998x0.998x0.994โ€“0.999x
legacy1binary0.924x0.924x0.916โ€“0.929x
legacy1chain0.925x0.925x0.919โ€“0.929x
legacy1forward_chain0.924x0.926x0.919โ€“0.929x
legacy1middle_star0.923x0.926x0.915โ€“0.927x
legacy1star0.923x0.924x0.921โ€“0.930x
legacy128binary1.455x1.418x1.391โ€“1.485x
legacy128chain17.139x17.148x16.687โ€“17.586x
legacy128forward_chain12.330x12.471x11.893โ€“13.013x
legacy128middle_star0.900x0.922x0.872โ€“0.978x
legacy128star0.893x0.877x0.855โ€“0.980x
legacy2binary0.890x0.907x0.873โ€“0.914x
legacy2chain0.889x0.899x0.875โ€“0.917x
legacy2forward_chain0.880x0.919x0.860โ€“0.944x
legacy2middle_star0.881x0.920x0.871โ€“0.924x
legacy2star0.892x0.905x0.872โ€“0.908x
legacy2048binary1.757x1.716x1.694โ€“1.760x
legacy2048chain227.701x220.269x217.744โ€“228.226x
legacy2048forward_chain170.828x154.586x152.626โ€“171.260x
legacy2048middle_star0.916x0.892x0.881โ€“0.973x
legacy2048star0.865x0.845x0.841โ€“0.868x
legacy3binary0.888x0.884x0.882โ€“0.898x
legacy3chain0.917x0.931x0.732โ€“0.934x
legacy3forward_chain0.937x0.968x0.925โ€“0.972x
legacy3middle_star0.864x0.874x0.861โ€“0.876x
legacy3star0.886x0.886x0.882โ€“0.896x
legacy32binary1.467x1.468x1.411โ€“1.491x
legacy32chain2.590x2.795x2.445โ€“2.917x
legacy32forward_chain2.220x2.216x2.141โ€“2.241x
legacy32middle_star1.087x1.068x0.956โ€“1.120x
legacy32star0.964x0.972x0.948โ€“1.050x
legacy512binary1.387x1.391x1.382โ€“1.395x
legacy512chain60.999x61.075x60.479โ€“61.289x
legacy512forward_chain45.082x44.982x44.775โ€“45.141x
legacy512middle_star0.897x0.894x0.888โ€“0.919x
legacy512star0.873x0.871x0.842โ€“0.891x
legacy64binary1.274x1.289x1.259โ€“1.300x
legacy64chain5.476x8.170x4.534โ€“8.256x
legacy64forward_chain6.606x6.771x6.151โ€“7.239x
legacy64middle_star0.898x0.693x0.661โ€“0.925x
legacy64star0.869x0.871x0.853โ€“0.878x
legacy65binary1.269x1.287x1.264โ€“1.335x
legacy65chain8.108x8.057x7.320โ€“8.524x
legacy65forward_chain7.060x6.285x6.214โ€“7.428x
legacy65middle_star0.884x0.913x0.875โ€“0.927x
legacy65star0.873x0.873x0.835โ€“0.887x
legacy8binary1.006x1.011x1.004โ€“1.013x
legacy8chain1.192x1.199x1.123โ€“1.200x
legacy8forward_chain1.220x1.221x1.219โ€“1.222x
legacy8middle_star0.897x0.897x0.895โ€“0.931x
legacy8star0.909x0.914x0.908โ€“0.914x
transfer0binary1.105x1.106x1.100โ€“1.111x
transfer0chain1.107x1.105x1.102โ€“1.113x
transfer0forward_chain1.108x1.106x1.101โ€“1.110x
transfer0middle_star1.106x1.106x1.102โ€“1.113x
transfer0star1.106x1.105x1.100โ€“1.110x
transfer1binary1.000x0.939x0.932โ€“1.003x
transfer1chain0.940x0.940x0.937โ€“0.946x
transfer1forward_chain0.997x0.942x0.935โ€“1.008x
transfer1middle_star0.994x0.942x0.936โ€“1.008x
transfer1star0.945x0.939x0.738โ€“3.394x
transfer128binary6.084x6.228x5.972โ€“6.429x
transfer128chain8.974x8.805x8.624โ€“9.149x
transfer128forward_chain6.677x6.808x6.449โ€“7.100x
transfer128middle_star0.983x0.982x0.947โ€“1.013x
transfer128star0.964x1.002x0.936โ€“1.040x
transfer2binary0.958x0.939x0.898โ€“0.983x
transfer2chain0.972x0.937x0.903โ€“1.010x
transfer2forward_chain0.958x0.930x0.913โ€“0.989x
transfer2middle_star0.960x0.922x0.901โ€“1.019x
transfer2star0.997x0.934x0.916โ€“1.026x
transfer2048binary4.980x4.918x4.811โ€“4.989x
transfer2048chain8.070x8.315x7.848โ€“8.345x
transfer2048forward_chain6.072x6.121x6.039โ€“6.259x
transfer2048middle_star0.969x0.959x0.930โ€“1.025x
transfer2048star0.927x0.926x0.921โ€“0.939x
transfer3binary0.955x0.976x0.915โ€“0.986x
transfer3chain0.968x0.988x0.946โ€“1.001x
transfer3forward_chain0.990x1.029x0.963โ€“1.033x
transfer3middle_star1.006x0.920x0.919โ€“1.024x
transfer3star0.948x0.976x0.902โ€“0.978x
transfer32binary1.176x1.241x1.141โ€“1.299x
transfer32chain2.752x2.168x2.152โ€“2.927x
transfer32forward_chain2.123x2.039x1.626โ€“2.166x
transfer32middle_star1.019x1.087x0.962โ€“1.132x
transfer32star1.024x1.028x0.999โ€“1.042x
transfer512binary5.045x5.068x4.975โ€“5.130x
transfer512chain8.442x8.296x8.262โ€“8.502x
transfer512forward_chain6.254x6.262x6.158โ€“6.397x
transfer512middle_star0.958x0.962x0.949โ€“0.967x
transfer512star0.927x0.928x0.925โ€“0.956x
transfer64binary1.238x1.230x1.211โ€“1.250x
transfer64chain6.267x6.470x6.160โ€“6.969x
transfer64forward_chain4.939x5.221x4.740โ€“5.394x
transfer64middle_star0.943x0.950x0.901โ€“0.959x
transfer64star0.894x0.897x0.832โ€“0.997x
transfer65binary6.052x6.047x5.943โ€“6.099x
transfer65chain9.362x9.287x8.922โ€“9.639x
transfer65forward_chain8.019x7.950x7.253โ€“8.138x
transfer65middle_star0.958x0.954x0.938โ€“0.975x
transfer65star0.927x0.935x0.849โ€“0.978x
transfer8binary0.969x1.075x0.964โ€“1.076x
transfer8chain1.083x1.229x1.050โ€“1.259x
transfer8forward_chain1.108x1.250x1.058โ€“1.251x
transfer8middle_star0.943x1.003x0.881โ€“1.005x
transfer8star0.974x1.009x0.941โ€“1.011x

wave26-rejected-prospective

Prospective in-place certification โ€” 2026-10-30

Domain: finite FullSentence rows whose private parsed head vector allocates successfully. Preserve every row parse, range and root-label check in its existing order, then root count, then the smallest nonterminating start. Empty input succeeds. No API or sentence mutation.

For n words set b=n+1. A private head cell contains 0 when known terminating, h in 1..=n when unseen, and h+b while active on this start's path. Starting at k, follow unseen heads after adding b. Stop at a zero cell (certified suffix) or a value greater than n (cycle). In the former case follow the encoded edges again, subtracting b to recover each next node and writing zero. The root cell starts certified. Earlier completed paths leave no active cells, so the first encountered active cell belongs to the current path, and ascending starts return the same first unrooted tail as legacy walks. Encoding retains the original successor until cleanup; overwriting a private vector cannot change sentence rows.

Cost prediction: at most n-1 nonroot cells marked and cleared, two transitions per visited nonroot cell, n outer starts, O(n) certification time and the existing n-usize head vector only. Raw decimal parsing additionally scans B head-text bytes (including arbitrary leading zeros), giving O(n+B) total gate work. Remove the arbitrary n<=64 branch and color vector. Successful Vec<usize> allocation requires n*sizeof(usize)<=isize::MAX, hence 2n+1 fits usize; no overflow-dependent sentinel. No recursion or callback. Normal allocator failure/panic remains outside the Result relation, and diagnostic Strings allocate on errors.

Expected measured gain: remove large-star extra allocation and improve tiny chains that previously repeated suffixes; retain linear long-chain performance. Small-star instruction cost may still regress. Predictions are provisional until paired measurements. Compare actual current parent 5c1a2b9823231a2854bc52cfc04f48983c32cb22, retained transfer parent fd540f37badaad97b53d56ba81684bbbc2ca4b9b and legacy. No timing during other agents' builds and no threshold retuning on confirmation data.

Behavior complement excludes cycle acceptance, false cycle on completed suffix, and wrong least-tail diagnostic. Reverse reconstruction is many-valued: success admits every rooted tree and arbitrary lexical fields; Cycle(k) admits every preflight-valid head function whose first nonterminating vertex is k, including different cycle lengths and tails. Internal zeroed scratch is not invertible without saved heads. Typed refinements are failure precedence, representation equivalence, resource refinement and termination preimage. Exact categorical semantics have no supported percentage approximation profile: 1/2/5/10% surrogates remain a gap.

Validation plan: retain historical references, add independent head-vector reachability closure oracle over all 126126 maps through n=6, exercise shared suffixes/root positions/cycles/row-error precedence across former threshold, add compiled false-cycle and false-success mutations, run focused debug twice and release twice, and regenerate source-bound partial syntax twice identically. Allocation instrumentation is separate from timing. All finite evidence is scoped, not a universal runtime guarantee.

This page in Markdown โ†’ https://md.groupants.elamur.ai/free/en/mova/models/syntax-validation.groupant/