-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathruff.toml
More file actions
28 lines (27 loc) · 1.69 KB
/
Copy pathruff.toml
File metadata and controls
28 lines (27 loc) · 1.69 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
# calque#164: sane defaults only (ruff's own default rule set - pyflakes +
# a slice of pycodestyle). Scoped to calque's OWN Python source
# (tools/pyast, worker/warm-runner); testdata/ and examples/ are excluded
# on purpose -- testdata/ holds real fetched third-party corpus scripts
# (with their own real unused imports etc.) and deliberately-incomplete
# synthetic fixtures (e.g. an intentionally-undefined name is the test
# scenario, not a bug); examples/ is a byte-for-byte copy of some of
# those same fixtures (guarded by examples_test.go), so it inherits the
# same "intentionally broken" content. Linting either would be
# permanent, correct-to-ignore noise, not a backlog worth clearing.
extend-exclude = ["testdata", "examples"]
[lint]
# Explicit narrow rule set (pyflakes "F" + a slice of pycodestyle "E") --
# deliberately not opting into ruff's much wider default catalog (which
# includes flake8-bandit/-bugbear/-simplify rules like S102 exec-detected
# and BLE001 blind-except) on day one, matching how golangci-lint was
# adopted with its own plain defaults. An EMPTY [lint] table does NOT mean
# "ruff's narrow defaults" -- it falls through to ruff's own much broader
# default selection, which is not what was intended here; `select` must be
# explicit. S102/BLE001 in particular would be permanent false positives
# against this project's actual design: worker/warm-runner/runner.py's
# whole job is to compile+exec shipped Modal payload source verbatim
# (calque's "ship the payload verbatim, never interpret it" architecture),
# and its blind `except Exception` catches are deliberate --
# fail-loudly-with-structure so spored can decide retry, not silent
# swallowing.
select = ["E4", "E7", "E9", "F"]