---
title: "fish-pages-intent-accounting — Mova code model"
description: "Mova code model of tools/fish-pages/src/lib.rs: components with their labels, obernants and the model text."
url: "https://groupants.elamur.ai/free/en/mova/tools/fish-pages/src/lib.rs.groupant/intent-accounting.groupant/"
---
Elamur: [Mova](https://md.mova.elamur.ai/free/en/) · [Dictionary](https://md.dictionary.elamur.ai/free/en/) · [Research](https://md.research.elamur.ai/free/en/) · **Groupants**

This page as HTML: <https://groupants.elamur.ai/free/en/mova/tools/fish-pages/src/lib.rs.groupant/intent-accounting.groupant/>

# fish-pages-intent-accounting

The groupant beside tools/fish-pages/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

- **kind:** groupant_fragment
- **status:** partial source bound model
- **source:** [`tools/fish-pages/src/lib.rs`](https://github.com/ElamurAI/mova-free/blob/main/tools/fish-pages/src/lib.rs)
- **source SHA-256:** `284d3d93e75b0b65…`
- **covers:** plans/admit: disjoint global ownership and exact queued/deferred/rejected partition
- **part of:** [fish-pages-library](https://md.groupants.elamur.ai/free/en/mova/tools/fish-pages/src/lib.rs.groupant/)
- **repository folder:** [`tools/fish-pages/src/lib.rs.groupant/intent-accounting.groupant`](https://github.com/ElamurAI/mova-free/tree/main/tools/fish-pages/src/lib.rs.groupant/intent-accounting.groupant)
- **repository commit:** `855da7bd4a7b`

> **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](#forward) |
| **ast** | partial | `../syntax.json` |
| **composition** | partial source derived | [composition](#composition) |
| **cost** | partial source derived | [cost](#cost) |
| **descriptant** | partial source derived | [domain](#domain) |
| **invariant** | partial source derived | [invariant](#invariant) |
| **tests** | finite checks | [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 finite checks | [behavior-complement](#behavior-complement) |
| `reverse-reconstruction` | reverse_reconstruction | source derived finite checks | [reverse-reconstruction](#reverse-reconstruction) |

## Model text


### domain
Source scope: plans/admit and bounded Pin/config parsing in the parent Rust file. Inputs are pinned global intents and one producer admission; observations are source ownership and prelaunch refusal. This is a partial projection of the parent's syntax, not a separate implementation.

### forward
Verify disjoint source ownership across all intents, then require actual pinned Task target IDs, deferred and rejected source IDs to account for the current intent exactly once. Each intent contains1..256 sources; tasks have1..8 targets. The ready file and task bytes remain bound by independent SHA pins.

### behavior-complement
Within this domain, launch admission is excluded by missing/foreign/duplicate IDs, overlap between queued targets and gaps, unexplained gaps, invalid pins or unsafe intent paths. Formula: admission implies Q disjoint-union D disjoint-union R=I. Counterexample: adding a correct target to both Q and D must fail even when its AST is valid. Structural completeness says nothing about omitted corpus IDs outside the declared plan. Evidence: fake Rust duplicate/unaccounted/gap fixtures.

### reverse-reconstruction
A complete partition determines source-accounting membership, but many producer histories and annotation bytes can yield it. Deferred(reason) does not uniquely reconstruct a failed parser state; the bound artifact is needed. Observing a tiny complete plan cannot recover the absent larger corpus. Assumptions: immutable pins and honest producer provenance; no semantic or global-completeness proof.

### invariant
Every intended ID enters exactly one prelaunch account and source counts remain distinct from job counts. No truncation, native-label invention, database mutation or training permission occurs here.

### cost
Global ownership indexing O(N log N), current page membership O(M log M) plus bounded task bytes, M<=256. These are symbolic costs, not measured speed/error percentages.

### composition
Producer intent -> ready page -> actual pinned Task/gap partition -> imported swarm. Native syntax/label semantics are checked downstream; held-out/source-phase selection remains a producer obligation.

### checks
Shares the parent's eight finite fake Rust fixtures, especially duplicate, foreign/unaccounted and explicit-gap controls. No independent full corpus or live-provider test.
