Skip to content

fix: the MCP fixture uses the Btrfs scratch the harness hands it - #7

Merged
CesarManzoCode merged 1 commit into
mainfrom
claude/mcp-btrfs-scratch-fixture-q07m7f
Aug 30, 2026
Merged

fix: the MCP fixture uses the Btrfs scratch the harness hands it#7
CesarManzoCode merged 1 commit into
mainfrom
claude/mcp-btrfs-scratch-fixture-q07m7f

Conversation

@CesarManzoCode

Copy link
Copy Markdown
Owner

The only FAILED left in a full dev/verify.sh on Fedora was cargo test --workspace, and two tests in the_adapter_speaks_mcp.rs were all of it: both reported «there is no Btrfs here, so no boundary can be opened» on the same run that had just PROVEN stages 58 and 59 against real Btrfs.

Nothing was wrong with Thalyx. started_with() built its workspace with tempfile::tempdir(), which answers /tmp, and /tmp on Fedora is tmpfs — so hacer could not open a boundary there, correctly. The harness had already solved this: verify.sh sets THALYX_BTRFS_SCRATCH beside THALYX_REQUIRE_BTRFS_TESTS=1, after physically creating a subvolume at that path. This fixture was the one place ignoring it, so the demand turned an honest NOT PROVEN into a failure of the machine — rule 5, the instrument including the harness.

Two things were needed, not one. The TempDir now goes on the scratch when the variable is set (tempdir_in, one per fixture, so the tests that share the scratch do not share a tree), and the workspace inside it is made as a subvolume: being on Btrfs is not enough, because a boundary is about the subvolume the session stands in and never looks upwards for one, so a plain directory on the scratch answers not_a_subvolume exactly as tmpfs does.

With the variable unset the fixture is byte for byte what it was, and the subvolume create is best effort: where the scratch is not Btrfs the skip still says NOT PROVEN rather than this panicking about a machine it was never promised. THALYX_REQUIRE_BTRFS_TESTS is untouched and still turns that skip into a failure.

The only FAILED left in a full `dev/verify.sh` on Fedora was
`cargo test --workspace`, and two tests in `the_adapter_speaks_mcp.rs`
were all of it: both reported «there is no Btrfs here, so no boundary
can be opened» on the same run that had just PROVEN stages 58 and 59
against real Btrfs.

Nothing was wrong with Thalyx. `started_with()` built its workspace with
`tempfile::tempdir()`, which answers `/tmp`, and `/tmp` on Fedora is
tmpfs — so `hacer` could not open a boundary there, correctly. The
harness had already solved this: `verify.sh` sets `THALYX_BTRFS_SCRATCH`
beside `THALYX_REQUIRE_BTRFS_TESTS=1`, after physically creating a
subvolume at that path. This fixture was the one place ignoring it, so
the demand turned an honest NOT PROVEN into a failure of the machine —
rule 5, the instrument including the harness.

Two things were needed, not one. The TempDir now goes on the scratch
when the variable is set (`tempdir_in`, one per fixture, so the tests
that share the scratch do not share a tree), and the workspace inside it
is made as a subvolume: being *on* Btrfs is not enough, because a
boundary is about the subvolume the session stands in and never looks
upwards for one, so a plain directory on the scratch answers
`not_a_subvolume` exactly as tmpfs does.

With the variable unset the fixture is byte for byte what it was, and
the subvolume create is best effort: where the scratch is not Btrfs the
skip still says NOT PROVEN rather than this panicking about a machine it
was never promised. `THALYX_REQUIRE_BTRFS_TESTS` is untouched and still
turns that skip into a failure.
@CesarManzoCode
CesarManzoCode merged commit 648e131 into main Aug 30, 2026
1 check failed
@CesarManzoCode
CesarManzoCode deleted the claude/mcp-btrfs-scratch-fixture-q07m7f branch September 5, 2026 03:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant