Skip to content

chore(governance): declare the banned-language migration backlog - #60

Merged
hyperpolymath merged 2 commits into
mainfrom
chore/banned-language-ledger
Aug 7, 2026
Merged

hyperpolymath merged 2 commits into
mainfrom
chore/banned-language-ledger

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

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:

(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

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>
@gitar-bot

This comment has been minimized.

@gitar-bot

This comment has been minimized.

@hyperpolymath
hyperpolymath merged commit de8a400 into main Aug 7, 2026
27 of 31 checks passed
@hyperpolymath
hyperpolymath deleted the chore/banned-language-ledger branch August 7, 2026 16:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant