Skip to content

api: Stop requiring private vector helpers #49

Description

@BenWestgate

Before v1, constructing and checking reference vectors must not require underscore-prefixed imports, while unrelated implementation internals should remain private rather than being indiscriminately re-exported.

Implemented in focused PR #53:

  • publish the checksum specifications/u5 conversion/checksum-selection helpers needed for external vector work at their owning modules;
  • document a vector-construction workflow using supported names only;
  • audit production cross-module private imports and document the remaining correction/profile/wallet/Core/CLI couplings instead of renaming them cosmetically;
  • keep package-level codex32.__all__ deliberate.

The follow-up also makes chars_to_u5() ASCII-case-insensitive without Unicode folding and centralizes the shared private _ascii_lower helper used by the CLI path.

The final one-time refresh has been performed on the current runtime/API prerequisites. Current #53 head cde312b preserves the 23-name package-level codex32.__all__, has no inline review threads, and has a current-head Codex code ACK. Exact-head GitHub Python-package run 36985866683 completed successfully on cde312b; all 10 matrix jobs passed, including the Ubuntu 3.13 optimized suite, correction-constant verifier, strict mypy, Ruff check/format, frozen differential verifier, build, and wheel-environment verification. Local exact-head validation also recorded 952 tests normally and under python -O, 523 focused tests in both modes, 57/57 differential cases, and 5,199 installed logical lines under the 5,200 cap.

No code-review or automated-verification gap remains. Before integration, the Codex-authored second commit still requires responsible-human rewrite/squash under repository policy; keep the issue open through that human integration step.

Activity

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

    area: apiPublic and supported Python API boundaries.area: bip93BIP93 encoding, checksum, parsing, and format rules.enhancementNew feature or requestgate: adversarial reviewResolve, merge, or explicitly defer before the next full adversarial review.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions