test(cmux-tui): the machine journeys' older machine is older by its build time (#36044)
Summary
Base red on feat-cmux-next since #36044 (merged 2026-11-05 03:29Z): cmux-tui::machine_update_journey machine_gate_refuses_an_older_machine_before_anything_moves and machine_update_swaps_in_the_pinned_build_and_keeps_terminals_and_chats fail with left: "machine_capability_missing", right: "machine_outdated".
Cause (test, by the culprit's intent): #36044 made machine_outdated apply only to a machine whose build_time is older than the client's; a machine of another build that is not older now answers machine_capability_missing ("cmux-tui link: outdated only for a machine whose build is older"). The start_built_at journeys (from #26217) already model build time. These two older journeys still stood one binary in for the older machine with only another build id (CMUX_TEST_DAEMON_BUILD_ID), so its build time was the client's own: not older.
Fix: their older machine also reports an older build time (CMUX_TEST_DAEMON_BUILD_TIME=1, the seam the #36044 journeys use): the gate journey through its machine env, the update journey through start_built_at(.., LACKS_FOR_UPDATE, "1"). The supervisor applies the build time only while the binary is the older build, so the updated daemon reports its own. Assertions unchanged.
Testing
- Red at feat c31629b64bb (Linux, filter
machine_, jobff78969bfc88ac2813e0e33c): the 2 tests fail as above. - Green at head ebf1eaef015: Linux (job
ebeaaf218e84546e34dc3b93) 599 of 599 pass; macOS (job48d4c658a26f8a0acc67a76f) 588 of 588 pass; fmt pass, clippy pass (job47536da5d88f6ab69de3df7a; its test filter matched no test name). python3 scripts/cmux-next/prepush-gate.py: no new violations.
Observed / Not run
- Observed: the results above.
- Not run: a full suite at this head; the change is one test file.
Changelog
none