fabro/lib/crates
Bryan Helmkamp d45b4516ab
refactor: clean CREATE/START/RESUME separation
Resume now follows the same subprocess pattern as run: look up run
directory by ID prefix, validate checkpoint exists, clean stale
artifacts, reset status to Submitted, spawn _run_engine --resume, and
attach. This eliminates ~1600 lines of duplicated env/sandbox setup
from resume.rs.

Key changes:
- operations::start() and operations::resume() take run_dir instead
  of Persisted, loading state from disk internally
- run_engine() builds RunOptions from RunRecord on disk, so callers
  no longer extract record fields manually
- StartOptions flattened (no more nested InitOptions)
- FabroError::Precondition variant for start/resume guard checks
- _run_engine accepts --resume flag to dispatch to resume path
- operations::restore removed (no longer needed)
- Resume CLI stripped to just <RUN_ID> + --detach

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 13:47:07 -04:00
..
fabro-agent Consolidate backoff/jitter into fabro-util::BackoffPolicy 2026-03-29 13:47:05 -04:00
fabro-api refactor: rename local variables/fields to align with Options suffix 2026-03-29 13:47:07 -04:00
fabro-beastie Fix fabro-beastie linker error by linking IOKit framework 2026-03-15 18:27:42 -04:00
fabro-cli refactor: clean CREATE/START/RESUME separation 2026-03-29 13:47:07 -04:00
fabro-config Add RunRecord + StartRecord alongside RunSpec + Manifest 2026-03-29 13:47:06 -04:00
fabro-core refactor: rename local variables/fields to align with Options suffix 2026-03-29 13:47:07 -04:00
fabro-db rename Arc to Fabro in all Rust crates, symbols, env vars, and supporting files 2026-03-12 12:25:58 -04:00
fabro-devcontainer Fix: Remove std::env::set_var/remove_var from tests (#101) 2026-03-19 13:09:46 -04:00
fabro-git-storage Add fabro rewind command to rewind workflow runs to earlier checkpoints 2026-03-14 11:38:17 -04:00
fabro-github Merge fabro-linear and GitHub tracker into fabro-tracker (#108) 2026-03-19 22:26:32 -04:00
fabro-graphviz refactor(graphviz): move graph_render module from fabro-workflows to fabro-graphviz 2026-03-29 13:47:06 -04:00
fabro-hooks Redesign fabro-model with LanguageModel trait, Catalog struct, and ModelRef (#121) 2026-03-23 11:15:40 -04:00
fabro-interview Remove dead selected_options field from Answer struct 2026-03-23 16:07:26 -04:00
fabro-llm Consolidate backoff/jitter into fabro-util::BackoffPolicy 2026-03-29 13:47:05 -04:00
fabro-mcp Move config type tests into fabro-config 2026-03-17 15:21:16 -04:00
fabro-model Remove ProfileCapabilities, rename ProviderProfile to AgentProfile, fix layer separation 2026-03-23 12:38:05 -04:00
fabro-openai-oauth Add Codex endpoint support for OpenAI OAuth flow 2026-03-17 00:47:47 -04:00
fabro-retro Add RunRecord + StartRecord alongside RunSpec + Manifest 2026-03-29 13:47:06 -04:00
fabro-sandbox refactor(sandbox): move SandboxRecord and sandbox_reconnect to fabro-sandbox 2026-03-29 13:47:06 -04:00
fabro-slack Unify fabro run foreground to use create + start + attach (#141) 2026-03-22 22:48:09 -04:00
fabro-telemetry Fix release CI test failures caused by telemetry fork flushing stdout 2026-03-19 15:18:03 -04:00
fabro-tracker Merge fabro-linear and GitHub tracker into fabro-tracker (#108) 2026-03-19 22:26:32 -04:00
fabro-types rename Arc to Fabro in all Rust crates, symbols, env vars, and supporting files 2026-03-12 12:25:58 -04:00
fabro-util Consolidate backoff/jitter into fabro-util::BackoffPolicy 2026-03-29 13:47:05 -04:00
fabro-validate Redesign fabro-model with LanguageModel trait, Catalog struct, and ModelRef (#121) 2026-03-23 11:15:40 -04:00
fabro-workflows refactor: clean CREATE/START/RESUME separation 2026-03-29 13:47:07 -04:00