Skip to content

Commit 6984b83

Browse files
Ronald Tseronaldtse
authored andcommitted
docs: versioning policy - independent package lines, index+goldens as the contract (option A)
1 parent c900901 commit 6984b83

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

‎docs/VERSIONING.md‎

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Versioning policy — the three runtimes
2+
3+
The three runtime packages (npm `interscript`, RubyGems `interscript`,
4+
PyPI `interscript`) version **independently**. There is no cross-registry
5+
version alignment, and none is planned: the compatibility contract is
6+
NOT the package version — it is
7+
8+
1. the **pinned index release** (`models-index.yaml` at tag index-vN,
9+
printed by each release's notes and asserted by an exact-pin test in
10+
every runtime), and
11+
2. the **golden corpus** (cross-runtime byte-parity vectors; a runtime
12+
whose output diverges does not release).
13+
14+
Package versions move on their own registries' conventions (the npm
15+
line is long and mature; the gem entered its 3.x unified generation;
16+
PyPI debuts after the trusted-publisher fix). Users who need a specific
17+
behavior pin the index (`SECRYST_INDEX`/`INTERSCRIPT_ML_INDEX` env var
18+
or the explicit `index_url`), not the package version.
19+
20+
Rule of thumb for releases: an index bump (new models, URL changes) is
21+
a patch/minor per runtime; a dispatch-surface or contract change is a
22+
minor per runtime; only user-facing breaking API changes take majors.

0 commit comments

Comments
 (0)