Repository navigation
M2.13F: fence stale SSOT projections on model replacement and exact IEC key identity - #561
Conversation
…reserve IEC case identity
…tor restart and preserve final read drain contract
|
M2.13F/G exact-source checkpoint: HEAD |
M2.13G exact HEAD CI gate — PASSED
Acceptance boundary: This is a source/CI milestone, NOT physical relay acceptance. Full runtime legacy PointKey migration, high-rate multi-RCB real-device cases, reconnect resource/performance/p95 WPF measurements and exact integration with independently moving PR #560 are pending. ARIEC engine pin unchanged; static DataSet report-only semantics, RCB/GI/Operate guards preserved. Draft remains unmerged. |
Thread A — M2.13F/G: SSOT lifecycle and runtime identity reliability
Draft stacked on PR #560, not public main. Exact candidate HEAD:
2fadd9869a226a33c97f7ee10302e10da5bab023. No ARIEC61850 engine pin change. No merge/release authorization.Root causes fixed
BrowserProjectionEpochinvalidates stale indexes on Signals/Points replacement and SCL/Discovery model replacement.PointKeywhich omits FC. Snapshot coalescer now uses case-sensitive canonical IEC reference + FC, while old downstreamPointKeyremains unchanged for compatibility.GroupBywould silently coalesce selected exact IEC paths differing only in case or FC into one legacy point key, potentially routing reports/SOE to the wrong point. M2.13G validates collisions before grouping, StopMonitoringSessionAsync, state construction, or RCB arming. Exact duplicated identity remains allowed. No per-frame overhead.Tests and no-regression contract
IedBrowserReadResultInboxTestssource invariant: final drain precedes catalog guard and success summary, without requiring adjacency.2fadd9869a226a33c97f7ee10302e10da5bab023; Build ARSAS https://github.com/masarray/arsas/actions/runs/38653832710, SCL R7 https://github.com/masarray/arsas/actions/runs/38653832904.Remaining risks / acceptance
PointKeymigration across reporting planner/SOE/selection/persistence needs separately reviewed complete ownership; this increment fails closed rather than silently borrowing.No merge to
mainwithout explicit approval; PR #560 M2.14 thread owns UI/RCB/SG additions.