chore(governance): declare the banned-language migration backlog - #40
Conversation
The "Language / package anti-pattern policy" gate is failing on 2 file(s) in banned languages (2 rescript). The gate is CORRECT — these really are languages estate policy bans. But deleting them would destroy working code without porting it, so this uses the mechanism the gate's own failure message names: (declare an exemption via .hypatia-ignore ... if intentional) Every path is listed individually rather than by 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. It therefore doubles as the migration worklist. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
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✅ ApprovedDeclares the banned-language migration backlog by explicitly listing legacy paths with inline pragmas to satisfy the estate policy gate. No issues found.
OptionsDisplay: compact → Showing less information. Comment with these commands to change the behavior for this request:
Important Your trial ends in 4 days — upgrade now to keep code review, CI analysis, auto-apply, custom automations, and more. Was this helpful? React with 👍 / 👎 | Gitar |
The Language / package anti-pattern policy gate is failing on 2 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:
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