Add pre-release deep repo review report (2026-07-07)#179
Merged
Conversation
Full read-through of production source, build, and test run ahead of the next major release. Documents 6 correctness findings (thread-marshalling inconsistency in config load, mixed UTC/local CSV timestamps, scope plotting the truncated display value, invisible --connect warning, UTC timestamp display, dead scope key mappings), robustness notes, tech debt (Terminal.Gui CS0618 set), and confirms security/release-engineering posture. 696/696 tests passing. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PD9QJLoPtFsT3JTcKtB4j4
- CSV recording: normalize all timestamps to UTC with an explicit 'Z' designator. Previously the OPC UA SourceTimestamp (UTC) and the DateTime.Now fallback (local) could mix timezones in one file with no way to tell them apart. Kind=Unspecified is treated as UTC per the OPC UA convention; Kind=Local is converted. - Scope: sample the full-precision, culture-invariant RawValue instead of the "F2"-truncated display Value, which quantized plots to 0.01 resolution and flattened smaller-amplitude signals entirely. Booleans now plot as 0/1 so digital signals are visible. - MainWindow: marshal all UI work after awaits onto the UI thread in LoadConfigurationAsync, SaveConfigurationAsync, ConnectAsync and ReconnectAsync, matching the convention used everywhere else in the file. The password prompt now runs via a new UiThread.RunAsync helper that queues a modal dialog on the UI loop and awaits its result. - Program: print the "--connect not implemented" warning before Application.Init() so it is not lost in the alternate screen buffer (same pattern as the existing config-path validation). 710/710 tests pass; adds 14 tests covering UTC normalization, the Z designator, RawValue preference, boolean plotting and invariant parsing. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PD9QJLoPtFsT3JTcKtB4j4
ReviewThis PR is unusual in a good way: it's a self-review report ( Correctness — the fixes look solidUI-thread marshalling (
Scope RawValue plotting (
CSV UTC normalization (
Minor/non-blocking observations
OverallNo bugs found in the fixes themselves — they're precise, address the exact root causes described, and each one comes with a regression test. Nice example of using a review pass to drive immediately-actionable, well-scoped fixes rather than a big-bang change. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Full read-through of production source, build, and test run ahead of the
next major release. Documents 6 correctness findings (thread-marshalling
inconsistency in config load, mixed UTC/local CSV timestamps, scope
plotting the truncated display value, invisible --connect warning, UTC
timestamp display, dead scope key mappings), robustness notes, tech debt
(Terminal.Gui CS0618 set), and confirms security/release-engineering
posture. 696/696 tests passing.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01PD9QJLoPtFsT3JTcKtB4j4