Skip to content

fix(orb): preserve actionable relay PR events#1871

Merged
JSONbored merged 1 commit into
mainfrom
codex/propose-fix-for-pr-gate-webhook-suppression
Jun 30, 2026
Merged

fix(orb): preserve actionable relay PR events#1871
JSONbored merged 1 commit into
mainfrom
codex/propose-fix-for-pr-gate-webhook-suppression

Conversation

@JSONbored

Copy link
Copy Markdown
Owner

Motivation

  • The relay coalescing key treated labeled/unlabeled as pr-refresh events and could delete an earlier actionable PR webhook (e.g. opened/synchronize) when a label-only event arrived, allowing a pull-mode self-host relay to drop the only gate-triggering event.

Description

  • Remove labeled and unlabeled from the pull-request coalescible action set in src/github/webhook-coalesce.ts so label-only PR events no longer share the PR refresh coalesce key.
  • Update the unit test in test/unit/github-webhook-coalesce.test.ts to assert that labeled, unlabeled, and closed do not produce a PR-refresh coalesce key while actionable events still do.
  • Add an integration regression in test/integration/orb-relay.test.ts that enqueues an actionable opened PR event followed by a labeled event and asserts both pending rows remain (the actionable event is not coalesced away).

Testing

  • Ran git diff --check and npm run typecheck and both succeeded.
  • Ran the targeted tests with npx vitest run test/unit/github-webhook-coalesce.test.ts test/integration/orb-relay.test.ts and the modified unit and integration tests passed.
  • Attempted npm run test:ci but the run could not complete in this environment because actionlint setup fell back due to network DNS issues and the fallback flagged the repository's custom self-hosted runner label, so the full CI sweep was not completed here.
  • npm audit --audit-level=moderate could not complete locally because the npm audit bulk advisory endpoint returned 403 Forbidden.

Codex Task

@dosubot dosubot Bot added the size:XS This PR changes 0-9 lines, ignoring generated files. label Jun 30, 2026
@gittensory-orb

gittensory-orb Bot commented Jun 30, 2026

Copy link
Copy Markdown

Tip

🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩

✅ Gittensory review result - approve/merge recommended

Review updated: 2026-06-30 11:53:04 UTC

3 files · 1 AI reviewer · no blockers · readiness 88/100 · CI green · clean

✅ Suggested Action - Approve/Merge

  • safe to merge

Review summary
The change narrows pull_request coalescing to gate-triggering actions by removing label-only actions from src/github/webhook-coalesce.ts, so labeled/unlabeled events no longer share the PR refresh key. The updated unit test covers the new action classification, and the integration regression exercises the enqueue/pull relay path that previously allowed a later label-only event to replace an actionable pending event. The visible diff is small, coherent with the PR description, and safe to proceed on the provided context.

Signal Result Evidence
Code review ✅ No blockers 1 reviewer
Linked issue ⚠️ Missing No linked issue or no-issue rationale found.
Related work ✅ No active overlap found No same-issue or scoped active PR overlap found.
Change scope ✅ 20/20 Low review scope from cached public metadata (size label size:XS; no linked issue context).
Validation posture ✅ 25/25 PR body includes validation/test evidence.
Contributor workload ✅ 10/10 Author activity: 69 registered-repo PR(s), 59 merged, 259 issue(s).
Contributor context ✅ Confirmed Gittensor contributor JSONbored; Gittensor profile; 69 PR(s), 259 issue(s).
Gate result ✅ Passing No configured blocker found.
Review context
  • Author: JSONbored
  • Role context: owner (maintainer lane)
  • Public audience mode: oss maintainer
  • Lane context: Repository registration is not available in the local Gittensory cache.
  • Public profile languages: not available
  • Official Gittensor activity: 69 PR(s), 259 issue(s).
  • PR-specific overlap: none found.
Contributor next steps
  • Treat this as maintainer-lane context rather than normal contributor-lane activity.
  • Explain no-issue PR.
  • Triage stale or unlinked PRs.
  • No action.
  • Link the issue being solved, or explicitly explain why this is a no-issue PR.
Signal definitions
  • Related work = same linked issue, overlapping active PRs, or title/path similarity.
  • Change scope = cached public metadata such as size labels, draft state, and review-burden hints.
  • Validation posture = whether the PR provides enough public validation/test evidence for maintainer review.
  • Contributor workload = public contributor activity and cleanup pressure, not a repo-wide quality failure.
  • Contributor context = public GitHub/Gittensor identity context; non-Gittensor status is not a blocker.

🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed


💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →.

Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers.

  • Re-run Gittensory review

@gittensory-orb gittensory-orb Bot added gittensor Gittensor contributor context gittensor:bug Gittensor-scored bug fix - worth 0.5x multiplier. labels Jun 30, 2026
@JSONbored JSONbored self-assigned this Jun 30, 2026
@codecov

codecov Bot commented Jun 30, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.72%. Comparing base (6b4393f) to head (49d6824).
⚠️ Report is 5 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1871   +/-   ##
=======================================
  Coverage   95.72%   95.72%           
=======================================
  Files         215      215           
  Lines       23521    23521           
  Branches     8496     8496           
=======================================
  Hits        22516    22516           
  Misses        418      418           
  Partials      587      587           
Files with missing lines Coverage Δ
src/github/webhook-coalesce.ts 100.00% <ø> (ø)
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@JSONbored JSONbored merged commit bbfc46b into main Jun 30, 2026
12 checks passed
@JSONbored JSONbored deleted the codex/propose-fix-for-pr-gate-webhook-suppression branch June 30, 2026 12:00
@github-project-automation github-project-automation Bot moved this from Todo to Done in gittensory - v1 roadmap Jun 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gittensor:bug Gittensor-scored bug fix - worth 0.5x multiplier. gittensor Gittensor contributor context size:XS This PR changes 0-9 lines, ignoring generated files.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant