Repository navigation
Declare bus-picker Delete and place painted checks in the Textual layer - #1733
Merged
Merged
Conversation
P131: delete the raw binding and handwritten action dispatcher. Keep Delete non-priority through scoped PriorityActions, retain Escape, and drive the existing consumer through real keys. Move the original five-height painted test with native relocate_module_to_new_module; its imports and decorated test remain AST-identical. Source and test changes applied by NRA 70296d7b with retained native plans.
There was a problem hiding this comment.
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.
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.
Two guard failures fixed; 39 relevant cases pass
P131 / order
a5e070a0f68f. Fresh-main base:242fd67352b18f887754372e1eac4b5626e88a84.BINDINGS/action_forget, and a frontend-neutral test reachingui.textual.Delete the raw key binding and handwritten dispatcher
ForgetSavedBusAction(WidgetAction)declares Delete, its existing title and its operation.BusChoicesgets dispatch from the existingDeclaredWidgetActionsmechanism instead of keepingBINDINGSplusaction_forget. The underlyingListsBuses.forget_highlightedalgorithm is unchanged.Delete stays non-priority.
PriorityActionsis scoped toDismissAction, retaining Escape priority without stealing Delete from the address editor. The existing saved-bus test now drives actual keys: editing an address keeps the saved profile, Delete on the local bus does nothing, Delete on the saved row removes its profile, and Escape dismisses the picker.This removes the independent dispatch copy (IMPL-12; Paper1 Theorem 4.6) rather than creating another key roster. No widget-action framework source was changed.
Put the painted test in its actual layer
The original
test_channel_display_basis.pymoves fromtests/apptotests/textual. It deliberately readsui.textualandPaintedApp.has_shownaccepted-frame history, so a current-screen or neutral mock would change its question.Its imports, decorated test, five heights and every read/unread assertion are AST-identical. Only the module description changes to identify the Textual-facing contract. The old file is deleted; there is no duplicate test or re-export. The test-layer documentation points at the new location.
Native changes and retained failures
Product and Python test edits were applied through native NRA
70296d7b124e712d1f00ea27d807438b9578f2f3operations: import changes, declaration insertion, exact target patches andrelocate_module_to_new_module.Selector's earlier symbol-extraction plan refused the inferred test package boundary. The existing whole-module operation moves the complete file and deletes its old path in one checked transaction; no tool widening or manual file move was needed.
--context-root testsis the explicit test-root control when needed. Native preflight/parse acceptance is not claimed as an application-equivalence proof; the consumers above establish the exercised behavior.The first baseline attempt used Core's dev environment, which lacks ui-theme, and failed before collection. The actual baseline and passing consumers used the existing installed
core-633f853d9-lock-3259806888420caainterpreter withPYTHONPATH=src, preserving the coherent production dependencies. No environment was created or package installed by hand.Original plans and logs are retained under the author's
.verification/p131-*.jsonand/home/ts/.cache/agent-scratch/comms-commander-2/p131-*.Scope
P128's effect/phone change is separate and untouched. No phone investigation, host install, user session change or open-Toad manipulation is part of this repair. This PR is source and consumer proof; phone deployment remains with its owner.