Build an application
How do we turn a workflow into fielded software?
M9 reference library
M9 connects its runtime, language, data systems, renderer, tools, and control layers. Each page shows a system diagram and a concrete example.
Use these pages to understand system boundaries, data flow, operating behavior, and questions for a pilot. They are not build instructions or certification claims.
Start with the task
Each path begins with a program question and links three maps in reading order.
How do we turn a workflow into fielded software?
How does a typed value cross a process or survive a restart?
How do we test, field, and diagnose one change?
System diagram
Mission behavior stays visible at the center. Shared foundations surround it, and every host reaches the same types, data, and operating evidence.
Integrated platform
System diagram
Trident holds application behavior. The other foundations provide shared data, rendering, compute, asset, storage, host, and device mechanisms.
Mission foundations
Each foundation has a clear job. Together they connect mission logic, data, devices, assets, compute, and operations.
Trident is a typed language for application rules and workflow. Its script view and node view edit the same program graph. The language includes bounded loops, complete branches, tasks, errors, and distributed locks.
Read overview ThalassaThalassa renders one declared scene on devices with different screen, memory, and graphics limits. Each backend reads the same render program and is checked against a software reference image.
Read overview MerDBMerDB stores typed records and requires applications to declare how they will read them. It rejects broad, unplanned scans and exposes ordered change streams for other services.
Read overview FathomFathom connects MerTek applications to files, networks, processes, and deployed nodes through a small host interface. Transport, trust, and rollout choices are declared policy.
Read overview KeelKeel supplies fast, reusable compute functions. The functions take parameters from Trident; they do not contain mission thresholds or policy.
Read overview NautilusNautilus decodes source formats such as GLB, PNG, JPEG, and FBX into MerTek mesh, texture, rig, animation, and point-data profiles. Render code reads only those profiles.
Read overview MerBufMerBuf encodes declared values into compact bytes. The payload carries enough type and schema identity for a receiver to check it before use.
Read overview MerFSMerFS stores and retrieves opaque bytes by stable key. Local disk, remote object storage, and memory-backed storage implement the same narrow contract.
Read overview BenthOSBenthOS provides the low-level mechanisms needed by a MerTek node: startup, memory, scheduling, device access, and host boundaries. Applications still remain Trident plus configuration.
Read overviewSystem diagram
The product layer uses the same M9 runtime and application model. It does not create a second platform path.
node view • script view
validated sourceevidence • generations
approved rolloutidentity • grants
approved sessionPlatform products
MerTekStak stores application definitions, release state, test evidence, and rollout decisions. It runs as a MerTek application and follows the same rules as the software it manages.
Read overview MerTek.ioMerTek.io signs in a user, resolves allowed applications, and routes the user to them. Each application remains responsible for its own data and action permissions.
Read overview Studio KitStudio Kit combines node editing, script editing, reusable libraries, data views, and validation. It edits the same application source that runs in production.
Read overviewSystem diagram
Type, boundary, security, test, release, deployment, and debug rules apply across the full stack.
Assurance fabrics
These shared practices make security, evidence, data life, support, and change visible across the platform.
The gate system records what each check covers, what it ran, and whether it passed, failed, or was held. Aggregate profiles list the checks they include.
Read overview Release AssuranceRelease assurance resolves dependencies, builds artifacts, records their contents, and refreshes derived inventories from the approved source tree.
Read overview PersistenceThe persistence path encodes typed rows, stores large objects by key, records pending writes, and exposes ordered committed changes.
Read overview MerTekTypesMerTekTypes defines the names and shapes used by Trident, MerDB, MerBuf, and tools. Logical types stay separate from their wire and storage forms.
Read overview Operational Debug ViewsSystems publish typed state, events, timing, and boundaries. Rendered applications show overlays; background services show the same facts in service views.
Read overview Controlled DeploymentTrident and configuration updates use a live application path. Compiled runtime and device changes use a staged node rollout. Both paths retain state and rollback information.
Read overview System BoundariesNames and dependency rules separate core mechanisms, Trident policy, applications, products, and device hosts. A lower layer cannot depend on mission-specific behavior.
Read overview Security and TenancyIdentity, application, data, service, tenant, and device checks each require a declared grant. Passing one check does not bypass the next check.
Read overview Coordinated DeliveryEach change has an owner, an isolated work area, required checks, and a verified merge to the shared main line. The same process applies to human and assisted work.
Read overviewPilot scope
Define the input data, target devices, required behavior, failure cases, and evidence before the pilot starts.
Request a technical briefing