world-prules-adapters
The groupant beside world/src/prules.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-prules-adapters-behavior-complement | behavior_complement | partial source model | behavior-complement |
world-prules-adapters-reverse-reconstruction | reverse_reconstruction | partial source model | reverse-reconstruction |
world-prules-adapters-shuffle-inverse | reverse_reconstruction | partial source model | shuffle-inverse |
Model text
forward
Clone reads and apply rules in order; dispatch CLI; rotate gold inside known splits; write queue/rules separately.
invariant
Empty replay preserves base; shuffle preserves non-gold fields. Writes not transactional.
cost
Replay O(linesrulesapply cost); shuffle clones line and gold payload; external loads opaque.
composition
Source-bound parent supplies exact shared state and dependency assumptions. Independently projected fragments do not prove their wiring.
epoch-memory
Initial 2026-10-30 scope. Preserve unknown lexical, data and effect semantics. Source inspection and executed bounded helpers remain distinct.
checks
Nine native tests in wave9_models (five prules, four school_tree), repeated twice per debug/release profile, plus compiled production mutants; see evidence.md in the file parent. Binomial word oracle n<=12, gate finite grid, supplied-head graph universe 6^4, feature boundaries and reverse fibers. No real learning/data-loading or parser-to-Reading run. Prospective math recorded before implementation; large-n old-code failure precedes repair.
domain
Fix source revision, external dependency outputs, configuration and sufficient resources. Observe one terminating call or explicitly bounded trace. Arithmetic domains exclude overflow except named refusal tests. Specialized relations are source-derived partial models unless a finite oracle is explicitly named. No unrestricted reverse solver is implemented.
behavior-complement
Empty rule replay cannot alter base reads. Shuffle cannot alter key/text/judged_only or rows outside dev/teacher. Successful control dispatch does not write the learn branch rules file. Sequential write failure does not imply rollback; these inner exclusions hold under fixed dependency behavior.
reverse-reconstruction
Shuffle inverse rotates negatively within each known split and row ordering. Rendered F1 tables/example truncation admit many underlying counts and lines. Replayed frame output retains all base/rule sequences with the same ordered effect, including inert rules. Unknown ordering loses exact shuffle reconstruction.
shuffle-inverse
For each dev/teacher split n>0, output[k].gold=input[(k+n/2+7) mod n]. Inverse is negative rotation; other row fields and other splits are identical. Empty split does no indexing. Original positions enable unique inverse permutation, duplicate values erase observable identity. Native sizes 0..16 check rotation, reconstruction and fields. No independence or useful statistical disruption guarantee.
This page in Markdown โ https://md.groupants.elamur.ai/free/en/mova/world/src/prules.rs.groupant/adapters.groupant/