From d43d517ca89bade185d4502189b59e9892694fcc Mon Sep 17 00:00:00 2001 From: Martin Breuss Date: Tue, 6 Oct 2026 06:50:37 +0000 Subject: [PATCH 1/2] tdd-ai-agents: Treat missing release segments as zero Version("1.2") compared unequal to Version("1.2.0") because ._key() compared raw release tuples. Trim trailing zeros in ._key() and add test_missing_segments_count_as_zero() to match the updated tutorial. Co-Authored-By: Claude Opus 5.5 (1M context) --- tdd-ai-agents/tests/test_core.py | 12 ++++++++++++ tdd-ai-agents/uv.lock | 8 ++++++++ tdd-ai-agents/version_check/core.py | 5 ++++- 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 tdd-ai-agents/uv.lock diff --git a/tdd-ai-agents/tests/test_core.py b/tdd-ai-agents/tests/test_core.py index 21f288a849..1d5c73b93d 100644 --- a/tdd-ai-agents/tests/test_core.py +++ b/tdd-ai-agents/tests/test_core.py @@ -26,6 +26,18 @@ def test_double_digit_segments_sort_numerically(): assert Version("3.9") < Version("3.10") +@pytest.mark.parametrize( + "shorter, longer", + [ + ("1.2", "1.2.0"), + ("1", "1.0.0"), + ("1.0a1", "1.0.0a1"), + ], +) +def test_missing_segments_count_as_zero(shorter, longer): + assert Version(shorter) == Version(longer) + + @pytest.mark.parametrize( "lower, higher", [ diff --git a/tdd-ai-agents/uv.lock b/tdd-ai-agents/uv.lock new file mode 100644 index 0000000000..7475df43f2 --- /dev/null +++ b/tdd-ai-agents/uv.lock @@ -0,0 +1,8 @@ +version = 1 +revision = 3 +requires-python = ">=3.14" + +[[package]] +name = "version-check" +version = "0.1.0" +source = { editable = "." } diff --git a/tdd-ai-agents/version_check/core.py b/tdd-ai-agents/version_check/core.py index d4cfbc2480..39150427b2 100644 --- a/tdd-ai-agents/version_check/core.py +++ b/tdd-ai-agents/version_check/core.py @@ -27,6 +27,9 @@ def __init__(self, text): self._dev = int(match["dev"]) if match["dev"] else None def _key(self): + release = self._release + while len(release) > 1 and release[-1] == 0: + release = release[:-1] if self._dev is not None and self._pre is None: phase = (0, self._dev) elif self._pre is not None: @@ -35,7 +38,7 @@ def _key(self): phase = (3, self._post) else: phase = (2, 0) - return (self._release, phase) + return (release, phase) def __eq__(self, other): if not isinstance(other, Version): From 564cd587546172b406d62bad48aa6e5a18c93204 Mon Sep 17 00:00:00 2001 From: Martin Breuss Date: Tue, 6 Oct 2026 07:55:10 +0000 Subject: [PATCH 2/2] tdd-ai-agents: Remove stray uv.lock Co-Authored-By: Claude Opus 5.5 (1M context) --- tdd-ai-agents/uv.lock | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 tdd-ai-agents/uv.lock diff --git a/tdd-ai-agents/uv.lock b/tdd-ai-agents/uv.lock deleted file mode 100644 index 7475df43f2..0000000000 --- a/tdd-ai-agents/uv.lock +++ /dev/null @@ -1,8 +0,0 @@ -version = 1 -revision = 3 -requires-python = ">=3.14" - -[[package]] -name = "version-check" -version = "0.1.0" -source = { editable = "." }