After #165 lands (1-line keymap fix that unblocks ~46 tests panicking at the KeymapMatcher validator), the integration suite drops from 50+ failures to 7 remaining, all on macOS / Linux / Windows in CI and locally.
Tracking them here so they can be picked up individually (or as a single follow-up sweep) when there's bandwidth for proper Rust investigation.
Remaining failures (local macOS reproduction, 2026-05-30)
Vertical context menu metadata copy (2 tests)
Symptom: Both panic with Test step 'Copy branch from {tab,pane} context menu' failed after 1 attempts: No position for Copy branch.
Diagnosis (partial): The harness opens the context menu and tries to click the "Copy branch" item. tab.rs:354 only pushes that item if terminal_view.current_git_label(ctx) returns Some. The previous assertion in the test (assert_current_git_branch(0, METADATA_BRANCH) at workspace.rs:201) passes, so the model has the branch. So either:
- A timing/ordering issue between
current_git_branch (assertion path) and current_git_label (menu builder path)
- A cast-codes-fork-specific change broke one of those two readers
- A snapshot/state copy is taking a stale view at menu-build time
Worth git blame-ing app/src/tab.rs around line 354 and the model layer that backs current_git_label.
SSH harness (5 tests)
Diagnosis: Not investigated past confirming they fail; likely a single shared harness issue (sshd setup, container/image, or test helper drift). Worth running one with RUST_BACKTRACE=1 --nocapture to capture the exact failure, then grouping the others against the same root cause.
Tests that passed unexpectedly after the keymap fix landed locally
Local run reference
cd /path/to/cast-codes
cargo test -p integration --test integration
With #165 applied: 211 passed, 7 failed, 63 ignored. Was ~50+ failures + panics before #165.
After #165 lands (1-line keymap fix that unblocks ~46 tests panicking at the
KeymapMatchervalidator), the integration suite drops from 50+ failures to 7 remaining, all on macOS / Linux / Windows in CI and locally.Tracking them here so they can be picked up individually (or as a single follow-up sweep) when there's bandwidth for proper Rust investigation.
Remaining failures (local macOS reproduction, 2026-05-30)
Vertical context menu metadata copy (2 tests)
ui_tests::test_vertical_tab_context_menu_copies_metadataui_tests::test_vertical_pane_context_menu_copies_metadataSymptom: Both panic with
Test step 'Copy branch from {tab,pane} context menu' failed after 1 attempts: No position for Copy branch.Diagnosis (partial): The harness opens the context menu and tries to click the "Copy branch" item.
tab.rs:354only pushes that item ifterminal_view.current_git_label(ctx)returnsSome. The previous assertion in the test (assert_current_git_branch(0, METADATA_BRANCH)atworkspace.rs:201) passes, so the model has the branch. So either:current_git_branch(assertion path) andcurrent_git_label(menu builder path)Worth
git blame-ingapp/src/tab.rsaround line 354 and the model layer that backscurrent_git_label.SSH harness (5 tests)
shell_integration_tests::test_legacy_ssh_into_bashshell_integration_tests::test_legacy_ssh_into_zshshell_integration_tests::test_ssh_into_shshell_integration_tests::test_ssh_into_ashui_tests::test_ssh_with_shell_overrideDiagnosis: Not investigated past confirming they fail; likely a single shared harness issue (sshd setup, container/image, or test helper drift). Worth running one with
RUST_BACKTRACE=1 --nocaptureto capture the exact failure, then grouping the others against the same root cause.Tests that passed unexpectedly after the keymap fix landed locally
shell_integration_tests::test_ctrl_c— was on the original CI failure list, now passes locally. Probably a cascade benefit of the keymap fix; double-check it stays green in CI after fix(keymap): unblock ~46 integration tests by retiring ctrl-b binding on linux/windows #165.Local run reference
With #165 applied: 211 passed, 7 failed, 63 ignored. Was ~50+ failures + panics before #165.