Repository navigation
Studio: ACK-gated PTP Start from native Timing GUI - #175
Conversation
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. |
…e (M2J) Retain true typed Quality/TimeQuality provenance from confirmed SCL-assisted initial MMS Read samples in both canonical native Browser trees. Keep the shared portable SCL adapter Qt-free; project only the first 96 eligible q/t details via the existing typed decoder. Preserve all authoritative leaf values, diagnose budget overflow with explicit Read fallback, and reject malformed/wrong-kind/failed-root evidence. Regression covers 150 mixed q/t/scalar leaves. Exact-head native Qt, portable SCL Connect and SCL Workbench CI all green.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4ed8f69587
ℹ️ 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".
Native Studio GUI-first PTP checkpoint — verified 2026-10-15Exact head: 8be7b8a. Branch is isolated from PTP embedded PR #166, public stable, and main. Native implementation: existing Qt Timing panel now sends one supervisor-owned guided PTP intent, rather than blind ROLE, CONFIG, START commands; C++ waits for matching ROLE readback, CONFIG accepted, START accepted, and live runtime status in requested role. Bounded Qt timer per ACK, STOP cancels pending startup, session generation retirement cancels state. Separate exact acknowledgement parsing prevents PTP START from falsely changing the SV OUTPUT RUNNING state. Default Sync interval corrected from unsupported 250ms to 1000ms. Exact-head CI
Release boundary: this verifies product-source GUI reliability, NOT a packaged Windows setup.exe artifact. The Windows Lifecycle workflow uploads no installer (confirmed no artifacts). ESP32-P4 M3 receiver/GM/PPS physical evidence and firmware/Studio bundle compatibility remain unverified; no claim of user-ready new EXE or smpSynch qualification. Keep PR reviewable and do not promote to public stable until Windows package smoke with approved firmware and hardware acceptance. |
…ed stable firmware
… clean-uninstall gates
…rkflow concurrency
…ytesWritten completes
…aware GUI shutdown
Studio native PTP ACK/readback gate + Inno Preview verified — 2026-10-15Exact PR head: Implemented
Exact-head CI and packaging
BoundaryWindows installer and software protocol ACK/readback regression are verified, not physical ESP32-P4 PTP/PPS/GM/IED interoperability. Do not promote |
…-thread handoff Publish one actionable M2K–M2P milestone and ownership plan; clarify canonical MMS/q/t/RCB evidence, UI/CI/performance budgets and multi-PR merge gates. Refresh obsolete M2G handoff and add discovery pointers for all engineers. Documentation only; no runtime behavior changed.
…rkbench main Preserve main's M2J q/t evidence and ARSAS SSOT docs alongside all PR #175 native Studio, PTP ACK gating and Inno preview changes. Trees are disjoint; both commit histories retained.
…rt saturation Reserve a single coalesced priority STOP slot in DeviceIoWorker and discard unsent PTP START while preserving other bounded FIFO commands. Hold cancellation until firmware stop-request ACK plus subsequent STOPPED readback, polling within a fixed deadline and blocking unsafe restart on unverified STOP. Ignore stale different-role SHOW telemetry until the requested stopped role arrives. Add deterministic queue/stop/role regressions and native GUI recovery state.
…retry Update pre-existing PTP runtime regression for stronger fail-closed cancellation semantics; exercise both guided and legacy direct START plus role-selection guards while PTP STOP remains unconfirmed.
FINAL ENGINEERING HANDOFF — Native Studio/Inno/PTP fail-safe merged (2026-10-15)PR #175 MERGED into main, merge Acceptance evidence
Safety / coordination
|
PTP fail-safe hardening checkpoint — 2026-10-15
Current PR HEAD:
c9c01551789232e84f182d9092e52fe8848df486(two focused commits after integration:58ed859,c9c0155). Addresses two open Codex reviews on stale PTP role readback and STOP rollback after serial queue saturation.PTP START; all remaining FIFO commands preserve order.PTP stop requestedthen subsequentPTP status=STOPPED. A stale STOPPED line before the acknowledgment is insufficient. Bounded Qt polling handles asynchronous stop; five-second confirmation budget does not extend on repeats.stop_unconfirmed, reports output may still be active, blocks guided/legacy START and role changes, and offers manual Retry Stop PTP.58ed859Linux Qt CI compiled but revealed an expected obsolete test assertion (old test assumed failed START instantaneously became idle).c9c0155replaces that assumption with verified rollback + retry assertions. New exact-head CI is running; do not merge before PASS: Native Preview, Qt, Windows Lifecycle, ESP32-P4, RC2.03fceb0is in artifact #11952330382. Do not label it as the newly hardened build. When new CI succeeds, independently download and verify the exact-head installer, firmware manifest, provenance, and SHA256.Hardware GM/PPS/PTP wire-phase/IED interoperability remains unqualified. Experimental PTP M3 PR #166 stays Draft. Public stable v0.1.1 remains untouched.
ARStack Studio native Windows — ACK-gated PTP + Inno Setup Preview
Integration checkpoint (2026-10-15): head
03fceb01bb18f898076662fe2347c7592ad11b17is a non-force, two-parent merge ofmain@61be86fand prior PR heada0adcbdb. The incoming 2 main commits (IED Browser M2J q/t evidence and canonical ARSAS SSOT handoff) touched no PR #175 paths, so both histories and all 17 native Studio change paths remain intact. Branch is ahead of main, not diverged. Do not merge until exact-head CI/installer gates complete.Native product scope
SmartSessionController/DeviceControllerguide PTP ROLE → stopped-role readback → CONFIG accepted → START accepted → role-matched PTP2 runtime → RUNNING; bounded Qt timeouts, cancellation, session-generation revocation and STOP rollback.smpSynch=0remains conservative.apps/arstack_studio/packaging/ARStackStudio.iss: Inno Setup isolated Preview channel; same-AppId preview upgrades, running-app closure, user data preservation, uninstall; separate historical NSIS stable channel. Pinned/verified flasher, firmware built from exact Studio HEAD and manifest/SHA/capability checks.Evidence (separate exact-head and hardware gates)
a0adcbdb: Native Preview, Qt, Windows Lifecycle, ESP32-P4 and routing/policy CI.ARStack-Studio-Preview-win-x64-setup.exeSHA-25601e805c3ccfa9045ad776480659096c19322861886b7500b05ef3203228600bf; portable ZIP SHA-256ddcec52d79212447415e53bd507859715018dc198a2d95d7553b729be0a97530. Portable firmware manifest sourcea0adcbdbmatches GUI provenance and firmware image SHA-256. This is the PRE-integration artifact, not an artifact for the new merge head.Boundaries & coordinated handoff
v0.1.1stable must not be overwritten. Verify operator workflow using the native Studio installer from exact integrated commit.main/ related IED Browser PRs.Integration method: preserve main tree, overlay the 17 proven-disjoint file blobs from former PR HEAD, create two-parent merge commit, fast-forward the existing PR branch with expected-SHA protection (no force).