fabro/lib
Bryan Helmkamp e7d55d6ec7
Serve fork, rewind, retry and the timeline on the runs API
`GET /runs/{id}/timeline` lists the run's checkpoints with their Petri
positions, stages, commits and diff summaries, and its fork origin.
`POST /runs/{id}/fork` resolves a target on that timeline, creates the
new run, seeds it through `fabro_petri::fork` and queues it in resume
mode, so its worker restores the checkpoint into a fresh workspace and
continues from the position; a position inside a parallel branch is
refused with 400 before the run exists. `POST /runs/{id}/rewind` is that
fork of a terminal run followed by the source's archive and its
`run.superseded` record (207 when the archive fails); `POST
/runs/{id}/retry` forks a terminal run at its last checkpoint, rerunning
the stage that failed. The projection carries `forked_from`. The Rust
and TypeScript clients gain the four calls.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-18 23:17:25 -04:00
..
apps Serve fork, rewind, retry and the timeline on the runs API 2026-09-18 23:17:25 -04:00
components Restore the timeline, fork, rewind and retry operations over checkpoints 2026-09-18 23:17:25 -04:00
foundation Serve fork, rewind, retry and the timeline on the runs API 2026-09-18 23:17:25 -04:00
packages/fabro-api-client Serve fork, rewind, retry and the timeline on the runs API 2026-09-18 23:17:25 -04:00