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
Severity L. 2026-09-09, recording
#717's round-1 receipt.Reproduction
exits on:
The comma form works:
Mechanism
--lensesis a single-value argparse option —pr_watch.py --helprenders 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.mdwrites--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, andpr_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:
Optionally also accept
nargs="+"inpr_watch.pyso both forms work, but the documentation change is the fix — the engine's behaviour is fine and is what its own--helpdescribes.https://claude.ai/code/session_01936YzSmyhWE9xmeHWYGsn1