G2.6 Smart Dynamic RCB: guarded normal runtime with MMS fallback - #230
Draft
masarray wants to merge 78 commits into
Draft
G2.6 Smart Dynamic RCB: guarded normal runtime with MMS fallback#230masarray wants to merge 78 commits into
masarray wants to merge 78 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 again in the normal ARSAS monitoring path without requiring the operator to repeat commissioning/shadow hotkeys and without conflating runtime operation with
ProductionEligiblecertification.Normal operator workflow after this PR:
Connect IED -> select proven signal(s) -> Start MonitorNo
Ctrl+Shift+Sis required for normal Smart Dynamic operation.Physical basis already proven
The qualified field IED has already demonstrated the exact dynamic path twice across a deliberate reconnect:
RptEna=truesucceeded;The later strict shadow result remained fail-closed because the scalar InformationReport did not transport report-side q/t and because the certification comparator rejected parity/missing-edge conditions. That certification result is retained as evidence, but it no longer blocks the already-proven guarded runtime acquisition path.
The persisted field profile remains
InformationReportProven. This PR never callsMarkProductionEligibleand never saves a promoted profile.ARIEC engine
ARSAS now pins merged ARIEC61850 PR #100:
main @ c899b05f18ba2bd4c82ebff6879e4748036e0d90PR #100 adds a separate guarded runtime planner while leaving the existing ProductionEligible production planner unchanged.
Guarded dynamic authorization requires:
InformationReportProvenor stronger;DataChange;Any point outside the proven envelope remains on MMS polling.
ARSAS normal runtime integration
NativeIec61850Clientnow loads the current qualification profile read-only at normal monitor planning time usingDynamicReportQualificationIdentity.Build(...)plusDynamicReportQualificationProfileStore.LoadAsync(...).If the identity-compatible profile is
InformationReportProvenwith successful dchg evidence, ARSAS suppliesMmsDynamicReportGuardedRuntimePlanningContextto ARIEC.The same PlanId-bound guarded context is reused at fresh execution revalidation immediately before any dynamic write. Planning is therefore not indefinite permission: ARSAS still performs fresh report discovery and exact RCB availability immediately before activation.
Static configured reporting remains eligible. For residual proven points the exact guarded dynamic RCB may be used. Everything else remains polling.
Smart Auto static -> dynamic recovery
If a static RCB cannot be used, existing Smart Auto recovery now carries the same guarded context by PlanId. Recovery:
StartHybridReportMonitorAsyncfor another fresh availability/revalidation pass.It cannot substitute an arbitrary free RCB.
Runtime fallback remains active
The existing ARSAS runtime already keeps MMS validation beside report acquisition. If MMS sees a value transition that the armed report did not deliver, the point is degraded to MMS fallback and report verification must recover before report delivery is trusted again.
A real dynamic activation failure still opens the existing per-device process-lifetime dynamic-write circuit breaker so ARSAS does not repeat destabilizing dynamic mutations. Static reporting stays eligible and affected points fall back to bounded MMS polling.
Certification boundary
The physical shadow collector and strict q/t acceptance remain available as certification/debug evidence, but are not an operator prerequisite for normal guarded Smart Dynamic runtime.
InformationReportProven guarded runtime authorization != ProductionEligible certificationNo profile promotion is performed by this PR.
Field objective
After exact-head CI is green, field validation is intentionally simple:
Keep this PR draft until that normal-runtime field run is observed cleanly.