test(gates)!: the size/complexity ratchet leaves the gate; audit_metrics reports it
sourceSize.contract.test.ts, its test kit and backend/tests/test_source_size.py held 13 FE / 9 BE file ceilings and 64 FE / 32 BE function ceilings. No real hit (E34 S2/S4): its history is its own birth (751e1ae5), two rounds of fixes to its own logic (e432dc27,d1df76e8), the snapshot move (182ec311) and ceiling edits inside feature fixes (5806adda,df4a79a1, and the S2/S3 cuts here). It caught no defect, went red 8 times on its own limits and drew 5 review findings about itself. The numbers stay visible: audit_metrics reports file size and complexity, and an epic compares before and after. docs/gates.md: the two size rows go; the C901 row says where it is read now.
This commit is contained in:
@@ -24,8 +24,8 @@ BE_APP = ROOT / "backend" / "app"
|
||||
BE_TESTS = ROOT / "backend" / "tests"
|
||||
FE_SRC = ROOT / "frontend" / "src"
|
||||
BIG_FILE = 800
|
||||
BE_COMPLEXITY = 10 # ruff's C901 default, the backend ratchet's limit
|
||||
FE_COMPLEXITY = 20 # the frontend ratchet's limit
|
||||
BE_COMPLEXITY = 10 # ruff's C901 default
|
||||
FE_COMPLEXITY = 20 # the frontend's line (E32)
|
||||
|
||||
EPIC_CODE = re.compile(r"\b(E\d{2}|R\d{1,2})(\s?S\d+)?\b")
|
||||
NARRATION = re.compile(r"\b(used to|no longer)\b", re.IGNORECASE)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
// one JSON object: {"limit": N, "over": count, "max": highest}. Shipped code only — tests and test
|
||||
// kits are lists of cases, not logic anyone has to change.
|
||||
//
|
||||
// node scripts/fe_complexity.mjs [limit] (default 20, the frontend's ratchet limit)
|
||||
// node scripts/fe_complexity.mjs [limit] (default 20, the frontend's line since E32)
|
||||
import { readdirSync, readFileSync } from "node:fs";
|
||||
import { createRequire } from "node:module";
|
||||
import { join } from "node:path";
|
||||
|
||||
Reference in New Issue
Block a user