Skip to content

Commit 7cbc4ea

Browse files
Fix stale conformance.toml spec_pin; guard it
PR #173 review: conformance.toml [manifest].spec_pin was stale at v0.60.0 -- a fourth pin-sync point the smoke test did not cover, so it drifted across the v0.15.0 pin bumps. Update it to v0.64.0 and add a smoke-test assertion that spec_pin tracks __spec_version__ so it cannot drift again.
1 parent 739f2d2 commit 7cbc4ea

2 files changed

Lines changed: 15 additions & 1 deletion

File tree

conformance.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232

3333
[manifest]
3434
implementation = "openarmature-python"
35-
spec_pin = "v0.60.0"
35+
spec_pin = "v0.64.0"
3636

3737
# Status values:
3838
# implemented — shipped behavior matches the proposal's contract

tests/test_smoke.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,20 @@ def test_spec_version_matches_pyproject() -> None:
2424
assert openarmature.__spec_version__ == pyproject_spec_version
2525

2626

27+
def test_conformance_spec_pin_matches_spec_version() -> None:
28+
# conformance.toml's [manifest].spec_pin is a fourth pin-sync point
29+
# (alongside __spec_version__, pyproject, and the submodule changelog)
30+
# that no other check covered, so it silently drifted across the
31+
# v0.15.0 pin bumps. Assert it tracks __spec_version__ (the manifest
32+
# value carries a ``v`` prefix) so it can't drift again.
33+
conformance_path = Path(__file__).resolve().parent.parent / "conformance.toml"
34+
manifest = tomllib.loads(conformance_path.read_text())
35+
spec_pin = manifest["manifest"]["spec_pin"]
36+
assert spec_pin == f"v{openarmature.__spec_version__}", (
37+
f"conformance.toml [manifest].spec_pin is {spec_pin!r}, expected v{openarmature.__spec_version__}"
38+
)
39+
40+
2741
# Keep a Changelog heading: ``## [0.15.0]`` (with optional trailing
2842
# date). The ``[Unreleased]`` entry uses a non-numeric tag and is
2943
# skipped by this pattern.

0 commit comments

Comments
 (0)