Core System Architecture Part 127 — Anonymous Network Product Qualification, Feature Maturity Levels, Capability Readiness, General Availability Criteria & Privacy-Preserving Product Readiness Governance Architecture

SIAR — Secure, Local-First, Multi-Transport Communication Platform

Series: Core System Architecture
Part: 127
Status: Architecture specification
Primary language: Rust
Builds on: Core System Architecture Parts 93, 99, 108–126

Primary purpose: define SIAR's product-readiness governance architecture for feature maturity, capability qualification, alpha/beta/preview/GA transitions, readiness dimensions, operational/support/security/privacy readiness, dependency readiness, launch criteria, rollout restrictions, retirement, evidence, and privacy-preserving product qualification.


1. Purpose

A feature can be technically implemented and still be unready for broad use.

Production readiness requires answers to questions such as:

Is the capability functionally complete?
Is it secure enough for intended scope?
Is privacy behavior understood and verified?
Can operations support it?
Can it recover from failure?
Can it be upgraded and rolled back?
Are dependencies mature enough?
Can users understand limitations honestly?

The governing principle is:

SIAR product readiness should be based on explicit capability maturity, multidimensional evidence, controlled scope, operational supportability, and reversible rollout—not on marketing pressure, adoption targets, or hidden user-behavior profiling.


2. Architectural Position

                  CAPABILITY IDEA
                       │
                       ▼
                  EXPERIMENTAL
                       │
                       ▼
                     ALPHA
                       │
                       ▼
                     BETA
                       │
                       ▼
                    PREVIEW
                       │
                       ▼
                  GA CANDIDATE
                       │
                       ▼
                       GA
                       │
                       ▼
              MATURE / DEPRECATED

Transitions are governed by evidence.


3. Core Separation

Keep distinct:

implementation complete
feature maturity
technical qualification
release qualification
product readiness
general availability
adoption
business success

4. Non-Goals

Part 127 does not create:

user engagement scoring
growth-driven launch bypass
feature maturity based on usage volume
developer performance scoring
marketing-led technical certification

5. Capability Identity

#![allow(unused)]
fn main() {
pub struct CapabilityId(pub [u8; 16]);
}

Stable, opaque, never reused.


6. Capability Record

#![allow(unused)]
fn main() {
pub struct Capability {
    pub id: CapabilityId,
    pub name: String,
    pub scope: CapabilityScope,
    pub maturity: CapabilityMaturity,
    pub owner: CapabilityOwnerRef,
}
}

7. Capability Scope

#![allow(unused)]
fn main() {
pub enum CapabilityScope {
    Platform,
    Service(ServiceId),
    Protocol(ProtocolId),
    ClientPlatform(PlatformClass),
    EnterpriseOnly,
    ExperimentalLab,
}
}

8. No Individual User Scope

Hard rule.


9. Capability Maturity

#![allow(unused)]
fn main() {
pub enum CapabilityMaturity {
    Experimental,
    Alpha,
    Beta,
    Preview,
    GaCandidate,
    GeneralAvailability,
    Mature,
    Deprecated,
    Retired,
}
}

10. No Direct Experimental→GA

Hard rule.


11. Maturity Meaning

Experimental

unstable
not compatibility guaranteed
not production-supported

Alpha

core concept works
major gaps expected
limited scope

Beta

feature mostly complete
known limitations
broader qualification

Preview

near-production
operational/support readiness exercised
compatibility direction stable

GA Candidate

all mandatory readiness gates completed
awaiting launch decision

General Availability

supported
documented
operationally owned
qualified for intended production scope

12. Hard Rule

Maturity state describes actual support/assurance level, not marketing terminology.


13. Readiness Dimensions

#![allow(unused)]
fn main() {
pub struct CapabilityReadiness {
    pub functional: ReadinessState,
    pub security: ReadinessState,
    pub privacy: ReadinessState,
    pub reliability: ReadinessState,
    pub performance: ReadinessState,
    pub operability: ReadinessState,
    pub supportability: ReadinessState,
    pub compatibility: ReadinessState,
    pub recovery: ReadinessState,
    pub documentation: ReadinessState,
}
}

14. Readiness State

#![allow(unused)]
fn main() {
pub enum ReadinessState {
    Unknown,
    NotReady,
    Partial,
    ReadyWithConditions,
    Ready,
}
}

15. No One Readiness Score

Hard rule.


16. Why

A feature can be:

functionally ready
but privacy not ready

or:

secure
but operationally unsupported

One score hides this.


17. Readiness Evidence

#![allow(unused)]
fn main() {
pub struct ReadinessEvidence {
    pub capability: CapabilityId,
    pub dimension: ReadinessDimension,
    pub evidence: Vec<EvidenceRef>,
    pub state: ReadinessState,
}
}

18. Evidence Required

Hard rule.


19. Readiness Dimension

#![allow(unused)]
fn main() {
pub enum ReadinessDimension {
    Functional,
    Security,
    Privacy,
    Reliability,
    Performance,
    Operability,
    Supportability,
    Compatibility,
    Recovery,
    Documentation,
}
}

20. Qualification Profile

Different capability classes require different evidence.

#![allow(unused)]
fn main() {
pub struct CapabilityQualificationProfile {
    pub capability: CapabilityId,
    pub required_dimensions: BTreeSet<ReadinessDimension>,
    pub assurance_class: AssuranceClass,
}
}

21. Hard rule.


22. Functional Readiness

Requires:

approved requirements
acceptance criteria
implementation complete
verification evidence
known limitations documented

23. Hard rule.


24. Security Readiness

Requires:

threat model
authorization review
fuzz/static testing where applicable
security controls verified
no unresolved hard security defects

25. Hard rule.


26. Privacy Readiness

Requires:

data-flow mapping
retention/deletion policy
metadata analysis
consent/control behavior
privacy tests

27. No Hidden Telemetry

Hard rule.


28. Reliability Readiness

Requires:

SLO definition
failure-mode analysis
recovery behavior
capacity headroom
fault-domain validation

29. Hard rule.


30. Performance Readiness

Requires:

latency budget
throughput target
resource budget
representative benchmark

31. Hard rule.


32. Operability Readiness

Requires:

monitoring
alerts
runbook
on-call ownership
safe configuration
diagnostics

33. Hard rule.


34. Supportability Readiness

Requires:

known-issue documentation
support escalation path
user-facing limitations
diagnostic support

35. Hard rule.


36. Compatibility Readiness

Requires:

version policy
migration behavior
upgrade compatibility
rollback behavior

37. Hard rule.


38. Recovery Readiness

Requires:

backup/restore or local recovery where applicable
rollback
failover
state reconciliation

39. Hard rule.


40. Documentation Readiness

Requires:

operator docs
user docs
API docs
limitations
migration guidance

41. Hard rule.


42. Capability Qualification

#![allow(unused)]
fn main() {
pub struct CapabilityQualification {
    pub capability: CapabilityId,
    pub maturity_target: CapabilityMaturity,
    pub readiness: CapabilityReadiness,
    pub evidence_digest: Digest,
}
}

43. Qualification State

#![allow(unused)]
fn main() {
pub enum CapabilityQualificationState {
    Incomplete,
    Reviewable,
    QualifiedWithConditions,
    Qualified,
    Rejected,
}
}

44. Qualified Requires Mandatory Dimensions Ready

Hard rule.


45. Conditional Qualification

Only for non-hard gaps.


46. Hard rule.


47. Maturity Transition

#![allow(unused)]
fn main() {
pub struct MaturityTransitionRequest {
    pub capability: CapabilityId,
    pub from: CapabilityMaturity,
    pub to: CapabilityMaturity,
    pub qualification: CapabilityQualificationId,
}
}

48. Transition Validation

#![allow(unused)]
fn main() {
pub trait CapabilityMaturityPolicy {
    fn allowed(
        &self,
        from: CapabilityMaturity,
        to: CapabilityMaturity,
    ) -> bool;
}
}

49. Hard rule.


50. Alpha Entry Criteria

Typical:

core path implemented
critical safety/security design complete
basic test evidence
scope restricted

51. Alpha Constraints

May permit:

API changes
limited compatibility
limited support

52. Must be labeled clearly.


53. Hard rule.


54. Beta Entry Criteria

Typical:

functional completeness high
critical security/privacy gates passed
integration/E2E tests
migration direction understood

55. Beta Constraints

Known limitations remain explicit.


56. Hard rule.


57. Preview Entry Criteria

Typical:

support path
on-call readiness
recovery exercises
representative performance evidence

58. Hard rule.


59. GA Candidate Criteria

Requires all mandatory launch dimensions.


60. Hard rule.


61. GA Criteria

GA should require:

requirements satisfied
release qualified
security/privacy ready
SLO defined
capacity ready
operations ready
support ready
docs complete
upgrade/rollback tested
recovery verified

62. Hard rule.


63. GA Decision

#![allow(unused)]
fn main() {
pub struct GeneralAvailabilityDecision {
    pub capability: CapabilityId,
    pub qualification: CapabilityQualificationId,
    pub release: ReleaseId,
    pub decision: GaDecision,
}
}

64. GA Decision

#![allow(unused)]
fn main() {
pub enum GaDecision {
    Approve,
    ApproveWithConditions,
    Reject,
}
}

65. No Marketing-Only Approval

Hard rule.


66. GA Authority

Scoped.

#![allow(unused)]
fn main() {
pub enum ProductReadinessAuthority {
    ProductOwner,
    ServiceOwner,
    SecurityAssurance,
    PrivacyAssurance,
    ReliabilityAssurance,
    ReleaseEngineering,
}
}

67. Critical Capabilities Require Multiple Authorities

Hard rule.


68. Separation Of Duties

Product owner cannot alone override security/privacy/reliability block.


69. Hard rule.


70. Capability Dependency

#![allow(unused)]
fn main() {
pub struct CapabilityDependency {
    pub capability: CapabilityId,
    pub depends_on: CapabilityId,
    pub minimum_maturity: CapabilityMaturity,
}
}

71. Hard rule.


72. Dependency Readiness

A capability cannot become GA if required dependency is below permitted maturity.


73. Hard rule.


74. External Dependency Readiness

Track:

provider stability
API compatibility
SLA
security posture
exit strategy

75. Hard rule.


76. Protocol Dependency

Protocol support maturity independent from UI feature maturity.


77. Hard rule.


78. Feature Flag

Maturity != feature flag.


79. Hard rule.


80. Feature Flag Purpose

Controls exposure.


81. Maturity Purpose

Describes qualification/support state.


82. Hard rule.


83. Exposure Scope

#![allow(unused)]
fn main() {
pub enum CapabilityExposure {
    Disabled,
    InternalOnly,
    Lab,
    OptIn,
    ManagedPilot,
    BroadPreview,
    DefaultOn,
}
}

84. Exposure Must Not Exceed Maturity Policy

Hard rule.


85. Example

Experimental cannot be DefaultOn.


86. Hard rule.


87. Rollout Policy

#![allow(unused)]
fn main() {
pub struct CapabilityRolloutPolicy {
    pub capability: CapabilityId,
    pub maturity: CapabilityMaturity,
    pub exposure: CapabilityExposure,
    pub rollback: RollbackStrategy,
}
}

88. Hard rule.


89. Rollback Strategy

#![allow(unused)]
fn main() {
pub enum RollbackStrategy {
    DisableFlag,
    RollbackRelease,
    DualReadFallback,
    MigrationRollback,
    ForwardFixOnly,
}
}

90. ForwardFixOnly

Requires explicit risk review.


91. Hard rule.


92. Migration Readiness

Data/schema-changing feature requires:

forward migration
compatibility window
rollback/restore plan

93. Hard rule.


94. Irreversible Migration

Requires stronger qualification.


95. Hard rule.


96. Capability Data Footprint

#![allow(unused)]
fn main() {
pub struct CapabilityDataFootprint {
    pub stores: BTreeSet<DataStoreId>,
    pub retention_policy: RetentionPolicyRef,
    pub deletion_behavior: DeletionBehaviorRef,
}
}

97. Hard rule.


98. Privacy Expansion Review

Any capability that adds:

new data class
new identifier
new telemetry
new cross-service flow

requires privacy review.


99. Hard rule.


100. Network/Anonymity Readiness

Anonymous-network capability must specify:

routing mode
fallback behavior
metadata guarantees
failure behavior

101. No Silent Privacy Downgrade

Hard rule.


102. Local-First Readiness

Capabilities must define:

offline behavior
sync behavior
conflict behavior
recovery behavior

where applicable.


103. Hard rule.


104. Multi-Device Readiness

If applicable:

device fanout
revocation
recovery
state convergence

105. Hard rule.


106. Mobile Readiness

Android:

background lifecycle
battery impact
permissions
offline behavior
push wake

107. Hard rule.


108. Desktop Readiness

Desktop:

daemon lifecycle
upgrade
resource budget
crash recovery

109. Hard rule.


110. Enterprise Readiness

If offered:

tenant isolation
admin policy
audit
provisioning
support

111. Hard rule.


112. Federation Readiness

If federated:

peer compatibility
trust boundaries
failure isolation
version negotiation

113. Hard rule.


114. Accessibility Readiness

User-facing capability must meet relevant accessibility baseline.


115. Hard rule.


116. Localization Readiness

If capability exposes translated UI:

string extraction
layout tolerance
fallback language

117. Hard rule.


118. Documentation Maturity

#![allow(unused)]
fn main() {
pub enum DocumentationMaturity {
    Draft,
    Internal,
    PreviewReady,
    GaReady,
}
}

119. Hard rule.


120. Support Readiness

#![allow(unused)]
fn main() {
pub struct SupportReadiness {
    pub escalation_path: bool,
    pub diagnostics_available: bool,
    pub known_issues_documented: bool,
    pub runbook_available: bool,
}
}

121. Hard rule.


122. Support Boundary

Support tooling cannot bypass privacy/security to make debugging easier.


123. Hard rule.


124. Operational Readiness Review

ORR-style review.

#![allow(unused)]
fn main() {
pub struct OperationalReadinessReview {
    pub capability: CapabilityId,
    pub monitoring: ReadinessState,
    pub alerts: ReadinessState,
    pub runbook: ReadinessState,
    pub recovery: ReadinessState,
    pub oncall: ReadinessState,
}
}

125. Hard rule.


126. Security Readiness Review

#![allow(unused)]
fn main() {
pub struct SecurityReadinessReview {
    pub threat_model: EvidenceRef,
    pub critical_findings_open: usize,
    pub fuzzing: ReadinessState,
    pub authorization_tests: ReadinessState,
}
}

127. Hard rule.


128. Privacy Readiness Review

#![allow(unused)]
fn main() {
pub struct PrivacyReadinessReview {
    pub data_flow_review: ReadinessState,
    pub retention_review: ReadinessState,
    pub metadata_review: ReadinessState,
    pub deletion_tests: ReadinessState,
}
}

129. Hard rule.


130. Reliability Readiness Review

#![allow(unused)]
fn main() {
pub struct ReliabilityReadinessReview {
    pub slo_defined: bool,
    pub error_budget_policy: bool,
    pub failure_tests: ReadinessState,
    pub recovery_drill: ReadinessState,
}
}

131. Hard rule.


132. Launch Checklist

Generated from capability class.


133. No Static Universal Checklist

Hard rule.


134. Checklist Items

#![allow(unused)]
fn main() {
pub struct LaunchCriterion {
    pub criterion_id: LaunchCriterionId,
    pub dimension: ReadinessDimension,
    pub mandatory: bool,
    pub evidence_required: Vec<EvidenceKind>,
}
}

135. Hard rule.


136. Launch Criterion State

#![allow(unused)]
fn main() {
pub enum LaunchCriterionState {
    Pending,
    Passed,
    Failed,
    Waived,
    NotApplicable,
}
}

137. Hard Criteria Cannot Be Waived

Hard rule.


138. Launch Exception

For waivable criterion only.

#![allow(unused)]
fn main() {
pub struct ProductReadinessException {
    pub capability: CapabilityId,
    pub criterion: LaunchCriterionId,
    pub rationale: ExceptionRationale,
    pub expires_at: Timestamp,
    pub compensating_controls: Vec<ControlId>,
}
}

139. Hard rule.


140. Exception Expiry

Automatic.


141. Hard rule.


142. Pilot Program

Managed pilot can expose Beta/Preview capability.


143. Pilot Scope

#![allow(unused)]
fn main() {
pub struct PilotScope {
    pub capability: CapabilityId,
    pub environment: EnvironmentClass,
    pub tenant_scope: Option<TenantId>,
    pub expires_at: Timestamp,
}
}

144. No Individual User Targeting Baseline

Hard rule.


145. Pilot Evidence

Collect:

technical failures
performance
operational issues
support issues

146. Avoid hidden behavioral analytics.


147. Hard rule.


148. Product Telemetry Boundary

Readiness telemetry may include:

error rates
latency
resource use
crashes

149. Not:

user psychology
engagement addiction
social graph
private content

150. Hard rule.


151. Adoption Metrics

Adoption can inform product planning, but not technical readiness.


152. Hard rule.


153. GA Is Not "Enough Users"

Hard rule.


154. Readiness Trend

#![allow(unused)]
fn main() {
pub enum ReadinessTrend {
    Improving,
    Stable,
    Regressing,
    Unknown,
}
}

155. Based on technical evidence.


156. Hard rule.


157. Readiness Freshness

#![allow(unused)]
fn main() {
pub enum ReadinessFreshness {
    Fresh,
    DueForReview,
    Stale,
}
}

158. Stale Critical Evidence Blocks Transition

Hard rule.


159. Evidence Invalidation

Triggered by:

major code change
dependency change
threat model change
architecture change
migration change

160. Hard rule.


161. Maturity Regression

GA capability may regress.


162. Example:

critical security issue
major reliability regression
dependency instability

163. Hard rule.


164. Maturity Regression State

#![allow(unused)]
fn main() {
pub enum MaturityRegressionAction {
    RestrictExposure,
    SuspendCapability,
    Rollback,
    Deprecate,
}
}

165. Hard rule.


166. GA Suspension

Possible.


167. Hard rule.


168. Capability Suspension

#![allow(unused)]
fn main() {
pub struct CapabilitySuspension {
    pub capability: CapabilityId,
    pub reason: SuspensionReason,
    pub effective_at: Timestamp,
}
}

169. Hard rule.


170. Deprecation

Capability may move:

GA → Deprecated → Retired

171. Hard rule.


172. Deprecation Policy

#![allow(unused)]
fn main() {
pub struct CapabilityDeprecationPolicy {
    pub capability: CapabilityId,
    pub deprecated_at: Timestamp,
    pub replacement: Option<CapabilityId>,
    pub removal_not_before: Timestamp,
}
}

173. Hard rule.


174. Emergency Deprecation

Security/privacy reason may accelerate.


175. Hard rule.


176. Retirement Criteria

Requires:

no supported dependencies remain
migration path completed
data lifecycle handled
docs updated

177. Hard rule.


178. Capability Readiness Baseline

#![allow(unused)]
fn main() {
pub struct CapabilityReadinessBaseline {
    pub baseline_id: CapabilityReadinessBaselineId,
    pub capability: CapabilityId,
    pub maturity: CapabilityMaturity,
    pub qualification_digest: Digest,
}
}

179. Immutable

Hard rule.


180. Release Binding

A release references capability readiness baseline.


181. Hard rule.


182. Historical Reconstruction

"What maturity/readiness did feature X have in release Y?"

Core requirement.


183. Hard rule.


184. Product Qualification Record

#![allow(unused)]
fn main() {
pub struct ProductQualificationRecord {
    pub capability: CapabilityId,
    pub release: ReleaseId,
    pub readiness_baseline: CapabilityReadinessBaselineId,
    pub qualification_state: CapabilityQualificationState,
}
}

185. Hard rule.


186. Qualification Archive

Part 126.

Store:

readiness baseline
qualification evidence
GA decision
exceptions
maturity transitions

187. Hard rule.


188. Requirement Integration

Part 124.

Capability references requirement set.


189. Hard rule.


190. Verification Integration

Part 125.

Readiness evidence comes from qualification evidence.


191. Hard rule.


192. Architecture Governance Integration

Part 122.

Major capability changes require ADR/design review.


193. Hard rule.


194. Knowledge Graph Integration

Part 123.

Trace:

capability
→ requirements
→ ADRs
→ implementation
→ tests
→ release

195. Hard rule.


196. Risk Integration

Part 121.

Open risks visible in readiness review.


197. Critical unaccepted risk blocks GA.


198. Hard rule.


199. PIR Integration

Part 120.

Repeated incidents may cause maturity regression.


200. Hard rule.


201. Release Readiness Integration

Part 108.

Product readiness complements release readiness.


202. Hard rule.


203. SLO Integration

Part 109.

GA service should have SLO/error budget where relevant.


204. Hard rule.


205. Resilience Integration

Part 110.

GA requires supported failure-mode behavior.


206. Hard rule.


207. Capacity Integration

Part 111.

GA requires capacity forecast/headroom.


208. Hard rule.


209. Performance Integration

Part 112.

GA requires representative performance qualification.


210. Hard rule.


211. Efficiency/Sustainability Integration

Parts 113–114.

Resource requirements should be acceptable and documented.


212. Hard rule.


213. Hardware/Facility Integration

Parts 115–118.

Capability depending on physical infra must have hardware/facility readiness.


214. Hard rule.


215. Crisis/Incident Integration

Parts 119–120.

Operational incident response paths must exist before GA.


216. Hard rule.


217. Compatibility Matrix

Capability can depend on platform/client versions.

#![allow(unused)]
fn main() {
pub struct CapabilityCompatibilityMatrix {
    pub capability: CapabilityId,
    pub supported_clients: VersionRange,
    pub supported_protocols: VersionRange,
    pub supported_servers: VersionRange,
}
}

218. Hard rule.


219. Platform Matrix

Linux
Windows
Android
server

Readiness evaluated per supported platform.


220. Hard rule.


221. Partial Platform GA

Allowed only if clearly scoped.


222. Hard rule.


223. Capability Variant

#![allow(unused)]
fn main() {
pub enum CapabilityVariant {
    Desktop,
    Android,
    Server,
    Enterprise,
    AnonymousMode,
}
}

224. Each Variant Can Have Separate Readiness

Hard rule.


225. Privacy Mode Readiness

Anonymous mode cannot inherit Standard-mode readiness automatically.


226. Hard rule.


227. Offline Mode Readiness

Local-first/offline behavior independently qualified.


228. Hard rule.


229. Degraded Mode Readiness

Define behavior when dependencies unavailable.


230. Hard rule.


231. Support Contract

#![allow(unused)]
fn main() {
pub enum SupportLevel {
    Unsupported,
    BestEffort,
    PreviewSupport,
    ProductionSupport,
}
}

232. Maturity Maps To Minimum Support Level

Hard rule.


233. GA Requires ProductionSupport

Hard rule.


234. Compatibility Promise

#![allow(unused)]
fn main() {
pub enum CompatibilityPromise {
    None,
    Limited,
    Stable,
}
}

235. GA Requires Stable For Public Interfaces Where Applicable

Hard rule.


236. Migration Promise

GA requires documented upgrade path.


237. Hard rule.


238. Data Exit

Capability storing user/customer data should support export/delete/migration as appropriate.


239. Hard rule.


240. Observability Readiness

Metrics must be:

technical
bounded-cardinality
privacy-safe

241. Hard rule.


242. Alert Readiness

Alerts have:

owner
severity
runbook

243. Hard rule.


244. Diagnostic Readiness

Diagnostics must not require exposing private content.


245. Hard rule.


246. Rollback Readiness

Every GA capability defines rollback/fallback.


247. Hard rule.


248. Forward-Only Migration

If unavoidable, stronger backup/recovery qualification.


249. Hard rule.


250. Failure Budget

Preview/Beta may tolerate more defects than GA, but not hard security/privacy violations.


251. Hard rule.


252. Known Limitation Registry

#![allow(unused)]
fn main() {
pub struct CapabilityKnownLimitation {
    pub capability: CapabilityId,
    pub statement: LimitationStatement,
    pub severity: LimitationSeverity,
}
}

253. Limitation Severity

#![allow(unused)]
fn main() {
pub enum LimitationSeverity {
    Minor,
    Moderate,
    Significant,
    BlockingForGa,
}
}

254. BlockingForGa Prevents GA

Hard rule.


255. Limitation Disclosure

User/admin docs must expose material limitations.


256. Hard rule.


257. Feature Maturity UI

UI may show:

Experimental
Beta
Preview

where relevant.


258. No deceptive "stable" label.


259. Hard rule.


260. Product Readiness Review

#![allow(unused)]
fn main() {
pub struct ProductReadinessReview {
    pub capability: CapabilityId,
    pub target: CapabilityMaturity,
    pub readiness: CapabilityReadiness,
    pub blocking_risks: Vec<EngineeringRiskId>,
    pub exceptions: Vec<ProductReadinessExceptionId>,
}
}

261. Hard rule.


262. Readiness Decision

#![allow(unused)]
fn main() {
pub enum ProductReadinessDecision {
    Advance,
    AdvanceWithConditions,
    Hold,
    Regress,
}
}

263. Hard rule.


264. No Automatic Advancement Based On Time

Hard rule.


265. No Automatic Advancement Based On Adoption

Hard rule.


266. Readiness Review Authority

Scoped.


267. Hard rule.


268. Product Readiness API

#![allow(unused)]
fn main() {
pub trait ProductReadinessService {
    fn readiness(
        &self,
        capability: CapabilityId,
    ) -> Result<CapabilityReadiness, ProductReadinessError>;

    fn review(
        &self,
        capability: CapabilityId,
        target: CapabilityMaturity,
    ) -> Result<ProductReadinessReview, ProductReadinessError>;
}
}

269. Maturity Transition Service

#![allow(unused)]
fn main() {
pub trait CapabilityMaturityService {
    fn transition(
        &self,
        request: MaturityTransitionRequest,
    ) -> Result<CapabilityReadinessBaselineId, ProductReadinessError>;
}
}

270. Qualification Service

#![allow(unused)]
fn main() {
pub trait CapabilityQualificationService {
    fn qualify(
        &self,
        capability: CapabilityId,
        release: ReleaseId,
    ) -> Result<CapabilityQualification, ProductReadinessError>;
}
}

271. No People-Analytics API

Hard rule.


272. Error Taxonomy

#![allow(unused)]
fn main() {
pub enum ProductReadinessError {
    CapabilityUnknown,
    InvalidMaturityTransition,
    RequiredReadinessMissing,
    BlockingRiskOpen,
    DependencyNotReady,
    EvidenceStale,
    ExceptionNotAllowed,
    ExceptionExpired,
    CompatibilityInsufficient,
    RecoveryNotReady,
    SupportNotReady,
    ScopeViolation,
    Unauthorized,
    Internal,
}
}

273. Observability

Safe metrics:

capabilities by maturity
readiness dimensions
blocking risks
stale qualification evidence
GA candidate count

274. Forbidden:

feature engagement by sensitive segment
developer readiness score
product owner approval leaderboard

275. Hard rule.


276. Product Readiness SLOs

Examples:

GA capability has fresh qualification
GA capability has production support owner
GA capability has rollback/recovery evidence

277. Security SLO

0 GA capability with unresolved hard security blocker
0 GA transition using expired exception

278. Privacy SLO

0 readiness decision based on covert user profiling
0 hidden telemetry added only to justify launch

279. Failure Modes

marketing-driven maturity inflation
GA without operational readiness
dependency below required maturity
preview feature becomes permanent preview

280. Maturity Inflation

Prevent via mandatory evidence.


281. Hard rule.


282. GA Without Operations

Hold transition.


283. Hard rule.


284. Dependency Immaturity

Block or scope launch.


285. Hard rule.


286. Permanent Preview

Require periodic review/retire/advance.


287. Hard rule.


288. Preview Expiry

#![allow(unused)]
fn main() {
pub struct PreviewExpiryPolicy {
    pub max_duration: Duration,
    pub review_required: bool,
}
}

289. Hard rule.


290. Capability Review Cadence

#![allow(unused)]
fn main() {
pub enum CapabilityReviewCadence {
    Monthly,
    Quarterly,
    SemiAnnual,
    EventDriven,
}
}

291. Hard rule.


292. Trigger Events

major incident
security finding
privacy change
dependency regression
major architecture change

293. Hard rule.


294. Readiness Regression

Must be allowed.


295. Hard rule.


296. Release Freeze

A regressed capability may block release or be disabled.


297. Hard rule.


298. Testing

Need product-readiness testkit.


299. Test Scenarios

new experimental capability
beta feature with privacy gap
GA candidate with blocking risk
mature capability with security regression
deprecated capability retirement

300. Transition Test

Experimental→GA rejected.


301. Evidence Test

Ready state without evidence rejected.


302. Dependency Test

Capability cannot reach GA if required dependency below minimum maturity.


303. Risk Test

Critical unaccepted risk blocks GA.


304. Exception Test

Hard launch criterion cannot be waived.


305. Exposure Test

Experimental capability cannot become DefaultOn.


306. Platform Test

Android-ready does not imply desktop-ready.


307. Anonymous Mode Test

Standard privacy readiness does not imply anonymous-mode readiness.


308. Recovery Test

GA transition fails without recovery/rollback evidence.


309. Staleness Test

Major architecture change invalidates readiness evidence.


310. Regression Test

Critical security issue can regress/suspend GA capability.


311. Retirement Test

Capability cannot retire with unresolved data migration.


312. Privacy Test

No individual-user profiling required for readiness.


313. Fuzzing

Fuzz:

maturity transitions
readiness matrices
launch criteria
exceptions
dependency graphs

314. Property Tests

Properties:

capability can never reach GA with unresolved mandatory readiness dimension
hard launch criterion can never be waived
exposure can never exceed maturity policy
capability can never retire while required data-migration obligations remain open

315. Formal Verification Targets

Strong candidates:

maturity state machine
dependency readiness
launch exception rules
suspension/regression

316. Kani Candidate

maturity/exception/dependency invariants.


317. TLA+ Candidate

experimental → alpha → beta → preview → GA → regression/deprecation.


318. Loom Candidate

concurrent readiness update + risk opening + GA decision.


319. Performance

Readiness governance is control-plane work.


320. Release gate reads indexed readiness baseline.


321. Hard rule.


322. Storage

Separate:

capabilities
maturity transitions
readiness evidence
qualification records
launch criteria
exceptions
dependency readiness
known limitations

323. No user/developer analytics warehouse.


324. Hard rule.


325. Partitioning

By:

capability
service
platform
maturity
readiness dimension

326. No person/user partition.


327. Hard rule.


328. Crate Layout

Recommended:

crates/
├── siar-product-readiness-core/
├── siar-capability-registry/
├── siar-maturity-policy/
├── siar-readiness-evidence/
├── siar-capability-qualification/
├── siar-ga-governance/
├── siar-capability-dependencies/
├── siar-readiness-exceptions/
├── siar-product-readiness-observability/
└── siar-product-readiness-testkit/

329. siar-product-readiness-core

Owns:

CapabilityId
CapabilityMaturity
ReadinessState
ProductReadinessError

330. siar-capability-registry

Capability scope/owner/maturity/variants.


331. siar-maturity-policy

Allowed transitions/exposure constraints.


332. siar-readiness-evidence

Multidimensional evidence/freshness.


333. siar-capability-qualification

Capability qualification per release.


334. siar-ga-governance

GA criteria/decision authorities.


335. siar-capability-dependencies

Dependency maturity/compatibility.


336. siar-readiness-exceptions

Time-bounded waivable criteria.


337. siar-product-readiness-observability

Aggregate readiness health only.


338. siar-product-readiness-testkit

maturity/dependency/GA/privacy tests.


339. Security, Privacy & Correctness Invariants

Mandatory:

1. Capability maturity is an evidence-backed technical/support state and cannot be advanced because of marketing pressure, elapsed time, usage volume, or adoption targets alone.
2. Product readiness is multidimensional across functional, security, privacy, reliability, performance, operability, supportability, compatibility, recovery, and documentation dimensions; no single readiness score may hide a blocking dimension.
3. General Availability requires fresh evidence for every mandatory readiness dimension, a qualified release, production support ownership, documented limitations, and verified rollback/recovery behavior.
4. Hard security/privacy/reliability launch criteria are non-waivable and cannot be bypassed by product-readiness exceptions or launch urgency.
5. Capability exposure is constrained by maturity; Experimental/Alpha capabilities cannot silently become default-on production features beyond policy.
6. Capability dependency readiness is explicit, and a feature cannot advance beyond the maturity/support level its required dependencies can safely sustain.
7. Readiness evidence becomes stale when requirements, architecture, threat model, dependencies, migration behavior, or implementation materially change; stale evidence cannot qualify a maturity transition.
8. GA capabilities may regress, suspend, restrict exposure, rollback, or deprecate when evidence no longer supports prior readiness; maturity is not an irreversible marketing label.
9. Product telemetry used for readiness is technical and privacy-safe—errors, latency, resource use, crashes—and cannot depend on private content, social graphs, sensitive personal inference, or covert behavioral profiling.
10. Capability qualification, exceptions, maturity transitions, and GA decisions are archived and historically reconstructable per release without becoming developer, product-owner, or user scoring systems.
11. Platform-specific, offline, anonymous-mode, enterprise, and federation variants are qualified independently where their trust/failure behavior differs; readiness in one mode cannot be inherited blindly by another.
12. Product-readiness governance integrates with requirements, assurance, architecture, knowledge traceability, risk/PIR, release readiness, SLOs, resilience, capacity, performance, hardware/facility readiness, deployment/update control, and assurance archives without creating an alternate launch-authority or surveillance path.

340. Initial Production Scope

Implement first:

typed CapabilityId/CapabilityMaturity
capability registry
multidimensional readiness states
qualification profiles
maturity transition rules
alpha/beta/preview/GA criteria
capability dependency readiness
exposure policy
launch criteria
known limitation registry
operational/security/privacy/reliability readiness reviews
rollback/migration readiness
release qualification binding
risk/exception checks
readiness freshness/invalidation
GA suspension/regression/deprecation
historical readiness baselines
assurance-archive integration
privacy-safe readiness dashboards
product-readiness testkit

Then add:

cross-platform readiness matrix
automated evidence aggregation
capability graph visualization
preview expiry automation
readiness impact propagation from architecture/risk changes
formal maturity-state verification
portable product qualification packages

341. Definition of Done

Part 127 is complete when:

  • capabilities have stable identities and explicit maturity;
  • readiness is multidimensional;
  • evidence backs every Ready state;
  • maturity transitions are governed;
  • hard launch criteria cannot be waived;
  • dependency maturity is enforced;
  • exposure cannot exceed maturity policy;
  • GA requires support/recovery/compatibility/documentation readiness;
  • stale evidence blocks transition;
  • maturity can regress/suspend;
  • known limitations are visible;
  • release/readiness baselines are historically reconstructable;
  • no adoption/user/developer profiling drives readiness;
  • maturity/GA/privacy/fuzz/formal tests are specified.

342. Final Architecture

                   CAPABILITY
                       │
                       ▼
                 MATURITY STATE
                       │
          ┌────────────┼────────────┐
          │            │            │
       SECURITY      PRIVACY     RELIABILITY
          │            │            │
          ├────────────┼────────────┤
          │            │            │
      PERFORMANCE   OPERABILITY   SUPPORT
          │            │            │
          └────────────┼────────────┘
                       ▼
                QUALIFICATION
                       │
                       ▼
                  GA DECISION
                       │
                       ▼
             SUPPORT / MONITOR / EVOLVE

Product-readiness safety model:

typed maturity
+
multidimensional readiness
+
evidence freshness
+
dependency qualification
+
controlled exposure
+
rollback/recovery readiness
+
GA governance
+
historical qualification

not:

call a feature GA because it has users, hide limitations, waive security/privacy gaps, and use engagement telemetry as proof of readiness

343. Final Principle

A product capability is ready when the system can support its promises, failures, upgrades, recovery, and limitations—not merely when the code appears complete.

The correct model is:

define maturity honestly
+
qualify every readiness dimension
+
validate dependencies
+
limit exposure by maturity
+
prove rollback/recovery
+
advance only with fresh evidence
+
allow regression when evidence changes
+
archive decisions
+
never use product readiness as a reason to profile users or rank engineers

This architecture gives SIAR a privacy-preserving product-readiness foundation for capability maturity, alpha/beta/preview/GA progression, launch qualification, dependency readiness, support/operations readiness, exposure control, maturity regression, and historical product qualification while preserving the anonymity, local-first, least-authority, engineering-assurance, assurance-archive, and anti-surveillance guarantees established across Parts 34–126.