docs(2347): rfcs is main-only, so the standard says so - #311
Merged
Conversation
The develop-first rule named `docs` as its sole exception. `rfcs` has the same shape and the same reason -- it publishes no artifact, has no deploy stages, and is not on the release train -- so a promotion gate there has nothing to gate. Decided on backend#2347. This line was the last place still asserting otherwise. `repo-inventory.yml` has described `rfcs` as a single-branch repo all along: `release_train: false`, so `audit_branch: develop-first-on-train` already resolves to the default branch, and the `develop` role carries `exempt: *no_develop_branch_single_branch_repo` -- "single-branch repo: `main` is the only integration branch, so there is no `develop` to protect. Structural, not a gap." So the machine-readable side needs no change; the prose was the drift. Stated as a class with its members named, and pointed at the inventory, because a bare list drifts and a bare class invites argument. Why nobody caught it: the conformance guard flags a stale exemption only when the role's branch appears AND carries protection. `rfcs/develop` existed and was completely unprotected, so the contradiction between "there is no develop" and a live develop branch was invisible by construction. rfcs#45 deletes that branch and makes reality match what this file and the inventory both now say. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
saqlainsyed007
approved these changes
Aug 23, 2026
saqlainsyed007
left a comment
There was a problem hiding this comment.
One line, and correct. Adds rfcs beside docs as the "no artifact, no deploy stages → main-only" exception, and crucially defers to repo-inventory.yml as the authority ("this line follows it, not the reverse") rather than creating a second source of truth. Consistent with how #293/#306 treat rfcs (release_train:false + single-branch exemption). LGTM.
Contributor
Author
|
/fr-pass |
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 free
to 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.
Closes the prose half of backend#2347. One line in
org-standards.md.The develop-first rule named
docsas its sole exception.rfcshas the same shape and the same reason — it publishes no artifact, has no deploy stages, and is not on the release train — so a promotion gate there has nothing to gate.The machine-readable side already said this
No inventory change is needed, because
repo-inventory.ymlhas describedrfcsas a single-branch repo all along:release_train: false, soaudit_branch: develop-first-on-trainalready resolves to the default branch (main), notdevelop.developrole carriesexempt: *no_develop_branch_single_branch_repo— "single-branch repo:mainis the only integration branch, so there is nodevelopto protect. Structural, not a gap."So the prose was the drift, and this line now follows the inventory rather than the reverse. Stated as a class with its members named and pointed at the derived source: a bare list drifts, and a bare class invites argument about who is in it.
Why nobody caught it
The conformance guard flags a stale exemption only when the role's branch appears AND carries protection.
rfcs/developexisted and was completely unprotected, so the contradiction between an inventory saying "there is no develop" and a livedevelopbranch was invisible by construction — exactly the staleness rule that anchor's own note spells out after .github#196.That is also the argument for deleting the branch rather than protecting it: protecting
rfcs/developwould make the guard start flagging a stale exemption, while deleting it makes reality match what both files already assert.Sequence
main) and rewrites that repo's own Branching section.rfcs/developis deleted after chore: promote auto-classify Deploy-from-Status sync to main #45 merges.Note on the sync:
standards-syncis report-only on schedule, so this does not fan out on merge. The Monday audit will report the consuming repos as drifted until someone dispatches it withcreate-prs.🤖 Generated with Claude Code
Note
Low Risk
Documentation-only wording change in org-wide standards; no code, protection, or inventory behavior is modified.
Overview
Updates the branch-model exception in
org-standards.mdsomain-only is a class (no artifact, no deploy stages, not on the release train) with membersdocsandrfcs, instead of namingdocsas the sole exception.The line now defers to
repo-inventory.yml(release_train: falseplus the single-branch exemption) as the authority.Reviewed by Cursor Bugbot for commit 714161b. Bugbot is set up for automated code reviews on this repo. Configure here.