world-groupant-wave9
The groupant beside world/tests/groupant_wave9.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 source model | forward |
| ast | partial | syntax.json |
| composition | partial source model | composition |
| cost | partial source model | cost |
| descriptant | partial source model | epoch-memory |
| invariant | partial source model | invariant |
| tests | partial source model | checks |
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 |
|---|---|---|---|
world-groupant-wave9-behavior-complement | behavior_complement | partial source model | behavior-complement |
world-groupant-wave9-reverse-reconstruction | reverse_reconstruction | partial source model | reverse-reconstruction |
world-groupant-wave9-option-identity | encoding_relation | partial source model | option-identity |
world-groupant-wave9-stratum-selection | subset_relation | partial source model | stratum-selection |
world-groupant-wave9-temporal-registration | state_transition | partial source model | temporal-registration |
world-groupant-wave9-world-separation | scope_relation | partial source model | world-separation |
world-groupant-wave9-verdict-identity | identity_relation | partial source model | verdict-identity |
world-groupant-wave9-adapter-negative | counterfactual_relation | partial source model | adapter-negative |
world-groupant-wave9-effect-boundary | effect_relation | partial source model | effect-boundary |
Model text
model
Wave 9 native joins
forward
Five tests compose actual public APIs on supplied fixtures. F maps fixture inputs and compiled dependencies to assertions; pass is bounded correspondence evidence.
invariant
Shared IDs, option order, frame/world identity and selected lesson indices survive each stated adapter. Invalid time relation preserves the inspected graph observation.
cost
Nine option parses, eight selections over 27 lessons, two tiny narrative programs and one four-question filesystem roundtrip. Selection sorts within strata; temporal reachability uses the called graph routines. No latency or throughput guarantee.
composition
ftqa -> report uses Qa identity; schooltools and knowledge share the serialized lesson line before schoolbench consumes parsed Lessons. lang -> world -> narr -> story uses real registration. school_tree has no inspected direct prules call and is not claimed as a tested pipeline.
checks
Five native tests, twice debug and twice release with single-thread execution; external raw logs and mutation evidence recorded after execution.
epoch-memory
2026-10-30: supplied fixtures avoid external parser and live school resources. Distinguish common-domain canonicalization from general parser equivalence; story filename is an input to report identity. This harness observes five joins, not full pipeline accuracy.
behavior-complement
Subject: current harness and compiled dependencies. Domain and observation: For the finite supplied-input universe U of these five fixture families, the intended relation excludes reordered event axes, cross-world temporal comparability, changed option identities, lost stratum counts and verdict joins on question number without story. This is a source-derived inner constraint on U minus R, conditional on valid acyclic frame ancestry and accepted programs; unsampled behavior is unknown. Operator: behavior_complement. Status: partial source model; evidence is the named native fixture family, with finite acceptance rather than universal proof.
reverse-reconstruction
Subject: current harness and compiled dependencies. Domain and observation: For an observed assertion vector y, retain every fixture and implementation state x with F(x)=y. Aggregate 50% accuracy admits both assignments of one correct verdict among two questions. Temporal Before admits many endpoint graphs. A passing vector cannot reconstruct a unique graph, input serialization, or implementation. Operator: reverse_reconstruction. Status: partial source model; evidence is the named native fixture family, with finite acceptance rather than universal proof.
option-identity
Subject: current harness and compiled dependencies. Domain and observation: On spaced-pipe option lines with one marked answer, canonical fields must equal knowledge::parse's question/right/wrong tuple, preserving wrong-option order. Recognition by option_line is weaker than validation: multiply marked rows may be recognized yet refused by parse. Nine valid fixtures and one refusal exercise this boundary. Operator: encoding_relation. Status: partial source model; evidence is the named native fixture family, with finite acceptance rather than universal proof.
stratum-selection
Subject: current harness and compiled dependencies. Domain and observation: For 27 parsed lessons, three strata of nine, quick selects two per stratum and medium three. Every quick identity remains in medium for each of eight seeds; selected indices remain chronological, preserving lesson number and right-answer identity. These are input-list indices, not lesson numbers. Operator: subset_relation. Status: partial source model; evidence is the named native fixture family, with finite acceptance rather than universal proof.
temporal-registration
Subject: current harness and compiled dependencies. Domain and observation: Accepted root events E1,E2,E3 produce span and strict chain edges. All six distinct ordered pairs agree with ordinal order; rejected E3 BEFORE E1 preserves edge count and E1 BEFORE E3. Closure is queried at event endpoints, not event IDs used as point-array indices. Operator: state_transition. Status: partial source model; evidence is the named native fixture family, with finite acceptance rather than universal proof.
world-separation
Subject: current harness and compiled dependencies. Domain and observation: world=new allocates a child world and a separate axis. After close, root event lookup includes copied E2 with its child world ID, while root entity lookup omits C2 and ent_any finds it; world_frame selects child 1 and TimeGraph reports OtherWorld across E1/E2. Closing the frame does not erase its stored world. Operator: scope_relation. Status: partial source model; evidence is the named native fixture family, with finite acceptance rather than universal proof.
verdict-identity
Subject: current harness and compiled dependencies. Domain and observation: qa_tsv -> read_qa derives story from filename and preserves supplied question numbers. report::sample excludes the full (story,n) key. manual_md joins on that same pair: a verdict for wrong-story#4 cannot count as fixture#4. No generated answer quality is measured; answers are supplied. Operator: identity_relation. Status: partial source model; evidence is the named native fixture family, with finite acceptance rather than universal proof.
adapter-negative
Subject: current harness and compiled dependencies. Domain and observation: Intervention swaps a,b at the ordered_events adapter while holding programs and independent ordinal oracle fixed. The native temporal test must reject Before/After reversal after compilation. Restoration is byte checked and positives rerun. Operator: counterfactual_relation. Status: partial source model; evidence is the named native fixture family, with finite acceptance rather than universal proof.
effect-boundary
Subject: current harness and compiled dependencies. Domain and observation: The question roundtrip creates an exclusive process-specific temporary directory, writes one TSV, reads it and removes it before reporting. Other joins consume supplied strings and values. No parser acquisition, teacher, live course, hot-state mutation or learned-rule application is executed. Operator: effect_relation. Status: partial source model; evidence is the named native fixture family, with finite acceptance rather than universal proof.
evidence
2026-10-30 evidence
Five tests pass twice in debug and twice in release with --test-threads=1; restored debug passes five. The test identity/status lines match across all five logs. Normalized SHA-256: 8bd3954bf9f89207652de59b06ba8fd49796c341ab5f3e20da0b8c442895e2f3.
The compiled ordered_events operand-swap mutant fails narrative_registration_joins_time_queries_and_atomic_rejection: actual After, expected Before. Mutation log SHA-256: 1cec6798a0b5fb4844d2cf8f50510917c4e7020523242c9dece74d2394de30cf. Restored source equals the saved original: b82d92a98834f7c2c466a749198ba0fd0544e945733409fd17bd100e21c79ea4.
Syntax generated twice is byte-identical: 2b817ce5f411ed5bda4dbdda9c1eb6a54a4166c234d9c94ac44c3c8b60f01215. Changed reports one owned Rust source with no missing registry entry. Structural validation is isolated from global parent wiring; root integration supplies that wiring.
Raw logs: $MOVA_DATA/runs/octopus-wave9-joins-2026-10-30/. Debug log hashes: eb2ed515ffffaa052299c5ab6df8add088fcb365f48c07c7c7ddb9f079767f79 and 93663ebd98f979502ea3cbfe2b2c426874c0c27a3893462cbd59ebfda69cc437. Release log hashes: 5c29573f2248eddaf0d1d1f8bdffbdd94416148ff05a4e01dacba4272be5abd3 and 2d8e2f38b309232cdb3fb67171fa98599c7e0c356872bd50b9bf82019cf61825. Restored log: a6408aca39f56454a7eb3002e26fa14163e09170997369e06281f2895f416800.
Finite correspondence only. An initial mistaken New-frame event-isolation prediction failed and was corrected after inspecting merge_from; entity isolation and event world identity are separate. No production source was changed.
This page in Markdown โ https://md.groupants.elamur.ai/free/en/mova/world/tests/groupant_wave9.rs.groupant/