Skip to content

Fix generic boolean status report projection - #79

Merged
masarray merged 6 commits into
mainfrom
fix/report-generic-status-struct
Aug 16, 2026
Merged

Fix generic boolean status report projection#79
masarray merged 6 commits into
mainfrom
fix/report-generic-status-struct

Conversation

@masarray

Copy link
Copy Markdown
Owner

Problem

ARSAS event logs can receive a full CDC structure for generic SPS-style status objects, for example:

Structure(3) {stVal=false, q=Quality{...}, t=BinaryTime(...)}

instead of the scalar stVal leaf. The report projector already handles known structures such as Pos, Op, Str, and phase measurements, but generic Boolean status structures fall through to the raw-structure renderer.

Fix

  • Project the bounded SPS-style shape { Boolean stVal, Quality q [, Timestamp t] } to <reference>.stVal.
  • Preserve quality and timestamp on the projected update.
  • Mark the projection as projected-boolean-status.
  • Keep the rule intentionally narrow so non-Boolean structures such as {mag,q,t} are not misclassified.

Regression coverage

  • Reproduces the INVERTERA2/LLN0.ACAlm1 shape from the ARSAS field event log.
  • Verifies false, good, timestamp, and projected .stVal reference.
  • Negative test confirms a non-Boolean three-field structure remains raw and emits REPORT_RAW_STRUCT.

This is the source-of-truth engine fix; ARSAS also has a compatibility guard PR for installations still pinned to an older engine commit.

@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 1ed53ab into main Aug 16, 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