The most valuable contribution is an independent verification report —
run the vectors (and optionally the live route), then file your result with
the template in templates/independent-verification-report.md, pass or fail.
Also welcome:
- Verifier ports (other languages) that reproduce the 21 checks bit-exactly —
the canonical-JSON and number-lexeme rules in
docs/verification.mdare the hard part; add your port underports/<lang>/with its own tests. - New tamper vectors: add a case to
test-vectors/generate_tampered.py(must change exactly the bytes it claims to change, deterministic) and an expectation totests/run_vectors.py. - Documentation fixes, especially anywhere our wording exceeds
docs/claim-boundary.md— that is a bug.
Ground rules:
verifier/nomos_repro_verify.pymirrors the published artifact byte-for-byte; changes there must land on the published side first (maintainers handle that). PRs touch the wrapper/harness instead.test-vectors/positive/*are sealed copies of published evidence — never edited, only replaced wholesale when upstream publishes a new revision.- No PR may add a secret, a private key, wallet code, or a call to the paid route in CI.
- Tests must pass offline:
python3 tests/run_vectors.py→ exit 0.
Licensing of contributions:
- Contributions are submitted under the license applicable to the affected
path as defined in
LICENSING.md(Apache-2.0 for software/configuration, CC-BY-4.0 for documentation and reference materials). - Contributors represent that they have the right to submit the contribution under that license.
- A contribution that introduces a new path must have its license
classification established in
LICENSING.mdbefore it can be accepted.