Research-Stack/0-Core-Formalism/otom/docs/gcl/AVMFixedPointComplianceRemediation.md

2.9 KiB

AVM Fixed-Point Compliance Remediation

Status: HOLD / compliance remediation Authority: fixed-point determinism rule for AVM core semantics Related:

  • docs/gcl/ThreeLayerBuilderJudgeWardenGate.md
  • docs/gcl/RunawayDigitalCellDivisionDoctrine.md
  • docs/gcl/NanokernelCompressionOrchestrationUndici.md
  • docs/gcl/FederatedNanokernelSwarmDoctrine.md

Purpose

This note records a critical AVM compliance correction.

The AVM is intended to bridge formal math and executable bytecode. Therefore its core numeric semantics must be deterministic and fixed-point only.

Compliance alert

The synthesized AVM Canonical Specification reportedly includes float as a primitive type.

That is a promotion blocker.

float / f32 / f64 / double are not allowed as AVM core primitive numeric types.

Required type correction

Replace:

int, float, bool, list, dict, function

with:

int, Q0_16, Q16_16, bool, list, dict, function

Canonical numeric atoms

Q0_16

Q0_16 = unsigned fractional fixed-point atom
scale = 2^16
intended use = probabilities, normalized weights, bounded gates, ratios in [0, 1)

Q16_16

Q16_16 = fixed-point scalar atom with 16 integer bits and 16 fractional bits
canonical one = 0x00010000
intended use = route mass, scalar costs, field values, timing, geometry scalars

Determinism invariant

same bytecode + same input state + same receipt context = same output state hash

This must hold across the declared AVM compatibility regime.

Boundary rule

Floating-point values may appear only outside AVM authority, such as UI display, debug visualization, external import, or export formatting.

Before a value enters AVM core semantics, it must be quantized into Q0_16 or Q16_16 under a declared conversion policy.

Bind requirement

The AVM must expose an explicit bind/composition primitive so route-state transitions can be reasoned about and later formalized.

Minimal target:

AVM action A produces value plus state plus receipt.
Bind feeds that value into the next AVM action.
The composed action must preserve explicit state and receipt flow.

Promotion blocker

The AVM may not be promoted to CALIBRATED until:

1. Core primitive `float` references are removed.
2. Q0_16 and Q16_16 are defined.
3. Arithmetic, rounding, and overflow behavior are declared.
4. Boundary conversion from external numeric formats is declared.
5. The determinism invariant is stated.
6. Bind/composition semantics are specified.
7. A validator rejects core `float`, `f32`, `f64`, and `double` references.

Operating sentence

The AVM may only serve as the bridge between formal math and bytecode if its core semantics are fixed-point deterministic: float primitives are excluded from core authority, Q0_16 and Q16_16 become canonical numeric atoms, bind composition is explicit, and bit-exact reproducibility is required before calibration.