fabro/lib/crates
Bryan Helmkamp 8e1c3bc4e9 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
..
fabro-agent Consolidate backoff/jitter into fabro-util::BackoffPolicy 2026-03-29 13:47:05 -04:00
fabro-api refactor(operations): make create own the full create lifecycle 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(operations): make create own the full create lifecycle 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 Remove core-engine feature flag and old execution loop 2026-03-29 13:47:06 -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(operations): make create own the full create lifecycle 2026-03-29 13:47:07 -04:00