fabro/lib/components/fabro-workflow
Bryan Helmkamp 23b8a6c449
Serve the sandbox tab, Run Files, and deletion on the driver handle
The sandbox handlers describe, list, download, upload, open a terminal
and build SSH and VNC access on the `Arc<dyn Sandbox>` the server attaches
to the run's record, with paths resolved against the recorded working
directory. Run Files holds the handle beside that directory and runs its
git through the driver's git facet and Fabro's exec policy;
fabro-workflow's sandbox git takes the same pair, and its
`GitCommandError` carries the driver's error. Run deletion deletes by id
through the provider scoped to the run's `petri.run` label, so a foreign
sandbox is refused and a designated host directory is left in place. Ask
Fabro wraps the attached, running handle. The legacy access shim is gone.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-19 13:56:13 -04:00
..
src Serve the sandbox tab, Run Files, and deletion on the driver handle 2026-09-19 13:56:13 -04:00
Cargo.toml Serve the sandbox tab, Run Files, and deletion on the driver handle 2026-09-19 13:56:13 -04:00
README.md Read workflow graphs through Petri's DOT parser 2026-09-19 12:23:57 -04:00

fabro-workflow

Fabro's platform half of a workflow run: what Fabro does around the engine.

Petri compiles and executes every run. fabro-petri is the crate that talks to the engine (fabro-dot reads a graph's shape and file references through Petri's parser), and this crate keeps what Fabro itself owns:

  • operations — creating a run around Petri's admission (materialize_admitted_run, persist_create_run), and the other run operations: fork, rewind, retry, and the timeline they resolve targets on. The run's display graph (fabro_types::RunGraph) is read off the graph Petri admitted; the DOT the workflow was written in is persisted beside it as graph_source.
  • workflow_bundle — the bundle a run is created from: every workflow of the version closure with its settings file and its files, and the RunDefinition the run records.
  • git, sandbox_git — the Git helpers a run's platform effects use, on the host and inside a sandbox.
  • pull_request — pull request creation for a finished run.
  • run_tools, services — the run tools an agent session calls.
  • web_search — the built-in web search backend.
  • run_lookup — resolving a run selector to a run.

The run records and status vocabulary are fabro_types'. Workflow diagnostics are Petri's: fabro validate, fabro preflight and the create handler report Petri's codes (attractor.*, unsupported.*, deprecated.*, info.*), plus Fabro's fabro.model.no_ready_provider when a model node has no provider ready to run it.