Skip to content

fix: make CLI help text truthful and consistent#454

Merged
BunsDev merged 1 commit into
mainfrom
fix/448-cli-help-text
Jul 22, 2026
Merged

fix: make CLI help text truthful and consistent#454
BunsDev merged 1 commit into
mainfrom
fix/448-cli-help-text

Conversation

@BunsDev

@BunsDev BunsDev commented Jul 22, 2026

Copy link
Copy Markdown
Member

Context

Implementation

  • Approach: help-string-only edits, no behavior change.
    • Harness enumerations now list codex, claude, or copilot (verified against built_in_harness_specs()): run/patch --harness help, doctor's no-harness hint, the TUI guided-run prompt, the top-level long_about, and the --model/--add-dir native-flag notes (copilot declares both flags). Hermes/grok stay unlisted — they are opt-in adapter recipes, not built-ins.
    • harness.rs:2256 decision: the unsupported_harness_message test pins output for an explicit fixture argument &["codex", "claude"], not the built-in default listing — left unchanged.
    • Outcome-first about strings: executor ("Run Coven jobs on this machine for a remote hub"), hub ("Inspect hub status, nodes, jobs, and routing (read-only)"), code ("Run any Coven engine subcommand directly") — protocol/escape-hatch detail moved into long_about. Other entries (doctor, daemon, run, sessions, scheduler, …) were already outcome-first and were left alone.
    • after_help examples added to run, sessions, daemon, patch, wt in the exact top-level "Common first steps" style (2-space indent, aligned comment column); examples derived from each command's real flags and docs/reference/cli-patch.md / cli-wt.md.
    • Hidden daemon serve: daemon long_about now explains serve is the internal foreground entrypoint launched by daemon start; it stays hidden.
  • User-visible behavior: --help text only.
  • Compatibility notes: no flags, exit codes, or --json shapes touched.

Verification

  • cargo fmt --check
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo test --workspace --locked (1269 + suite green; grepped every changed fragment for pinned assertions — none)
  • python3 scripts/check-secrets.py (passed: no current-tree or history findings)
  • Additional manual checks: rendered coven --help, run/sessions/daemon/patch/wt --help and verified alignment and content.

Risk and Rollback

  • Risk level: low — string-only diff.
  • Rollback plan: revert the single commit.

Agent Handoff

List copilot alongside codex and claude in every user-facing harness
enumeration (run/patch help, doctor hint, TUI guided prompt, top-level
long_about, --model/--add-dir flag notes). Rewrite implementation-first
about strings (executor, hub, code) in outcome-first voice, moving
protocol detail into long_about. Add after_help example blocks to run,
sessions, daemon, patch, and wt mirroring the top-level style, and note
the hidden `daemon serve` entrypoint in the daemon long_about.

Help-string-only change: no behavior, exit codes, or --json shapes touched.

Closes #448

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Val Alexander <68980965+BunsDev@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 22, 2026 00:41

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

This PR updates the Coven CLI’s user-facing --help and TUI prompt text to better reflect current reality (notably the built-in copilot harness), and to make command descriptions/examples more outcome-oriented and discoverable.

Changes:

  • Refreshes help text to include the copilot built-in harness across relevant commands/prompts.
  • Rewrites some about/long_about strings to be outcome-first and adds after_help usage examples for complex commands.
  • Improves daemon discoverability by documenting the hidden daemon serve entrypoint in daemon help.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
crates/coven-cli/src/main.rs Updates clap help strings (about/long_about/after_help) and harness-related flag descriptions across multiple subcommands.
crates/coven-cli/src/tui/shell.rs Updates the guided-run harness prompt to include copilot in the displayed built-in harness list.

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

Comment on lines 1921 to 1925
let default_harness = default_harness_id().unwrap_or_else(|| "codex".to_string());
let harness_prompt = format!("Harness [default: {default_harness}; options: codex, claude]: ");
let harness_prompt =
format!("Harness [default: {default_harness}; options: codex, claude, copilot]: ");
let harness =
prompt_for_optional_line(&harness_prompt)?.unwrap_or_else(|| default_harness.to_string());
Comment on lines 165 to 167
Run {
#[arg(help = "Harness to run: codex or claude")]
#[arg(help = "Harness to run: codex, claude, or copilot")]
harness: String,
Comment on lines 362 to 365
#[arg(long, help = "Override the repo path for this run")]
repo: Option<PathBuf>,
#[arg(long, help = "Harness to use: codex or claude")]
#[arg(long, help = "Harness to use: codex, claude, or copilot")]
harness: Option<String>,
Comment on lines 209 to 213
long,
value_name = "ID",
help = "Model to run the harness on. Accepts a namespaced id (e.g. openai/gpt-5.5, anthropic/claude-...); Coven strips the provider/ prefix and forwards the bare id to the harness's native model flag (codex/claude --model). Adapters that declare no model mechanism warn and continue. Echoed back in the stream-json system.init `model` field."
help = "Model to run the harness on. Accepts a namespaced id (e.g. openai/gpt-5.5, anthropic/claude-...); Coven strips the provider/ prefix and forwards the bare id to the harness's native model flag (codex/claude/copilot --model). Adapters that declare no model mechanism warn and continue. Echoed back in the stream-json system.init `model` field."
)]
model: Option<String>,
@BunsDev
BunsDev merged commit aa7a837 into main Jul 22, 2026
18 checks passed
@BunsDev
BunsDev deleted the fix/448-cli-help-text branch July 22, 2026 00:55
BunsDev added a commit that referenced this pull request Jul 22, 2026
…dd-dir (#459)

Sweep the reference/topic docs that still claimed only Codex and Claude
Code where GitHub Copilot CLI is a shipped built-in harness, and add the
missing --add-dir row to the coven run reference.

Follow-up flagged in the bodies of merged PRs #453/#454/#457.

Closes #458

Signed-off-by: Val Alexander <68980965+BunsDev@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

cli: help text is stale (harness list) and inconsistent across subcommands

2 participants