Repository navigation
Conversation
…Iec61850ReportContinuityInspector.cs
P7.6D — engine-decoded OptFlds provenance workstream / ownership (2026-10-09)Draft PR #487 on P7.6C #485 exact head Root cause confirmed from pinned ARIEC engine source: Narrow read-only fix: preserve nullable decoded option bits and a maximum 8-byte hex mask; distinguish unknown/omitted/advertised-but-undecoded counters per exact RCB and write bounded evidence to Copy Diagnostic. Keep conservative SqNum 0→0 duplicate/replay warning and no-event-loss assertion. Test missing, explicitly omitted, unknown, contradictory SqNum/EntryID, empty EntryID ambiguities, hostile hex, engine-owned decoding boundary. 5 files only (adapter, immutable metadata, continuity inspector, diagnostics, new tests); no MMS/RCB writes/GI/control/polling/SCL/engine pin/runtime value path changes. Parallel ownership: #487 owns ONLY these OptFlds provenance adapter/inspector/diagnostics lines, #486 native dialog UX owns separate XAML and dialog source; coordinate stack integration without dropping either. Physical reconnect/SOE event-history and in-app paired-ingress proof not achieved; do not merge/release prematurely. CI budget: one atomic 5-file tree push, one minimal wording contract correction, now wait on exact HEAD, not repeated speculative commits. |
Exact-head CI and field-build qualification — 2026-10-09
8d764128ccf764b20d27d178dfec64ec71581b81, including additional SCL Interoperability R7 Build.ARSAS.Tests, including 7 new per-RCB metadata coverage/sanitization/association-isolation tests.0a137004compile/regression attempt found fixture-only sanitization test position issue: malicious CRLF was placed after 550 characters and intentionally truncated at 240. Fixed fixture to place CRLF before suffix so both escaping and truncation are genuinely asserted. The first failing attempt is retained in history, without weakening production escaping or skipping tests.Field-driven continuation, stacked on P7.6C #484
Operator performed same-build Open SCD AP J and Discovery IP real field tests (Oct 9 local time), ARSAS build
f9e4a4ed1ad450469a28fdda8b3ab10cada260a6(CI-generated merge of P7.6C #484 HEAD397d7836e5b071d4f3c6b375f9c51879c58eeb48into P7.6B #4835a05ab2), engine immutable352c81e6a798635c6addcee0683235ca87ad416d. Both paths: exact samecb563f...semantic fingerprint, 13/13 displayed static values, 2/2 per-ingress RCB routed process data, 0 uncovered, 0 cyclic MMS polling. No sequence-discontinuity warning appears in these startup diagnostic excerpts.Gap discovered: absence of WARN cannot prove the inspector actually received frame metadata, nor show SqNum OptionFields presence or observed-frame count. These ~30-s startup captures also do not qualify reconnect, event replay, SOE continuity, BRCB gap classification, or GI causality. Both sessions are independent app processes and still show
AWAITING PEER INGRESS.Scoped implementation
Ownership / safety / qualification
This is DIAGNOSTIC EVIDENCE ONLY. No IEC engine pin update, MMS semantics, RCB enable/disable/GI, control output, cyclic reads, report value acceptance, model rewrites, or cross-session proof persistence. Four existing files touched (inspector, runtime diagnostic only, monitor model diagnostic property, Copy Diagnostic), plus one test file. No real device addresses or diagnostic payloads committed.
Multi-thread coordination: this draft owns only report continuity region of
Iec61850MonitorRuntime.csand per-device snapshot; rebase/coordinate with concurrent work. Keep #485 stacked/draft; code/CI/artifact/physical reconnect gates remain explicit. Parent issue #446. Base immutable #484 head397d7836e5b071d4f3c6b375f9c51879c58eeb48.