Skip to content

Enforce private typed module boundary for 7.0.0 - #7

Merged
sam0rr merged 2 commits into
mainfrom
dev
Jul 23, 2026
Merged

Enforce private typed module boundary for 7.0.0#7
sam0rr merged 2 commits into
mainfrom
dev

Conversation

@sam0rr

@sam0rr sam0rr commented Jul 23, 2026

Copy link
Copy Markdown
Owner

Summary

  • move protocol framing and wire constants into the private _protocol module
  • move serial transport and frame synchronization into the private _serial_manager module
  • keep the documented package-root API and all sensor behavior unchanged
  • declare exact public interfaces for the typed package and its public modules
  • remove the old public-looking internal module paths without aliases or compatibility shims
  • prepare the forward-only 7.0.0 package metadata
  • correct the README toolchain list to reference Ruff and Vulture instead of Black

Impact

The documented imports from xkc_kl200_python remain unchanged. The internal xkc_kl200_python.utils and xkc_kl200_python.serial_manager paths are intentionally removed. The usage guide, configuration guide, examples, and CI already matched the supported API and required no changes.

Validation

  • 79 tests pass
  • 372/372 source statements covered (100%)
  • Ruff formatting and linting pass
  • strict mypy passes
  • Vulture reports no dead code
  • Prettier passes for all Markdown documentation
  • source distribution and wheel build successfully
  • the wheel contains py.typed, _protocol.py, and _serial_manager.py
  • the built wheel embeds the corrected README metadata
  • an isolated strict-mypy consumer check against the built wheel passes
  • AST comparison confirms the relocated protocol and transport definitions are unchanged
  • three independent codex review --base main reviews found no actionable defects on the final commit

@sam0rr
sam0rr marked this pull request as ready for review July 23, 2026 16:48
@sam0rr
sam0rr merged commit 5457261 into main Jul 23, 2026
1 check passed
@sam0rr
sam0rr deleted the dev branch July 23, 2026 16:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant