Summary
TestActivePaletteCompatibility.test_no_color_makes_every_builtin_layout_byte_identical can fail when its five sequential statusline subprocesses cross a live age-display boundary. The assertion attributes every byte difference to theme selection, but the payload leaves the ledger-derived Today ... age field live.
Evidence
Observed locally on WSL/Ubuntu while verifying #352:
FAIL: test_no_color_makes_every_builtin_layout_byte_identical
self.assertTrue(all(output == outputs[0] for output in outputs[1:]))
The exact isolated rerun failed again. Capturing each rendered output then showed identical theme/layout bytes once all five executions landed on the same side of the boundary; output included the dynamic row:
The test launches five subprocesses sequentially with the same session id and temp workspace, so a transition such as age 59s to age 1m makes outputs differ even under NO_COLOR=1.
Expected
The test should hold all non-theme inputs constant and prove only that removing color makes the built-in themes byte-identical.
Suggested regression
Freeze or isolate the ledger/age input for all five subprocesses, then exercise a forced boundary to prove live time cannot affect the comparison.
Scope
Pre-existing test reliability defect; no product behavior change requested. Discovered while fixing #352 and intentionally excluded from that narrow patch.
Summary
TestActivePaletteCompatibility.test_no_color_makes_every_builtin_layout_byte_identicalcan fail when its five sequential statusline subprocesses cross a live age-display boundary. The assertion attributes every byte difference to theme selection, but the payload leaves the ledger-derivedToday ... agefield live.Evidence
Observed locally on WSL/Ubuntu while verifying #352:
The exact isolated rerun failed again. Capturing each rendered output then showed identical theme/layout bytes once all five executions landed on the same side of the boundary; output included the dynamic row:
The test launches five subprocesses sequentially with the same session id and temp workspace, so a transition such as
age 59stoage 1mmakes outputs differ even underNO_COLOR=1.Expected
The test should hold all non-theme inputs constant and prove only that removing color makes the built-in themes byte-identical.
Suggested regression
Freeze or isolate the ledger/age input for all five subprocesses, then exercise a forced boundary to prove live time cannot affect the comparison.
Scope
Pre-existing test reliability defect; no product behavior change requested. Discovered while fixing #352 and intentionally excluded from that narrow patch.