All agents must follow these rules:
- Fully test your changes before submitting a PR (run the full suite or all relevant tests).
- PR titles must be descriptive and follow Conventional Commits-style prefixes:
- Common:
feat:,fix:,chore:,refactor:,docs:,test:,perf: - Support titles:
fix(docs):,fix(benchmarks):,fix(cicd):
- Common:
- Commit messages must follow the same Conventional Commits-style prefixes and include a short functional description plus a user-facing value proposition.
- PR descriptions must include Summary, Rationale, and Details sections.
- Run relevant Python tests for changes (pytest/unittest or the repo's configured runner).
- Follow formatting/linting configured in pyproject.toml, setup.cfg, tox.ini, or ruff.toml.
- Update dependency lockfiles when adding or removing Python dependencies.
- If the repo uses mypyc, verify tests run against compiled extensions (not interpreted Python) and note how you confirmed.
- Maximize the use of caching in GitHub workflow files to minimize run duration.
- Use one of
pathsorpaths-ignorein every workflow file to make sure workflows only run when required. - All mypy configuration (flags, overrides, per-module ignores, and file targets) should go in pyproject.toml. Do not split config across CLI args, mypy.ini, setup.cfg, or workflow steps.
- Centralize pytest settings (flags, markers, ignore patterns, and targets) in pyproject.toml, pytest.ini, setup.cfg, or tox.ini; workflows/hooks should call pytest without inline args.
- Keep base image tags pinned.