ADR 0040: Numeric format namespace ownership
Inventory counts in this record are acceptance-time historical context; the current inventory is owned by the ASL tree and its generated projections.
Historical-evidence note: test paths named below record the evidence used when this ADR was accepted; they are not active architecture or release owners. Current ownership is the four-surface ASL tree, with per-ID AVS coverage projected into
spec/evidence/release-traceability-readiness.json.
Decision scope
Bit-exact formats, target availability, and operation/type legality remain open.
Context
ADR 0087 requires a complete bit-level format table and an operation/type/profile
legality matrix before target numeric conformance can close. PTO currently has
five distinct numeric type-code namespaces:
- two-bit scalar FSU source selectors;
- five-bit scalar floating destination selectors;
- five-bit scalar integer destination selectors;
- six-bit TLSU/TALLOC tile data-type selectors; and
- five-bit bundle
DataTypeselectors.
Some numeric codes coincide across namespaces and others differ. For example,
TLSU/TALLOC code 2 denotes the raw F16 carrier while bundle code 4 denotes
F16; FP4 is mapped only in the TLSU/TALLOC namespace, while E8M0 is mapped
only in the bundle namespace. Treating the integers as one shared encoding
would therefore change architectural behavior.
The PTO type system establishes visible names and widths but does not resolve
every operation-local ASL binding. In particular, the exact FP8, FPL8,
FP4, FPL4, and E8M0 roles remain ambiguous or profile-dependent until
their owning PTO rules are accepted.
Decision
The generated
spec/evidence/numeric-format-namespace-contract.json is the fail-closed
structural checkpoint for ADR 0087.
- Numeric codes are namespace-local. Equality of code values across scalar, TLSU/TALLOC, and bundle namespaces has no architectural meaning unless a later accepted PTO decision explicitly maps them.
- All 19
TileDataTypeidentities and their raw storage widths are closed. Width and signedness are exact for integer carriers. Floating identities remain raw carrier names until their bit-exact format rules are accepted. - Scalar source selectors 0 and 1 select 64-bit and 32-bit raw carriers;
selectors 2 and 3 reject before effects. Scalar floating and integer
destination selectors 0 through 14 have the Stage 4 carrier widths recorded
in
scalar-fsu-totality.json; selectors 15 through 31 reject before effects. - The TLSU/TALLOC namespace contains 18 mapped and 46 reserved six-bit codes.
E8M0is intentionally unmapped there. The bundle namespace contains 18 mapped and 14 reserved five-bit codes.FP4is intentionally unmapped there. These are separate, total encoding tables rather than a conflict to hide with aliases. FP4,FPL4,S4, andU4use the closed packed-memory rule: the even or low-index element occupies bits[3:0], the odd or high-index element occupies bits[7:4], loads zero-extend the selected nibble, and stores preserve the sibling nibble.- Unmapped codes reject before architectural effects. A helper fallback after a failed legality predicate is unreachable and does not create an architectural alias.
Consequences
Reviewers can now distinguish every structural numeric namespace, carrier width, mapped code, reserved code, and packed-four-bit rule without inferring target arithmetic from a backend. The generated artifact and repository checker fail on namespace, width, mapping, source-hash, or residual drift.
ADR 0087 remains open. Closure still requires bit-exact floating layouts,
accepted bindings for specialized eight- and four-bit types, the architectural
role of E8M0, the complete scalar/tile operation/type/profile legality
matrix, target availability, and positive/reserved vectors for every accepted
tuple. This checkpoint does not increment the S5-T2-A2 accepted-decision
count or promote maturity beyond M4.
ADR 0048 subsequently closes the bit-level value-classification checkpoint for these carriers. It does not alter this ADR's namespace separation or accept a complete ADR 0087 result decision.
Evidence
spec/evidence/numeric-format-namespace-contract.jsonscripts/generate-numeric-format-namespace-contractspec/evidence/scalar-fsu-totality.jsonspec/evidence/tlsu-totality.jsonasl/types.aslasl/numeric/formats.asldocs/status/decisions/0048-numeric-format-value-classification.mdasl/scalar/floating.aslasl/tile/state.aslasl/tile/memory.aslasl/bundle/dispatch.aslspec/evidence/numeric-format-namespace-contract.jsonspec/evidence/release-traceability-readiness.jsontests/asl/tile/model/memory/load-store/tile-bound-tlsu-totality-001.asldocs/status/decisions/0028-scalar-fsu-totality-and-profile-boundary.mddocs/status/decisions/0033-tlsu-four-bit-memory-packing.mddocs/status/decisions/0037-numeric-profile-identity-and-variation-framework.md