- Add pyproject.toml with ruff per-file-ignores:
- Exclude deprecated app/ Streamlit dir entirely
- Suppress E702 in dev-api.py (intentional compact Pydantic models)
- Suppress E402 in finetune_local.py (conditional ML imports after CUDA check)
- Suppress F841/E741/E702 in tests/ (mock-patch capture pattern)
- Remove unused db_path_obj assignment in dev-api.py:760
- Add # noqa: E402 to documented mid-file imports in dev-api.py
- Rename ambiguous l variable to line/lbl in finetune_local.py + label_tool.py