Offline, read-only compilation of an exact-revision, exact-input release checklist from supplied package contracts and check results. It reports ready or not-ready; it does not package, tag, publish, deploy, or contact a release service.
This walkthrough uses the tool's public README and checked-in example files. Run the command from a repository checkout with Node.js 22+.
Run the checked-in example
node bin/release-candidate-checklist.mjs --root examples/pass --input candidate.json
node bin/release-candidate-checklist.mjs --root examples/fail --input candidate.json
node bin/release-candidate-checklist.mjs --root examples/stale --input candidate.json
npm run checkRead the result
--help prints usage. Normal runs emit one JSON report on stdout: exit 0=pass/ready, 1=fail/not-ready, 2=incomplete/not-ready or invalid configuration. Invalid options or root produce empty stdout. An unreadable, undecodable, malformed, or out-of-root named input produces an incomplete report. The named input is realpath-confined under the root. UTF-8 decoding is strict and duplicate decoded JSON keys are rejected. Nothing is written.
Scope
Input ≤65,536 bytes; ≤100 contracts, ≤100 results, ≤100 candidate inputs, ≤20 input bindings per contract or result, opaque IDs ≤64 UTF-16 units, JSON depth ≤16, and evaluation deadline ≤5,000 ms through an injected monotonic clock. N is accepted and N+1 rejected for each bound. The tool neither runs the checks nor proves a supplied completeness flag, revision, or digest is authentic; it only refuses evidence that does not match the declared candidate.