aLargeValueRoundTripsWhole
A value far larger than any single buffer on the write or read path, with position-dependent content.
Both knobs here select whether this property can fail at all:
LARGE_VALUE_BYTES, at 256 KiB, is 64 pages at 4 KiB and 16 at 16 KiB (APFS), well past the JVM's 8 KiB default stream buffer and past any plausible one-shot copy. A "large" payload of a few KiB sits inside a single page and inside every buffer in the stack, so a truncation at a boundary is not reachable and the property degenerates into a slower copy of writtenBytesComeBackExactly.
The fill is seeded pseudo-random, not a constant.
ByteArray(n) { 0xA5 }is byte-for-byte equal to a truncated-then-zero-padded version of itself only in the tail — but it is equal to a version with any interior block duplicated, or with two blocks swapped, and those are exactly the defects a chunked write path produces. A seeded fill makes every such rearrangement visible. Seeded, notRandom.Default: a test's randomness is a dependency like any other.
The size assertion is separate from the content assertion on purpose — a truncation and a corruption are different diagnoses, and assertContentEquals alone reports the first mismatched index rather than the length.