SemVer-Trust

SemVer-Trust — Architecture Decision Records

One file per decision. Identifiers (ADR-NNN) are stable and are how decisions are referenced from the specification’s design record and elsewhere.

ADR Title Status
ADR-001 Encode trust in SemVer pre-release identifiers, not build metadata Superseded by ADR-034 (2026-07-13)
ADR-002 Trust levels count independent accountable humans Accepted (draft v0.1)
ADR-003 Scalar level in the tag; full provenance vector in the attestation Accepted (draft v0.1)
ADR-004 Derivation proofs are the only exception to weakest-link flooring Superseded by ADR-033 (2026-07-13)
ADR-005 Bump policy: semantic floor + evidence ceiling, two strategies Accepted (draft v0.1)
ADR-006 Path-scoped trust with transitive propagation is first-class Accepted (draft v0.1)
ADR-007 Configuration is the root of trust; meta-path violations hard-fail Superseded by ADR-028 (2026-07-12)
ADR-008 Unverifiable ≠ T0: verification failures abort Accepted (draft v0.1)
ADR-009 Promotion: same SHA, new attestation; cascades; supersession over mutation Accepted (draft v0.1)
ADR-010 Trust channel generalizes (and should not mix with) rc Accepted (draft v0.1)
ADR-011 Language-agnostic core; ecosystem plugins; lossy registry projections Accepted (draft v0.1; registry-projection clause revised by ADR-034)
ADR-012 External dependencies out of scope for v0.1 Accepted (draft v0.1)
ADR-013 Naming and repository topology Accepted (2026-07-04)
ADR-014 Licensing and control strategy Accepted (2026-07-04)
ADR-015 Derivation inputs pinning via language-native mechanisms Superseded by ADR-033 (2026-07-13)
ADR-016 Development environments outcome-based convention Accepted (2026-07-04)
ADR-017 Roadmap reorders around demand side artifacts and keystone instrumentation Accepted (2026-07-04)
ADR-018 Verification interfaces accept injectable trust roots and clock from day one Accepted (2026-07-04)
ADR-019 Trust levels order accountability not risk Accepted (2026-07-04)
ADR-020 Incorporate go-semver as reviewed re-commits Accepted (2026-07-06)
ADR-021 Implementations consume conformance artifacts as vendored digest-pinned copies Accepted (2026-07-06)
ADR-022 Attestation signatures are SSHSIG over the DSSE PAE with purpose-binding namespaces Accepted (2026-07-11)
ADR-023 Merge commits are created locally, signed and trailered, never by web-flow Accepted (2026-07-11)
ADR-024 Adoption boundary: pre-scheme history is exempt, disclosed, and policy-pinned Superseded by ADR-026 (2026-07-12)
ADR-025 Self-review exclusion prevents double-counting, not first-counting Accepted (2026-07-12)
ADR-026 Adoption boundary reaffirmed: the motivating lost key was the GitHub web-flow signer Superseded by ADR-027 (2026-07-12)
ADR-027 Release intervals are explicit and every recurring release chains to the accepted predecessor Accepted (2026-07-12)
ADR-028 Bootstrap trust anchors and the previously accepted policy govern policy transitions Accepted (2026-07-12)
ADR-029 Version ancestry is authenticated independently from release intervals Accepted (2026-07-12)
ADR-030 Predicate v0.1 is historical and successor predicates carry explicit profile identity Accepted (2026-07-12)
ADR-031 Qualified review requires final-revision approval and canonical actors Accepted (2026-07-12)
ADR-032 Threshold is a hard clean-channel accountability gate Accepted (2026-07-13)
ADR-033 Executable derivation proofs are out of the portable baseline Accepted (2026-07-13)
ADR-034 Ecosystem publishing profiles constrain resolver-routing claims Accepted (2026-07-13)
ADR-035 Source evidence profiles consume SLSA Source with explicit verification mode Accepted (2026-07-13)
ADR-036 Version-state digests use a reproducible canonical-JSON profile Proposed (2026-07-16)
ADR-037 The bootstrap-family capability table bounds which command may write which path class Proposed (2026-07-21)
ADR-038 The bootstrap family generates and validates trust material; the human enrolls, commits, and signs Proposed (2026-07-21)
ADR-039 The bootstrap-family writer contract: atomic writes, dry-run purity, and a repo-relative path fence Proposed (2026-07-21)
ADR-040 The bootstrap family enforces two-key distinctness as a tool check without widening ADR-022 Proposed (2026-07-21)
ADR-041 No generator offers an adoption-boundary affordance; the boundary stays descriptor-pinned and hand-edited Proposed (2026-07-21)
ADR-042 Environment tooling uses the git binary; verification stays pure go-git Proposed (2026-07-21)
ADR-043 Attestation evidence is fetched by a non-force refspec; a push refspec is never written Proposed (2026-07-21)

Adding an ADR

  1. Copy the field structure of an existing ADR (Status / Date / Decision / Rationale / Rejected / Revisit trigger, plus Supersedes where applicable).
  2. Filename is derived from the title: NNNN-<slug>.md, where the slug is the title lowercased with every run of non-alphanumeric characters replaced by a single hyphen, trimmed (e.g. “Unverifiable ≠ T0: verification failures abort” → unverifiable-t0-verification-failures-abort). Filename↔title alignment is checkable and checked.
  3. Decisions change only by superseding: never edit an accepted ADR’s Decision/Rationale/Rejected content. Set the superseded ADR’s Status to Superseded by ADR-NNN — that status line is the only permitted edit.
  4. Add a row to this index. Mirror material spec changes with a spec version bump (see ../design-record.md §9 and the repository CLAUDE.md).