Skip to content

orb(webhook): #9169's labeled/unlabeled public-surface trigger fires on ANY label, not just disposition labels — breaks the noisy-PR-event debounce #9175

Description

@JSONbored

Summary

test/unit/queue-4.test.ts > queue processors > debounces noisy PR events without publishing public surfaces fails on current main (confirmed via git checkout origin/main -- . in a clean worktree, zero other changes applied).

Root cause

#9169 added "labeled" and "unlabeled" to PR_PUBLIC_SURFACE_ACTIONS in src/queue/processors.ts so that a maintainer adding/removing the manual-review hold label re-syncs immediately instead of waiting for the ~2-minute sweep. The stated reasoning (per that commit's own comment) is narrowly about the manual-review hold, which is read straight off the PR's labels — but the implementation added labeled/unlabeled unconditionally, so any label change (e.g. a maintainer tagging a PR bug) now runs the full public-surface publish pipeline too, which is exactly the noisy-event debounce this test pins.

Fix

Scope the labeled/unlabeled fast-path to only fire when the changed label is itself a disposition input (manual-review, ready-to-merge, changes-requested, migration-collision, pending-closure — the same set resolveAgentDispositionLabels already resolves elsewhere in this file). An unrelated label stays debounced to the sweep, same as before #9169.

Metadata

Metadata

Assignees

Labels

maintainer-onlyOwner-only work — yields no Gittensor points.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions