The specs and the governance rules live in one public repository: Pixygon/thread-spec; the conformance suite is a separate, installable tool (thread-conformance). Anyone may propose a change. The steward's job is procedural — triage, keep the specs and the suite in sync, cut versions — not deciding who is allowed to build.
Propose
Open an issue describing the problem and the smallest change that solves it. Optional additions are preferred over required ones — every required field is a tax on every implementer, forever.
Draft
A pull request that updates the affected spec and adds or amends a conformance clause. This is the load-bearing rule: a spec change without a matching conformance change is incomplete. If it cannot be checked, it is not in the standard.
Prove
Show at least one implementation reading or writing the change, and the suite passing — or newly failing on exactly the case you intended.
Adopt
Merging bumps the minor version. Anything that would break an existing conformant world is batched toward a major version instead; within a major version, changes are additive and nothing is pulled out from under you.
The full rules, including how clause severity works: Governance & versioning.
Before proposing anything, run the suite — it settles most questions faster than a discussion. It installs on its own, either as a prebuilt binary or from crates.io:
# no Rust needed — prebuilt binaries, Linux/macOS/Windows curl -fsSL https://raw.githubusercontent.com/Pixygon/thread-engine/main/install.sh | sh # …or, with a Rust toolchain: cargo install thread-conformance thread-conformance worlds/ # a local corpus thread-conformance --live yourdomain.com # a live host thread-conformance --relay wss://your-relay thread-conformance --rendezvous wss://your-rendezvous
Not a wishlist — these are the places the standard is thin, named honestly:
Specs are CC-BY-4.0; the conformance suite is MIT/Apache-2.0. That is deliberate: the standard can be forked away from its steward, which is the only real guarantee that it stays open.