The conflict
CONTRIBUTING.md, under "Creating a new repo":
After creation, add the new repo to the org profile README and file
issues against it to add CI ...
Two sentences earlier, the same section says the helper defaults to --private because
"SwimBlocks repos usually start that way and graduate to public later."
profile/README.md renders on the org's public landing page. So following the rule as written
publishes a link that returns 404 for everyone who isn't a member, for as long as the repo
stays private — which is the documented normal case, not an edge case.
Nobody has followed it, which is the other half of the problem: swimblocks/officials-admin
was created weeks ago and is not listed. Right outcome, reached by ignoring the rule rather
than by the rule saying so.
Suggested fix
- Add a step to
scripts/make-public.sh — after the visibility
flip, add the repo to profile/README.md's table (or check it is there and warn if not).
That script already describes itself as "the canonical place where SwimBlocks
accumulates pre-public checks and post-flip steps", and this is exactly a post-flip step.
settings.yml is applied at step 9; this belongs alongside.
- Drop the at-creation phrasing in
CONTRIBUTING.md and say the listing happens at
promotion. Keep the rest of that sentence — filing the CI / dependabot / AGENTS.md
issues at creation is right and unaffected.
Worth deciding while implementing: the profile README is in this repo, so the step either
commits here on the operator's behalf or just prints the row to paste. Printing is honest and
avoids a script that pushes to its own repo mid-run; committing is the thing that actually
stops the drift. Either is defensible — the second is more in the spirit of "nobody should
have to remember 'did I check X?'".
Also worth confirming
The repos currently listed — deck-eval-gen, deck-eval-parser, rems-sync — should be
checked as actually public, since the same rule would have listed them while private too.
Found while auditing the repo split in swimblocks/officials-admin#3.
The conflict
CONTRIBUTING.md, under "Creating a new repo":Two sentences earlier, the same section says the helper defaults to
--privatebecause"SwimBlocks repos usually start that way and graduate to public later."
profile/README.mdrenders on the org's public landing page. So following the rule as writtenpublishes a link that returns 404 for everyone who isn't a member, for as long as the repo
stays private — which is the documented normal case, not an edge case.
Nobody has followed it, which is the other half of the problem:
swimblocks/officials-adminwas created weeks ago and is not listed. Right outcome, reached by ignoring the rule rather
than by the rule saying so.
Suggested fix
scripts/make-public.sh— after the visibilityflip, add the repo to
profile/README.md's table (or check it is there and warn if not).That script already describes itself as "the canonical place where SwimBlocks
accumulates pre-public checks and post-flip steps", and this is exactly a post-flip step.
settings.ymlis applied at step 9; this belongs alongside.CONTRIBUTING.mdand say the listing happens atpromotion. Keep the rest of that sentence — filing the CI / dependabot /
AGENTS.mdissues at creation is right and unaffected.
Worth deciding while implementing: the profile README is in this repo, so the step either
commits here on the operator's behalf or just prints the row to paste. Printing is honest and
avoids a script that pushes to its own repo mid-run; committing is the thing that actually
stops the drift. Either is defensible — the second is more in the spirit of "nobody should
have to remember 'did I check X?'".
Also worth confirming
The repos currently listed —
deck-eval-gen,deck-eval-parser,rems-sync— should bechecked as actually public, since the same rule would have listed them while private too.
Found while auditing the repo split in swimblocks/officials-admin#3.