Follow-up to the Build CI fix (pin ruff + scope its rule set): 39 findings needed a deliberate code review rather than a mechanical fix, so they're ignored in pyproject.toml for now:
LOG015 (20x) / LOG014 (1x) — calls on the root logger; needs per-module loggers introduced deliberately across app.py, rag_system.py, get_knowledge_base.py, get_samples_examples.py.
BLE001 (6x) — blind except Exception; some of these look intentional (top-level request/error handling), needs a per-call decision.
RUF012 (5x) — mutable class-attribute defaults, mostly in test mock classes (test_intercom.py).
PLW1510 (2x) — subprocess.run without an explicit check= argument.
DTZ011 (1x) — datetime.date.today(), needs a timezone decision.
SIM102, SIM103, PIE810, EXE001 (1x each) — small mechanical cleanups, lowest risk of the bunch.
None of these are urgent; they're just deferred out of the CI-unblocking PR to keep that change safe and reviewable.
Follow-up to the Build CI fix (pin ruff + scope its rule set): 39 findings needed a deliberate code review rather than a mechanical fix, so they're ignored in
pyproject.tomlfor now:LOG015(20x) /LOG014(1x) — calls on the root logger; needs per-module loggers introduced deliberately acrossapp.py,rag_system.py,get_knowledge_base.py,get_samples_examples.py.BLE001(6x) — blindexcept Exception; some of these look intentional (top-level request/error handling), needs a per-call decision.RUF012(5x) — mutable class-attribute defaults, mostly in test mock classes (test_intercom.py).PLW1510(2x) —subprocess.runwithout an explicitcheck=argument.DTZ011(1x) —datetime.date.today(), needs a timezone decision.SIM102,SIM103,PIE810,EXE001(1x each) — small mechanical cleanups, lowest risk of the bunch.None of these are urgent; they're just deferred out of the CI-unblocking PR to keep that change safe and reviewable.