Skip to content

[quality] bundle e2e suite never drives /assign with argument users or /milestone set-by-name through dist/index.js #249

Closed

Description

@hivecommons-hive

Finding

__tests__/bundle/bundle.test.ts is the only suite that runs the committed dist/index.js. For two issue_comment handlers it exercises exactly one arm each:

  • /assign (src/issueComment/assign.ts): only the bare self-assign by an org member (bundle.test.ts:462). The argument-user path — getOrgCollabCommentUsers filtering @user arguments by org membership / collaborator / prior comment, the no authorized users found failure, the could not add assignees rethrow, the silent no-op for an unauthorized self-assign and the could not self assign rethrow — never runs through the bundle.
  • /milestone (src/issueComment/milestone.ts): only /milestone clear (bundle.test.ts:825). Setting a milestone by name (GET …/milestones → PATCH …/issues/1 {milestone: <number>}), the milestone "x" not found. Available milestones: … / none failures, the bare-command please provide a milestone to add failure and the non-collaborator refusal never run through the bundle.

Evidence, main @ c48bd6d:

Unit-covered, not e2e-covered → medium priority under the coverage-gap rules.

Recommendation

Add __tests__/bundle/assignAndMilestone.test.ts (new file, reusing fakeGithub.ts and runBundle.ts) driving both handlers through dist/index.js:

  • /assign @octocat @stranger → six unordered authorization reads, one POST issues/1/assignees {assignees:['octocat']}
  • /assign @stranger authorized by a prior comment; @octocat octocat de-duplicated; no authorized user → exit 1; refused POST (argument and self paths) → exit 1; unauthorized bare /assign → no write
  • /milestone v1.0 → GET milestones, PATCH issues/1 {milestone: 3}; name with spaces; CLEAR case-insensitive; unknown name (with and without milestones) → exit 1, no write; bare /milestone → exit 1; non-collaborator → exit 1 after one read

Priority

  • Impact: medium — the shipped bundle's two assignment/milestone flows are only verified by mocked unit tests
  • Effort: low

Filed by quality agent (hold-gated mode)


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

— 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 Sep 30, 2026
  2. github-actions commented on Sep 30, 2026

    @github-actions
    Contributor

    Please add a kind label with /kind failing-test or /kind cleanup.

  3. added
    hive/covered-by-prHive verified that an open PR references or claims this issue; still actionable until confirmed
    hive/likely-doneHive verified that a merged PR references or claims this issue; pending confirmation
    and removed
    hive/covered-by-prHive verified that an open PR references or claims this issue; still actionable until confirmed
    on Sep 30, 2026
  4. hivecommons-hive commented on Oct 3, 2026

    @hivecommons-hive
    ContributorAuthor

    task-list sweep: 0 of 3 items ticked. Not closing yet — outstanding boxes remain.

    Outstanding items:

    • 🔲 /assign @octocat @stranger → six unordered authorization reads, one POST issues/1/assignees {assignees:['octocat']}
    • 🔲 /assign @stranger authorized by a prior comment; @octocat octocat de-duplicated; no authorized user → exit 1; refused POST (argument and self paths) → exit 1; unauthorized bare /assign → no write
    • 🔲 /milestone v1.0 → GET milestones, PATCH issues/1 {milestone: 3}; name with spaces; CLEAR case-insensitive; unknown name (with and without milestones) → exit 1, no write; bare /milestone → exit 1; non-collaborator → exit 1 after one read

    Merged PRs referencing this issue so far:

    This comment is edited in place by the task-list sweep on every cycle; it is not duplicated.

  5. hivecommons-hive commented on Oct 3, 2026

    @hivecommons-hive
    ContributorAuthor

    Verified on main@ec76a3b: #250 landed /assign @octocat @stranger (bundle.test.ts L774) and /milestone <title> (L795). The remaining failure arms in the recommendation were cut on maintainer review as duplicates of assign.test.ts, milestone.test.ts, errorPaths.test.ts and command.test.ts; closing as resolved at the scope the maintainer accepted.

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

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/hosted-available-lke648397-260827-5q9tCreated by Hive for agent-filed issue provenancehive/likely-doneHive verified that a merged PR references or claims this issue; pending confirmationneeds-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