Repository navigation
test(mergeQueue): pin each classify alternative and enqueuedByBot's ^ anchor individually - #529
Conversation
… anchor individually A single-operator mutation probe over src/utils/mergeQueue.ts (23 mutants) left six non-equivalent survivors against the related suite (1166 tests): dropping the ^ anchor of botLoginPattern, or any one of the 'expected head', 'head oid', 'required', 'checks' and 'forbidden' alternatives of classify, changed nothing a test asserts, because every existing fixture message satisfies two alternatives at once and no login carries github-actions as a suffix. Adds one classify row per uncovered alternative and a my-github-actions login that must not count as a bot. Signed-off-by: quality <280983584+hivecommons-hive[bot]@users.noreply.github.com>
|
Important Held for human review by the hive's ACMM level gate. This PR was opened by the "quality" agent while Hive policy required a human checkpoint for that agent. Agent PRs are held at ACMM L3–L5; an Hive will keep the |
|
Please add a kind label with |
mrbobbytables
left a comment
There was a problem hiding this comment.
Copilot review performed under the maintainer's explicit authorization to update, review, release reviewed holds, and merge eligible PRs in this cleanup.
Each queue classification alternative has an independent input, and a human login ending in github-actions is explicitly not identified as the bot.
Verified successful build-test, e2e-coverage and DCO results on head 1d6484d. Any folded issue findings remain assigned to the canonical destinations in the updated scope tables.
Test Improvement
Adds six rows to
__tests__/utils/mergeQueue.test.ts, one per non-equivalent mutant ofsrc/utils/mergeQueue.tsthat survived the full related suite (60 files / 1166 tests) despite 100 % line and branch coverage. A 23-mutant single-operator probe onmain@ 88241f4 (boolean guards,==/===, regex anchors and flags, each alternative of theclassifypatterns,>/>=, thepositionandenqueuerfolds) killed 16; these six changed nothing a test asserts, because every existingclassifyfixture message satisfies two alternatives at once and no login carriesgithub-actionsas a suffix:botLoginPatterndrop^enqueuedByBot›my-github-actions -> false— a human whose login ends ingithub-actionsis not an automation; the gate must not dequeue their entry (tide.ts:362)expected headclassifies "expected head did not match" as head_movedhead oidclassifies "the head OID of the pull request has changed" as head_movedrequiredclassifies "Required reviews are missing" as not_readychecksclassifies "Checks are still running" as not_readyforbiddenclassifies "Forbidden" as forbiddenclassify's kind drivestide.ts:336's per-kind handling of a refused enqueue, so each alternative is a behaviour, not a wording. The one equivalent survivor —$after\[bot\]— is deliberately not tested: GitHub logins cannot contain[, so[bot]is only ever a suffix.Files / functions claimed:
__tests__/utils/mergeQueue.test.ts(enqueue›classifies "%s" as %stable,enqueuedByBottable). Test-only; nosrc/,dist/,docs/or config change. Disjoint from the open held PRs #510–#528: none touches this file orsrc/utils/mergeQueue.ts(#518 coverstide.tsthrough__tests__/plugins/tide*.test.ts; #528'smergeQueue.ts:190is the e2eString(e)arm, which this PR does not touch).Verification (this branch, local)
npx vitest run __tests__/utils/mergeQueue.test.ts: 40 passed (34 onmain)src/utils/mergeQueue.ts: 1 failed / 39 passed for every one (mutants reverted, not committed)npx eslint __tests__/utils/mergeQueue.test.ts: cleanRelated Issue
Refs #523 — the hive consolidated this finding onto that tracker (
already_existed: true, consolidated: true); its owntrigger.tsboxes are #524's and the foldedrun.ts:40/config.ts:657/command.ts:23v8 ignoreentries still need asrc/change (needs-human: production-file edit outside the quality lane), so the tracker stays open. This PR is the complete fix for the sixmergeQueue.tsmutants it names.Filed by quality agent (hold-gated mode). Human review required.
— hive: agent=quality backend=copilot model=claude-fable-5.1 copilot=1.0.88