fabro/docs/public/reference
Bryan Helmkamp 3d33935fba
Route Docker sandboxes through the sandbox driver
Fabro's Docker provider kind now maps onto the sandbox-driver Docker
provider instead of its own bollard implementation. Fabro keeps what is
its own: the clone decision and repository layout, the GitHub App push
credentials embedded in origin, git retry classification, the managed
labels that gate destructive operations, and the run-facing events.

- `clone.rs` performs fabro's clone over the driver `Git` and `Exec`
  facets. An exact commit goes through the driver's pinned clone; a tag
  pin runs fabro's init/fetch/attach sequence through `Exec` so the
  fully qualified tag ref is the only revision consulted. Network
  failures retry through `git_retry`, which now classifies driver errors
  (exec output, provider retryability) and never replays an operation
  whose outcome is unknown.
- `DriverSandbox` gains a pending-create state, a `RepoWorkspace` with
  push-credential state, path resolution against the cloned working
  directory, git lifecycle methods, image-pull progress mapped from
  driver events, and an embedded terminal over the driver `Pty` facet.
- `docker.rs` builds the driver `SandboxSpec` (image, `/workspace`,
  fabro labels, env, cpu/memory, network policy, run name) and attaches
  by persisted container id, refusing containers without fabro's labels.
- Inventory, details, diagnostics, terminal, and reconnect run over the
  driver: a `DriverInventoryProvider` lists by fabro's managed label and
  projects `SandboxStatus` into fabro's inventory and details shapes.
- The bollard-based `docker.rs`, `provider/docker.rs`, Docker terminal,
  Docker error variants, the `docker` cargo feature, and the bollard and
  tar dependencies are gone. The Docker integration tests, the agent
  shell test, the workflow artifact test, and the driver benchmark run
  against the driver-backed sandbox.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 17:07:51 -06:00
..
acknowledgements.mdx refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00
architecture.mdx docs: add child runs guide 2026-05-25 15:43:53 -04:00
cli.mdx Create CLI runs from immutable workflow intents 2026-09-01 16:14:34 -04:00
dot-language.mdx Add on_failure="succeed" as an explicit failure policy 2026-08-26 07:34:24 -04:00
run-directory.mdx refactor(workflow): remove retro stage (#230) 2026-05-09 10:18:20 -04:00
sdk.mdx Route Docker sandboxes through the sandbox driver 2026-09-09 17:07:51 -06:00
server-operations.mdx Harden SQLite activation and run history consistency 2026-08-31 12:19:16 -04:00
shell-completions.mdx refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00
user-configuration.mdx Create CLI runs from immutable workflow intents 2026-09-01 16:14:34 -04:00
verifying-releases.mdx refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00