Skip to content

test(ui-react): await accepted queue rendering in continuity checks - #2188

Merged
schlessera merged 11 commits into
mainfrom
test/1855-continuity-windows-c1855a
Oct 22, 2026
Merged

schlessera merged 11 commits into
mainfrom
test/1855-continuity-windows-c1855a

Conversation

@schlessera

@schlessera schlessera commented Oct 16, 2026 •

Copy link
Copy Markdown
Owner

Refs #1855

What changed

The two ten-cycle continuity cases await native per-payload queue receipt minima and finite rendering for already-accepted queues, replacing twenty 500 ms observation windows. All 15 cases, both viewport paths, ten cycles per viewport, original identity/layout/focus/draft/upload/no-send assertions and the other 87 observation windows remain. Production behavior and the machine contract are unchanged.

This refresh merges main 736a3445e82aee509e10f3c8d00b95fc77749202 into the preserved slice at b7afb3c288f7ffc5938e80a670f9c45c1f4d593e. It inherits #2394's fixture precondition and #2458's shared runtime-build hooks from main. The initial docs/process/test-waits.md conflict retains both the queue explanation and main's private-conformance-clock section; later citation overlaps are resolved against the combined source. The client fixture and historical JSON evidence remain byte-identical to preserved head fc086b3498ed55a5423a41cab4e31eddd6dccd05. The diff against merged main remains the same four-file slice; no separately owned fixture or build change is introduced by this PR.

Why this shape

The fixture limits replacement to the synchronous pending-queue branch: an already-accepted request, a held running turn, and no started/dropped follow-up, transcript adoption or history refresh. Receipt minima tolerate legitimate identical reports; existing finite rendering precedes the original identity assertions. The lower pending-stack test owns synchronous store application, while real Chromium owns delivery, rendering and continuity. The source-bound study retains the original mutations, delayed/premature/duplicate controls and measurement limits.

Proof

Current refresh head: b7afb3c288f7ffc5938e80a670f9c45c1f4d593e; merged base: 736a3445e82aee509e10f3c8d00b95fc77749202.

  • Frozen-lockfile install, bun run typecheck (tsc --noEmit) and bun run lint pass.
  • Fresh lower mutation: deferring the production pending-queue write through queueMicrotask fails the host's report is the pending stack, and none of it is in the chat at its unchanged immediate text assertion (expected the two queued texts, received []; 0 pass / 1 fail / 3 assertions). Restoring the source passes all 20 lower tests / 86 assertions.
  • Fresh native mutation: changing pending IDs on each production report fails the 320 px ten-drop case at cycle 1, reconnected: no pending pill was removed during recovery (expected 0, received 1; 0 pass / 1 fail / 67 assertions). Both production mutations are restored byte-for-byte.
  • Final bun run check:pr --base origin/main passes all contribution gates, 54 fast tests / 181 assertions, and all 15 real-Chromium continuity cases / 1,876 assertions, with no skips. Both ten-drop paths and IME cases pass. Exactly 87 observation calls and 87 retained frame calls remain (44,586.047 ms in the original native observations). Whole preflight: 529.38 seconds; native runner: 417.96 seconds. Main's new invocation harness separately reports an 80.42-second package build. These are qualification costs on the stated tree, not a new matched saving.
  • Current runtime: Bun 1.4.2, Playwright 1.63.0, real Chrome for Testing 153.0.8010.12, BRAIN_REQUIRE_CHROME=1. The repository scripts/test-offline.sh launcher provides fresh user/network namespaces, loopback plus a dummy interface, empty IPv4/IPv6 main route tables and all five capability sets zero. The preload and browser-origin guards remain enabled. Browser/unit/mutation/preflight commands run directly without the exclusive native Btrfs/loop fixture lock.
  • Installed React, React DOM and Zustand source hashes match the historical study's recorded dependencies. This is source verification, not new runtime qualification.

The historical matched queue sections measured 10.973 to 1.270 seconds (9.703 seconds observed saving). Setup/shared-host variation and the original strict/minimum-predicate distinction remain in the study; this refresh makes no new speedup claim.

Ready run 39084453976 remains failed at historical head fc086b3498ed55a5423a41cab4e31eddd6dccd05: browser (2) and aggregate failed while the target continuity file passed 15 cases / 1,876 assertions. Earlier failed and cancelled runs retain their actual identities in the issue history. The 2026-10-22 maintainer ruling removes the remaining blocker edge; it does not relabel those runs as successful proof.

Checklist

  • Focused local preflight/behavioral receipts and complete selected hosted proof passed; actual head/base/job checkout evidence is in Proof.
  • This completed slice and remaining issue criteria are named below.
  • PR and advanced issue retain verified release milestone 0.44.0 (58).
  • Tests/docs only; a consumer-visible changeset is unnecessary.
  • Leakage and citation rules apply to the complete diff.
  • The machine surface is unchanged; a CONTRACT commit is unnecessary.
  • Wait guidance describes the changed guarantee distribution.
  • Provider-facing history is unchanged.

Anything left open

This accepted-queue slice uses Refs and leaves #1855 open for the remaining 87 caller-specific observation windows and original inventory, horizon/equivalent-completion, margin and execution-tier criteria. Retained durations are not established minima. The scope excludes #2394's separately owned continuity/parallel-session fixture preconditions.

This invocation stops at an updated draft with passing focused preflight and current-head draft gates. The coordinator owns ready transition, complete selected candidate confirmation, actual checkout/aggregate verification and merge. Those steps remain outstanding; cheap draft gates are not complete hosted proof. A proposed finite split of the remaining issue criteria will be handed to the coordinator separately, without filing issues here.

@schlessera schlessera added this to the 0.44.0 milestone Oct 16, 2026
@schlessera schlessera added type: test Coverage, harness or proof work with no behaviour change. area: ui-react React chat/files/voice components, stores, WebSocket transport. area: ci CI workflows, the gates they run, release scripts, packaging. labels Oct 16, 2026
@schlessera
schlessera marked this pull request as ready for review October 16, 2026 17:34
@schlessera
schlessera marked this pull request as draft October 16, 2026 17:34
@schlessera
schlessera marked this pull request as ready for review October 18, 2026 00:17
@schlessera
schlessera marked this pull request as draft October 18, 2026 00:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: ci CI workflows, the gates they run, release scripts, packaging. area: ui-react React chat/files/voice components, stores, WebSocket transport. type: test Coverage, harness or proof work with no behaviour change.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant