Skip to content

Contributing

Terng Dechanon edited this page Jul 23, 2026 · 1 revision

Contributing

This is an early open standard. Issues and conformant implementations in any language are welcome.

📖 Full guide: CONTRIBUTING.md

The rule that governs everything else

Implementations that strip the safety invariants — separation of powers, honest-failure, human-in-the-loop — must be renamed and must not imply endorsement (see NOTICE; Apache-2.0 §6). Those three are what the standard is; a version without them is a different thing wearing the name.

Changing a specification

Spec changes are governed by CONFORMANCE §7.

Change Version impact
Editorial / clarification none
Add a SHOULD or MAY, or add automated coverage MINOR
Add a new MUST, or promote SHOULD → MUST MAJOR

Requirement IDs must not change meaning within a major version, and retired IDs are never reused. Cite the IDs you are touching in the PR.

Before you open a PR

cd reference/python
python conformance_test.py   # must print 18/18 (or the new total)
python -m pytest -q
python demo.py

CI additionally checks: all nine OS × Python combinations, JSON Schema validity, and filename hygiene (no extensionless or tree-glyph filenames).

High-value contributions right now

  • Automate GOP-3.2 (routing by capability fit) and GOP-3.5 (human-visible close) — the two requirements currently listed as not-yet-automated.
  • A conformant implementation in another language — TypeScript, Go, or Rust, with the 18 checks ported.
  • Attestation examples — a worked, public conformance claim others can copy.
  • Adversarial spec review — find a way to satisfy every stated requirement while still building something unaccountable. Report via SECURITY.md.

License of contributions

By contributing you agree your work is licensed under Apache-2.0, the project licence.

Conduct

Rigorous technical challenge — including to the maintainer's decisions — is encouraged and is not a conduct issue. Attacking a person rather than an argument is. See CODE_OF_CONDUCT.md.

Clone this wiki locally