CI where every failure replays, exactly.

hypervise runs your GitHub Actions jobs in deterministic virtual machines that record everything coming in. When a job fails, its recording is kept: replay the failure bit for bit, rewind to any moment of the run, and inspect memory, registers and files exactly as they were. Flaky failures included.

Get started

One line to try it

jobs:
  test:
    runs-on: hypervise   # the only change
    steps:
      - uses: actions/checkout@v4
      - run: make test

Every failure, kept

Every job is recorded from its first step: network, disk, clock and randomness are logged at the exact instruction they arrive. A failed run stays reproducible. There's no need to re-run it and hope.

Time travel

Jump to any point of the failed run: before the test started, just before the crash, or the instruction where a value went wrong. Inspect the whole machine there, then move on.

Nothing to change

The same Ubuntu, GitHub runner, Docker and setup-* actions as usual. Point runs-on at hypervise and your existing workflow runs, recorded.

Why deterministic?

Normal CI re-runs a failing job and hopes. hypervise makes the machine itself deterministic: the same inputs always produce the same execution, instruction for instruction. So a recording of a failure doesn't just describe it, it reproduces it, every time, as often as you need.

Fast when you want it

Recorded runs use one core. Steps that don't need recording, like checkout or a build, can switch the running machine to several cores at near-native speed with hypervise update-config, and back. Long test suites can split into recorded shards that run side by side. How it works.

Private beta: replay and time-travel sessions run with us on request, and a self-serve API, for people and for AI agents, is next. Linux x86-64 jobs on bare-metal Intel hosts. Current limits.