fabro/lib/components/fabro-workflow/src
Bryan Helmkamp 22cd5d3382
Let the driver retry git operations and decide from the credential's age
Fabro carried its own retry loop, its own reading of what a git failure
class means for the credentials in hand, and a credential context derived
from the token snapshot. The driver now owns the loop and the decision:
a rejected credential retries only while its mint time is within the
replication horizon, a remote that could not be reached retries on its
own, a static credential fails fast, and an operation whose outcome is
unknown is never replayed. Fabro keeps its budgets as retry policies
(clone, repository probe, checkpoint push, publish push), hands the mint
time along with the token, and records the driver's attempt history as
the push attempts the events carry. Host-side git (the repository probe
and the metadata push classification) goes through the same decision
from its rendered message.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-11 12:44:58 -06:00
..
event Give the checkout its GitHub credentials through the driver's store 2026-09-11 10:02:01 -06:00
graph Harden succeed failure policy routing 2026-08-26 09:13:04 -04:00
handler Give the checkout its GitHub credentials through the driver's store 2026-09-11 10:02:01 -06:00
lifecycle Let the driver retry git operations and decide from the credential's age 2026-09-11 12:44:58 -06:00
operations Reconnect a local sandbox by attaching to its directory 2026-09-11 12:36:29 -06:00
pipeline Let the driver retry git operations and decide from the credential's age 2026-09-11 12:44:58 -06:00
records refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
transforms Import lithos-llm types directly instead of through fabro-types 2026-09-10 10:03:08 -06:00
artifact.rs Read a mock sandbox's recordings from the driver double 2026-09-10 16:55:05 -06:00
artifact_snapshot.rs Retire the fabro Sandbox trait for one concrete RunSandbox 2026-09-10 00:14:42 -06:00
artifact_upload.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
billing_rollup.rs Import lithos-llm types directly instead of through fabro-types 2026-09-10 10:03:08 -06:00
command_log.rs Unify blob hash vocabulary 2026-08-17 13:56:19 -04:00
condition.rs Reuse existing helpers in the for_each fan-out 2026-07-28 18:42:23 -04:00
context.rs Harden succeed failure policy routing 2026-08-26 09:13:04 -04:00
error.rs Name built-in providers through lithos catalog::builtin 2026-09-10 09:48:37 -06:00
event.rs Consume the sandbox driver's events directly in the workflow 2026-09-10 00:37:42 -06:00
file_resolver.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
git.rs Harden local RunIntent target observation 2026-08-31 14:08:35 -04:00
git_bridge.rs refactor(github): deduplicate additional-repository access plumbing 2026-08-21 16:31:48 -04:00
graph.rs Harden succeed failure policy routing 2026-08-26 09:13:04 -04:00
hook_context.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
interview_runtime.rs refactor(workflow): tidy stall watchdog wiring and interview naming 2026-08-01 10:08:03 -04:00
lib.rs feat(workflow): bridge git and gh to the shared token 2026-08-21 14:47:31 -04:00
model_fallback.rs Import lithos-llm types directly instead of through fabro-types 2026-09-10 10:03:08 -06:00
node_handler.rs Retire the fabro Sandbox trait for one concrete RunSandbox 2026-09-10 00:14:42 -06:00
outcome.rs Import lithos-llm types directly instead of through fabro-types 2026-09-10 10:03:08 -06:00
pull_request.rs refactor: simplify publish pipeline and collapse duplicated stage errors 2026-07-28 15:09:10 -04:00
retry.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
run_control.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
run_dir.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
run_lookup.rs Move run queries and pull request recovery to SQLite 2026-09-01 14:06:06 -04:00
run_materialization.rs Import lithos-llm types directly instead of through fabro-types 2026-09-10 10:03:08 -06:00
run_metadata.rs Let the driver retry git operations and decide from the credential's age 2026-09-11 12:44:58 -06:00
run_options.rs Remove stale env-interpolation promises from docs 2026-08-17 17:36:53 -04:00
run_status.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
runtime_store.rs Simplify blob activation and share the test store fixture 2026-08-24 14:02:35 -04:00
sandbox_git.rs Read a mock sandbox's recordings from the driver double 2026-09-10 16:55:05 -06:00
sandbox_git_runtime.rs Speak the driver's exec vocabulary instead of mirroring it 2026-09-10 16:11:45 -06:00
services.rs Merge origin/main into the sandbox-driver adoption 2026-09-10 13:37:11 -06:00
stage_execution.rs Add version-backed run intent creation 2026-08-24 11:55:43 -04:00
stage_scope.rs Merge origin/main into feat/stage-execution-identity-on-resume 2026-07-24 10:07:35 -04:00
steering_hub.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
test_support.rs Merge origin/main into the sandbox-driver adoption 2026-09-10 13:37:11 -06:00
workflow_bundle.rs Simplify local RunIntent producer support 2026-08-31 14:08:35 -04:00