Serve gate-size test files from FUSE instead of disk#67

merged1
feat/gate-1-ledger
feat/gate-2-synthfile
openedOct 2, 2026byAAviddaram
View on GitHubTwo-way sync enabledPR last imported 20d ago

A 100 or 350 GB gate needs a file that size, and the box running it has 19 GB free.

tools/synthfile.py is a ~100-line read-only FUSE mount (mfusepy, run with uv run --script). It serves one file of any size. Each byte comes from AES-256-CTR at that offset, so the file takes no disk and reads back identically every time. The modified time is fixed from the CLI, so a second mount with --flip <offset> is the impostor: same name, size and mtime, one byte different. That's the only way to reach the per-part MD5 check behind the sampled fingerprint.

text
1mountSynthFile({ dir, name, size, seed, mtimeMs, flip? }) scoped: spawn, wait for the size, unmount on exit
2sha256File(path) streams 8 MiB reads, ~670 MB/s here

Requires fuse3 and uv. Pins: mfusepy==3.1.1, cryptography==50.0.1.

Checks

4 successful · 2 skipped
All checks passed
310d49d

Added 1 commit

  • Add the synthetic FUSE file for gate-size uploads310d49d
Synced from GitHub

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 6fc53969-7517-4820-8964-9608316aa1c8

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.