docs(pep,tests): correct the checksum protocol count and the registry-leak lineage - #1007
Conversation
|
NEEDS CHANGES at
The review also settled the question my brief could not: all three tests call On the checksum count it derived ten independently with a stricter method — One claim I will not repeat: the PR body says the docs build warning sets are identical at 53 each. The reviewer measured 61 in its own environment, the difference being three |
… count (#719) - tests/protocols/test_dispatch_default_resolution_unit.py: this layer's reporter is #421 and its fix #426 (next-layer __proto__); #428 extended it to the option/chunk/block registries and #560 is the schema layer. The paragraph is re-wrapped to ~80 columns. - pcapkit/protocols/protocol.py (_lookup_next_layer): the same note cited #425 as this layer; it now cites #421 here, #425 for the sibling option, chunk and block registries, and #555 for the schema layer. - pcapkit/corekit/sentinels.py: the pointer to that note tracks it. - docs/source/contributing/pep.rst: ten protocols parse a checksum field, not eight -- IPX and MH were missing; "the other seven" is now nine. Prose only. Docs build warning set identical to origin/main.
82785e8 to
237b15f
Compare
|
Fixed at
and Naming all three rather than swapping one token was the right call, and it is the answer to the ambiguity I flagged. The sentence asserts that these are the same defect class — writing a registry miss or a resolved class into a class-level store — and that is true of #421, #425 and #555 alike. #421 is the precise citation for this function, since Two added lines run to 88 and 81 characters. Nothing in the repo lints line length, and both are inside docstrings that reST reflows, so I am not spending a CI round on it. Label back to |
|
GOOD TO GO at
One non-blocking nuance, which I verified and which pre-dates this change. The sentence ends "…are all that same defect", and the clause immediately before it is about a class that On line length we agree: no Not ready to merge yet — 6 CheckRun legs still in flight, 0 failures. |
|
Ready to merge at Yours to merge. Two things left out of this change and recorded rather than dropped: the third copy of the old lineage at |
Please follow the guide below
make testpasses, and a test case covers the change — prose only, no assertion or logic touchedWhat is the purpose of your pull request?
docs— documentation onlyDescription of your pull request and other information
Two accuracy fixes for #719, both measured rather than inferred.
1.
docs/source/contributing/pep.rst:744undercounted by two. It said eight protocols parse a checksum or CRC field. Measured onmainby matching field declarations namedchecksum/chksum/crcacrosspcapkit/protocols/{data,schema}/: ten — the list was missingIPX(ipx.chksum) andMH(mh.chksum). The "exactly one of them checks whether the value is right" claim still holds:checksum_validexists only onSCTP, so "the other seven" becomes "the other nine".2. The lineage in
tests/protocols/test_dispatch_default_resolution_unit.py:8named the wrong reporter for this layer. #1006 fixed the issue-versus-pull-request kinds there but left #425 credited with the defect these tests actually pin. Established from the PR bodies andgit log -S:__proto__next-layer registry pollution; protocols: stop next-layer dispatch writing to shared registries, and fix two transport defects #426 (PR) closes it and is the commit that introduced theif proto in registryguard at this layer (209eabb19)._lookup_registry(f137a5b5a), extending the pattern to those registries.The sentence now reads: #421 reported, #426 fixed at this layer, #428 extended to the option, chunk and block registries, #560 fixed the schema layer. The paragraph is re-wrapped to ~80 columns, which is why that hunk is larger than the edit.
Correcting my own note on #719: I wrote there that #428 added the guard at this layer. It did not —
git log -S'if proto in registry'attributes that to #426; #428 added_lookup_registry.The sweep also checked ~40 other counting claims across
docs/source/**andpcapkit/**docstrings against the code — registry counts, enum members, subclass counts, workflow and job counts, the "48 of the 52 resolutions" in this very docstring — and every one of them already matched. Prose only:ast.dumpwith docstrings blanked is identical tomain, docs build warning sets identical at 53 each, and 0 roles nested inside inline markup.