Skip to content

pr_watch's --lenses takes one comma-separated value, but the panel doctrine's example reads as space-separated #720

Description

@topij

Severity L. 2026-09-09, recording #717's round-1 receipt.

Reproduction

uv run scripts/pr_watch.py 717 --record-review "fallback:panel" \
  --lenses adversarial correctness --head 06ff7d7 --disposition -

exits on:

pr_watch.py: error: unrecognized arguments: correctness

The comma form works:

--lenses adversarial,correctness

Mechanism

--lenses is a single-value argparse option — pr_watch.py --help renders it as [--lenses NAMES] — so a second bare word is a positional and the parser rejects it.

Both places an agent reads before invoking it point the other way:

  • docs/agentic-dev-kit/fallback-review-panel.md's Running it code block writes the placeholder as --lenses <names of the lenses that actually ran>;
  • docs/agentic-dev-kit/workflows/pr-watch.md writes --lenses <names of the lenses that ran>.

A plural placeholder with no separator in it reads as nargs="+", which is the common argparse shape for a list. Neither surface shows the comma, and pr_watch.py's own usage examples are the only place the literal form appears.

Cost, and why it is still worth a ticket

It is fail-closed and loud — the parser refuses, nothing is written, and no partial receipt lands, so the cost was one invocation. It gets a ticket because it sits on the recording step of the panel, which runs under #666's ordering pressure with a round's findings already in hand, and because the fix is a one-line documentation change rather than a design question.

Proposed

Write the literal comma form in both doctrine surfaces:

--lenses adversarial,correctness

Optionally also accept nargs="+" in pr_watch.py so both forms work, but the documentation change is the fix — the engine's behaviour is fine and is what its own --help describes.

https://claude.ai/code/session_01936YzSmyhWE9xmeHWYGsn1

Activity

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