Skip to content

Commit 19437f2

Browse files
hyperpolymathclaude
andcommitted
chore(governance): declare the banned-language migration backlog
The "Language / package anti-pattern policy" gate is failing on 5 file(s) in banned languages (5 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>
1 parent 0a432d0 commit 19437f2

1 file changed

Lines changed: 29 additions & 0 deletions

File tree

.hypatia-ignore

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Banned-language exemption ledger — hypatia / governance-reusable.yml
2+
#
3+
# Format: <rule_module>/<rule_type>:<path>
4+
#
5+
# WHY THIS FILE EXISTS
6+
# --------------------
7+
# The governance "Language / package anti-pattern policy" gate is correct:
8+
# these files really are in languages estate policy bans. The gate's own
9+
# failure message names this file as the sanctioned way to declare an
10+
# intentional exception.
11+
#
12+
# These exemptions HOLD THE LINE WHILE MIGRATION IS IN PROGRESS. Each entry
13+
# is removed as the matching file is ported or deleted. This follows the
14+
# precedent set in hyperpolymath/echidna.
15+
#
16+
# EVERY PATH IS LISTED INDIVIDUALLY — deliberately. A `src/**` wildcard would
17+
# silently absorb NEW banned files added later, turning a migration ledger into
18+
# a permanent blind spot. Listing each path means a newly added file still
19+
# fails the gate: this ledger can only shrink as work is done, never quietly
20+
# grow.
21+
#
22+
# Inventory taken 2026-08-06 across all 424 estate repositories.
23+
# Files covered: 5 rescript
24+
25+
cicd_rules/banned_language_file:ui/src/App.res
26+
cicd_rules/banned_language_file:ui/src/Model.res
27+
cicd_rules/banned_language_file:ui/src/Msg.res
28+
cicd_rules/banned_language_file:ui/src/RuntimeBridge.res
29+
cicd_rules/banned_language_file:ui/src/components/FormatTabs.res

0 commit comments

Comments
 (0)