Skip to content

Make the REPL Control-C journey observe its execution location consistently #998

Open

Description

@taras

The REPL Control-C journey consistently observes the new execution's location before it inspects the directory and verifies that leaving prints that location. The test keeps its exit, printed-location and journal assertions.

The current J1: Control-C ends the command and prints the location row in packages/cli/tests/repl-journey.test.ts intermittently reaches files[0].replace(...) before the execution directory exists. CI reports an undefined value rather than a failed location assertion.

Failure evidence:

not ok 1 - J1: Control-C ends the command and prints the location
TypeError: Cannot read properties of undefined (reading 'replace')
packages/cli/tests/repl-journey.test.ts:1310:34

The identical source passes locally without a fix under Node on macOS: three complete journey-file runs (71 tests each), eight concurrent runs of the affected row, and the exact pnpm test:node 7/10 selection (40 of 40 files). Those are different hosts; the local passes do not by themselves exclude a platform-specific problem. In the failing CI run every other non-aggregate job succeeded (39 of 42 jobs); the failed green aggregate depends on this shard.

The trace identifies a timing assumption to investigate. settled() advances eight scheduler turns before the directory inspection. The root directory exists, but its execution directory is not yet present. The relevant startup window is unchanged by #997's memory changes. The same fixture already provides an awaiting(...) deadline helper used by neighbouring rows. A readiness condition on the actual execution directory is a candidate repair; the failing scheduling window has not been forced locally yet.

Resolve the startup/readiness cause with discriminating evidence while preserving every original J1 assertion. Replace no assertion with a delay, looser value or ignored failure. Changes to an existing test require the repository's explicit test-edit authorization.

This is the dedicated flake record required by AGENTS.md. A green rerun restores CI health and does not close this issue. Close it only after the cause is fixed and regression evidence is recorded.

Activity

  1. added
    flakeIntermittent or timing-sensitive failure that can pass without a code change
    on Oct 27, 2026
  2. taras commented on Oct 27, 2026

    @taras
    OwnerAuthor

    [flake-998-unchanged-retry-2]

    The identical revision 4657c4d92ffbd940f58a3cfb7f93a76d3da32c26 passed CI attempt 2, including Node shard 7/10. Attempt 1 failed the Control-C journey in that same shard; no source or test changed between those attempts. This adds CI-runner evidence of intermittence to the local observations recorded above.

    The green retry restores PR #997 CI health. This issue remains open until the startup readiness cause is fixed and focused regression evidence is recorded.

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