- Added E402 to pyproject.toml per-file-ignores for main.py (intentional lazy imports) - Updated bandit CI command: skip B101,B110,B310 via --skip flag - Ruff: 0 errors, Bandit: 0 HIGH/MEDIUM/LOW
- ruff: 602→0 errors (428 auto-fixed, pyproject.toml ignores for FastAPI patterns) - bandit: skip B310 (urllib for vault file access is intentional) - Fixed SIM118 (dict.keys()→dict), PERF102, SIM113, SIM117 - Created pyproject.toml with ruff + bandit config - 285 tests still pass