From ae121d9e57ffdfb9d4aca5c7c4660c6ff576ca60 Mon Sep 17 00:00:00 2001 From: Christian-Manuel Butzke Date: Wed, 9 Sep 2026 16:28:46 +0900 Subject: [PATCH] release: prepare Python package metadata for 0.2.0 --- .github/workflows/test.yml | 4 ++-- AGENTS.md | 14 +++++++------- CONTRIBUTING.md | 4 ++-- README.md | 23 ++++++++++------------- conformance/pins.py | 4 ++-- scripts/sync_schema.py | 2 +- src/determa/state/__about__.py | 2 +- tests/test_cli.py | 2 +- tests/test_release_checks.py | 4 ++-- 9 files changed, 28 insertions(+), 31 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b3db688..133ecf6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -58,13 +58,13 @@ jobs: uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: repository: fruwehq/determa-state-conformance - ref: 5ba78c7ef90b8556e76de6481a18b23a3d0c2378 + ref: d6a45d31614ee25de20476ed93f10e14997d882c path: .pinned/determa-state-conformance - name: Check out pinned specification uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: repository: fruwehq/determa-state-spec - ref: cc4b0d734aa1c5953de75fb53b63e390a3b72761 + ref: 7782671b56165a59caa61a65c29fefc63105ebf8 path: .pinned/determa-state-spec - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: diff --git a/AGENTS.md b/AGENTS.md index eaa56ea..0240d24 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -9,15 +9,15 @@ This is the Python implementation of Determa State. The distribution is package so it can coexist with the umbrella `determa` launcher. The implementation is conformant only when it passes the language-neutral suite. -The current implementation uses these immutable inputs: +The synchronized 0.2.0 release uses these immutable inputs: -- specification: `cc4b0d734aa1c5953de75fb53b63e390a3b72761`; -- conformance: `263644f951f342b0eeaa3aceef4877293d2d7c67` (111 core cases, - persistence profiles, and the 85-vector execution-checkpoint profile). +- specification: `7782671b56165a59caa61a65c29fefc63105ebf8`; +- conformance: `d6a45d31614ee25de20476ed93f10e14997d882c` (111 core cases, + 108 persistence vectors, 12 persistence-profile steps, 91 execution-checkpoint + vectors, and 89 closed-code registry entries). -Version `0.1.0` is the published synchronized release. The specification, conformance -suite, Python engine, and Rust engine version together for each future synchronized -release. +The package metadata is `0.2.0` for the next synchronized release; the specification, +conformance suite, Python engine, and Rust engine version together. ## Boundaries diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 061feff..f90886b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -56,9 +56,9 @@ behavior. `src/determa/state/__about__.py` is the single package version source. Determa State specification, conformance, Python, and Rust versions are synchronized. The package -metadata is `0.1.0` for the next synchronized format 1 release. +metadata is `0.2.0` for the next synchronized format 1 release. -The exact synchronized 0.1.0 specification and conformance commits recorded in +The exact synchronized 0.2.0 specification and conformance commits recorded in `conformance/pins.py` are the authoritative release inputs. A `vX.Y.Z` tag triggers `release.yml` and publishes to PyPI through Trusted Publishing, diff --git a/README.md b/README.md index 5565318..511c41e 100644 --- a/README.md +++ b/README.md @@ -4,23 +4,20 @@ Python implementation of [Determa State](https://github.com/fruwehq/determa-stat a language-agnostic statechart engine with a shared normative conformance suite. This implementation supports Determa State `format: 1` at specification -commit `cc4b0d734aa1c5953de75fb53b63e390a3b72761`. Correctness is determined by the -111-case core suite, persistence profiles, and 91-vector execution-checkpoint profile -at conformance commit `5ba78c7ef90b8556e76de6481a18b23a3d0c2378`. +commit `7782671b56165a59caa61a65c29fefc63105ebf8` (`v0.2.0`). Correctness is +determined by the 111-case core suite, 108 persistence vectors, 12 persistence-profile +steps, 91 execution-checkpoint vectors, and 89 closed-code registry entries at +conformance commit `d6a45d31614ee25de20476ed93f10e14997d882c` (`v0.2.0`). -Version `0.1.0` is the published synchronized release of the specification, conformance -suite, Python engine, and Rust engine. +The package metadata is `0.2.0` for the next synchronized release of the specification, +conformance suite, Python engine, and Rust engine. This release adds the portable +execution-checkpoint host, selected legacy artifact decoding, and authoritative +portable code sets. ## Install -The published `0.1.0` distribution includes portable persistence and definition -migration. Install it from PyPI: - -```sh -python -m pip install determa-state==0.1.0 -``` - -To work from the current development checkout instead: +Until the synchronized `0.2.0` Determa State release is published, install this release +candidate from a checkout: ```sh git clone https://github.com/fruwehq/determa-state-python.git diff --git a/conformance/pins.py b/conformance/pins.py index bd9024f..3948e11 100644 --- a/conformance/pins.py +++ b/conformance/pins.py @@ -4,8 +4,8 @@ from pathlib import Path -CONFORMANCE_COMMIT = "5ba78c7ef90b8556e76de6481a18b23a3d0c2378" -SPEC_COMMIT = "cc4b0d734aa1c5953de75fb53b63e390a3b72761" +CONFORMANCE_COMMIT = "d6a45d31614ee25de20476ed93f10e14997d882c" +SPEC_COMMIT = "7782671b56165a59caa61a65c29fefc63105ebf8" ROOT = Path(__file__).resolve().parent.parent CONFORMANCE_CACHE = ROOT / ".cache" / f"determa-state-conformance-{CONFORMANCE_COMMIT[:12]}" diff --git a/scripts/sync_schema.py b/scripts/sync_schema.py index c4eab95..0c166f2 100644 --- a/scripts/sync_schema.py +++ b/scripts/sync_schema.py @@ -26,7 +26,7 @@ "aggregate-state-package.schema.json", "execution-checkpoint.schema.json", ) -SPEC_COMMIT = "cc4b0d734aa1c5953de75fb53b63e390a3b72761" +SPEC_COMMIT = "7782671b56165a59caa61a65c29fefc63105ebf8" def _fetch(name: str) -> str: diff --git a/src/determa/state/__about__.py b/src/determa/state/__about__.py index 77013d2..ce93a81 100644 --- a/src/determa/state/__about__.py +++ b/src/determa/state/__about__.py @@ -5,4 +5,4 @@ is exactly one place to bump. """ -__version__ = "0.1.0" +__version__ = "0.2.0" diff --git a/tests/test_cli.py b/tests/test_cli.py index 115f2f8..13c855e 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -9,7 +9,7 @@ def test_version_matches_release_metadata() -> None: - assert __version__ == "0.1.0" + assert __version__ == "0.2.0" def test_validate_command_reports_fingerprint(tmp_path, capsys) -> None: diff --git a/tests/test_release_checks.py b/tests/test_release_checks.py index 6655b6f..4270cf8 100644 --- a/tests/test_release_checks.py +++ b/tests/test_release_checks.py @@ -42,8 +42,8 @@ def test_required_workflow_context_remains_stable() -> None: def test_release_tag_matches_single_package_version() -> None: - assert package_version() == "0.1.0" - assert expected_tag() == "v0.1.0" + assert package_version() == "0.2.0" + assert expected_tag() == "v0.2.0" def test_release_tag_rejects_mismatch() -> None: