Skip to content

Snapshot corruption stress test#95

Open
ZIJ wants to merge 6 commits intomainfrom
snapshot-corruption-stress-test
Open

Snapshot corruption stress test#95
ZIJ wants to merge 6 commits intomainfrom
snapshot-corruption-stress-test

Conversation

@ZIJ
Copy link
Copy Markdown
Contributor

@ZIJ ZIJ commented Mar 30, 2026

No description provided.

ZIJ and others added 6 commits March 30, 2026 15:41
Restructure .agents_wip → .agents/wip, move docs-plan to .agents/done.
Add design for SDK-level stress test targeting all 4 known corruption
vectors at N=20 concurrency, with plans to scale to 1000.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
SDK-level stress test that runs N sandboxes through a corruption-prone
lifecycle: create → write marker → checkpoint → write marker2 →
hibernate → wake (no delay) → verify SHA256 → destroy.

Optional --fork-blast phase: 5 concurrent forks from same checkpoint.
CLI args via parseArgs, concurrency pool, JSON report output.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Relocated from sdks/typescript/examples/ to scripts/ to match project
layout. Updated env var names to match OPENCOMPUTER_API_KEY/URL convention
used across demo-elasticity, bolt-new-poc, and other projects.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Phase 1 (fork blast): deterministic Vector 4 test — race concurrent
forks against checkpoint deletion.
Phase 2 (hibernate/wake soak): statistical Vector 1 test — many cycles
relying on natural cross-worker distribution.

Dropped single lifecycle gauntlet — it verified local files which are
always correct. Corruption lives in S3 archives, only exposed on
cross-worker wake.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Customer reported: restore from snapshot → git segfaults → snapshot corrupted.
Redesigned as 5 rounds × 200 restores = 1000 total. Each round creates a
fresh checkpoint, destroys the source, then restores 200 times with git +
SHA256 verification. Tests both snapshot creation reliability and restore
path integrity.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Use /workspace/ instead of /home/user/ (sandbox user is 'sandbox')
- Set git user.name/email before commit
- Keep source sandbox alive during restores, destroy after
- Show per-restore progress at small counts, every 10/25 at scale

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel bot commented Mar 30, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
opensandbox Ready Ready Preview, Comment Mar 30, 2026 5:26pm

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant