Stability policy (ByteOr OSS)
Synced from repo docs
This page is synced from docs/policy/stability.md via docs/public-docs.json. Edit the owning repo source instead of this generated copy. GitHub source: https://github.com/byteor-systems/byteor/blob/master/docs/policy/stability.md
ByteOr OSS is currently pre-1.0.
The default posture is conservative: documented contracts matter, but the workspace is still allowed to make breaking changes between minor versions while the design settles.
Stable vs experimental
The following are the clearest current contracts in the OSS workspace:
byteor-abirepr(C)layouts and generated header workflowbyteor-pipeline-specv1 data model- deterministic
kvencode/decode and canonicalization behavior for the v1 spec model
The following remain more fluid even when they are useful today:
- executor convenience helper APIs
- SHM file naming/path conventions
- runtime bring-up helper shapes
- proc-macro ergonomics
xtaskcommand surface and optional gate toggles
Builder-first rule
The builder-first API in byteor-pipeline-spec is the baseline authoring contract.
- Macros are optional ergonomics.
- A macro-only surface without an equivalent builder path is not the supported OSS baseline.
Versioning
- The workspace uses SemVer with the usual pre-1.0 convention.
- Breaking changes bump the minor version (
0.Y.0). - Non-breaking additions and fixes bump the patch version (
0.Y.Z). - Until the v1 surface settles, the OSS crates move in lockstep to avoid dependency skew across the spec/kernel/backing/executor layers.
Experimental feature flags
New capabilities that are not ready for long-term support should be introduced behind feature flags
prefixed with unstable-.
Those flags are explicitly outside the initial OSS stability contract.