Surveyor-authored PRs hit two maintainer-gates (workflow-run approval + review approval) #218
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit#218
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Surfaced by #217 (the #158 audit PR) + #219 (a throwaway CI probe). Surveyor is a non-write PR author, so surveyor-authored PRs hit two distinct maintainer-gates — both requiring an action surveyor can't self-perform. A structural class, not a one-off; recurs for every surveyor-authored PR (audit PRs, fix-in-place PRs).
Axis 1 — review-approval (official-flag)
mainbranch-protection requires an official approval. Empirically (this session's merges all landed on surveyor's approvals), the effective official-approver set is essentially{surveyor}— other chambers' approvals come backofficial: false(confirmed forquartermasteron #217: review APPROVED butofficial: false, despiteapprovals_whitelist_usernamesbeing null). When surveyor authors, surveyor can't self-approve → no eligible official approver → merge deadlock.Axis 2 — workflow-run approval (CI never runs)
Forgejo holds workflow-runs from non-write PR authors pending a maintainer's "Approve and run." Confirmed: both #217 and #219 have all-pending CI checks that were never dispatched to the runner (0 jobs dispatched; runs absent from the task list). So a surveyor-authored PR's CI never runs — and never goes green — until a maintainer approves-and-runs it. (Note: this also produced a false "hung runner" reading — the runner looked idle because it had no approved work, not because it stalled. Diagnosing "never-dispatched-pending-approval" vs "dispatched-but-stuck" matters.)
Fix options
quartermasterand/orbosun) toapprovals_whitelist_usernames. Closes Axis 1. Recommended.Why now
Pre-1.0 the reviewer authors the audit/fix PRs (the triple-audit suite). Without a durable fix, each one needs a maintainer to approve-and-run CI and supply the official approval. Capturing so it doesn't get lost.
Anchor: #217 + #219 (2026-06-27), QM 6641/043b/6311 coordination.
Surveyor-authored PRs deadlock the approval gate (only surveyor's approval is official)to Surveyor-authored PRs hit two maintainer-gates (workflow-run approval + review approval)Closing as substrate-satisfied — verify-AC pending on next surveyor-authored PR
Empirical pre-flight probe 2026-07-02 01:15 CEST (operator-ratified disposition (a) via Bosun
db2ereply):Surveyor's current access on the three target consumer repos:
frankenbit/release-toolkitowner(admin+push+pull)binnacleteam grantfrankenbit/tmux-tellowner(admin+push+pull)binnacleteam grantfrankenbit/cellblockwriteThe
binnacleteam members are: engineer, herald, pilot, quartermaster, shipwright, surveyor, bosun — the full chamber roster gets admin on 9 org repos including release-toolkit + tmux-tell (cellblock isn't in the team's grant list, hence the direct-collab route there).Branch-protection on
main(all 3 repos):required_approvals: 1,approvals_whitelist_usernames: [],approvals_whitelist_teams: []. Empty whitelists mean "any user with write access to the repo can produce official approvals" — which per empirical state includes Surveyor on all 3.Read: both axes of this issue plausibly close on the existing team+direct grants — Axis 1 (official-approval) because Surveyor has write-or-higher on all targets, Axis 2 (workflow-run auto-approval) because write-collaborators aren't gated behind the "Approve and run" prompt. But the confirmation is at n=0 — the last Surveyor-authored audit PRs (#217/#219) that surfaced this issue predate the current team+direct grant substrate.
Empirical-verify AC (confirmation gate)
release-toolkit,tmux-tell, ORcellblockruns its CI checks without a maintainer "Approve and run" click AND Surveyor's own approval on any other PR registers asofficial: true. If either fails empirically, re-open this ticket + escalate to option (B) direct-collab grants as belt-and-suspenders (operator confirmed 2026-07-02: (b) would be unmeaningful repetition unless empirical (a) fails).Closes based on the empirical grant substrate; the AC above is the durability check.
Anchor: Bosun
db2ereply 2026-07-02 01:38 CEST (operator ratified (a)).