Context
Local make lint and CI lint do not cover the same paths. That creates avoidable CI-only failures and makes the local done criteria less trustworthy.
Evidence
Makefile local lint runs uv run ruff check src/ tests/.
Makefile local format-check runs uv run ruff format --check src/ tests/.
.github/workflows/tests.yml lint job runs uv run ruff check src/kida tests/ benchmarks/ scripts/ and uv run ruff format --check src/kida tests/ benchmarks/ scripts/.
pyproject.toml has per-file ignores for benchmarks/**/*.py, examples/**/*.py, and scripts/**/*.py, but local gates do not use all of those scoped ignores.
Proposed Scope
- Decide the authoritative lint/format path set.
- Update Makefile and CI to match.
- Consider adding
examples/ if examples are treated as copied production code.
Done When
- Running local lint/format is predictive of CI lint/format.
- The path set is documented in
docs/stability-gate.md or Makefile help.
- Any intentionally excluded path has a reason.
Context
Local
make lintand CI lint do not cover the same paths. That creates avoidable CI-only failures and makes the local done criteria less trustworthy.Evidence
Makefilelocallintrunsuv run ruff check src/ tests/.Makefilelocalformat-checkrunsuv run ruff format --check src/ tests/..github/workflows/tests.ymllint job runsuv run ruff check src/kida tests/ benchmarks/ scripts/anduv run ruff format --check src/kida tests/ benchmarks/ scripts/.pyproject.tomlhas per-file ignores forbenchmarks/**/*.py,examples/**/*.py, andscripts/**/*.py, but local gates do not use all of those scoped ignores.Proposed Scope
examples/if examples are treated as copied production code.Done When
docs/stability-gate.mdor Makefile help.