Skip to content

M2.17-D: surface SGCB/GoCB initial MMS errors in Browser and Diagnostics - #608

Draft
masarray wants to merge 3 commits into
fix/m217d-goose-entry-rcb-sections-files-inset-20261016from
fix/m217d-initial-read-failure-provenance-20261016
Draft

masarray wants to merge 3 commits into
fix/m217d-goose-entry-rcb-sections-files-inset-20261016from
fix/m217d-initial-read-failure-provenance-20261016

Conversation

@masarray

Copy link
Copy Markdown
Owner

M2.17-D — truthful control-state initial Read failure provenance

Stacked draft base: PR #607 at exact SHA c5171a76906af60d05155516365353492e699704. Do not merge upstream or re-pin engines.

Audited defect (reproducible from code)

The existing finite initial MMS hydration in the runtime already records error-only evidence per IED and association. Ordinary Browser Data Model rows can read those errors, but SGCB and GoCB control-state properties only queried the separate manual Read error recorder. When automatic initial attempts failed, the selected control block could incorrectly remain Not read without disclosing its failure reason. This was an evidence-consumer gap, not a request to issue more MMS traffic.

Narrow changes

  • Reuse exact IedBrowserControlStateEvidence.ReadTargets (verified GetNameList-derived FC inventory) to resolve initial OR manual failure for SGCB NumOfSG/ActSG/LActTm and GoCB GoEna/NdsCom. Manual error detail takes precedence when still current; LiveValues success remains the only value authority. No speculative field, control write or GOOSE-frame inference.
  • Existing IedBrowserReadFailureEvidence now offers a read-only, sorted, maximum-32 diagnostic snapshot; current IED object, association, model/epoch and connected state are checked under the same gate. It never publishes a value or stores a second copy.
  • Reuse the existing Copy Diagnostics path: capture association/version/offline provenance and up to 12 exact reference/FC/error samples per IED from existing failure-only evidence. No new transport, cache, poll, subscriber or decoder.
  • Five focused tests cover SGCB/GoCB failure disclosure, explicit vs initial failure precedence, FC/SCL restrictions, multi-IED/reconnect fencing, sample bounds and diagnostic integration.

Not claimed by this PR

This does not fix the physical cause of unsuccessful MMS SG leaf reads, prove analog DataSet values, restore cross-client RCB reservation detection, or establish BCUGE hardware acceptance. It makes those faults more visible for evidence-led diagnosis. All remaining acceptance work is tracked on the stacked milestone chain.

No change to pinned ARIEC61850 or ArdIrec, no main merge. No local .NET compiler in this connector environment; CI exact-HEAD build/regression is the first executable gate. Keep draft until CI and later physical validation.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant