Skip to content

M2.13F: fence stale SSOT projections on model replacement and exact IEC key identity - #561

Draft
masarray wants to merge 5 commits into
feat/ied-browser-m2-model-hierarchy-report-qtime-20261014from
feat/ied-browser-m2-13f-ssot-lifecycle-20261015
Draft

masarray wants to merge 5 commits into
feat/ied-browser-m2-model-hierarchy-report-qtime-20261014from
feat/ied-browser-m2-13f-ssot-lifecycle-20261015

Conversation

@masarray

@masarray masarray commented Oct 14, 2026 •

Copy link
Copy Markdown
Owner

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

  1. Captured Read/Report SignalDefinition and Point bindings could update detached rows after a same-count schema/catalog reset. Per-device transient monotonic BrowserProjectionEpoch invalidates stale indexes on Signals/Points replacement and SCL/Discovery model replacement.
  2. Read planning/indexing could span cached-model reconnect; explicit Read refuses superseded schema and indexes only after association availability. In-flight results must match association, operation, and current catalog. Final synchronous inbox drain remains lossless.
  3. WPF coalescing previously keyed by lowercased legacy PointKey which omits FC. Snapshot coalescer now uses case-sensitive canonical IEC reference + FC, while old downstream PointKey remains unchanged for compatibility.
  4. Runtime startup GroupBy would 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

Remaining risks / acceptance

  • Full legacy runtime PointKey migration across reporting planner/SOE/selection/persistence needs separately reviewed complete ownership; this increment fails closed rather than silently borrowing.
  • Direct report-reference fallback still requires an exact-case/model-backed ambiguity and O(1) hot-path audit.
  • Large model / 32 LD / 119 LN, p95 WPF dispatcher, sustained CPU/memory, repeated reconnect and physical parallel BRCB/URCB tests have not yet been accepted.
  • Physical relay qualification is required; CI green alone is not physical acceptance.

No merge to main without explicit approval; PR #560 M2.14 thread owns UI/RCB/SG additions.

Copy link
Copy Markdown
Owner Author

M2.13F/G exact-source checkpoint: HEAD 2fadd9869a226a33c97f7ee10302e10da5bab023. SCL interoperability workflow https://github.com/masarray/arsas/actions/runs/38653832904 SUCCESS on that SHA: ARSAS 1901/1901, engine 1127/1127, portable EXE smoke SUCCESS; artifact https://github.com/masarray/arsas/actions/runs/38653832904/artifacts/11935179737. Full Build ARSAS workflow https://github.com/masarray/arsas/actions/runs/38653832710 remains in progress at this checkpoint; do not claim final Windows package gate until actual smoke/artifact. Runtime identity guard executes before tearing down prior monitor; no ARIEC pin change; physical multi-RCB, reconnect memory, WPF p95 acceptance pending.

Copy link
Copy Markdown
Owner Author

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.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant