Skip to content

Codex/stage4 ci stabilization - #92

Merged
andreamancuso merged 7 commits into
mainfrom
codex/stage4-ci-stabilization
Sep 27, 2026
Merged

andreamancuso merged 7 commits into
mainfrom
codex/stage4-ci-stabilization

Conversation

@andreamancuso

@andreamancuso andreamancuso commented Sep 27, 2026 •

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • New Features

    • Added a configurable display update rate of 10, 20, or 60 updates per second, with a default of 20. Telemetry collection and history retention continue independently of the display rate.
    • Added richer diagnostics for plots, maps, and text displays, including retained data and capacity information.
  • Bug Fixes

    • Style updates now affect only the specified style families, and clearing a style correctly restores the appropriate layout.
    • Improved tab layout behavior and handling of stale or disconnected serial connections.
  • Documentation

    • Added application pacing and validation guides, measurement results, and engineering verification references.

Correct the ImGui color ABI and inactive tab cursor positioning, with focused native and TypeScript regressions. Expose bounded native history and map overlay diagnostics for complete application verification.

Retain the isolated application migration patch, reproducible setup, checksummed receiver-byte driver, and public-render full-App scenario. Record populated panel interaction, 60 seconds of NAV-SAT/NAV-PVT input, pause/reconnect, disconnected inactivity, and ordinary cleanup with late work. Update only the bounded Windows roadmap criterion.

Validated fresh application typecheck and development startup, serial lifecycle checks, 380 Windows native tests, common/Fabric/ABI checks, 21 lifecycle scenarios in each React mode, rebuilt Node/Wasm short suites, and 65-result binding parity. Existing hosted 1000-cycle and extended gates remain unchanged; shared-host timings are informational.

Companion ubx-monitor commit: e7de9e25ff3f608e8bb2613e471d0b97f47d58f2 on qualification/current-xframes-application. Original application checkout, settings and dependency graph are preserved.
@coderabbitai

coderabbitai Bot commented Sep 27, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Caution

Review failed

An error occurred during the review process. Please try again later.

📝 Walkthrough

Walkthrough

The PR updates native style patching and widget diagnostics, adds ubx-monitor pacing and application validation tooling, and records Stage 4 scheduler and CI results. It also adds Linux test setup and browser-smoke adjustments.

Changes

Native widget styling and diagnostics

Layer / File(s) Summary
Style-family patch behavior
packages/dear-imgui/cpp/app/src/element/element.cpp, packages/dear-imgui/cpp/app/src/widget/styled_widget.cpp, packages/dear-imgui/cpp/tests/*
Style patches now update one family at a time: object values replace the family, null clears it, and missing or other value types leave it unchanged. Tests cover family replacement, clearing, layout restoration, and tab-item rendering.
Widget diagnostic state
packages/dear-imgui/cpp/app/include/widget/*, packages/dear-imgui/cpp/app/src/xframes.cpp, packages/dear-imgui/cpp/tests/xframes_test.cpp
Plot and map widgets expose diagnostic state. XFrames includes widget and clipped-text counts in its diagnostic output. Tests check retained points and map overlays.
Style diagnostics and ImGui color ABI
packages/dear-imgui/npm/common/*, packages/dear-imgui/npm/diagnostics/style-patching.tsx, packages/dear-imgui/npm/diagnostics/run.mjs, packages/dear-imgui/npm/package.json, packages/dear-imgui/npm/diagnostics/README.md
The TypeScript ImGuiCol enum adds current native members and aliases, with an ABI check against imgui.h. A Node diagnostic exercises style patching and checks screenshot pixels, bounds, publications, and renderer errors.

ubx-monitor pacing and application qualification

Layer / File(s) Summary
Pacing configuration and telemetry state
packages/dear-imgui/npm/diagnostics/ubx-pacing.patch
The patch adds persisted 10, 20, or 60 Hz display rates, defaulting invalid values to 20. It adds bounded telemetry histories and a shared cadence that coalesces pending publication requests.
Paced hooks and panel histories
packages/dear-imgui/npm/diagnostics/ubx-pacing.patch
Hooks ingest source events into retained histories and publish snapshots through the cadence. Panels replay retained position and hardware samples and update map, message, console, and sky-view data.
Application integration and reproducible setup
packages/dear-imgui/npm/diagnostics/ubx-application.patch, packages/dear-imgui/npm/diagnostics/ubx-application-setup.mjs, packages/dear-imgui/npm/diagnostics/ubx-application.ts, packages/dear-imgui/npm/diagnostics/ubx-bytes.ts, packages/dear-imgui/npm/diagnostics/ubx-rate-select.ps1
The application patch adds an injectable serial transport, lifecycle handling, and bounded console history. The setup and harness scripts prepare an isolated application and run synthetic-stream, interaction, pacing, retention, and cleanup checks.
Pacing measurement and qualification records
goal.txt, README.md, docs/engineering/ubx-monitor-*, packages/dear-imgui/npm/diagnostics/ubx-comparison-report.mjs, packages/dear-imgui/npm/diagnostics/ubx-history.ts, packages/dear-imgui/npm/diagnostics/ubx-source*, packages/dear-imgui/npm/diagnostics/README.md
The documents record the pacing contract, bounded Windows application run, and paired measurements. The comparison tool validates six runs and reports measured reductions alongside observed latency and remaining limits.

Stage 4 CI and qualification status

Layer / File(s) Summary
Hosted CI and Linux runtime setup
.github/workflows/application.yml, packages/dear-imgui/npm/diagnostics/node-input.ts, packages/dear-imgui/npm/diagnostics/x11-run.sh, packages/dear-imgui/npm/wasm/scripts/browser-smoke.mjs, packages/dear-imgui/npm/diagnostics/README.md
The workflow initializes the ImGui headers submodule and installs xauth. Linux diagnostics check X11 prerequisites, omit xdotool --sync for pointer movement, and use additional SwiftShader flags for selected browser runs.
Scheduler status and qualification record
ROADMAP.md, docs/architecture/fabric-runtime-hardening.md, docs/engineering/fabric-invalidation-2026-09.md, packages/dear-imgui/npm/FABRIC_EMBEDDING.md
The documents record the Stage 4 scheduler MVP and focused CI stabilization as complete. Broader milestone qualification and consistently green future CI remain open.

Estimated code review effort: 4 (Complex) | ~60 minutes

Change: Feature

Sequence Diagram(s)

sequenceDiagram
  participant TelemetryEvent
  participant usePacedValue
  participant PublicationCadence
  participant ReactView
  TelemetryEvent->>usePacedValue: update latest value
  usePacedValue->>PublicationCadence: request owner publication
  PublicationCadence->>PublicationCadence: coalesce pending owner work
  PublicationCadence->>ReactView: publish at selected cadence
Loading
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 6.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 50 functions across 22 files. (18 skipped:… Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately identifies the Stage 4 CI stabilization work documented in the changeset. It does not mention the additional application-pacing and diagnostic changes, but the title need not cove…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 6.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 50 functions across 22 files. (18 skipped: 18 unsupported.)

✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@andreamancuso
andreamancuso merged commit 2f5093e into main Sep 27, 2026
11 checks passed
@andreamancuso
andreamancuso deleted the codex/stage4-ci-stabilization branch September 27, 2026 20:11
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