- Work on a branch named
scope/short-kebab(for examplefuzz/enum-stringsorchore/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, andchore. - Do not edit
tests/original/orthird_party/. Those trees are hashed and must stay byte-identical to the upstream pin in.upstream.toml.
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=trueFull local gates:
zig build verify
# or
docker compose up --build verifyDo 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.pyDECISIONS.md is append-only for new entries. docs/journal.md is also
append-only; add dated sections at the end.