Skip to content

fix(sv): truthful per-stream engineering scales, no-SCL 4I4V profile, safe power - #27

Merged
masarray merged 8 commits into
mainfrom
fix/sv-engineering-scaling-and-field-diagnostics-20261016
Oct 16, 2026
Merged

masarray merged 8 commits into
mainfrom
fix/sv-engineering-scaling-and-field-diagnostics-20261016

Conversation

@masarray

Copy link
Copy Markdown
Owner

Closes #26 after independent Windows candidate acceptance.

Physical evidence / root cause

ESP32-P4 produced valid 4I+4V INT32 + quality payload and 4000 fps; raw receiver plotted dynamic wave/phasor without SCL. Metering incorrectly labelled raw ~1000 current counts as ~1000 A, ~5774 voltage counts as 5.77 kV, and therefore invented MW/Mvar.

Correct engineering boundary

  • Raw counts by default: channel samples, waveform, phasor and RMS remain available, accurately labelled counts. Physical P/Q/S/PF show N/A until operator explicitly chooses a scaling authority. No auto-inference from svID, APPID, vendor or payload shape.
  • One-click nominal 4I+4V profile per strong stream key: explicitly converts I=0.001 A/count and U=0.01 V/count; no SCL required for bench profile, but UI warns this is operator-selected and not calibrated/proven by packets. Changes for one stream never apply to another.
  • All values are derived from existing selected SvStreamState, raw samples and coherent windows. Scale multiplication only on UI snapshot projections, not per-packet hot path. No second decoder/cache. Consistent waveform series units and RMS/phasor units; no inconsistent MW on raw data.
  • Copy Evidence includes scale authority, selected snapshot RMS, watts/vars, provenance and packet diagnostics.
  • Deterministic tests of raw default, scaling/reversal without changing phase and separation of two simultaneous stream identities.

Guardrails

No capture or publisher commands, no customers' PCAP committed, no auto-universal IEC physical scaling, no hardware timing claims. Existing raw waveform, SCL matching, timing and receive-only architecture protected. Await repo health / dotnet solution test / Windows candidate CI before merge. Further bench tests with operator PCAP required for physical acceptance.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-16T03:49:55.728251Z 0768e86 PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@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: 0768e8644b

ℹ️ 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/ProcessBus.App.Wpf/Controls/WaveformPanelControl.cs
Comment thread src/ProcessBus.App.Wpf/MainWindow.xaml
@masarray
masarray merged commit 07364f5 into main Oct 16, 2026
7 checks passed
@masarray
masarray deleted the fix/sv-engineering-scaling-and-field-diagnostics-20261016 branch October 16, 2026 04:00

Copy link
Copy Markdown
Owner Author

Physical acceptance handoff — merged 2026-10-16

  • PR fix(sv): truthful per-stream engineering scales, no-SCL 4I4V profile, safe power #27 merged into main at 07364f550e74797e4a1a35f8a1f517b9a27a69cf, merge tree 3e9068550868a9173763b8e8a82a61061b1e7159 exactly equals tested head 9fd74d6073a7bfeb7b0298e09dd17466e91a6db7.
  • Exact reviewed HEAD: CI / repository health success, test suite 59/59 pass (candidate TRX); Runtime multi-stream success; CodeQL success; dependency checks success; Windows candidate packaging and verification success. Both inline P1 review threads resolved.
  • Candidate Actions workflow: https://github.com/masarray/DigSubAnalyzer/actions/runs/38847933759 · artifact 12023717572 ProcessBusInsight-v1.4.0-beta.2-win-x64-candidate-62. Outer artifact SHA256 4509a2b45bf357fb51c1a6fa474484c29fee5b4d8b7d64f392e1e45e4f384dee. Inside portable ZIP SHA256 61f6cea4ab0cf49a0ee98548eb10dfef28e65b9e3ae92e84c4341d4cada6c8c1. Manifest source commit 9fd74d6073a7bfeb7b0298e09dd17466e91a6db7, executable ProcessBusInsight.exe present. Engineering documentation docs/SV_ENGINEERING_SCALE_LAB.md.
  • Operator lab recipe: unzip candidate (no install; run ProcessBusInsight.exe), select ASIX NIC, Run capture; choose canonical ARSTACK_SV01, check waveform+phasor. Metering's default Raw counts (uncalibrated) labels RMS counts and gates P/Q/S/PF. Switch SV units explicitly to 4I+4V nominal (1 mA / 10 mV per count) for verified lab profile: expected ≈1 A, 57.74 V, 50 Hz, 4000 fps, phasor responds to live angle changes, P/Q/S finite only after physical scale chosen. Separate AR_DIAG_SV1 must stay raw until independently selected. Metering has Copy diagnostics button for text evidence.
  • Scope: raw receive-only; no customer PCAP committed; physical test using this new candidate remains for user. Windows capture timestamps cannot validate PTP sync accuracy. No certified calibration or IED subscriber acceptance claimed.
  • ARStack Studio firmware-update success has been confirmed by operator on separate source; no firmware changes here. Issue P0 SV metering: raw INT32 counts must not appear as calibrated A/V or MW without scale authority #26 auto-closed by merge; create follow-on issue for any independent physical findings rather than reverting nominal scale safety.

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.

P0 SV metering: raw INT32 counts must not appear as calibrated A/V or MW without scale authority

1 participant