Six workflows, nine jobs on every push (lockfiles, tests-in-ci, workflow-hygiene, wai-section-refs, spec-refs, and no-vanity-metrics' four), each paying for a container and a checkout to run a script that reads the tree for a few seconds. On 2026-10-14 they were about half of the 119 jobs waiting for the linux-arm64 runner, queued behind the long standards-build legs; spec-refs held a place on the one x86_64 runner. repo-checks.yml runs them all in one job on linux-arm64, one step a check, in the same order with the same self-tests. Every step runs even after an earlier one fails (`!cancelled()`), so a red job names each failing check, and fails if any did. The public-name check still runs only on the push to main, where its pattern list is given. The two path filters (public text, WAI section references) are dropped: the checks take seconds, and a filter that is wrong skips a check silently. check-workflow-concurrency-selftest.sh takes the new file as its fixture (it removed the concurrency block from workflow-hygiene.yml, now gone); CHARTER.md names the new workflow. Locally: the concurrency self-test and check (24 workflows), the path-gate self-test, tests-in-ci, spec refs and vanity metrics pass, and the workflow parses (19 steps). Co-Authored-By: Claude Opus 5.5 <[email protected]>
3.4 KiB
Charter — Transaction Science Open Standards
This charter describes the stewardship pattern that applies to every standard published in this repository. It is short on purpose. The protocols themselves carry the substance; this document captures the operating principles around them.
The pattern
Each standard in this repository is published under an open licence — Apache-2.0 for code, CC-BY-4.0 for specification text — and is owned by no one. Transaction Science writes the reference implementation, runs the optional hosted services, and stewards the conformance vectors. The wire format and the right to fork are public.
This is the difference between the protocol and the offer:
- The protocol is what anyone can implement. It is free, in both senses of the word.
- The offer is what Transaction Science sells: managed deployments of the reference implementation, driver development against the public traits, persistence backends, custody integrations, certification engagement, and the operational scaffolding around real-world deployments.
The protocol does not tax money movement, message movement, or compute movement. The optional services are the revenue.
Versioning
Each standard versions independently. Tags follow openpay-v0.1.0, smart-byte-v1.0.0-draft.1, eoc-v0.2.0, etc. — the prefix is the subdirectory name. A change in one standard does not bump the others.
Conformance
A standard is conformant if it round-trips the published wire vectors. The vectors live under each subdirectory and are signed at release time. Reference implementations are conformant by construction; third-party implementations certify themselves by running the public test suites.
What this charter does not say
- It does not assign exclusive authority. Anyone may fork, and a fork is no less legitimate for being a fork.
- It does not promise a release cadence. Standards advance when the work is done.
- It does not bind future standards to current ones. A standard added later is bound only by its own conformance vectors and the open-licence requirement.
Adding a standard
A new standard joins this repository by:
- Landing in a new top-level subdirectory.
- Carrying its own README, LICENSE, and (where applicable) CONTRIBUTING.md.
- Being added to the table in the root
README.md. - Inheriting the operating principles in this charter.
Messaging — no vanity metrics
Codebase-state numbers (N crates, N tests passing, N LOC, N+ adapters) drift on every code change and create permanent sync debt between the website, the GitHub READMEs, and any downstream messaging. Marketing surfaces in this repository describe the shape of what's there, not the size. Spec versions, algorithm names, RFC numbers, license labels, and other identity-class facts are preserved — they are part of the contract.
A scanner enforces this: scripts/check-no-vanity-metrics.sh, run on every PR and main push by the repository checks CI workflow. Contributors can wire it into a local pre-commit hook via scripts/install-hooks.sh. The scanner targets marketing / spec / governance Markdown; historical progress notes, changelogs, and external corpora are exempt by design. Lines that legitimately need a number (a reference to an external spec, codec, or RFC) opt out with <!-- allow-vanity: <reason> --> at end of line.