Skip to content

R1B: preserve exact Static Reporting route through live report attach - #137

Closed
masarray wants to merge 27 commits into
feat/browser-dataset-signals-r1afrom
feat/static-report-route-r1b
Closed

masarray wants to merge 27 commits into
feat/browser-dataset-signals-r1afrom
feat/static-report-route-r1b

Conversation

@masarray

@masarray masarray commented Sep 27, 2026 •

Copy link
Copy Markdown
Owner

Stacked on R1A PR #136 and milestone #129. Do not merge independently into main.

Problem fixed

The Dataset Signals → bound RCB selection could be made from the canonical offline/discovered model, but entering Reports attaches the live report service. That attach rebuilds the live DataSet/RCB inventory and previously reset selection to row 0, so the operator's exact static DataSet choice could silently drift.

R1B behavior

  • Persist the chosen canonical static DataSet reference as a report route.
  • On live report-service attach/re-attach, restore only an RCB whose live probe succeeded and whose DatSet binding matches that exact canonical reference; when several RCBs bind the same DataSet, use the existing pool selector's best selectable/preferred candidate rather than first-row order.
  • If there is no verified live bound RCB, leave reporting unselected/disabled and surface a diagnostic instead of choosing another RCB.
  • Selecting another DataSet or manually choosing another RCB clears the armed route, so user intent always wins.
  • UI now calls the action Static Reporting… and shows a compact STATIC · <DataSet> indicator before the still-explicit Enable + GI command.
  • No automatic GI, no automatic RCB enable, no DatSet write, and no cyclic MMS polling fallback is introduced.

Behavioral QA

ied_report_workspace_qa now selects the Dataset Signals route, disconnects/re-attaches the Reports association, verifies the same canonical DataSet + a live-probed selectable RCB are restored, then proceeds to the existing explicit GI test. Success emits STATIC_REPORT_ROUTE_RESTORE_PASS.

Acceptance: exact-head Qt/C++/Release Hardening green. Real AA1E1F06R4 acceptance remains required for full R1.

  • Rendered Browser QA can now save and upload an exact 1024px Browser screenshot from the same functional route test; this replaces relying on the Simulator-tab screenshot for Browser UX review.
  • Qt/Release workflow concurrency now deduplicates push + PR validation by head branch so stale duplicate jobs no longer consume runners.

Copy link
Copy Markdown
Owner Author

Stage-main stacked dependency audit 2026-10-23

Parent R1A source PR #136 is closed unmerged solely as redundant stacked review tracking. Verified: #136 head 1d3899e is a true ancestor of this OPEN #137 head b47ac16 (behind=0). Original feature branch remains intact; this PR still targets feat/browser-dataset-signals-r1a and is not independently mergeable into main as the whole R1A+R1B stack without deliberate validated integration. You now own review of inherited R1A as well as this R1B route preservation; track actual Open SCL, Dataset Signals, bound RCB, field and Windows/Qt/Release acceptance in OPEN issue #129. This closure does not imply merge, R0 acceptance or hardware FAT. Keep #130 open: it is diverged with distinct commits.

Copy link
Copy Markdown
Owner Author

Stage→Main stacked Workbench source audit · 2026-10-23

GitHub ancestry: CLOSED unmerged PR #127 head 3a3ceef9149fc0dd31b27f4c9232418a68fae0e6 is a true ancestor of this still-OPEN cumulative PR #137 head b47ac165f4ae9a3927cb81641cefc88df3e477dc (ahead=45, behind=0); earlier CLOSED unmerged #136 R1A is also ancestor (ahead=27, behind=0). Source branches intact, nothing from these closures automatically merged into public main.

This #137 now carries R0 Browser recovery + R1A canonical static Dataset Signals + R1B exact-bound-RCB route. Old PR base feat/browser-dataset-signals-r1a must not be mistaken for a complete eventual main integration. Deliberate full-stack restack/review is needed, with new exact-head Qt/Windows+1024px and physical AA1E1F06R4 acceptance in OPEN #128/#129. Independent #130 diverges and has not been closed.

Copy link
Copy Markdown
Owner Author

Historical PR reconciliation / archival — 2026-10-24

Disposition: CLOSED AS SUPERSEDED HISTORICAL SOURCE — NOT MERGED, NOT ACCEPTED AS COMPLETE. Original review head preserved: b47ac165f4ae9a3927cb81641cefc88df3e477dc. This candidate is significantly diverged from current main, so merging the old branch would risk reverting newer Workbench, IED Browser and Process Bus integration.

Remaining requirement: exact static DataSet/RCB choice preserved through live Reporting attach, fail closed on mismatches. Canonical open feature owner(s): #129. Cross-PR migration index: #308.

All source commits remain accessible through this PR. Port only behavior proven missing in the present mainline, in reviewed and tested small patches with exact-commit CI and external evidence where required. Closed PR is an archival/reconciliation status, not a claim that functionality passed a test. No M3.H Stable binary, tag or checksum is changed.

@masarray masarray closed this Oct 24, 2026
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