Skip to content

Consume ARIEC reconciliation status in FAT live binding - #170

Merged
masarray merged 35 commits into
mainfrom
integrate/ariec61850-reconciliation-status
Aug 14, 2026
Merged

Consume ARIEC reconciliation status in FAT live binding#170
masarray merged 35 commits into
mainfrom
integrate/ariec61850-reconciliation-status

Conversation

@masarray

@masarray masarray commented Aug 13, 2026

Copy link
Copy Markdown
Owner

Integrates ARIEC61850 engine-owned design/live reconciliation into ARSAS FAT/UI while keeping IEC 61850 protocol semantics, probe classification, and MMS file-transfer intelligence in ARIEC.

Final engine baseline

  • Immutable ARIEC61850 lock: b60d1272345ec7eabde9efb4e0acbfe26ebf2584 (merged ARIEC PR Make IED capability actions clear and compact #71).
  • This includes connected reconciliation plus the COMTRADE/MMS FileOpen interoperability sequence through P4.
  • P4 preserves the raw FileDirectory GraphicString identity returned by the IED and performs one bounded evidence-driven replay when the normalized path remains visible but unopenable.
  • ARSAS does not invent MMS remote-file aliases or duplicate ARIEC path semantics.

Real-IED COMTRADE validation

Reconciliation safety contract

  • Absent is the only ARIEC verdict that may become SignalNotFound / Signal missing.
  • Local row/discovery misses remain NotEvaluated; ARSAS does not classify protocol absence.
  • Connected reconciliation runs through the existing NativeIec61850Client session owner; no second MMS association and no app-created exact probe.
  • Cache refresh is async/cancellable and scoped to the exact design/live model generation.

Explorer / FAT UX included

  • Live Signal Values search reuses the IED Explorer IndustrialSearchTextBox / Lucide search styling.
  • Live timestamp display rounds to nearest millisecond while the full timestamp remains available in the tooltip.
  • Tri-state header checkbox is available for IO FAT TEST rows and downloadable Fault Records Get rows.

Final branch audit

  • Base: main at 49655bec54bacaaf2b7da74f81d6b6bc2abc8496.
  • Validated head: 27c6e07912b3ba9bb58fb6ee6210305a2b85c468.
  • Branch is 35 commits ahead and 0 behind main; merge-base is exactly the current main head.
  • Changed files are limited to 15 reconciliation/UX/test/engine-lock files; ARSAS COMTRADE downloader logic itself is not rewritten by this PR.

Exact-head CI on ARIEC #71

  • Build ARSAS #1089: SUCCESS — solution build, regression tests, portable publish and portable smoke.
  • Validate IO List Testing #215: SUCCESS.
  • Validate SV evidence bundles #268: SUCCESS.
  • Validate ARSAS Windows installer #198: SUCCESS — build/tests plus installer smoke.

Merge is performed only against expected head 27c6e07912b3ba9bb58fb6ee6210305a2b85c468 so GitHub rejects the operation if the branch moves after this audit.

Copy link
Copy Markdown
Owner Author

P1.2 consumer/lifecycle checkpoint is complete on head 896ab2c15a090f723bf342e9379d2870166ab420.

  • Engine lock repinned to ARIEC f362cfcdce36ffc7ade933c16cf06da6fe3b4921 (Publish verified ARSAS 1.6.17 binaries #62).
  • RecoveredByAlternateProbe is treated as present/bound.
  • Canonical/effective MMS references, final probe evidence, probe attempts, alternate strategy, and engine failure codes are presentation evidence only.
  • Bind / BindIed are cache-only; no synchronous reconciliation or MMS network reads occur in the FAT/UI binding loop.
  • Reconciliation is produced asynchronously immediately after connect/discovery and refreshed after forced rediscovery, then consumed from an exact design/live-generation cache.
  • Cache producer intentionally remains probe: null; ARSAS does not construct the MMS probe or classify protocol failures.
  • Signal missing remains exclusive to engine Absent.

Exact-head CI is green: Build ARSAS #1059, Validate IO List Testing #184, Validate SV evidence bundles #237, and Windows installer #167 all succeeded, including portable and installer smoke tests.

PR intentionally remains draft. Merge gate: ARIEC P1.3 session-bound reconciliation facade -> immutable main SHA -> repin -> connected reconciliation through engine facade -> E2E FAT regression.

@masarray
masarray force-pushed the integrate/ariec61850-reconciliation-status branch from f9a3e01 to dc36d99 Compare August 14, 2026 08:00
@masarray
masarray force-pushed the integrate/ariec61850-reconciliation-status branch from 33fd65f to dc36d99 Compare August 14, 2026 08:01
@masarray
masarray force-pushed the integrate/ariec61850-reconciliation-status branch from 19fced4 to 6cccd08 Compare August 14, 2026 09:34
…github.com/masarray/arsas into integrate/ariec61850-reconciliation-status

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
@masarray
masarray marked this pull request as ready for review August 14, 2026 10:02
@masarray
masarray merged commit 1f39dc0 into main Aug 14, 2026
4 checks passed
@masarray masarray mentioned this pull request Aug 14, 2026
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