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(foundation): foundation.registry's _MISSING = object() bypasses the sentinel convention #2555
From the 2026-11-01 conventions audit, re-verified on 73add05a3. sentinel-convention.rst, "Naming a Sentinel": a package-authored sentinel is a named class instance housed in pcapkit.corekit.sentinels and listed in the page's table, whether or not it is public.
pcapkit/foundation/registry/protocols.py module attribute _MISSING = object() ("Sentinel for a name pcapkit.protocols.__proto__ did not hold") is compared by identity in _NameLease.displaced, _release_name and _register_name (lease.displaced is _MISSING, protocol_registry.get(name, _MISSING)).
Fix: add a <SENTINEL>Type class and a SCREAMING_SNAKE instance to pcapkit/corekit/sentinels.py, list it in the page's table, import it in protocols.py, and test identity and repr. No behaviour change. Blocked:protocols.py is also edited by #2521, #2527 and #2544; unblocks when all three merge (gh pr view <n> --json state -q .state prints MERGED).
Activity