Skip to content

Checks

CheckRuns whereNeeds LFSWhat it covers
check-manifest.mjsherenomanifest ↔ fixtures/ file names
test:corpuswacz-validatoryesfrozen bytes still produce the frozen report
corpus:docs:checkwacz-validatornothe catalogue table matches manifest.json

Catches specimens the manifest references but that are missing, and orphan .wacz files nobody declared. It reads names only — never opening an archive — so the LFS payloads do not need to be fetched, and it runs on plain Node with no npm install.

That property is deliberate: cloning this repository and checking it should not require a toolchain.

This is the one that matters. It loops the manifest, validates each committed .wacz with the current wacz-validator, and asserts the output matches exactly.

Ordinary tests assert “this input trips this rule”, which misses two things. Exact matching catches all three ways output can drift:

meaning
a finding disappeareda defect that used to be caught no longer is
a finding appeareda false positive was introduced
a severity movedwarning ↔ error re-grading

When a change is intentional, run corpus:build and the manifest diff becomes the record of how wacz-validator’s output changed — reviewable in the pull request.

This is the only check that needs git lfs pull.

Verifies the table on the Catalogue page still matches manifest.json. If it has drifted, run corpus:docs and commit. The manifest is not in LFS, so this check does not need the archives either.