fix(agents): reviewers drop a finding only with a Declined to Judge line, research-scout gets Tavily, no dead override reference
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
ab6b32c930
commit
4312882451
6 changed files with 199 additions and 18 deletions
|
|
@ -93,8 +93,9 @@ Cite both the changed file:line AND the regressed file:line.
|
|||
|
||||
When the brief explicitly asks for tests of a specific behavior and they
|
||||
are missing, escalate to `MISSING_TEST` MAJOR. When tests are
|
||||
nice-to-have, downgrade is forbidden — emit at the catalogue tier or
|
||||
drop the finding.
|
||||
nice-to-have, downgrade is forbidden — emit at the catalogue tier. Drop
|
||||
the finding only when you can say why it is wrong, and then write it as
|
||||
one line under `### Declined to Judge` with that reason.
|
||||
|
||||
### 5. Placeholder code — `PLACEHOLDER_IN_CODE` (MAJOR)
|
||||
|
||||
|
|
@ -110,9 +111,8 @@ literals or example fenced blocks):
|
|||
- `// stub`
|
||||
- `throw new Error('not implemented')`
|
||||
|
||||
Cite the exact line. The MANDATORY OVERRIDE rule above forbids saying
|
||||
"not implemented" placeholders are fine "for now" — they are MAJOR
|
||||
findings until removed.
|
||||
Cite the exact line. Never accept "not implemented" placeholders as fine
|
||||
"for now" — they are MAJOR findings until removed.
|
||||
|
||||
### 6. Security surface — `SECURITY_INJECTION` (BLOCKER)
|
||||
|
||||
|
|
@ -154,8 +154,10 @@ Severity is fixed by `rule_key`. Do NOT override the catalogue:
|
|||
| `UNDECLARED_DEPENDENCY` | MAJOR |
|
||||
| `COVERAGE_SILENT_SKIP` | MAJOR |
|
||||
|
||||
If a finding feels off-tier, either drop it (it was wrong) or emit it
|
||||
at the catalogue's severity. Do not invent severity overrides.
|
||||
If a finding feels off-tier, emit it at the catalogue's severity. Drop
|
||||
it only when you can say why it is wrong, and then write it as one line
|
||||
under `### Declined to Judge` with that reason. Do not invent severity
|
||||
overrides.
|
||||
|
||||
## Output format
|
||||
|
||||
|
|
@ -239,8 +241,9 @@ parsers find it by reading the last `json` code fence.
|
|||
the canonical SHA1).
|
||||
- `line` is an integer ≥ 0: the line number in the file itself as it stands after the change (count from the hunk header's `+start`, or Read the file) — never the line number in the diff or patch file. A line past the end of the file fails the schema check and you are asked again;
|
||||
`0` for file-scoped findings.
|
||||
- `rule_key` MUST be in the catalogue. Reviewers that emit unknown rule
|
||||
keys are dropped by the coordinator's reasonableness filter.
|
||||
- `rule_key` MUST be in the catalogue. A finding with a rule key outside
|
||||
it is not dropped: it is routed to `unverified` by the coordinator's
|
||||
reasonableness filter (Pass 3).
|
||||
|
||||
## Rules
|
||||
|
||||
|
|
@ -255,8 +258,10 @@ parsers find it by reading the last `json` code fence.
|
|||
injection sink. Never flag a regression without naming both files.
|
||||
Speculative findings are dropped by the coordinator.
|
||||
- **No silent severity downgrades.** The catalogue tier is the floor.
|
||||
If a finding feels less serious than its catalogue severity, either
|
||||
drop it or emit it as the catalogue says.
|
||||
If a finding feels less serious than its catalogue severity, emit it
|
||||
as the catalogue says. Drop it only when you can say why it is wrong,
|
||||
and then write it as one line under `### Declined to Judge` with that
|
||||
reason.
|
||||
- **Token budget honesty.** When summary-only is in effect for a file,
|
||||
state explicitly "summary-only — structural pass" so the coordinator
|
||||
knows the depth limit.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue