G2.6 Smart Dynamic RCB: guarded normal runtime with MMS fallback - #230
Draft
masarray wants to merge 97 commits into
Draft
G2.6 Smart Dynamic RCB: guarded normal runtime with MMS fallback#230masarray wants to merge 97 commits into
masarray wants to merge 97 commits into
Conversation
Owner
Author
|
G2.6 independent polling q/t increment is implemented and exact-head CI is green at Implementation boundary:
Exact-head validation:
PR remains draft and unmerged. |
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.
Goal
Make Smart Dynamic RCB work in the normal ARSAS monitoring path without repeated commissioning/shadow hotkeys and without conflating guarded runtime operation with
ProductionEligiblecertification.Normal operator workflow:
Open SCL -> Connect IED -> Start MonitorNo
Ctrl+Shift+S,Ctrl+Shift+A, or requalification is required for normal Smart Dynamic operation.Physical basis already proven
The field IED has already demonstrated:
AA1C1F08R4ADD/LLN0.RP.A_URCB01activation and DataSet binding;RptEna=true;reason=data-changeInformationReport on Q0;[0,1];The strict shadow/certification path remains fail-closed where report-side q/t is absent. This PR does not bypass that separate certification boundary.
The persisted profile remains
InformationReportProven; normal runtime never promotes or saves it.ARIEC engine
ARSAS now pins merged ARIEC61850 PR #102:
main @ 0965f67fe912355b3b29fc8123872a68d4064b04PR #100 remains the native stored-DataChange guarded planner. PR #101 introduced the first legacy compatibility seam. The physical P1.5 field run then exposed that the persisted legacy chain is broader than the later A3 dchg proof, so PR #102 adds the P1.5b subset-scoped planner.
P1.5b — broader persisted chain, narrower physical dchg scope
The exact persisted legacy
InformationReportProvenchain remains six members, in order:AA1C1F08R4Q0/CSWI1$ST$Pos$stValAA1C1F08R4Q0/XCBR1$ST$Pos$stValAA1C1F08R4Q0/CSWI1$ST$Beh$stValAA1C1F08R4Q0/CSWI1$ST$Health$stValAA1C1F08R4Q0/CSWI1$ST$Loc$stValAA1C1F08R4Q0/CSWI1$ST$LocKey$stValThe later deterministic A3 field run proved an actual NO-GI spontaneous dchg report only for the ordered subset:
AA1C1F08R4Q0/CSWI1$ST$Pos$stValAA1C1F08R4Q0/XCBR1$ST$Pos$stValThe A3 transaction used temporary DataSet
AA1C1F08R4ADD/LLN0.AR_G25A_4E20EC7E, correlated indexes[0,1], verifiedreason=data-change, GI disabled, healthy association, and complete monitor/proof-field/fresh-association cleanup.P1.5b therefore does not rewrite the six-member GI-classified persisted report proof into DataChange. The broader chain remains unchanged qualification evidence; only the two-member later physical dchg subset may receive guarded dynamic runtime authority.
See
docs/G2_6_P1_5B_SUBSET_COMPATIBILITY.md.Exact compatibility manifest
ARSAS hard-binds the reviewed field evidence to:
ied:AA1C1F08R4;sha256:50c691318c6d6a16b68b121ac48627c26e6e32b937836d559dca1b9eb559f0d9;e5f7fe9b93524f8019ff7cd01f042fc1827ef32e8b930262a2eafbf20ef357c0;AA1C1F08R4ADD/LLN0.RP.A_URCB01;This is not a wildcard migration.
ARIEC P1.5b authorization gates
MmsGuardedDynamicReportLegacySubsetCompatibilityPolicyrequires:InformationReportProvenor stronger persisted state;GeneralInterrogation;MmsGuardedDynamicReportLegacySubsetRuntimePlannerthen restricts automatic dynamic planning to only that later-proven subset, with at most one exact dynamic RCB. Static reporting keeps precedence and everything outside the proven dchg subset remains static/polling as applicable.ARSAS normal-runtime integration
NativeIec61850Clientloads the identity-compatible qualification profile read-only.Dispatch is now:
DataChange-> existing guarded planner;The same PlanId-bound original context is retained through fresh execution revalidation. The exact P1.5b registry is resolved again before use; planning is not indefinite write permission.
No in-memory DataChange rewrite is performed for the broader legacy profile.
Smart Auto static -> dynamic recovery
Static recovery still:
StartHybridReportMonitorAsyncfor fresh availability/revalidation;Runtime fallback
MMS validation remains beside report acquisition. Missing/unverified report delivery degrades affected points to MMS fallback. A real dynamic activation failure opens the existing per-device process-lifetime dynamic-write circuit breaker to prevent a repeated mutation loop.
Certification boundary
P1.5b does not:
MarkProductionEligible;P1.5b guarded runtime != ProductionEligible certification.Field objective after exact-head CI
dynamicURCB > 0for exactAA1C1F08R4ADD/LLN0.RP.A_URCB01and only the Q0 CSWI/XCBR dchg subset.RptEna=true.data-changeupdates plus MMS reconciliation.Keep this PR draft and unmerged until that normal-runtime field run is reviewed cleanly.