fabro/lib/crates/fabro-workflows/src
Bryan Helmkamp a8fa5256b4
refactor(operations): make create own the full create lifecycle
operations::create now handles the full pipeline: var expansion, parse,
goal override, transform, validate, config normalization, and persist.
This eliminates duplicated RunRecord construction and pipeline::persist
calls across CLI and API callers.

Key changes:
- Rename operations::create → validate, CreateOptions → ValidateOptions
- New operations::create returns Persisted, with RunCreateSettings
- Add ValidationFailed error variant with diagnostics
- Move normalize_config, default_run_dir into operations
- Delete prepare_workflow, PreparedWorkflow, CliFlags from CLI
- Make pipeline::persist and types module pub(crate)
- API catches both Parse and ValidationFailed as 400
- CLI prints diagnostics directly from error (no re-validation)
- ExecutionOverrides struct replaces 9-param function

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 13:47:07 -04:00
..
graph Refactor fabro-workflows graph ops modules 2026-03-29 13:47:06 -04:00
handler refactor(operations): make create own the full create lifecycle 2026-03-29 13:47:07 -04:00
lifecycle Refactor fabro-workflows graph ops modules 2026-03-29 13:47:06 -04:00
operations refactor(operations): make create own the full create lifecycle 2026-03-29 13:47:07 -04:00
pipeline refactor(operations): make create own the full create lifecycle 2026-03-29 13:47:07 -04:00
records refactor(sandbox): move SandboxRecord and sandbox_reconnect to fabro-sandbox 2026-03-29 13:47:06 -04:00
transforms refactor(workflows): hide internal modules from public API 2026-03-29 13:47:07 -04:00
artifact.rs rename Arc to Fabro in all Rust crates, symbols, env vars, and supporting files 2026-03-12 12:25:58 -04:00
asset_snapshot.rs Add safeguards to asset collection and checkpoint commits (#8) 2026-03-15 19:54:17 -04:00
assets.rs Move workflow CLI ownership into fabro-cli 2026-03-18 09:31:11 -04:00
condition.rs refactor(workflows): hide internal modules from public API 2026-03-29 13:47:07 -04:00
context.rs refactor(workflows): consolidate context/ directory into context.rs 2026-03-29 13:47:06 -04:00
devcontainer_bridge.rs Extract fabro resume subcommand (#137) 2026-03-22 13:45:06 -04:00
error.rs refactor(operations): make create own the full create lifecycle 2026-03-29 13:47:07 -04:00
event.rs Unify Outcome types between fabro-core and fabro-workflows 2026-03-29 13:47:05 -04:00
git.rs refactor(workflows): merge cost.rs into outcome.rs 2026-03-29 13:47:06 -04:00
graph.rs Refactor fabro-workflows graph ops modules 2026-03-29 13:47:06 -04:00
hook_context.rs Refactor fabro-workflows graph ops modules 2026-03-29 13:47:06 -04:00
lib.rs refactor(workflows): hide internal modules from public API 2026-03-29 13:47:07 -04:00
node_handler.rs Refactor fabro-workflows graph ops modules 2026-03-29 13:47:06 -04:00
outcome.rs Refactor fabro-workflows graph ops modules 2026-03-29 13:47:06 -04:00
pull_request.rs refactor(workflows): merge cost.rs into outcome.rs 2026-03-29 13:47:06 -04:00
retry.rs Refactor fabro-workflows graph ops modules 2026-03-29 13:47:06 -04:00
run_dir.rs refactor(workflows): move checkpoint, run_record, start_record, sandbox_record into records/ 2026-03-29 13:47:06 -04:00
run_lookup.rs refactor(workflows): merge cost.rs into outcome.rs 2026-03-29 13:47:06 -04:00
run_settings.rs Extract engine helpers and implement pipeline phases 2026-03-29 13:47:06 -04:00
run_status.rs Unify fabro run foreground to use create + start + attach (#141) 2026-03-22 22:48:09 -04:00
sandbox_git.rs Co-locate unit tests with extracted helper modules 2026-03-29 13:47:06 -04:00
test_support.rs refactor(workflows): merge cost.rs into outcome.rs 2026-03-29 13:47:06 -04:00