---
title: "enrich-lesson-smoke-score — Mova code model"
description: "Mova code model of tools/enrich/examples/lesson_smoke.rs: components with their labels, obernants and the model text."
url: "https://groupants.elamur.ai/free/en/mova/tools/enrich/examples/lesson_smoke.rs.groupant/score.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/tools/enrich/examples/lesson_smoke.rs.groupant/score.groupant/>

# enrich-lesson-smoke-score

The groupant beside tools/enrich/examples/lesson_smoke.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:** [`tools/enrich/examples/lesson_smoke.rs`](https://github.com/ElamurAI/mova-free/blob/main/tools/enrich/examples/lesson_smoke.rs)
- **source SHA-256:** `14a0b553a86f78d2…`
- **covers:** For tests and exams separately, shuffle options with lesson/index seed plus exam XOR, optionally rotate query one position within same list, sum correct choice and understood booleans. (bytes 905–1395)
- **part of:** [enrich-lesson-smoke](https://md.groupants.elamur.ai/free/en/mova/tools/enrich/examples/lesson_smoke.rs.groupant/)
- **repository folder:** [`tools/enrich/examples/lesson_smoke.rs.groupant/score.groupant`](https://github.com/ElamurAI/mova-free/tree/main/tools/enrich/examples/lesson_smoke.rs.groupant/score.groupant)
- **repository commit:** `48f2e6f74146`

> **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](#approximant) |
| **ast** | partial | `../syntax.json` |
| **cost** | partial | [invariant-and-cost](#invariant-and-cost) |
| **descriptant** | present | [descriptant](#descriptant) |
| **invariant** | partial | [invariant-and-cost](#invariant-and-cost) |
| **tests** | bounded or representation | [tests](#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](#behavior-complement) |
| `reverse_reconstruction` | reverse_reconstruction | partial source derived model | [reverse_reconstruction](#reverse-reconstruction) |
| `separate_rotation` | separate_rotation | partial source derived model | [separate_rotation](#separate-rotation) |
| `correctness_count` | correctness_count | partial source derived model | [correctness_count](#correctness-count) |
| `seed_exam` | seed_exam | partial source derived model | [seed_exam](#seed-exam) |
| `overflow_domain` | overflow_domain | partial source derived model | [overflow_domain](#overflow-domain) |

## Model text


### descriptant

#### enrich-lesson-smoke-score

##### Epoch 2026-10-31

Prospective inspection identified this relation before additions: For tests and exams separately, shuffle options with lesson/index seed plus exam XOR, optionally rotate query one position within same list, sum correct choice and understood booleans.

The production implementation is unchanged; only selected inline tests are appended. Source-bound syntax is generated twice and compared. Native checks exercise bounded helpers; entry orchestration, teacher calls, models and corpora remain source-derived. Partial syntax is not semantic proof. Preserve failure prefixes and ambiguity when refining this model.

### approximant

#### Forward relation

For tests and exams separately, shuffle options with lesson/index seed plus exam XOR, optionally rotate query one position within same list, sum correct choice and understood booleans.

##### Composition

This fragment isolates the stated helper relation; parent composition retains surrounding effects and failures.

### catalog

## Typed observations: enrich-lesson-smoke-score

Subject: tools/enrich/examples/lesson_smoke.rs, SHA-256 14a0b553a86f78d23e5e4d7883295357c4d49e58913f602131c3b852b0a08511. Domain: bounded source inputs, declared filesystem/environment state and normal allocations. Each view is a partial source-derived relation, not a universal proof. Observation is one helper call or the explicitly described trace. Checks are in tests.md; unexecuted effects remain gaps.

### behavior_complement

Empty lists make no choose call or modulo; singleton question rotation cannot differ from original query.

Scope: the bound source interval and stated assumptions. Evidence: source inspection plus the checks explicitly named in tests.md; no finite check establishes all inputs.

### reverse_reconstruction

Aggregate (right,understood) admits independent per-item boolean patterns and many student/lesson inputs; cannot identify which item failed.

Scope: the bound source interval and stated assumptions. Evidence: source inspection plus the checks explicitly named in tests.md; no finite check establishes all inputs.

### separate_rotation

Rotation wraps within tests or exams, never across boundary; options remain current item's shuffled choices.

Scope: the bound source interval and stated assumptions. Evidence: source inspection plus the checks explicitly named in tests.md; no finite check establishes all inputs.

### correctness_count

right increments on choice==at regardless of understood flag. Counts need not satisfy right≤understood.

Scope: the bound source interval and stated assumptions. Evidence: source inspection plus the checks explicitly named in tests.md; no finite check establishes all inputs.

### seed_exam

Exam extra XOR distinguishes common small indices but does not establish unique seeds across unrestricted lesson/index domains.

Scope: the bound source interval and stated assumptions. Evidence: source inspection plus the checks explicitly named in tests.md; no finite check establishes all inputs.

### overflow_domain

usize totals and counts require representable cardinalities; no saturating arithmetic or allocation guarantee supplied.

Scope: the bound source interval and stated assumptions. Evidence: source inspection plus the checks explicitly named in tests.md; no finite check establishes all inputs.

### tests

#### Checks and limits

Source-derived representation only. No PragStudent evaluation or model loading.

Exact native outcomes and command metadata are retained in the external wave33 cycle receipt bundle. Selected names run twice in debug and release; syntax is independently regenerated twice. Compiled mutations and source restoration receipts distinguish behavior changes from assertion-only controls. These claims are finalized in evidence.md. No live teacher, real model/corpus, benchmark CLI or lesson-learning CLI is run.

### invariant-and-cost

#### Invariant and cost

Each count≤tests.len+exams.len absent usize overflow. Rotating question does not rotate options/correct index.

O(total items × (shuffle choices + choose cost)); no execution measured.

No executable percentage surrogate is claimed: effects, categorical acceptance and report text have no justified approximate metric here. Future profiles require a useful metric, zero case, reference and evidence at caps 1/2/5/10%.
