fabro/lib/foundation
Bryan Helmkamp 2f8ee2ff36
Name the fold's repeated shapes once: completion, model usage, pause, conclusion
Four small duplications in the projection fold: a StageCompletion
literal built three times from an attempt's status, a StageModelUsage
literal built three times with no request controls, the pause and
unpause status arithmetic written four times across the coordinator and
lifecycle folds, and a bare Conclusion built beside the full one. Each is
now one function: completion() in the engine fold, StageModelUsage::new,
RunStatus::paused and RunStatus::unpaused beside blocked_reason (with
settle_control for the pending control they clear), and
Conclusion::outcome_only.

One case reads differently: a coordinator RunPaused that lands on a run
already paused behind a block now keeps that block for the unpause, as
the lifecycle Paused already did, instead of dropping it.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-20 15:01:14 -04:00
..
build-support refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
fabro-api Build the run's display graph from Petri's admission 2026-09-19 11:41:58 -04:00
fabro-auth Bump lithos-llm to 43a42ac and migrate catalogs to the codecs schema 2026-09-18 22:07:00 -04:00
fabro-client Delete the stage artifact upload endpoint 2026-09-19 09:23:47 -04:00
fabro-config Forward every configured sandbox plugin to the Petri worker 2026-09-19 14:45:42 -04:00
fabro-db Drop the run_events table and narrow the runs row 2026-09-18 14:37:18 -04:00
fabro-dev Merge remote-tracking branch 'origin/main' into petri-integration 2026-09-19 06:37:02 -04:00
fabro-http Depend on lithos-llm and the published twin-openai crate 2026-09-09 17:26:57 -06:00
fabro-macros refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
fabro-oauth refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
fabro-options-metadata refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
fabro-proc Consolidate server Git subprocess ownership 2026-09-11 17:36:40 -06:00
fabro-redact Give the checkout its GitHub credentials through the driver's store 2026-09-11 10:02:01 -06:00
fabro-static Answer steer and interrupt with the worker's acknowledgement 2026-09-18 23:54:11 -04:00
fabro-telemetry refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
fabro-template Read workflow graphs through Petri's DOT parser 2026-09-19 12:23:57 -04:00
fabro-test Merge remote-tracking branch 'origin/main' into petri-integration 2026-09-19 15:25:20 -04:00
fabro-types Name the fold's repeated shapes once: completion, model usage, pause, conclusion 2026-09-20 15:01:14 -04:00
fabro-util Share one poison-tolerant lock helper from fabro-util 2026-09-20 14:47:46 -04:00
fabro-vault refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00