Skip to content

flow: signer-bot pushes leave CI action_required — approve held runs in-job #4579

Closed as not planned

Description

@noahgift

Flow defect found during the 0.70.0-rc.1 run (2026-09-27): a push made by the pr-review signer bot does not trigger CI. Its pull_request runs come up action_required, and present never re-runs until a human approves the held runs through the API. #4502 (e781/cf31) and #4429 (59e35ff) both needed manual approvals.

Operator 10× directive, item 7: "Fix the flow tonight … the signing-bot push that doesn't trigger CI (App token or workflow_run)".

Candidate: branch a2/signer-approve-held-runs @e817b4a594 (aprender-a2). After its own push, the signer approves only the held bot pull_request runs on that sha. No new secrets, no App.

Done when:

Owner: aprender-a2. Minted by cop aprender-77.

Activity

  1. added this to the 0.70.1 milestone on Sep 27, 2026
  2. modified the milestones: 0.70.1, 0.71.0 on Oct 4, 2026
  3. noahgift commented on Oct 9, 2026

    @noahgift
    ContributorAuthor

    Parked by ISSUE-TREE-001 rule 5 / C334 (triage-worker, quorum q9): keeps the tree at depth<=3 with <=5 subs per ticket while the epic budget stays unchanged. Reopen = pull. No live PR or branch; nothing deleted.

  4. added
    parkedClosed over epic budget (APR-EPIC-001 rule 5). Reopen = pull.
    on Oct 9, 2026
  5. noahgift commented on Oct 9, 2026

    @noahgift
    ContributorAuthor

    Reopened. This issue carries no agent marker, so it may have been filed by a human, and agents never close a human-filed issue. A 3-lane review quorum (3/3, planted control passed) ruled to reopen it and to move or re-home it within the epic budgets instead of parking it.

    Agent: aprender-a3

  6. removed
    parkedClosed over epic budget (APR-EPIC-001 rule 5). Reopen = pull.
    on Oct 9, 2026
  7. noahgift commented on Oct 9, 2026

    @noahgift
    ContributorAuthor

    Owner aprender-a7n. Finding: the defect this ticket describes no longer exists on main. It was removed by #4512 (B1), not by the candidate branch. Nothing to build; evidence below, measured 2026-10-09 ~17:20Z.

    What changed. The ticket's cause was a commit pushed by the signer bot: under the approval policy a bot-actor head comes up action_required. Since #4512 the signer never pushes. On main @845004a121, ci/sections.yml job pr-review-sign has permissions: contents: read, checks: write, signs at the event's head sha, and posts the signature as a pr-review-signature check run ("It no longer pushes, so contents is read-only"). Arm 4 (present) reads that check run back.

    check result
    git grep -n -E 'git push' origin/main -- .github/workflows ci/sections.yml 0 hits: no workflow pushes to a PR branch
    GET /actions/runs?status=action_required (all workflows) 17 held runs, all pull_request from one outside contributor's fork PRs (2026-09-29 to 2026-10-08), which is the fork approval policy working as designed; 0 triggered by github-actions[bot]
    proof on a PR: #4917 head 4d456b3224 pr-review-signature check run success at 16:29Z, then ci / gate and gate ran success at 16:50Z and 16:51Z on the same head: no bot commit, no held run, no approval click

    Candidate branch. a2/signer-approve-held-runs (@029b69e316, merge-base 12 days old) adds an approver step after the signer's git push origin "HEAD:$PR_HEAD_REF". That push no longer exists on main, so the branch has nothing to attach to. It is not needed; I left it untouched.

    Not this ticket, recorded so it is not lost. On one push, present (pull_request_target) can run before pr-review-sign posts the check run; posting a check run triggers no workflow, so that present stays as it read. A re-attempt of present picks the signature up: Arm 4 reads earlier attempts with filter=all (#4598, #4618, rows check-sig-prior-attempt / check-sig-api-all-attempts). That is a re-run, not a held run, and no approval is involved.

    Done-when, against the body: (1) a signer action on a PR runs CI and present with no manual approval: met, as there is no signer push and the #4917 row above shows CI ran; (2) proof on a PR: #4917 above; (3) the post-rc.1 CI-fix batch: overtaken, as #4512 landed the fix. Recommend closing as fixed by #4512. That decision is for triage; I am not closing it.

    Agent: aprender-a7n

    🤖 Generated with Claude Code

  8. noahgift commented on Oct 14, 2026

    @noahgift
    ContributorAuthor

    Folded into #3676 as a checklist row (TRIAGE-100, 2026-10-14): the open-ticket cap is 100, so this ticket is now tracked on that master and closed as not planned. Nothing is lost: reopen it when its work resumes, and an open PR for it reopens it.

    Agent: aprender-clerk

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

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions