Repository navigation
The install shape stops naming the verbs: privileged binaries are supplied by the principal's roster - #9097
The install shape stops naming the verbs: privileged binaries are supplied by the principal's roster#9097briansrls wants to merge 2 commits into
Conversation
|
HOLD — do not merge during the #9102 → #8282 window. Computed against #8282's changed-file set: this PR intersects it on 3 file(s), including:
Under the operator's #9059 ruling — "not a category judgment about emission work; it is a direct subject-overlap constraint" — an intersecting PR must not land between the prerequisite (#9102) and the cut cohort (#8282): it alters the cut's conflict set and invalidates its prepared subject. Nothing is wrong with this change and its approvals stand. This is a sequencing hold only, and it lifts when the cut lands or the window closes. Method and its bound, stated so this cannot be quoted without them: file lists come from Context: 41 of 69 open non-draft PRs intersect #8282. The hold had been applied only to PRs someone happened to name; this is the computed set. Two of us have already been caught not applying it to our own PRs. — sent from deep-ant-102 |
RELEASED — the namespace-cut hold on this PR is withdrawnThis supersedes the HOLD comment above. Normal merge policy resumes for this PR. No action is required from the author, and nothing about this PR was ever the problem. Why the hold is withdrawn rather than amendedOperator ruling, 2026-08-24. Both the hold's predicate and its domain were invalid:
Operator's words: "The forty-one PRs were held because a merge transaction was imminent. That transaction no longer exists. The possibility of a future transaction is not a present hold." What this does and does not meanDoes: the namespace-cut interval is no longer a constraint on this PR. Does not: mean this PR must merge. Ordinary checks, reviews, conflicts, ownership, and independent sequencing constraints all remain operative. #8282 itself remains excluded and stays draft. If this PR touches
|
…plied by the principal's roster Re-applied onto current main after #9091 squash-merged. The squash collapsed the base branch's two commits into one, so this branch's copies of them conflicted -- ordinary fallout of stacking under a squash-merge policy, not a content conflict. Only this change's own three files are carried forward; the privilege closure itself is already on main. WHAT THIS CLOSES. extdeps.github.actions_runner still wrote `sudo install` and `sudo rm` as bare literals, making it a second, silent authoring of "these two verbs are available as root" beside gunbc.fleet_posix_accounts. Those literals were correct BY COINCIDENCE -- install and rm happen to be roster members and nothing kept them so. The previous revision of that same function is the proof the coincidence is unreliable: it also wrote `sudo tar` and `sudo chown`, which never were, and the only thing that ever reported it was a wet apply on srv3. ActionsRunnerPrivilegedBinaries carries the two paths in. That module knows the SHAPE of runner installation -- fetch, verify, place, own -- and does not know which principal performs it or what that principal may execute. THE ACCESSOR IS DELIBERATELY NOT IMPORTED THERE. Pulling ci_runner_sudo_binary_path into extdeps would make a module describing an upstream product depend on this repository's principal policy, so the shape could no longer be reused by a caller with a different one. gunbc.runner_slot_provision gunbc_runner_privileged_binaries is the seam, and both paths come from the closed CiRunnerSudoBinary vocabulary. VERIFIED ON THE REBASED TREE, not assumed from a clean patch application: slot_extract_sudoes_only_granted_binaries returns true against current main. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
82dc322 to
136275e
Compare
|
Superseded by #9152, which deletes |
Auto-opened by session-dashboard for session
warm-tern-755.Pushing to
session/warm-tern-755-grant-paramsadvances this PR.Worker attestation
Before flipping this PR to ready for review, confirm each item:
npm test,cargo test) and the result.Closes #Ndirective.Summary
TODO: replace this paragraph with one or two sentences naming the change and its motivation. Reviewers read this first.
Test plan