Trace contract
The models in risansym.schemas are the advanced API for consumers that read
or validate trace files. They are deliberately not re-exported from the
package root.
TraceOutput is the authoritative Pydantic model for schema version 1.0.
The generated JSON Schema lives at shared/schema/trace.schema.json.
Compatible additions require optional fields. Any change that alters required
fields or their meaning must introduce a new schema_version and update both
validators and shared fixtures in the same delivery.
risansym.schemas
AppLogEvent
Bases: BaseModel
Recorded when a node emits an application-level log message.
Source code in core/src/risansym/schemas.py
49 50 51 52 53 54 55 56 57 | |
ReceiveEvent
Bases: BaseModel
Recorded when a node processes an incoming message.
Source code in core/src/risansym/schemas.py
35 36 37 38 39 40 41 42 43 44 45 46 | |
TraceCapture
Bases: BaseModel
Describe trace retention and make truncation machine-readable.
Source code in core/src/risansym/schemas.py
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | |
validate_counts()
Keep the truncation flag and counters internally consistent.
Source code in core/src/risansym/schemas.py
74 75 76 77 78 79 | |
TraceMetadata
Bases: BaseModel
Metadata attached to a complete simulation trace.
Source code in core/src/risansym/schemas.py
82 83 84 85 86 87 88 89 90 91 92 93 94 | |
TraceOutput
Bases: BaseModel
Top-level container for a simulation trace file.
Source code in core/src/risansym/schemas.py
97 98 99 100 101 102 103 104 105 106 107 108 109 110 | |
validate_recorded_count()
Ensure capture metadata describes the serialized trace.
Source code in core/src/risansym/schemas.py
105 106 107 108 109 110 | |
TransmitEvent
Bases: BaseModel
Recorded when a node schedules a message for transmission.
Source code in core/src/risansym/schemas.py
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | |
validate_causality()
Ensure the recorded arrival cannot precede transmission.
Source code in core/src/risansym/schemas.py
27 28 29 30 31 32 | |