Skip to content

P0: stabilize FAT from exact Build #1888 golden baseline - #261

Draft
masarray wants to merge 16 commits into
baseline/1888-goldenfrom
fix/p0-1888-fat-stability
Draft

P0: stabilize FAT from exact Build #1888 golden baseline#261
masarray wants to merge 16 commits into
baseline/1888-goldenfrom
fix/p0-1888-fat-stability

Conversation

@masarray

@masarray masarray commented Sep 5, 2026

Copy link
Copy Markdown
Owner

Scope

P0 recovery only. This PR is intentionally based on exact golden ARSAS commit 712e2c557d5da83d2f02b81f3a58905e985d1e50 (Build #1888) and targets baseline/1888-golden so the diff contains only the recovery changes, not later experimental/regression commits.

Fixes

  • project authoritative runtime PointUpdated snapshots into FAT Runtime.CurrentValue without UI timers, per-cell subscriptions, or virtualization changes;
  • canonicalize FAT Boolean presentation as True / False from first FAT load;
  • preserve FAT-first Static DataSet selection as shared Engineering/FAT report-only authority instead of demoting it to Hybrid/live discovery;
  • repair stale persisted Static DataSet WorkspaceSelected=false membership in one guarded batch before the FAT V2 view filter is installed, preventing rows from painting and then disappearing;
  • preserve the same Static DataSet authority for appended SCL workspaces;
  • let report-backed analog values auto-capture Value 1 / Value 2 from authoritative report observations while retaining the 3-sample settling gate for polling analog values;
  • remove the normal per-cell manual ✓ Capture surface for analog rows; explicit Recapture remains the operator/audit override;
  • initialize Engineering command Interlock + Synchro checks once per command signal, event-driven, without _uiFlushTimer polling;
  • add source and functional P0 regression gates that reject the previous post-Measure virtualization hack and keep the golden ARIEC61850 pin unchanged.

Explicitly not changed

  • ARIEC61850 pin remains 11ab2304482600c19ba979f4fc9021ddb46b9af9;
  • no VirtualizingPanel.SetVirtualizationMode runtime patch;
  • no RCB/DataSet/control backend redesign;
  • no FAT schema/lifecycle redesign in this P0 (legacy-first-paint cleanup remains a later P1 after bench stability is recovered).

CI / build

Latest head: 7f4841e81d508a39d81c79b04ca0eac747c2f2e0

  • Validate IO List Testing #784: PASS
  • Validate SV evidence bundles #1009: PASS
  • Build ARSAS #1911: PASS
  • full solution build: PASS
  • application regression tests: PASS
  • portable single-EXE publish: PASS
  • portable EXE smoke-test: PASS

Bench artifact from Build #1911 is ready for physical relay validation.

Bench acceptance

  • SCL opened from FAT + Static DataSet populates Engineering and FAT as one shared workspace; Engineering Play fast-connects/starts Static DataSet acquisition without implicit live discovery;
  • FAT rows and Command Signals remain populated;
  • physical Open/Closed changes are reflected in FAT Live Value;
  • Boolean values stay True/False while scrolling;
  • analog Value 1/2 auto-captures without the normal manual Capture button;
  • FAT ↔ Engineering/Diagnostics does not freeze;
  • golden Command Panel, Value 1/Value 2 evidence, Static DataSet/RCB behavior remain intact.

Keep this PR draft until the exact Build #1911 EXE passes physical bench validation.

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