Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cd1e172ff5
ℹ️ 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".
| CommandStage = result.IsSuccess && !TestMode ? "Command accepted" : result.Stage; | ||
| CommandStatus = BuildCommandResultText(result); | ||
| if (!string.IsNullOrWhiteSpace(result.FeedbackValue) && result.FeedbackValue != "-") | ||
| CurrentValue = result.FeedbackValue; | ||
| if (result.IsSuccess && !TestMode) | ||
| { | ||
| CommandStatus += " Command accepted by the IEC 61850 control service. Waiting for independent IED process feedback; monitored stVal is not changed from the command path."; |
There was a problem hiding this comment.
Preserve the no-command preflight result
When the live preflight finds the process already at the requested state, NativeIec61850Client.ControlAlreadyAtRequestedState returns IsSuccess = true, ServiceAccepted = false, and CompletionState = "NotSent". This branch nevertheless replaces its accurate “Already at requested state” stage with “Command accepted” and asserts that the control service accepted a command, misleading operators even though no SBO/Operate request was sent. Gate this wording on actual service acceptance rather than general success.
AGENTS.md reference: AGENTS.md:L143-L153
Useful? React with 👍 / 👎.
| _smoothedVoltageVectors = SmoothVectors(_smoothedVoltageVectors, voltageVectors, elapsedMilliseconds); | ||
| _smoothedCurrentVectors = SmoothVectors(_smoothedCurrentVectors, currentVectors, elapsedMilliseconds); | ||
| _voltagePanel = PreparePanel(_smoothedVoltageVectors); | ||
| _currentPanel = PreparePanel(_smoothedCurrentVectors); |
There was a problem hiding this comment.
Drive easing to the final analysis sample
When consecutive cursor results have the same vector topology, this replaces the authoritative target with one exponentially blended sample, but no animation/render callback invokes SmoothVectors again. After the final native request completes, ExecuteAnalysisRequestAsync stops the composition pump, so the displayed magnitudes, angles, and legend values remain permanently between the previous and final DFT frames; ComtradeHarmonicsWorkstationView.ShowSpectra has the same behavior. Preserve the exact target and continue presentation frames until it is committed, or snap the final scrub result.
AGENTS.md reference: AGENTS.md:L94-L106
Useful? React with 👍 / 👎.
All exact-head software gates passed. Preserve PR #312 runtime/control/analyzer work and integrate the green ARIEC convergence pin plus corrected physical-trial contract.
c8d7fd1 to
7f6a63a
Compare
Correct v1.6.36 baseline
This PR is based on the field-proven
trial/scl-golden-wire-v1636line, not stalemain. It preserves the trusted-SCL/static-report startup path that already produced the physical 58/58 initial image.Process-state authority fix
stVal.CurrentValuefrom command results.CommandFeedbackValue, command guard/deadline state,AwaitingCommandReportEdge, and related helpers).Analyzer presentation
Combined v1.6.36 ARIEC convergence
PR #314 was integrated on this branch and is intentionally preserved:
0023ef9a4373855497464ed3979e359c4041c95dfrom ARIEC PR Diagnose v1.6.20 release publication #132 / CI #603.fieldProvenBaselineremains preserved inengines/ARIEC61850.lock.json.No temporary patch workflow remains in the final tree.
Regression protection
AwaitingCommandReportEdgeinstead of requiring the removed synthetic-command state.Exact candidate
Current exact head:
f1700ccc3ccf41895993ab827cb4c9e5fa8143e9.The previous exact-head installer run compiled successfully and executed 1137 tests; 1136 passed and the sole failure was a stale assertion that still required the intentionally removed
AwaitingCommandReportEdgestate. Commitf1700ccc3ccf41895993ab827cb4c9e5fa8143e9updates that regression contract. Full Build, IO/SV/COMTRADE validation, and Windows installer workflows are rerunning against this exact SHA.Physical duplicate-SOE closure will be claimed only after the resulting installer is exercised against the real IED.
Supersedes PR #311, whose original branch was based on stale
main.