27 lines
1.1 KiB
Text
27 lines
1.1 KiB
Text
{
|
|
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.",
|
|
],
|
|
}
|