Skip to content

Agent UX: suggested_retry renders boolean flags with a "<value>" placeholder, so following the CLI's own suggestion fails #500

Closed

Description

@unbraind

Version: pm 2026.7.10

When a command fails because a boolean flag is missing, the recovery bundle's suggested_retry appends a "<value>" placeholder to the flag — but the flag takes no value, so literally running the suggested command fails with a different error. Agents (the main consumers of suggested_retry) copy these suggestions verbatim.

Repro

$ pm init && pm create task probe --acceptance-criteria n/a   # -> pm-nd30
$ pm close pm-nd30 done
$ pm close pm-nd30 done          # item already terminal
...
  missing: --force
  suggested_retry: pm close pm-nd30 done --force "<value>"

$ pm close pm-nd30 done --force "<value>"    # literal suggestion
Error: Invalid command usage
  error: too many arguments for 'close'. Expected 2 arguments but got 3: pm-nd30, done, <value>.

$ pm close pm-nd30 done --force              # what it should have suggested
ok (item re-closed)

Expected

suggested_retry should know each flag's arity: boolean flags rendered bare (--force), value flags with a placeholder. A machine-followable suggestion that errors when followed is worse than none — the agent burns a round-trip and may conclude the recovery bundle is untrustworthy.

Philosophy tie-in: project management = context management — recovery bundles are great context for agents, but only if they're executable as-is.

Activity

  1. coderabbitai commented on Jul 10, 2026

    @coderabbitai
    🔗 Related PRs

    #91 - Guard agent query typo recovery after ecosystem dogfood [closed]
    #136 - Add package install recovery and collision plans [closed]
    #200 - Add validation self-repair and agent ergonomics primitives [closed]


    📝 Issue Planner

    Check the box below or use the @coderabbitai plan command to generate an implementation plan and prompts that you can use with your favorite coding assistant.

    • Create Plan

    🧪 Issue enrichment is currently in open beta.

    You can configure auto-planning by selecting labels in the issue_enrichment configuration.

    To disable automatic issue enrichment, add the following to your .coderabbit.yaml:

    issue_enrichment:
      auto_enrich:
        enabled: false

    💬 Have feedback or questions? Drop into our discord!

  2. added a commit that references this issue on Jul 10, 2026
  3. unbraind commented on Jul 10, 2026

    @unbraind
    OwnerAuthor

    Fixed and merged in PR #502 at main commit 6ad4f23. The full bundle passed 100/100/100/100 coverage (5,528 tests), packed smoke, 88-command dogfood, Windows/CodeQL/Trivy/Semgrep/static/typecheck/compatibility gates, and AI review follow-ups.

  4. unbraind commented on Jul 11, 2026

    @unbraind
    OwnerAuthor

    pm tracker item:

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions