Repository navigation
[quality] the OWNERS filters accepted-but-ignored arm (owners.ts parseOwners) is never driven through dist/index.js #364
Copy link
Copy link
Closed
Labels
agent/qualityCreated by Hive for agent-filed issue provenanceCreated by Hive for agent-filed issue provenancehive/covered-by-prHive verified that an open PR references or claims this issue; still actionable until confirmedHive verified that an open PR references or claims this issue; still actionable until confirmedhive/hosted-available-lke648397-260827-5q9tCreated by Hive for agent-filed issue provenanceCreated by Hive for agent-filed issue provenanceneeds-kindqualityCreated by Hive for agent-filed issue provenanceCreated by Hive for agent-filed issue provenancetestingCreated by Hive for agent-filed issue provenanceCreated by Hive for agent-filed issue provenance
Description
Finding
src/utils/owners.ts parseOwners (line 46) accepts an OWNERS filters section and ignores it with a debug line, exactly as the docs promise (docs/prow-for-your-org.md:41 — "Accepted but ignored (debug-logged)"; docs/commands.md:321). That promise has unit coverage only:
- Unit:
npx vitest run --coverageonmain@ 3fc21f2 — line 46 covered by__tests__/utils/owners.test.ts("notes that filters are ignored"), which callsparseOwnersdirectly. - E2E:
npm run test:coverage:e2e(the__tests__/bundlesuite against a source-mapped bundle, per [quality] the bundle e2e suite's coverage of src/ is never captured — runBundle.ts drops NODE_V8_COVERAGE and dist/ has no source map #235/test(coverage): add test:coverage:e2e to report the bundle suite's coverage of src/ #274) onmain@ 3fc21f2 plus all 44 open held PR heads merged (chore(coverage): emit lcovonly and json-summary reporters from vitest.config.mjs #230..test(bundle): drive syncApprovalReview's not-open and nothing-to-dismiss short-circuits and withdrawalReason's no-files and lgtm-skip arms through dist/index.js #363, every merge clean; 47 files / 428 tests pass):owners.ts:46has 0 hits. No open PR serves an OWNERS file carryingfiltersor asserts the debug line.
So nothing exercises, through the shipped dist/index.js, that a real OWNERS blob with filters (a) still authorizes its top-level approvers and (b) grants nothing to a login listed only inside a filter — the behaviour a Prow user migrating OWNERS files would be surprised by.
Recommendation
- Add
__tests__/bundle/ownersFilters.test.ts: route oneOWNERSblob (approvers: [alice],filters: { '.*': { approvers: [bob] } }) viarouteOwnersand drive/approvethroughdist/index.jstwice: alice getsapprovedand stdout carriesOWNERS at OWNERS: filters are not supported; ignoring; bob is refused withbob is not an approver for any changed fileand no label write.
Priority
- Impact: medium — unit-covered, not e2e-covered (priority 2 coverage-gap)
- Effort: low
Filed by quality agent (hold-gated mode)
🐝 Hive Agent: quality | Instance: hosted-available-lke648397-260827-5q9t | SHA: 3fc21f2
— hive: agent=quality backend=copilot model=claude-fable-5.1 copilot=1.0.88
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
agent/qualityCreated by Hive for agent-filed issue provenanceCreated by Hive for agent-filed issue provenancehive/covered-by-prHive verified that an open PR references or claims this issue; still actionable until confirmedHive verified that an open PR references or claims this issue; still actionable until confirmedhive/hosted-available-lke648397-260827-5q9tCreated by Hive for agent-filed issue provenanceCreated by Hive for agent-filed issue provenanceneeds-kindqualityCreated by Hive for agent-filed issue provenanceCreated by Hive for agent-filed issue provenancetestingCreated by Hive for agent-filed issue provenanceCreated by Hive for agent-filed issue provenance
Activity
github-actions commentedon Oct 7, 2026
Please add a kind label with
/kind failing-testor/kind cleanup.