Repository navigation
Conversation
…WPF collection reset
…h and safe authority transitions
…cross-thread release gates
|
Dependent implementation PR #641 builds on this identity-preserving projection: removes 2.5-s visual timer, binds command rows on real WPF Loaded, uses event-triggered MMS preflight rather than tab navigation, keeps shared dock expanded state across tabs, makes typed inspection commit only after network reads (fail closed on errors), and ensures diagnostic prose cannot grant ctlModel authorization. Added explicit command-claim denial while a descriptor inspection is busy, preserving first-click typed Open/Close preflight. Full CI/hardware FAT still required; no automatic merge or release. |
|
D27 superseded historical stacked PR — source already in integrated RC #727. Exact ancestry verification: historical head |
|
D27 backlog reconciliation — historical PR branch fully contained in integrated RC. Exact GitHub ancestry proof: |
Reproduced root cause (not cosmetic)
Iec61850MonitorDevice.RefreshCommandSignals()calledCommandSignals.ReplaceAll()on every projection, even for unchanged rows. The collection emitsResetafter clearing/repopulating, forcing WPF DataGrid row recreation.MainWindow.CommandPanelUxinvokes projection through a 2.5s preload timer even with zero new inspections. ExistingDistinctOperablemembership also depends on transient control proof, and the shell toggles Expander on tab navigation. This is a model/lifecycle issue, not animation.Changed
Insert,RemoveAt, andMove. No-op refresh issues zero CollectionChanged notifications, retains row instance and Interlock/Sync/Test operator choices, does not issue an MMS request. Genuine authority revocation still removes only that row; StatusOnly/unknown/unverified controls remain ineligible.docs/COMMAND_DOCK_RELIABILITY_ARCHITECTURE_2026-10-20.mddocuments deeper stages for typed atomic proof, event-driven WPF, command-stage latency, and release gates. Only phase A is implemented here.Safety, ancestry and coordination
Stacked on command PR #638 -> #635, engine measurement PR #183. Explicitly DO NOT overlap or overwrite sibling leaf SV/OR/BL + IED progress PR #636;
Models/MonitorModels.csis touched in both at disjoint sections, requiring semantic merge. No MMS control semantics, timeout, interlock, sync, test, CommandTermination, single-flight or quarantine changes. No main merge or release until full combined-head CI and physical acceptance.Performance claims and acceptance
Source-proven elimination of redundant WPF
Resetevents (no-change: 1 -> 0); no unverified claim of improved 8–13s native command latency. Instrument SBOw/Operate response vs termination as in engine PR #183 and compare equivalent reference MMS client operation milestones, then run real relay FAT. Windows CI pending.