Define sandbox block roles and clone/resume snapshot tiers
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 1.9k
- Forks
- 238
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 100
Description
Tracking issue: MicroVM support and private snapshot restore.
Motivation
A snapshot intended for independent clones has different storage and identity
requirements from one intended to resume an instance. Explicit block roles and
capture tiers would prevent a restore from treating mutable scratch data as a
shareable template or applying clone policy to state that requires resume semantics.
Proposed Scope
- Define supported sandbox block roles and their identity, mutability, ownership,
and attachment requirements. - Define explicit clone and resume capture tiers, recording the selected tier in
the authoritative snapshot contract. - Specify scratch-state identity and publication together with its clone/resume
behavior, including which data is retained, reset, or privately reconstructed. - Validate tier, block roles, attachment identities, and generation policy as one
coherent capture/restore request. - Integrate block-state publication and cleanup with the existing transaction.
- Document the role/tier compatibility matrix and unsupported combinations.
Acceptance Criteria
- Tests cover each supported role/tier combination and reject unsupported or
ambiguous combinations before publication or guest execution. - Clone restores do not accidentally share mutable scratch state or write into
immutable template storage. - Resume restores preserve the storage identity and contents promised by their
tier and reject incompatible replacement attachments. - Scratch publication failure leaves no apparently complete snapshot referring
to incomplete or incorrectly identified block state. - VMM tests distinguish clone isolation from resume continuity through actual
guest block I/O. - CLI/configuration documentation states tier selection and its relationship
to generation IDs and guest readiness.
Dependencies
Non-Goals
This issue does not introduce general-purpose storage replication or a snapshot
of arbitrary external block services. Authoritative RPC exposure of the tiered
operations is a separate integration PR.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the linked 00-microvm.md tracking document and dependency issue E03 (4444) to understand the surrounding snapshot and restore contracts. Then map the existing transaction, block-state publication, VMM test, and CLI/configuration documentation entry points; done means the role/tier matrix, validation, isolation and continuity tests, cleanup behavior, and documentation satisfy the listed acceptance criteria.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100