GitHub Issue

Proposal: Mitos device backend + collaboration on full-state fork semantics

Discovered On Jul 5, 2026
Primary Metric open
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

dcx • Jul 5, 2026
Hello, thanks for writing! These are all very interesting questions:

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!
stubbi • Jul 5, 2026
Amazing! Thanks for coming back so quickly and happy to discuss anytime really (based in CEST)!