Naming
Use lowercase hyphenated names for programs. Include a version suffix in the meta block. Names should describe the computational intent, not the implementation detail. Example: threshold-gate-v1, not mol-check-0.8.
Build discipline for .matr authoring and FORMA operation. Covers program structure conventions, artifact versioning, simulation gates, policy review workflows, and signal interpretation standards.
.matr programs follow a consistent structure that separates identity, substrate requirements, constraints, and logic. Adhering to these conventions ensures that programs are readable, comparable, and compatible with the toolchain.
Use lowercase hyphenated names for programs. Include a version suffix in the meta block. Names should describe the computational intent, not the implementation detail. Example: threshold-gate-v1, not mol-check-0.8.
One program per .matr file. Group related programs in directories by domain. Keep simulation fixtures alongside source files. Compiled artifacts go in a build/ directory.
Always declare consequence tier, cost ceiling, and drift tolerance explicitly. Never rely on defaults. Explicit constraints make policy evaluation predictable and simplify code review.
Favor small, single-purpose programs that can be composed into larger workflows. Each program should be independently testable and simulatable. Composition happens at the orchestration layer, not inside .matr source.
Every change to a Matter program produces a new Molebyte version. There is no in-place modification. This creates an immutable lineage chain where each version can be independently referenced, compared, and audited.
| Rule | Guidance |
|---|---|
| Patch (0.0.x) | Constraint adjustments, metadata corrections. No logic changes. |
| Minor (0.x.0) | Gate logic changes, new state definitions, substrate requirement changes. |
| Major (x.0.0) | Breaking changes to output format, new substrate types, incompatible constraint changes. |
| Lineage reference | Always declare lineage to the previous version. Enables cross-version signal comparison. |
| Never reuse versions | A version string, once compiled, is permanently bound to that artifact hash. |
Simulation is not optional in production workflows. Every Molebyte must have simulation evidence before submission for physical execution. Teams should establish simulation gates at two points:
Simulation evidence ages. If substrate models are updated, previously simulated Molebytes should be re-simulated to confirm that predictions remain valid under the new model.
Developers should understand the policy context their programs will execute under before writing .matr source. This avoids authoring programs that will be denied at submission time.
After a run completes, the signal is the primary source of truth. Developers should review signals with the following checklist:
Drift alerts should be escalated when any of the following conditions are met: