Skip to content

GOOSE UX: tidy event header alignment without altering capture - #512

Draft
masarray wants to merge 94 commits into
fix/511-canonical-process-values-all-workspacesfrom
fix/512-goose-event-header-alignment
Draft

masarray wants to merge 94 commits into
fix/511-canonical-process-values-all-workspacesfrom
fix/512-goose-event-header-alignment

Conversation

@masarray

Copy link
Copy Markdown
Owner

Purpose

Operator's physical BCUGE screenshot shows a tall, stretched event-count badge and misaligned GOOSE event header controls. This is layout-only, based on validated PR #511; preserve all capture/event/filter, badge, and static reporting behaviors.

Changes

  • Compact single-baseline GOOSE Events toolbar, with stable 30px header / 21px nonwrapping count capsule and explicit vertical centering; keeps the count from expanding to the full control height.
  • Scope dropdown, Follow latest and Retransmissions checkbox share 28px aligned controls with consistent spacing. Scope options and all existing TwoWay binding names remain unchanged; shortened optional text keeps the toolbar legible.
  • No new worker, polling, layout timer, reflow hack, event replay/dedup, or engine modifications. GOOSE DataSet inspector and canonical display preserved.
  • Two focused XAML structural regression tests verify columns/height/narrow count/no-wrap, exact scope/checkbox bindings and active events selection.

Operator diagnostic review (not fixed in this UX patch)

Both physical Open SCL and Discovery routes report static DataSet=8, members=124/124, 67 runtime points, 6/6 report RCB traffic, unresolved=0, polling disabled. Parity remains formally incomplete because sessions were separate, physical RCB instances differ, IED identity for live Discovery is fallback low, and 6400-name enumeration cap records incomplete chain. Report continuity warnings (BufOvfl/sequence anomalies) also require separate scoped investigation; never claim complete model/continuity parity from displayed=67/67.

One automatic CI validation of this exact commit; preserve the draft PR and physical guard. No mainline merge, no public release.

Add deterministic workflow inventory, synthetic corruption tests, a reviewed CI-sprawl budget, and a lightweight workflow-integrity guard. No existing workflow is retired and no IEC 61850, physical-evidence, release, or runtime semantics are changed.
Introduce conservative source change classification, a reusable exact-SHA engine resolver, and an opt-in Windows restore/build/full-test shadow with typed provenance and fail-closed TRX evidence. Preserve all legacy CI, physical acceptance and release authorities. 10/10 triggered workflow checks passed on the PR merge tree.
Consume immutable successful Build ARSAS test artifact with exact PR merge SHA, pinned engine SHA, run/attempt and all-pass TRX digest checks instead of rerunning one Windows restore/build/test lane. Preserve P0-5h source contract, read-only access, manual reusable fallback and historical R10/P141 physical authority. All 10 triggering workflows passed.
…ssion

Eliminate duplicate ARSAS restore/build/full-test invocation from R10 Mainline Readiness; preserve independent 988/988 engine tests and physical convergence predicates. Require exact PR synthetic merge SHA/pinned engine/run-attested 1320/1320 canonical ARSAS TRX before readiness can pass. Manual reusable tests retained. All 12 PR checks passed.
Reuse exact merge-SHA and immutable engine canonical Build ARSAS all-pass evidence instead of a third independent ARSAS restore/build/test. Preserve source-route verification, SHA256 immutability, physical R10 authority, manual full tests and production protections. All ten PR workflow checks passed.
Allow selected canonical regression consumers to finish as soon as the exact all-pass manifest/TRX artifact is available, while keeping strict verifier mode as default and Build ARSAS packaging/smoke as an independent check. Ten of ten PR workflows passed; observed savings were about five runner-minutes on the validation PR.
Keep independent R10 engine regression and physical assertions, but reuse exact push/main Build ARSAS canonical regression evidence for the application suite. Preserve schema-compatible post-merge attestation with explicit verification state. All ten PR workflows passed.
…ckaging

Reuse exact merge-SHA and integration-engine canonical ARSAS regression evidence for Field Capture while preserving P0-5c/P0-5d checks, physical baseline evidence, independent publish, portable smoke and package authority. Binary artifact reuse remains explicitly forbidden because reproducible byte identity has not been proven. All ten PR workflows passed.
Make the pinned ArdIrec bridge reproducible with MSVC /Brepro, make managed publish determinism explicit, emit hash-bound portable build identities and fail early on packaging PowerShell syntax. Independent Build ARSAS and Field Capture runners produced identical bridge and portable SHA-256 values. All triggered workflows passed.
Build and test the Windows application once, seal exact portable/installer-input/test-runtime bytes with source, engine, ArdIrec, run, TRX and per-file SHA-256 evidence, and make installer PR/main validate and consume those bytes instead of rebuilding the application. Preserve P3A reproducibility, physical Smart Discovery authority, independent installer/runtime smoke and manual fallback. Harden package materialization against Windows path aliases. Stable release promotion remains unchanged and the sealed artifact explicitly has no release authority. All eleven PR workflows passed.
Retry only transient artifact archive HTTP 404 while preserving the existing bounded wait and all exact source/engine/ArdIrec/hash authority checks. Persistent 404 times out fail-closed and all other download failures remain hard errors. All ten PR workflows passed.
Use the same hash-complete ARSAS-windows-package-input as installer and Field Capture promotion substrate. Seal and verify portable build identity, promote exact canonical portable bytes, retain field-specific checks/runtime smoke, and keep workflow_dispatch independent publish fallback. All twelve triggered workflows passed and exact-byte parity was verified.
Complete CI-P3 build-once/package-many for Windows production release. Main/tag release paths now require the exact successful Build ARSAS push/main sealed package for the same source, ARIEC61850 and ArdIrec SHAs, promote exact portable and installer-input bytes, and retain release-owned native verification, installer compile/install smoke, checksum, SBOM, provenance, attestations and immutable publication. Manual workflow_dispatch keeps the local rebuild fallback. All twelve triggered PR workflows passed.
Seal installed-smoke-tested installer authority and make production release promote those exact installer bytes from the same canonical package. Preserve release-specific installed runtime verification, supply-chain evidence, stable-release immutability, and manual local Inno fallback. All twelve PR workflows passed.
Use a metadata-only ubuntu gate to wait for the exact Build ARSAS canonical package before allocating the Windows installer runner. Full sealed-package verification, installer compile, silent install/runtime smoke, validated-installer sealing and manual fallback remain intact. Latest PR validation reduced Windows installer occupancy from about 500s to 103s while all 11 workflows passed.
Move production release dependency polling to a metadata-only Ubuntu gate and allocate the Windows release runner only after the exact canonical package and completed-success validated installer metadata exist. Keep all byte-level package/installer verification, runtime smoke, SBOM, provenance, attestations, publication policy and manual fallback unchanged. Retry only transient validated-installer archive HTTP 404 within the existing bounded verifier deadline. All twelve triggered PR workflows passed.
Cancel stale Windows-heavy pull-request runs when a newer PR revision arrives while keeping every push/main, tag and workflow_dispatch run isolated by unique run_id. Real synchronize validation proved older PR heads are cancelled and the latest head completes all checks successfully. No build, test, package, installer or release authority is weakened.
Reuse exact canonical Build ARSAS TRX evidence for specialized SV and IO PR checks, require explicit domain test-family presence/pass, keep stable check names, and retain focused Windows diagnostics for manual dispatch. Consolidate domain evidence uploads and lower the P0 artifact ceiling. All twelve triggered PR workflows passed.
ci(p3i): preserve exact main and manual verification evidence
…RADE

ci(p3j-a): seal canonical native ArdIrec CTest evidence without retiring COMTRADE
ci(p3j-b): verify sealed native CTest proof before installer and Field Capture reuse

Copy link
Copy Markdown
Owner Author

P10.8B milestone — bounded BRCB decoder-metadata chronology (2026-10-11)

Current staging: fix/512-goose-event-header-alignment advanced via non-force fast-forward from tested P10.8A a7f4edbf5cb972eacb9baaf0c25e4475ee5f10c9 to exact 3c58a476e25289a1a59f55992dbf70c81f73fffd, PR #522 GitHub confirms MERGED. Immutable new checkpoint checkpoint/p10-8b-bounded-brcb-chronology-3c58a476. Previously verified P10.6 checkpoint/p10-6-field-verified-bcuge-parity-a8835102 and P10.7 checkpoint/p10-7-brcb-observability-415d1db7 stay unchanged; P10.6 milestone #518 protected.

Engineering scope: only three consumer files changed: Services/Iec61850ReportContinuityInspector.cs, Services/DiagnosticReportBuilder.cs, tests/ARSAS.Tests/P108BBoundedReportChronologyTests.cs. For buffered RCB only, record first 32 and most recent 8 received decoder metadata frames per exact stream using lazy-allocated fixed-size ring of readonly record structs, no unbounded collection/per-frame heap trace allocation. Metadata includes receive-order ordinal, explicitly known/unknown receive time, SqNum, GI reason, BufOvfl, opaque EntryID relation only (changed/repeated/unverified/absent; requires independently verified OptionFields for both consecutive frames), and number of WARN findings on each frame. Never store raw EntryIDs, payload values, MMS PDU bytes. Snapshot copies up to 40 structs/RCB and diagnoses omitted middle count, first/tail order. Report makes clear receive-order metadata is not TCP packet order, no SOE losslessness conclusion. Four URCBs have no chronology buffer.

Exact candidate CI: 10/10 green, full Windows solution/regression, pinned engine identity/canonical SCL, ArdIrec native CTest, portable single EXE smoke, CI guards; Build ARSAS run #38120012150, portable artifact #11695130540 (not expired when checked). Nine new deterministic tests verify ring 60 frames and omitted interval, boundary lengths, warning retention with repeat SqNum/EntryID, raw OptionFields rejection, no raw cursor leakage, URCB no history, frozen snapshot, unknown timestamps and stream isolation. At stage promotion exact SHA/baseline preflight passed. Auto-triggered 16 post-fast-forward workflows started, not manually dispatched.

Protected physical simulator truth: Operator previously verified BCUGE with original SHA-pinned BCU_GE.iid, 7/7 identical static semantic rows/fingerprint 439d4dc0507019533b154ed68f7f4007f39f6be92b5cd3f413ff3b84f619727e, 8 DS/124 ordered members, 67/67 runtime values, 6/6 routed configured static RCBs, no cyclic MMS polling. Most recent 13:28 user report from P10.7 showed 43 reports and 623 updates, 13 findings/10 Sq discontinuities/3 BufOvfl on the same GW BRCB slots as earlier Open SCL. All anomalies clustered at activation, but no wire capture means client-vs-simulator cause and SOE replay/loss remain UNKNOWN, warnings MUST remain. P10.8 Issue #520 owns the real-wire same-slot investigation; engine partial 6400/64 page NameList remains ARIEC #162.

Safety: ARIEC stage and pinned lock remain 00ad2819b99ffe6b3f885e59aa24a6afb2b4d8e1, ARSAS main remains 7d8d8026ae96d45f44d47f361d115a437af88fbe, ARIEC main unchanged. No decoder behavior, extra network I/O, RCB ownership or GI rewrites, no R10 physical qualification, main merge or public release. Next operator test: run P10.8B EXE in GE simulator, record complete Diagnostic Report after startup and after a permitted safe indication change; compare per-GW-RCB chronology to Wireshark trace. Do not interpret receive order as wire proof.

Copy link
Copy Markdown
Owner Author

P10.8C — completed isolated milestone (2026-10-11)

Verified latest staging was P10.8B 3c58a476e25289a1a59f55992dbf70c81f73fffd, which had already passed 16/16 post-FF workflows, not the earlier P10.8A head. P10.6 trusted BCUGE IID and static-report parity field milestone #518 remains protected. Engine lock still exact 00ad2819b99ffe6b3f885e59aa24a6afb2b4d8e1.

Root-cause-quality observability gap: P10.8B retains first 32 + latest 8 BRCB decoder report metadata frames. In a long BRCB stream, genuine BufOvfl/SqNum anomaly at frame #46 of 70 is lost from the detailed head/tail evidence, despite existing aggregate counters. A long-running gateway needs to preserve intermittent anomaly evidence with bounded memory.

Implemented PR #523: new lazy fixed ring of the last 8 anomalous BRCB frames, independent of unchanged existing first32/last8 chronology; copies in receive order into immutable snapshot; bounded BRCB anomaly history diagnostic section; no raw EntryID, MMS PDU, process values or unbounded history; zero new allocation for healthy BRCBs or URCBs until actual BRCB anomaly. O(1) append and constant per-BRCB memory. Exactly 3 files change: inspector, diagnostic formatter, five deterministic xUnit cases covering omitted-middle anomaly, ring wrap, immutable snapshot, no allocation for healthy/unbuffered and no secret cursors in diagnostics.

Exact PR head a10eae2c3a5be11ba63e0b94b78d4f24c7fc73f2 CI 10/10 SUCCESS, canonical Build ARSAS #38122272726 and Windows Portable EXE #11695822574. Guarded non-force FF from P10.8B staging to that SHA; checkpoint checkpoint/p10-8c-anomaly-chronology-a10eae2c; PR marked merged. New staging 16 automatic workflows triggered on identical SHA: currently 1 green/15 running, zero failures; do not manually duplicate CI.

Invariant: ARSAS and ARIEC main unchanged, ARIEC engine lock unchanged. Absolutely no changes to IEC 61850 decoder, RCB setup/selection, static DataSets, control, polling or GOOSE. SOE lossless physical qualification still NOT VERIFIED; BRCB BufOvfl=3 historical user logs remain genuine and must not be hidden. Device/protocol root cause still requires same-slot on-wire capture per Issue #520; Smart MMS 6400/64 partial NameList remains ARIEC #162.

Copy link
Copy Markdown
Owner Author

P10.8C checkpoint + P10.8D exact BRCB-slot comparator integrated (2026-10-11)

Baseline audit: Existing staged HEAD had already advanced beyond P10.8A to a10eae2c3a5be11ba63e0b94b78d4f24c7fc73f2 with 16/16 exact-head GitHub CI SUCCESS (P10.8B first32/last8 receive chronology and P10.8C last8 anomalies, no raw EntryID). Preserved as checkpoint checkpoint/p10-8c-bounded-anomaly-chronology-a10eae2c before changes, not rebuilt on older base.

P10.8D: ARSAS PR #524 adds read-only offline comparator scripts/compare-p10-brcb-sessions.py, nine standalone fixture regressions and one canonical Windows CI invocation. The comparator refuses misleading A/B analysis if IED name, pinned engine SHA, static semantic fingerprint, exact BRCB reference set, or DataSet differs. It compares per-slot observed counts and bounded chronology evidence only, NEVER asserts wire order, SOE lossless or physical R10 qualification; no live protocol writes, decoder, static DataSet, UI runtime, process polling or engine changes.

Exact PR head ce73df3a47e163416c232b083eba1e4915f33e17 passed 12/12 GitHub Actions checks SUCCESS including canonical Windows build #38125585489 and portable EXE artifact #11697416229. After explicit exact-SHA, engine lock, main branch and FF ancestry checks, PR #524 merged into staging via non-force guarded fast-forward a10eae2c...→ce73df3a..., checkpoint checkpoint/p10-8d-brcb-same-slot-comparator-ce73df3a. All original milestone checkpoints still exist. 16 automatic post-promotion CI workflows started; do not manually trigger duplicates.

Protected field milestone: #518 P10.6 BCUGE High verified identity, seven-row fingerprint 439d4dc0507019533b154ed68f7f4007f39f6be92b5cd3f413ff3b84f619727e, 8 DataSets/124 members, 67/67 process values, 6/6 RCB report traffic, 0 cyclic polling. Engine lock remains exactly 00ad2819b99ffe6b3f885e59aa24a6afb2b4d8e1; ARSAS/ARIEC main and public release untouched. Last GE simulator evidence still has BRCB BufOvfl and SqNum issues; this tool does NOT fix or hide them. IEC wire-order trace and physically controlled event evidence are still required before engine/protocol changes.

Copy link
Copy Markdown
Owner Author

CROSS-THREAD STATE SYNC — Canonical P10.8D handoff (2026-10-11)

Authoritative detailed handoff: ARSAS #525. Follow it as a snapshot; re-read GitHub branches before doing anything.

Verified ACTIVE ARSAS staged HEAD fix/512-goose-event-header-alignment = ce73df3a47e163416c232b083eba1e4915f33e17 (P10.8D; PR #524 merged into this staged parent; NOT into main). 16/16 staging CI SUCCESS and 12/12 PR candidate checks SUCCESS, no failures; latest staged canonical Windows Build #38126064952 SUCCESS, portable EXE artifact #11697297492. Newest actual checkpoint checkpoint/p10-8d-brcb-same-slot-comparator-ce73df3a; earlier P10.6 field simulator checkpoint/p10-6-field-verified-bcuge-parity-a8835102 and P10.7/P10.8A/B/C checkpoints untouched. Consumer engine lock and engine staged head 00ad2819b99ffe6b3f885e59aa24a6afb2b4d8e1. ARSAS main 7d8d8026..., engine main e5deed1d... unchanged.

P10.8D adds offline fail-closed BRCB exact-slot comparator scripts/compare-p10-brcb-sessions.py with nine regression fixtures in canonical Windows CI; refuses differing IED, engine SHA, fingerprint, RCB slots or DataSet, NEVER calls event lossless or on-wire validated. P10.8B/BRCB fixed-size first32/last8 chronology and P10.8C last-eight anomalous metadata already merged. Neither changes MMS report/control engine or polling. Milestone #518 BCUGE trusted IID/8 DS/124 members/67 points/6 RCBs/zero cyclic polling remains protected. Same-slot GE BRCB BufOvfl/SqNum root cause #520, incomplete 6400/64-page MMS #162, GOOSE validity and physical R10 remain NOT accepted. Both parent PRs remain draft. No main merge or public release.

Repo-only documentation action: #525 and these linked issue/PR comments; no runtime code or branch ref movement and no redundant 16-workflow Actions churn in this sync.

masarray commented Oct 11, 2026 •

Copy link
Copy Markdown
Owner Author

P10.8E COMPLETE — guarded staging promotion (2026-10-11)

  • Verified active ARSAS staging: fix/512-goose-event-header-alignment → b129e7da32d804effff195497359f5ff0eb56a07. Prior P10.8D ce73df3a47e163416c232b083eba1e4915f33e17 remains immutable.
  • PR #526 MERGED, exact one-commit FF, SHA guarded, no force. New immutable checkpoint checkpoint/p10-8e-brcb-bufovfl-evidence-b129e7da.
  • Exact candidate PR CI 8/8 SUCCESS, canonical Windows run #38131234805 SUCCESS; portable EXE artifact #11699800391; field-capture job reuses sealed canonical output. All existing 9 + 4 new Python comparator fixtures passed.
  • Two offline scripts changed only: per-exact-BRCB-slot decoded BufOvfl frame counts now shown and missing/impossible overflow evidence blocked. NO runtime wire/protocol, engine, RCB, GI, controls, process polling or GOOSE changes. Engine and lock remain 00ad2819b99ffe6b3f885e59aa24a6afb2b4d8e1. P10.6 BCUGE semantic fingerprint/8 DS/124 members/67 signals/6 RCB/no cyclic polling remains guarded (MILESTONE LOCK: P10.6 BCUGE IED identity + 7-row static parity verified on simulator #518).
  • After promotion: GitHub staging post-FF workflows triggered automatically; check their live exact-SHA results, not yet called 16/16 successful as of this comment. No redundant manual reruns.
  • NOT RESOLVED: startup/GI BRCB 13 findings/10 Sq discontinuities/3 BufOvfl (P10.8: isolate BCUGE BRCB BufOvfl and SqNum/EntryID discontinuities with same-slot wire-order evidence #520), missing on-wire causal evidence and SOE lossless, engine full NameList 64-page cap (Restore first-run SCL, IP and Excel launcher cards #162), GOOSE E2E, physical R10. Comparator remains SAME_SLOT_OBSERVATION_ONLY, no wire-order or physical-qualification claim. No main merge or public release.

Copy link
Copy Markdown
Owner Author

P10.9A merged — exact SHA and field-evidence guard (2026-10-11)

  • Latest verified ARSAS staging a27d108b765cb725f042c85b584b254969a56519 on fix/512-goose-event-header-alignment; PR #527 MERGED via guarded non-force fast-forward from verified P10.8E b129e7da32d804effff195497359f5ff0eb56a07. New immutable checkpoint checkpoint/p10-9a-independent-brcb-triage-a27d108b; P10.8E and P10.6 checkpoints untouched.
  • Exact candidate 8/8 GitHub workflow success, including canonical Windows Build #38132660589 and sealed field-capture reuse. Windows portable EXE artifact #11699523267. 19 Python comparator fixture tests passed; no additional workflow.
  • Only two existing offline comparison scripts changed: opt-in --independent-triage produces separate per-ingress BRCB observations when RCB slots differ; default P10.8E exact-slot comparator still fails closed. Exposes decoded BufOvfl frames, SqNum GI-context, actual frames after last finding and bounded chronology/time evidence. Output explicitly disclaims paired-reliability comparison, wire order, lossless SOE and physical R10.
  • User's 2026-10-11 BCUGE Open SCL and Discovery reports are cross-slot (GW vs SOGI), same engine and 7-row semantic fingerprint, 8 DS/124 members/67 displayed values/6 routed RCB/zero cyclic polling. Each had 3 BufOvfl; each EVE BRCB had only 2 GI+overflow frames and 0 clean follow-up. See Issue #520 for exact metadata. No raw private operator reports committed.
  • Engine staging and consumer pin unchanged 00ad2819b99ffe6b3f885e59aa24a6afb2b4d8e1, main untouched, P10.6 MILESTONE LOCK: P10.6 BCUGE IED identity + 7-row static parity verified on simulator #518 protected. Staging post-FF 16-workflow group auto-triggered; verify current exact-SHA completion before another milestone. Do not manually rerun duplicates.
  • UNRESOLVED: BRCB physical wire-order causal evidence/lossless SOE (P10.8: isolate BCUGE BRCB BufOvfl and SqNum/EntryID discontinuities with same-slot wire-order evidence #520), engine 6400/64 partial NameList (Restore first-run SCL, IP and Excel launcher cards #162), GOOSE E2E, actual GE physical R10 qualification. No main merge/release. Canonical handoff #525 updated to P10.9A exact code authority.

Copy link
Copy Markdown
Owner Author

P10.9B integrated / checkpoint and canonical artifact (2026-10-11)

  • Active staging SHA 6bc21ff4787ad10a53a70ec33fe26268620c100d, exact PR #528 MERGED with non-force expected-SHA fast-forward from P10.9A a27d108b765cb725f042c85b584b254969a56519. Immutable checkpoint/p10-9b-brcb-receive-gap-6bc21ff4 created and verified; earlier P10.9A/P10.8E/P10.6 checkpoints untouched.
  • Exact candidate 8/8 GitHub CI SUCCESS, canonical Windows Build #38135772727, full app + pinned native bridge regression, 25 comparator fixture tests; portable EXE artifact #11700239827. New staging 16-workflow CI started automatically, live completion still to verify (no manual reruns).
  • Changed only two existing offline Python files. Opt-in --independent-triage now separately validates exact fully retained decoder receive-order history before revealing longest inter-frame gap and largest gap preceding a non-GI, non-overflow backward/repeat SqNum finding. Truncated or invalid history returns unknown/null. Default strict same-slot reliability comparator unchanged; outputs explicitly NOT wire packet order, lossless SOE, or physical R10.
  • Fresh private operator 2026-10-11 Open SCL / Discovery capture shows CSWI 39/39 vs 40/40 bounded frames, recurring 12→1 vs 8→1 non-GI findings after 19,734.103 ms vs 19,615.422 ms decoder inter-frame gaps (~20 sec after RCB start-return). But observed GW vs SOGI slots are different and cannot be paired for a reliability conclusion. EVE still 2 GI/BufOvfl frames and 0 clean follow-up in each session. See #520 and current handoff #525.
  • Engine staging/ARSAS lock pinned 00ad2819b99ffe6b3f885e59aa24a6afb2b4d8e1; main untouched, no runtime/decoder/network/RCB/GI/controls/polling changes, no release. The causal next step remains permitted MMS wire trace and genuinely identical free BRCB slot; P10.8: isolate BCUGE BRCB BufOvfl and SqNum/EntryID discontinuities with same-slot wire-order evidence #520 / engine Restore first-run SCL, IP and Excel launcher cards #162 and physical R10 still open.

Copy link
Copy Markdown
Owner Author

P10.9C integrated on staging: smart Discovery IP/port default

Exact staging SHA 83e3ac4d4437f60b73b3a1328c1188dc36c3d4a5, PR #529 MERGED by expected-SHA non-force FF, immutable checkpoint checkpoint/p10-9c-discovery-last-ip-83e3ac4d. Exact candidate 12/12 GitHub workflows SUCCESS, canonical Windows run #38138038718, portable single EXE artifact #11702162528; 5 new user-preference xUnit regressions (Windows app tests PASS). Newly triggered staging CI 16 jobs still being verified.

  • Operator screenshot showed 192.168.1.10 baked into IP Discovery dialog despite actual 192.16.1.33:102 target. Root cause: hardcoded MainWindow._newDeviceIp, no last-submitted IP default, and existing history recorded only successful connections.
  • Fix: remove hardcoded IP; only Discovery opts into last confirmed IP+port from existing JSON user preferences, persisted upon valid Connect & Discover submission regardless network success; Cancel and invalid entries don't write. Read live editable ComboBox text so Enter/keyboard submission is never stale. Existing SCL endpoint binding remains explicitly isolated from this opt-in.
  • Scope exactly 4 source/test files; no ARIEC engine/reporting/MMS/RCB/GI/decoder/GOOSE/control/polling changes, main untouched, P10.9B/P10.9A/P10.8E/P10.6 checkpoints safe, engine pinned 00ad2819b99ffe6b3f885e59aa24a6afb2b4d8e1.
  • Latest operator private Open SCL/Discovery diagnostics are merge-test 405d0d17... and both show same GW slots, 67/67 display /6/6 exact static RCB traffic /zero cyclic MMS polling; BRCB continuity still observational and tracked separately in Issue #520, no wire-order or SOE claim. Canonical handoff #525 updated.

GUI acceptance: launch new artifact, choose Discovery IP, enter 192.16.1.33:102, submit; quit/reopen ARSAS and confirm same values auto-populate. Invalid input or Cancel should never change them; SCL manual IP binding must NOT inherit arbitrary Discovery IP.

Copy link
Copy Markdown
Owner Author

P10.9D–E actual source fixes completed in ARIEC engine (#163, #164; both exact Windows .NET CI green, engine staging fa93c9fd). Simulator per-association FIFO fixes per-report async send overtaking; core MMS report RptID vs domain-qualified DatSet guard prevents incorrect SCADA member projection. Caution: ARSAS does not package Simulation code; neither patch proves BCUGE external BufOvfl/SqNum cause.

Attempted consumer engine pin change ARSAS PR #530 is explicitly BLOCKED by protected physical/CodeVerified provenance gates (14 CI: 4 green/10 fail; Windows app 1590/1593 tests pass, 3 authority guards fail). No promotion or usable ARSAS artifact. Issue #531 is the narrow, additive qualification path. P10.9C staging stays 83e3ac4d..., locked engine stays 00ad2819..., prior 16/16 CI green, #512 stays DRAFT and main untouched. Canonical #525 updated. Stop repeat BCUGE diag sampling; #520 needs genuinely novel wire evidence.

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