Skip to content

API stability

Omnichunk follows Semantic Versioning for documented public APIs.

v0.10.1 is a stability-focused pre-release. The formal stable public API guarantee starts at v1.0.0.

What is stable

The primary stability boundary is the export list in omnichunk.__all__ (see package __init__.py). Symbols listed there are intended to remain compatible within the same major version (for 0.x, treat minor bumps as the main compatibility signal).

Version 0.x note

While 0 < major < 1, minor releases may add features and may include targeted breaking changes when required for correctness. Patch releases are expected to remain backward compatible for the documented public API surface.

Version 1.x note

Starting from v1.0.0, compatibility guarantees become strict for documented public symbols:

  • Breaking changes require a major version bump.
  • Minor versions add backward-compatible functionality.
  • Patch versions contain backward-compatible fixes only.

What is not guaranteed

Internal modules used for implementation (e.g. omnichunk.engine.*, many omnichunk.util.* helpers) may change without a major bump. Prefer importing from the top-level omnichunk package.

Experimental APIs

If a feature is experimental, it will be documented as such in release notes and/or docstrings. Experimental APIs may change or move (for example under a dedicated namespace) in future releases.

Type checking policy

CI runs mypy on the full src/omnichunk tree with the repository defaults.

For newly introduced public modules that are intended to be strict-friendly, CI also runs:

mypy --strict --follow-imports=skip \
  src/omnichunk/propositions/types.py \
  src/omnichunk/propositions/heuristic.py \
  src/omnichunk/propositions/llm_extract.py

--follow-imports=skip keeps this check focused on those modules without requiring the entire dependency graph to satisfy --strict yet.