Skip to content

flake: Bun wheel-history journey intermittently misses the final selected row #1054

Open

Description

@taras

At commit dde8ba50be6cae94a8339ef888e70c68d96f63f2, the same one-file Bun command passed in ordinary CI and failed during weight measurement without a source change.

  • Runtime: Bun 1.4.0 (34cbb9a40), Ubuntu runner.
  • Command: bun test --timeout=300000 packages/cli/tests/repl-wheel-migration.test.ts.
  • Failure: weight run 69, attempt 1, Bun job, at packages/cli/tests/repl-wheel-migration.test.ts:346.
  • Passing comparison: CI run 2305, attempt 1, Bun shard 4/9, same commit and Bun version. All six tests in this file passed, including the failing journey.

The failing journey is History alone scrolls above a held question and restores its caret. After reopening History and sending 23 ArrowDown inputs, it expected the screen to contain > 24 · Entry outcome recorded; the assertion received false. Five other tests in the file passed. The measurement stopped after 98 of 410 Bun files and uploaded a failed record; that run is ineligible for assembled weights.

Expected: true
Received: false
at packages/cli/tests/repl-wheel-migration.test.ts:346:66

The first complete failure log and failed measurement artifact are preserved. No test weakening, source fix, exclusion or timing increase has been applied. The helper currently waits for any subsequent screen write plus 30 ms; whether that acknowledges the intended keyboard input is a hypothesis to investigate, not an established cause.

Find and fix the triggering race while preserving the final-selection and restored-caret assertions, then record discriminating regression evidence. A green rerun restores delivery health but does not close this issue. This issue concerns the existing wheel/history journey; the headless repair and its independent review remain qualified at their recorded revisions.

Additional runner evidence on PR #1038

At unchanged commit 47f0101ed9979e73650a2885b25305d449307564, weight measurement 42139579929, attempt 1, Bun job fails this file under Bun 1.4.0 (34cbb9a40) on ubuntu-latest. All ten Bun shards pass in CI 42139412370, attempt 1 at that same commit. The full first measurement log is preserved (6,917,572 bytes; SHA256 2b7092360f8275ca26496cb65d0c953a01b0077cd9fb5129cebb510fa1961dc9). The original test-weights-bun-attempt-1 artifact, ID 13470241356, records failure after 122 of 440 files; ZIP SHA256 e073aa252bfca78e2a3f21d01b1b46d556e798b8f8015dc14c07cfb11f5fb1e2. This failed record is ineligible for assembly.

Two assertions fail in this invocation:

  • permission pages from a control-only window to its explanation and final choice: line 84 expects > [Choice 39] after 39 ArrowDown inputs; received false. This is a different exact assertion from the historical Choice 00 report, so a common cause is not established.
  • History alone scrolls above a held question and restores its caret: line 324 expects the prior marker to disappear after a downward wheel input; it remains visible. This differs from the historical final-selection assertion tracked in flake: Bun wheel-history journey intermittently misses the final selected row #1054.

The other four cases pass. Measurement uses full deno task setup, while ordinary CI uses its documented preparation. Preparation and input/render ordering are investigation variables, not a proven cause. No rerun, timeout increase, exclusion or repair has been applied. These findings do not expand the separately approved TODO focus correction. Related: #1125 and #1054. Keep the issues open until causal repair and regression evidence exist.

Node final-selection recurrence on #1178

CI 42806485190 attempt 1, Node 13/18 job 129796825426 fails the same final History selection assertion at exact 7c3f05749e99e74c18649bc878f55e7db1eae3d8. In History alone scrolls above a held question and restores its caret, the current line 394 expects > 24 · Entry outcome recorded after reopening History and 23 ArrowDown inputs; received false. Command: pnpm test:node 13/18, Linux Node 22.23.4. All 32 assigned files ran.

Complete first output was preserved before any retry: 582,277 bytes, SHA-256 46f7415fb048758b884842309b0305a6182c3b44b782f58e2028f1c707bd3cbf, at /private/tmp/xmd-staged-pilots-20261110/1178/ci-first-job-129796825426.log. This is the same named final-selection assertion under Node; it does not prove that its cause matches the historical Bun occurrence.

No source, wait, key sequence or assertion was changed for this observation, and no retry of this old head is selected. A genuine independent-review correction for named Syntax availability is being planned separately on #1229; its fresh CI will provide the next delivery evidence. Preserve the old failure and keep this issue open. A changed-head pass would not establish a fix or same-head intermittence for this Node occurrence.

Activity

  1. added
    flakeIntermittent or timing-sensitive failure that can pass without a code change
    on Nov 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    flakeIntermittent or timing-sensitive failure that can pass without a code change

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions