Skip to content

dg usage advertises three example flags that don't parse (--days, --start, --end) #105

Description

@GregHolmes

Summary

dg usage advertises three example invocations that the command cannot parse. They appear in --help and, more importantly, in the --agent-friendly JSON that agents consume.

Reproduction

deepctl 0.3.0:

$ dg usage --days 30
Error: No such option '--days'.

$ dg usage --start 2025-01-01 --end 2025-01-31
Error: No such option '--start'.

The real flags are -s, --start-date and -e, --end-date. There is no --days option at all; the nearest equivalents are --last-week, --current-month, and --last-month.

$ dg usage --help
Usage: dg usage [OPTIONS]

  View Deepgram usage statistics

  Examples:   dg usage   dg usage --days 30   dg usage --start 2025-01-01
  --end 2025-01-31
...
Options:
  -e, --end-date TEXT    End date (YYYY-MM-DD or ISO format)
  -s, --start-date TEXT  Start date (YYYY-MM-DD or ISO format)

Two of the three advertised examples fail; the help text contradicts its own options list eight lines further down.

Source

deepctl_cmd_usage/command.py:40-41:

"dg usage --days 30",
"dg usage --start 2025-01-01 --end 2025-01-31",

Why this matters beyond --help

That same array is what --agent-friendly emits, so an agent asking the CLI how to use itself is handed two commands that fail:

$ dg usage --agent-friendly | jq .examples
[
  "dg usage",
  "dg usage --days 30",
  "dg usage --start 2025-01-01 --end 2025-01-31"
]

Suggested fix

Either correct the examples to --start-date / --end-date and replace --days 30 with --last-month (or another real flag), or add --days and --start/--end as aliases if those were the intended interface.

Worth a sweep of the other commands' examples arrays at the same time — this is the only one I checked in detail, and dg listen's was corrected in 0.3.0, which suggests these aren't currently validated against the option definitions. A test asserting every string in every examples array parses would catch the whole class.

Environment

deepctl 0.3.0 (PyPI wheel, isolated venv), macOS, Python 3.11. Found while correcting the CLI pages on developers.deepgram.com (deepgram/deepgram-docs#1128).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions