Skip to content

Commit 0221f4e

Browse files
fix(ci): resolve governance banned-language baseline failure (Refs #67) (#114)
## Summary The `governance / Language / package anti-pattern policy` job (in `hyperpolymath/standards`'s `governance-reusable.yml`) was failing on 8 in-tree ReScript files: - `panll/src/{commands/BojCmd,components/Boj,core/BojEngine,model/BojModel,modules/BojModule}.res` (5 files — VSCode panel MVC for the BoJ clade panel) - `cartridges/orchestrator-lsp-mcp/panels/src/{Extension,LanguageClient,VscodeApi}.res` (3 files — VSCode webview glue) All 8 predate the 2026-04-30 no-new-ReScript policy and are already tracked as migration debt under #67. ## Fix Created `.hypatia-ignore` declaring per-file exemptions using the canonical `cicd_rules/banned_language_file:<relpath>` form that the upstream workflow's `is_exempt()` honours (same escape hatch as the Hypatia static scanner — `grep -qxF "${rule}:${f}" .hypatia-ignore`). ## Not a policy widening Each exemption line names a single specific file already on `main`. New `.res` additions still fail the gate. Each file's removal will close one line in `.hypatia-ignore`; the file disappears when #67 is fully discharged. ## Test plan - [ ] CI: `governance / Language / package anti-pattern policy` green - [ ] CI: no regression on other `governance / *` jobs (Security, Code-quality, Workflow-linter, Well-Known, Guix-primary) Refs #67. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent b9decb2 commit 0221f4e

1 file changed

Lines changed: 41 additions & 0 deletions

File tree

.hypatia-ignore

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
3+
#
4+
# .hypatia-ignore — declared exemptions from hyperpolymath/standards
5+
# governance-reusable.yml policy rules. Format:
6+
#
7+
# <rule>:<repo-relative-path>
8+
#
9+
# Lines starting with `#` and blank lines are ignored. The rule
10+
# `cicd_rules/banned_language_file` is honoured by the
11+
# "package anti-pattern policy" job and the Hypatia static scanner
12+
# (same escape hatch).
13+
#
14+
# ─── ReScript migration backlog (boj-server#67) ─────────────────────
15+
#
16+
# These 8 .res files are tracked migration debt to AffineScript.
17+
# They satisfy ALL three preconditions for an exemption:
18+
#
19+
# 1. Tracked: boj-server#67 ("ReScript→AffineScript migration
20+
# backlog (~543 .res LOC)") is the live tracker — these files
21+
# ARE that backlog.
22+
# 2. Pre-policy: every .res file here predates the 2026-04-30
23+
# no-new-ReScript policy. None is new; all are migration
24+
# candidates.
25+
# 3. Unblock condition documented: each file will be removed when
26+
# its AffineScript equivalent lands (per #67).
27+
#
28+
# Adding new entries to this file requires user approval + a
29+
# tracking-issue reference.
30+
31+
# panll VSCode panel (5 files, model/view/controller)
32+
cicd_rules/banned_language_file:panll/src/commands/BojCmd.res
33+
cicd_rules/banned_language_file:panll/src/components/Boj.res
34+
cicd_rules/banned_language_file:panll/src/core/BojEngine.res
35+
cicd_rules/banned_language_file:panll/src/model/BojModel.res
36+
cicd_rules/banned_language_file:panll/src/modules/BojModule.res
37+
38+
# orchestrator-lsp-mcp cartridge panels (3 files, VSCode webview glue)
39+
cicd_rules/banned_language_file:cartridges/orchestrator-lsp-mcp/panels/src/Extension.res
40+
cicd_rules/banned_language_file:cartridges/orchestrator-lsp-mcp/panels/src/LanguageClient.res
41+
cicd_rules/banned_language_file:cartridges/orchestrator-lsp-mcp/panels/src/VscodeApi.res

0 commit comments

Comments
 (0)