-
Notifications
You must be signed in to change notification settings - Fork 4
P0: recover Build #1888 FAT live and shared SCL authority - #262
P0: recover Build #1888 FAT live and shared SCL authority #262masarray wants to merge 76 commits into
Conversation
masarray
commented
Sep 6, 2026
Bench regression follow-up after Build #1912 is now implemented on head c5fc74e2211c72f23ddb368f9bfb2a76ae2f0df5.
Targeted fixes:
- Runtime
PointUpdatedFAT projection is now WPF-free/fail-isolated on the worker callback, preventing a presentation exception from turning a physically successful control intoCOMMAND FAILED. - FAT live projection resolves exact live-point identity and bridges unique static DataSet
DisplayReferencemembers to the ARIEC-resolved scalar runtimeObjectReference. IoTestLiveBindingServicenow performs the same exact structured-member -> runtime-leaf bridge before FAT session arming, so analog rows can becomeLivePointReadyand use the existing 3-sample auto-capture path.- FAT LIVE/VALUE1/VALUE2 templates render canonical
True/False; normal per-cell✓ Capturecontrols are removed from the replacement template while Recapture remains available. - Header actions are split into primary and secondary adaptive rows.
- Close lifecycle quiesces FAT live projection before evidence sealing/persistence and resumes it if close is aborted.
Validation on this exact head:
- Validate IO List Testing #792: SUCCESS
- Validate SV evidence bundles #1017: SUCCESS
- Validate ARSAS Windows installer #700: SUCCESS
- Build ARSAS #1919: SUCCESS
- Build solution: SUCCESS
- ARSAS regression tests: SUCCESS
- Portable publish: SUCCESS
- Portable smoke-test: SUCCESS
Artifact ARSAS-win-x64-portable-single-exe id 9979633455 was produced by Build #1919. Extracted EXE SHA-256: 140f30e4317500cd45c93b614cbb3f9be96f76b1c1c7e42c8d6e4c1e02a786ae.
PR remains DRAFT. Do not merge until the exact Build #1919 executable passes the physical relay bench acceptance gate.
masarray
commented
Sep 6, 2026
P0 bench follow-up applied on head ed7152f9bfcbead63ae1606c286e6e58420c6273.
Changes in this follow-up:
- FAT Start/Continue now keeps evidence baseline hashing + durable journal I/O off the WPF Dispatcher.
- FAT Stop now runs final journal append/dispose/hash verification plus durable workspace save off the WPF Dispatcher.
- Workspace close uses the same non-blocking StopAll/seal/save path after quiescing the FAT runtime projection.
Remove from FATrecovery is deterministic again:Removed Signals (N)no longer depends on an exactButton.Content == "Engineering"caption. It also falls back to the stable Export action panel, so a renamedEngineering Workspacecaption cannot hide restore again.- Existing
RemovedFatSignalsWindow/RestoreToFat()remains the authority; no signal identity/evidence is deleted by Remove. - Added P0 regression coverage for responsive Start/Stop/Close and reversible Remove.
CI for this exact head is green:
- Build ARSAS #1924: SUCCESS
- Validate IO List Testing #797: SUCCESS
- Validate SV evidence bundles #1022: SUCCESS
- Validate Windows installer #703: SUCCESS
- portable EXE publish + smoke-test: SUCCESS
Keep PR Draft. Physical relay bench still required before merge.
masarray
commented
Sep 6, 2026
P0 bench candidate updated at 50d7f899224d61010e87c95f50826594a0fde4bc.
- Restored exact golden ARIEC61850 pin
11ab2304482600c19ba979f4fc9021ddb46b9af9. - FAT
Session.Start/Stop/StopAllremain on the owning WPF Dispatcher; no whole-sessionTask.Run, preventing the cross-threaddifferent thread owns itStart FAT failure. - Multi-RCB Legacy SAS export is implemented in the ARSAS layer using the golden engine's existing
SclReportControlFiltermulti-selection capability; no acquisition/control engine change. - Independent checkbox selections are preserved; availability/default focus does not clear existing operator selections.
In useremains selectable with confirmation; no-DataSet RCBs remain visible/selectable as evidence but P0 CID export refuses to invent a DataSet binding.
CI: Build ARSAS #1950 SUCCESS; regression tests SUCCESS; portable publish + smoke test SUCCESS; IO List, SV evidence, Legacy SAS RCB guard, and Windows installer validations all SUCCESS.
Keep PR Draft. Physical relay bench validation is still required before merge.
Baseline
This P0 recovery branch starts exactly from the accepted golden ARSAS Build #1888 source:
712e2c557d5da83d2f02b81f3a58905e985d1e50063751919b51ef1bf13f666441ec2fff7e1f5a54a5b647295c158abbd732a0d611ab2304482600c19ba979f4fc9021ddb46b9af9This PR does not use Build #1868, PR #257, or Build #1898 as its recovery base.
P0 fixes
_runtime.PointUpdatedstream into FATRuntime.CurrentValuewithout UI polling/timers or per-cell subscriptions.True/Falsebefore first visible FAT frame and on subsequent runtime updates.FatAutoCaptureCoordinator; hide the normal✓ Capturerow button while retaining Recapture correction behavior.Safety / non-goals
VirtualizingPanel.SetVirtualizationMode(...)changes._uiFlushTimer/DispatcherTimerlive mirroring.Bench acceptance gate
True/Falsefrom first visible value and remain stable while scrolling.Do not merge until CI is green and the exact artifact passes physical relay bench validation.