---
title: "world-prules-adapters — Mova code model"
description: "Mova code model of world/src/prules.rs: components with their labels, obernants and the model text."
url: "https://groupants.elamur.ai/free/en/mova/world/src/prules.rs.groupant/adapters.groupant/"
---
Elamur: [Mova](https://md.mova.elamur.ai/free/en/) · [Dictionary](https://md.dictionary.elamur.ai/free/en/) · [Research](https://md.research.elamur.ai/free/en/) · **Groupants**

This page as HTML: <https://groupants.elamur.ai/free/en/mova/world/src/prules.rs.groupant/adapters.groupant/>

# 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

- **kind:** groupant_fragment
- **status:** partial source bound model
- **source:** [`world/src/prules.rs`](https://github.com/ElamurAI/mova-free/blob/main/world/src/prules.rs)
- **source SHA-256:** `d3fe2fa0cbece21e…`
- **covers:** Contiguous source scope; syntax is shared with source-bound parent. (bytes 17912–32132)
- **part of:** [world-prules](https://md.groupants.elamur.ai/free/en/mova/world/src/prules.rs.groupant/)
- **repository folder:** [`world/src/prules.rs.groupant/adapters.groupant`](https://github.com/ElamurAI/mova-free/tree/main/world/src/prules.rs.groupant/adapters.groupant)
- **repository commit:** `855da7bd4a7b`

> **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](#forward) |
| **ast** | partial | `../syntax.json` |
| **composition** | partial source model | [composition](#composition) |
| **cost** | partial source model | [cost](#cost) |
| **descriptant** | partial source model | [epoch-memory](#epoch-memory) |
| **invariant** | partial source model | [invariant](#invariant) |
| **tests** | partial source model | [checks](#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](#behavior-complement) |
| `world-prules-adapters-reverse-reconstruction` | reverse_reconstruction | partial source model | [reverse-reconstruction](#reverse-reconstruction) |
| `world-prules-adapters-shuffle-inverse` | reverse_reconstruction | partial source model | [shuffle-inverse](#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(lines*rules*apply 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.
