Repository navigation
docs: #1103 round 10 -- close the whole-repo prose sweep - #2432
Merged
Merged
Conversation
Round 10, the closing-condition test: a full re-grep across the entire repo found exactly 3 items, all outside the carve-outs round 9 already settled. * pcapkit/protocols/protocol.py + foundation/registry/protocols.py: RegistryError said "protocol must be a Protocol subclass" while the adjacent issubclass() check and the Raises: docstring both say ProtocolBase -- fixed the message text to match, with the three test assertions that locked the old string. * tests/foundation/reassembly/test_deferred_pickle_2423_unit.py: a docstring said "this pull request's earlier commit", stale now that #2424 landed as one squashed commit on main -- reworded to cite the issue instead of the PR's own history. * tests/protocols/transport/test_tcp_mptcp_option_attr_2293_unit.py: a cross-reference cited the nonexistent module pcapkit.corekit.fields.enums.EnumField; the real path is pcapkit.corekit.fields.numbers.EnumField. No executable logic changed: an AST structural diff (ignoring string constants) against origin/main is identical for every touched file, and the RegistryError fix only changes the text of a raised message, not what triggers it. Re-verified and rejected two relayed findings that didn't survive a direct check: a transport.py:188-189 and a registry/protocols.py:370 cross-reference claim both already read correctly on this base. Re-swept vendor/process() for siblings of #2429/#2430 -- none found. docs/source and the rest of tests/ came back clean. Build: tests/protocols/test_register_class_guard_unit.py, tests/foundation/registry/test_protocols.py, tests/foundation/reassembly/test_deferred_pickle_2423_unit.py, tests/protocols/transport/test_tcp_mptcp_option_attr_2293_unit.py and tests/project/test_docs_issue_pr_roles_1103_unit.py pass. Closes #1103.
Owner
Author
|
Review: NEEDS CHANGES at
Everything else verified independently and holds: scope is exactly 6 files/+9/-9, no logic changes, items 2 (minus the citation) and 3 of the original findings are correct, full Opening a follow-up PR to revert item 1 and fix item 2's citation, and reopening #1103 since this round found real, unresolved items. |
This was referenced Oct 29, 2026
JarryShaw
added a commit
that referenced
this pull request
Oct 29, 2026
…#2434) #2432 (round 10 of #1103) changed register's RegistryError message from "...must be a Protocol subclass" to "...must be a ProtocolBase subclass" in pcapkit/protocols/protocol.py and foundation/registry/protocols.py, and updated the locked assertions in tests/protocols/test_register_class_guard_unit.py and tests/foundation/registry/test_protocols.py to match. This was a mistake. * The wording naming Protocol (not ProtocolBase) is a deliberate, ratified decision: #1016 ruled the message's reader is third-party code, who should be told to subclass Protocol -- ProtocolBase's own docstring says it is "for internal use only". The owner approved that reasoning, #2316 re-confirmed it as out of scope to change, and #2420's commit explicitly records "the error message names Protocol" as the kept half of the split between the Raises: clause (ProtocolBase) and the raised message (Protocol). #2420 also notes it already caught and corrected one prior accidental flip of this exact wording. * Reverted both raise sites and the four locked test assertions back to "Protocol subclass". * Also fixed a citation left by #2432: tests/foundation/reassembly/ test_deferred_pickle_2423_unit.py cited :issue:`2424` (the merged PR, not an issue) where it meant the underlying fix, tracked as #2423 -- matches the file's existing :issue:`2423` citation style and the changelog's own "(:issue:`2423`, :issue:`2425`, :pr:`2424`)" citation. #2432's other two fixes (a stale docstring, a cross-reference to a moved EnumField) are correct and untouched. Refs #1016, #2316, #2420 Refs #1103 Build: tests/protocols/test_register_class_guard_unit.py, tests/foundation/registry/test_protocols.py, tests/foundation/reassembly/test_deferred_pickle_2423_unit.py pass; full tests/project/ run shows no new failures (13 pre-existing failures, all in unrelated subprocess/network-dependent tests, none touching these files).
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.
Please follow the guide below
make pylint,make mypy,make isort)make testpasses, and a test case covers the changedocs/source/changelog/and regeneratedCHANGELOG.md, if the change is user-visible -- N/A, no user-visible behavior change (see below)What is the purpose of your pull request?
docs— documentation onlyDescription of your pull request and other information
Round 10 of the #1103 whole-repo prose sweep -- the closing-condition test (per the #719 precedent): the issue only closes once a full pass finds nothing new, not a delta. Unlike round 9 (a scoped mop-up), this round fanned out across the entire repo again from scratch.
A full re-grep found exactly 3 items, all outside the carve-outs round 9 already settled:
pcapkit/protocols/protocol.py+pcapkit/foundation/registry/protocols.py:RegistryErrorsaid"protocol must be a Protocol subclass"while the adjacentissubclass(protocol, ProtocolBase)check and theRaises:docstring both sayProtocolBase-- fixed the message text to match, with the three test assertions that locked the old string.tests/foundation/reassembly/test_deferred_pickle_2423_unit.py: a docstring said"this pull request's earlier commit", stale now that fix(reassembly): make Deferred picklable under protocol 0 and 1 #2424 landed as one squashed commit onmain-- reworded to cite the issue instead of the PR's own history.tests/protocols/transport/test_tcp_mptcp_option_attr_2293_unit.py: a cross-reference cited the nonexistent modulepcapkit.corekit.fields.enums.EnumField; the real path ispcapkit.corekit.fields.numbers.EnumField.No executable logic changed: an AST structural diff (ignoring string constants) against
origin/mainis identical for every touched file. TheRegistryErrorfix only changes the text of a raised message, not what triggers it or any control flow -- flagging this transparently since it's a string literal in code rather than a pure comment/docstring, even though it's prose-only in effect.Two relayed findings were checked directly and rejected because they didn't survive inspection against current
main: atransport.py:188-189claim and aregistry/protocols.py:370claim both already read correctly on this base (both were generated against a pre-round-9 tree). Re-sweptpcapkit/vendor/process()methods for siblings of the #2429/#2430 bug shape -- none found.docs/source/and the rest oftests/came back clean.Verification: the 4 directly affected test files pass (45 passed, 219 subtests), the existing
tests/project/test_docs_issue_pr_roles_1103_unit.pyguard passes (9 passed), the fulltests/project/suite passes (2107 passed, 80 skipped, 10279 subtests, 0 failures), and a docs build on the pinned toolchain (docs/requirements.txt) against both this branch andorigin/mainproduces the identical single pre-existing warning (TransTypeambiguous cross-reference) -- zero new warnings.One open question flagged for a maintainer decision rather than resolved unasked:
CONTRIBUTING.md's commit-type list (and the PR template above) doesn't includebuild, but two merged commits (#2061, #2062) usedbuild:as their subject prefix. Could be intentional (those commits folding underci's "workflows or build tooling" description was the intent, and the two commits are themselves the drift) or could meanbuildshould be added as a recognized type. Not fixed in this PR since it's a project-convention call, not stale prose.Closes #1103.