Repository navigation
Conversation
…ve IED/LD export mappings
|
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. |
|
2026-10-22 staging→main audit triage. Keep this PR OPEN (unique/divergent functionality), do not cherry-pick or close as duplicate. SHA Current staging SHA |
|
2026-10-22 semantic reconciliation completed against staging (not a verbatim Git merge): original #160 HEAD |
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.