mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-10-01 02:04:24 +00:00
Fabro's hooks on a Petri run wrap the hooks the runtime installed for `[[run.hooks]]` and forward every point. In `prepare_result`, before the finish is recorded, they commit the stage's files on the run branch of its host workspace with Fabro's author identity and the run, execution, firing and attempt as trailers, and publish the commit to a snapshot repository beside the run's workspaces under a ref per checkpoint. A stage that failed on its own terms is committed like a successful one; a commit that fails is fatal: the outcome becomes a `checkpoint_failed` failure, the run is cancelled through the coordinator handle, and the transition refuses the firing's routes. In `transition` they write the platform checkpoint record, keyed on the Petri position and the checkpoint's operation identity, and a failed write is a recorded problem. On restart the server runs the recovery protocol before it relaunches a worker: a run with a failed checkpoint is reported failed; otherwise every live execution's last durable finish names the snapshot its workspace is verified against, reset to, or restored from, with a lost record reconciled from the snapshot repository, and a finish with no snapshot fails the run rather than resume it on stale files. The worker reaches the platform records over two new worker-scoped endpoints; the server reaches the table directly. A test gate directory lets the CLI scenarios hold a checkpoint at a named point. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| apps | ||
| components | ||
| foundation | ||
| packages/fabro-api-client | ||