# Contributing to Mesh Mesh 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** (`mesh-rs/`) is Apache-2.0. **Specification text** (`SPEC.md`) is CC-BY-4.0. - The 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 (the `ServeRequest` id, the `mesh/1` receipt core, the canonical encoding) requires regenerating and committing `conformance/v1/`: ```text cargo run -p mesh-conformance --bin gen-vectors -- ../conformance/v1 ``` ## Two invariants are correctness, not style A PR that weakens either will be declined: 1. **Authorisation happens outside the model.** The JCP grant check runs in the steward, before any inference. A prompt can never grant itself budget or capability. 2. **Honesty is enforced at seal time.** A receipt may not claim a measurement it does not have: `HwShunt` requires a measured figure, `Estimator` forbids one. A deployment without a hardware meter produces honest `Estimator` receipts. ## Scope Mesh is the serving + routing fabric. It rides on [JCP](../jcp/) for authorisation and JCR-1 for receipts, dispatches to runtimes such as [JouleClaw](../jouleclaw/), and routes across compute described by [EOC](../eoc/). Proposals that re-implement a grant model, a receipt envelope, or an energy meter that the family already publishes will be redirected to compose the existing primitive instead.