Skip to content

Unify gh aw help/docs wording and expose experiments command in CLI reference#44794

Open
pelikhan with Copilot wants to merge 6 commits into
mainfrom
copilot/cli-consistency-fixes
Open

Unify gh aw help/docs wording and expose experiments command in CLI reference#44794
pelikhan with Copilot wants to merge 6 commits into
mainfrom
copilot/cli-consistency-fixes

Conversation

Copilot AI commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

This PR addresses the CLI consistency audit findings by aligning command help text, flag descriptions, and docs examples across gh aw commands. It also resolves a high-impact docs mismatch by making experiments discoverable from CLI help.

  • CLI help consistency (wording, grammar, style)

    • Normalized phrasing across command descriptions and examples for add, deploy, update, upgrade, trial, run, logs, validate, lint, and fix.
    • Fixed style/grammar issues (e.g., workflows pluralization, punctuation in numbered steps, example comment clarity).
  • Flag description harmonization

    • Standardized --no-security-scanner wording to consistent “Skip …” language across relevant commands.
    • Clarified --no-compile semantics in update.
    • Clarified --no-release-bump behavior in update example text.
    • Updated logs --last help text to explicitly reference --count/-c.
  • Command discoverability and docs/CLI parity

    • Made experiments visible in CLI help output (previously hidden), matching documented command coverage.
    • Updated docs examples to match current CLI semantics (including run --dry-run and forecast example naming consistency).
  • Targeted test updates for help-text contracts

    • Updated/extended help consistency assertions to reflect the new canonical strings and visibility expectations.
// logs flag help: make alias relationship explicit
logsCmd.Flags().Int("last", 0, "Alias for --count/-c: number of recent runs to download")

// experiments command: keep discoverable in help
cmd := &cobra.Command{
    Use:   "experiments",
    Short: "Explore ongoing experiments in the repository",
}

Copilot AI and others added 2 commits July 10, 2026 16:49
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix CLI consistency issues identified in inspection Unify gh aw help/docs wording and expose experiments command in CLI reference Jul 10, 2026
Copilot AI requested a review from pelikhan July 10, 2026 16:55
@pelikhan pelikhan marked this pull request as ready for review July 10, 2026 18:25
Copilot AI review requested due to automatic review settings July 10, 2026 18:25

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Aligns gh aw CLI help and documentation while making experiments discoverable.

Changes:

  • Standardizes command, flag, and example wording.
  • Exposes experiments in CLI help.
  • Updates documentation and help-text tests.
Show a summary per file
File Description
cmd/gh-aw/main.go Clarifies compile and run help.
docs/src/content/docs/setup/cli.md Aligns run and forecast examples.
pkg/cli/add_command.go Documents URL support and scanner wording.
pkg/cli/add_command_test.go Updates add help assertion.
pkg/cli/add_wizard_command.go Standardizes scanner wording.
pkg/cli/deploy_command.go Clarifies flags.
pkg/cli/deploy_command_test.go Updates deploy assertion.
pkg/cli/experiments_command.go Makes experiments visible.
pkg/cli/experiments_command_test.go Tests command visibility.
pkg/cli/fix_command.go Normalizes list punctuation.
pkg/cli/forecast_command.go Aligns example workflow names.
pkg/cli/lint_command.go Expands lint examples.
pkg/cli/logs_command.go Clarifies limits and aliases.
pkg/cli/logs_command_test.go Tests alias wording.
pkg/cli/trial_command.go Clarifies trial help and flags.
pkg/cli/update_command.go Clarifies update flag semantics.
pkg/cli/update_command_test.go Updates scanner-help assertion.
pkg/cli/upgrade_command.go Refines upgrade description.
pkg/cli/validate_command.go Clarifies fail-fast behavior.

Review details

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 19/19 changed files
  • Comments generated: 2
  • Review effort level: Medium

Comment thread pkg/cli/logs_command.go Outdated
Comment on lines +57 to +58

`, validArtifactSets) + "\n\n" + WorkflowIDExplanation,
Comment thread pkg/cli/lint_command.go Outdated
` + string(constants.CLIExtensionPrefix) + ` lint --shellcheck --pyflakes`,
Example: ` ` + string(constants.CLIExtensionPrefix) + ` lint # Lint all .lock.yml workflows in the default directory
` + string(constants.CLIExtensionPrefix) + ` lint .github/workflows/foo.lock.yml # Lint a specific lock file
` + string(constants.CLIExtensionPrefix) + ` lint --dir .github/workflows # Lint all lock files in a custom directory
@github-actions

github-actions Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Test Quality Sentinel completed test quality analysis.

@github-actions

github-actions Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

🧠 Matt Pocock Skills Reviewer has completed the skills-based review. ✅

@github-actions

github-actions Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

PR Code Quality Reviewer completed the code quality review.

@github-actions

github-actions Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Design Decision Gate 🏗️ completed the design decision gate check.

No ADR enforcement needed: PR #44794 does not have the 'implementation' label and has only 46 new lines of code in business logic directories (threshold: 100).

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes are purely help text, flag descriptions, and documentation consistency improvements. All updates look correct:

  • --no-security-scanner standardized to "Skip ..." across all commands
  • experiments command unhidden with matching test update
  • compile example corrected to proper positional-arg-before-flag order
  • logs date-filter comments now accurately reflect the default 10-run cap
  • --dry-run wording aligned across run and trial
  • forecast example name changed to daily-news

No security, correctness, or reliability issues found.

🧵 Reviewed using Impeccable skills by Impeccable Skills Reviewer · 17.5 AIC · ⌖ 7.38 AIC · ⊞ 4.8K

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Skills-Based Review 🧠

Applied /grill-with-docs — one wording accuracy issue found; otherwise changes are clean and consistent.

📋 Key Themes & Highlights

Key Themes

  • Consistency wins: Flag descriptions, examples, and the docs page are now aligned — DisableSkip, --watch argument order fixed, --last alias clarified.
  • experiments visibility: Removing Hidden: true and the paired test update is a minimal, correct change. The docs section already existed, so no new docs are needed.
  • One accuracy concern: trial --dry-run description changed from the accurate "without applying any changes" to "without triggering workflow runs", which undersells what the flag actually skips (repo creation + install, not just dispatch). See inline comment.

Positive Highlights

  • ✅ Tests updated in lock-step with every flag description change
  • --last flag test added to logs_command_test.go — good regression coverage
  • ✅ Example argument order fix (compile ci-doctor --watch) matches actual CLI parsing

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer · 32.1 AIC · ⌖ 4.42 AIC · ⊞ 6.6K
Comment /matt to run again

Comment thread pkg/cli/trial_command.go Outdated
cmd.Flags().Bool("force-delete-host-repo-before", false, "Force delete the host repository before creation if it already exists")
cmd.Flags().BoolP("yes", "y", false, "Skip confirmation prompts")
cmd.Flags().Bool("dry-run", false, "Preview trial execution without applying any changes")
cmd.Flags().Bool("dry-run", false, "Preview trial execution without triggering workflow runs")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[/grill-with-docs] The updated description "Preview trial execution without triggering workflow runs" may be too narrow — trial --dry-run also skips repo creation and workflow installation, not only the dispatch trigger. The prior wording "without applying any changes" was broader and more accurate.

Consider: "Preview trial execution without creating repos or running workflows"

@copilot please address this.

@github-actions github-actions Bot mentioned this pull request Jul 10, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🧪 Test Quality Sentinel Report

🔶 Test Quality Score: 46/100 — Needs improvement

Analyzed 5 test change(s): 2 design, 3 implementation, 0 violation(s).

📊 Metrics (5 modified test assertions)
Metric Value
Analyzed 5 (Go: 5, JS: 0)
✅ Design 2 (40%)
⚠️ Implementation 3 (60%)
Edge/error coverage 0 (0%)
Duplicate clusters 0
Inflation No
🚨 Violations 0
Test File Classification Issues
TestNewAddCommand — updated cmd.Short string add_command_test.go implementation_test Happy-path only; verifies exact string literal
TestNewDeployCommand_RegistersCoreFlags--repo usage capitalization deploy_command_test.go implementation_test Verifies capitalization detail, not behavioral contract
TestNewExperimentsCommandcmd.Hidden changed to false experiments_command_test.go design_test Verifies user-visible visibility property
TestNewLogsCommand — added --last flag + usage cross-ref check logs_command_test.go design_test Verifies flag registration and design invariant
TestNewUpdateCommand_HasDisableSecurityScannerFlag — usage text update update_command_test.go implementation_test Verifies exact help string literal; no behavioral contract
⚠️ Flagged Tests (3)

TestNewAddCommand (add_command_test.go) — Assertion updated to match new cmd.Short wording. Tests exact string value of help text rather than a behavioral contract.

TestNewDeployCommand_RegistersCoreFlags (deploy_command_test.go) — Updated to match capitalization change in --repo flag usage text. Brittle string-matching test with no error path coverage.

TestNewUpdateCommand_HasDisableSecurityScannerFlag (update_command_test.go) — Updated from "Disable security scanning" to "Skip security scanning." Exact wording test rather than a functional contract.

Verdict

Failed. 60% implementation tests (threshold: 30%). The modified tests keep string-literal assertions in sync with the wording PR. No guideline violations exist, but the majority of changes verify exact help text strings rather than behavioral contracts.

References:

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • awmgmcpg

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "awmgmcpg"

See Network Configuration for more information.

🧪 Test quality analysis by Test Quality Sentinel · 42.7 AIC · ⌖ 8.01 AIC · ⊞ 6.8K ·
Comment /review to run again

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❌ Test Quality Sentinel: 46/100. 60% implementation tests (threshold: 30%). The modified tests are wording-sync updates that verify exact string literals rather than behavioral contracts. Review flagged tests in the comment above.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

COMMENT — mostly solid wording improvements with one meaningful semantic issue.

Review themes

trial --dry-run description is semantically inaccurate

The new text "without triggering workflow runs" is potentially confusing: trial always triggers workflow runs by design (that is its purpose). The flag suppresses the actual dispatch, but the phrasing implies runs are optional, which muddies the command model. See inline comment.

Hardcoded default count in logs examples

Example comments now say "up to 10 runs" — this embeds the --count default inline, making examples brittle if the default changes. Non-blocking but fragile.

Rest of the changes

The --no-security-scanner → "Skip" wording, experiments unhiding, compile argument reordering, flag description clarifications, and test updates are all correct and well-scoped.

🔎 Code quality review by PR Code Quality Reviewer · 162.9 AIC · ⌖ 5 AIC · ⊞ 5.4K
Comment /review to run again

Comments that could not be inline-anchored

pkg/cli/trial_command.go:117

--dry-run description now contradicts trial behavior: the text "without triggering workflow runs" misrepresents what --dry-run skips.

<details>
<summary>💡 Details</summary>

The trial command exists specifically to trigger workflow runs in a temporary private repository. --dry-run skips the actual dispatch step — but saying "without triggering workflow runs" implies that triggering runs is trial's default behavior that --dry-run suppresses. That is correct in effect but re…

pkg/cli/logs_command.go:63

logs --start-date/--end-date example comments hardcode the default count: "Download up to 10 runs after date" embeds the --count default (10) directly in the help text.

<details>
<summary>💡 Details</summary>

If the default for --count/-c ever changes, these comments silently become wrong. The examples for --start-date -1w and --start-date -1w -c 5 already use the right phrasing by referencing the flag. Prefer referencing the flag behavior rather than inlining the default:

``…

pkg/cli/logs_command.go:254

--last described as an alias but has different zero-value semantics than --count/-c: calling it an "Alias for --count/-c" misleads users — --last 0 means "not set, defer to --count" while --count 0 means "download zero runs".

<details>
<summary>💡 Details</summary>

The two flags share similar intent but are NOT true aliases:

  • --count/-c default: 10 — "download 10 runs"
  • --last default: 0 — "not set; if > 0, override count"

So --last 0 and --count 0 behave completel…

pkg/cli/trial_command.go:288

--dry-run description omits that repo setup side effects still occur: "without triggering workflow runs" is incomplete — the trial command still creates/configures the temporary repository during dry-run, which is a significant side effect.

<details>
<summary>💡 Details</summary>

The trial command's dry-run stops workflow execution but still performs setup steps (e.g., ensureTrialRepository). The new description "Preview trial execution without triggering workflow runs" does not c…

pkg/cli/logs_command.go:239

Example comments hardcode "up to 10 runs" — will go stale if the default count changes: the default is currently 10, but embedding it as a literal in comment strings means future changes to the default will leave these comments silently wrong.

<details>
<summary>💡 Details</summary>

Four example comments were changed to say "up to 10 runs":

` + &quot;`&quot; + `logs --start-date 2024-01-01   # Download up to 10 runs after date` + &quot;`&quot; + `
` + &quot;`&quot; + `logs --end-date 2024-01-31     # Download…

</details>

@github-actions

Copy link
Copy Markdown
Contributor

PR Triage

Field Value
Category docs
Risk Low
Score 48/100
Action batch_review
Batch low-risk-polish

Score breakdown: Impact 20 · Urgency 10 · Quality 18

CLI help-text/docs consistency fixes + makes experiments visible. CHANGES_REQUESTED review needs resolution, then safe to merge.

Generated by 🔧 PR Triage Agent · 226.8 AIC · ⌖ 5.86 AIC · ⊞ 5.4K ·

@github-actions

Copy link
Copy Markdown
Contributor

🤖 PR Triage Report

Field Value
Category docs
Risk 🟢 Low
Priority Score 35/100 (Impact: 15, Urgency: 10, Quality: 10)
Recommended Action batch_review — batch: docs-chore

Rationale: Aligns CLI help/docs wording across gh aw commands and exposes experiments in CLI reference. Docs-only, low-risk. CI passing (95 checks ✅). Changes requested; address feedback for fast resolution.

Run §29115410581

Generated by 🔧 PR Triage Agent · 226.8 AIC · ⌖ 5.86 AIC · ⊞ 5.4K ·

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

pr-sous-chef
@copilot please run the pr-finisher skill, address unresolved review comments, and rerun checks once the branch is up to date.

Generated by 👨‍🍳 PR Sous Chef · 6.4 AIC · ⌖ 6.49 AIC · ⊞ 7.5K ·
Comment /souschef to run again

Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>

Copilot AI commented Jul 10, 2026

Copy link
Copy Markdown
Contributor Author

pr-sous-chef
@copilot please run the pr-finisher skill, address unresolved review comments, and rerun checks once the branch is up to date.
...

Addressed both unresolved review threads in commit 5865524:

  • logs_command.go: Removed the trailing blank line inside the raw string literal so the "\n\n" separator produces a single blank line before WorkflowIDExplanation (was 3 blank lines before).
  • lint_command.go: Changed --dir .github/workflows to --dir custom-workflows/ to use an actually custom path that demonstrates what the flag changes.

Local validation (make fmt, make lint, make test-unit, make agent-report-progress) all pass. CI re-trigger needed from a maintainer for final green signal.

Copilot AI requested a review from gh-aw-bot July 10, 2026 19:14
@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot please run the pr-finisher skill, address unresolved review comments if any, and rerun checks once the branch is up to date.

Generated by 👨‍🍳 PR Sous Chef · 7.7 AIC · ⌖ 4.78 AIC · ⊞ 7.5K ·
Comment /souschef to run again

Copilot AI commented Jul 10, 2026

Copy link
Copy Markdown
Contributor Author

@copilot please run the pr-finisher skill, address unresolved review comments if any, and rerun checks once the branch is up to date.

...

Both review threads were already addressed in commit 5865524 from the previous pass. The branch is clean, up to date with origin/copilot/cli-consistency-fixes, and local validation (make fmt, CLI tests) still passes. No new unresolved threads found.

CI re-trigger is still needed from a maintainer before merge.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot please run the pr-finisher skill, address unresolved review comments, refresh the branch if needed, and rerun checks once updates are complete.

Generated by 👨‍🍳 PR Sous Chef · 7.17 AIC · ⌖ 7.25 AIC · ⊞ 7.5K ·
Comment /souschef to run again

…cy-fixes

Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>

Copilot AI commented Jul 10, 2026

Copy link
Copy Markdown
Contributor Author

@copilot please run the pr-finisher skill, address unresolved review comments, refresh the branch if needed, and rerun checks once updates are complete.

...

Branch refreshed in commit 92a2ada — merged 6 commits from origin/main (gVisor runtime support, govulncheck bump, docs/pr-sous-chef improvements). No conflicts; make fmt, make test-unit, and make agent-report-progress all pass. No new unresolved review threads. CI re-trigger needed from a maintainer before merge.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

pr-sous-chef

@copilot please run the pr-finisher skill, address the remaining unresolved review feedback, refresh the branch if needed, and rerun checks once the branch is up to date.

Unresolved review feedback to address:

Run: https://github.com/github/gh-aw/actions/runs/29130873851

Generated by 👨‍🍳 PR Sous Chef · 14.1 AIC · ⌖ 5.82 AIC · ⊞ 4.2K ·
Comment /souschef to run again

Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>

Copilot AI commented Jul 11, 2026

Copy link
Copy Markdown
Contributor Author

pr-sous-chef

@copilot please run the pr-finisher skill, address the remaining unresolved review feedback, refresh the branch if needed, and rerun checks once the branch is up to date....

Fixed in commit 38aae9f — updated trial --dry-run to "Preview trial execution without creating repos or running workflows", which covers both the repo creation skip and the workflow dispatch skip. Local validation passes. CI re-trigger needed from a maintainer before merge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[cli-consistency] CLI Consistency Issues - 2026-07-10

4 participants