Skip to content

P7.6F acceptance: reconcile F650 command stack with native IED dialog UX - #492

Draft
masarray wants to merge 2 commits into
integration/446-f650-canonical-nonmodal-shoutfrom
integration/446-f650-ux-acceptance
Draft

masarray wants to merge 2 commits into
integration/446-f650-canonical-nonmodal-shoutfrom
integration/446-f650-ux-acceptance

Conversation

@masarray

@masarray masarray commented Oct 9, 2026

Copy link
Copy Markdown
Owner

Purpose

Draft combined acceptance candidate on exact PR #491 head 3c6ccc84a9fe97ae6e87262cdfd969abefedf497.

This intentionally carries the already-qualified native dialog UX from PR #486 without modifying the F650 canonical command identity, per-target single-flight guard, evidence-graded failure classification, nonmodal Command Shout, report causality, engine pin, or Static DataSet/report-only behavior.

Reconciliation audit

Imported unchanged from #486:

  • IpConnectWizardWindow.xaml
  • SclSignalSelectionModeWindow.xaml
  • SclSignalSelectionModeWindow.xaml.cs
  • Styles/IedTaskDialogStyles.xaml
  • tests/ARSAS.Tests/IedTaskDialogVisualRegressionTests.cs
  • tests/ARSAS.Tests/WorkspaceModeSwitchTests.cs

Invariants preserved

  • ARIEC61850 remains protocol/control/report authority.
  • Engine lock remains 352c81e6a798635c6addcee0683235ca87ad416d.
  • Static DataSet report-only path: no cyclic process polling and no silent dynamic DataSet writes.
  • One canonical IEC 61850 DataObject command target per IED; DataSet memberships remain reporting provenance.
  • Per-target atomic control single-flight remains authoritative.
  • Generic MMS object-access-denied is not presented as confirmed Local/Remote.
  • UX remains native WPF; no web UI.

Qualification gate

Draft only. CI success will establish CodeVerified/CIQualified for the combined source, not PhysicalVerified. GE F650 screenshot/command acceptance and high-DPI dialog review remain required before any merge/release. Do not operate energized breakers for UI verification.

masarray commented Oct 9, 2026

Copy link
Copy Markdown
Owner Author

Exact HEAD CI checkpoint — 2026-10-09

All 9/9 GitHub Actions workflow runs completed SUCCESS on exact HEAD e8b05349061b5bbe600e53bea5323926d0df365a (one automatic CI batch; no manual reruns): merge execution guard, Build ARSAS, Smart Discovery field capture, repeat-run stability, golden provenance, golden budget, production promotion guard, mainline readiness, SV evidence validation.

CodeCommitted / CIPassed / NativeArtifactsAvailable = YES. Physical GE F650 command/GUI acceptance, high-DPI dialog screenshot, main integration and release = PENDING. Keep DRAFT. A green CI is not physical command acceptance. Engine pin and reporting/control boundaries remain unchanged by the six-path UX integration.

masarray commented Oct 9, 2026

Copy link
Copy Markdown
Owner Author

Blocking field regression — Open SCL action dialog resource failure (2026-10-09)

Operator tested original #492 portable artifact #11612504972 on Windows (.NET 8.0.31) with actual BCU_GE.iid. Field evidence: ARIEC SCL parsing DID succeed (BCUGE, 1 LD, 153 LN, 2,228 DO, 14,668 DA, 8 Static DataSets/124 members, 938 saved signals; diagnostics recorded "1 offline model(s), 1 added"). Immediately afterwards opening the WPF SCL action chooser failed with Provide value on 'System.Windows.StaticResourceExtension' threw an exception. Existing generic exception handler incorrectly labelled this an ARIEC engine file-open failure.

Fix committed on this draft at exact 2d5e65cdd36d8126127f90cf05631cc5bb96adea:

  • Locally-scoped Styles/IedTaskDialogStyles.xaml previously declared BasedOn={StaticResource PrimaryButton/SoftButton}, which are not local resources and can be unavailable when the separately loaded dictionary evaluates static references. Replace these with an independent shared local WPF button template and only local BasedOn/tokens.
  • Both dialog root Background/app font lookups use DynamicResource to avoid eager lookup before their Window.Resources is attached.
  • The Add IED submit button uses the local dialog style instead of depending on global PrimaryButton style.
  • Add real STA WPF constructor smoke test for both dialog windows (plus self-contained static reference validation), not just source-string/XAML XML checks.
  • Correct Open SCL exception handling to distinguish WPF resource errors from engine import failures; retain exception stack in Diagnostics. No SCL model, MMS, RCB, command dispatch, or engine change.

Patch is one atomic 6-file commit over original #492, no force push, no manual CI runs. Exact-HEAD CI is currently running. Previous #492 artifact MUST NOT be treated as accepted; replacement artifact only after exact-head CI passes and operator retests. PhysicalVerified remains pending.

masarray commented Oct 9, 2026

Copy link
Copy Markdown
Owner Author

Blocking WPF resource regression — exact-head CI closure (2026-10-09)

Exact repaired HEAD: 2d5e65cdd36d8126127f90cf05631cc5bb96adea (one atomic fix commit, no engine pin change).

11/11 GitHub Actions workflows completed SUCCESS, including:

Use the NEW exact repaired binaries, NOT original PR #492 artifact #11612504972:

The field-reported SCL failure occurred after the canonical ARIEC model was already loaded, while constructing the WPF action chooser. The repaired branch removes all cross-dictionary StaticResource BasedOn dependencies, defers root-window token resolution safely, has a real STA-WPF-construction regression for both dialogs, and now logs presentation failures separately from ARIEC parser failures with exception details.

CodeCommitted / CIQualified / PortableArtifactAvailable = YES. PhysicalVerified for GE F650 user SCL file in the new binary = PENDING. Keep draft/unmerged until the operator confirms Open BCU_GE.iid displays the task chooser and the command/reports UI is unaffected.

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