Working today
- Real macOS mount, reads and permitted writes
- One FIFO queue around supported operations
- Read-only default with an explicit write prefix
- Queue logs and cross-process test evidence
- Read-only APFS physical-device lookup
EXPERIMENTAL · BUILT FOR macOS
AI agents move fast. Mechanical drives have moving parts. SpindleGuard is exploring a more orderly path between the two.
Open-source prototype · C + FUSE · Disposable test data only
THE PROBLEM IS PHYSICAL
An agent can launch a directory scan, a search and a large read in moments. On a mechanical drive, those competing requests can turn useful work into constant seeking.
The direction is simple: put a broker between applications and storage. Let busy drives finish work while the next request waits its turn.
Many paths on one physical drive should share one queue. That is the destination; this prototype starts with one source tree.
BACKPRESSURE, MADE VISIBLE
When a supported backing operation is active, the next one waits. Try this illustration of the single-queue prototype.
Ready when you are. Start the demo to follow two requests.
RECORDED ON A REAL MOUNT
Two independent client processes. A FUSE-T mount. Disposable files on an internal SSD. The second file’s metadata request waited while the first file’s reads held the queue.
Read the test evidenceThe test deliberately slowed each read callback by 150 ms to expose waiting. This is a functional proof, not an HDD performance benchmark.
BUILT IN THE OPEN
A first working experiment, with a clear boundary between demonstrated behavior and the larger ambition.
FOR BUILDERS, TINKERERS & STORAGE PEOPLE
Inspect the code, reproduce the queue test, or contribute to the next milestone. The project code is GPL-2.0-or-later; the FUSE-T runtime has its own license.
Open SpindleGuard on GitHub