Fix three bugs from PR review in the new `fabro resume` command:
1. RunArgs.workflow lost its required constraint when --run-branch was
removed — add #[arg(required = true)] so clap enforces it.
2. run_resumed ignored --preserve-sandbox (hardcoded false),
--verbose (no ProgressUI), and --ssh (no listener). Wire
preserve_sandbox through resolve_preserve_sandbox, create a
ProgressUI registered on the emitter, and handle SSH access.
3. prepare_from_checkpoint unconditionally created a LocalSandbox,
ignoring --sandbox. Add the same sandbox resolution logic used by
prepare_from_branch (Local, Docker, Ssh, Exe, Daytona).
Remove --ssh from `fabro run` and `fabro resume` since `fabro ssh`
is the dedicated command now. Remove the flag from RunArgs, ResumeArgs,
RunSpec, and all docs/changelogs.
Simplify EventEmitter: change on_event to take &self (via
Mutex<Vec<Arc<...>>>) instead of &mut self, removing the need for
the late_listeners workaround. emit() snapshots the listener list
before dispatching to prevent deadlocks from reentrant emit calls.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Update 47 MDX doc pages, OpenAPI spec, SVG diagram, language
grammar, frontend demo data, marketing page, skills, and README
to use .fabro extension. Add "fabro" to fileTypes in language
grammars. Document stack.child_workflow alongside stack.child_dotfile.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The one-time environment setup command (LLMs, certs, GitHub) is now
`arc install`, freeing up naming space for a future `arc init` command
for per-project initialization.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Warn users that exe.dev and devcontainer features are under active
development and may require special build flags.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Every TOML example now shows which config file it belongs to
(server.toml, cli.toml, or run.toml) via Mintlify's title annotation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Document the new exe.dev cloud VM sandbox provider across
environments, sandboxing, and advanced-setup pages. Includes
beta warning callout, provider tables, and troubleshooting.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace `gh auth token` with GitHub App IATs scoped to `contents: read` for
Daytona sandbox git cloning. Public repos are auto-detected and cloned without
credentials. Private repos get short-lived, repo-scoped tokens. Clear error
messages for each failure mode (app not installed, suspended, no repo access,
auth failure). Falls back gracefully when no GitHub App is configured.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add DaytonaNetwork enum (block/allow_all/allow_list) with custom serde
Deserialize for TOML string-or-table syntax
- Wire network config through run_config defaults merging and base_params
- Document network access in sandboxing, environments, and run-configuration
- Fill in execution docs: checkpoints, environments, failures, interviews,
run configuration, observability, retros
- Rename compounding.mdx → retros.mdx, insights.mdx → observability.mdx
- Use DaytonaConfig::default() in tests to reduce boilerplate
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>