SAI - Python mirror of the Safe Application Intermediate sub-layer (Subset-098 v4.0.0 SS5.4),
EC-counter variant. Byte-identical to ``Platform_Protocol_SafeComm`` (``src/sai/sai.c``), the same way
``simcore.saf`` mirrors ``src/saf/saf.c``.
Sits functionally *above* a connected :class:`simcore.saf.SafSession`: it wraps every user PDU in a SAI
header (message type, 16-bit sequence number, EC counter; the Triple-Time-Stamp fields are zeroed - only
EC is implemented, same scope limit as the C module) before handing it to ``SafSession.send_pdu``, and
unwraps/checks it on ``recv_pdu``. This supplies the delay/re-ordering/repetition defence the Safety
Layer's own DT PDU doesn't carry (Subset-037-2 Table 12 has no sequence field at all).
Implements SS5.4.7 (sequence window) and SS5.4.9 (EC counter freshness: the EC-start exchange, the
ratio/Ex bookkeeping, and the Delta-based 0..3 state check). Does NOT implement Triple Time Stamping
(SS5.4.8), the long-term drift correction of SS5.4.9.5, or the separate delay-detection heartbeat of
SS5.4.9.6 - same scope as ``sai.c``; see Platform_Protocol_SafeComm/docs/safety/SUBSET_MAPPING.md.