Skip to content

refactor(foundation): foundation.registry's _MISSING = object() bypasses the sentinel convention #2555

Closed

Description

@JarryShaw

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.

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

  1. added
    refactorRestructuring for its own sake — neither a fix nor a new capability (refactor: prefix)
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    on Nov 1, 2026
  2. moved this to Blocked in PyPCAPKiton Nov 1, 2026
  3. JarryShaw commented on Nov 1, 2026

    @JarryShaw
    OwnerAuthor

    #2521, #2527 and #2544 have all merged, so this is unblocked. A worker is on it, keeping the diff to the sentinel lines in registry/protocols.py.

  4. added
    wipWork in flight - a covering PR is open or an agent is actively on it
    and removed
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    on Nov 1, 2026
  5. moved this from Blocked to WIP in PyPCAPKiton Nov 1, 2026
  6. added this to the PyPCAPKit v1.6 milestone on Nov 2, 2026
  7. removed
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Nov 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    refactorRestructuring for its own sake — neither a fix nor a new capability (refactor: prefix)

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions