Skip to content

P1: semantic SV quality and measurement context#48

Merged
masarray merged 9 commits into
mainfrom
agent/sv-quality-evidence-p1
Jul 22, 2026
Merged

P1: semantic SV quality and measurement context#48
masarray merged 9 commits into
mainfrom
agent/sv-quality-evidence-p1

Conversation

@masarray

@masarray masarray commented Jul 22, 2026

Copy link
Copy Markdown
Owner

Scope

This phase builds on the merged adaptive multivendor P0 foundation and focuses on quality semantics, explicit measurement domains, and evidence fidelity.

Implemented

  • semantic IEC 61850 Quality decoding for validity, detail flags, source/substitution, test, operator-blocked, and installed-base derived extension
  • conservative high-word/low-word quality placement detection with explicit ambiguous state instead of guessing
  • quality severity and strict calculation-usability classification
  • per-channel semantic quality display in the Decoded view
  • quality-aware live stream health and detailed evidence panel
  • quality-aware Markdown/JSON report diagnostics and rolling-health report semantics
  • explicit primary/secondary measurement-domain conversion API using only supplied CT/VT context
  • ratio provenance and no-ratio fallback without inventing secondary values
  • deterministic quality, placement, derived, and ratio regression tests
  • real-device evidence-pack workflow and acceptance criteria

Validation at head ff527ae

  • CI: passed
  • Publisher warnings-as-errors build: passed
  • Subscriber warnings-as-errors build: passed
  • test and coverage gates: passed
  • dependency vulnerability checks: passed
  • Windows portable and installer build: passed
  • installer silent smoke test: passed
  • SBOM and checksum generation: passed
  • GitHub Pages validation: passed
  • CodeQL: passed

Validation boundary

The quality bit model follows the standard Quality components; the additional Derived flag is enabled only as an installed-base profile extension. Device identity is evidence metadata and is not used as a decoding or scaling rule.

Pending after this tranche

  • real SMU615 SCL/PCAP evidence pack and injection table
  • user-facing CT/VT context editor/import
  • local Npcap/kernel/queue drop attribution
  • versioned declarative profile manifests
  • IEC 61869-9 fixture-backed profile support

@masarray
masarray marked this pull request as ready for review July 22, 2026 08:26
@masarray
masarray merged commit 1b1b819 into main Jul 22, 2026
8 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ff527ae725

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +140 to +141
1 => SvQualityValidity.Reserved,
2 => SvQualityValidity.Invalid,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Decode validity values with the established bit mapping

When a stream carries validity bits 01 (for example, the Publisher's Invalid selection), this branch reports Reserved; conversely, 10 is reported as Invalid. The existing publisher encoding defines Invalid = 1 and Reserved = 2, so the subscriber's displayed and exported semantic quality is incorrect even though both values currently result in BAD health. Swap these two mappings and update the regression expectations.

AGENTS.md reference: AGENTS.md:L7-L7

Useful? React with 👍 / 👎.

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