Skip to content

Complete SV Subscriber P3C-P3F evidence pipeline#39

Merged
masarray merged 39 commits into
mainfrom
agent/p3c-scl-expected-configuration
Jul 15, 2026
Merged

Complete SV Subscriber P3C-P3F evidence pipeline#39
masarray merged 39 commits into
mainfrom
agent/p3c-scl-expected-configuration

Conversation

@masarray

@masarray masarray commented Jul 15, 2026

Copy link
Copy Markdown
Owner

What changed

P3C — SCL expected configuration

  • Convert safely bound SCL publisher profiles into SvExpectedStreamConfiguration.
  • Run configured-versus-observed comparison in the shared live/PCAP observation pipeline.
  • Use Compatible by default and retain explicit Strict mode.
  • Persist expected configuration, field findings, and exact/warning/error summaries.
  • Reject unsafe or ambiguous SCL candidates before applying their dataset layouts.

P3D — Compact Subscriber UX

  • Add compact PROFILE, CONFIDENCE, SCL MATCH, and WINDOW state.
  • Add collapsed evidence details for profile, configuration, and observation findings.
  • Preserve Compatible warnings without forcing BAD; Strict errors remain blocking.
  • Prevent rejected SCL bindings from contaminating payload decoding.
  • Use a two-second high-rate observation window and stable complete two-cycle visuals.
  • Replace per-item collection churn with bulk refreshes to reduce flicker.

P3E — Evidence reports

  • Add versioned evidence schema arsvin.sv-subscriber-evidence/v1.
  • Export paired Markdown and JSON from the same runtime/observation snapshot.
  • Serialize capture metadata, stream identity, runtime integrity, window facts, counter transitions, provenance, profile evidence, expected SCL configuration, comparison findings, diagnostics, phasors, software version, and commit.
  • Validate schema, generation time, product identity, stream count, and unique stream keys.

P3F — Baseline-versus-candidate comparison

  • Add versioned comparison schema arsvin.sv-subscriber-evidence-comparison/v1.
  • Add a Subscriber Compare action that accepts baseline and candidate evidence JSON files and exports paired Markdown and JSON comparison bundles.
  • Match exact stable stream keys first, then use logical identity (APPID, destination MAC, VLAN, svID, dataset) so source-MAC/NIC failover is reported as a change rather than false removed/added streams.
  • Classify added, removed, changed, and unchanged streams.
  • Rank changes as Info, Warning, or Error across health, source MAC, confRev, ASDU packing, sampling fields, runtime counters, measured rates, observation windows, SCL binding, configuration findings, profile confidence, dataset signature, provenance, and diagnostics.
  • Treat removed streams, BAD/ERROR health regression, out-of-order/payload failures, blocking configuration errors, profile conflicts, and dataset-signature changes as high-signal regressions.
  • Suppress false rate regressions inside a one-percent tolerance.
  • Keep comparison keys unique even when multiple publishers share one logical stream identity.

Deterministic coverage

  • 5 P3C expected-configuration integration tests.
  • 3 P3D/window presentation-contract tests.
  • 3 P3E report schema/round-trip/validation tests.
  • 4 P3F tests covering source failover matching, added/removed classification, Markdown/JSON round-trip, severity preservation, and rate tolerance.

Validation

The final clean head is running:

  • locked NuGet restore;
  • Publisher and Subscriber warnings-as-errors builds;
  • full tests and coverage gates;
  • documentation/site validation;
  • licensing, provenance, and terminology validation;
  • dependency vulnerability reports;
  • CodeQL;
  • portable EXE and Windows installer packaging/smoke tests.

The PR will be merged only after all required final-head workflows pass.

@masarray masarray changed the title Integrate SCL expected configuration comparison for SV Subscriber Integrate SCL comparison and compact Subscriber evidence UX Jul 15, 2026
@masarray masarray changed the title Integrate SCL comparison and compact Subscriber evidence UX Complete SV Subscriber P3C-P3E evidence pipeline Jul 15, 2026
@masarray
masarray marked this pull request as ready for review July 15, 2026 21:32

@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: ff2282a8f4

ℹ️ 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 thread src/ARSVIN.Subscriber/ViewModels/SvSubscriberViewModel.cs Outdated
Comment thread src/ARSVIN.Subscriber/Reporting/SvSubscriberReportBuilder.cs Outdated
Comment thread src/ARSVIN.Subscriber/Reporting/SvSubscriberReportBuilder.cs Outdated
@masarray masarray changed the title Complete SV Subscriber P3C-P3E evidence pipeline Complete SV Subscriber P3C-P3F evidence pipeline Jul 15, 2026
@masarray
masarray merged commit 47e5f3e into main Jul 15, 2026
8 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