Elamur GroupantsโŒ•
โ˜ฐ

module-overlay-composition

The groupant beside tools/module-overlay/composition.groupant 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

componentlabelwhere
approximantpartial source modelforward
astnot materialized
costpartial source modelcost
descriptantpresentepoch-memory
invariantpartial source modelinvariant
testsbounded native evidencechecks

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.

idtypelabelwhere
module-overlay-composition-behavior-complementbehavior_complementpartial source modelbehavior-complement
module-overlay-composition-reverse-reconstructionreverse_reconstructionpartial source modelreverse-reconstruction
module-overlay-composition-publication-boundarypublication_boundarypartial source modelpublication-boundary
module-overlay-composition-model-compatibility-joinindependent_evidence_joinpartial source modelmodel-compatibility-join
output-provenance-joinindependent_evidence_joinsource derived with finite native composition controlsoutput-provenance-join

Model text

domain

Public CLI args, validated external manifest/snapshot, source trees, and a fresh output. Children are the CLI, bounded library and finite fixtures. Stable filesystem and ordinary successful IO are explicit premises.

forward

CLI schema/load joins raw base-JSON SHA and typed snapshot equality; check joins planned replacement constraints to observed upstream metadata; stage joins those validated identities to byte copying and the final receipt. Tests observe this real composition on small independent temporary trees. Config plan data is copied, never interpreted as a worker command.

invariant

No production child calls a shell, Cargo or an AI. A source tree plus matching groupant hash does not imply model validity. Receipt generation follows final input checks; it never records unexecuted Cargo checks as successes.

cost

A fixed number of O(bytes+files log files) bounded inventories and copy passes; peak memory is file metadata plus one bounded file and bounded traversal entries. No unexplained cross-child speedup is claimed.

behavior-complement

An accepted complete composition excludes stale base identity, duplicate-target priority and an existing output. The default tool cannot start the abstract Whale plan or silently make its role supported. These are scoped exclusions, not a universal publication or safety classifier.

reverse-reconstruction

Receipt plus final tree retains custom/base commitments but not overwritten original bytes or excluded input data. Multiple physical source/output roots and multiple hidden directory states yield identical receipts. Unique reconstruction requires separately retained originals and additional information; no general inverse is asserted.

publication-boundary

A partial directory after an IO/cleanup failure has no successful receipt. A successful fresh source tree is still not a deployable approved build: Cargo compilation, source-model registration, API compatibility and runtime behavior have separate checks. A new base snapshot alone does not bridge those gaps.

model-compatibility-join

The byte-composition gate and source-model freshness partition are intentionally independent. It is possible to compose a valid byte tree with missing or stale groupants; receipt reports those states rather than repairing hashes. Parent/operator model guards must decide admissibility for the intended release.

checks

Fourteen named native fixtures plus repeated actual CLI composition and a tiny explicit Cargo fixture check/test. External evidence records commands, deterministic receipt hashes and negative controls. No live tree/runtime, teacher or training call.

epoch-memory

2026-11-01: three Rust files and one composed parent; registry fragment is ready for the main integrator to attach to the public ownership tree. No current central registry is modified by this branch.

output-provenance-join

Domain: valid synthetic old/new base bindings with fixed replacement contents, targets and output path topology. Observation is the joint tuple (admission, composed source map, provenance receipt). The child overwrite projection can map two different bases to one source map; the parent must retain the separate base and manifest commitments. If O0=O1 for the source-only observation, it does not follow that admission to the old base or the receipts are equal. In the target-only content-drift fixture, old check yields an incompatible report and old stage creates no output. After explicit synthetic rebind, a second valid stage has the same output tree but a different receipt. An unoverridden README control changes the output itself.

This specialized evidence-join obernant excludes promoting source equality into unchanged provenance or upgrade approval. Its reverse interpretation keeps multiple possible base histories when only output is retained; receipt fields distinguish the two tested histories without recovering original bytes. Required assumptions are stable bounded inputs, valid rebinding and trusted expected commitments; no hash injectivity, API compatibility or universal source proof is established. Evidence: two focused actual library fixtures and a rejected external target-insensitive-gate mutation; existing finite tests remain separate. The receipt file is excluded from the source-tree commitment, so equal source maps do not mean identical complete physical output directories. Tests and library metadata must be rebound together in the parent; unchanged production source is not silently recertified.

This page in Markdown โ†’ https://md.groupants.elamur.ai/free/en/mova/tools/module-overlay/composition.groupant/