Public: anyone can read this; nobody can change it.
A fork's second proposal waits for the fork to follow its parent before landing more work, so it no longer races the follow on a slow machine #56
Check · Review · Land done · Live — Landed; nothing deploys from this branch, so this is the end of its path.
"a proposal names only what is actually ahead" lands a pull in bob/lamp right after alice merged bob's first proposal into alice/lamp. That merge moves the untouched fork on the bus (following.ts), and the test's next mergePull reads the fork's main before the move and CASes it after: update-ref fails and the merge returns base_moved. On one core, 3 of 6 runs on main failed that way:
shipped merged
Sign in to join this conversation.
"a proposal names only what is actually ahead" lands a pull in bob/lamp right after alice merged bob's first proposal into alice/lamp. That merge moves the untouched fork on the bus (following.ts), and the test's next mergePull reads the fork's main before the move and CASes it after: update-ref fails and the merge returns base_moved. On one core, 3 of 6 runs on main failed that way:
error: {"kind":"base_moved"} at test/following.test.ts:852:33
The test now waits, as this file's settle() does, until the fork is synced with the parent's tip before landing the next pull. What it asserts is unchanged. 12 of 12 runs pass on one core.
Evidence
On one core (
taskset -c 0, pinned bun 1.3.14),bun test ./test/following.test.ts -t "names only what is actually ahead", 10 runs each:error: {"kind":"base_moved"}This is the race that made
validatereport #47 flaky on gate 2 (a fork that follows its parent > a proposal names only what is actually ahead). Test-only change; what the test asserts is unchanged.<!-- pipeline:validation -->
Validation
pipeline/validateon06be2090: pass in 10s — bun 1.3.14, CI-shaped env (scrubbed vars, runner PATH), exact check.yml shard + forge.json commands.bun install --frozen-lockfileforge.json check.fastcheck.yml gate (1) pull_requestcheck.yml gate (2) pull_requestcheck.yml gate (3) pull_requesttest output (failures, totals)