You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Stacked qualification milestone for #446, based on green P7.2 PR #466.
Goal
Turn the next physical retest into an explicit ingress-equivalence proof instead of relying on log interpretation.
Discovery and Open SCL are two bootstrap paths to the same IED. Once ARIEC has produced the configured-static acquisition plan, ARSAS now records a source-neutral semantic fingerprint and compares both ingress paths on the same logical IED.
Fingerprint authority
The semantic fingerprint includes:
requested/catalog-mapped/uncovered counts;
Static BRCB/URCB classification;
exact DataSet identity;
full ordered DataSet member identity + FC;
selected runtime signal identity + FC.
Concrete live RCB slot names such as Rpt_ind01 vs Rpt_ind02 are excluded from the parity fingerprint because association ownership can legitimately select another indexed instance. Concrete slots are retained separately as runtime diagnostics.
Runtime behavior
first Static DataSet run from either ingress records evidence and reports AWAITING PEER INGRESS;
running the other ingress on the same logical IED compares fingerprints:
MATCH = source-neutral static semantics converge;
MISMATCH = explicit Discovery-only/Open-SCL-only semantic lines are logged;
reconnecting the same ingress replaces that ingress evidence rather than creating false multi-session drift;
no reporting/RCB activation behavior is changed.
Diagnostics
Copy Diagnostic now includes:
Discovery semantic fingerprint;
Open-SCL semantic fingerprint;
parity status;
concrete live RCB targets for each run;
bounded semantic differences when mismatched.
Emergency diagnostics also preserve the parity summary.
Regression
Tests prove:
Rpt_ind01 -> Rpt_ind02 does not change semantic fingerprint;
ordered DataSet member drift does change the fingerprint and reports a mismatch;
one logical IED can retain both ingress evidences;
runtime/diagnostic integration does not use concrete RCB instance identity as the semantic parity key.
Physical 7SX85 retest remains required. Expected sequence: run Static DataSet from Discovery, then open the same SCD and run Static DataSet again; Diagnostics should report MATCH while allowing a different free indexed RCB slot.
P7.3 follow-up audit (exact head e95cbd68c0bc21bc1c85c29861a1cd3f656bce72): initial CI #3543/#569 failed on one overbroad source regression guard; 1,337 other tests passed. The guard was repaired to check the actual hash boundary rather than prohibiting legitimate concrete RCB names in diagnostic-only runtimeTargets. Additional fail-closed parity checks now require authoritative planning, selected points, nonempty static plans, complete ordered DataSet membership and selected bindings before an equal hash can produce MATCH. New INCOMPLETE EVIDENCE diagnostics cover empty plans, missing datasets and stale successes following a failed re-plan. Core ARIEC61850/RCB/GI/no-MMS-polling behavior is unchanged. Four commits applied on the same P7.3 branch. Fresh CI: Build #3546 and Field Capture #572 (pending at this comment). Physical 7SX85 Discovery→Open SCD proof still required; do not promote the CodeVerified engine trial or merge this stacked branch to main based on CI alone.
Additional exact-head audit: 389a6353756cb30f5f6550e4649a00391dc89242. The previously green-looking ordered-member-drift test was not a genuine SCL vs Discovery comparison because its Open-SCL fixture had no SclWorkspace model; corrected that fixture. Also repaired inherited .github/workflows/scl-interoperability-r7.yml: the branch had a cut-off PowerShell engine-provenance block plus ~269 duplicated malformed YAML lines, causing 0-job workflow failures. The workflow is now scheduled as real SCL Interoperability R7 Build #270 and retains explicit R7/R10 physical baseline + trial CodeVerified-only provenance checks. Exact-head Build #3549, Field Capture #575 and R7 #270 are still active as of this comment. No engine change, no mainline promotion; physical device parity test remains mandatory.
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
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.
Stacked qualification milestone for #446, based on green P7.2 PR #466.
Goal
Turn the next physical retest into an explicit ingress-equivalence proof instead of relying on log interpretation.
Discovery and Open SCL are two bootstrap paths to the same IED. Once ARIEC has produced the configured-static acquisition plan, ARSAS now records a source-neutral semantic fingerprint and compares both ingress paths on the same logical IED.
Fingerprint authority
The semantic fingerprint includes:
Concrete live RCB slot names such as
Rpt_ind01vsRpt_ind02are excluded from the parity fingerprint because association ownership can legitimately select another indexed instance. Concrete slots are retained separately as runtime diagnostics.Runtime behavior
AWAITING PEER INGRESS;MATCH= source-neutral static semantics converge;MISMATCH= explicit Discovery-only/Open-SCL-only semantic lines are logged;Diagnostics
Copy Diagnostic now includes:
Emergency diagnostics also preserve the parity summary.
Regression
Tests prove:
Rpt_ind01 -> Rpt_ind02does not change semantic fingerprint;Physical 7SX85 retest remains required. Expected sequence: run Static DataSet from Discovery, then open the same SCD and run Static DataSet again; Diagnostics should report MATCH while allowing a different free indexed RCB slot.