Repository navigation
docs: #1103 round 8 -- finish the Protocol/ProtocolBase cross-reference sweep, fix other prose drift - #2428
Conversation
…uling, fix other drift Round 8 of the whole-repo prose sweep (#1103). Fanned out 8 shard agents by directory; most of the repo was clean. Changes: * pcapkit/protocols/internet/ipv6_ext.py + its .rst: finish the carry-over miss from round 7 -- the `_lookup_next_layer` plain pointer still targeted `ProtocolBase`, flipped to `Protocol` per #2420's ruling. * Same miss in corekit/sentinels.py (`__keywords__`), docs/source/ext.rst (three sites, including a verbatim twin of a paragraph #2420 already fixed in protocol.py), schema/schema.py and schema/link/ethernet.py. * internet.py, link.py, transport.py, sctp.py, protocol.py: `register()`'s Arguments: and a couple of Returns:/versionchanged clauses said `Protocol` subclass/instance while the signature types `ProtocolBase` and the adjacent Raises: clause already said so -- internal contradiction, fixed to `ProtocolBase` to match. * docs/source/contributing/conventions/protocol-layer-placement.rst: the Link-Application-ProtocolBase set difference is `__proto_key__`, not empty as claimed (#2343 added it after this page was written). * docs/source/contributing/conventions/registry-protocol.rst: "every registry overrides `_validate_value`" contradicted its own next paragraph, where the AppType transports inherit rather than override. * pcapkit/vendor/ipx/packet.py, vendor/reg/linktype.py: a self-contradicting claim and a stale counted-number, both in vendor docstrings. * docs/source/engines.rst, docs/source/conf.py, util/changelog_md.py, CONTRIBUTING.md: a stale scapy version, a wrong file path, a false "matches the Sphinx we build with" claim, and a missing caveat about actionlint making Lint non-advisory. No executable code changed -- every edit is inside a docstring, comment, or .rst file; confirmed by diff review and `import pcapkit` from this worktree. Four behavioral defects found but deliberately left unfixed (reported separately): 16 of 24 pcapkit/vendor crawlers' `process(self, data)` reads the module-global `DATA` instead of its own `data` argument (latent, harmless only because `request()` returns that same global); an empty `FilterType` registry behind a live TODO; three open "handle this programmatically" TODOs in pcapkit/vendor/mh; and dead `multiprocessing.Pool` scaffolding in vendor/__main__.py.
|
Coverage: 94.22% (unit tier, Python 3.15,
Per-file detail: the |
|
Review: GOOD TO GO at Fixed the one overclaim in the PR body myself (metadata-only, no re-review needed): "finished the round-7 carry-over" overstated it — Two corrections worth noting for next time rather than reopening this round: the claimed "tests/examples sites follow a documented CONTRIBUTING.md convention" doesn't exist as stated (89 role hits, 73 member references remain there, left alone on #2422's own "not rendered" reasoning instead) — and the changelog has 5 untouched |
Summary
Round 8 of the whole-repo prose sweep (#1103). Fanned out 8 shard agents by directory; most of the repo was clean (no changes). Where there were real findings:
ipv6_ext.py/.rst's_lookup_next_layertarget (only the link target flipped to the fully-qualifiedProtocol._lookup_next_layer; the display text, naming the concreteInternetsubclass, was already correct and untouched), plus four more sites the docs: prefer Protocol over ProtocolBase in cross-references, per the owner's #1103 ruling #2420 ruling missed (corekit/sentinels.py,docs/source/ext.rstx3,schema/schema.py,schema/link/ethernet.py). Not exhaustive:transport.py'sProtocolBase._lookup_registrylink (added by fix(reassembly): the deferred TCP analyser dispatches on AppType, not bare ports #2421) and roughly 11 more unqualifiedProtocolBase.<member>roles inprotocol.pyitself are still outstanding for a future round.internet.py,link.py,transport.py,sctp.py,protocol.py:register()'sArguments:/Returns:saidProtocolsubclass/instance while the signature typesProtocolBaseand the adjacentRaises:clause already said so — fixed to match.protocol-layer-placement.rst: theLink − Application − ProtocolBaseset difference is__proto_key__(added by fix(foundation): check every register_protocol_code key before registering any (#2268) #2343), not empty as the page claimed.registry-protocol.rst: "every registry overrides_validate_value" contradicted its own next paragraph (theAppTypetransports inherit it instead).vendor/ipx/packet.py,vendor/reg/linktype.py: a self-contradicting claim and a stale counted-number in vendor docstrings.engines.rst,conf.py,util/changelog_md.py,CONTRIBUTING.md: a stale scapy version, a wrong file path, a false "matches the Sphinx we build with" claim, and a missing caveat aboutactionlintmakingLintnon-advisory.No executable code changed — every edit is inside a docstring, comment, or
.rstfile. Verified via diff review,py_compileon every changed.pyfile, and a cleanimport pcapkitfrom this worktree's venv.Behavioral defects found, deliberately NOT fixed here (reporting separately)
pcapkit/vendorcrawlers'process(self, data)reads the module-globalDATAinstead of its owndataargument — latent, harmless only becauserequest()happens to return that same global.pcapkit/vendor/pcapng/filter_type.py: empty registry behind a live TODO.pcapkit/vendor/mh/{cga_sec,status_code,cga_extension}.py.multiprocessing.Poolscaffolding invendor/__main__.py(left disabled on purpose, but misleading next to the exit-code contract in its own docstring).Test plan
make pylint/make mypy/make isort— not run (prose-only change, no code touched)make test— not run (prose-only change;py_compile+import pcapkitconfirm no syntax/behavior change)What is the purpose of your pull request?
docs— documentation only