Skip to content

Latest commit

 

History

History
53 lines (41 loc) · 1.57 KB

CONTRIBUTING.md

File metadata and controls

53 lines (41 loc) · 1.57 KB

Contributing

Branches, commits, and merges

  • Work on a branch named scope/short-kebab (for example fuzz/enum-strings or chore/scorecard-regen).
  • Open a pull request with a real description. Do not push straight to main.
  • Do not merge a red PR.
  • Commit subjects use scope: imperative, at most 72 characters. Valid scopes: port, abi, test, fuzz, cover, bench, ci, docs, tool, upstream, and chore.
  • Do not edit tests/original/ or third_party/. Those trees are hashed and must stay byte-identical to the upstream pin in .upstream.toml.

Verify before merge

The original suite must pass at these exact counts:

Config Required count
default 4930/4930
pow (-Dpow-from-right=true) 4924/4924
natlog (-Dnat-log=true) 4934/4934
pow_natlog (both flags) 4928/4928
bash scripts/run-original-suite.sh default
bash scripts/run-original-suite.sh pow -Dpow-from-right=true
bash scripts/run-original-suite.sh natlog -Dnat-log=true
bash scripts/run-original-suite.sh pow_natlog -Dpow-from-right=true -Dnat-log=true

Full local gates:

zig build verify
# or
docker compose up --build verify

Generated artifacts

Do not hand-merge docs/evidence/scorecard.json or the README scorecard block between <!-- scorecard:begin --> and <!-- scorecard:end -->. Take either side of a conflict and re-run:

python tools/scorecard.py
python tools/render_readme.py

DECISIONS.md is append-only for new entries. docs/journal.md is also append-only; add dated sections at the end.