From efb5f20af7b025cec801f69d5a20d643e3436bf8 Mon Sep 17 00:00:00 2001 From: Ari Sulistiono Date: Sat, 17 Oct 2026 06:31:41 +0700 Subject: [PATCH] docs(workbench): accepted native RCB GUI, GOOSE identity, active RCB and physical bench handoff --- docs/WORKBENCH_CURRENT_HANDOFF.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/WORKBENCH_CURRENT_HANDOFF.md b/docs/WORKBENCH_CURRENT_HANDOFF.md index 21043b199..00001aa77 100644 --- a/docs/WORKBENCH_CURRENT_HANDOFF.md +++ b/docs/WORKBENCH_CURRENT_HANDOFF.md @@ -4,6 +4,16 @@ > **Primary strategy and ownership contract:** [WORKBENCH_ARSAS_GUI_SSOT_STRATEGY.md](WORKBENCH_ARSAS_GUI_SSOT_STRATEGY.md). > **Scope:** installed native ARStack Workbench in apps/ied_simulator. Not a web app, WPF clone, or the separate ESP32-P4/SMV Studio track. +## M2Q–M2S native Reports/GOOSE GUI parity and field acceptance — 2026-10-17 (WIB) + +- **Current integrated code:** [PR #206](https://github.com/masarray/arstack61850/pull/206) MERGED at `80c705fba897fe1f1ea0d03925d72ea8cde51f38` (exact head `d48521809762a03b6cd1a605186272589168ae69`), [PR #207](https://github.com/masarray/arstack61850/pull/207) MERGED at `b2c03878fb36d048dbd97058cb9e7896449f1227` (exact head `e365eb78af5fde1b38612b417ec496cbc4667398`), and [PR #208](https://github.com/masarray/arstack61850/pull/208) MERGED at `7e86e9f62921672d9648e9e48b0e2803254bf962` (exact head `45711a52e8512bec699094279f561067906be5b4`). Each PR passed Product Naming Guard and **native IED Simulator Qt workflow 55/55 steps SUCCESS** on its exact head, with review findings resolved and no outstanding change requests. Historical post-merge main workflows must be checked against **their own SHA**. +- **ARSAS-inspired RCB GUI:** Browser → Reports now places **5 TrgOps and 9 OptFlds read-only verified-bit grids directly under Control Block Attributes**. Per-field evidence distinctly says verified, not-exposed, not-read, or read-failed. A zero-bit successful MMS Read is valid (unchecked), a missing/failed Read never means false. Positive RptEna/Resv/Owner readback drives in-use caution even if DataSet-directory-based availability is reduced; no attribution of other client's identity is invented. +- **Exact active RCB provenance:** selecting an indexed RCB B while subscription A runs is **inspection only**. QML uses immutable native `subscriptionRcbReference` from the real active MMS Report runtime to show `SUBSCRIBED` vs `OTHER RCB ACTIVE`, `CLEANUP OTHER RCB`, and a guarded `Stop active RCB` action naming A. Native RCB commissioning regression switches inspector selection and stops A, verifying A's cleanup not B's; no new service owner, association, read loop or hidden Write. +- **GOOSE full identity:** the existing shared passive `GooseMonitorController` now retains separate stream slots and sequence/TAL supervision for same-source-MAC publishers with different **destination MAC, DataSet, goID, VLAN ID or PCP**. Collision-safe length-prefixed stream key avoids composite delimiter collisions. One-pass bounded source selection applies all configured goCBRef/DataSet/hex-APPID/destination MAC/goID/VLAN/PCP **before** ambiguity verdict. PCAP replay asserts unique goID/VLAN selectors and deliberately underspecified fail-closed matches. Browser GOOSE remains on the original tab and projects only actual wire allData. +- **Windows package lineage:** [Release Hardening run #38977806520](https://github.com/masarray/arstack61850/actions/runs/38977806520) **SUCCESS** for Windows and Linux at earlier source `a33271e90fea369abad551e7601b446752e10d54`, with official setup .exe and portable .zip artifact; this is **before** #206–#208 GUI/GOOSE changes. Also [run #38980518300](https://github.com/masarray/arstack61850/actions/runs/38980518300) succeeded for #206 merged head `80c705fb...`, but is still **before** #207/#208. Inspect **latest** main release run and matching artifact SHA before claiming current GUI/GOOSE code is in a Windows installer. +- **Real IED/visual acceptance is NOT yet complete:** [field/GUI acceptance matrix](WORKBENCH_IED_FIELD_GUI_ACCEPTANCE.md), merged [PR #209](https://github.com/masarray/arstack61850/pull/209), explicitly requires actual installed Windows package, device vendor/model/firmware, SCL/IED identity, MMS RCB readback, explicit authorized GI and received report/cleanup, Npcap NIC/VLAN/GOOSE allData, paired selected-state reference screenshots at same resolution, and PASS/FAIL/BLOCKED/NOT RUN results. CI Qt smoke, screenshot gate, loopback and PCAP replay do not prove physical multi-vendor or pixel-exact ARSAS parity. +- **Next field-driving milestone:** obtain the latest source-matching Windows Release Hardening artifact and reproduce exact operator journey on a permitted lab IED. Fix any observed vendor-specific Read/RCB/GOOSE/SG/Files or Windows sizing defects as focused source-owned PRs with negative regression. Do not duplicate existing engine, poll structural DA values to fake freshness, force an RCB takeover, or assume a passive Ethernet capture is an acknowledged publisher subscription. + ## M2P Reporting/RCB exact InformationReport authority — 2026-10-17 (WIB) - **Integrated code:** [PR #203](https://github.com/masarray/arstack61850/pull/203) MERGED into `main` at `a33271e90fea369abad551e7601b446752e10d54`, exact PR head `723ad3f46728b864c91e553820e410ab4171ad9a`. **13/13 exact-head workflows SUCCESS**, including C++ GCC/Clang/Windows MSVC, native IED Simulator Qt **55/55 steps**, Security and Evidence ASan/UBSan/libFuzzer, BRCB/RCB, MMS R1–R2, SCL-assisted Workbench and Connect, interoperability server, and naming guard; 0 unresolved review threads. This is CI/scripted production-path evidence, **not** a physical IED certification. Post-merge `main` workflow runs must be checked separately.