You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
docs(conventions): Command.get and Method.get do more than fold, against registry-protocol.rst's "a folding override carries only the fold" #2553
From the 2026-11-01 conventions audit, re-verified on 73add05a3. registry-protocol.rst, "RFC-Directed Case Sensitivity": a folding override carries only the fold, TransportProtocol.get being the example; "get Override Obligations": an override that diverges from the base's contract is a defect, not a local judgement.
Command.get in pcapkit/const/ftp/command.py folds and also (1) returns _unregistered_member(default if default is not None else key, name) on a name miss, where the base raises EnumKeyError (Command.get('xyzzy') returns a Command.XYZZY with value 'xyzzy'); (2) uses default as that member's value, where the base's default must name a registered value; (3) sends a non-str key to super().get(key) without default, so Command.get(5, 'USER') raises EnumValueError where EnumLookup.get returns USER.
Method.get in pcapkit/const/http/method.py does (1) to (3) with no fold.
The page also says what default means on Command and Method, and stops calling Method.get's unregistered member intended in a way that contradicts the two rules above it.
Blocked: this edits registry-protocol.rst, which #2521 also edits, so it unblocks when #2521 merges. It then joins #2551, #2552, #2556 and #2565 in one worker.
Unblocked: #2521 merged, so registry-protocol.rst is free. Dispatched together with the page's other queued fixes (#2551, #2552, #2553, #2556, #2565) as one worker and one PR.
Activity
JarryShaw commentedon Nov 1, 2026
Take 1. Case insensitive and Python naming conventions.
JarryShaw commentedon Nov 1, 2026
Owner chose 1, paraphrased: these are exceptions, not defects. registry-protocol.rst states them:
The page also says what
defaultmeans onCommandandMethod, and stops callingMethod.get's unregistered member intended in a way that contradicts the two rules above it.Blocked: this edits registry-protocol.rst, which #2521 also edits, so it unblocks when #2521 merges. It then joins #2551, #2552, #2556 and #2565 in one worker.
JarryShaw commentedon Nov 1, 2026
Unblocked: #2521 merged, so registry-protocol.rst is free. Dispatched together with the page's other queued fixes (#2551, #2552, #2553, #2556, #2565) as one worker and one PR.