# Ruff config for cc-ci Python (runner/ harness, bridge/, dashboard/, tests/). Phase 1b RL1.
# ruff format owns style; ruff check owns lint. Line length matches the format default.
line-length = 100
target-version = "py311"

[lint]
# E/F = pyflakes+pycodestyle, W = warnings, I = import sorting, UP = pyupgrade,
# B = bugbear (real footguns), C4 = comprehensions, SIM = simplify.
select = ["E", "F", "W", "I", "UP", "B", "C4", "SIM"]
# E501 (line too long) is left to the formatter; it only fires on un-splittable lines
# (long string literals / URLs in comments) where wrapping would hurt readability.
ignore = ["E501"]

[lint.per-file-ignores]
# Test files may use bare asserts and fixture-shadowing patterns pytest needs.
"tests/**" = ["B011"]
