Fix pane wait/search correctness issues - #62
Merged
Conversation
why: Long terminal output can wrap across tmux visual rows, causing slow-path search to miss patterns that span the wrap boundary. what: - Capture slow-path pane content with join_wrapped=True - Add a wrap-spanning search_panes regression - Document the fast-path wrap limitation and changelog fix
why: Some MCP clients do not deliver warning notifications back to callers, so risk-band state needs to be visible in the typed result. what: - Add risk_band_warned to WaitForTextResult - Return the existing trim-risk warning state from wait_for_text - Cover ordinary and risk-band result paths in tests and docs
why: Pane death or respawn invalidates the content-change baseline even when captured text is unchanged or misleading. what: - Share pane lifecycle validation with wait_for_text - Raise ToolError from wait_for_content_change on death or respawn - Add lifecycle regression coverage and docs/changelog notes
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #62 +/- ##
==========================================
+ Coverage 85.94% 85.98% +0.04%
==========================================
Files 40 40
Lines 2440 2448 +8
Branches 319 319
==========================================
+ Hits 2097 2105 +8
Misses 260 260
Partials 83 83 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
tony
marked this pull request as ready for review
May 24, 2026 16:53
tony
added a commit
that referenced
this pull request
May 24, 2026
why: Ship the pane polling correctness fixes from PR #62 as the next alpha release. what: - Add the 0.1.0a9 changelog entry for pane search/wait correctness - Bump package metadata to 0.1.0a9 - Refresh uv.lock for the editable project version
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
search_panesslow-path matching across tmux-wrapped visual rows. Fixes search_panes: visual-row capture misses wrap-spanning patterns #55.risk_band_warnedtoWaitForTextResultso clients can see trim-risk state even when MCP warning notifications are not surfaced. Fixes wait_for_text: expose risk_band_warned: bool in WaitForTextResult for clients that don't subscribe to log notifications #54.wait_for_content_changeraise a tool error when pane death or respawn invalidates the entry baseline. Fixes wait_for_content_change: surface pane death and respawn as ToolError for parity with wait_for_text #53.Test Plan
rm -rf docs/_build; uv run ruff check . --fix --show-fixes; uv run ruff format .; uv run mypy; uv run py.test --reruns 0 -vvv; just build-docs;