fabro/docs/execution
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
..
checkpoints.mdx refactor: clean CREATE/START/RESUME separation 2026-03-29 13:47:07 -04:00
context.mdx Replace ContextWindowWarning with generic Warning event 2026-03-23 13:48:26 -04:00
devcontainers.mdx Update docs, frontend, marketing, and skills for .fabro extension 2026-03-13 22:38:25 -04:00
environments.mdx Extract fabro resume subcommand (#137) 2026-03-22 13:45:06 -04:00
failures.mdx Attractor spec hunks 9-11: edge selection fallback and default_max_retries rename 2026-03-23 14:20:24 -04:00
observability.mdx Add RunRecord + StartRecord alongside RunSpec + Manifest 2026-03-29 13:47:06 -04:00
outcomes.mdx Attractor spec hunks 14 & 16: remove error_policy and k_of_n/quorum from parallel handler 2026-03-23 14:59:35 -04:00
retros.mdx Add RunRecord + StartRecord alongside RunSpec + Manifest 2026-03-29 13:47:06 -04:00
run-configuration.mdx Fix stale comments referencing deleted config type names 2026-03-29 13:47:05 -04:00