GitHub Issue
Proposal: Mitos device backend + collaboration on full-state fork semantics
We build [Mitos](https://github.com/mitos-run/mitos), an OSS snapshot-fork sandbox runtime: Firecracker microVMs forked via CoW snapshots, so a fork inherits the full running VM (memory, processes, open sockets), not just the filesystem, in ~80 ms warm. Reading your paper, we think there's a useful collaboration here, in increasing order of ambition:
**1.** A device backend, our effort. We'd like to contribute (in-tree or as a third-party adapter, your call) a backend where Shepherd fork points map to full-VM fork. Happy to align with wherever the device interface is heading pre-1.0.
**2.** An interface question worth settling before 1.0. The current fork contract appears filesystem-scoped. Should the device layer be able to express full-state fork, and where does inherited memory state sit in your reversibility tiers? We maintain a fork-correctness hazard catalogue (RNG, clocks, secret inheritance) that seems complementary to your taxonomy; we've cited your paper there.
**3.** An experiment your current backends can't run. All backends in Appendix C.7 fork fs state only, so your results don't measure what warm memory/process state adds to CRO or tree-RL (e.g. branches that keep a running server or warm interpreter). We'd be glad to support a re-run on a full-state substrate, including bare-metal KVM hardware for reproducible benchmarks.
Item 1 stands on its own if 2 and 3 aren't interesting. Would an issue thread here work, or is there a better channel?
View Raw Thread
Developer & User Discourse
stubbi • Jul 5, 2026
Amazing! Thanks for coming back so quickly and happy to discuss anytime really (based in CEST)!
SaaS Metrics
1. We have some solutions cooking for full-VM – we'd like to support Firecracker, Modal, etc. Would love to bounce this around with you and see how well this works with your target use cases! Let me get back to you on this, ideally tomorrow, but def in the next few days.
2. Fascinating – I wonder whether it could make sense to pass around VM state as a type supported by our substrate. We have this in mind for our AI agent chat sessions, i.e. that one should be able to pass an immutable Claude session state into a `@task` as input, and receive one back as output. But I wonder whether this might inadvertently duplicate filesystem state. I'm quite interested in supporting this, though!
3. I'm tagging Simon on this point.
This is probably the best channel at this stage, but we might set up a Discord if things get busier!