Files
MobilityOps/scripts/check-source-budgets.py
T
NuklearRabbit acd8b82b09
MobilityOps acceptance / backend (push) Failing after 20s
MobilityOps acceptance / frontend (push) Successful in 26s
MobilityOps acceptance / e2e (push) Skipped
M44: harden release integrity and assurance
2026-08-21 18:32:02 +02:00

27 lines
910 B
Python
Executable File

#!/usr/bin/env python3
"""Prevent known large modules from growing while they are incrementally decomposed."""
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
LINE_LIMITS = {
"backend/app/services/data_quality.py": 950,
"frontend/src/pages/DataQualityIssueDetail.tsx": 850,
}
BYTE_LIMITS = {"frontend/src/styles.css": 84_000}
failures: list[str] = []
for relative, limit in LINE_LIMITS.items():
count = len((ROOT / relative).read_text(encoding="utf-8").splitlines())
print(f"{relative}: {count}/{limit} lines")
if count > limit:
failures.append(relative)
for relative, limit in BYTE_LIMITS.items():
count = (ROOT / relative).stat().st_size
print(f"{relative}: {count}/{limit} bytes")
if count > limit:
failures.append(relative)
if failures:
raise SystemExit("Source budget exceeded; extract a focused module: " + ", ".join(failures))