Skip to content

FAT workstation convergence: architecture freeze and canonical shell staging - #296

Draft
masarray wants to merge 290 commits into
feat/native-fat-workspacefrom
fix/fat-workstation-convergence
Draft

masarray wants to merge 290 commits into
feat/native-fat-workspacefrom
fix/fat-workstation-convergence

Conversation

@masarray

@masarray masarray commented Sep 9, 2026

Copy link
Copy Markdown
Owner

Purpose

Protected staging lane for the Engineering-integrated FAT workstation and ARSAS 1.6.36 public-release candidate. This PR remains Draft until the exact combined candidate passes CI and the physical FAT field gate.

Current combined candidate

  • version: 1.6.36
  • staging head: 384e2fe67b871a329b07ce5db2aa2916cca5c054
  • current main baseline integrated: 3ad21a631d09a175a8030a0764fd880d0ee77560
  • compare main...HEAD: behind_by=0
  • PR M1: make COMTRADE open native-only #305 (native-only COMTRADE + FAT persistence/release hardening) merged into this staging lane
  • public v1.6.35 remains untouched

Protected architecture

  • Engineering remains the authoritative parsed SCL/live-value workspace; FAT is an evidence/session projection
  • canonical Engineering shell keeps the permanent FAT destination
  • static DataSet FAT must not enable Hybrid/cyclic MMS polling or restart the shared Engineering acquisition session
  • duplicate live-reference preflight fails closed unless a generated manual shadow is proven to resolve to the same authoritative live leaf
  • FAT capture requires a real initialized live IEC 61850 observation
  • FAT persistence uses durable SCL/endpoint identity, collision-safe evidence paths, and non-destructive corrupt-state recovery
  • COMTRADE Open is strictly ARSAS in-process via the pinned ArdIrec native bridge; no external ardirec.exe, Qt runtime, or Process.Start fallback
  • field-accepted Time Signals / Phasor / Harmonics / six-loop Locus behavior from current main remains protected

Pre-merge validation already completed

On source head 4fd863322f0bb247911cd241f71c366c015449d4, immediately before merge into this staging branch:

  • Build ARSAS #2768: success
  • full application regression suite: success
  • Validate IO List Testing #1321: success
  • Validate SV evidence bundles #1752: success
  • Validate COMTRADE viewer integration Reduce P1 workspace noise and progressive GOOSE disclosure #205: success
  • Validate ARSAS Windows installer #929: success
  • portable single-EXE publish + smoke: success
  • installer build + silent install/runtime smoke: success
  • exact-head installer artifact: ARSAS-1.6.36-win-x64-installer
  • exact-head portable artifact: ARSAS-win-x64-portable-single-exe

Exact staging CI — RUNNING

The merge commit itself is being requalified now:

Do not treat the pre-merge green run as a substitute for these exact staging-head checks.

Remaining gate — PHYSICAL FAT FIELD

After all five staging checks are green, test the exact artifact produced from staging head 384e2fe67b871a329b07ce5db2aa2916cca5c054 on the real IED/SCL workflow:

  • Start FAT succeeds for the previously failing generated scl-manual-* shadow case while a genuinely ambiguous duplicate still fails closed
  • first and repeated FAT entry do not show blank/black host and latency remains acceptable
  • Engineering -> FAT does not reconnect, enable Hybrid, or start cyclic MMS polling
  • static DataSet row count has no duplication
  • selected IED context remains correct
  • live value, IEC 61850 quality and relay/device timestamp are correct
  • Value 1 / Value 2 capture records real live evidence
  • repeated IED selection / app restart preserves evidence using durable identity without cross-device collision
  • Report Preview/export remains correct
  • repeated Engineering <-> FAT navigation remains stable
  • COMTRADE Open stays inside ARSAS and Time Signals/Phasor/Harmonics/Locus remain functional

Only after this exact physical field candidate passes should the FAT stack be collapsed/merged to main; the 1.6.36 release manifest on main will then trigger the release pipeline that rebuilds/tests packages, produces checksums/SBOM/provenance/attestations, and publishes the public stable release.

masarray and others added 30 commits September 10, 2026 10:13
Exact-head validation passed 5/5: Build ARSAS #2768, IO List Testing #1321, SV evidence #1752, COMTRADE integration #205, and Windows installer #929. Preserve physical FAT field gate in staging before main/public release.

masarray commented Sep 14, 2026

Copy link
Copy Markdown
Owner Author

Release-candidate provenance update:

  • staging merge head: 384e2fe67b871a329b07ce5db2aa2916cca5c054
  • fully validated source head before staging merge: 4fd863322f0bb247911cd241f71c366c015449d4
  • both commits resolve to the exact same Git tree: c53c8d3cf21d9959d5398dc891e42a69a73b9a74

Therefore the staging merge introduced no source-content change; it only changed ancestry/provenance. Source head 4fd863... passed all five gates (Build #2768, IO #1321, SV #1752, COMTRADE #205, installer #929), including full application regression, portable smoke, native ArdIrec bridge/Locus integration, installer compile and silent install/runtime smoke.

GitHub currently has all five exact staging-commit runs (#2769/#1322/#1753/#206/#930) queued with no failure and no repository job in progress. Do not add duplicate reruns while the runner queue is stalled.

For physical FAT functional testing while GitHub queues the provenance-equivalent staging checks, the validated 1.6.36 artifacts from the identical source tree are acceptable as a field-test package, but they do not waive the pending exact staging CI record and do not authorize merge to main or public release by themselves.

Validated artifacts from the identical source tree:

  • installer artifact: ARSAS-1.6.36-win-x64-installer (workflow #929, artifact id 10349591893, artifact digest sha256:4a70d3a0f000d9b1b27da92d8160677e18240c9e29718bd8169bc8f885c23c66)
    • contained EXE: ARSAS-1.6.36-win-x64-setup.exe
    • contained EXE SHA-256: 32addfe106335115fa1c47591b0a1f271ecb23ddd2f917a7853257c68958bc1b
    • packaged SHA256SUMS.txt matches the measured EXE digest
  • portable artifact: ARSAS-win-x64-portable-single-exe (workflow #2768, artifact id 10351111013, artifact digest sha256:b8de311105a31d54de7c21eba627e397c263f2b9a5219cf5cbcdd7797ab5f5a9)
    • contained EXE: ARSAS-1.6.36-win-x64-portable.exe
    • contained EXE SHA-256: 8e5a640ac94fc8dc856669b97cf73418685da638c390590b0dbbfddf2a6cb111

Physical field PASS is still mandatory before retargeting this consolidated PR to main.

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