Uh oh!
There was an error while loading. Please reload this page.
policy: allow self sign-off on functional review (retire D30) - #119
Merged
Conversation
Functional review still requires a human to assert it; it no longer has to be a different human from the author. Rationale (RFC-BACKEND-1405 D6): code review already puts a second person on the diff, and most implementation is AI-assisted, so requiring a *separate* human for the functional review was ceremony rather than a control. At our size it was also a throughput ceiling — on 2026-08-01, 3 of 17 /fr-pass comments were refused as self-signoff and the cards had to be moved by hand, which is strictly worse than allowing the sign-off: the control was bypassed rather than satisfied. Flipping the reusable's default applies this org-wide in one change, because the per-repo callers pass no inputs. A repo that wants the stricter rule can set allow-self-signoff: false on its caller. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Flips
allow-self-signoffto default true in the reusable, which applies org-wide in one change since the per-repo callers pass no inputs.What changes
Functional review still requires a human to assert it. It no longer has to be a different human from the one who opened the PR.
Why
Code review already puts a second person on the diff. Most implementation is now AI-assisted, so requiring a separate human for the functional review was ceremony rather than a control.
It was also actively counterproductive on 2026-08-01: 3 of 17
/fr-passcomments were refused as self-signoff, and the cards were then advanced by hand through the project API. The control did not hold — it was routed around. A rule that gets bypassed under normal load is worse than no rule, because it produces the appearance of a gate.Scope
write/maintain/admin.release-train/*andhotfix-backmerge/*promotion PRs were already exempt.fr-gatestill blocks prod promotion until every contained item isReady for prod.allow-self-signoff: falseon its caller.Decision recorded in RFC-BACKEND-1405 (
tracebloc/rfcs#1). Related: tracebloc/backend#1406, tracebloc/backend#1408.Note
Medium Risk
This weakens a process gate org-wide by default; write-access and release-train promotion exemptions are unchanged, but bypassing separate FR sign-off increases reliance on code review alone.
Overview
Org-wide functional review policy changes via the reusable
fr-pass-comment.ymlworkflow:allow-self-signoffnow defaults to true (wasfalse), so repos that call the workflow without overriding inputs let the PR/issue author use/fr-passon their own card.Functional review still needs a human with repo write access to assert it; only the “must be someone other than the author” (D30) rule is retired by default. Callers can set
allow-self-signoff: falseto keep the stricter two-pairs-of-eyes behavior for one repo. The input description is updated to document RFC-BACKEND-1405 D6 and the rationale.Reviewed by Cursor Bugbot for commit a91e805. Bugbot is set up for automated code reviews on this repo. Configure here.