{ id = "adr-003", title = "ontoref-dns semver tracks trait+types surface, not upstream provider APIs", status = "accepted", date = "2026-05-11", context = " Cloudflare and CoreDNS release their own API versions independently. Tying ontoref-dns semver to upstream API versions would create unnecessary churn for consumers. ", decision = " ontoref-dns minor/patch bumps only when the DnsProvider trait or shared types change. Provider-internal API migrations (e.g. Cloudflare v4 → v5) are patch releases on ontoref-dns and transparent to consumers. Config types (CoreDnsConfig, CloudflareConfig) carry #[non_exhaustive] from day one so that new config fields are additive minor changes. Providers that cannot satisfy an invariant return DnsError::Unsupported, never silent behavioural differences. ", consequences = [ "Consumers depend on ontoref-dns version only for trait changes.", "Provider API migrations require no consumer changes.", "Conformance suite enforces Unsupported is used correctly.", ], }