Skip to content

feat(lib): intentional public API surface with a semver-tracked prelude#131

Merged
dc0sk merged 1 commit into
mainfrom
feat/public-library-api
Jul 8, 2026
Merged

feat(lib): intentional public API surface with a semver-tracked prelude#131
dc0sk merged 1 commit into
mainfrom
feat/public-library-api

Conversation

@dc0sk

@dc0sk dc0sk commented Jul 8, 2026

Copy link
Copy Markdown
Owner

Backlog T5. src/lib.rs re-exported whole internal modules with no curated public surface or stability contract (project-review finding).

  • Crate-level API docs with a getting-started example (also a doctest).
  • New prelude module re-exporting the stable core: AppConfig, AppResults, AppRequest/AppResponse, AppError, CalcMode, run_calculation[_checked], results_display_document, ResultsDisplayDocument; WireCalculation, TransformerRatio, GroundClass, ImpedanceClass, the optimizer config/result types; Band/BandType/ITURegion.
  • Explicit stability notes: prelude = semver-tracked; app/bands/calculations/prefs/sessions public for advanced use; tui for embedding; CLI/export/NEC/fnec are private.

Non-breaking (additive). cargo test all pass incl. the new doctest; clippy + fmt clean.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Jf8uBU8AYxkrG8fa8yo6tC

src/lib.rs re-exported whole internal modules with no curated surface or
stability contract. Add crate-level API docs (getting-started example that
doubles as a doctest), a semver-tracked `prelude` module re-exporting the core
stable types (AppConfig, AppResults, run_calculation[_checked],
results_display_document, WireCalculation, TransformerRatio, GroundClass,
ImpedanceClass, the optimizer config/result types, Band/BandType/ITURegion),
and explicit stability notes distinguishing the stable API from advanced-use
modules and private implementation details.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@dc0sk
dc0sk merged commit e3a0922 into main Jul 8, 2026
10 checks passed
@dc0sk
dc0sk deleted the feat/public-library-api branch July 8, 2026 20:19
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