Furth FortuneM9 reference

Assurance fabric / System overview

MerTekTypes

One type registry for language, storage, and exchange

MerTekTypes defines the names and shapes used by Trident, MerDB, MerBuf, and tools. Logical types stay separate from their wire and storage forms.

Inside the system

Architecture plates

Each plate preserves the internal layout, paths, boundaries, and highlighted decisions. Use the short label first, then follow the lines through the system.

Plate 01

One registry serves every value seam

one source · several consumers · no aliases

MERTEK_TYPES

name, logical identity, wire form, accessor

Trident

declarations, signatures, schema strings

MerDB

column rules and durable schema identity

MerBuf

typed bytes and decoded values

Plate 02

A type has four identities, and each one has one job

public meaning stays separate from storage mechanism

Public typeLogical jobWire formRuntime accessor
guidglobal identityMB_U128text
f16low-precision scalarMB_F16f64
tensornumeric tensorMB_BUFFERbuffer
instantUTC wall-clock momentMB_INSTANTinstant
measuredimensioned quantityMB_MEASUREobject
Plate 03

The shape grammar has one canonical order

base · parameter · optional · array

i32

required scalar

i32?

optional scalar

i32[]

dense array

i32?[]

array with optional elements

decimal(4)

exact decimal with a scale

measure<force>

physical value with a fixed dimension

i32[]?

refused because the suffix order is wrong

decimal

refused when the schema omits the scale

Plate 04

The families cover mission data without a second vocabulary

one vocabulary · several data domains

Numbers, truth, and exact values

bool, i8 through u128, f16 through f64, and decimal(N).

Time and physical values

instant, duration, and measure<dim> keep units and dimensions visible.

Geometry and simulation

vec2, vec3, quat, matrices, bounds, complex values, and color.

Identity and data carriers

guid, text, enum, buffer, stream, merbuf, and tensor.

Plate 05

A new type appends, crosses every seam, and proves drift did not enter

append · implement · document · prove

Append the logical identity

Never renumber a durable type id. Reuse a retired slot only under its explicit storage contract.

Implement the full path

Add the wire codec, schema rules, runtime value, accessors, and round trip that the type needs.

Update the references

Move the Trident language reference, the MerDB schema reference, and this map with the code.

Run the drift gates

Prove every row, shape, wire, accessor, store path, and text parse surface from the registry itself.

Refuse the old form

Do not keep a silent alias or a fallback decoder. A retired spelling must fail by name.

Key parts

What the system does

These are the main boundaries, inputs, outputs, and failure rules. The examples show a specific use of each part.

One canonical vocabulary

Each supported type has one approved name. The language, database, and encoded data all read from the same authority.

Specific example

A readiness field declared as an instant or duration keeps that meaning in application logic, storage, and exchange.

Logical and physical form

The mission-facing type is kept separate from its compact stored form. The platform can preserve meaning while using an efficient representation.

Specific example

A globally unique identifier remains a guid to the program even when its bytes use a shared wide-integer storage form.

Clear data shapes

Optional values, arrays, exact decimals, physical measures, vectors, time, and large-data references use declared shapes. Unsupported or malformed forms are refused.

Specific example

A financial rate can use an exact decimal while a distance uses a measure with physical dimensions, preventing an accidental mix.

Uses

Example uses

Pilot questions

What the team must decide

Which program terms need one shared type

Where current interfaces lose units or precision

How new data shapes remain compatible with fielded software

Request a technical briefing