fabro/lib/components
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
..
fabro-automation Open sandbox provider identity to plugin kinds 2026-09-09 15:17:32 -06:00
fabro-checkpoint Merge remote-tracking branch 'origin/main' into remove/run-metadata-branches 2026-09-12 16:28:01 -06:00
fabro-dot Read workflow graphs through Petri's DOT parser 2026-09-19 12:23:57 -04:00
fabro-dump Build the run's display graph from Petri's admission 2026-09-19 11:41:58 -04:00
fabro-environment Open sandbox provider identity to plugin kinds 2026-09-09 15:17:32 -06:00
fabro-github Resolve one Git identity per run and inject it everywhere 2026-09-12 11:35:46 -06:00
fabro-graphviz Read workflow graphs through Petri's DOT parser 2026-09-19 12:23:57 -04:00
fabro-install Drop the dependency edges with no production use 2026-09-19 09:33:31 -04:00
fabro-interview Delete the interviewers the Petri cutover left unused 2026-09-19 09:05:52 -04:00
fabro-llm Drop the dependency edges with no production use 2026-09-19 09:33:31 -04:00
fabro-manifest Read workflow graphs through Petri's DOT parser 2026-09-19 12:23:57 -04:00
fabro-mcp-store refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
fabro-pebble-sandbox Fix the gate findings in the sandbox tests 2026-09-19 14:07:52 -04:00
fabro-petri Group the hooks' bookkeeping into three ledgers with one loaded-once shape 2026-09-20 14:53:46 -04:00
fabro-slack Delete fabro-core and the engine half of fabro-workflow 2026-09-18 10:44:41 -04:00
fabro-store Build the run's display graph from Petri's admission 2026-09-19 11:41:58 -04:00
fabro-tool Answer steer and interrupt with the worker's acknowledgement 2026-09-18 23:54:11 -04:00
fabro-tracker refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
fabro-variable refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
fabro-workflow Serve the sandbox tab, Run Files, and deletion on the driver handle 2026-09-19 13:56:13 -04:00
fabro-workflow-version Read workflow graphs through Petri's DOT parser 2026-09-19 12:23:57 -04:00