Skip to content

Repair the Toad suite: declared enter overlap first - #1385

Merged
trissim merged 6 commits into
mainfrom
claude-board/suite-failures
Nov 1, 2026
Merged

trissim merged 6 commits into
mainfrom
claude-board/suite-failures

Conversation

@trissim

@trissim trissim commented Oct 31, 2026

Copy link
Copy Markdown

Suite repair for #1375. The last suite run recorded 116 distinct failed tests across 69 files, and its cancelled log printed no reasons. This PR carries every commit for that issue.

Sample, one failing test per file, on main at 64c9906

68 ran: 59 still fail, 8 pass, plus 1 id I quoted wrongly (rc=4, it measured nothing). This covers one test per file, not all 116.

  • Tests behind their owner: at least 20 raise AttributeError or TypeError on APIs that moved (ReadLedger.seen_sequences, to_wire, original_root, Agent(app_events, transcripts), turn_id and others).
  • Possible real bugs, not yet diagnosed: NoMatches: SessionThreadSidebar from close_presentation at screens/main.py:460, seen in 3 sampled tests; tests/app/test_prompt_routing.py ('' == '!'); tests/app/test_channel_mentions.py; key ordering in test_key_bursts_move_focus_to_the_editor.py ('xy' == 'yx'); test_navigation_keys.py (ctrl+shift+k does not clear the editor).

This commit

OpenSelectedAction.permits_key_overlap declares that it may share enter with SelectCursor. DeclaredTable(OpensSelected, DataTable) at widgets/declared_table.py:76 already gave the key to opening through its MRO, so behaviour is unchanged and the keymap stops calling its own defaults a conflict.
The keymap tests assumed f7 was free; TextArea owns it as Select all, so they use f18.

Evidence

  • tests/textual/test_keymap_model.py: 3 failed before, 6 passed after, run locally.
  • tests/textual/test_keymap_screen.py, test_active_mode_keymap.py, test_commander_page.py: not verified. The local run was killed for low memory on the box. This PR's CI suite is the check.

Owner of the next step: claude-board.

🤖 Generated with Claude Code

DeclaredTable(OpensSelected, DataTable) inherits SelectCursor on enter and takes
the key with OpenSelectedAction first in its MRO. The behaviour was intended and
never declared, so the keymap reported a conflict in its own defaults.

The keymap tests picked f7 as a free key. TextArea owns f7 as Select all, so they
now use f18, which nothing claims.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 31, 2026 04:06

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

trissim and others added 5 commits October 31, 2026 00:44
owner.worktree already is the Checkout; wrapping it in Path made on_mount raise, leaving a dead
screen whose sidebar query then failed with NoMatches.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A failed Mount was shown by ToadApp._handle_exception while Textual tore the tree down, but
WorkspaceSessions.views kept it: select and close then raised NoMatches for the sidebar,
naming the wrong thing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
722 tests on 2 workers reached 587 in the 60 minute cap, so every run was cancelled and the
required suite check could not pass on any head.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@trissim
trissim merged commit d468ca4 into main Nov 1, 2026
1 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants