From b99bb931b86ade0e42dc5497df7abe754016f593 Mon Sep 17 00:00:00 2001 From: Seongho Bae Date: Sun, 6 Sep 2026 22:56:15 +0900 Subject: [PATCH 1/3] test(release): fail on protected release identity drift --- tests/test_package_version.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 tests/test_package_version.py diff --git a/tests/test_package_version.py b/tests/test_package_version.py new file mode 100644 index 000000000..cb85f136e --- /dev/null +++ b/tests/test_package_version.py @@ -0,0 +1,20 @@ +"""Release identity stays consistent across Python and frontend artifacts.""" + +from __future__ import annotations + +import json +import tomllib +from pathlib import Path + +from lineageweave import __version__ + + +def test_release_versions_are_synchronized() -> None: + """Runtime provenance must use the same version as shipped package metadata.""" + repository_root = Path(__file__).resolve().parents[1] + project = tomllib.loads((repository_root / "pyproject.toml").read_text(encoding="utf-8")) + frontend = json.loads( + (repository_root / "frontend" / "package.json").read_text(encoding="utf-8") + ) + + assert __version__ == project["project"]["version"] == frontend["version"] From 719a284da116c87a8db4e70b0b7f257e45a045db Mon Sep 17 00:00:00 2001 From: Seongho Bae Date: Sun, 6 Sep 2026 23:01:20 +0900 Subject: [PATCH 2/3] fix(release): synchronize runtime identity at v2.28.0 --- lineageweave/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lineageweave/__init__.py b/lineageweave/__init__.py index 45c371fa7..de72e74f2 100644 --- a/lineageweave/__init__.py +++ b/lineageweave/__init__.py @@ -130,4 +130,4 @@ "serialize_lineage_analysis_result", ] -__version__ = "2.20.0" +__version__ = "2.28.0" From 3bdec0504a65e63f44bd49ba15de37182a1672cc Mon Sep 17 00:00:00 2001 From: Seongho Bae Date: Sun, 6 Sep 2026 23:01:28 +0900 Subject: [PATCH 3/3] docs(release): record v2.28 runtime provenance repair --- CHANGELOG.d/2.28.0-release-identity.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 CHANGELOG.d/2.28.0-release-identity.md diff --git a/CHANGELOG.d/2.28.0-release-identity.md b/CHANGELOG.d/2.28.0-release-identity.md new file mode 100644 index 000000000..78ae4ceae --- /dev/null +++ b/CHANGELOG.d/2.28.0-release-identity.md @@ -0,0 +1,4 @@ +## Fixed + +- Synchronized the LineageWeave runtime `__version__` with the Python and frontend package metadata at `2.28.0`. +- Added `tests/test_package_version.py` so release identity drift fails before a protected release can be treated as reproducible provenance.