fabro/lib
Bryan Helmkamp a039274c92
Group the hooks' bookkeeping into three ledgers with one loaded-once shape
FabroHooks held twenty-one flat fields. Three of them were "a set read
from the store once, then kept current", in two shapes: a Mutex beside a
OnceCell<()> that had to be initialised first, and, for the restore plan,
a OnceCell<Mutex<_>> that could not be read uninitialised. The recorded
checkpoints and the collected artifacts now use the second shape too.
The checkpoint state (committed, recorded, last, branch), the artifact
state (globs, collected) and the scope state (environments, inherited
workspaces, per-workspace locks) are three structs with their own methods,
so each invariant lives in one type instead of in every caller.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-20 14:53:46 -04:00
..
apps Share one poison-tolerant lock helper from fabro-util 2026-09-20 14:47:46 -04:00
components Group the hooks' bookkeeping into three ledgers with one loaded-once shape 2026-09-20 14:53:46 -04:00
foundation Share one poison-tolerant lock helper from fabro-util 2026-09-20 14:47:46 -04:00
packages/fabro-api-client Forward every configured sandbox plugin to the Petri worker 2026-09-19 14:45:42 -04:00