Run the 10, 100 and 350 GB release gates with one command#69

merged1
feat/gate-3-browser
feat/gate-4-gates
openedOct 2, 2026byAAviddaram
View on GitHubTwo-way sync enabledPR last imported 20d ago

RELIABILITY.md's release gates had no way to run. This layer adds the gate scenario and the three gates from its table.

text
1GATE=internal|beta|promise [GATE_SIZE=2GiB] TEST_LOGIN_KEY=… vp run test:gate
2
3internal 10 GiB offline 90 s, failed part, reload
4beta 100 GiB + tab close, 20 min sleep (past the 15 min URL lifetime), crash, changed file
5promise 350 GiB offline 10 min, crash, changed file
6every gate loses the Complete response
7
8per gate: mount → hash → send through the UI → inject each fault at its fraction of acked parts
9 → Ready in the UI and complete in the API → anonymous download, sha256 must match
10asserts: 1 upload id, 1 create, 0 avoidable resends, 0 missing parts, only the planned re-picks

Each run writes e2e/runs/<slug>/ with result.json, ledger.jsonl and a screenshot per step, and cancels its delivery on exit. A GATE_SIZE rehearsal is recorded as sizeOverridden, so it can't pass for the real gate. Gates have their own vitest config, so preview CI's test:e2e never runs them. docs/TESTING.md now describes what's built.

The first rehearsal failed at its first fault: network loss stopped the upload until someone pressed Retry. #65 fixes that. Against #65's preview, internal at 2 GiB and beta at 4 GiB both pass with 0 avoidable resends and matching hashes.

Checks

4 successful · 2 skipped
All checks passed
c83b8b6

Added 1 commit

  • Add the gate scenario runner and fault plansc83b8b6
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: c5958c8a-0a4c-46d5-9d50-c148c30bcb71

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.