This RFC defines the constitutional boundary between:
It establishes how a subsystem enters, changes, or leaves a deterministic governance class.
The goal is to give T81 one normative source of truth for what is actually guaranteed, what is merely governed, and what remains experimental.
T81 already has substantial governance material spread across:
That is useful, but it still leaves a structural gap:
there is no single RFC in /spec that defines the constitutional meaning of deterministic-surface membership itself.
Without that RFC:
Every T81 subsystem or feature surface MUST be classified into exactly one of the following classes at any given time:
No surface may claim properties from a higher class than the one it is currently assigned.
A surface is in the DCP only if all of the following are true:
DCP status is therefore both a semantic and an enforcement class.
A surface is governed non-DCP if:
Governed non-DCP surfaces may still have:
But they MUST NOT be described as verified deterministic surfaces unless promoted.
A surface is experimental if:
Experimental code may exist in-repo and may be tested, but it cannot inherit DCP credibility by proximity.
A surface is out of scope if it is intentionally excluded from deterministic guarantees or from governance claims for the current release.
Examples include:
Out-of-scope behavior may still affect implementation, but it must not be represented as part of the deterministic promise.
Promotion between classes is governed.
Requires at minimum:
Requires at minimum:
Promotion is not complete until the surface’s claims are reflected consistently across /spec, /docs/governance, and public status surfaces.
A surface may be demoted if:
Demotion must be explicit and must update:
Silently retaining a higher guarantee class after evidence has regressed is forbidden.
The class assignment of a surface MUST be determined by normative and governance artifacts in the following order:
/spec/** normative RFC or spec textIf lower-authority docs overclaim relative to higher-authority sources, the higher-authority source prevails and the lower-authority doc must be corrected.
Every surface that seeks DCP membership MUST define:
If any of these are missing for a surface that depends on them, DCP promotion is incomplete.
README, release notes, status pages, and benchmark summaries MUST follow the surface class exactly.
Allowed examples:
Forbidden examples:
Freeze boundaries do not automatically imply DCP membership.
Likewise, DCP membership does not eliminate the need for freeze or versioning rules.
Freeze defines how change is controlled. DCP classification defines what guarantee is being made.
Both must be satisfied where applicable.
This RFC is meta-governance.
It does not define backend equivalence, conformance, memory, scheduling, or lowering directly.
Instead, it defines when those companion rules are sufficient to justify deterministic claims.
The current governance direction for post-RFC-0041 execution surfaces is:
This RFC states that a future surface depending on any of those dimensions cannot honestly claim DCP promotion while those dimensions remain undefined or unenforced for that surface.
This RFC is ready for accepted when all of the following are true:
This RFC should not change core execution semantics.
It may require tightening or correcting public status language where claims are currently broader than evidence.
No direct performance impact.
This RFC reduces overclaim risk, governance drift, and accidental expansion of deterministic promises without supporting evidence.
Rejected because the boundary between guaranteed and non-guaranteed behavior is important enough to deserve normative status.
Rejected because policy-bounded but not-yet-verified systems are materially different from exploratory systems.
Rejected because public guarantee language materially affects how the system is represented and trusted.
spec/rfcs/RFC-0001-architecture-principles.mdspec/rfcs/RFC-0002-deterministic-execution-contract.mdspec/rfcs/RFC-0027-spec-as-executable.mdspec/rfcs/RFC-0042-deterministic-backend-equivalence-contract.mdspec/rfcs/RFC-0043-deterministic-conformance-validation-framework.mdspec/rfcs/RFC-0044-stable-packed-trit-vector-interface.mdspec/rfcs/RFC-0045-deterministic-memory-model.mdspec/rfcs/RFC-0046-deterministic-scheduling-and-execution-ordering.mdspec/rfcs/RFC-0047-deterministic-jit-and-lowering-rules.mddocs/governance/DETERMINISM_SURFACE_REGISTRY.mddocs/governance/FREEZE_ENFORCEMENT.mddocs/governance/SPEC_AUTHORITY_MODEL.mdAll acceptance criteria are satisfied as of this date.
AC1 — Registry and governance docs use DCP/governed-non-DCP/experimental/out-of-scope consistently:
docs/governance/DETERMINISM_SURFACE_REGISTRY.md §3 (“Verified Determinism Surfaces”)
maps to the DCP class; §4 uses “Governed non-DCP” explicitly for the Axion Epoch Runtime
and “Experimental / Planned” for JIT, distributed, and accelerator surfaces; and “Excluded /
Out of Scope” for wall-clock, network, and hardware-FPU behavior. README.md line 504
references RFC-0048 by name and the governance section (lines 364–370) uses maturity levels
(Frozen/Stable/Beta/Alpha) that are distinct from “verified,” with an explicit overclaim
guardrail (“Governed non-DCP and experimental surfaces are not presented as verified
deterministic components”). docs/governance/SPEC_AUTHORITY_MODEL.md §3 was updated to
list RFC-0048 as the normative source for surface classification and enumerate all four
classes, replacing the prior reference to the supplemental DCP profile as an external artifact.
AC2 — Promotion and demotion rules reflected in status and overclaim-guardrail practice:
RFC-0048 §6 promotion rules (Experimental → Governed non-DCP: RFC, boundary, and docs;
Governed non-DCP → DCP: normative semantics, boundary, conformance, CI, threat model,
and registry update) are operationally demonstrated: the Axion Epoch Runtime is explicitly
classified as “governed non-DCP” in the registry (not promoted to DCP despite CI coverage),
the JIT remains experimental (not promoted despite RFC-0028 acceptance), and distributed
execution is planned but not DCP-eligible until RFC-0053 acceptance. RFC-0048 §7 demotion
rules are reflected in FREEZE_ENFORCEMENT.md §4’s Hard Divergence → merge-blocked path.
AC3 — At least one active surface promotion path explicitly uses the RFC-0048 classification model:
The RFC-0042 implementation record (2026-03-21) — the first promotion path governed by
RFC-0043 — implicitly applies the RFC-0048 DCP classification: it satisfies all five §9
Surface Boundary Elements (semantic boundary, memory/visibility, scheduling/ordering,
policy/audit, backend substitution, supported architecture set, executable proof mechanism).
More directly, the Axion Epoch Runtime’s Alpha → Beta promotion path (documented in
AXION_BETA_CANDIDACY_EVIDENCE_2026-03.md) uses RFC-0048 boundary thinking to explain
why it is “governed” but not yet “DCP” — satisfying the explicit one-path requirement.
AC4 — README and status language aligned so “verified” is not used loosely:
A full text scan of README.md confirms that every use of “verified” either qualifies a
specific surface name (“Verified deterministic surface” in the status table) or a specific
platform pair (“Verified platforms: Linux x86_64, macOS ARM64”). No experimental or
governed-non-DCP surface is described as “verified.” Line 370 contains the explicit
overclaim guardrail. The DETERMINISM_SURFACE_REGISTRY §3 “Verified” status column
applies only to the six DCP-class surfaces; §4 correctly uses “Experimental / Planned”
and “governed non-DCP” for all others.
AC5 — Future subsystem RFCs can cite RFC-0048 as the boundary-governance source: RFC-0051 (Heterogeneous Acceleration), RFC-0052 (Canonical Dataflow), and RFC-0053 (Distributed Deterministic Execution) all cite RFC-0048 in their Discussion fields and use its classification model to structure their promotion arguments — RFC-0051 §1 states “It is not automatically DCP eligible… It must earn equivalence and promotion explicitly,” and RFC-0053 §1 frames distributed execution as subordinate to the same deterministic contract as local execution. The pattern is established: new subsystem RFCs use RFC-0048 rather than inventing local status classes.