Skip to content

Checks ​

The reusable workflow runs a consumer's checks as GitHub Actions jobs. Each job that can fail has a page here: a job that bundles several checks has its own page, and each check it runs has its own page below it carrying the complete per-language record — why it exists, what it enforces, when it runs, and every configuration key and exemption name that touches it.

The jobs ​

One uses: call runs these jobs, one per detected language where the job applies. The name in the table is the name you see on a pull request's check list.

JobCheck(s)Runs
Static checks (<language>)colocated-test, one-function-per-file, unit-lint, integration-lintalways — the four source-scanning checks as steps of one job
Unit-test coverage (<language>)unit-coveragealways
Unit-test coverage — changed lines (<language>)unit-coveragepull requests only
Unit mutation — changed lines (<language>)mutationpull requests only
Packagingpackagingwhen a build is derivable, an artifact is named, or a dist/ is committed
Workflow lintworkflow-lintalways — scans the calling repository's .github
E2E attestation freshnesse2e-verifywhen receipts are present, on pull requests
CHANGELOG + MIGRATIONS touchedchangelogpull requests only; passes untouched when the repository keeps no fragment directories

A job skipped by gates is absent from CI. A check left out of gates is skipped whether it runs as its own job or as a step of Static checks, and a check's diff-scoped mode rides with it (colocated-test covers the co-change step, unit-coverage the changed-line job).

The checks ​

The check name is the value the gates input takes to name a check, and the value that appears in a rules = […] exemption. Each check's page opens with the why and carries the complete factual record.

CheckJobAsks
colocated-testStatic checksDoes a unit test exist for every source file — and move with it on a pull request?
one-function-per-fileStatic checksDoes each source file hold at most one substantial function — so the file name is the subject?
unit-lintStatic checksDoes every unit test mock every collaborator?
integration-lintStatic checksDoes every integration test run first-party code for real?
unit-coverageUnit-test coverageDoes the unit suite run the code — whole-tree and on the changed lines?
mutationUnit mutationDoes the unit suite verify the code — break it, and a test fails?
packagingPackagingDoes the built artifact ship no test files?
workflow-lintWorkflow lintDoes every CI run: body read as wiring rather than a program?
e2e-verifyE2E attestation freshnessDoes a branch that changed the code record one visible e2e decision?
changelogCHANGELOG + MIGRATIONS touchedDoes a pull request that changed a package's public surface add a fragment recording it?

Each check's page states the facts and opens with the why; the explanation section carries the same ground as discursive essays — the testing model, the unit ladder, and the design trade-offs behind each check. One deliberate asymmetry: the two lint checks share one essay, Isolation, because they enforce a single boundary from opposite sides.