Built a plugin VM in Rust where every execution is recorded and replayable
Been working on this for a few months as a personal project. ChronicleVM is a sandboxed plugin runtime where external plugins that we test declare what host capabilities they need upfront (things likeclock.now@1, kv.get@1), the host decides grant/mock/deny before any code runs, and every execution produces a trace you can replay later without touching live host functions.
The replay part was the most interesting to build. Capability results get recorded into the trace, so replaying injects those values back in instead of re-calling the host. Means you can take a production failure trace and re-examine it exactly as it happened, offline, without reproducing the original environment.
Also ended up building a time-travel debugger (sounds fancy, but just math) over the traces such as step forward/backward, jump to any instruction, diff two points in execution, ask why a register changed.
There's a high-level .chr language that compiles down to a register-based bytecode, a static verifier, and a browser trace viewer.
The repo is in the comments
I would love some feedback