fish-batch-packing
The groupant beside tools/fish-batch/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
| component | label | where |
|---|---|---|
| approximant | partial source derived | forward |
| ast | not materialized | |
| cost | symbolic source derived | cost |
| descriptant | present | domain |
| invariant | partial source derived | invariant |
| tests | finite native synthetic checks | 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 |
|---|---|---|---|
behavior-complement | behavior_complement | source derived with finite checks | behavior-complement |
reverse-reconstruction | reverse_reconstruction | source derived with finite checks | reverse-reconstruction |
interface-identity | interface_binding | source derived with finite checks | interface-identity |
evidence-partition | authority_partition | source derived with finite checks | evidence-partition |
Model text
domain
Owned source: public batch-packing library. Imported native annotation Task/evaluate/render are interface dependencies owned by the existing Fish tree. External source materialization, actual pin verification, held-out membership, page claims, execution and semantic/training admission remain distinct.
forward
Source materializer -> single-target source-bound packets -> explicit exclusion/header projection -> compatible bounded batch proposal -> native AST/UD/source/pragmatic evaluation -> exact schema-plus-stdin rendering -> prepared tasks, rejected packets and provenance. Neither a cached observation mosaic nor native agreement becomes a teacher answer. The downstream consumer must write immutable task/profile/evidence files, retain source-ID ownership and invoke a separately supervised transport if authorized.
invariant
Prepared targets and rejected packets account for supported inputs; a failed combined proposal retains the next singleton. Every prepared Task passes the actual native gates and <=100000-byte submitted budget. Source/context removals and per-observation mosaic bindings remain explicit. Preparation does not confer execution or training authority.
behavior-complement
Type: behavior_complement. Excluded composition traces include direct raw artifact concatenation without target/source checks, over-cap requests made to fit by truncation, silently admitted Evaluation/held-out targets, artifact revision renaming presented as one model, and prepared outputs promoted to annotation gold. Counterexample to a stronger guarantee: external source pins are declared, not read here, so a caller can still supply false provenance. Evidence is finite native packing checks and source inspection; on-disk source admission remains external.
reverse-reconstruction
Type: reverse_reconstruction. A prepared Task and its provenance restrict compatible cached per-target observations, adaptations and chosen context. They do not recover omitted context text, uniquely identify a producer checkpoint or reconstruct an executed consultant history. Prepared requests have both never-executed and later-executed external histories. Counterexample: model latency cannot be recovered from request size or target count. No remote execution took place in the packing tests.
interface-identity
Type: interface_binding. The library imports the actual native Task type; typed context hashes must use its serialization. Raw source table hashes remain separate from the explicit adapted header hashes. bindings() declares the packer source SHA and imported annotation bindings. Downstream queue byte-file pins and typed Task hashes remain distinct; the packer does not create their immutable runtime files.
evidence-partition
Type: authority_partition. A native preparation rejection, source-consistent prepared request, transport receipt, source-consistent returned annotation, semantic review and training admission are different observations. Counting batch jobs cannot establish covered source IDs. A malformed multi-target reply may quarantine all its targets; per-ID coverage and no-replay state belong to the caller's durable ledger. No whole-corpus or speed claim follows from this groupant.
cost
Composed cost includes bounded-page packing/native parsing/rendering plus external materialization and, only if separately authorized, consultant latency. Batching can amortize fixed call overhead but increases response size and failure exposure. Prospective goodput=workerstargetsacceptance/mean_latency; measure those terms before predicting completion dates.
checks
Eight synthetic Rust checks exercise the actual native boundary. Deterministic output, incompatible identity/scope splits, explicit mosaics and original revisions, real100000-byte split/retention, context exclusions/removal accounting and unknown/authority separation are covered. Source/registry/groupant checks validate declarations rather than semantic completeness. No live model, corpus assessment, training, import or runtime mutation was used.
This page in Markdown โ https://md.groupants.elamur.ai/free/en/mova/tools/fish-batch/composition.groupant/