# 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"]