Skip to content

R1A: canonical Signal Catalog and offline DataSet browsing in IED Browser - #130

Draft
masarray wants to merge 18 commits into
fix/workbench-browser-recovery-20260927from
feat/ied-browser-r1a
Draft

masarray wants to merge 18 commits into
fix/workbench-browser-recovery-20260927from
feat/ied-browser-r1a

Conversation

@masarray

@masarray masarray commented Sep 27, 2026 •

Copy link
Copy Markdown
Owner

Milestone R1A — IEDScout-style operator workflow without protocol regression

Based on green recovery commit 8b077f5e (PR #127), not the old broken UX branch.

  • Introduce compact read-only Signal Catalog for Open SCL and live discovery, with Dataset Signals / Browse All Signals and explicit member selection.
  • Display DataSet membership from the canonical engineering context even while offline; select the live report controller by exact reference only when already connected. Keep verified runtime inventory and owned dynamic entries available.
  • Preserve ordered FCDA labels and normalize FC evidence only for canonical node lookup / explicit bounded Read members; no automatic MMS polling, dynamic DataSet create, RCB binding rewrite or GI.
  • After successful live discovery, offer the catalog once per canonical context generation; manual action remains available for Open SCL and re-entry.
  • Add synthetic offline DataSet to rendered Browser fixture and verify member count + actual rendered member text. Add a source safety contract to Qt CI.

Exit gates

R1A acceptance checklist: #131. Parent static-report milestone: #129.

Independent P0 security blocker

The reporting fuzzer found an unrelated pre-existing unsigned underflow in src/mms/reporting.cpp (ASan run 36316147544). Tracked in #132; isolated fail-closed correction and regression tests in #133 against main. No MMS engine changes are introduced by this R1A GUI PR. Do not suppress Security and Evidence or declare a release until the fix is validated and incorporated in the release lineage.

Verified exact-head R1A evidence (7d7cc5e)

Copy link
Copy Markdown
Owner Author

2026-10-23 Open R1A source audit — KEEP OPEN (not contained by cumulative #137)

#130 source head 7d7cc5e9831df761cc61231a3f686b4a2e40a83a vs #137 cumulative R0/R1A/R1B head b47ac165f4ae9a3927cb81641cefc88df3e477dc compares DIVERGED: 49 commits ahead of #130, 18 source-exclusive commits behind. It is NOT true ancestry/patch inclusion like #127/#136. The three source-exclusive R1A files apps/ied_simulator/qml/BrowserSignalCatalog.qml and apps/ied_simulator/test_browser_signal_catalog.py were absent when checking #137 head; BrowserGlobalDataPane.qml, navigation, CMake and offline evidence workflow also have distinct changes.

#137 may implement broadly similar Dataset Signals / RCB route through another UI architecture, but without explicit source parity and regression acceptance closing #130 would risk losing its exact offline SCL ordered DataSet browse/compact Signal Catalog behavior. Keep #130 OPEN with its original evidence; do not force-merge its divergent files into the cumulative branch without architectural review. Validated #137 inherited #127/#136 zero-behind, not #130. Parent issue #129 stays OPEN for actual AA1E1F06R4 + Windows/R1A acceptance. This audit changed only PR discussion, not code.

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