Problem
From Codex on #5735's merged head (#5735 (comment)). In plugins/claude-ops/skills/audit-native-overlap/scripts/overlap.py, building the native index adds a name to seen when an earlier lane's entry is visited, before that entry is filtered out for being empty or internal. A built-in plugin (or one of its components) with the same name is then skipped as a duplicate, so no scorable surface remains for that name and overlap candidates for it are silently missed.
Fix
Mark a name as seen only when its entry is actually kept (after the empty/internal filters), so a later lane's entry for the same name is scored. Add a test with an internal earlier entry and a same-named built-in plugin component.
Acceptance
- The test fails before and passes after.
overlap.py detect on the 2.1.287 inventory reports the same or more candidates; any new candidate gets a ruling.
Related: #5733, #5735.
Problem
From Codex on #5735's merged head (#5735 (comment)). In
plugins/claude-ops/skills/audit-native-overlap/scripts/overlap.py, building the native index adds a name toseenwhen an earlier lane's entry is visited, before that entry is filtered out for being empty orinternal. A built-in plugin (or one of its components) with the same name is then skipped as a duplicate, so no scorable surface remains for that name and overlap candidates for it are silently missed.Fix
Mark a name as seen only when its entry is actually kept (after the empty/internal filters), so a later lane's entry for the same name is scored. Add a test with an internal earlier entry and a same-named built-in plugin component.
Acceptance
overlap.py detecton the 2.1.287 inventory reports the same or more candidates; any new candidate gets a ruling.Related: #5733, #5735.