fabro/lib/apps
Bryan Helmkamp 67ba595b01
Record the run branch, identity, artifacts and diffs from the hooks
The commit that creates a workspace's run branch records `run.branch`
(the base commit, or the first checkpoint in a workspace with no history)
and `git.identity`. Every checkpoint record after the first carries the
stage's diff from its parent commit, with the patch as a text blob. After
the checkpoint record, the transition hook lists the stage's workspace
through the scope's environment, on the host and in a sandbox alike, and
collects every file under `[run.artifacts] include` into the blob table as
an `artifact.collected` record, skipping a file already collected under
the same path and digest. At the run's end the hooks diff the branch's
last checkpoint against its base in the snapshot repository and record
`run.diff`.

`engine::retention` maps the environment's lifecycle settings onto
Petri's workspace retention instead of always keeping every workspace:
`preserve`, `stop_on_terminal = false` and the local provider keep them,
anything else keeps a failed scope's only. The hooks docs no longer name a
redundant link target, so rustdoc passes with warnings denied.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-18 16:00:11 -04:00
..
fabro-cli Record the run branch, identity, artifacts and diffs from the hooks 2026-09-18 16:00:11 -04:00
fabro-mcp-server Simplify run creation to registered workflow versions 2026-09-12 11:04:15 -06:00
fabro-server Record the run branch, identity, artifacts and diffs from the hooks 2026-09-18 16:00:11 -04:00
fabro-spa refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00