Evidence over assertion. A change that claims something is correct carries the run that shows it, and a claim that cannot be checked is not ready.
Run every gate, and read the output rather than the exit code:
uvx ruff@0.16.3 format --check .
uvx ruff@0.16.3 check .
pnpm install --frozen-lockfile && pnpm run format:check
python3 -m coverage erase
for f in $(find . -name '*.test.py' -not -path './packages/*' | sort); do
python3 -m coverage run -a "$f" || echo "FAILED $f"
done
python3 -m coverage reportEvery example the README prints is run against the parts by
conformance/documented.py, so a snippet edited in one place and not the other
fails rather than drifts.
Coverage is a hard gate at 100% statement and branch. A branch with no test fails the build rather than lowering the number.
They are checked too, by actionlint, and the archive it comes from is verified
by digest before it runs. If you have it installed already, actionlint from the
repository root is the same check.
A test file sits beside the module it covers and is named after it. Test bodies carry no comments: arrange, act and assert are separated by one blank line each, and the test name says what behaviour is being pinned.
Tests that need a file nobody can distribute are skipped rather than passed when that file is absent, and they live apart from the rest so the coverage gate stays meaningful on a runner that has nothing.
Conventional Commits, subject under fifty characters, imperative mood. The body explains what changed and why, wrapped at seventy two columns. Releases are cut by semantic-release from those subjects, so the type is what decides the version.
- A file nobody can legally redistribute, or a digest of one fine enough to reconstruct it. Whole-file digests are welcome; per-block ones are not.
- A number in a document that no run produced.
- A behaviour changed without the corpus or the pinned digests moving with it.
- A test that asserts what the code does rather than what the hardware does.
The Code of Conduct applies everywhere this project is discussed. One line of it is specific to this repository and worth reading twice: never post a copyrighted image, a game, or a link to somewhere either can be downloaded. A digest identifies a file without carrying it, and a digest is all anybody needs.
Measurements. If you have cartridges, patches or hardware this has not been run against, the most useful contribution is a run and what it found, especially a disagreement.