Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
14 changes: 7 additions & 7 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
23 changes: 10 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions conformance/pins.py
Original file line number Diff line number Diff line change
Expand Up @@ -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]}"
Expand Down
2 changes: 1 addition & 1 deletion scripts/sync_schema.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
"aggregate-state-package.schema.json",
"execution-checkpoint.schema.json",
)
SPEC_COMMIT = "cc4b0d734aa1c5953de75fb53b63e390a3b72761"
SPEC_COMMIT = "7782671b56165a59caa61a65c29fefc63105ebf8"


def _fetch(name: str) -> str:
Expand Down
2 changes: 1 addition & 1 deletion src/determa/state/__about__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@
is exactly one place to bump.
"""

__version__ = "0.1.0"
__version__ = "0.2.0"
2 changes: 1 addition & 1 deletion tests/test_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
4 changes: 2 additions & 2 deletions tests/test_release_checks.py
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down