Skip to content

M2.17-D: verified SGCB/GoCB status hydration, GOOSE subscribe and scoped Data Model Read - #607

Draft
masarray wants to merge 8 commits into
feat/m217c-bounded-priority-live-hydration-20261016from
fix/m217d-goose-entry-rcb-sections-files-inset-20261016
Draft

masarray wants to merge 8 commits into
feat/m217c-bounded-priority-live-hydration-20261016from
fix/m217d-goose-entry-rcb-sections-files-inset-20261016

Conversation

@masarray

@masarray masarray commented Oct 16, 2026 •

Copy link
Copy Markdown
Owner

M2.17-D — first presentation/integration repair based on October BCUGE screenshots

Stacked on draft #605 (exact SHA eb44abc9b2ab79db4ccc8ec69faffe9b5ead5f97), not main.

Observed: the native GOOSE Sniff workspace receives frames, but the Browser had no explicit GOOSE Subscribe action; Report TrgOps and OptFlds display as separate top-level collapsible sections rather than children of the RCB attributes; Files filename icon/text are flush to the grid cell edge.

Changes:

  • Add a context-only Subscribe GOOSE button on GoCB pages, opening the existing OpenIedGooseSubscriber(device) flow. When capturing, it becomes View GOOSE Capture. No second subscriber, decoder, cache, or MMS GoEna mutation. Operator chooses a NIC through the existing safety mechanism.
  • Fold TrgOps / OptFlds section entries inside the Control Block attributes expansion using existing IedBrowserDetailSectionLayout; preserve exact row identities and typed ARIEC bit interpretation.
  • File List filename template now has 10px left + 5px right inset.
  • Add regression tests for nesting, GOOSE CTA wiring and Files inset.

New verified-SGCB hydration increment: The prior full-discovery priority plan never saw control-block inventory. It now adds only the exact GetNameList-backed SGCB.NumOfSG, ActSG, LActTm targets through IedBrowserControlStateEvidence.ReadTargets, ahead of generic priority leaves, within the same 32-target/10-second bounded serial MMS Read. It does not infer SCL-only status, read editable fields, change the active group, or introduce a second cache/transport. Two new regression tests assert association fencing, deduplication and exclusion of edit commands.

GoCB control-state hydration: After full live discovery, the same bounded initial MMS read plan now includes exact live-inventory GoEna/NdsCom (GO) for up to four GoCBs. This is distinct from passive GOOSE frame reception. Skip stale/current observed values; deny SCL-only or duplicate inventory and every write. Critical LLN0/LPHD Mod/Beh/Health stay ahead of optional control-block reads under the 10-second total budget.

Data Model Read scope: A focused DO now shows Read DO with a separate compact Read LN action for the entire currently displayed logical node. The old ambiguous Read label could read only four attributes while leaving siblings Not read, creating a false impression of an unsuccessful full-LN scan. Both buttons call the existing cancellable MMS read code; no new transport.

Unresolved physical evidence: BCUGE screenshot shows the selected Browser GoCB LLN0.BCU while GOOSE Sniff shows GOOSE03; wire evidence cannot be borrowed across non-matching control blocks. SGCB attribute partial failures, RCB cross-client state, DataSet analog Not Exposed, and Browser Not read are not fixed by this PR; require focused protocol/evidence diagnosis, not GUI defaults or unsafe MMS retries. Avoid claiming hardware acceptance.

Engine 036e2c00d83a0815b6160147b14ea05975057965 and ArdIrec pin unchanged. Keep stacked draft / no main merge.

@masarray masarray changed the title M2.17-D: GOOSE subscriber entry, RCB options nesting and Files inset M2.17-D: verified SGCB initial reads, GOOSE subscriber entry, RCB nesting, Files inset Oct 16, 2026
@masarray masarray changed the title M2.17-D: verified SGCB initial reads, GOOSE subscriber entry, RCB nesting, Files inset M2.17-D: verified SGCB/GoCB status hydration, GOOSE subscribe and scoped Data Model Read Oct 16, 2026

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