sandbox-v2-lifecycle

작성자: vercel

Vercel Sandbox v2 라이프사이클 전문 지식으로 vercel-openclaw용: 명명된 영구 OpenClaw 샌드박스 생성/재개/중지/삭제, 영구 자동 저장 진실, 수동…

npx skills add https://github.com/vercel-labs/vercel-openclaw --skill sandbox-v2-lifecycle

Sandbox v2 Lifecycle

Use this skill for vercel-openclaw sandbox lifecycle, restore, stop, reset, hot-spare, worker sandbox, and debug timing work.

Source Of Truth

Official Vercel Sandbox v2 docs are authoritative. Repo docs or agent guidance that assumes v1/manual snapshot restore is stale unless already updated.

Load references only as needed:

  • references/vercel-sandbox-v2-persistent.md — persistent sandbox auto-save/resume/name/session model.
  • references/vercel-sandbox-v2-sdk.md — SDK calls, resume flags, delete, command behavior, and network policy notes.
  • references/vercel-sandbox-v2-snapshots.md — manual Snapshot API semantics.
  • references/vercel-openclaw-lifecycle-map.md — repo-specific invariants and owner files.

Core Model

  • Main OpenClaw runtime is one named persistent sandbox.
  • Persistent stop() auto-saves filesystem state; no manual snapshot() is needed for normal stop.
  • Normal wake resumes by name with Sandbox.get({ name, resume: true }) through the repo controller.
  • resume defaults false; use resume:false for observation/status reconciliation.
  • Commands may auto-resume stopped persistent sandboxes; stop() and update() do not.
  • Manual snapshot() is explicit/debug/checkpoint only. It shuts the sandbox down; do not call stop() afterward.
  • delete() permanently removes the persistent sandbox and its sessions/snapshots.
  • Worker/debug sandboxes are short-lived; pass persistent:false.

Repo Invariants

  • Preserve one persistent OpenClaw sandbox, Redis metadata, channel wake/restore, and short-lived workers.
  • Keep SDK access behind src/server/sandbox/controller.ts except documented raw SDK debug routes.
  • Distinguish host metadata status, SDK status/session, gateway readiness, persistent auto-saved state, and manual Snapshot APIs.
  • Do not use manual snapshotId as the normal restore gate.
  • Preserve resume:false during snapshotting/stopped observation.
  • Keep lifecycle locks and fail-closed firewall behavior.

Workflow

  1. Read lat.md/sandbox-lifecycle.md, docs/lifecycle-and-restore.md, and relevant references from this skill.
  2. Inspect src/server/sandbox/lifecycle.ts, controller.ts, restore-attestation.ts, hot-spare.ts, and worker sandbox code.
  3. Classify whether the change affects persistent resume, manual snapshots, reset/delete, workers, or debug diagnostics.
  4. Patch the smallest surface that fixes the v2 truth model.
  5. Add or adjust targeted tests before broad verification.

Verification

Run the narrowest covering test first, then broader gates for lifecycle changes:

node --import tsx --test src/server/sandbox/restore-attestation.test.ts
pnpm run test:lifecycle
pnpm run typecheck
pnpm run lint
lat check

When touching launch verification or preflight, also run pnpm run verify:observability-pass.

vercel의 다른 스킬

benchmark-sandbox
vercel
Vercel Sandbox에서 vercel-plugin eval 시나리오를 로컬 WezTerm 패널 대신 실행합니다. Claude Code와 플러그인이 사전 설치된 임시 마이크로VM을 프로비저닝합니다.
official
emil-design-eng
vercel
이 스킬은 Emil Kowalski의 UI 폴리시, 컴포넌트 디자인, 애니메이션 결정, 그리고 소프트웨어를 훌륭하게 만드는 보이지 않는 세부 사항에 대한 철학을 인코딩합니다.
official
vercel-react-best-practices
vercel
Vercel Engineering의 React 및 Next.js 성능 최적화 가이드라인입니다. 이 스킬은 React/Next.js 코드를 작성, 검토 또는 리팩토링할 때 사용해야 합니다.
official
vercel-react-best-practices
vercel
Vercel Engineering의 React 및 Next.js 성능 최적화 가이드라인입니다. 이 스킬은 React/Next.js 코드를 작성, 검토 또는 리팩토링할 때 사용해야 합니다.
official
write-guide
vercel
점진적인 예제를 통해 실제 사용 사례를 가르치는 기술 가이드를 제작합니다. 개념은 독자가 필요로 할 때만 소개됩니다.
official
release
vercel
Vercel-plugin 릴리스 — 게이트 실행, 버전 업, 아티팩트 생성, 커밋 및 푸시. "릴리스", "배포", "버전 업 및 푸시", "릴리스 생성" 요청 시 사용.
official
deepsec
vercel
dev3000에서 체크아웃한 Vercel 프로젝트에 대해 DeepSec을 실행합니다. 원클릭 DeepSec 설정, 프로젝트 컨텍스트 부트스트래핑, 제한된 1차 처리 등에 사용합니다.
official
backport-pr
vercel
병합된 Next.js 풀 리퀘스트를 canary에서 next-16-2와 같은 이전 릴리스 브랜치로 백포트합니다. 사용자가 백포트, 체리픽 또는 열기를 요청할 때 사용합니다…
official