fabro/lib/crates/fabro-cli/src
Bryan Helmkamp a40494fd65
Replace CLI RunStatus with proper state machine (status.json)
Replace the 3-variant RunStatus enum (Concluded/Running/Unknown) with an
8-variant state machine (Submitted/Starting/Running/Paused/Removing/
Succeeded/Failed/Dead) persisted as status.json via RunStatusRecord.

Add StatusReason enum for fine-grained failure/success classification
(WorkflowError, Cancelled, SandboxInitFailed, Completed, etc.) and
validated state transitions via can_transition_to()/transition_to().

Map engine results to appropriate RunStatus+StatusReason at all write
sites: Submitted (detach), Starting+SandboxInitializing (run init),
Failed+SandboxInitFailed (scopeguard), Running (engine start), and
Succeeded/Failed with reason (engine completion).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 17:27:10 -04:00
..
cli_config.rs rename Arc to Fabro in all Rust crates, symbols, env vars, and supporting files 2026-03-12 12:25:58 -04:00
doctor.rs Rename Arc to Fabro in user-facing strings, comments, and tests 2026-03-13 20:43:21 -04:00
init.rs Rename arc/ to fabro/ in git branch prefixes and workflow paths 2026-03-14 12:20:07 -04:00
install.rs Fix detect_binary test to work on Ubuntu (dash) sandboxes 2026-03-14 15:31:27 -04:00
logging.rs rename Arc to Fabro in all Rust crates, symbols, env vars, and supporting files 2026-03-12 12:25:58 -04:00
main.rs Replace CLI RunStatus with proper state machine (status.json) 2026-03-15 17:27:10 -04:00
skill.rs rename Arc to Fabro in all Rust crates, symbols, env vars, and supporting files 2026-03-12 12:25:58 -04:00