docs(policy): retiring a flake means its references too - #566
Conversation
§2.1 already ruled Nix retired and rightly warns against mass-deletion (campaign #102 hand-diffed 277 candidates and removed exactly one; fan-out REMOVE has a ~100% over-call rate here). The owner ruling of 2026-07-28 — "nix flakes are deprecated and to be thrown from the estate" — is reconciled with that warning rather than overriding it: removal stays a per-repo judgement made while you are ALREADY in the repo. Opportunistic, never a sweep. What was genuinely missing is that deleting flake.nix does not retire Nix. Measured on trope-checker (PR #47), one flake had TEN satellites — .envrc's `use flake`, a `nix-shell` recipe in BOTH Justfiles, nix in setup.sh's package-manager detection AND its install switch, a flake-detecting branch in install-tools.sh that ran ahead of Guix, dependabot's `nix` ecosystem, .gitignore/.gitattributes rules, dep5's lockfile glob, and PLAYBOOK prose. Leave any behind and the toolchain still reaches for Nix. They are now listed. Two traps recorded because both cost time: - dependabot.yml rejects the WHOLE file on one malformed entry, so re-parse after removing the nix ecosystem. - a root .githooks/ is usually LOAD-BEARING (CI runs validators straight from it) — allowlist it, do not "tidy" it away while passing through. And the standing caveat: a repo whose guix.scm is a scaffold stub has no working packaging once the flake is gone. Make Guix real, or fill the sealed container, in the SAME change — do not allowlist the flake instead. Note for whoever reconciles the canon: this repo carries TWO LANGUAGE-POLICY.adoc files and they disagree. This one (root) self-declares canonical and is the more current — its §2.2 records the squisher-corpus identity clobber measured 2026-07-29 across 418 repos. The other, rhodium-standard-repositories/spec/LANGUAGE-POLICY.adoc, still lists Deno as "replaces Node/npm/Bun" while §1 here makes Bun tier 1. That contradiction is NOT resolved here — flagged only. Renders clean under asciidoctor.
|
Note Automatic reviews are paused because your trial's included automatic processing has been used for this period. Upgrade now, or comment "Gitar review" to run a review anytime. Code Review ✅ ApprovedUpdates the policy to require removing all satellite references when retiring a Nix flake, preventing leftover toolchain hooks. No issues found.
OptionsDisplay: compact → Showing less information. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Gitar |
|



§2.1 already rules Nix retired and rightly warns against mass-deletion. The owner ruling of 2026-07-28 — "nix flakes are deprecated and to be thrown from the estate" — is reconciled with that warning rather than overriding it: removal stays a per-repo judgement made while you are already working in the repo. Opportunistic, never a fan-out sweep.
What was genuinely missing
Deleting
flake.nixdoes not retire Nix. Measured ontrope-checker(#47), one flake had ten satellites:.envrcuse flakeblockJustfile+contractiles/Justfilenix-shellrecipebuild/setup.shnixin package-manager detection and the install switchinstall-tools.sh.github/dependabot.ymlnixpackage-ecosystementry.gitignore/.gitattributesflake.lockand*.nixrulescompliance/reuse/dep5flake.lockin the lockfile globPLAYBOOK.a2mlLeave any behind and the toolchain still reaches for Nix. They're now listed in §2.1.
Two traps recorded, because both cost time
dependabot.ymlrejects the whole file on one malformed entry — re-parse after removing thenixecosystem..githooks/is usually load-bearing (CI runs validators straight from it) — allowlist it inroot-allow.txt; don't "tidy" it away in passing.Plus the standing caveat, restated where it will be read: a repo whose
guix.scmis a scaffold stub has no working packaging once the flake is gone. Make Guix real, or fill the sealed container, in the same change.Flagged, not resolved — the canon disagrees with itself
This repo carries two
LANGUAGE-POLICY.adocfiles and they contradict each other:./LANGUAGE-POLICY.adoc(this one) self-declares canonical, is the more current — §2.2 records the squisher-corpus identity clobber measured 2026-07-29 across 418 repos — and makes Bun tier 1../rhodium-standard-repositories/spec/LANGUAGE-POLICY.adocstill lists Deno as "Replaces Node/npm/Bun".PR #51 on trope-checker cites the first; the estate
CLAUDE.mdI was working under states the second. I have not resolved this — it needs an owner decision on which file is authoritative. Note the Nix hardening was also added to the other file earlier (standards #557), so both now carry it; the runtime-tier contradiction is untouched.Renders clean under
asciidoctor.🤖 Generated with Claude Code