Skip to content

enhancement: classify and freeze the public API surface (#242) - #461

Merged
codeforester merged 3 commits into
mainfrom
enhancement/242-20261023-segment-and-freeze-public-api
Oct 23, 2026
Merged

codeforester merged 3 commits into
mainfrom
enhancement/242-20261023-segment-and-freeze-public-api

Conversation

@codeforester

Copy link
Copy Markdown
Contributor

Summary

Closes #242.

  • Add the reviewed docs/api-manifest.json with core, integration, advanced, and provisional tiers for every facade export.
  • Add the small base_cli.core lifecycle surface for new applications while preserving the broad 0.x compatibility facade.
  • Add manifest validation and contract tests so new exports require an explicit tier classification.
  • Document the migration path, optional-integration boundary, and API manifest in the README and API stability guide.
  • Regenerate the public API reference and include the manifest in the contracts gate.

Validation

  • UV_CACHE_DIR=/private/tmp/base-cli-uv-cache uv run python scripts/validate_api_manifest.py
  • UV_CACHE_DIR=/private/tmp/base-cli-uv-cache uv run pytest -q tests/test_api_manifest.py tests/test_public_api.py tests/test_api_stability.py
  • UV_CACHE_DIR=/private/tmp/base-cli-uv-cache uv run --extra quality ./tests/full_validate.sh --gate style
  • UV_CACHE_DIR=/private/tmp/base-cli-uv-cache uv run --extra dev --extra typer --extra quality ./tests/full_validate.sh --gate contracts
  • git diff --check

The compatibility facade remains unchanged for existing 0.x consumers; this PR establishes the reviewed 1.0 segmentation and recommended starting surface without requiring optional Typer, Rich, or OpenTelemetry packages for the core.

Comment thread tests/test_api_manifest.py Outdated
Comment thread scripts/validate_api_manifest.py
Comment thread scripts/generate_api_reference.py
Comment thread lib/python/base_cli/core.py
Comment thread scripts/validate_api_manifest.py Outdated
Comment thread tests/test_api_manifest.py Outdated
Comment thread scripts/validate_api_manifest.py Outdated
@codeforester
codeforester merged commit ac5f0af into main Oct 23, 2026
140 of 141 checks passed
@codeforester
codeforester deleted the enhancement/242-20261023-segment-and-freeze-public-api branch October 23, 2026 14:34
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.

[v1.0] Segment and freeze the public API facade

1 participant