# WS-8 quality gate. Requires the dev extra for Ruff/mypy/diff-cover:
#   pip install -e ".[dev]"
.PHONY: fmt lint type test cov check

fmt:
	ruff format src tests

lint:
	ruff check src tests

type:
	python3 scripts/mypy_gate.py

test:
	python3 -m pytest -q

cov:
	python3 -m pytest -q --cov --cov-report=xml --cov-fail-under=80

# WS-8 blocking gates: lint, type, and tests all fail the build.
check:
	$(MAKE) lint
	$(MAKE) type
	$(MAKE) test
