Skip to content

Integrate ARIEC61850 DataSet bindings without app-side IEC heuristics - #169

Merged
masarray merged 10 commits into
mainfrom
integrate/ariec61850-dataset-semantic-bindings
Aug 13, 2026
Merged

Integrate ARIEC61850 DataSet bindings without app-side IEC heuristics#169
masarray merged 10 commits into
mainfrom
integrate/ariec61850-dataset-semantic-bindings

Conversation

@masarray

@masarray masarray commented Aug 13, 2026

Copy link
Copy Markdown
Owner

Integration baseline for consuming ARIEC61850-owned SCL/DataSet/live binding output in ARSAS.

Ownership boundary

ARIEC61850 is authoritative for IEC 61850 protocol/model semantics, including FCD/FCDA resolution, CDC/value semantics, canonical MMS targets, FC validation, DataSet member fidelity, SCL-vs-live reconciliation, and future exact targeted probe decisions.

ARSAS must not add new protocol heuristics such as MMTR/BCR/actVal rules, ST->stVal fallback, FCDA prefix matching, canonical MMS reference logic, or vendor-specific semantic recovery. ARSAS remains responsible for GUI/UX, FAT/Excel workflow, performance, multi-IED/session behavior, reconnect/cache, and evidence presentation.

What this PR does

  • Pins the integration branch to the CI-green ARIEC61850 PR Resolve IED capability and fault-record regressions #59 head until the engine PR is merged.
  • Consumes Iec61850DataSetSemanticBindingResolver output for SCL DataSet row binding instead of re-implementing DataSet member semantics in ARSAS.
  • Preserves engine-resolved static DataSet primary values through operator-view visibility pruning.
  • Removes ARSAS regression fixtures that hard-coded MMTR/BCR/actVal semantics; those tests belong in ARIEC61850.
  • Ensures that when Iec61850MonitorDevice.LiveDiscoveryModel is available from NativeIec61850Client.LastLiveModel, SCL comparison uses the engine design model against that native live model. A projected SignalDefinition comparison result cannot overwrite the native-model comparison.
  • Keeps SclLiveSignalModelProjection only as fallback/legacy infrastructure when no native live model exists.

Explicitly deferred

False SIGNAL MISSING remediation is intentionally not implemented here. FAT missing/not-missing decisions will wait for the ARIEC61850 reconciliation + targeted probe API so ARSAS can consume authoritative engine evidence rather than invent local reference/probe heuristics.

Merge dependency

ARIEC61850 PR #59 -> final merged main SHA -> update engines/ARIEC61850.lock.json -> rerun ARSAS CI -> merge this PR.

Copy link
Copy Markdown
Owner Author

Cross-thread handoff / ownership guardrail:

  • ARIEC61850 PR Resolve IED capability and fault-record regressions #59 is the authority for FCD/FCDA -> DA resolution, BCR/MMTR value semantics, canonical MMS targets, FC validation, and DataSet member fidelity.
  • ARSAS must not add new ST -> stVal, MMTR -> actVal, DataSet prefix matching, or vendor-reference heuristics.
  • In this PR ARSAS only consumes engine semantic bindings, projects primary values into rows, preserves q/t as companions, and allows explicit static-DataSet primary values through UI visibility pruning.
  • Keep SclLiveSignalModelProjection out of authoritative design-vs-live comparison when NativeIec61850Client.LastLiveModel is available; replacing that comparison path belongs to the next integration step after the engine reconciliation API exists.
  • FAT must eventually decide missing only after engine design resolution + authoritative live model + exact targeted probe; do not implement that protocol decision locally in ARSAS.
  • Pure GUI/UX, Excel workflow, reconnect/cache, multi-IED session state, and evidence presentation remain ARSAS concerns.

Merge dependency: engine #59 -> final main SHA -> update this PR's lock -> rerun CI -> then app merge.

@masarray masarray changed the title Integrate engine DataSet semantic bindings Integrate ARIEC61850 DataSet bindings without app-side IEC heuristics Aug 13, 2026

Copy link
Copy Markdown
Owner Author

Integration baseline audit update:

  • ARSAS semantic-specific regression fixtures that hard-coded MMTR/BCR/actVal have been removed. Those semantics remain engine-owned.
  • Iec61850MonitorDevice now treats SclWorkspace.DesignModel vs LiveDiscoveryModel as authoritative whenever the native live model exists; a projected comparison cannot overwrite the stored native-model comparison.
  • New ARSAS contract tests cover that authority boundary without encoding IEC 61850 leaf/CDC heuristics.
  • Build + ARSAS regression tests are green on current head.
  • False SIGNAL MISSING work remains intentionally deferred until ARIEC61850 exposes reconciliation + exact targeted-probe evidence.

Remaining cleanup before this draft should be considered final: MainWindow.ApplySclLiveComparison still computes a SclLiveSignalModelProjection comparison for its local log/detail branch even though the device state rejects it as authoritative. The final call-site should use SclWorkspace.DesignModel and LiveDiscoveryModel directly when the latter exists, with projection only as a true legacy/cache fallback. Do not solve that by adding reference/CDC/FCDA heuristics in ARSAS.

@masarray
masarray force-pushed the integrate/ariec61850-dataset-semantic-bindings branch from b075646 to f77f15f Compare August 13, 2026 23:32
@masarray
masarray marked this pull request as ready for review August 13, 2026 23:38
@masarray
masarray merged commit 49655be into main Aug 13, 2026
4 checks passed
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