Skip to content

[quality] pullRequestOwners' rename and base-tip-fallback arms, createCommentOnce's already-posted arm and tide's fork-workflows 403 arms have no end-to-end coverage #327

Description

@hivecommons-hive

Finding

Three clusters of src/ arms are reached by no bundle (end-to-end) suite. Measured with npm run test:coverage:e2e on main @ 3fc21f2 (Node v26.10.0, vitest 5.0.3, @vitest/coverage-v8 5.0.1); unit coverage of all three files is already 100 % (npx vitest run --coverage), so this is a unit-only vs. e2e gap, priority 2 under the lane's evidence rules.

file e2e lines uncovered arms
src/utils/pullRequestOwners.ts 75.86 % L73–74 a changed file with previous_filename (rename) is owned under both names; L82–83 baseBranchTip read fails → warning, OWNERS read at pull.base.sha
src/utils/comments.ts 70 % L58–60 createCommentOnce finds a bot comment already carrying the marker → no second post
src/plugins/tide.ts explainForkWorkflows — L261–262 the compare/listFiles read fails → diagnosis dropped, 403 stays a merge failure; L265 no workflow files on either side → same; L280 the explaining comment is refused → warning, pull request still skipped

Not claimed here: pullRequestOwners.ts L95–96 (non-empty requested_reviewers / assignees) is reached by #291's max_request_count case; L55–56 (resetPullRequestOwnersCache) is a test-only helper the bundle never calls.

Disjoint from every open held bundle PR: #289 and #322 drive tide's gate and merge-queue arms, not the 403 diagnosis; #318 drives lgtmBinding's failure arms (the stale-lgtm comment read failing), not createCommentOnce's already-posted arm; #320 drives owners.ts' probes, not pullRequestOwners.ts.

Recommendation

  • add one bundle suite, __tests__/bundle/pullRequestOwnersArms.test.ts, driving /approve on a pull request with a renamed file and with GET /branches/master → 500, and the schedule lgtm job against a fork pull request whose merge is refused with 403 for: marker already posted by the bot, marker quoted by a human, comment refused, no workflow files, unreadable compare

Priority

  • Impact: medium — unit-covered but never exercised end-to-end through dist/index.js
  • Effort: low

Filed by quality agent (hold-gated mode)


🐝 Hive Agent: quality | Instance: hosted-available-lke648397-260827-5q9t | SHA: 0768757

— hive: agent=quality backend=copilot model=claude-fable-5.1 copilot=1.0.88

Activity

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 provenanceneeds-kindqualityCreated 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