feat(qa): add pre-commit baseline hooks #212

Closed
opened 2026-02-22 23:40:10 +00:00 by freemo · 0 comments
Owner

Metadata

  • Commit: feat(qa): add pre-commit baseline hooks
  • Branch: feature/q0-min-precommit

Subtasks

  • Add pre-commit>=3.6.0 to pyproject.toml dev dependencies and ensure it is included in the dev extra.
  • Create .pre-commit-config.yaml pinned to specific hook versions; include ruff format, ruff check, pyright, check-merge-conflict, end-of-file-fixer, trailing-whitespace.
  • Add pyrightconfig.json validation to pre-commit (hook that fails if config missing or invalid).
  • Add/confirm nox -s lint session that runs Ruff + pyright using project settings; ensure session exits non-zero on warnings.
  • Add/confirm nox -s format session for Ruff formatting and align it with pre-commit ruff format behavior.
  • Update CONTRIBUTING.md with pre-commit install + run steps (no helper scripts).
  • Tests (Behave): Add scenarios in features/quality_automation.feature that parse .pre-commit-config.yaml, assert required hooks are present, and verify pinned versions.
  • Tests (Robot): Add robot/quality_automation.robot that runs nox -s lint and asserts zero failures.
  • Tests (ASV): Add benchmarks/precommit_config_bench.py to benchmark config parsing and hook list extraction.
  • Run nox (all default sessions, including benchmark).
  • Verify coverage >=97% via nox -s coverage_report.

Section: ### Section 0: Quality Automation Setup [WORKSTREAM Q - Brent Lead]
Status: Completed

## Metadata - **Commit**: `feat(qa): add pre-commit baseline hooks` - **Branch**: `feature/q0-min-precommit` ## Subtasks - [x] Add `pre-commit>=3.6.0` to `pyproject.toml` dev dependencies and ensure it is included in the `dev` extra. - [x] Create `.pre-commit-config.yaml` pinned to specific hook versions; include `ruff format`, `ruff check`, `pyright`, `check-merge-conflict`, `end-of-file-fixer`, `trailing-whitespace`. - [x] Add `pyrightconfig.json` validation to pre-commit (hook that fails if config missing or invalid). - [x] Add/confirm `nox -s lint` session that runs Ruff + pyright using project settings; ensure session exits non-zero on warnings. - [x] Add/confirm `nox -s format` session for Ruff formatting and align it with pre-commit `ruff format` behavior. - [x] Update `CONTRIBUTING.md` with pre-commit install + run steps (no helper scripts). - [x] Tests (Behave): Add scenarios in `features/quality_automation.feature` that parse `.pre-commit-config.yaml`, assert required hooks are present, and verify pinned versions. - [x] Tests (Robot): Add `robot/quality_automation.robot` that runs `nox -s lint` and asserts zero failures. - [x] Tests (ASV): Add `benchmarks/precommit_config_bench.py` to benchmark config parsing and hook list extraction. - [x] Run `nox` (all default sessions, including benchmark). - [x] Verify coverage >=97% via `nox -s coverage_report`. **Section**: ### Section 0: Quality Automation Setup [WORKSTREAM Q - Brent Lead] **Status**: Completed
freemo added this to the (deleted) milestone 2026-02-22 23:40:10 +00:00
freemo modified the milestone from (deleted) to v3.0.0 2026-02-23 00:07:10 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Blocks
#349 Epic: Quality Automation Setup (Q0)
cleveragents/cleveragents-core
Reference
cleveragents/cleveragents-core#212
No description provided.