mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-14 23:22:51 +00:00
SandboxSpec had a Local variant beside the provider spec, and a local sandbox was created by hand over a bare Host provider: no workspace, no provider connection, its own reconnect, and its own push rule for the designated directory. The local kind is now one more SandboxSpec: SandboxSpec::local names the directory on a HostDirectory spec with a skip clone, and provider_sandbox builds it like a plugin kind, creating the directory when missing since the Host provider requires it to exist. Every RunSandbox carries a workspace; a handle wrapped as is gets the workspace of its own working directory. The push rule is one rule for every checkout: a checkout fabro cloned pushes with the credentials it was cloned with, and any other checkout pushes when it has an origin, with whatever credentials it carries. A local run therefore pushes the same way before and after a resume; before, a reconnected local sandbox carried an attached workspace that never pushed while a fresh one did. Reconnect uses the recorded id for every kind. The recompute of a local id from its directory, kept for records written before directories had ids, is gone, and test fixtures that wrote made-up local ids derive them through test_support::local_sandbox_id instead. A local run's record now carries its workspace layout like every provider-chosen directory, and the sandbox.initializing event precedes the driver's create events for local as for every other kind. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| fabro-cli | ||
| fabro-mcp-server | ||
| fabro-server | ||
| fabro-spa | ||