world-school-actors-world
The groupant beside world/src/school.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 | wave34-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-school-actors-world-behavior-complement | behavior_complement | partial source model | behavior-complement |
world-school-actors-world-reverse-reconstruction | reverse_reconstruction | partial source model | reverse-reconstruction |
world-school-actors-world-coupling | constraint_relation | partial source model | coupling |
world-school-actors-world-observation-fiber | information_loss | partial source model | observation-fiber |
Parts
- world-school-actors-world-marginal-election
- world-school-actors-world-event-play
- world-school-actors-world-answer-priority
Model text
model
world-school-actors-world
forward
Decode vote duplicates in i128, clamp each final merged total once to i64. effect sums each marginal in i128, omits NONE=9, selects greatest vote then smallest signed effect; missing receiver defaults zero, missing subject yields None. Supplied Reading play initializes holdings and executes events in order, fractions from previous subject balance minus keep. answer_of chooses its first matching schema; focus filters by thing.
invariant
Duplicate order cannot change a representable total; saturation happens only after summation. Independent marginals may select a pair never voted jointly. play/answer require nonzero fraction denominators and representable arithmetic. Reader globals/dictionary/fallback are external.
cost
Decode O(R log V log E), O(VE) storage; marginal election O(E log E). play O((H+J)log A+JH) due to fallback-holder scans; answer up to O(J+A). Parsing/guessing opaque.
composition
Actual load/save use codecs. Tests cover duplicate saturation/cancellation, sentinel partial evidence, wide marginals and stable ties. Supplied play transfers three then all-but-two, preserving total twelve and answering Anna ten. actor_answer/reading_of/from_dictionary/school_tree are unexecuted.
epoch-memory
2026-10-30 initial school source-bound epoch. Prospective model: keep O(1) arithmetic/partition cost, widen aggregation scalars, and expose actual codecs without filesystem effects. Old native witnesses found unchecked operation, score, marginal vote, partition and duplicate-vote arithmetic; legacy serialization synthesized zero accumulators. Review found that dropping explicit zero accumulators also changed the prediction table. Both activation directions now have named tests. No speedup, approximate-error profile or general semantic proof is claimed. Unchecked update/world arithmetic retains representability premises.
checks
cargo test -p world --lib school::wave12_models -- --test-threads=1. Root evidence.md binds exact source/evidence hashes, repeated debug/release outcomes and a compiled production mutation. Named fixture domains appear in composition. Syntax is a source-bound partial projection; macros remain opaque. No semantic AST or live school execution.
behavior-complement
Subject/revision: manifest hash and byte scope. Universe: supplied finite inputs, fixed dependencies, successful allocation and the explicit arithmetic premises of this scope. Inner absent-behavior relation: Receiver-only sentinel votes cannot establish a subject; absent verbs cannot yield effects. Intermediate i64 overflow cannot corrupt a representable decoded total. Wrong marginal tie ordering is excluded; whole-world arithmetic totality is not claimed. These are source-derived constraints with finite named witnesses where indicated; external behavior remains unknown.
reverse-reconstruction
Subject/revision: manifest hash. Operator: compatible preimage/converse, holding dependencies and admissibility fixed. For an elected pair retain all maps satisfying both marginal winner inequalities; joint occurrence is unnecessary. A saturated count admits all duplicate totals beyond the corresponding bound. Final worlds admit all ordered initial-state/event histories yielding the same counts. Partial relational description, not a complete inverse search or a unique causal history.
coupling
Subject/revision: manifest hash. Constraint relation on stage identities and ordered intermediate states: Actual load/save use codecs. Tests cover duplicate saturation/cancellation, sentinel partial evidence, wide marginals and stable ties. Supplied play transfers three then all-but-two, preserving total twelve and answering Anna ten. actor_answer/reading_of/from_dictionary/school_tree are unexecuted. Supplied native joins and source inspection are distinct evidence.
observation-fiber
Subject/revision: manifest hash. Domain: scoped inputs with the declared observation. The information-loss relation equates inputs whose observation agrees: Marginal voting loses correlation. Map serialization is lossless for nonempty inner vote maps with format-safe keys but saturation loses out-of-range totals; identical retained totals need not have identical duplicate input rows. Finite tests do not establish unrestricted completeness.
wave34-marginal-election
Current nested child world-school-actors-world-marginal-election: For each side c, aggregate T_c(x)=sum votes(e) where e_c=x and x!=9 in i128. Elect the smallest signed x attaining maximal T_c. Missing verb or absent subject evidence yields None; absent receiver evidence defaults to zero.
Parent interaction: Actors codec first merges duplicate joint effects and clamps them; election sees those retained i64 counts, not the original unbounded row totals. play consumes the elected pair; an absent subject can abort play despite receiver evidence.
Earlier checks and epoch observations above remain historical, not new execution receipts. See file-root wave34-evidence.md for current selections.
wave34-event-play
Current nested child world-school-actors-world-event-play: Fold all initial holdings by actor. For each ordered event obtain (-1,0) for pay, else eff(verb) or return None. Quantity is e.n or (pre-event subject minus keep)*p/q. Update subject first; then explicit receiver, else first original holder different from subject if subject was not an original holder. Return the signed map without pruning.
Parent interaction: Parent calls play before answer_of. Fractions inspect state after prior events but before this event; fallback receiver consults original holds, not the updated map. eff is supplied in native tests; dictionary/parser calls are omitted.
Earlier checks and epoch observations above remain historical, not new execution receipts. See file-root wave34-evidence.md for current selections.
wave34-answer-priority
Current nested child world-school-actors-world-answer-priority: Ordered return chain: front+back; front direction; inclusive span; clock wrap; minutes; unknown start/change; full/remainder packing; rate; remaining share; spent; share; last group; named subset; comparisons; named holder plus shift; all; isolated question number; first original holder/event subject. A selected branch may return None and shadows later candidates.
Parent interaction: play must succeed before solve calls answer_of, even for field-only schemas. This node models priority within answer_of separately. Parent focus can filter holdings/events while retaining schema flags, which affects this precedence.
Earlier checks and epoch observations above remain historical, not new execution receipts. See file-root wave34-evidence.md for current selections.
wave34-composition
Wave34 composition
Decode/clamp joint votes first, marginal-election second; event-play obtains an effect for each non-pay event and returns None immediately for absent evidence. Fractions use the preceding map; implicit recipients use original holder ordering. Only after successful play does solve call answer-priority, whose selected None must not fall through. focus and dictionary/reader routes remain source-only. Shared actor/verb identities are essential; independent aggregate scores cannot establish this wiring.
The previous model.md and its composition remain historical epoch memory. Current scoped relations use the manifest source hash; partial syntax and finite helper tests do not prove semantic completeness.
This page in Markdown → https://md.groupants.elamur.ai/free/en/mova/world/src/school.rs.groupant/actors-world.groupant/