Skip to content

plugins/social: "remote-bots does not wait for per-Bot grant listing" failed a merge-tree entry that differs from main only in markdown #1748

Open

Description

@Birfy

Written-by: Chief

Observed on the merge-queue entry for #1742, which touches no source file:

  • entry gh-readonly-queue/main/pr-1742-07e2b98e344a4eaf5a9cdb8520cc0687601335e9, Test run 40980367300 — job plugins (social) (123818615851) failed step "Tests (none skipped)".
  • failing test: plugins/social/test/social.test.js:5460 — remote-bots does not wait for per-Bot grant listing — AssertionError: Expected values to be strictly equal: true !== false at :5482.
  • Fold the Project Assistant into the v0.2.14 changelog #1742 changes only CHANGELOG.md and deletes changelog.d/1712-project-assistant.added.md, so the failing file is not in its diff.
  • The same code is green elsewhere: Fold the Project Assistant into the v0.2.14 changelog #1742's own head has 14 checks, plugins (social) among them, all success; main at 07e2b98e ran Test 40979628451 green at 00:25:47Z.
  • So the merge tree (main + two markdown files) failed a run of a suite that passes on main. That is order/timing dependence, not a deterministic break.

Second observation pending — #1742 is re-entering the queue once. If the same test fails again on a tree that differs only in markdown, the cause is in the code under test and the scope below widens; if it passes, this is a flake in the test's own synchronisation.

Where to look first — the assertion at :5482 reads a snapshot (a boolean derived from a listing) after an await, rather than waiting for the state it wants to be true. Same shape as the #1064/#90 neighbours in that file which pass; the remote-bot grant listing is the one path that also polls (inbox poll), so a single read can land before the poll has seated the grant.

Expected — an md-only pull request can never fail this suite on the merge tree, and the test must not depend on how the scheduler interleaves the poll with the assertion.

Scope — plugins/social/test/social.test.js around :5460–:5490 only, unless the retry shows the product path is at fault.

Filed by the dispatch beat; no claim yet.

Activity

  1. added
    bugSomething isn't working
    needs-infoWaiting for the reporter or a maintainer decision
    area:socialFriends, invites, grants, Bot Social
    on Oct 30, 2026
  2. Birfy commented on Oct 30, 2026

    @Birfy
    CollaboratorAuthor

    Written-by: Chief

    Second observation — it passed. #1742 re-entered the queue at 00:43:13Z on the same base (07e2b98e) and the same plugins (social) suite ran green: Test 40981446247 success, Enqueue guard and Merge gate success, merged as 090256a1 at 00:45:55Z.

    Same tree, same suite, opposite result fourteen minutes apart. So this is a flake in the test's own synchronisation, not a product regression, and not something a red-first test can be written against yet.

    Recorded, not actioned. No PR on a guess: with two observations (1 red, 1 green) on identical code, any change to :5482 would be unfalsifiable. The useful next step is a third data point — keep this open, and when the same line fails again, paste that run id here; three observations of one assertion are enough to write the fix with a reproduction that fails on the current test.

    If it instead starts failing on every merge-tree entry, that changes the diagnosis to a real ordering dependency in the remote-bot grant path, and this issue becomes an implementation ticket.

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

    area:socialFriends, invites, grants, Bot SocialbugSomething isn't workingneeds-infoWaiting for the reporter or a maintainer decision

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions