mirror of
https://github.com/okieselbach/AutopilotMonitor.git
synced 2026-10-24 20:53:06 +00:00
14b185db35
A HelloSafety deadline due during Modern Standby fired after wake but was stamped with its due time, so enrollment_complete and CompletedAt landed inside the sleep window: the Network Timeline drew "Completed" in the middle of the Asleep block and three views named three different standby durations. - OnDeadlineFired posts OccurredAtUtc = FiredAtUtc and carries the due time under SignalPayloadKeys.DeadlineDueAtUtc; the stale-fire guards (RealmJoin re-arm, SelfDeploying guard C) identify the incarnation via DecisionEngine.DeadlineDueAtUtc, which falls back to the signal time for pre-key signal logs. - SignalSerializer renders Date-tokenized payload strings as ISO-8601 round-trip text instead of the culture-formatted JValue.ToString() (a replayed deadlineDueAtUtc came back as "4/20/2026 9:55:00 AM"). - Web: the Session Info standby note is clipped to the same window as the duration next to it (lib/standby.ts) and printed with seconds, matching the attribution chip. Tests: DeadlineFireTimeStampTests (late HelloSafety fire, guard C, RealmJoin re-arm, helper fallback), SerializationTests date-like payload round-trip, EnrollmentOrchestratorTests late fire, lib/__tests__/standby.test.ts. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>