15.86 14.4.11 Contrato
PhaseInterval
| Campo | Tipo/regla |
|---|---|
phaseSegmentId |
string immutable within attempt revision |
attemptId |
string |
hierarchyLevel |
L0|L1|L2|L3|L4 |
laneId |
string |
phaseType |
vocabulary value or extension namespace |
parentSegmentId |
string|null |
childSegmentIds |
array |
startBoundaryEventId |
string |
endBoundaryEventId |
string|null for provisional/open interval |
startTimestampNs |
int64 representative |
endTimestampNs |
int64|null; interval is [start,end) |
durationMs |
derived float|null |
dominantBodyRegionIds |
array |
sourceContactSet |
array |
targetContactSet |
array |
activeContactSummary |
counts, roles, support probabilities and load summaries |
kinematicSummary |
optional aggregate feature references, not duplicated raw samples |
statePosterior |
array<{phaseType,probability}> or compressed time-varying posterior |
confidence |
float 0..1 calibrated at segment level |
completeness |
Complete|LeftCensored|RightCensored|Open|Fragmented|Unknown |
outcome |
Completed|Interrupted|Failed|Merged|Unknown |
qualityFlags |
array |
provenance |
segmentation mode, model version, constraints and revision |
Los intervalos son semiabiertos [start,end). Esto evita
doble conteo de un frame o sample exactamente en una frontera. Una fase
abierta en modo online puede tener
endBoundaryEventId=null.