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
refactor(toolkit): revert the cross-engine agreement tests and the adapter code that only mirrors the default engine #1708
Tracks the ruling on #1687: third-party engines are best effort, and the cross-engine agreement tests and the adapter code that exists only to match the default engine are reverted. The per-PR plan is #1687's issuecomment-6159258585, confirmed "as planned".
Phases, each a separate PR touching files no other PR touches:
Tests.
Delete the four agreement-only modules (test_engine_agreement_runtime.py, test_engine_agreement_retry_unit.py, test_ext_chain_limit_agreement_1604_unit.py, test_pypcapfile_linktype_and_layer_bound_agreement_1609_1667_unit.py).
Remove the agreement methods from the multi-engine modules: test_new_engine_parity_runtime.py, the two tests/integration/*parity* files, test_engine_pcap_trace_runtime.py, test_tcp_carrier_walk_*, test_tunnelled_tcp_flow_key_*, test_dpkt_scapy_ipv4_header_checks_* and test_traceflow_snapped_capture_runtime.py.
Rewrite the crash-guard checks among them as constants.
One PR per engine (dpkt, scapy, pyshark, pypcapfile): revert that engine's agreement PRs newest-first, re-land its own-job fixes as minimal guards, and remove its agreement tests and "as the default engine …" docstrings.
Docs:docs/source/pcapkit/toolkit/3rdparty.rst and the other prose that describes agreement.
#1713 has merged, so the phase-2 dpkt and scapy reverts are starting, one PR per engine, per the plan on #1687. The pypcapfile revert is ready and waits only on #1718, which it is stacked on.
Phases 1 and 2 have merged: #1714 (tests), then #1718 (pyshark), #1721 (pypcapfile), #1724 (scapy) and #1727 (dpkt). Phase 3, the docs that still describe cross-engine agreement (toolkit/3rdparty.rst and the rest), is now in progress.
Phase 3b merged as #1741 (87d96459a), with its guard test_no_engine_agreement_prose_1708_unit.py. Three agreement lines remain, all in files the #1726 work owns, and its next round fixes them:
toolkit/pypcapfile.py:206-207, where a MAC address takes "the same form … for the default engine"
protocols/internet/internet.py:48 and toolkit/scapy.py:732, both still allowlisted as PENDING in the guard
The same round removes those two PENDING entries. This issue closes when that PR merges.
Activity
test: remove the cross-engine agreement tests from the shared modules (…
JarryShaw commentedon Oct 14, 2026
#1713 has merged, so the phase-2 dpkt and scapy reverts are starting, one PR per engine, per the plan on #1687. The pypcapfile revert is ready and waits only on #1718, which it is stacked on.
refactor(toolkit): revert pyshark's agreement-only code (#1708)
refactor(toolkit): revert pypcapfile's agreement-only code (#1708) (#…
refactor(toolkit): revert scapy's agreement-only code (#1708)
refactor(toolkit): revert scapy's agreement-only code (#1708) (#1724)
refactor(toolkit): revert dpkt's agreement-only code (#1708)
refactor(toolkit): revert dpkt's agreement-only code (#1708) (#1727)
JarryShaw commentedon Oct 14, 2026
Phases 1 and 2 have merged: #1714 (tests), then #1718 (pyshark), #1721 (pypcapfile), #1724 (scapy) and #1727 (dpkt). Phase 3, the docs that still describe cross-engine agreement (
toolkit/3rdparty.rstand the rest), is now in progress.docs(toolkit): state the best-effort contract and drop agreement clai…
docs(toolkit): drop agreement claims from adapter docstrings (#1708) (#…
JarryShaw commentedon Oct 14, 2026
Phase 3b merged as #1741 (
87d96459a), with its guardtest_no_engine_agreement_prose_1708_unit.py. Three agreement lines remain, all in files the #1726 work owns, and its next round fixes them:toolkit/pypcapfile.py:206-207, where a MAC address takes "the same form … for the default engine"protocols/internet/internet.py:48andtoolkit/scapy.py:732, both still allowlisted asPENDINGin the guardThe same round removes those two
PENDINGentries. This issue closes when that PR merges.