# Style & conventions

- Python 3.12, 4-space indentation, 100-char line length (Ruff).
- Naming: `snake_case` modules/functions, `PascalCase` classes, `UPPER_SNAKE_CASE` constants.
- Keep typing explicit; compatible with strict mypy.
- Generated `*_pb2.py` files excluded from lint.
