You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Read a Finding Entry Titled With the Suppressed Marker as No Section in pr_review.py #3173
SUPPRESSED is matched anywhere in a line, so a finding entry nested inside another collapsed section reads as a suppressed section of its own when its title carries the marker words. marker_blocks scans each <details> region, the nested entry being one, and accepts the entry's own <summary> line because HEADING matches it.
Constructed body: a previously-missed section whose second nested entry is titled 2 low confidence results are dropped, each entry a <details> opening on a severity badge summary.
<details>
<summary><strong>Previously missed (3)</strong></summary>
In code that hasn't changed since last review
<details>
<summary><severity badge> Constructed finding 1</summary>
...
</details>
<details>
<summary><severity badge> 2 low confidence results are dropped</summary>
...
</details>
...
</details>
suppressed_blocks returns one block holding that entry, so the digest reports suppressed= for a round that suppressed nothing and prints a previously-missed finding a second time under the suppressed banner, which asserts the opposite triage. unrecognized_in returns nothing, so shapes=ok.
The same holds on develop at 3bb8896 with either previously-missed spelling. It predates #3172, which found it while checking a section bound.
Expected
A finding entry's own summary is not a section heading, whatever words its title carries. One direction is to read a section heading only where it states a count, as sibling_heading and finding_entry already do, or to anchor SUPPRESSED the way PREVIOUSLY_MISSED is anchored.
#3172 widens this class in two ways, each found by its local review and not an observed shape.
PREVIOUSLY_MISSED reads past an entry's severity badge, since its opener admits any tag, and Read Copilot's Count-First Overview Sections in pr_review.py #3172 lets a count follow that opener. A suppressed section whose nested entry is <summary><severity badge> 2 previously missed guards are re-added</summary> then yields a previously-missed block starting at that entry, so the finding prints under both banners with shapes=ok.
sibling_heading now bounds on a count opening a heading as well as on (N). A badge reduces to its word first, so a badged entry states no count, but an entry with no badge titled 2 low confidence results are dropped ends its section there and drops the entries after it.
The fix this issue already suggests covers both: a finding entry's own summary is not a section heading, whatever its title says.
Activity
Read a Heading's Count Past Emphasis Alone and Bound the Summary Fold
ptr727 commentedon Oct 17, 2026
#3172 widens this class in two ways, each found by its local review and not an observed shape.
PREVIOUSLY_MISSEDreads past an entry's severity badge, since its opener admits any tag, and Read Copilot's Count-First Overview Sections in pr_review.py #3172 lets a count follow that opener. A suppressed section whose nested entry is<summary><severity badge> 2 previously missed guards are re-added</summary>then yields a previously-missed block starting at that entry, so the finding prints under both banners withshapes=ok.sibling_headingnow bounds on a count opening a heading as well as on(N). A badge reduces to its word first, so a badged entry states no count, but an entry with no badge titled2 low confidence results are droppedends its section there and drops the entries after it.The fix this issue already suggests covers both: a finding entry's own summary is not a section heading, whatever its title says.
Read Copilot's Count-First Overview Sections in pr_review.py (#3172)
Promote the Incidental Counts Rule and the Count-First Overview Reade…
Read a Section Heading Through One Reduction in pr_review.py (#3179)
Promote the Shared Heading Reduction and the Line-Suffix Pairing to M…