# WP34 — Working conventions for every contributor (human or agent) 1. Exact arithmetic only for field/group operations (Python `int`, Rust `u64/u128` with Montgomery or Barrett reduction). Never substitute floating point for a field operation. Floats are allowed only for statistics and plotting. 2. Each experiment script must: accept `--seed`, `--out`, write JSON via `wp34.provenance.record(...)`, and be re-runnable. 3. Record operation counts (group additions, doublings, field multiplications, solver conflicts/decisions) next to wall-clock. 4. Repeated runs (≥ 10 for stochastic algorithms, ≥ 5 for timings); report mean, sd, and a bootstrap 95 % CI. 5. Each experimental family includes a negative control (e.g. random oracle / random mapping / full-round hash). 6. Results that cannot be reproduced from a saved command are not results. Keep the command in the JSON. 7. Classification vocabulary (exact strings): `new_verified`, `known_reproduced`, `conditional`, `empirical_observation`, `rejected`, `unresolved`. 8. Every substantial literature claim cites a BibTeX key that exists in `paper/references.bib` and has been verified (DOI / ePrint / standard URL). Do not invent references. 9. Synthetic instances only. Keys and nonces are generated with the experiment seed. No real-world public keys.