feat(gateway): run the full fast gate (incl. complexity) at the dev's desk

Add a per-project `quality_command` (model + ORM + API + panel + migration 029)
that the pre-submit gate prefers over the lint/typecheck pair. Pointed at the new
`make gate` target (ruff format --check + ruff check + mypy + xenon, no tests),
i_am_done now catches lint, type AND complexity failures in the developer's
workspace before QA — closing the gap where over-complex code only failed in CI.
Falls back to lint+typecheck when unset; a no-op when no commands are configured.
This commit is contained in:
Renn F
2026-06-14 05:24:09 +02:00
parent 481c5fe17b
commit a8b387b5bb
12 changed files with 123 additions and 4 deletions
+11
View File
@@ -277,6 +277,17 @@ quality-fast:
@uv run mypy roboco/
@uv run pytest -q -x --no-cov
# Fast pre-submit gate: format-check + lint + types + complexity, NO tests.
# This is the command a project points `quality_command` at, so the agent
# pre-submit gate (run at i_am_done) executes it in the dev's workspace and
# catches lint/type/complexity at the desk. The test suite stays on CI.
.PHONY: gate
gate:
@uv run ruff format --check .
@uv run ruff check .
@uv run mypy roboco/
@uv run xenon --max-absolute B --max-modules A --max-average A roboco/
# Run all analysis tools
.PHONY: analysis
analysis: deptry