#745's guard (tests/_dependency_gates.py) lands with seven allowlisted gaps, each carrying its reason. Four need nothing from anyone: PyPCAP needs libpcap headers, PCAP_CT is pre-release-only and wants a system libpcap at run time, and HAS_VENDOR_DEPS is waiting on #738's own remaining scope — the non-blocking vendor leg from ruling (b).
Three want a ruling. Two of them are not new; what is new is that they now have exactly one place that fails if they are quietly re-widened.
| gate |
dark on |
methods |
status |
HAS_SCAPY |
test |
10 |
#738 set it aside because integration/gate install Scapy. But all 10 are unit-tier, so integration never reaches them, and gate only runs where a caller passes gate-only: true — the three Saturday schedules and a v* tag, never a PR or a push to main. No per-PR leg runs them. The test job declined Scapy on cost. |
HAS_PYSHARK |
all three |
3 |
one of #738's seven, left out of #740's cheap subset and never installed since. Two of the three assert what PyShark.unsupported_reason says, so they need the distribution importable; tshark is a separate decision. |
HAS_RUNTIME |
test, gate |
5 |
new — absent from #738's inventory. tests/foundation/engines/test_runtime_engines.py reuses the name for the four core deps plus dpkt, scapy, pyshark, so its two classes skip. Unit-tier despite the name (the glob is *_runtime.py). Narrow fix: give that flag its own name so the skip says what was missing. |
Separately, HAS_PYPCAPFILE (15 methods, not #738's 10 — #747 grew that class from 4 to 9): #747 and #748 fixed the two bugs that made installing the extra turn skips into failures, so the only remaining obstacle is the extra's own python_version < '3.12' marker. Adding it covers 3.10/3.11 and leaves three legs skipping, which the guard cannot see because it does not evaluate markers. Worth taking or not?
Fixing any of these means deleting its DEPENDENCY_GATE_EXCLUSIONS entry; leaving a stale entry fails the liveness check, so none can become invisible again.
#745's guard (
tests/_dependency_gates.py) lands with seven allowlisted gaps, each carrying its reason. Four need nothing from anyone:PyPCAPneeds libpcap headers,PCAP_CTis pre-release-only and wants a system libpcap at run time, andHAS_VENDOR_DEPSis waiting on #738's own remaining scope — the non-blockingvendorleg from ruling (b).Three want a ruling. Two of them are not new; what is new is that they now have exactly one place that fails if they are quietly re-widened.
HAS_SCAPYtestintegration/gateinstall Scapy. But all 10 are unit-tier, sointegrationnever reaches them, andgateonly runs where a caller passesgate-only: true— the three Saturday schedules and av*tag, never a PR or a push to main. No per-PR leg runs them. Thetestjob declined Scapy on cost.HAS_PYSHARKPyShark.unsupported_reasonsays, so they need the distribution importable;tsharkis a separate decision.HAS_RUNTIMEtest,gatetests/foundation/engines/test_runtime_engines.pyreuses the name for the four core deps plusdpkt,scapy,pyshark, so its two classes skip. Unit-tier despite the name (the glob is*_runtime.py). Narrow fix: give that flag its own name so the skip says what was missing.Separately,
HAS_PYPCAPFILE(15 methods, not #738's 10 — #747 grew that class from 4 to 9): #747 and #748 fixed the two bugs that made installing the extra turn skips into failures, so the only remaining obstacle is the extra's ownpython_version < '3.12'marker. Adding it covers 3.10/3.11 and leaves three legs skipping, which the guard cannot see because it does not evaluate markers. Worth taking or not?Fixing any of these means deleting its
DEPENDENCY_GATE_EXCLUSIONSentry; leaving a stale entry fails the liveness check, so none can become invisible again.