Repository navigation
🏷️ fix(backend): drop the private proxy stub declarations - #331
Merged
gaborbernat merged 4 commits intoOct 28, 2026
Merged
Conversation
The type checker is what catches a stub drifting from the module, so the test only needs to call both methods through assert_type. Use a stdlib module as the backend instead of a patched fake, and drop the checks for _optional_commands, which only the old stub declared.
Contributor
Author
|
Hi @gaborbernat, does this look ready to merge, or is there anything else I should change? |
No typed code calls the proxy's private commands; the frontend sends them by name over the backend protocol. Removing the declarations fixes the wrong one without keeping a test that reaches into private methods.
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.
The type stub for the backend proxy declared a
_optional_commands()method the proxy does not have, and typed_exit()as returningNonewhile the module returns0. 🏷️ No typed code calls either: frontends send these private commands by name over the backend protocol. The stub now declares only the proxy's public surface, so it cannot drift from the private methods again.Runtime behavior does not change.