Skip to content

M2.14 Browser: fence raw Report quality by exact DataRef and FC - #585

Draft
masarray wants to merge 4 commits into
feat/m214-browser-row-click-do-read-20261015from
fix/m214-report-quality-dataref-fence-20261015
Draft

masarray wants to merge 4 commits into
feat/m214-browser-row-click-do-read-20261015from
fix/m214-report-quality-dataref-fence-20261015

Conversation

@masarray

Copy link
Copy Markdown
Owner

M2.14 raw Report Quality: exact DataRef / FC identity fence

Stacked base: ARSAS draft #584 (commit 5691e3fed31cb5dbc304ac54045759540006d362). Consumer-only quality ingress hardening. No engine pin, MMS session, Report decoder, RCB, user controls, release or main modifications.

Confirmed source-level gap

IedBrowserReportWireEvidence.Extract bound raw Quality/UTC evidence from the engine-resolved DataSet member, but did not compare the optional on-wire DataReference when provided. Disagreement could allow a decoded raw value to be attributed to the wrong DO (same short names in different LD/LN), or the wrong FC if comparing only FC-stripped canonical references.

Minimal fix

  • Require exact canonical IEC attribute identity between DataRef and the engine-resolved DataSet member whenever the wire DataRef is present.
  • Also require the explicit MMS $FC$ component, if present, to agree with the member FC. Do not silently erase FC before comparison.
  • Retain existing behavior when the optional DataRef is absent: the engine-resolved member/index plus downstream SCL membership and FC fencing remain authoritative.
  • Never infer a missing DataSet member from DataRef text; never guess Quality flags.

Regression

M214ReportQualityDataRefIdentityTests covers:

  • Positive: dotted and MMS-encoded exact q reference, and DataRef-absent reports, preserve actual Overflow/OutOfRange/OldData/Inaccurate/Source bits.
  • Negative: mismatched DO, LD, LN, FC all fail closed.
  • Negative: raw DataRef text without a verified DataSet member cannot create browser evidence.

Field and integration guard

CI on this PR exact SHA must pass before any integration claim. Physical BCUGE CSWI1.Pos Quality inspection remains not field-accepted pending direct relay confirmation. Keep PR draft; do not merge/promote without user authorization.

This branch has not been deployed

No deployments
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