fix(review): one reviewer's two findings on one triplet keep a row each
Pass 1 merged two different /code-review findings on (bin/slug.mjs, 46, CODE_REVIEW_DEFECT) and the second lost its row and its action. A reviewer never duplicates itself: its second finding on a triplet under another title stays its own row, with the id over rule_key#2 (the form critic-diff already uses); fill-finding-ids counts the same way (voyage-lekerepo trial 5, finding 7). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
16d1bb7dd5
commit
b47cabdf30
6 changed files with 112 additions and 23 deletions
|
|
@ -76,7 +76,11 @@ re-reading, and fresh finding generation are all forbidden.
|
|||
### Pass 1 — Dedup by `(file, line, rule_key)` triplet
|
||||
|
||||
Two findings collide when their `(file, line, rule_key)` triplets are
|
||||
identical. When findings collide:
|
||||
identical, with one exception: **one reviewer never duplicates itself.** Two
|
||||
findings from the same reviewer on one triplet under different titles are two
|
||||
findings (an engine's catch-all `rule_key` makes this common): keep both rows,
|
||||
in input order. A finding from another reviewer joins the row whose title it
|
||||
shares, else the first one. When findings collide:
|
||||
- Rank the colliding findings and keep the first:
|
||||
1. the higher catalogue tier: the severity `lib/review/rule-catalogue.mjs`
|
||||
gives the `rule_key`, or the finding's own severity when the key is
|
||||
|
|
@ -420,8 +424,9 @@ for the ID list.
|
|||
where n is its 1-based position in the JSON block's `findings` array.
|
||||
`/trekreview` Phase 7 runs `lib/review/fill-finding-ids.mjs`, which
|
||||
replaces each placeholder with the id computed over `(file, line,
|
||||
rule_key)` (`lib/parsers/finding-id.mjs`) and refuses a placeholder with
|
||||
no finding behind it.
|
||||
rule_key)` (`lib/parsers/finding-id.mjs`; the k-th row on one triplet
|
||||
gets it over `rule_key#k`) and refuses a placeholder with no finding
|
||||
behind it.
|
||||
- **Suppressed findings are accountable.** When you remove a finding via
|
||||
Pass 2 or Pass 3, log it in `## Suppressed Findings` with the reason and
|
||||
its fate (`[dropped]` / `[unverified]`), and list every `[unverified]` one
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue