Symptom
test/ptc_runner/kernel/host_installation_test.exs:1055 ("stdio compatibility environment pins UTF-8 for locale-sensitive servers", added in #1274) intermittently fails inside the full mix test run with:
assert {:ok, %{capabilities: [capability], close: close}} = ProviderRegistry.build(...)
right: {:error, :mcp_timeout}
Observed twice in consecutive full-suite runs on 2026-08-11 (macOS, max_cases: schedulers_online); passes in isolation every time (3.3s), and other full-suite runs the same day were green.
Diagnosis
The fixture spawns a full elixir BEAM boot as the stdio MCP server through the launcher; under suite load, interpreter boot plus MCP handshake can exceed the default handshake budget from Limits.new() (the test's context/2 uses default limits). Same class as the deadline-tight flakes fixed in the flaky-determinism PR: the assertion is right, the budget is load-sensitive.
Suggested fix
Give this test (and its sibling stdio fixture tests that boot elixir) an explicit generous handshake budget via its context/limits rather than the default, or pre-warm the fixture. Keep the assertion; do not tag it out of PR gates.
Refs: the flaky-test determinism PR for the class analysis; discovered while verifying that branch on a rebased tree.
Symptom
test/ptc_runner/kernel/host_installation_test.exs:1055("stdio compatibility environment pins UTF-8 for locale-sensitive servers", added in #1274) intermittently fails inside the fullmix testrun with:Observed twice in consecutive full-suite runs on 2026-08-11 (macOS,
max_cases: schedulers_online); passes in isolation every time (3.3s), and other full-suite runs the same day were green.Diagnosis
The fixture spawns a full
elixirBEAM boot as the stdio MCP server through the launcher; under suite load, interpreter boot plus MCP handshake can exceed the default handshake budget fromLimits.new()(the test'scontext/2uses default limits). Same class as the deadline-tight flakes fixed in the flaky-determinism PR: the assertion is right, the budget is load-sensitive.Suggested fix
Give this test (and its sibling stdio fixture tests that boot
elixir) an explicit generous handshake budget via its context/limits rather than the default, or pre-warm the fixture. Keep the assertion; do not tag it out of PR gates.Refs: the flaky-test determinism PR for the class analysis; discovered while verifying that branch on a rebased tree.