G2.6 Smart Auto + physical shadow verification: guarded dynamic reporting recovery - #230
Draft
masarray wants to merge 65 commits into
Draft
G2.6 Smart Auto + physical shadow verification: guarded dynamic reporting recovery#230masarray wants to merge 65 commits into
masarray wants to merge 65 commits into
Conversation
Merge the field-validated P1 A3 proof and final false-positive hardening into g2.6-smart-dynamic-rcb. ProductionEligible remains OFF; Smart Dynamic stays gated for the next phase.
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
Advance ARSAS from deterministic command-bound A3 into the physical G2.6 report-vs-independent-MMS shadow phase without weakening the production gate.
Current chain:
G2.4 InformationReport proof -> A2.1 command-bound MMS transition -> deterministic Q0 A3 dchg PASS -> physical two-association shadow -> independent regressions -> later explicit ProductionEligibleThe persisted field profile remains
InformationReportProven. Production automatic dynamic reporting remains OFF.Smart Auto behavior already in this branch
StartHybridReportMonitorAsyncpath so fresh discovery and exact availability are checked immediately before any dynamic writeCleanupSucceededDeterministic A3 ancestry
PR #231 was merged into this branch after the exact Q0 field run and false-positive hardening. A3 acceptance remains bounded to authoritative native MMS control-result evidence, a qualified post-command MMS transition, a later spontaneous dchg InformationReport on the same exact DataSet index, and mandatory cleanup. A3 does not grant production eligibility.
ARIEC engine pin
ARSAS now pins merged ARIEC61850 PR #99:
main @ 1efad9a2cdb6b4452b13687bbcd8c7ec41a9e53fPR #98 introduced the pure typed shadow evaluator. PR #99 hardens the production-facing bridge so
QualityRegressionPassedadditionally requires actually observed paired report/poll quality evidence and actually observed paired report/poll device-timestamp evidence. Absence of q/t evidence cannot become a production PASS.Physical shadow collector
DynamicReportShadowVerificationCommissioningServiceimplements an explicit two-phase commissioning collector.Entry point:
Ctrl + Shift + SEach phase uses two independent MMS associations:
TrgOps=dchg, GI/integrity/qchg/dupd disabled, and the exact persisted member sequence;The collector performs:
READY markers:
G2.6 SHADOW PHASE 1 READY — CAUSE ONE SAFE CHANGEG2.6 SHADOW PHASE 2 READY — CAUSE ONE SAFE CHANGEThe collector issues zero automatic control commands. The operator causes exactly one already-approved safe change only after each READY marker.
Evidence boundaries
The physical recorder is exact-index/member only and bounded. It records real report values, independent MMS polling values, report ordering/sequence when supplied, reconnect counters, re-subscription/recovery counters and dynamic activation attempts.
Report quality/timestamp is accepted only when ARIEC physically projects it from the received InformationReport. ARSAS does not copy polling metadata into report evidence, does not treat report receive time or header
TimeOfEntryas a data-object timestamp, and does not synthesize missing q/t.The current scalar proven envelope may therefore expose a legitimate new physical blocker: if q/t are not transported with the report member, strict shadow acceptance remains fail-closed. That is field evidence to resolve, not a condition to bypass.
Acceptance boundary
DynamicReportShadowVerificationAcceptanceServicenow usesMmsDynamicReportShadowProductionAcceptancePolicy.BuildStrict(...)from ARIEC PR #99.Current shadow thresholds remain deliberately strict:
Ctrl+Shift+Ssupplies independent Smart Control/static-report regression inputs asfalse; it never assumes those unrelated gates passed.The service can construct only an in-memory production-acceptance candidate. It never saves the profile and never calls
MarkProductionEligible.Shadow PASS != ProductionEligibleis an invariant.Cleanup and mutation safety
Field objective
The next physical run should use
Ctrl+Shift+Son the already-qualified IED and retain the evidence window even if strict q/t closes fail-closed. Do not merge this PR merely because CI is green; keep it draft until the physical shadow result and remaining independent Smart Control/static-report regressions are reviewed.