UX Analysis Report – 2026-03-22 #22260
Closed
Replies: 1 comment
-
|
This discussion has been marked as outdated by Delight. A newer discussion is available at Discussion #22414. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Today's targeted analysis focused on:
Overall Quality: Professional, with two actionable gaps worth addressing.
Key Finding: The
healthcommand's--verboseflag is fully implemented in logic but never registered on the Cobra command — making it inaccessible to users.Quality Highlights ✅
Example 1: Quick-Start Guide
docs/src/content/docs/setup/quick-start.mdxExample 2: Cache Validation Error Messages
pkg/workflow/cache_validation.goImprovement Opportunities 💡
High Priority
Opportunity 1: Missing
--verboseFlag Registration —pkg/cli/health_command.gopkg/cli/health_command.goHealthConfig.Verboseis defined (line 26),cmd.Flags().GetBool("verbose")is called in RunE (line 60), and verbose logic is used inRunHealth(lines 131, 136). However,cmd.Flags().Bool("verbose", ...)is never called — the flag is not registered on the command.--verbose— Cobra will returnunknown flag: --verbose. The feature is silently broken.cmd.Flags().Bool("verbose", false, "Show verbose diagnostic output including raw API responses")to the flag registration block inNewHealthCommand().High Priority
Opportunity 2: Ambiguous Model Example in Engine Configuration —
docs/src/content/docs/reference/engines.mddocs/src/content/docs/reference/engines.md# defaults to claude-sonnet-4is placed next tomodel: gpt-5. An enterprise user configuring Copilot reads: "the default is claude-sonnet-4, but this example sets it to gpt-5" — and wonders why a Copilot engine would use a GPT-5 model name, and whether that's even valid.claude-sonnet-4as the value), and one showing an override (withgpt-5for the codex engine, or a more realistic copilot model name).Files Reviewed
Documentation
docs/src/content/docs/setup/quick-start.mdx— Rating: ✅ Professionaldocs/src/content/docs/reference/engines.md— Rating:CLI Commands
pkg/cli/health_command.go— Rating: ❌ Needs Significant Work (broken flag)Workflow Messages
.github/workflows/archie.md— Rating: ✅ Professional (consistent persona, informative).github/workflows/ci-doctor.md— Rating:Validation Code
pkg/workflow/cache_validation.go— Rating: ✅ ProfessionalMetrics
🎯 Actionable Tasks
Here are 2 targeted improvement tasks, each affecting a single file:
Task 1: Register Missing
--verboseFlag —pkg/cli/health_command.goFile to Modify:
pkg/cli/health_command.goCurrent Experience
Running
gh aw health --verbosereturnsunknown flag: --verbose. The verbose flag is read internally (line 60) and drives log output (lines 131–136), butcmd.Flags().Bool(...)is never called to register it. The feature is silently inaccessible.Quality Issue
Design Principle: Trust and Reliability — users expect documented-looking config fields to correspond to actual CLI flags.
The
HealthConfigstruct advertises aVerbose boolfield, and the verbose output code path exists and is non-trivial. However the entry point (the CLI flag) is missing, so enterprise users cannot access verbose diagnostics to troubleshoot failing workflows.Proposed Improvement
Add the missing flag registration to
NewHealthCommand()inpkg/cli/health_command.go:Before (after line 84, the last
cmd.Flags()call):After:
Why This Matters
gh aw healthfor debuggingSuccess Criteria
pkg/cli/health_command.goonlygh aw health --verboseno longer returns "unknown flag" errorScope Constraint
pkg/cli/health_command.goTask 2: Clarify Engine Model Example —
docs/src/content/docs/reference/engines.mdFile to Modify:
docs/src/content/docs/reference/engines.mdCurrent Experience
The "Extended Coding Agent Configuration" code block (around line 28–35) shows all fields together including
model: gpt-5 # defaults to claude-sonnet-4. This juxtaposes a GPT-5 model name (typically associated with OpenAI/Codex) with a Copilot engine (id: copilot), while the comment says the default isclaude-sonnet-4(a different model family entirely). Enterprise users are left confused about which model names are valid for which engines.Quality Issue
Design Principle: Clarity and Precision — examples must be realistic and non-misleading.
The single "kitchen sink" example tries to show all fields at once, but the model override (
gpt-5on acopilotengine) doesn't represent a realistic or recommended configuration. It creates unnecessary questions: "Can I use GPT-5 with Copilot? What models does Copilot support?"Proposed Improvement
Split the single all-fields example into two focused examples. Replace the current block:
Before (around lines 26–35):
After:
Why This Matters
Success Criteria
docs/src/content/docs/reference/engines.mdonlyScope Constraint
docs/src/content/docs/reference/engines.mdReferences:
Beta Was this translation helpful? Give feedback.
All reactions