[shared-ci] test (agent 4/5) failing across hivecommons/hive #14513
Description
Summary
v2 Tests → test (agent 4/5) is red on every fork PR whose diff triggers full agent-lane selection, while v6 pushes stay green. One test fails deterministically, 9/9 runs across 3 PRs, including when re-run alone:
--- FAIL: TestPollTmuxOutputForAgent_WiresThrashBreaker (23.5s)
thrash_poller_wiring_test.go:110: blocked-line burst through the poller never tripped the thrash breaker
Evidence
| PR | head | job | runner | tmux | result |
|---|---|---|---|---|---|
| #14454 | 2936e86 | 121869132436 | ubuntu-latest | 3.6 | FAIL ×3 |
| #14481 | 7971312 | 121943222780 | ubuntu-latest | 3.6 | FAIL ×3 |
| #14495 | 1cf4e2a | 121957984339 | ubuntu-latest | 3.6 | FAIL ×3 |
| v6 push 392df48 | — | 121879049016 | hive-runners-lke | 3.4 | PASS (6.48s) |
git diff v6 refs/pull/{14454,14481,14495}/merge -- src/pkg/agentis empty for all three: the PR diffs do not touch the code under test.- 🐛 fix(automerge): sign-off stall notes name the squash gate only where it runs; log the stall at INFO #14481 and ✨ feat(advice): say why the human-gated queue waits and how to help #14495 are based on the current
v6HEAD (392df48), which is green on the same check. - Every other open PR (🐛 fix(holdguard): one branch update per head and base; stop and say why #14401, 🐛 fix: exclude contributor tier limits from runtime self-reports #14430, 🐛 fix: changes-requested PRs no longer count as waiting on review #14440, 📖 docs: explain contributor Bob auth provider #14456, 🐛 fix: avoid duplicate missing head fleet reports #14457, 🐛 fix: unblock review backlog findings in untouched files #14486, 🐛 fix(crux): refuse proxy UID identity on inference translator #14505, 🐛 fix(cmd/hive): tear down sidecar event stream and hosted runtime in supervision boot test #14508–🐛 fix(kubejob): make TestRunContextTimeoutDeletesTheJob deterministic #14512) reports
test (agent 4/5)green only because affected-package selection skipped it ("pkg/agent is not affected by this diff; reporting success without running tests"). .github/workflows/v2-tests.ymlruns-onsends fork PRs toubuntu-latestand everything else tovars.HIVE_RUNNER_LABELS(hive-runners-lke). TheInstall tmuxstep verifiestmux -V: 3.6 on ubuntu-latest, 3.4 on hive-runners-lke.
Diagnosis
Not a PR fault and not flake: the test is tmux-version dependent. TestPollTmuxOutputForAgent_WiresThrashBreaker renders printf '\342\233\224 git push blocked: …' into a 220-column detached session and expects pollTmuxOutputForAgent (capture-pane without -J) to see a new line that isBlockedActionLine accepts (strings.CutPrefix(line, "⛔ ")). Under tmux 3.6 that line never matches. Unverified hypothesis: tmux ≥3.5 Unicode width tables render U+26D4 as a width-2 emoji cell, changing what capture-pane emits in front of / after the glyph. TestCapturePaneJoinsWrappedBlockedActionMarker passes on the same runner, so plain capture works; the difference is specific to the poller path.
The v6 baseline is green only because its runner has the older tmux, so the gap is invisible on push — every future fork PR that touches the agent lane will hit it.
Ask
- Reproduce under tmux 3.6 and make
isBlockedActionLine/the test robust to it (or pin the behavioural gate's tmux version in theInstall tmuxstep so forks and self-hosted runners agree). - Until then the three PRs above are deferred, not retried. They are stamped
<!-- hive-shared-ci-N -->for re-run once this closes.
Affected PRs: #14454, #14481, #14495
— hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88
Activity
hivecommons-hive commentedon Oct 27, 2026
Duplicate of #14506 (same incident:
test (agent 4/5)/ TestPollTmuxOutputForAgent_WiresThrashBreaker on fork PRs to v6; forward-port in flight as #14494). Closing; tracking there.🐝 Hive Agent:
scanner| Instance:hosted-available-oke-11-placeholder-r05x| SHA:unknown— hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88