world-babi-inventory
The groupant beside world/src/babi.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 | approximant |
| ast | partial | ../syntax.json |
| composition | partial | composition |
| cost | partial | Cost |
| descriptant | present | descriptant |
| invariant | partial | model.md |
| tests | bounded checks partial scope | 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 |
reverse_reconstruction | reverse_reconstruction | partial source derived model | reverse_reconstruction |
identity_casefold | identity_casefold | partial source derived model | identity_casefold |
owner_guard | owner_guard | partial source derived model | owner_guard |
location_history | location_history | partial source derived model | location_history |
rename_scope | rename_scope | partial source derived model | rename_scope |
Model text
descriptant
world-babi-inventory
set_me lowercases once and refuses a distinct established name. rename rewrites selected person keys/participants. move_to writes At and appends history; take removes previous carrier entry then appends; drop_ removes holder only on matching owner. Equations: H'[o]=a, C'[previous]=C[previous] without o, C'[a]=C'[a]++[o]; drop only removes H[o] when H[o]=a. move appends (order,t,p) and coalesces equal adjacent ohist places.
Modeling epoch โ 2026-10-31
Read full assigned source before editing; prospective predictions retained in external wave29 receipts. This child binds only its stated half-open UTF-8 byte range; other APIs remain parent scope. Evidence is limited to named bounded fixtures; registration is partial modeling. Production behavior unchanged; only inline synthetic tests added to four assigned sources.
approximant
Forward relation
set_me lowercases once and refuses a distinct established name. rename rewrites selected person keys/participants. move_to writes At and appends history; take removes previous carrier entry then appends; drop_ removes holder only on matching owner. Equations: H'[o]=a, C'[previous]=C[previous] without o, C'[a]=C'[a]++[o]; drop only removes H[o] when H[o]=a. move appends (order,t,p) and coalesces equal adjacent ohist places.
Domain and resource limits
Finite valid structures and allocation-success executions under the branch conditions in models.md; integer overflow is outside measured fixtures. Exact categorical relations have no supplied percent surrogate. Macro expansion, arbitrary model quality and external effects are not inferred from syntax.
invariant
Invariant
Within coherent maps, one holder per object; adjacent identical object places coalesce while person history repeats.
Cost
Map updates O(log V), carry filtering O(C); rename traverses selected maps/vectors and may overwrite existing target keys.
composition
Composition
This scope contributes inventory to its parent. Its forward, complement and preimage are restricted to the bound byte interval. The parent syntax projection is referenced once through ../syntax.json; no independent semantic AST is claimed.
models
behavior_complement
Exclude changing me to a distinct name or removing another owner's holder. Do not claim rename touches relation triples, object keys or all place names.
reverse_reconstruction
Empty carry admits no-object, dropped and transferred-away histories. holder[o]=b admits any history ending with effective take(b,o) and no later effective drop. Overwritten locations are unrecoverable. Formally Pre(H*)={h | dom(final_holder(h))=dom(H*) and โoโdom(H*), last_surviving_take(h,o)=H*[o]}. Thus every absent target key is absent in the final holder map; for H*=empty all earlier acquisitions must have been effectively dropped. Arbitrary overwritten intermediate transfers remain compatible.
identity_casefold
NORA and nora have same identity; empty name accepted.
owner_guard
drop_(a,o) with holder[o]=b keeps b but still filters/creates carry[a].
location_history
Two moves to hall append two person entries but one adjacent object entry.
rename_scope
Only pos/hist/carry/isa keys, holder values, give endpoints, attribute subjects and last_subj are traversed.
tests
Bounded checks
Named checks associated with this source (not every fragment branch):
- babi::wave29_tests::identity_and_inventory_without_parser
- babi::wave29_tests::graph_and_sentence_boundaries_without_parser
17 unique named tests in total passed twice debug and twice release; sorted named outcomes equal across all four runs. Four compiled controls cover bAbI identity, StepGame tie ordering, parser-command state removal and bench-command CPU selection; each exits101 at a runtime assertion, exact source restored then positive exit0. Other sources have finite adversarial fixtures but no separately compiled mutant.
CLI integration coverage is command construction and temporary cleanup only; legacy school/model/cadence paths are not executed. No speed benchmark, GPU, live teacher, datasets or held-out replay.
Limits:
- Partial syntax projection only; no macro expansion or proof
- No useful percentage surrogate for exact categorical/state/effect semantics; executable approximant unsupported
- No live parser, corpus, gap journal, training or held-out evaluation
- Unicode recasing byte slices, unbounded recursion/overflow not covered
External receipt root: $MOVA_DATA/runs/octopus-wave29-worldeval-2026-10-31.
This page in Markdown โ https://md.groupants.elamur.ai/free/en/mova/world/src/babi.rs.groupant/inventory.groupant/