Repository navigation
Expand file tree
/
Copy path.complexity-baseline
More file actions
26 lines (26 loc) · 1.52 KB
/
Copy path.complexity-baseline
File metadata and controls
26 lines (26 loc) · 1.52 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
# .complexity-baseline - ratchet for existing complexity offenders (#407)
#
# Worst cyclomatic complexity per file at the moment the hard gate landed.
# Format: <repo-relative-file> <worst-cyclomatic-complexity>
# A file is tolerated at or below its frozen value; the gate FAILS on a
# new over-threshold file or a regression above the frozen value. This
# file may only SHRINK - refactor a file's worst function below the value
# (or below threshold), then run `make check-complexity-gate-update`.
#
# Thresholds (Phase 2 hard gate): Python radon rank D/E/F (cc > 20);
# TypeScript eslint complexity > 20. New over-threshold functions block
# immediately; existing offenders below are grandfathered (ratchet may
# only shrink). File-level granularity matches .filesize-baseline.
#
# Punkt-5-Pruefung (#2135, 2026-07-29): das Urteil haengt an der
# radon-Version. Ein Versionswechsel kann eine Funktion ueber die cc-20-Linie
# schieben, ohne dass sich Code aendert. Das Gate druckt die aufgeloeste
# Version mit, damit eine lokal/CI-Abweichung zuordenbar ist. GEPRUEFT.
#
# Oracle pin (#2138, decided 2026-07-31): the Python half of this verdict
# is produced by the pinned radon (RADON_PIN in scripts/check-complexity.sh);
# the gate refuses a foreign radon version instead of measuring with it,
# because a drifting oracle lowers the bar silently in the downward
# direction. The build-derived oracles (Tailwind classname gates) stay
# deliberately unpinned - there the build output is itself the test
# subject, and a pin would freeze the wrong thing.