-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.hypatia-ignore
More file actions
93 lines (93 loc) · 5.31 KB
/
Copy path.hypatia-ignore
File metadata and controls
93 lines (93 loc) · 5.31 KB
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# SPDX-License-Identifier: MPL-2.0
#
# .hypatia-ignore — repo-scoped exemptions for the estate governance
# bundle's anti-pattern scanner. Format (per the bundle's `is_exempt`
# function): each non-comment line is `${rule}:${path}` matched as a
# fixed-string whole-line equality (`grep -qxF`).
#
# Comment lines (`#`) and blank lines are tolerated because they never
# match the `rule:path` shape under -xF.
#
# ─── Migration-tool input fixtures ──────────────────────────────────
#
# The .res → .affine migration assistant (issue #57) needs a corpus of
# real `.res` files in its test/fixtures/ directory so the walker can
# be exercised end-to-end. The banned-language rule correctly flags
# `.res` files everywhere in the estate — exempt the migration-tool
# fixture specifically.
#
# Why side-channel exemption (this file) instead of an inline pragma:
# the migration walker emits source line numbers from the fixture into
# its snapshot output, and an inline pragma in the file header would
# shift those line numbers and break the snapshot test. Path-based
# exemption avoids touching the file content. See feedback memory
# `feedback_inline_pragma_vs_snapshot_test` for the general principle.
cicd_rules/banned_language_file:tools/res-to-affine/test/fixtures/sample.res
cicd_rules/banned_language_file:tools/res-to-affine/test/fixtures/phase2c.res
# Phase 3 + partial-port fixtures landed via PRs #481/#494/#495/#496 (Refs #488).
# Were previously masked by the TypeScript-allowlist red on main (anti-pattern
# job exited at the TS gate before reaching the .res gate); surfaced by PR #511's
# allowlist fix and added in the same change to keep the gate strict.
cicd_rules/banned_language_file:tools/res-to-affine/test/fixtures/partial1.res
cicd_rules/banned_language_file:tools/res-to-affine/test/fixtures/phase3.res
cicd_rules/banned_language_file:tools/res-to-affine/test/fixtures/phase3b.res
cicd_rules/banned_language_file:tools/res-to-affine/test/fixtures/phase3c.res
#
# ─── Coq/Rocq proof scripts (.v is NOT V-lang) ──────────────────────
#
# `.v` is shared by Coq, Verilog and the estate-banned V-lang (→ Zig).
# The vlang ban is detected on `*.v` via cicd_rules/vlang_detected, with an
# estate-wide path_allow_prefixes carve-out for "Coq proof scripts". The
# AffineScript `formal/` track (obligation K-1, see docs/PROOF-NEEDS.adoc)
# is Coq 8.18 — not V-lang, not Verilog. Exempt it explicitly so a future
# sweep cannot mis-flag it. (Coq ships no `v.mod`, so vmod_detected never
# fires.) Both rule names are listed for robustness; the non-matching one is
# an inert no-op under the scanner's `grep -qxF` whole-line match.
cicd_rules/vlang_detected:formal/K1_CodegenPreservation.v
cicd_rules/banned_language_file:formal/K1_CodegenPreservation.v
cicd_rules/vlang_detected:formal/K1Let_CodegenPreservation.v
cicd_rules/banned_language_file:formal/K1Let_CodegenPreservation.v
cicd_rules/vlang_detected:formal/F1_TransformerPreservation.v
cicd_rules/banned_language_file:formal/F1_TransformerPreservation.v
cicd_rules/vlang_detected:formal/Siblings_Stated.v
cicd_rules/banned_language_file:formal/Siblings_Stated.v
cicd_rules/vlang_detected:formal/F3_PragmaDecidable.v
cicd_rules/banned_language_file:formal/F3_PragmaDecidable.v
cicd_rules/vlang_detected:formal/F4_ErrorFaithful.v
cicd_rules/banned_language_file:formal/F4_ErrorFaithful.v
cicd_rules/vlang_detected:formal/P3_BorrowSound.v
cicd_rules/banned_language_file:formal/P3_BorrowSound.v
cicd_rules/vlang_detected:formal/P2_Progress.v
cicd_rules/banned_language_file:formal/P2_Progress.v
cicd_rules/vlang_detected:formal/P3_BorrowGraph.v
cicd_rules/banned_language_file:formal/P3_BorrowGraph.v
cicd_rules/vlang_detected:formal/P2_Stlc.v
cicd_rules/banned_language_file:formal/P2_Stlc.v
cicd_rules/vlang_detected:formal/QttSemiring.v
cicd_rules/banned_language_file:formal/QttSemiring.v
cicd_rules/vlang_detected:formal/AffineUsage.v
cicd_rules/banned_language_file:formal/AffineUsage.v
cicd_rules/vlang_detected:formal/QttTyping.v
cicd_rules/banned_language_file:formal/QttTyping.v
cicd_rules/vlang_detected:formal/QttDynamic.v
cicd_rules/banned_language_file:formal/QttDynamic.v
cicd_rules/vlang_detected:formal/F5_RenderFaithful.v
cicd_rules/banned_language_file:formal/F5_RenderFaithful.v
cicd_rules/vlang_detected:formal/RealWasm.v
cicd_rules/banned_language_file:formal/RealWasm.v
# Rows.v — record-row soundness (P-11, Wave-W0). Coq proof script, mechanized
# and wired into formal/_CoqProject like its siblings; exempt from the V-lang
# ban (the ignore matcher is fixed-string per-file, not a glob, so each new .v
# needs its own lines).
cicd_rules/vlang_detected:formal/Rows.v
cicd_rules/banned_language_file:formal/Rows.v
cicd_rules/vlang_detected:formal/RealCompile.v
cicd_rules/banned_language_file:formal/RealCompile.v
# RealLoop.v — REAL-LIFT rung R2-loops (Loop/Br/BrIf + source while). Coq proof
# script, wired into formal/_CoqProject; exempt from the V-lang ban.
cicd_rules/vlang_detected:formal/RealLoop.v
cicd_rules/banned_language_file:formal/RealLoop.v
# RealMem.v — REAL-LIFT rung R-mem (linear memory: I32Load/I32Store + heap
# tuples). Coq proof script, wired into formal/_CoqProject; exempt from V-lang.
cicd_rules/vlang_detected:formal/RealMem.v
cicd_rules/banned_language_file:formal/RealMem.v