Skip to content

Standardize v2 API contracts and adopt bl namespace - #252

Merged
codeforester merged 1 commit into
mainfrom
enhancement/224-20260805-api-contract
Aug 5, 2026
Merged

Standardize v2 API contracts and adopt bl namespace#252
codeforester merged 1 commit into
mainfrom
enhancement/224-20260805-api-contract

Conversation

@codeforester

Copy link
Copy Markdown
Collaborator

Summary

  • establish the normative v2 API charter and complete public-surface audit
  • adopt the shorter bl_ public function namespace for the unreleased v2 line
  • make ordinary imports, version checks, list mutators, safe filesystem helpers,
    directory changes, and source-dir resolution return recoverable statuses
  • add explicit interactive defaults and Enter handling for yes/no prompts
  • add atomic file-update optimistic concurrency detection with status 6
  • add contract coverage for documented symbols, status behavior, and concurrent
    writers while preserving the one-library-one-file standard

Validation

  • ./tests/validate.sh </dev/null
  • 483 BATS tests passed
  • ShellCheck error profile passed
  • Bash option matrix passed for all eight option combinations

Closes #224

@codeforester
codeforester merged commit dff4aae into main Aug 5, 2026
5 checks passed
@codeforester
codeforester deleted the enhancement/224-20260805-api-contract branch August 5, 2026 03:20
codeforester added a commit that referenced this pull request Aug 5, 2026
## Summary

- replace the just-merged `bl_` public function namespace with the
coherent
  `base_<module>_<name>` contract before #225 freezes the API manifest
- use `base_std_*` for standard-library helpers and `base_init`/
  `base_require_version` for lifecycle entrypoints
- keep `BASE_BASH_LIBS_*` globals and `__base_bash_libs_*__` internals
unchanged
- remove every `bl_` reference rather than introducing compatibility
aliases

This is an unreleased-v2 contract correction following #252. It
preserves the
one-library-one-file standard and the completed #224 behavior work.

## Validation

- `./tests/validate.sh </dev/null`
- 483 BATS tests passed
- ShellCheck error profile passed
- Bash option matrix passed for all eight option combinations

Blocks #225 until merged.
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.

Standardize public error, status, output, and mutation semantics

1 participant