-
make verifypasses locally (lint, format, mypy, tests + coverage floor, docs-drift check, i18n check, pip-audit, gitleaks) -
CHANGELOG.mdupdated if behavior changed - Commits signed off (
git commit -s)
- New passing fixture + failing fixture under
tests/fixtures/ -
docs/rules.mdregenerated (python scripts/generate_rules_doc.py) - Spec citation is real; ambiguity (if any) recorded in
docs/spec-questions.mdrather than guessed
- New/changed
uses:is pinned to a full 40-char commit SHA - No
${{ }}expression is interpolated directly into arun:shell block (route it throughenv:instead — seedocs/CONFORMANCE-GAPS.md#ci-cd) - Permissions are least-privilege and escalated at job level, not workflow level
-
zizmoris clean (zizmor --min-severity high .github/workflows/ action.yml)
- Read through
SECURITY.md's threat model; update it if the surface changed -
docs/RESPONSIBLE-TECH-AUDITS.md§C/F reflects the change