1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
// SPDX-License-Identifier: MIT
// Copyright (c) 2026 Moderately AI Inc.
//! The release-contract support tier for a shipped dialect preset or optional
//! product surface, and the named source of truth that backs each stable claim.
//!
//! This is a distinct axis from the per-feature [`Maturity`](super::Maturity).
//! `Maturity` answers "is this one `FeatureSet` knob's API stable?"; every knob is
//! `Stable` because the knob *vocabulary* is frozen. [`SupportTier`] answers the
//! separate, coarser question the stable release actually turns on: "how strong is
//! the parity evidence for this whole preset (or product surface), and may we
//! advertise it as production-ready?" A preset can be built entirely from `Stable`
//! knobs yet only be `Experimental` because no engine oracle has ever checked it.
//!
//! The value types live here (a pure, reusable metadata axis beside `Maturity`);
//! the per-preset and per-surface *assignment* — which references `BuiltinDialect`
//! and the shipped product features — lives in the `squonk` crate, which owns
//! that identity. The single invariant this module encodes is
//! [`SupportEvidence::is_authoritative`]: a [`SupportTier::Stable`] claim must cite
//! an authoritative source, enforced by the release-tier gate in the conformance
//! crate.
/// How strong the parity evidence is for a shipped dialect preset or product
/// surface, and therefore what the stable release may promise about it.
///
/// Ordered weakest-to-strongest so `<`/`>=` compare promise levels.
/// The named source of truth backing a preset's or surface's parity claim.
///
/// Only the [authoritative](Self::is_authoritative) variants may back a
/// [`SupportTier::Stable`] claim. The others document genuinely weaker evidence and
/// cap a preset at [`Preview`](SupportTier::Preview) or
/// [`Experimental`](SupportTier::Experimental) — they exist so a non-stable tier
/// still carries an honest, machine-readable reason rather than an empty gap.