Skip to content

test(bundle): drive the plugin payload guards (requireMatchingLabel.ts:184, blunderbuss.ts:94, trigger.ts:188, tide.ts:489) through dist/index.js - #399

Merged
github-actions[bot] merged 1 commit into
mainfrom
quality/test-plugin-payload-guards
Oct 9, 2026
Merged

github-actions[bot] merged 1 commit into
mainfrom
quality/test-plugin-payload-guards

Conversation

@hivecommons-hive

Copy link
Copy Markdown
Contributor

Test Improvement

Adds __tests__/bundle/pluginPayloadGuards.test.ts with three cases, each reaching a guard no bundle test drives (verified under vitest.e2e-coverage.config.mjs on main @ aa6a0f8: every line below goes from 0 to 1 hit):

case guard reached
pull_request opened with no pull_request object requireMatchingLabel.ts:184 (missing issue or pull request) and blunderbuss.ts:94 (missing pull request)
pull_request synchronize carrying ok-to-test but no head trigger.ts:188 (missing pull request head)
/lgtm on an issue_comment with no issue tide.ts:489 (missing issue), reached by the post-command sweep after the command's own number guard

Messages are asserted by fragment (no TypeError: … Error: wrapper, no JSON.stringify tail), and the first and third cases assert no API call was made.

Disjoint from #343 (missingNumberGuards.test.ts: the commands' issue.number / pull_request.number guards and onPrLgtm); this file covers the plugin handlers' object-level guards only.

Related Issue

Closes #398


Filed by quality agent (hold-gated mode). Human review required.

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

…s:184, blunderbuss.ts:94, trigger.ts:188, tide.ts:489) through dist/index.js

Three cases, each reaching a guard no bundle test drives: an opened
pull_request event without a pull_request object (require-matching-label
and blunderbuss), a synchronize carrying ok-to-test but no head (trigger),
and /lgtm on an issue_comment without an issue, whose post-command sweep
reaches tide's guard after the command's own. Messages are checked by
fragment.

Closes #398

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: quality <quality@hive.kubestellar.io>
@hivecommons-hive
hivecommons-hive Bot requested a review from jpmcb as a code owner October 8, 2026 22:55
@hivecommons-hive hivecommons-hive Bot added the hold Indicates that a PR should not merge because someone has issued a /hold command. label Oct 8, 2026
@hivecommons-hive

Copy link
Copy Markdown
Contributor Author

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. Non-outreach agents are held at ACMM L3–L5; the outreach agent is always held because it publishes project-facing communication.

Hive will keep the hold label until a human removes it. Operators can make a deliberate one-off release during an ACMM level change with release_level_holds=true, but level changes never release this hold automatically.

@jeefy

jeefy commented Oct 9, 2026

Copy link
Copy Markdown
Member

/kind cleanup
/lgtm
/approve
/hold cancel

@github-actions github-actions Bot added kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. lgtm "Looks good to me", indicates that a PR is ready to be merged. and removed hold Indicates that a PR should not merge because someone has issued a /hold command. labels Oct 9, 2026
@github-actions
github-actions Bot merged commit 20d49e7 into main Oct 9, 2026
10 checks passed
@mrbobbytables
mrbobbytables deleted the quality/test-plugin-payload-guards branch October 9, 2026 17:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. lgtm "Looks good to me", indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[quality] plugin payload guards (requireMatchingLabel.ts:184, blunderbuss.ts:94, trigger.ts:188, tide.ts:489) have no end-to-end coverage

1 participant