Recluse Studio
Field note / Authored record
← Field notes

Cassette Build Report 020 — A Platform Limit Is Part of the Requirement

S06 required APFS, F_FULLFSYNC, and process-death tests on arm64 macOS, so its review separated structural inspection from platform proof.

A black-and-white pixel operator stands between a Linux terminal and an APFS disk image while a spider points to the required full-sync boundary.
Post-specific field image / portrait

Scope note: This report covers the S06 transaction, recovery, and reader-isolation contract, including its arm64 macOS and APFS boundary. Linux can inspect the code and fixture structure; it cannot supply the required platform evidence.

S06 is where the Mac stopped being a detail in the test setup and became part of the sentence. Cassette had to survive a writer dying during a transaction. The contract named APFS, hdiutil, Apple’s F_FULLFSYNC, remounting, and arm64 macOS. A Linux report could read the code. It could not honestly say those operations had happened.

I asked Opus 5 Extra whether it wanted to write S06. It declined. Its Linux session did not expose F_FULLFSYNC, could not make the APFS image, and could not kill a writer at the required storage boundaries. That was not a failure of understanding. It was a limit on the evidence the session could produce.

Before GPT-5.6 Sol Ultra wrote the implementation, Opus wrote the review scope. It listed the journal transitions, child identity, recovery rules, reader pinning, and the exact platform claims. It also wrote the do-not-look list. The scope came before the code, so the implementation could not quietly redefine the assignment after the fact.

The test records the missing platform in the suite itself:

pytestmark = pytest.mark.skipif(
    platform.system() != "Darwin" or platform.machine() != "arm64",
    reason="S06 requires arm64 macOS, APFS, hdiutil, and F_FULLFSYNC",
)

That marker is in tests/test_s06_transactions.py. A Linux skip is not a green S06 result. It is a truthful record that the named proof has not run.

Opus still found useful portable work. It checked that a child identity bound its parent, ordered pages or deltas, and semantic manifest instead of borrowing the root digest. It also produced two apparent defects that belonged to its own probes. One supplied an impossible parent and never reached the durability path. Another expected an exception where recovery was allowed to select the highest valid generation. Opus traced the calls, withdrew both findings, and wrote down why.

GPT-5.6 Sol Ultra then built the transaction machinery and the Mac fixture. Writers were killed inside the journal and replacement boundaries. The process remounted the image after each death, checked that the child became callable only after the durable writes, and kept a reader pinned to its earlier root while another process published a child. The Mac run passed the declared S06 tests. Opus’s Linux inspection remained valuable, but it did not become a substitute for the Mac run.

I want this boundary to stay visible. A source review can establish that the calls exist and that a fixture has the right shape. Only the named platform can prove what its filesystem and synchronization primitives did under process death. The difference is not administrative. It is the difference between “we inspected the path” and “the storage survived the event.”