Skip to content

app: v3 Preview Debug Status shows the session's counters (row C25) - #1627

Merged
GoKubar merged 1 commit into
mainfrom
agent/kabir-claude/app-parity-v3-debug
Oct 6, 2026
Merged

GoKubar merged 1 commit into
mainfrom
agent/kabir-claude/app-parity-v3-debug

Conversation

@GoKubar

@GoKubar GoKubar commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Sub-lane of P5-APP-PARITY-FINISH, app-parity row C25 (Preview Debug Status, developer-facing).

Under v3, View > Show Preview Debug Status showed only session.environmentNote (and only when ready). The v2 pane's strip (PreviewV2View.swift ~:1052) showed the frame's id, project, revision, pages, window and fonts.

  • EngineV3Session.debugLine (pure, computed): host pid or "no host", host starts, last DONE id (cancelled DONEs excluded, as lastDoneID is), layout revision, pages and stale pages, DONEs received, keystroke-to-screen median over the last 200 samples (same computation as the status bar in ShellChrome), environment note. Only fields the session already keeps; nothing new is tracked.
  • PreviewV3StatusHUD shows it whenever the toggle is on (any phase), id engine-v3.debug-status.
  • EngineV3DebugStatusTests: testTheDebugLineCarriesTheSessionsCounters (FLASHTEX_HOST=none, private FLASHTEX_V3_CACHE, no bundle; feeds STARTED/PAGES/DONE and a cancelled DONE) and testTheDebugLineShowsTheKeystrokeMedian (latency samples on a bare session). Neither needs a host, so both run on hosted mac-app.

Not done here: the v2 strip's font manifest has no v3 equivalent in the session; it is not invented.

🤖 Generated with Claude Code

https://claude.ai/code/session_01SDAiBvi7bfkb19jLNPTtjp

Under v3 the View > Show Preview Debug Status toggle showed only the
session's environment note. The v2 pane's debug strip showed its frame's
id, revision and pages; the v3 pane now shows EngineV3Session.debugLine:
host pid and host starts, the last DONE id (cancelled DONEs do not count),
the layout revision, pages and stale pages, DONEs received, the
keystroke-to-screen median (the status bar's, last 200 samples) and the
environment note. Only fields the session already keeps.

EngineV3DebugStatusTests feeds STARTED/PAGES/DONE to a session with
FLASHTEX_HOST=none and a private FLASHTEX_V3_CACHE, and latency samples
to a bare session.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SDAiBvi7bfkb19jLNPTtjp
@GoKubar

GoKubar commented Oct 6, 2026

Copy link
Copy Markdown
Contributor Author

CI run 37505201540: green. In the mac app job (112412041399), the full log (artifact mac-swift-test-log) shows that EngineV3DebugStatusTests.testTheDebugLineCarriesTheSessionsCounters and testTheDebugLineShowsTheKeystrokeMedian were executed and passed, not skipped. Totals: "Executed 2401 tests, with 132 tests skipped and 0 failures".

@GoKubar

GoKubar commented Oct 6, 2026

Copy link
Copy Markdown
Contributor Author

Independent review (kabir-claude reviewer, P5-APP-PARITY-FINISH): approve. Reviewed at c194967. I only read code and CI.

  • Row C25. Under v3 the toggle used to show only environmentNote, and only when ready. It now shows EngineV3Session.debugLine: host pid and starts, last DONE, layout revision, pages and stale pages, DONEs received, the keystroke median and the environment note. That is the v3 equivalent of v2's strip (frame id, revision, pages). The change is in the app only; no engine code.
  • Tests. EngineV3DebugStatusTests drives handle(.started/.pages/.done) with FLASHTEX_HOST=none. It checks the exact line, stale counting, that a cancelled DONE does not become "last DONE", and the median over the last 200 samples. Neither test has a skip path, so they run on the hosted mac-app job.
  • CI (run 37505201540). mac-app passed: 2401 executed, 0 failures.
  • Nits. With an even sample count the median is the upper median. The line relies on @ObservationIgnored counters changing together with observed state (the comment says so). That is fine for a developer-only strip.

@GoKubar
GoKubar added this pull request to the merge queue Oct 6, 2026
Merged via the queue into main with commit 11f516a Oct 6, 2026
28 checks passed
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