Skip to content

docs(foundation): fourth whole-repo pass over foundation, toolkit, dumpkit, interface and utilities (#1103) - #1911

Open
JarryShaw wants to merge 3 commits into
mainfrom
docs/1103d-foundation
Open

JarryShaw wants to merge 3 commits into
mainfrom
docs/1103d-foundation

Conversation

@JarryShaw

Copy link
Copy Markdown
Owner

Please follow the guide below

What is the purpose of your pull request?

Tick the commit type your subject line carries.

  • fix — corrects a defect
  • feat — adds a feature
  • perf — changes performance, not behaviour
  • refactor — changes neither behaviour nor performance
  • test — tests only
  • docs — documentation only
  • ci — workflows or build tooling
  • release — bumps the version or rolls up a distribution
  • chore — anything else

The fourth whole-repo prose pass of #1103, over foundation, toolkit, dumpkit, interface and utilities. It changes prose only: every changed .py file's AST is unchanged once string expressions are blanked, except where a docstring is added or vendor template text is edited together with its generated const file.

Accuracy:

  • Dumper's registration example passes ext by keyword; register_dumper
    takes it keyword-only, so the positional form raised TypeError.
  • The strict -> reasm_strict rename and TraceFlow.register removal
    directives name 1.1.1, whose changelog records the 1.1.1.post2 change.

Cross-references:

  • sys.excepthook and threading.excepthook are functions, so they use
    :func: and resolve through intersphinx.
  • The IP reassembly page documents _detect_conflicts, which the IP data
    model and the IPv4 and IPv6 pages link to.
  • The exceptions page documents _CaughtByCaller and says how it makes an
    error quiet.

Wording:

  • "c.f." becomes "cf.", and the redundant "and etc." is dropped.
  • A list item in the PCAP-NG engine's read_frame ends with a semicolon.

Refs #1103

…mpkit, interface and utilities (#1103)

Accuracy:
- Dumper's registration example passes ext by keyword; register_dumper
  takes it keyword-only, so the positional form raised TypeError.
- The strict -> reasm_strict rename and TraceFlow.register removal
  directives name 1.1.1, whose changelog records the 1.1.1.post2 change.

Cross-references:
- sys.excepthook and threading.excepthook are functions, so they use
  :func: and resolve through intersphinx.
- The IP reassembly page documents _detect_conflicts, which the IP data
  model and the IPv4 and IPv6 pages link to.
- The exceptions page documents _CaughtByCaller and says how it makes an
  error quiet.

Wording:
- "c.f." becomes "cf.", and the redundant "and etc." is dropped.
- A list item in the PCAP-NG engine's read_frame ends with a semicolon.

Refs #1103
@JarryShaw JarryShaw added docs Pull requests that change documentation only (docs: subject prefix) review: running A cross-review is in flight against the current head - no verdict yet labels Oct 19, 2026
@JarryShaw JarryShaw moved this to In review in PyPCAPKit Oct 19, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

NEEDS CHANGES at 14f209f9e. docs/source/pcapkit/interface/index.rst:7 duplicates the pcapkit/interface/__init__.py docstring this PR edits and still says "and etc.", so it needs the same rewording. A second check: the new versionchanged:: 1.1.1 directives (extraction.py, interface/core.py, traceflow.py) name a change the prose dates to 1.1.1.post2, so they should follow the repo's existing convention for post-releases.

@JarryShaw JarryShaw added review: needs-changes Cross-review at the current head says changes are required; see the verdict comment and removed review: running A cross-review is in flight against the current head - no verdict yet labels Oct 19, 2026
- Bring the pcapkit.interface docs page in line with the module docstring
  this PR rewords, dropping "and etc".
@JarryShaw JarryShaw added review: running A cross-review is in flight against the current head - no verdict yet and removed review: needs-changes Cross-review at the current head says changes are required; see the verdict comment labels Oct 19, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

Question for the owner: the three new versionchanged:: 1.1.1 directives (extraction.py, interface/core.py, traceflow.py) cover changes that first shipped in v1.1.1.post2. No directive in the repo names a post-release. The existing precedents disagree: const/pcapng.rst:64 names the parent release for a .post1 change, and const/reg.rst:96 names the next release. Should a post-release change name the parent release (as now), the next release, or the post-release itself? My recommendation is the parent, as the PR has it, because the prose already says 1.1.1.post2. The docs/source/pcapkit/interface/index.rst fix is pushed.

@JarryShaw JarryShaw added the needs: decision Waiting on the maintainer to decide — not blocked by other work label Oct 19, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

GOOD TO GO at 8a4ad4ac6. A Sonnet re-review confirmed that interface/index.rst now matches the module docstring word for word, and that no other rst copy of an edited docstring keeps the old wording. The versionchanged:: 1.1.1 question above is still open for the owner, so the needs: decision label stays.

@JarryShaw JarryShaw added review: good-to-go Cross-review at the current head says ready; CI state is separate and removed review: running A cross-review is in flight against the current head - no verdict yet labels Oct 19, 2026
@JarryShaw JarryShaw moved this from In review to Needs decision in PyPCAPKit Oct 19, 2026
@github-actions

github-actions Bot commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Coverage: 90.07% (unit tier, Python 3.15, 71e4f30d4, Unit Tests run success)

Package Statements Missed Branches Partial Cover
pcapkit (top level) 104 2 20 2 96.77%
pcapkit/const 19595 881 2618 867 92.11%
pcapkit/corekit 2504 70 792 36 96.54%
pcapkit/dumpkit 276 3 100 3 98.40%
pcapkit/foundation 2916 164 1016 34 93.59%
pcapkit/interface 138 7 52 5 93.68%
pcapkit/protocols 17411 224 4580 189 98.10%
pcapkit/toolkit 872 177 298 8 77.18%
pcapkit/utilities 522 2 158 4 99.12%
pcapkit/vendor 4431 2341 1018 156 43.64%

Per-file detail: the coverage-html artifact of this run.

 (#1103)

- Reword the pcapkit.interface module docstring to the page text #1912
  sets: its exports are interface functions and constant macros.
- Revert this branch's edit to docs/source/pcapkit/interface/index.rst,
  which #1912 owns.
@JarryShaw JarryShaw added review: running A cross-review is in flight against the current head - no verdict yet and removed review: good-to-go Cross-review at the current head says ready; CI state is separate labels Oct 19, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

GOOD TO GO at 71e4f30d4. interface/index.rst is back to main's blob, so this PR no longer overlaps #1912, and merge-tree against #1912 is clean. The module docstring now matches #1912's page text line for line. "Interfaces and constants" is accurate: extract/reassemble/trace are the only functions, and every other name in __all__ is a string constant. The versionchanged:: 1.1.1 question above is still open.

@JarryShaw JarryShaw added review: good-to-go Cross-review at the current head says ready; CI state is separate and removed review: running A cross-review is in flight against the current head - no verdict yet labels Oct 19, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

Changes in post releases marked by their own post releases or the next release - parent release does not contain the changes and can be confusing.

@JarryShaw

Copy link
Copy Markdown
Owner Author

Understood. A post-release change gets its own post-release in the directive, or the next release, because the parent release never shipped it. I'll change the three directives to 1.1.1.post2. I'll also audit every other versionadded/versionchanged/versionremoved in the repo that names a parent release for a post-release change, docs/source/pcapkit/const/pcapng.rst:64 (1.1.0 for a .post1 change) among them, and fix them in this PR.

@JarryShaw JarryShaw removed the needs: decision Waiting on the maintainer to decide — not blocked by other work label Oct 19, 2026
@JarryShaw JarryShaw moved this from Needs decision to In review in PyPCAPKit Oct 19, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Pull requests that change documentation only (docs: subject prefix) review: good-to-go Cross-review at the current head says ready; CI state is separate

Projects

Status: In review

Development

Successfully merging this pull request may close these issues.

1 participant