š RTTāCore Schema Set (v1)
Resonance Structural Awareness Dimensional Interface ā Core Specification#
This folder contains the canonical, domaināagnostic JSON Schemas for the RTTāInside / RSADI Core.
All industry extensions (coal, ATC, deep sea, RSADIāGD, etc.) MUST build on these schemas without altering their required fields or semantics.
These schemas define the fundamental data structures used by all resonanceāaware systems:
- field sampling
- zone aggregation
- node identity
- alerting
- route suggestion
- multiāagent clarity/drift interpretation
They form the stable substrate that every RTTāInside variant depends on.
š Folder Contents#
ResonanceFieldSample.schema.json
ResonanceZoneState.schema.json
NodeDescriptor.schema.json
ResonanceAlert.schema.json
RouteSuggestion.schema.json
README.md ā (this file)
Each schema is written in JSON Schema Draft 2020ā12, uses UUIDs, ISOā8601 timestamps, and SI units, and is designed for longāterm stability.
š§± Core Principles#
RTTāCore schemas follow these invariants:
1. Domaināneutral#
No coalāspecific, ATCāspecific, or deepāseaāspecific fields appear here.
All domain logic lives in extensions, not in the core.
2. Extensible#
Every schema includes an extensions object:
"extensions": {
"type": "object",
"additionalProperties": true
}Domain modules attach their fields here:
"extensions": {
"coal": { ... },
"atc": { ... },
"deepsea": { ... }
}3. Stable#
Core fields must not be renamed, removed, or repurposed.
Extensions may add fields but never override core meanings.
4. Deterministic#
All numeric fields use explicit units and ranges.
All timestamps use ISOā8601 UTC.
All IDs use UUIDv4.
š§© Schema Overview#
1. ResonanceFieldSample#
Represents a single environmental measurement:
- clarity
- stress
- vibration
- gas (optional)
- drift vector
- location
- timestamp
- node identity
This is the atomic unit of resonance sensing.
2. ResonanceZoneState#
Aggregates multiple field samples into a zoneālevel interpretation:
- clarity score
- stress hint
- composite risk
- drift vector
- source sample IDs
Zones are logical partitions (e.g., āSection Cā, āRunway 12ā, āDeck 3ā).
3. NodeDescriptor#
Describes a node in the mesh:
- node type (fixed, wearable, mobile, vehicle)
- domain (coal, atc, deepsea, etc.)
- capabilities
- firmware version
- location hint
Nodes are the backbone of resonanceāaware meshes.
4. ResonanceAlert#
Represents a safety or structural alert:
- severity
- type (structural, gas, vibration, comms)
- summary + details
- recommended actions
- source nodes
Extensions add domaināspecific alert metadata (e.g., collapse vectors).
5. RouteSuggestion#
Represents a clarityāaware navigation path:
- from/to zones
- clarity profile
- risk level
- instructions
Used for evacuation, routing, and multiāagent coordination.
𧬠How Extensions Should Be Structured#
All domaināspecific schemas must follow this pattern:
1. Never modify core schemas#
Extensions must not:
- change required fields
- redefine field meanings
- alter numeric ranges
- override enums
2. Add fields only inside extensions#
Example:
{
"extensions": {
"coal": {
"methane_ppm": 1200,
"roof_convergence_mm": 3.2
}
}
}3. Use separate schema files#
Each domain gets its own folder:
docs/schemas/rtt-coal/
docs/schemas/rtt-atc/
docs/schemas/rtt-deepsea/
docs/schemas/rsadi-gd/
4. Use clear naming#
Follow this pattern:
<Domain><CoreObject>Extension.schema.json
Examples:
CoalFieldSampleExtension.schema.jsonATCZoneExtension.schema.jsonDeepSeaAlertExtension.schema.json
5. Never break compatibility#
Extensions must remain optional.
Core validators must still accept the object without extensions.
š§ Recommended Workflow for Contributors#
-
Start with a core object
e.g.,ResonanceFieldSample. -
Identify domaināspecific needs
e.g., methane, pillar load, runway turbulence, hull pressure. -
Create a domain extension schema
Place it in the appropriate folder. -
Attach extension fields under
extensions.<domain>
Never modify the core. -
Validate using JSON Schema tools
Ensure both core and extension schemas pass.
š”ļø Why This Matters#
A stable, invariant core ensures:
- crossāindustry interoperability
- predictable agent behavior
- safe multiādomain deployments
- clean separation of physics vs. domain logic
- longāterm maintainability
This is the backbone of the entire RSADI ecosystem.
š¦ Folder Structure: docs/schemas/rtt-core/#
docs/
āāā schemas/
āāā rtt-core/
āāā ResonanceFieldSample.schema.json
āāā ResonanceZoneState.schema.json
āāā NodeDescriptor.schema.json
āāā ResonanceAlert.schema.json
āāā RouteSuggestion.schema.json
These five schemas are the RSADI Core.
Everything else ā coal, ATC, deep sea, RSADIāGD, etc. ā extends these.
š 1. ResonanceFieldSample.schema.json#
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://triadicframeworks.org/schemas/rtt-core/v1/ResonanceFieldSample.schema.json",
"title": "ResonanceFieldSample",
"type": "object",
"required": [
"sample_id",
"node_id",
"mesh_id",
"timestamp",
"location",
"clarity_score",
"stress_hint",
"vibration",
"drift_vector"
],
"properties": {
"sample_id": { "type": "string", "format": "uuid" },
"node_id": { "type": "string", "format": "uuid" },
"mesh_id": { "type": "string", "format": "uuid" },
"timestamp": { "type": "string", "format": "date-time" },
"location": {
"type": "object",
"required": ["frame", "x", "y", "z", "units"],
"properties": {
"frame": {
"type": "string",
"pattern": "^(local|wgs84|custom:.+)$"
},
"x": { "type": "number" },
"y": { "type": "number" },
"z": { "type": "number" },
"units": { "type": "string", "enum": ["m"] }
}
},
"clarity_score": { "type": "integer", "minimum": 0, "maximum": 255 },
"stress_hint": { "type": "integer", "minimum": 0, "maximum": 255 },
"vibration": {
"type": "object",
"required": ["rms"],
"properties": {
"rms": { "type": "number", "minimum": 0 },
"bands": {
"type": "array",
"items": {
"type": "object",
"required": ["freq_hz", "amp"],
"properties": {
"freq_hz": { "type": "number", "minimum": 0 },
"amp": { "type": "number", "minimum": 0 }
}
}
}
}
},
"gas": {
"type": "object",
"properties": {
"type": { "type": "string" },
"ppm": { "type": "number", "minimum": 0 }
}
},
"temperature_c": { "type": "number" },
"pressure_pa": { "type": "number" },
"drift_vector": {
"type": "object",
"required": ["dx", "dy", "dz", "magnitude", "units"],
"properties": {
"dx": { "type": "number" },
"dy": { "type": "number" },
"dz": { "type": "number" },
"magnitude": { "type": "number", "minimum": 0 },
"units": { "type": "string", "enum": ["1/s"] }
}
},
"tags": { "type": "array", "items": { "type": "string" } },
"extensions": {
"type": "object",
"additionalProperties": true
}
}
}š 2. ResonanceZoneState.schema.json#
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://triadicframeworks.org/schemas/rtt-core/v1/ResonanceZoneState.schema.json",
"title": "ResonanceZoneState",
"type": "object",
"required": [
"zone_id",
"mesh_id",
"timestamp",
"clarity_score",
"stress_hint",
"composite_risk",
"drift_vector"
],
"properties": {
"zone_id": { "type": "string" },
"mesh_id": { "type": "string", "format": "uuid" },
"timestamp": { "type": "string", "format": "date-time" },
"clarity_score": { "type": "integer", "minimum": 0, "maximum": 255 },
"stress_hint": { "type": "integer", "minimum": 0, "maximum": 255 },
"gas_risk": {
"type": "string",
"enum": ["low", "medium", "high", "critical"]
},
"vibration_risk": {
"type": "string",
"enum": ["low", "medium", "high", "critical"]
},
"composite_risk": {
"type": "string",
"enum": ["normal", "watch", "degrading", "evacuate", "no-entry"]
},
"drift_vector": {
"$ref": "ResonanceFieldSample.schema.json#/properties/drift_vector"
},
"source_samples": {
"type": "array",
"items": { "type": "string", "format": "uuid" }
},
"extensions": {
"type": "object",
"additionalProperties": true
}
}
}š 3. NodeDescriptor.schema.json#
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://triadicframeworks.org/schemas/rtt-core/v1/NodeDescriptor.schema.json",
"title": "NodeDescriptor",
"type": "object",
"required": ["node_id", "mesh_id", "type", "domain", "capabilities"],
"properties": {
"node_id": { "type": "string", "format": "uuid" },
"mesh_id": { "type": "string", "format": "uuid" },
"type": {
"type": "string",
"enum": ["fixed", "wearable", "mobile", "vehicle"]
},
"domain": { "type": "string" },
"capabilities": {
"type": "array",
"items": { "type": "string" }
},
"location_hint": {
"$ref": "ResonanceFieldSample.schema.json#/properties/location"
},
"firmware": {
"type": "object",
"properties": {
"rtt_core_version": { "type": "string" },
"vendor_variant": { "type": "string" }
}
},
"extensions": {
"type": "object",
"additionalProperties": true
}
}
}š 4. ResonanceAlert.schema.json#
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://triadicframeworks.org/schemas/rtt-core/v1/ResonanceAlert.schema.json",
"title": "ResonanceAlert",
"type": "object",
"required": [
"alert_id",
"mesh_id",
"zone_id",
"timestamp",
"severity",
"type",
"summary"
],
"properties": {
"alert_id": { "type": "string", "format": "uuid" },
"mesh_id": { "type": "string", "format": "uuid" },
"zone_id": { "type": "string" },
"timestamp": { "type": "string", "format": "date-time" },
"severity": {
"type": "string",
"enum": ["info", "warning", "major", "critical"]
},
"type": {
"type": "string",
"enum": ["structural", "gas", "vibration", "comms"]
},
"summary": { "type": "string" },
"details": {
"type": "object",
"additionalProperties": true
},
"recommended_actions": {
"type": "array",
"items": { "type": "string" }
},
"source_nodes": {
"type": "array",
"items": { "type": "string", "format": "uuid" }
}
}
}š 5. RouteSuggestion.schema.json#
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://triadicframeworks.org/schemas/rtt-core/v1/RouteSuggestion.schema.json",
"title": "RouteSuggestion",
"type": "object",
"required": [
"route_id",
"mesh_id",
"from_zone",
"to_zone",
"timestamp",
"clarity_profile",
"risk_level",
"instructions"
],
"properties": {
"route_id": { "type": "string", "format": "uuid" },
"mesh_id": { "type": "string", "format": "uuid" },
"from_zone": { "type": "string" },
"to_zone": { "type": "string" },
"timestamp": { "type": "string", "format": "date-time" },
"clarity_profile": {
"type": "array",
"items": {
"type": "object",
"required": ["zone_id", "clarity_score"],
"properties": {
"zone_id": { "type": "string" },
"clarity_score": {
"type": "integer",
"minimum": 0,
"maximum": 255
}
}
}
},
"risk_level": {
"type": "string",
"enum": ["low", "medium", "high", "critical"]
},
"instructions": {
"type": "array",
"items": { "type": "string" }
},
"extensions": {
"type": "object",
"additionalProperties": true
}
}
}šÆ These are now your canonical RSADI Core Schemas#
They are:
- strict
- clean
- domaināneutral
- fully extensible
- RFCāready
- aligned with every doc youāve built so far
Once these are in place, every other domain (coal, ATC, deep sea, RSADIāGD, etc.) can safely extend them without breaking invariants.