How you make every SSMT stream portable, auditable, and safe to trust.
2) Manifest
Think of the manifest as the contract for a stream.
It says:
- “This is how we turned raw °C/°F/K into e_T.”
- “These are the pivots we care about.”
- “These are the clamps, safety ranges, and memory rules.”
- “Here’s what we promise to emit.”
- “Here’s what you’re allowed to assume.”
It is intentionally tiny. It travels with the data through manifest_id. Anyone, anywhere (auditor, regulator, customer, future you) can reconstruct meaning without hunting through tribal emails or firmware dumps.
This is how SSMT becomes a governance surface, not just “yet another sensor spec”.
Core goals:
- One lens per study / mission. Do not silently change mid-run.
- Anchors (T_ref, etc.) are public so e_T can be recomputed.
- Machine-checkable: downstream systems can validate conformance automatically.
- Backwards-safe: new optional fields should never break old consumers.
- Privacy and gating are additive, not magical — they must be explicitly declared.
We’ll walk through:
- 2.1 Manifest principles
- 2.2 Minimal manifest (S1, Lite)
- 2.3 Full manifest (S3)
2.1 Manifest principles (normative)
These are the rules that make Shunyaya Symbolic Mathematical Temperature (SSMT) auditable instead of “trust me bro”:
- One lens per study / mission
- You pick
log,linear,beta,kBT,hybrid,qlog, orsmooth_hybrid. - You publish it.
- You do not drift mid-run.
- You pick
- Anchors are public
- You declare
T_ref,DeltaT, etc. - Anyone who gets
e_Tand those anchors can recompute and verify. - This is how you kill vendor lock-in and unit fights.
- You declare
- Minimal first
- Start with the smallest useful surface (S1).
- Emit only
e_Tplusmanifest_idand a basic health flag. - Add phase dials, memory, pooling, etc. only when there’s a real reason.
- Machine-checkable
- Every knob you publish (like
eps_TK,T_valid_range_K,rho) can be validated in software. - No “it’s in the PDF we lost last year”.
- Every knob you publish (like
- Backwards-safe
- New fields are optional.
- Old consumers should ignore them cleanly.
- This prevents protocol churn.
- Optional blocks are explicit
- Privacy: must say how you quantize/noise.
- Gating (env-gate): must say how you build
g_tfroma_T,Q_phase, etc. - If you don’t publish it, you don’t get to claim it.
This is how SSMT becomes something legal, safety, ops, and ML can all read without translation.
2.2 Minimal manifest (S1, Lite-compatible)
This is the smallest useful contract. It’s enough for weather analytics, building ops, most dashboards, and simple IoT.
SSMT_manifest_v1:
version: "1.1" # spec version string
compliance_level: "S1" # S1 | S2 | S3
lens: "log" # log | linear | beta | kBT | hybrid | qlog | smooth_hybrid
anchors:
T_ref: 298.15 # Kelvin
DeltaT: null # only if lens == "linear"
E_unit: null # only if lens == "kBT"
tau: null # only if lens == "hybrid" (K)
alpha: null # only if lens == "qlog" (> 0)
guards:
clamp_a_eps: 1e-6 # applies if you ever emit a_phase
eps_TK: 1e-6 # Kelvin floor (numerical safety)
T_valid_range_K: [180.0, 500.0]
phase_block:
T_m_list: [] # [] means “no phase dial”
rho: 0.90 # default memory (only relevant if you add Q_phase later)
k_side: 2.0 # default soft edge
outputs:
emit_e_T: true
emit_a_phase: false
emit_a_T: false
notes: "Minimal manifest; unitless anomaly only"
# Optional blocks (include ONLY if you actually use them):
# privacy: { mode: "P1", step: 0.01 } # see privacy addendum
# gate: { enabled: false } # if enabled, env-gate rules must be declared
Why this matters:
emit_e_T: truemeans you’re shipping the core contrast only.- No phase dial, no memory, no bounded fleet stress dial.
- Ops can adopt this in hours: pick a lens, publish
T_ref, defineT_valid_range_K, done.
This alone kills °C vs °F drama and makes cross-site analytics possible.
2.3 Full manifest (S3, phase + alignment + pooling)
This is what you ship when you’re running fleets, doing safety gating, driving ML with bounded features, or reporting to compliance.
SSMT_manifest_v1:
version: "1.1"
compliance_level: "S3" # S1/S2/S3 (S3 = full surface)
lens: "log" # log | linear | beta | kBT | hybrid | qlog | smooth_hybrid
anchors:
T_ref: 298.15
DeltaT: null
E_unit: null
c_T: 0.7 # sharpness for a_T (> 0 if you emit a_T)
tau: 5.0 # only if lens == "hybrid" (K)
alpha: 1.0 # only if lens == "qlog" (> 0)
guards:
clamp_a_eps: 1e-6
eps_w: 1e-12 # pooling denominator guard
eps_TK: 1e-6 # Kelvin floor
T_valid_range_K: [180.0, 500.0]
phase_block:
T_m_list:
- { tag: "water", T_m: 273.15, DeltaT_m: 2.0, c_m: 1.2 }
rho: 0.90
k_side: 2.0
pooling:
weight_rule: "equal" # equal | inv_var | health
health_flags:
enable_range_ok: true
enable_sensor_ok: true
enable_drift: true
validation: # optional but powerful
dataset_ref: "url-or-id"
test_vectors_ref: "url-or-id"
metrics: { E_hot: 0.8, Phi_freeze: 0.10 }
outputs:
emit_e_T: true
emit_a_T: true # bounded fleet dial in (-1,+1)
emit_a_phase: true # single pivot or fused multi-pivot
emit_Q_phase: true # hysteresis memory
notes: "Full feature set for fleets and safety"
# Optional declared extras:
# privacy:
# mode: "P2"
# b: 1.0
# eps: 1.0
#
# gate:
# enabled: true
# lane: "w1*abs(a_T)+w2*Q_phase+w3*abs(a_phase)"
# w: { w1: 0.5, w2: 0.5, w3: 0.0 }
# L: 60
# kappa: 1.0
# mu: 3.0
# rho_g: 0.9
# theta_g: 0.2
Read the jump from S1 to S3:
emit_a_T: true
You’re now emitting a bounded fleet stress / alignment dial in (-1,+1). That unlocks pooling across sensors using rapidity math without unbounded spikes.phase_blockis populated
You’ve declared real survival pivots like water freeze, composite warp, human skin tolerance, etc. Each pivot has:tag(human-auditable label)T_m(Kelvin pivot)DeltaT_m(softness band)c_m(sharpness)
rhoandk_side
Now you’re allowed to run soft hysteresis and produceQ_phase, which tells you “how long we’ve effectively been on the risky side” without annoying flicker.pooling
You’ve committed to how you fuse multiple sensors.weight_rule: "equal"is the default. You can also weight by sensor health or inverse variance.health_flags
You declare what “range_ok,” “sensor_ok,” and “drift” actually mean. Auditors don’t guess.validation
This is huge. You point to datasets and test vectors. That means you can prove (post-incident or to a regulator) that your thresholds, pivots, and hysteresis are not arbitrary. You can replay them.gate(optional)
This is where SSMT becomes an environmental gateg_tused to scale or throttle downstream behavior (for example, in chemistry:RSI_env := g_t * RSI). If you claim you’re gating decisions based on environment, you must declare the lane math here.
Result: under S3, Shunyaya Symbolic Mathematical Temperature (SSMT) is not just “temperature, but cleaner.” It is a live compliance surface.
Where we are now
By the end of 2.3, you should be able to:
- Write a manifest that can stand in court.
- Ship S1 today and upgrade to S2/S3 later without breaking old clients.
- Tell anyone exactly what
manifest_idmeans, without having to retrieve firmware. - Capture evidence (datasets / test vectors) for validation without touching runtime math.
This is the difference between “we log temperature” and “we can defend our environmental logic at any scale, including life-critical and off-world.”
Navigation
Previous: SSMT – The Record You Emit and the Rules You Must Publish (1.9–1.11)
Next: SSMT – Field Definitions, Payload Keys, and Staying Backwards-Safe (2.4–2.6)
Directory of Pages
SSMT – Table of Contents