docs(openspec): golden-fork ephemeral devcontainers proposal#73798
Draft
stephenliang wants to merge 1 commit into
Draft
docs(openspec): golden-fork ephemeral devcontainers proposal#73798stephenliang wants to merge 1 commit into
stephenliang wants to merge 1 commit into
Conversation
Evidence-based OpenSpec change: proposal, design (10 decisions), 6 specs incl. a DevEx verification contract with measured budgets, 27 tasks, and the reference Dockerfiles/scripts proven in experiments A-G and H-B/C/D. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
OpenSpec change proposing golden-fork ephemeral devcontainers: disposable, credential-free dev sandboxes that fork a locally-refreshed "golden" environment in seconds, for humans and autonomous coding agents alike. Docs + reference implementations only — no product code changes in this PR.
The problem. A dev environment today is a 30+ minute babysat bootstrap (>10 min of it seeding curriculum), yields exactly one mutable environment per machine, and can't safely host autonomous agents because AWS credentials are ambient. The seed's incremental cache lives in DB columns, so a fresh DB always pays full price — only a materialized database short-circuits it.
The shape. Registry ships two boring images (toolchain+caches, and
mysql:8.0+ pre-seeded datadir baked at a non-VOLUME path); the repo never ships in an image (git is the delta channel); a background golden refresh keeps a local golden current (never-commit-failures, last-good fallback);bin/sandbox newforks golden + adds a git worktree in ~4s with persona profiles (--rails|--frontend|--apps|--fullstack); sandboxes are zero-credential and can run fully offline. A DevEx verification suite turns the promised experience into CI-enforced budgets across every persona and angle (creation latency, edit/test loops, 3-week-vacation staleness replays, churn/leaks, isolation, disposability-under-violence, offline, download economics, an Apple Silicon gate).Evidence. Eleven measured experiments (A–G, H-B/C/D, 2026-07-11/12) on real builds of this repo, plus web research (big-repo prior art, the Rails way, instant-DB-fork state of the art). Headlines: seeded-DB fork serves in 0.85s; full sandbox create ~4s; 15-cycle churn flat at ~0.8s with zero leaks; kill-9-mid-write → pristine re-fork in 785ms; real level pages 200 with working JS in ~16s; incremental catch-up reseed 1m22s; frontend HMR 53–67ms; vite+rails integration viable in one sandbox (~1GB vs 6.5–14GB for the legacy apps webpack loop). The proven Dockerfiles/entrypoints/shims from the experiments are committed under
references/.Also found and folded in as Phase-0 tasks (each independently shippable): the Spring/
mutex_mconflict makes every single test pay ~44s of boot (largest single Rails DevEx lever — warm Spring measured 0.79s); a seed whole-input hash guard cuts a no-opseed:defaultfrom ~75s to ~13s; two live bugs (ZeitwerkCdo::Awsshadowing::Awsbreaks devdb:migrateat staging tip;analytics_exportable.rakemakes a live Secrets Manager call on every dev migrate); and the repo has no root.dockerignore.Links
openspec/changes/golden-fork-devcontainers/(proposal, design with 10 decisions + recommendations on remaining open questions, 6 specs, 27 tasks, references/)Testing story
Docs-only PR;
openspec validate golden-fork-devcontainerspasses. The claims in the design are backed by the experiments described above; thedevex-verificationspec defines how they stay true (CI-gated budgets) once implemented.🤖 Generated with Claude Code