Commit 3a89869
authored
chore(governance): declare the banned-language migration backlog (#111)
The **Language / package anti-pattern policy** gate is failing on **3
file(s)** in languages estate policy bans.
**The gate is correct.** These really are banned languages. But deleting
the files would destroy working code without porting it, and porting is
a project rather than a sweep — so this uses the mechanism the gate's
own failure message names:
> *(declare an exemption via `.hypatia-ignore` or an inline `#
hypatia:ignore cicd_rules/banned_language_file` pragma if intentional)*
following the precedent already set in `hyperpolymath/echidna`.
**Every path is listed individually, never a wildcard.** A `src/**`
entry would silently absorb *new* banned files added later, turning a
migration ledger into a permanent blind spot. Listing each path means a
newly added file still fails the gate — this ledger can only shrink as
work is done, never quietly grow. It therefore doubles as the migration
worklist.
Inventory taken 2026-08-06 across all 424 estate repositories: **13,206
banned-language files in 117 repos**, though ~9,800 of those are
vendored upstream copies (the ReScript toolchain, github/linguist)
rather than estate code.
🤖 Generated with [Claude Code](https://claude.com/claude-code)1 file changed
Lines changed: 27 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
0 commit comments