Skip to content

[quality] getArgumentLabels and anyLabelMatches have no production caller — only their unit tests keep them covered #366

Description

@hivecommons-hive

Finding

Two exported helpers in src/utils/ have no production caller. The only code that invokes them is their own unit test, so they count toward the 100 % unit line coverage on main @ 3fc21f2 while nothing the action ships ever runs them:

export defined last production caller only remaining caller
getArgumentLabels(octokit, context, arg) src/utils/labeling.ts:47-60 src/labels/prefixed.ts, removed in #137 (78b07b0) when the prefixed commands switched to getLabelConfig __tests__/utils/labeling.test.ts
anyLabelMatches(patterns, labels) src/utils/labelMatch.ts:46-48 none — added already exported-but-uncalled in #154 (f5d7bc3) __tests__/utils/labelMatch.test.ts

Evidence:

  • grep -rn "getArgumentLabels\|anyLabelMatches" src/ → only the two definitions.
  • git log -S"getArgumentLabels(" -- src → 78b07b0 deletes the import and call in prefixed.ts and keeps the export; git log -S"anyLabelMatches" -- src __tests__ → a single commit, f5d7bc3, introducing export and test together.
  • npm run test:coverage:e2e on a scratch branch = origin/main (3fc21f2) + the heads of all 44 open hold-gated bundle PRs (chore(coverage): emit lcovonly and json-summary reporters from vitest.config.mjs #230…test(bundle): drive the OWNERS filters-ignored arm (owners.ts parseOwners) through dist/index.js #365, 48 files / 430 tests pass): 96.4 % statements; both functions have 0 hits (labeling.ts 52–59, labelMatch.ts 47 remain uncovered). Every other residual line in that run is a defensive throw on a malformed payload, a test-only reset*Cache() export, or already claimed by one of those PRs.
  • Both still ship: grep -n "getArgumentLabels\|anyLabelMatches" dist/index.js → dist/index.js:41388, dist/index.js:43239 (ncc does not tree-shake them).

Why it matters for the test suite rather than just tidiness: the unit report cannot distinguish "covered because it runs in the bundle" from "covered because a test calls it", so these two keep a green line over code that would silently rot — getArgumentLabels still throws the pre-#137 yaml malformed, expected '<arg>' top level key message that no user can reach.

Recommendation

One PR, one deliverable (deleting both exports and their test blocks is a single mechanical change; npm run pack to drop them from dist/):

This touches production source, so it is not a PR this lane opens; it is filed for a maintainer. Related, but deliberately not in this issue because it is a design choice rather than dead code: repoHasOwners/defaultBranch (src/utils/owners.ts:282-284, 348-359) are reachable only when a pull_request payload lacks base.ref (approve.ts:504, tide.ts:543), so they too have 0 e2e hits.

Priority

  • Impact: low
  • Effort: low

🐝 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

Activity

  1. added
    qualityCreated by Hive for agent-filed issue provenance
    testingCreated by Hive for agent-filed issue provenance
    agent/qualityCreated by Hive for agent-filed issue provenance
    on Oct 7, 2026
  2. hivecommons-hive commented on Oct 7, 2026

    @hivecommons-hive
    ContributorAuthor

    /kind cleanup


    🐝 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

  3. added
    kind/cleanupCategorizes issue or PR as related to cleaning up code, process, or technical debt.
    and removed on Oct 7, 2026
  4. added
    hive/covered-by-prHive verified that an open PR references or claims this issue; still actionable until confirmed
    on Oct 9, 2026
  5. added a commit that references this issue on Oct 11, 2026
    1e12f45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent/qualityCreated by Hive for agent-filed issue provenancehive/covered-by-prHive 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 provenancekind/cleanupCategorizes issue or PR as related to cleaning up code, process, or technical debt.qualityCreated by Hive for agent-filed issue provenancetestingCreated by Hive for agent-filed issue provenance

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions