Elamur GroupantsโŒ•
โ˜ฐ

modelcheck-library-inventory-assembly

The groupant beside tools/modelcheck/src/lib.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

componentlabelwhere
approximantpartialforward
astpartial../syntax.json
costpartialinvariant-and-cost
descriptantpresentdescriptant
invariantpartialinvariant-and-cost
testsfinite native evidencetests

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
behavior_complementbehavior_complementpartial relational specificationbehavior_complement
reverse_reconstructionreverse_reconstructionpartial relational specificationreverse_reconstruction
diagnostic_conjunctiondiagnostic_conjunctionpartial relational specificationdiagnostic_conjunction
backlog_state_partitionbacklog_state_partitionpartial relational specificationbacklog_state_partition
stable_report_orderstable_report_orderpartial relational specificationstable_report_order
nonexecution_boundarynonexecution_boundarypartial relational specificationnonexecution_boundary

Model text

descriptant

File/groupant report assembly and registered-source absence diagnostics groupant

Epoch 2026-10-31: materialized a scoped view after full-source review. Validate registry then filename-safe IDs, discover files, hash confined sources, load optional sidecars, validate source/group fragments and retain original manifests. Append diagnostics in discovery/declaration order. Process logical groups in sorted ID order and return valid iff diagnostics is empty.

Missing sidecars are backlog rather than invalid declarations; existing malformed sidecars invalidate the report. File and fragment/group IDs share one uniqueness set. Registry membership is checked against sorted discovery with the shared helper. verification_inferred and full_system_verification are false.

Useful prior epochs remain in the parent descriptant. This child uses exact byte anchors and the same whole-source hash: editing unrelated bytes also invalidates its binding. The fragment is a partial structural/behavior model, not a proof. No executable percentage surrogate is supplied: categorical gates have no defined useful loss metric; any future profile must use supported caps 1, 2, 5 or 10 percent with explicit domain and evidence.

catalog

Wave33 historical scope and evidence follow. Current source hashes and refreshed ranges are in manifest.json; wave34 refinements and evidence are at the source root.

File/groupant report assembly and registered-source absence diagnostics typed models

Subject/revision: source SHA-256 in manifest; scope [13336 , 20962). Domain is one completed scoped call on a fixed snapshot with adequate resources, unless narrowed below. Observation includes return/error and declared filesystem effects. Models are source-derived partial relational constraints; complements are inner exclusion hypotheses, converse relations retain compatible-input ambiguity. No universal proof or inverse executor is claimed. Evidence: groupant_tests::groupant_validation_negative_controls_and_open_extensions; groupant_tests::groups_bind_transitive_sources_and_preserve_open_families. Mutation evidence and limits are recorded in ../wave33-evidence.md.

behavior_complement

Exclude valid=true when a discovered sidecar contributes diagnostics or a registered source is absent. Do not exclude reports with missing sidecars: those are explicitly permitted backlog.

Oracle: groupant_tests::groupant_validation_negative_controls_and_open_extensions; groupant_tests::groups_bind_transitive_sources_and_preserve_open_families. Fixed source scope and the stated domain are required; finite checks do not establish untested generality.

reverse_reconstruction

Returned manifests and source hashes constrain compatible repository snapshots; missing-sidecar entries allow all absent sidecar states, and opaque extension fields survive. Mathematical semantics and check outcomes remain free.

Oracle: groupant_tests::groupant_validation_negative_controls_and_open_extensions; groupant_tests::groups_bind_transitive_sources_and_preserve_open_families. Fixed source scope and the stated domain are required; finite checks do not establish untested generality.

diagnostic_conjunction

valid = all local error vectors empty AND no registered-absence diagnostic. One invalid nested descendant propagates to its source row and the global report.

Oracle: groupant_tests::groupant_validation_negative_controls_and_open_extensions; groupant_tests::groups_bind_transitive_sources_and_preserve_open_families. Fixed source scope and the stated domain are required; finite checks do not establish untested generality.

backlog_state_partition

Classify each file as invalid if errors nonempty, else available_partial if sidecar exists, else not_materialized. Existence alone does not imply a valid JSON manifest.

Oracle: groupant_tests::groupant_validation_negative_controls_and_open_extensions; groupant_tests::groups_bind_transitive_sources_and_preserve_open_families. Fixed source scope and the stated domain are required; finite checks do not establish untested generality.

stable_report_order

File rows follow sorted Git paths, logical rows follow BTreeMap IDs, fragments follow declarations. Diagnostics preserve these traversal orders; changing registry input node order does not reorder logical rows.

Oracle: groupant_tests::groupant_validation_negative_controls_and_open_extensions; groupant_tests::groups_bind_transitive_sources_and_preserve_open_families. Fixed source scope and the stated domain are required; finite checks do not establish untested generality.

nonexecution_boundary

Check strings and opaque extension values are data. The function invokes Git discovery and filesystem reads only; it does not run declared tests, Rust artifacts, mathematical models or teacher commands.

Oracle: groupant_tests::groupant_validation_negative_controls_and_open_extensions; groupant_tests::groups_bind_transitive_sources_and_preserve_open_families. Fixed source scope and the stated domain are required; finite checks do not establish untested generality.

tests

Native correspondence

Exact named checks: groupant_tests::groupant_validation_negative_controls_and_open_extensions; groupant_tests::groups_bind_transitive_sources_and_preserve_open_families.

See ../wave33-evidence.md for current repeated profiles, actual production mutants and scope limits. AST generation alone is not behavioral evidence. Each reference test body was read before execution.

forward

Scoped forward model

File/groupant report assembly and registered-source absence diagnostics

Validate registry then filename-safe IDs, discover files, hash confined sources, load optional sidecars, validate source/group fragments and retain original manifests. Append diagnostics in discovery/declaration order. Process logical groups in sorted ID order and return valid iff diagnostics is empty.

invariant-and-cost

Invariant and cost

Missing sidecars are backlog rather than invalid declarations; existing malformed sidecars invalidate the report. File and fragment/group IDs share one uniqueness set. Registry membership is checked against sorted discovery with the shared helper. verification_inferred and full_system_verification are false.

O(B + Q log P) membership/hash work plus manifest/component/fragment validation and group subtree traversal. Source/artifact rereads are counted separately, not as once per source. Report retains JSON; filesystem mutation races are excluded from deterministic snapshot claims.

This page in Markdown โ†’ https://md.groupants.elamur.ai/free/en/mova/tools/modelcheck/src/lib.rs.groupant/inventory-assembly.groupant/