Contribute

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.

How a change lands
1

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.

2

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.

3

Prove

Show at least one implementation reading or writing the change, and the suite passing — or newly failing on exactly the case you intended.

4

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.

Run the arbiter first

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
Where help is genuinely wanted

Not a wishlist — these are the places the standard is thin, named honestly:

  • A second browser. One implementation is an implementation; two is a standard. The suite exists precisely so a second one can prove itself without asking us.
  • A second relay. The presence wire is public and the reference relay is small. Worlds naming their own relay is what stops presence becoming a centre.
  • Identity beyond one issuer. Passport v0.1 is deliberately keys-only and federated, but Pixygon is currently the only issuer. Another one would prove the seam.
  • Worlds. Portals are the links that make this a web. A world nobody links to is a page nobody links to.
Licences

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.