Skip to content

M2I: validate selected native Quality/TimeQuality with rendered GUI evidence - #172

Closed
masarray wants to merge 5 commits into
mainfrom
test/workbench-typed-evidence-visual-m2i
Closed

masarray wants to merge 5 commits into
mainfrom
test/workbench-typed-evidence-visual-m2i

Conversation

@masarray

Copy link
Copy Markdown
Owner

Baseline

Implementation

  • Add opt-in --qa-browser-evidence-output DIR only for CI/QA, requiring a real opened SCL fixture. It resolves q/t DA directly from the authoritative DataSet and canonical MMS item index (no shadow semantic model, parser, or new polling).
  • Create typed Quality and UTC evidence using existing decodeEngineeringEvidence and inject samples only into MmsLiveTreeModel in this explicitly flagged synthetic QA mode.
  • Render and assert actual visible typed evidence in each of Data Model (inline DO/DA selection) and DataSets (shared user-click DA selection path) and save four screenshots:
    data-model-quality.png, data-model-timestamp.png, datasets-quality.png, datasets-timestamp.png.
  • Reject malformed 13-bit Quality as Unknown, verify stale selection clears when DataSet changes, and reject identical screenshots from distinct chosen states.
  • Reuse one canonical DA selection function for DataSets direct and lazily expanded member rows. Add only QML objectNames for robust component-scoped GUI QA.
  • Extend existing Browser source contract and one existing native Qt workflow, without spawning new CI runners.

Acceptance

  • Exact-head Browser convergence, QML smoke, 60k-node large-model regression, malformed/negative data, MMS & reporting, multi-IED, screenshot upload and CI routing must pass.
  • Review real screenshot artifacts; do not claim IEDScout pixel parity or real physical-IED interoperability from synthetic fixture screenshots.
  • Do not merge without exact-head completed CI and review.

No firmware, PTP/SMV, Studio release/installer, legacy web app, protocol parsing or q/t semantic changes.

…gates (M2I)

Reuse canonical typed decoder and DataSets user selection, capture quality/timestamp in both native Browser panes, fail closed for malformed quality and stale DataSet selection. Synthetic samples exist only in the CLI QA harness; no protocol/engine changes, polling or duplicate model.

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

ℹ️ 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 apps/ied_simulator/src/BrowserEvidenceVisualQa.hpp
@chatgpt-codex-connector

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-14T23:43:14.183488Z e166d72 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.

…iewport

Put typed Quality/TimeQuality before generic DA metadata and assert actual viewport intersection of typed rows in rendered screenshots. Preserve virtualized tree, lazy DataSets and canonical decoder.
… canonical selection

Separate canonical SCL completion from native pane instantiation; allow up to 40 QA-only event-loop checks and report exact setup stage on failure. Do not introduce polling into production UI.
…ics for M2I

On deterministic QA setup failure only, report the selected DataSet's IEC members, indexed canonical node lookup, and authoritative MMS member identities. Keep QA fail-closed; do not guess or rewrite protocol references.
…s (M2I)

SCL source references use IED/LD/LN.DO.DA [FC], while the indexed canonical MMS model uses IEDLD/LN.DO.DA and an independent FC. Normalize from parsed typed SCL fields once, preserve member order and the original SCL document for provenance, avoid duplicated FC in DataSets, and add deterministic direct q/t lookup regression.

Copy link
Copy Markdown
Owner Author

Historical PR reconciliation / archival — 2026-10-24

Disposition: CLOSE AS SUPERSEDED OLD SOURCE, NOT MERGED, AND NOT A FEATURE ACCEPTANCE PASS. Verified historical head: 3c11cd3a132516930409cac18c556ce5dad4b69c. This source diverges substantially from the current integrated main (M3.H Process Bus tested baseline already merged through #299).

The distinct acceptance remains: selected Quality/TimeQuality visual QA screenshots and negative cases. Canonical engineering owner: #128; migration index #308.

All commits and review notes remain reachable from this closed PR. A new narrowly scoped PR must branch from current main, first identify genuinely missing behavior and then pass targeted Qt/MMS/schema/GUI tests. Do not bulk-merge the historical branch, silently lose unknown MMS type safety, or claim physical IED acceptance from old CI. No M3.H Stable asset is modified by this closure.

@masarray masarray closed this Oct 24, 2026
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