Skip to content

Add just live-check (automated live input + perf) and CI for just test - #7

Open
rvegajr wants to merge 2 commits into
mainfrom
live-check
Open

rvegajr wants to merge 2 commits into
mainfrom
live-check

Conversation

@rvegajr

@rvegajr rvegajr commented Oct 4, 2026

Copy link
Copy Markdown
Member

What

  • just live-check: one command that proves a live session end to end with no human or iPad. It spawns mrdpd-probe (a new lab-only executable that covers the captured display and logs every input it receives) and mrdpd-serve, then drives them with the headless IronRDP client. Every check asserts on both sides: the HID event the Mac received and the pixels the client decoded.
  • CI: .github/workflows/test.yml runs just test on macos-15 for PRs and pushes to main. It stays TCC-free, so live-check never runs in CI (AGENTS.md).
  • Docs: docs/live-check.md (new), plus updates to traceability, bench, the M6 interop log, README, and checkpoint.

Results (this Mac, release, loopback, 2026-10-04)

Check ID Result
Click, right click, drag, and wheel land on the DisplayMap point (±1.5 pt) T1-IN-03 pass
Typing "Hello mrdpd 42" (with Shift) and Cmd+A T1-IN-04 pass
Input-to-photon, typing-sized update T1-PERF-02 median 35.9 ms, max 51 ms (< 80)
Idle bitrate T1-PERF-03 0.0 kbit/s (< 50)
Idle CPU T1-PERF-04 0.2–0.4 % of one core (< 40)

Finding: a full-display repaint took a median of 110.7 ms (max 232 ms) on the same path. Large damage areas, not input, are why the iPad session felt laggy. This supports doing M8 next.

Not proven: Windows App on the iPad. live-check proves the server side only; C-IPAD scoring is still manual.

Tests

  • just test passes locally: Rust ABI and E2E, plus Swift (60 tests, 6 skipped, 0 failures).
  • just live-check ran twice in full, 9/9 on the second run. The first run failed only T1-PERF-02 (110.7 ms), because the probe repainted the whole display on each key. After switching key events to a 60 pt patch, T1-PERF-02 passed alone (35.5 ms), and the full rerun was 9/9.

🤖 Generated with Claude Code

https://claude.ai/code/session_01XASAafkzuqCqwowAZTD1re

rvegajr and others added 2 commits October 4, 2026 11:42
…t test.

mrdpd-probe covers the captured display, logs every input it receives, and
paints per event kind. live_check.rs spawns probe + mrdpd-serve, drives them
with the headless IronRDP client, and asserts on both the HID event the Mac
got and the pixels the client decoded: click, right click, drag, wheel,
typing, Cmd+A (T1-IN-03/04), input-to-photon, idle bitrate, idle CPU
(T1-PERF-02/03/04). 9/9 on loopback 2026-10-04.

CI: .github/workflows/test.yml runs `just test` on macos-15 (TCC-free).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XASAafkzuqCqwowAZTD1re
…icensed action.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XASAafkzuqCqwowAZTD1re
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