Provenance-scoped trust levels for semantic versioning — verifiable release trust for the age of AI-authored code.
When agents author a growing share of software, a version number's implicit claim — safe drop-in replacement — needs evidence behind it. SemVer-Trust encodes verifiable trust levels (T0–T3, counting the independent accountable humans behind a release) in standard SemVer pre-release identifiers, so under-evidenced releases sort below the corresponding clean release and can be routed through ecosystem-specific opt-in channels:
v1.4.0-t1.1 < v1.4.0 ← low-trust releases sort below the clean
version; resolver behavior depends on the
publishing ecosystem
Signed in-toto attestations carry the full evidence — who authored, who reviewed, what was proven. SLSA answers how was this built; sigstore answers who signed this; SemVer-Trust answers what human evidence stands behind this release's claims.
SemVer-Trust specification — draft v0.10
New readers: start with §1 (principles), §3 (the trust model), and Appendix A (a worked monorepo example). The project keeps its full reasoning on the record — see the design record below for why every decision is the way it is.
| Path | Contents | License |
|---|---|---|
| spec/semver-trust.md | The normative specification | CC BY 4.0 |
| docs/design-record.md | Design rationale, QA record, and the agent handoff contract | CC BY 4.0 |
| docs/adr/ | Decision log — one file per architecture decision record | CC BY 4.0 |
| docs/analysis/ | Adversarial (steelman) analyses and standing predictions | CC BY 4.0 |
| release/ · review/ | Predicate-type definitions, resolvable at semver-trust.dev |
CC BY 4.0 |
| schemas/ | JSON Schemas for the attestation predicates | Apache 2.0 |
conformance/ |
Conformance vectors — the sync contract for implementations | Apache 2.0 |
scripts/ |
Repository consistency checks (check-drift.py) |
Apache 2.0 |
The specification is a v0.10 working draft. The official Go implementation (semver-trust-go) vendors and enforces the draft v0.10 conformance suite as of its v0.10 alignment campaign. Its legacy production release path is still not suitable for v0.10 production claims until the ported evaluators are wired into release and verify flows. Draft v0.4 added release-interval, policy-transition, and authenticated version-ancestry vectors; draft v0.5 assigns successor release/review predicate types and schemas for the compatibility-critical state bindings; draft v0.6 adds qualified-review and canonical-actor conformance; draft v0.7 makes threshold a hard clean-channel accountability gate and separates accountability from blast/risk policy; draft v0.8 removes executable derivation proofs from the portable baseline; draft v0.9 narrows resolver routing claims and defines ecosystem publishing profiles, now covered by adversarial publishing-profile vectors; draft v0.10 defines SLSA Source-style source-evidence profiles. Design discussion happens in issues — see CONTRIBUTING before opening a pull request.
This repository is dual-licensed by content type: specification text and documentation are CC BY 4.0; schemas, conformance vectors, and scripts are Apache 2.0, with a license copy inside each Apache-licensed directory so vendored copies stay self-describing. Unless a file's SPDX header states otherwise, prose is CC BY 4.0 and machine-consumable artifacts are Apache 2.0.
Use of the SemVer-Trust name and of conformance claims is governed by the trademark policy: implementations that pass the conformance suite may say so — verifiable claims are the point.