Repository navigation
Conversation
…ted NIC without MMS
… selected local IP binding
…nsport invariants
…fter newer intent
… standalone IP workflow
P8 SNTP standalone milestone — exact HEAD Windows CI qualified (2026-10-10)HEAD Build ARSAS #38015752803 SUCCESS: Windows WPF/.NET build, 1,463/1,463 application regression tests PASS, portable single-EXE publish, portable smoke test and artifact upload all SUCCESS. Exact-head x64 portable artifact #11656296599. Implementation: local IPv4 inventory including aliases, fail-closed NIC+IP validation, standalone app-controlled SNTP UDP/123 with existing optional Npcap fallback, compact toggle + PC IP dropdown + packet-status LED, default OFF, asynchronous serialized ON/OFF/rebind with monotonic intent versions, WPF status coalescing and client log deduplication. No new native code, Windows Time changes or new background service. Historical SNTP protocol/clock provenance docs preserved. Other non-promotion checks SUCCESS (Golden Provenance, Golden Budget, Repeat-Run, Merge Execution, Production Promotion, SV, Field Capture). Mainline Readiness remains intentionally blocked by parent discovery physical qualification; do not bypass or merge. Field validation still required: 0 IED connected → choose active PC IP → ON → SNTP client Mode 3 request on UDP/123 → Mode 4 reply/LED → OFF → binding released → change PC IP → repeat. Traffic counters alone do not prove relay synchronization or GPS traceability. |
Standalone ARSAS NTP Server (managed .NET)
Draft stacked on ARSAS #499. No changes to ARIEC61850 engine, IEC 61850 Discovery, MMS reporting, GOOSE capture, device control, or installed Windows Time service. No new native code or OS service.
Minimal UI: narrow header strip [toggle] NTP Server [PC IPv4 dropdown] [traffic LED]. Tooltip-only diagnostics; no card or explanatory static text. On startup the service is OFF. PC IPv4 inventory enumerates each active non-loopback local unicast address, including aliases, and refreshes on opening the dropdown. Interface identity is preserved; stale/duplicate selections fail closed. One explicit ON action immediately starts serving UDP/123 on the chosen local address, without a single connected IED. OFF stops its socket and background workers. Switching IP while active serializes Stop → fresh route/address validation → Start. The switch remains responsive while starting; a monotonically increasing intent version rejects stale asynchronous changes.
Existing protocol engine retained: UDP socket path, optional Npcap RAW fallback, SNTP Mode 4 reply and Mode 5 broadcast, clock health guards, existing local commissioning profile, and client evidence counters remain. Windows Time is never modified. LED distinguishes OFF, idle-serving, request-without-reply, reply observed and fault. The LED is evidence of SNTP packet exchange, not proof of relay synchronization or GPS/UTC traceability.
Optimization: status from request bursts is coalesced into one pending WPF Dispatcher update; unique SNTP client log events deduplicated before scheduling UI; fast ON/OFF races serialized via gate + versioned intent. No extra network polling workers or unmanaged UI control.
Tests: local IP and alias selection, duplicate IP across NICs, loopback/unspecified rejection, missing NIC address, independent lifecycle, FAT diagnostic compatibility and native packet invariants. Exact-head Windows compile/regressions + portable smoke required. Field-test with zero IEDs: choose local IP, ON, receive Mode 3 query and Mode 4 reply, OFF, change IP and repeat; monitor Windows clock health. Keep draft / physical promotion gating intact.