test(cmux-tui): the machine journeys' older machine is older by its build time (#36044)

Merged
LA
2d ago
+5-1

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_, job ff78969bfc88ac2813e0e33c): the 2 tests fail as above.
  • Green at head ebf1eaef015: Linux (job ebeaaf218e84546e34dc3b93) 599 of 599 pass; macOS (job 48d4c658a26f8a0acc67a76f) 588 of 588 pass; fmt pass, clippy pass (job 47536da5d88f6ab69de3df7a; 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