Repository navigation
Conversation
…ve IED/LD export mappings
This was referenced Oct 10, 2026
Owner
Author
|
Integration safety note (2026-10-11): this #160 is a separately tested MAIN-based P10 patch, not the ancestry used by ARSAS. P10 has now been integrated using the exact pinned Discovery line via PR #161 -> PR #157 at SHA 00ad281, preserving ~97 pre-existing engine commits. Do NOT replace ARSAS's immutable engine pin with this main-based #160 branch or merge this duplicate into that integration without a deliberate ancestry/content audit. Keep this PR as historical/reference candidate; real BCUGE physical round-trip and R10 mainline promotion remain pending. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
An Edition 1 single MMS domain
BCUGEF650cannot prove by itself where IED name ends and logical-device instance begins. Current heuristic properly falls back to host, but consumer SCL export can accidentally encode that provisional host ID as an authoritative IED identity.Engine implementation
TrustedSclIedIdentityMatcher.TryMatch: compare all observed MMS domains with actual SCLIED/AccessPoint/Server/LDeviceeffective domains (ldNamewhere explicit; otherwiseIED.name + inst). Require one unambiguous AP/IED topology and compatible configured IP if present; no vendor suffixes or hidden guesses.mmsDomain → LDevice.instmapping only after a full unique match. No network operations, SCL parsing is in-memory, no retries, polling, worker, or discovery overhead.VerifiedIdentity: fail closed on incomplete aliases, conflicts, or ambiguous identity; normalizeIED.name,ConnectedAP.iedName,LDevice.inst/ldName, and dependentFCDA.ldInsttogether, then validate that every original MMS domain survives. Legacy export path unchanged unless verified evidence is explicitly provided.ldName, wrong IP/IED/domain, duplicate AP, unverified identity, and existing multi-domain OLSF501/OCR7SJ8 heuristics.Boundaries
This is a separately qualified engine candidate; consumer pin remains immutable until validated. No native MMS receive/control/RCB changes, no automatic host-as-authoritative promotion, no vendor naming switch. Physical BCUGE Open SCL/Discovery round-trip must be verified before public release.