Skip to content

P0 #707: independent exact RCB setup-vs-traffic evidence in Copy Diagnostic - #762

Merged
masarray merged 6 commits into
release/arsas-integrated-rc0-20261024from
fix/707-rcb-activation-evidence-association-20261028
Oct 28, 2026
Merged

masarray merged 6 commits into
release/arsas-integrated-rc0-20261024from
fix/707-rcb-activation-evidence-association-20261028

Conversation

@masarray

Copy link
Copy Markdown
Owner

P0 SG7 reporting: preserve true per-RCB setup write evidence, including zero-frame paths

Confirmed causal observability gap (existing operator evidence)

SG7_BCU was field-tested 77/77 and 4/4 routed RCBs on Oct 24–25, but 28 Oct recurrence showed 56/77 and 1/4, despite identical pinned engine and reporting source. The October diagnostic shows all four StartConfiguredStaticReportMonitor attempts returned success, but A01 alone had a received Report. Do not equate successful Start/RptEna/GI write with traffic proof.

Current ARSAS already captures ARIEC NativeReportMonitorStartResult.RptEnaWriteAccepted, GeneralInterrogationWriteAccepted, and ActivationReturnedAtUtc into the session's ReportActivationByPlanId. However ProcessReportHealth creates ReportStreams only after a routed frame. Thus the new merged #761 Copy Diagnostic incorrectly shows unverified write evidence for all zero-frame RCBs even when the engine had a concrete result.

Scope (6 files, no network behavior change)

  • Typed immutable Iec61850RcbActivationEvidence (native write result, not readback or actual Report).
  • One atomic read-only device.RcbActivationEvidence per current association, published only after a completed setup attempt, bounded to 64 plan IDs, cleared on start/stop/reconnect.
  • Existing Copy Diagnostic joins RCB + DataSet exactly, accepts only one matching activation, and distinguishes activationCall=success/failed/unknown, setupRptEnaWrite, setupGiWrite, activationReturnedUtc from actual Report Frames, GI frame reason, and value completeness. Ambiguous/wrong-DataSet/old-association proofs remain unknown.
  • Focused regression tests for SG7 A01 routed vs I01 zero-frame with accepted RptEna/failed GI, wrong DataSet, duplicate setup identity, and null reset.

Explicit non-goals / safety

No new IEC 61850 MMS reads/writes, no GI retransmit, no dynamic DataSet changes, no retry or cyclic polling, no receive scheduler or projection changes, no Command/Write UI changes, no ARIEC pin repin, no main/stable publishing, no claim that #707's 21 missing process values have been restored or that 4/4 RCBs were received in the failed session. Operator FAT evidence does not need to be re-captured to validate this diagnostic change.

Based exactly on integrated RC e7b1943792488af4a4dd03841c39abfe017f121a. Kept DRAFT until current-head Windows Build + app test pass and review.

@masarray
masarray marked this pull request as ready for review October 28, 2026 00:00
@masarray
masarray merged commit 833dbe3 into release/arsas-integrated-rc0-20261024 Oct 28, 2026
19 of 20 checks passed
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-28T00:01:53.650598Z 11365f5 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

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