Repository navigation
M2D-1: typed IEC Quality / UTC TimeQuality inspector for native Workbench - #163
Conversation
…nonical Browser Decode 13-bit IEC Quality and UTC TimeQuality exclusively from successfully read MMS typed values, keep decoded metadata on the same canonical DA nodes, and expose a reusable dense inspector in Data Model and DataSets. Unknown or malformed evidence remains unknown, untyped updates clear stale evidence, all network reads stay explicit, and large-model regression covers bit mapping and accuracy. No protocol core/firmware changes.
Chocolatey feed 504 left NSIS unavailable but workflow continued through full MSVC build. Retry bounded twice, verify executable and version, propagate resolved path to packaging, and fail early before expensive release compile when package feed remains unavailable.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 51badab313
ℹ️ 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".
| - name: Install and verify NSIS | ||
| shell: pwsh | ||
| run: choco install nsis --yes --no-progress | ||
| run: | |
There was a problem hiding this comment.
Separate the unrelated NSIS hardening
This evidence-focused commit also changes Chocolatey retry behavior and NSIS compiler discovery in the Windows packaging workflow, which addresses an independent CI failure mode and expands the review and rollback scope without contributing to typed Quality/UTC evidence. Move this workflow hardening into a separate focused change with its own validation.
AGENTS.md reference: AGENTS.md:L238-L240
Useful? React with 👍 / 👎.
| BrowserEngineeringEvidence { | ||
| theme: root.theme | ||
| engineeringEvidence: root.showSelectedEvidence | ||
| ? (root.modelProvider.treeModel.selectedNode.engineeringEvidence || ({})) | ||
| : ({}) |
There was a problem hiding this comment.
Keep the evidence inspector inside the selected DataSet page
When a DataSet is selected, this component is the third direct child of the StackLayout, while currentIndex is limited to 0 or 1 for the overview and member list. A StackLayout displays only its current child, so the new inspector remains hidden even when hasEvidence is true; place it within the member-page layout or outside the stack.
Useful? React with 👍 / 👎.
| engineeringEvidence: root.showSelectedEvidence | ||
| ? (root.modelProvider.treeModel.selectedNode.engineeringEvidence || ({})) | ||
| : ({}) |
There was a problem hiding this comment.
Enable evidence when selecting a direct DataSet attribute
When a DataSet member resolves directly to a q or t DataAttribute, the member-row click selects it but never changes showSelectedEvidence; that flag is set only by clicks on children of an expanded DataObject. Consequently this conditional supplies an empty map for direct Quality/Timestamp FCDA members, including those present in the repository fixtures. Set the flag for the direct-readable-member path too, or derive visibility from the selected node.
Useful? React with 👍 / 👎.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Baseline
Integrates after M2C PR #161 (
maind437443). Native Qt Workbench only — no web UI, MMS protocol-engine changes, SMV/PTP or ESP32 firmware changes.Implementation (one atomic commit)
MmsEngineeringEvidence.hpp: fail-closed typed decoder for IEC 61850 13-bit Quality (validity, eight detail bits, source, test, operator blocked) and UTC TimeQuality (leap seconds known, clock failure, clock not synchronized, 5-bit accuracy / unspecified).MmsLiveTreeModelnodes, including engineering context. No shadow store. Clear stale evidence when a subsequent value lacks typed evidence.BrowserEngineeringEvidence.qmlpanel in Data Model and DataSets; details are shown when a q/t DA is selected, not expanded eagerly across all entries.Limits / acceptance
CI discipline
One feature commit. Do not push small cosmetic commits or trigger unrelated domain CI matrices. Staged rollout; no installer publication or
mainmerge until tested.