# Contributing to Map Map is one of the [Transaction Science open standards](../README.md). The wire format and the right to fork are public; Transaction Science is the steward, not the proprietor. ## Ground rules - **Reference code** (`map-rs/`) is Apache-2.0. **Specification text** (`SPEC.md`, `spec/`, `vocab/`) is CC-BY-4.0. - Rust toolchain is pinned by the repo `rust-toolchain.toml`. `cargo test --workspace` MUST pass and `cargo clippy --workspace --all-targets` MUST be warning-free. - Any change to a wire structure requires regenerating and committing `conformance/v1/` (`cargo run -p map-conformance --bin gen-vectors`) and a note in `CHANGELOG.md`. ## The smallest valuable contributions - **Conformance:** adversarial negatives (a directory whose root disagrees with its entries, a revision-chain fork, a viewport whose range planner over-fetches), and independent implementations certifying against `conformance/v1/`. - **Substrate port:** real `map-index` (S2 + 4D), `map-tiles` (MVT / raster / 3D Tiles), `map-orbital` (SGP4), `map-route` — see [`ROADMAP.md`](ROADMAP.md). - **Measured energy:** backends feeding the receipt's `HwShunt` path (RAPL/SMC) so a resolver reports measured joules instead of the estimator. - **Codecs:** new tile payload codecs registered behind the `Tile` cargo, with conformance vectors per codec. Issues and PRs scope by the `map` subdirectory tag.