Status: Accepted (2026-07-12)
Date: 2026-07-12
Supersedes: ADR-007
Decision: the policy at TO is a candidate policy and never authorizes
its own transition. The active policy and verification roots for a release
interval come from one of two verifier-selected authorities:
TO MUST match the bootstrap policy
exactly and governs the complete first interval.TO is only a
candidate. If the release succeeds, the attestation binds that candidate as
the policy activated for the next interval. Intermediate policy versions
committed within one interval never activate mid-interval.Every verification MUST receive an explicit verifier-supplied verification instant under the chain’s bound clock profile, which defines the instant’s source and validity/freshness semantics; the release attestation MUST record that instant. A candidate timestamp is evidence, not clock authority. Implicit system time and ambient trust-root discovery are not authorities.
Policy activation is component-chain state. In a monorepo, one component’s accepted release does not activate its candidate for another component; shared old roots remain necessary until every relevant component chain transitions.
Every commit is verified against active identities and rules. Candidate-only keys cannot sign or review their own transition. The active required meta level governs the interval, including every commit touching either the active or candidate policy path, either policy’s declared meta paths, the authority’s mandatory workflow paths, or repository-local trust material referenced by either policy. The candidate policy MUST:
Any unknown active signer, trust-material digest mismatch, under-level meta-path commit, uncovered mandatory meta path, lowered meta level, moved boundary, predecessor mismatch, or bootstrap mismatch aborts verification. A valid key or workflow rotation is a two-stage operation: old roots authorize the transition; new roots become usable only after the release attestation accepting the candidate policy.
Release attestations for this model MUST distinguish the policy and trust
material that evaluated the current interval from the candidate policy and
trust material activated for the next interval, and MUST bind the bootstrap
descriptor or predecessor attestation that selected the active state, including
its mandatory workflow paths and verification/clock profiles, plus the
verifier-supplied verification instant. Predicate v0.1 cannot carry these facts
and remains unchanged; v0.4 release emission waits for the successor predicate.
A v0.1 attestation cannot select active policy for recurrence; migration uses an
authenticated bootstrap descriptor and MAY use the last trusted v0.1 TO as
the included adoption boundary (ADR-027).
Rationale: loading policy from TO and immediately using it to validate the
history leading to TO lets a candidate add an attacker key, lower meta
requirements, remove protected paths, move the boundary, or alter scopes and
then judge those changes under the weakened rules. A previous-policy model is
the standard safe transition shape: old authority approves new authority. A
release-boundary activation point is simpler and more reproducible than
mid-interval activation, and it creates an auditable key-rotation ceremony.
Out-of-band bootstrap is unavoidable at genesis; making its complete inputs
explicit is more honest than treating repository-controlled configuration as
its own root of trust.
Rejected: the TO policy governs its own interval (circular); candidate-only
keys may authorize the transition (self-enrollment); sequential policy
activation at each policy commit within one release (order-dependent,
multi-policy attestations and harder replay); ambient trust-root or path
overrides or implicit system time (non-reproducible and bypasses pinned
authority); forbidding all policy changes (prevents key rotation and legitimate
evolution); allowing a candidate to lower its own meta level or move the
adoption boundary in-band (removes its own guardrail).
Revisit trigger: an accepted policy-transition predicate/profile that can
represent safe mid-interval activation without ambiguity; or operational
evidence that release-boundary activation makes ordinary key rotation
unworkable.