From 1630d263548457712cdbe8fe3dfdcfa7ff432655 Mon Sep 17 00:00:00 2001 From: Scott Werner Date: Thu, 17 Sep 2026 14:54:00 -0400 Subject: [PATCH] Clarify interview guidance in approval command help --- docs/public/reference/cli.mdx | 8 ++-- lib/apps/fabro-cli/src/args.rs | 6 +++ lib/apps/fabro-cli/tests/it/cmd/approve.rs | 46 ++++++++++++++++---- lib/apps/fabro-cli/tests/it/cmd/deny.rs | 50 +++++++++++++++++----- 4 files changed, 87 insertions(+), 23 deletions(-) diff --git a/docs/public/reference/cli.mdx b/docs/public/reference/cli.mdx index 659b31bf2..39a72d299 100644 --- a/docs/public/reference/cli.mdx +++ b/docs/public/reference/cli.mdx @@ -63,7 +63,7 @@ fabro [OPTIONS] [COMMAND] | Command | Description | | --- | --- | -| `fabro approve` | Approve pending workflow runs | +| `fabro approve` | Approve pending workflow runs.

Controls permission to start a run. For human interview gates during execution, use the questions API. | | `fabro archive` | Mark terminal runs as archived (reviewed, no further action needed). Archived runs are hidden from default listings | | `fabro artifact` | Inspect and copy run artifacts (screenshots, reports, traces) | | `fabro ask` | Ask Fabro a read-only question about a run | @@ -71,7 +71,7 @@ fabro [OPTIONS] [COMMAND] | `fabro auth` | Manage CLI authentication state | | `fabro completion` | Generate shell completions | | `fabro create` | Register a workflow version and create a submitted run | -| `fabro deny` | Deny pending workflow runs | +| `fabro deny` | Deny pending workflow runs.

Controls permission to start a run. For human interview gates during execution, use the questions API. | | `fabro discord` | Open the Discord community in the browser | | `fabro docs` | Open the docs website in the browser | | `fabro doctor` | Check environment and integration health | @@ -111,7 +111,7 @@ fabro [OPTIONS] [COMMAND] ### `fabro approve` -Approve pending workflow runs +Approve pending workflow runs.

Controls permission to start a run. For human interview gates during execution, use the questions API. ```bash fabro approve [OPTIONS] ... @@ -371,7 +371,7 @@ fabro create [OPTIONS] ### `fabro deny` -Deny pending workflow runs +Deny pending workflow runs.

Controls permission to start a run. For human interview gates during execution, use the questions API. ```bash fabro deny [OPTIONS] ... diff --git a/lib/apps/fabro-cli/src/args.rs b/lib/apps/fabro-cli/src/args.rs index 09d7a01dc..1c09c47a2 100644 --- a/lib/apps/fabro-cli/src/args.rs +++ b/lib/apps/fabro-cli/src/args.rs @@ -1358,8 +1358,14 @@ pub(crate) enum RunsCommands { /// Show detailed information about a workflow run Inspect(InspectArgs), /// Approve pending workflow runs. + /// + /// Controls permission to start a run. For human interview gates during + /// execution, use the questions API. Approve(RunsApproveArgs), /// Deny pending workflow runs. + /// + /// Controls permission to start a run. For human interview gates during + /// execution, use the questions API. Deny(RunsDenyArgs), /// Mark terminal runs as archived (reviewed, no further action needed). /// Archived runs are hidden from default listings. diff --git a/lib/apps/fabro-cli/tests/it/cmd/approve.rs b/lib/apps/fabro-cli/tests/it/cmd/approve.rs index 2f4d23ad9..9af2123bb 100644 --- a/lib/apps/fabro-cli/tests/it/cmd/approve.rs +++ b/lib/apps/fabro-cli/tests/it/cmd/approve.rs @@ -14,21 +14,49 @@ fn help() { success: true exit_code: 0 ----- stdout ----- - Approve pending workflow runs + Approve pending workflow runs. + + Controls permission to start a run. For human interview gates during execution, use the questions API. Usage: fabro approve [OPTIONS] ... Arguments: - ... Run IDs or workflow names to approve + ... + Run IDs or workflow names to approve Options: - --json Output as JSON [env: FABRO_JSON=] - --server Fabro server target: http(s) URL or absolute Unix socket path [env: FABRO_SERVER=] - --debug Enable DEBUG-level logging (default is INFO) [env: FABRO_DEBUG=] - --no-upgrade-check Disable automatic upgrade check [env: FABRO_NO_UPGRADE_CHECK=true] - --quiet Suppress non-essential output [env: FABRO_QUIET=] - --verbose Enable verbose output [env: FABRO_VERBOSE=] - -h, --help Print help + --json + Output as JSON + + [env: FABRO_JSON=] + + --server + Fabro server target: http(s) URL or absolute Unix socket path + + [env: FABRO_SERVER=] + + --debug + Enable DEBUG-level logging (default is INFO) + + [env: FABRO_DEBUG=] + + --no-upgrade-check + Disable automatic upgrade check + + [env: FABRO_NO_UPGRADE_CHECK=true] + + --quiet + Suppress non-essential output + + [env: FABRO_QUIET=] + + --verbose + Enable verbose output + + [env: FABRO_VERBOSE=] + + -h, --help + Print help (see a summary with '-h') ----- stderr ----- "); } diff --git a/lib/apps/fabro-cli/tests/it/cmd/deny.rs b/lib/apps/fabro-cli/tests/it/cmd/deny.rs index 867b65907..2638138c3 100644 --- a/lib/apps/fabro-cli/tests/it/cmd/deny.rs +++ b/lib/apps/fabro-cli/tests/it/cmd/deny.rs @@ -14,22 +14,52 @@ fn help() { success: true exit_code: 0 ----- stdout ----- - Deny pending workflow runs + Deny pending workflow runs. + + Controls permission to start a run. For human interview gates during execution, use the questions API. Usage: fabro deny [OPTIONS] ... Arguments: - ... Run IDs or workflow names to deny + ... + Run IDs or workflow names to deny Options: - --json Output as JSON [env: FABRO_JSON=] - --server Fabro server target: http(s) URL or absolute Unix socket path [env: FABRO_SERVER=] - --debug Enable DEBUG-level logging (default is INFO) [env: FABRO_DEBUG=] - --reason Reason for denying execution - --no-upgrade-check Disable automatic upgrade check [env: FABRO_NO_UPGRADE_CHECK=true] - --quiet Suppress non-essential output [env: FABRO_QUIET=] - --verbose Enable verbose output [env: FABRO_VERBOSE=] - -h, --help Print help + --json + Output as JSON + + [env: FABRO_JSON=] + + --server + Fabro server target: http(s) URL or absolute Unix socket path + + [env: FABRO_SERVER=] + + --debug + Enable DEBUG-level logging (default is INFO) + + [env: FABRO_DEBUG=] + + --reason + Reason for denying execution + + --no-upgrade-check + Disable automatic upgrade check + + [env: FABRO_NO_UPGRADE_CHECK=true] + + --quiet + Suppress non-essential output + + [env: FABRO_QUIET=] + + --verbose + Enable verbose output + + [env: FABRO_VERBOSE=] + + -h, --help + Print help (see a summary with '-h') ----- stderr ----- "); }