fix(ci): clean up clippy warnings and refresh CLI docs

Drop async from validate::run after the preflight refactor removed all
awaits, replace absolute paths and a one-liner helper in
manifest_validation, swap a redundant to_path_buf for clone in a test,
and regenerate cli.mdx so docs check stays green.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Bryan Helmkamp 2026-04-29 01:03:16 -04:00
parent 788b389e4c
commit f676fa779b
No known key found for this signature in database
5 changed files with 11 additions and 20 deletions

View file

@ -301,6 +301,7 @@ fabro create [OPTIONS] <WORKFLOW>
| `--dry-run` | Execute with simulated LLM backend |
| `--goal <goal>` | Override the workflow goal (available as {{ goal }} in prompts) |
| `--goal-file <goal_file>` | Read the workflow goal from a file |
| `--in-place` | Run directly in the source checkout without git checkpoints |
| `--label <key=value>` | Attach a label to this run (repeatable, format: KEY=VALUE) |
| `--model <model>` | Override default LLM model |
| `--no-retro` | Skip retro generation after the run |
@ -815,6 +816,7 @@ fabro run [OPTIONS] <WORKFLOW>
| `--dry-run` | Execute with simulated LLM backend |
| `--goal <goal>` | Override the workflow goal (available as {{ goal }} in prompts) |
| `--goal-file <goal_file>` | Read the workflow goal from a file |
| `--in-place` | Run directly in the source checkout without git checkpoints |
| `--label <key=value>` | Attach a label to this run (repeatable, format: KEY=VALUE) |
| `--model <model>` | Override default LLM model |
| `--no-retro` | Skip retro generation after the run |
@ -1254,12 +1256,6 @@ fabro validate [OPTIONS] <WORKFLOW>
| --- | --- |
| `WORKFLOW` | Path to the .fabro workflow file |
#### Options
| Option | Description |
| --- | --- |
| `--server <server>` | Fabro server target: http(s) URL or absolute Unix socket path |
### `fabro version`
Show client and server version information

View file

@ -10,7 +10,7 @@ use crate::commands::run::output::api_diagnostics_to_local;
use crate::manifest_builder::{ManifestBuildInput, build_run_manifest};
use crate::shared::{print_diagnostics, print_json_pretty, relative_path};
pub(crate) async fn run(
pub(crate) fn run(
args: &ValidateArgs,
styles: &Styles,
base_ctx: &CommandContext,

View file

@ -253,7 +253,7 @@ async fn main_inner(worker_token: Option<String>) -> (String, Result<()>) {
}
Commands::Validate(args) => {
let styles = Styles::detect_stderr();
commands::validate::run(&args, &styles, &base_ctx).await?;
commands::validate::run(&args, &styles, &base_ctx)?;
}
Commands::Graph(args) => {
let styles = Styles::detect_stderr();

View file

@ -1060,7 +1060,7 @@ exit 1
temp_env::with_var("FABRO_PROMPT_ENV_LOG", Some(helper_log.as_os_str()), || {
let built = build_run_manifest(ManifestBuildInput {
workflow: PathBuf::from(".fabro/workflows/demo/workflow.toml"),
cwd: workspace.to_path_buf(),
cwd: workspace.clone(),
run_overrides: None,
cli_overrides: None,
args: None,

View file

@ -1,20 +1,15 @@
use anyhow::{Result, anyhow};
use fabro_api::types;
use fabro_config::RunLayer;
use fabro_workflow::Error as WorkflowError;
use crate::run_manifest;
pub fn validate_manifest(
manifest_run_defaults: &RunLayer,
manifest: &types::RunManifest,
) -> Result<types::ValidateResponse> {
let prepared = crate::run_manifest::prepare_manifest(manifest_run_defaults, manifest)?;
let validated = crate::run_manifest::validate_prepared_manifest(&prepared)
.map_err(validation_error_to_anyhow)?;
Ok(crate::run_manifest::validate_response(
&prepared, &validated,
))
}
fn validation_error_to_anyhow(err: WorkflowError) -> anyhow::Error {
anyhow!("{err}")
let prepared = run_manifest::prepare_manifest(manifest_run_defaults, manifest)?;
let validated =
run_manifest::validate_prepared_manifest(&prepared).map_err(|err| anyhow!("{err}"))?;
Ok(run_manifest::validate_response(&prepared, &validated))
}