Repository navigation
Milestone R0 — Restore usable IEC 61850 Browser before UX expansion #128
Description
Current mainline status (24 October 2026): The historical Workbench recovery PR #127 and cumulative PR #137 are CLOSED / NOT MERGED. Their source and test evidence remain accessible. They are not active release blockers for the separately verified M3.H Process Bus Stable binary. Remaining R0 operator acceptance (offline SCL, native selected-IED navigation, actual IED session) is tracked here and in #308. Do not mistake a historical green CI on a feature branch for acceptance on current
main.
Stage→main tracker correction (2026-10-23): legacy recovery PR #127 is CLOSED, unmerged because its exact head
3a3ceef9149fc0dd31b27f4c9232418a68fae0e6is a strict ancestor of current OPEN cumulative Workbench PR #137 headb47ac165f4ae9a3927cb81641cefc88df3e477dc(GitHub ahead=45, behind=0). All R0 recovery source commits are preserved inside #137 and original #127 branch. No R0 change was merged to public main by this housekeeping. #137 still targets an older R1A feature branch; final integration requires deliberate cumulative R0+R1A+R1B review against accepted main and new field acceptance. All unchecked 1024px/Open SCL/real IED/same-head Windows requirements below remain OPEN.
Purpose
Restore the user-visible application after the workbench UX regression. Recovery PR: #127. Keep validated main unchanged until verified.
Release-blocking acceptance
- Qt and Release Hardening success on the exact same final commit (not stale-head CI; verified
8b077f5e). - Rendered QA: active tab matches canonical context and per-slot service pointers; pending multi-IED source does not mask selected IED (synthetic fixture).
- Rendered nonblank signal tree and Model Values delegate text, not merely model row counts (synthetic fixture).
- Switching/closing IED tabs preserves isolation and retains the canonical model (rendered fixture).
- Open SCL offline: IED/LD/LN/DO/DA, select/expand, FC/type/value; model survives Disconnect.
- No QML ReferenceError, TypeError, or core File/Browser/DataSet binding loop during rendered fixture smoke.
- Windows portable and installer verified from the exact accepted head (Windows release job success; artifact
arstack-iec61850-workbench-windows-rcfrom run 36294792449). - Real-device AA1E1F06R4 evidence for Open SCL, Discover, and signal inspection; synthetic CI alone is insufficient.
- Promote reviewed changes to main without merging the divergent UX branch wholesale.
Scope guard
Do not rewrite MMS discovery, RCB ownership, GI, static DataSet membership, or report-only runtime in a GUI recovery PR. Record evidence and links for each acceptance item.
Verified evidence (exact head 8b077f5e)
-
Linux release soak:
BROWSER_FLEET_ROUTING_PASS active_tab=QA_IED_B offline_signals=visible model_values=visible value_label=bound switching=pass reindex=pass cross_ied_panel=false; all Linux release-soak steps including QML runtime-error log gate, MMS reconnect and child/socket soak passed. -
Full Qt workflow and gated Windows packaging still pending at evidence-update time; do not mark R0 completed or publish as a released application until those and real-device acceptance are complete.
-
Final IED Simulator Qt and Release Hardening passed on exact head
8b077f5e. Windows portable/installer artifact uploaded from same head. Remaining R0 items: hands-on Open SCL and real-device acceptance, deliberate promotion to main; not equivalent to real hardware verification.
Windows packaging evidence
- R0.1 full Release Hardening succeeded on Linux and Windows; installer and portable ZIP artifact ID 10931054253 is tied to exact head
3a3ceef9149fc0dd31b27f4c9232418a68fae0e6. Qt rendered 1024px QA also passed. - Remaining R0 blockers: offline Open SCL GUI walkthrough evidence, AA1E1F06R4 real-device test and deliberate promotion to main. Do not close R0 from CI alone.
Consolidated R0.1 compact-viewport contract from #135 · 2026-10-23
R0.1 (#135) is tracking-consolidated into this OPEN R0; this section preserves its distinct UX/verification obligations, NOT a pass of the R0 or field gates.
Already validated on historic exact head 3a3ceef9149fc0dd31b27f4c9232418a68fae0e6:
- Compact 1024px two-row toolbar and all Open/Save SCL, endpoint/port, Discover, Online/Disconnect and status controls remain visible (rendered Qt).
- 1024px signal tree/model values, active IED switching/reindex and no QML runtime errors in Qt CI run 36317352047.
- Release Hardening Linux/Windows packaged validation run 36317352005, historic Windows artifact 10931054253 (now expired; not a current release artifact).
Still OPEN and transferred from #135:
- The selected Browser signal must show coherent observed value, FC, type, quality/timestamp and engineering evidence, without a duplicate shadow tree.
- Active IED tab vs common Global Data are clearly distinguished; switching/closing IED tabs must retain independent context and MMS association.
- Open SCL and Discover converge into one Browser, with the post-discovery DataSet Signal path remaining tracked in Milestone R1 — Open SCL and Discovery converge into verified static reporting #129.
- Screenshots and hands-on real IED proof at 1024px and normal desktop widths, not just synthetic fixtures.
- QA must preserve compact professional engineering density, avoid clipped controls and avoid MMS/RCB/DataSet/GI/report-runtime changes for purely cosmetic UX.
Release rule: keep #128 OPEN until its existing physical and final-branch acceptance gates pass. This consolidation only retires a redundant sub-milestone ticket. Original: #135.
Activity