Skip to content

P0 Studio: verified PTP preflight and working Timing Copy Diagnostics - #267

Open
masarray wants to merge 12 commits into
fix/p0-ptp-profile-contract-20261020from
fix/p0-ptp-copy-diagnostics-verified-start-20261021
Open

masarray wants to merge 12 commits into
fix/p0-ptp-profile-contract-20261020from
fix/p0-ptp-copy-diagnostics-verified-start-20261021

Conversation

@masarray

Copy link
Copy Markdown
Owner

Scope

  • Preserve upstream P0: enforce shared IEC 61850-9-3 PTP SOURCE profile before START; truthful toggle #265 SOURCE IEC 61850-9-3 profile contract and firmware source_reason classifications.
  • Repair actual Timing Copy Diagnostics failure: PtpExpertPanel.qml imported no ARStack.Studio module for its StudioClipboard singleton. Add explicit module import, boolean copy result with host clipboard readback, truthful feedback, and full selectable diagnostics fallback.
  • Introduce bounded PTP SHOW / STOPPED preflight before PROFILE PTPROLE + CONFIG + START. Prevent serial rejection due to stale Studio OFF state while firmware remains RUNNING, without automatic STOP or blind retry.
  • Surface exact transaction phase and raw board rejection in diagnostics; retain same-boot error across safety STOP.
  • Add Windows --check-clipboard mode, static QML/SSOT regression, and deterministic positive/negative PTP preflight tests. Run clipboard probes against real Windows GUI and installed Inno preview.

Validation

Review and CI are required before this branch is packaged for operator verification. Hardware START remains to be checked with exact bundled ESP32-P4 firmware; never claim remote board changed from source edits alone.

Stack

PR based on #265, itself stacked on #264/#262; not on historical main. Avoid merging into main alone before upstream stacked changes.

@masarray
masarray marked this pull request as ready for review October 20, 2026 21:30
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 20, 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-20T21:32:40.652129Z ec6a9d3 Draft marked ready
ℹ️ 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: ec6a9d3dc2

ℹ️ 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 on lines +743 to +744
text: diagnosticsDialog.visible && workflowBar.session
? workflowBar.session.diagnosticsText() : device.logText

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep the diagnostics snapshot reactive

While the dialog remains open, this binding has no dependency on device.logTextChanged, PTP state changes, or the other signals that affect diagnosticsText(); QML cannot observe property reads performed inside the C++ invokable. Consequently, incoming diagnostics never appear, the Clear button leaves the old log visible, and the manual clipboard fallback can show a stale snapshot until the dialog is closed and reopened. Expose the snapshot as a notified property or explicitly bind/recompute it from the relevant change signals.

Useful? React with 👍 / 👎.

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