Skip to content

docs: link library-internal references written as literals, and document the public classes missing from the inventory #1940

Closed

Description

@JarryShaw

Library-internal names in rendered prose are written as double-backtick literals, so they never link. Two examples: AppType.get at registry-protocol.rst:542, and FrameType.Flags at registry-protocol.rst:403. An audit of origin/main at 3c67a3890 checked every literal against the pinned build's objects.inv, excluding the changelog files:

  • About 278 literals resolve to exactly one documented object. They are in docstrings, #: comments, API pages and contributing pages.
  • About 183 are ambiguous. Causes include const/vendor twins, namesakes across protocols/data/schema, and generic names such as Flags or Option. Each needs its context read: either an explicit pcapkit.… path, or leave it as a literal where the prose means a concept such as "IPv4" or a layer.
  • Some public classes have no inventory entry at all: CommandType, ResponseKind, GroupingInformation, ConformanceRequirement, Settings and OptionEnumField (with post_process). Per the maintainer, they get documented entries.

Fix: convert each literal to the matching role, add the missing entries, keep private helpers as literals, and pin the result in tests/project. Older changelog pages stay as literals, because today's inventory can point a historical name at a different object. The 1.5.0 changelog is tracked separately.

Activity

  1. added
    docsPull requests that change documentation only (docs: subject prefix)
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Oct 19, 2026
  2. JarryShaw commented on Oct 19, 2026

    @JarryShaw
    OwnerAuthor

    For private helpers, if they are referenced in the public docstrings, I'd prefer to include them in the API docs as well so that there will be no missing piece from the documentations.

  3. JarryShaw commented on Oct 19, 2026

    @JarryShaw
    OwnerAuthor

    Will do. Any private helper that a public docstring or doc page references gets its own API entry, and the reference becomes a role. The audit found these as literals: ARP._make_proto_resolve/_make_addr_resolve/_acnm, OSPF._make_id_numbers, Ethernet._make_mac_addr, PCAPNG._make_mac_addr, IPv6._read_ip_hextet, Header._read_protos, Extractor._owns_input/_note_eof_progress, EtherType._insert_range, esp._resolve/_CRYPTO, ngap._convert/_revert/_PYCRATE/_PDU_LOCK, protocol._declared_keywords, and OptionEnumField.post_process. #1928 had turned the last two into literals; this PR documents and links them instead. Helpers that no rendered text names stay undocumented.

  4. removed
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Oct 19, 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

    docsPull requests that change documentation only (docs: subject prefix)

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions