Skip to content

fix: preserve unresolved FCD DataSet members for signal selection - #76

Merged
masarray merged 2 commits into
mainfrom
fix/fcd-dataset-selection-completeness
Aug 15, 2026
Merged

fix: preserve unresolved FCD DataSet members for signal selection#76
masarray merged 2 commits into
mainfrom
fix/fcd-dataset-selection-completeness

Conversation

@masarray

Copy link
Copy Markdown
Owner

Problem

Physical Siemens SIPROTEC IEDs can expose DataSet members as FCD/DataObject-level entries (daName=""). The DataSet directory is discovered correctly, but members without a uniquely resolved primary DataAttribute can disappear before application signal selection.

Fix

  • Add an engine-owned Iec61850DataSetSignalInventoryProjection.
  • Prefer the existing typed/resolved mandatory primary signal descriptors.
  • Preserve every remaining static DataSet member as an unresolved mandatory descriptor instead of silently dropping it.
  • Keep DataSet identity, member index, FC, MMS reference, CDC/context where available, and RCB membership evidence.
  • Do not invent a leaf DataAttribute when the engine cannot prove one.

Regression coverage

  • Synthetic Siemens-like case with 2 DataSets / 58 FCD-only members (36 digital + 22 analog) must return 58/58 mandatory selection rows.
  • Existing resolved stVal primary target wins and does not create a duplicate FCD placeholder.

This intentionally separates DataSet member inventory completeness from later readable-primary-value resolution.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@masarray
masarray merged commit 52f8e38 into main Aug 15, 2026
1 check 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