API stability policy¶
This page records the frozen public API for the 4.1.x / 4.2.x
compatibility series and the versioning rules that govern change. It
summarizes design docs/design/DESIGN.md §8.1 and §8.4. Characterization
tests under tests/ are the executable contract.
Frozen public surface¶
Downstream code may rely on the following import paths and names remaining available with compatible signatures and defaults:
Module |
Public names |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Advanced import: PCADataset¶
PCADataset lives in ecnet.datasets.structs and is not part of the
ecnet.datasets public export surface for this compatibility series. Use:
from ecnet.datasets.structs import PCADataset
Additive optional keyword arguments on frozen callables are allowed when defaults preserve current behavior.
Versioning policy¶
Release class |
Examples |
Contract |
|---|---|---|
Patch ( |
Bugfixes, packaging, tests, documentation corrections |
Signature and numeric oracles must continue to match |
Minor ( |
Internal hardening, Sphinx/governance completion, dependency range expansions proven on CI |
Still API-compatible with the frozen surface |
Major ( |
Intentional breaks only with explicit approval |
Examples: removing pickle-based full-module |
Executable contract¶
CI and local verification should keep these green:
Signature locks —
tests/test_api_signatures.pyBlend oracles —
tests/blends/,tests/fixtures/Dataset / model / tasks / callbacks characterization suites
Coverage floors: ecnet.blends ≥95% line coverage; overall package ≥90%,
enforced in CI with --cov-fail-under=90.