Define what is and is not guaranteed to be deterministic in the T81 system.
Clarify that determinism guarantees apply only to explicitly verified surfaces.
Threat modeling for these surfaces is documented in DETERMINISM_THREAT_MODEL.md.
Reference:
spec/supplemental/deterministic-core-profile-v1.md (Core Definitions)docs/governance/FREEZE_ENFORCEMENT.md (Break Protocols)docs/governance/SPEC_AUTHORITY_MODEL.md (Hierarchy)docs/status/VERIFIED_SURFACE_AUDIT.md (Traceability Audit)docs/developer-guide/internals/jit-equivalence-plan.md (Future Roadmap)spec/rfcs/RFC-0042-deterministic-backend-equivalence-contract.md (backend substitution constitution)spec/rfcs/RFC-0043-deterministic-conformance-validation-framework.md (proof and CI model)spec/rfcs/RFC-0044-stable-packed-trit-vector-interface.md (packed-trit substrate)spec/rfcs/RFC-0045-deterministic-memory-model.md (state visibility and aliasing)spec/rfcs/RFC-0046-deterministic-scheduling-and-execution-ordering.md (ordering constitution)spec/rfcs/RFC-0047-deterministic-jit-and-lowering-rules.md (lowering and trace equivalence constraints)spec/rfcs/RFC-0048-deterministic-surface-definition-and-governance-boundaries.md (surface classification constitution)spec/rfcs/RFC-0049-canonical-ternary-arithmetic-semantics.md (arithmetic oracle)spec/rfcs/RFC-0050-vectorized-ternary-operations-for-tisc.md (ISA/VM vector semantics)spec/rfcs/RFC-0051-deterministic-heterogeneous-acceleration.md (accelerator boundary)spec/rfcs/RFC-0052-canonical-dataflow-and-state-driven-execution.md (dataflow/state model)spec/rfcs/RFC-0053-distributed-deterministic-execution-protocol.md (distributed execution constitution)A determinism surface is:
A subsystem boundary for which identical input and configuration must produce bit-identical output across supported architectures. “Supported architectures” are defined by the platforms listed in the root README under Compatibility for the current major version.
Clarify:
| Surface | Scope | Guarantee | Verification Mechanism | CI Enforced | Status |
|---|---|---|---|---|---|
| TISC Opcode Semantics | Instruction Behavior | Bit-Exact | tests/cpp/vm_determinism_property_test.cpptests/cpp/test_tritwise_backend_equivalence.cpp |
Yes (ci.yml) |
Verified |
| VM Interpreter Execution | Dispatch Loop | Bit-Exact | tests/cpp/vm_trace_test.cpptests/cpp/vm_determinism_property_test.cpptests/cpp/vm_tensor_get_set_conformance_test.cpptests/cpp/vm_state_transition_conformance_matrix_test.cpp |
Yes (ci.yml) |
Verified |
| Data Type Canonical Encoding | Binary Format (Trit/Tryte) | Bit-Exact | tests/cpp/v1_canonical_numeric_contract_test.cpptests/cpp/tisc_binary_io_determinism_test.cpp |
Yes (ci.yml) |
Verified |
| Soft-Float Deterministic Math | T81Float Operations |
Strict Rounding | tests/cpp/test_T81Float_arithmetic.cpptests/cpp/test_T81Float_rounding.cpp |
Yes (ci.yml) |
Verified |
| Compiler Bytecode Emission | T81Lang to TISC | Bit-Exact (Fixtures) | scripts/ci/t81lang_repro_gate.py |
Yes (repro-ledger.yml) |
Partial |
| T3K Quantization | GGUF Encoding | Bit-Exact | scripts/ci/t3k_repro_gate.py |
Yes (repro-ledger.yml) |
Verified |
| RFC | Status | Role |
|---|---|---|
| RFC-0042 | accepted | Scalar-oracle backend equivalence for scalar ↔ SWAR ↔ SIMD ↔ future backends |
| RFC-0043 | accepted | Common conformance, replay, breach-classification, and CI proof model |
| RFC-0044 | accepted | Stable packed-trit substrate beneath SWAR and SIMD surfaces |
| RFC-0045 | accepted | Canonical memory visibility, handle identity, and aliasing model |
| RFC-0046 | accepted | Program-order / dependency-order / canonical-commit scheduling constitution |
| RFC-0047 | accepted | Deterministic lowering and JIT constraints for alternate execution paths |
| RFC-0048 | accepted | DCP / governed non-DCP / experimental boundary constitution |
| RFC-0049 | accepted | Canonical arithmetic oracle for trit, packed, native, VM, and backend arithmetic |
| RFC-0050 | accepted | Semantic vector execution model at the ISA/VM layer |
| RFC-0051 | accepted | Heterogeneous acceleration rules for GPU and other accelerator backends |
| RFC-0052 | accepted | Canonical dataflow and state-driven propagation model above DPE |
| RFC-0053 | accepted | Distributed deterministic execution protocol for future cross-node execution |
| RFC-0054 | accepted | CanonFS object identity and persistence contract (payload-only hash rule) |
| RFC-0055 | accepted | Native ternary hardware target classification and interop governance |
RFCs marked accepted are fully integrated and binding. Draft RFCs define
governance direction but do not yet expand verified guarantees.
Explicitly list areas that are:
Excluded / Out of Scope:
T81Float soft-float wrappers) is not guaranteed.Experimental / Planned:
experimental/tiers/, experimental/distributed/): Consensus determinism is planned but not verified.spec/tisc-spec.md §5.2.5. Any future accelerator backend must satisfy RFC-0042 equivalence, RFC-0043 validation, RFC-0045 memory transfer audit, RFC-0046 scheduling audit, and RFC-0048 boundary promotion before any DCP claim may be made.| Surface | Test Path | CI Job | Repro Script |
|---|---|---|---|
| TISC Execution | tests/cpp/vm_determinism_property_test.cpp |
ci.yml |
N/A |
| VM Memory / State Determinism | tests/cpp/vm_tensor_get_set_conformance_test.cpptests/cpp/vm_state_transition_conformance_matrix_test.cpp |
ci.yml (determinism-slice) |
N/A |
| Tritwise Backend Equivalence (RFC-0042) | tests/cpp/test_tritwise_backend_equivalence.cpp — scalar vs SWAR vs AVX2/NEON, sizes 1–4097 trits |
ci.yml |
N/A |
| Arithmetic Backend Equivalence (RFC-0042 + RFC-0049) | tests/cpp/test_arithmetic_backend_equivalence.cpp — scalar trit oracle vs T81BigInt for ADD/SUB/MUL/NEG/comparison/carry |
ci.yml |
N/A |
| Axion Epoch Runtime (scheduler + audit parity) | experimental/ternaryos/tests/epoch_submission_test.cppexperimental/ternaryos/tests/epoch_audit_test.cpp |
ci.yml (axion-epoch-determinism) |
N/A |
| Compiler Repro | tests/fixtures/t81lang_determinism/*.t81 |
repro-ledger.yml |
scripts/ci/t81lang_repro_gate.py |
| Quantization | N/A | repro-ledger.yml |
scripts/ci/t3k_repro_gate.py |
Proof model note:
Verified-surface claims are governed by RFC-0043 (Deterministic Conformance Validation Framework,
accepted). The table above is the authoritative CI-enforced record. RFC-0043 §8 defines the promotion rules that every entry must satisfy before a surface may be markedVerified.
Each verified surface maps to one or more RFC-0043 conformance layers:
| Surface | Semantic | Backend Equiv | Serialization | Cross-Platform | Gov Gate |
|---|---|---|---|---|---|
| TISC Execution | Yes | — | — | Yes | Yes |
| VM Memory / State | Yes | — | Yes | Yes | Yes |
| Tritwise Backend Equiv | Yes | Yes | — | Yes | Yes |
| Arithmetic Backend Equiv | Yes | Yes | — | Yes | Yes |
| Axion Epoch Runtime | Yes | — | — | Yes | Yes |
| Compiler Repro | — | — | Yes | Yes | Yes |
| Quantization | — | — | Yes | Yes | Yes |
The supported architecture set for the current major version is x86_64 + AArch64.
| Architecture | Kernel | Compiler | Backend Paths Active |
|---|---|---|---|
| x86_64 + AVX2 | Linux / macOS | Clang 18+ / GCC 14+ | scalar, SWAR, AVX2 (≥ 64 B threshold) |
| AArch64 + NEON | Linux / macOS | AppleClang 17+ / Clang 18+ | scalar, SWAR, NEON-OR (≥ 64 B threshold) |
Replay succeeds only when all governed test binaries produce bit-identical pass/fail outcomes
across both rows. Architecture-specific exclusions (NEON TNot/TAnd disabled) are documented
in spec/tisc-spec.md §5.2.3 and do not constitute a divergence.
Reference:
docs/governance/FREEZE_ENFORCEMENT.mdspec/rfcs/RFC-0043-deterministic-conformance-validation-framework.md §6Breach classification (per RFC-0043 §6):
State:
A regression on a verified surface is classified as a Hard Divergence (RFC-0043 §6) and must not be merged unresolved.
Clarify:
Determinism does NOT mean:
Determinism governance DOES mean:
This prevents overclaim drift.