---
title: "mlab-tests-fs — Mova code model"
description: "Mova code model of mlab/tests/fs.rs: components with their labels, obernants and the model text."
url: "https://groupants.elamur.ai/free/en/mova/mlab/tests/fs.rs.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/mlab/tests/fs.rs.groupant/>

# mlab-tests-fs

The groupant beside mlab/tests/fs.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
- **status:** partial source bound model
- **source:** [`mlab/tests/fs.rs`](https://github.com/ElamurAI/mova-free/blob/main/mlab/tests/fs.rs)
- **source SHA-256:** `97102d6c4f35ec52…`
- **repository folder:** [`mlab/tests/fs.rs.groupant`](https://github.com/ElamurAI/mova-free/tree/main/mlab/tests/fs.rs.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 | [approximant](#approximant) |
| **ast** | partial | `syntax.json` |
| **composition** | partial | [composition](#composition) |
| **cost** | symbolic source derived | [invariant](#invariant) |
| **descriptant** | present | [descriptant](#descriptant) |
| **invariant** | partial | [invariant](#invariant) |
| **tests** | executed bounded checks | [tests](#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](#behavior-complement) |
| `reverse_reconstruction` | reverse_reconstruction | partial source derived model | [reverse_reconstruction](#reverse-reconstruction) |
| `state_invariant` | state_invariant | partial source derived model | [state_invariant](#state-invariant) |
| `failure_precedence` | failure_precedence | partial source derived model | [failure_precedence](#failure-precedence) |
| `representation_transport` | representation_transport | partial source derived model | [representation_transport](#representation-transport) |
| `resource_cost` | resource_cost | partial source derived model | [resource_cost](#resource-cost) |

## Model text


### descriptant

#### mlab-tests-fs

VFS parity, isolation, limits and CLI tests with temporary directory guards; frozen suite tests exist but were not selected.

##### Modeling epoch — 2026-10-31

Prospective source read preceded edits. Bounded synthetic checks and selected existing safe tests exercise actual code; paired debug/release results and compiled negative-control assertions are retained externally. Frozen scenario, corpus, external measurement, full-school and training effects are unexecuted. Partial lexical syntax supplies no macro-expanded or semantic proof.

### approximant

#### Forward relation

scratch creates PID/tag directory, Scratch Drop removes it; run_with creates captured interpreter with supplied backend and vm flag. Selected tests exercise memory invisibility, configured limits and CLI import/export/journal or rooted temp backend.

##### Domain

Valid Rust value/storage invariants and available bounded resources; exact branch and effect observations only.

##### Executable approximant gap

No useful percentage-error surrogate is established for these categorical, textual or effectful observations. Supported future caps are 1%, 2%, 5%, 10%; no executable approximation or production substitution is claimed.

### invariant

#### Invariants and costs

Selected host paths are synthetic temporary roots; guard cleanup occurs on unwind. Frozen SUITES constants and scenarios are unchanged and not executed.

##### Failure ordering

Fixture setup unwraps and panics on filesystem failures; scratch removes prior same-PID/tag directory, so unique tags are part of safe test precondition. CLI output decodes lossily.

##### Cost

Bounded fixture cost plus interpreter and spawned CLI startup; no performance claim. Unselected suite loops would scale by scenario count and backend pairs.

### composition

#### Composition

scratch creates PID/tag directory, Scratch Drop removes it; run_with creates captured interpreter with supplied backend and vm flag. Selected tests exercise memory invisibility, configured limits and CLI import/export/journal or rooted temp backend.

CLI helper returns status code or -1, stdout and stderr strings. No claim that empty stderr alone proves success; fixtures assert explicit code.

##### Interaction limit

Local fragment relations compose only with valid Value storage, caller error propagation and delegated providers. They do not establish whole-interpreter or host-filesystem guarantees.

### models

## Typed models — mlab-tests-fs

Source-derived partial relations; finite checks do not prove universality.

### behavior_complement

A memory write excludes creation of the corresponding host probe in the selected isolation assertion. Failed script excludes exported file in CLI fixture. Unselected frozen parity functions supply no epoch runtime evidence.

### reverse_reconstruction

Passing fixture assertions admits many implementations beyond exercised cases; captured output alone cannot recover filesystem effect trace, so tests also inspect paths/journal.

### state_invariant

Selected host paths are synthetic temporary roots; guard cleanup occurs on unwind. Frozen SUITES constants and scenarios are unchanged and not executed.

### failure_precedence

Fixture setup unwraps and panics on filesystem failures; scratch removes prior same-PID/tag directory, so unique tags are part of safe test precondition. CLI output decodes lossily.

### representation_transport

CLI helper returns status code or -1, stdout and stderr strings. No claim that empty stderr alone proves success; fixtures assert explicit code.

### resource_cost

Bounded fixture cost plus interpreter and spawned CLI startup; no performance claim. Unselected suite loops would scale by scenario count and backend pairs.

### tests

#### Evidence and limitations

Selected named outcomes: default_fs_is_memory_and_invisible_outside, fs_limits_fire_with_clear_errors, cli_import_export_journal, cli_dir_mode_reads_and_writes_inside_root_only. Each ran twice debug and twice release with sorted identical nonempty outcomes and numeric exit 0. Source-specific compiled control exercised "default_fs_is_memory_and_invisible_outside": compile exit 0, assertion-red exit 101, exact-restored rerun exit 0. External receipts: octopus-wave30-io-2026-10-31 (native-commands.json, positive-receipts.json, controls.json).

Scope: Selected host paths are synthetic temporary roots; guard cleanup occurs on unwind. Frozen SUITES constants and scenarios are unchanged and not executed.


AST projection generated twice to fresh files and compared byte-for-byte. Runtime evidence is finite and does not establish every branch, allocation failure, backend implementation or effect path. No optimization or speed claim.
