Skip to content

docs(protocols): version directives and accurate prose for the internet layer (#1103) - #1760

Merged
JarryShaw merged 1 commit into
mainfrom
docs/1103-internet
Oct 15, 2026
Merged

JarryShaw merged 1 commit into
mainfrom
docs/1103-internet

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

Description

Part of #1103, the whole-repository prose sweep, for the internet slice. It follows the #719 rules: prose only, accuracy first, no churn and no timed context.

Version directives, all 1.5.0:

  • versionchanged on IPv4, IPv6, HIP, HOPOPT, IPv6_Opts, IPv6_Route,
    IPv6_Frag, MH, IPX, AH and Internet, naming each breaking fix's issues.
  • versionadded on IPv6_Ext and the esp module; versionremoved for the
    NotImplemented.esp placeholder, SolutionParameter.lifetime,
    RPL.cmpr_i/cmpr_e and the IPv6-Opts SMF_DPD test field.

Accuracy:

  • Header tables name the info keys and fields the data models carry
    (IPv4, IPv6, IPv6-Opts, IPv6-Frag, AH, HIP); "Header Extension Length".
  • ip.rst no longer lists IPsec as an IP subclass; ipsec.rst drops an
    *args parameter the class does not take.
  • HIP's parameter table lists R1_Counter (128); the IPv4 TS and HIP
    ECHO_RESPONSE_UNSIGNED makers document overflow and opaque.
  • IP and IPv6 cite RFC 8200; AH links its defining module.

Rendering: unresolved references retargeted (ESP, HIP, MH, SA), a role
split across lines rejoined, and the pages gain the Internet.from_data,
IPv6._import_next_layer, alias and jumbogram helper entries they cite.

Checks:

  • An AST guard holds on every changed .py: code is identical once docstrings are blanked.
  • tests/project and every test that reads the edited paths pass.
  • A merged Sphinx build of all nine slices adds no new warnings.
  • A Sonnet cross-review returned GOOD TO GO.

Not covered here; a round-2 PR follows: hip.py, mh.py, the hip/hopopt/ipv6_opts/ipv4/mh/ipv6_option schemas, the rest of ipv4/ipv6_route/esp/hopopt, and pcapkit/protocols/data/internet/**.

Refs #1103

@JarryShaw JarryShaw added the docs Pull requests that change documentation only (docs: subject prefix) label Oct 15, 2026
@JarryShaw JarryShaw moved this to In review in PyPCAPKit Oct 15, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

Verdict: GOOD TO GO at c061e25b0. A Sonnet cross-review checked it (author: Opus).

  • Scope and AST guard: 28 files, all inside the slice, and none is an index.rst. All 17 changed .py files are identical once docstrings are blanked.
  • Directives: all 17 were checked against v1.4.1.post2, and all are the right kind, name and version. The 54 cited numbers are all issues, and each closing PR touched the file its directive sits on.
  • Accuracy: 31 prose edits were checked against the code, with 0 wrong claims and 0 timed wording.
  • Tests: tests/project gives 930 passed. The 121 test files that read the edited paths give 1087 passed.
  • Render: the merged build has no new warnings.
  • Non-blocking: a few from_data and data links render as plain code. They are left for round 2, together with hip.py, mh.py, the other schemas and data/internet/**.

@JarryShaw JarryShaw added the review: good-to-go Cross-review at the current head says ready; CI state is separate label Oct 15, 2026
…et layer (#1103)

Version directives, all 1.5.0:
- versionchanged on IPv4, IPv6, HIP, HOPOPT, IPv6_Opts, IPv6_Route,
  IPv6_Frag, MH, IPX, AH and Internet, naming each breaking fix's issues.
- versionadded on IPv6_Ext and the esp module; versionremoved for
  SolutionParameter.lifetime, RPL.cmpr_i/cmpr_e and the IPv6-Opts SMF_DPD
  test field.

Accuracy:
- Header tables name the info keys and fields the data models carry
  (IPv4, IPv6, IPv6-Opts, IPv6-Frag, AH, HIP); "Header Extension Length".
- ip.rst no longer lists IPsec as an IP subclass; ipsec.rst drops an
  *args parameter the class does not take.
- HIP's parameter table lists R1_Counter (128); the IPv4 TS and HIP
  ECHO_RESPONSE_UNSIGNED makers document overflow and opaque.
- IP and IPv6 cite RFC 8200; AH links its defining module.

Rendering: unresolved references retargeted (ESP, HIP, MH, SA), a role
split across lines rejoined, and the pages gain the Internet.from_data,
IPv6._import_next_layer, alias and jumbogram helper entries they cite.

Refs #1103
@github-actions

Copy link
Copy Markdown
Contributor

Coverage: 89.59% (unit tier, Python 3.15, c061e25b0, Unit Tests run success)

Package Statements Missed Branches Partial Cover
pcapkit (top level) 104 3 20 3 95.16%
pcapkit/const 18862 954 2368 868 91.06%
pcapkit/corekit 2461 69 780 35 96.54%
pcapkit/dumpkit 276 3 100 3 98.40%
pcapkit/foundation 2915 164 1016 34 93.59%
pcapkit/interface 138 7 52 5 93.68%
pcapkit/protocols 17184 224 4574 189 98.08%
pcapkit/toolkit 872 177 298 8 77.18%
pcapkit/utilities 512 2 158 4 99.10%
pcapkit/vendor 4417 2342 1010 157 43.38%

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

@JarryShaw

Copy link
Copy Markdown
Owner Author

Verdict: GOOD TO GO at 6f1c4eada. A Sonnet re-check (author: Opus) after dropping the NotImplemented.esp versionremoved block from esp.py and esp.rst, per the ruling recorded on #1103. Against c061e25b0 the range-diff shows only those 10 deleted lines. The AST guard finds 0 of 17 files differ, docutils gives 0 warnings, and the run was 997 passed, 1 skipped.

@JarryShaw
JarryShaw merged commit 97127db into main Oct 15, 2026
11 checks passed
@github-project-automation github-project-automation Bot moved this from In review to Done in PyPCAPKit Oct 15, 2026
@JarryShaw
JarryShaw deleted the docs/1103-internet branch October 15, 2026 17:13
@JarryShaw JarryShaw removed the review: good-to-go Cross-review at the current head says ready; CI state is separate label Oct 15, 2026
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)

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant