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 @@ -36,13 +36,13 @@ jobs:
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
repository: fruwehq/determa-state-conformance
ref: 707a49ce01c6f57f673c1959cdfe078bc8d0fc9a
ref: 600523ca08c3b8a6ee790439a32dc4ce47f71b95
path: .pinned/determa-state-conformance
- name: Check out pinned specification
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
repository: fruwehq/determa-state-spec
ref: 1502a58a780d837e05bfacb37680dfc92e3488b5
ref: c1635d74e6a216301a8986d37be8ce7e7111dfd7
path: .pinned/determa-state-spec
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
Expand Down
9 changes: 5 additions & 4 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,13 @@ 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.
Format-1 work currently uses these immutable pre-release inputs:
The synchronized 0.1.0 release uses these immutable inputs:

- specification: `4bd4d9588d11b75d376380b6120676a056a4bc45`;
- conformance: `ffbc65cbce49733803119a7dabf02a9727819ba8` (88 core cases).
- specification: `c1635d74e6a216301a8986d37be8ce7e7111dfd7`;
- conformance: `600523ca08c3b8a6ee790439a32dc4ce47f71b95` (110 core cases plus
persistence profiles).

The package metadata is `0.0.7` for the next synchronized release; the specification,
The package metadata is `0.1.0` for the next synchronized release; the specification,
conformance suite, Python engine, and Rust engine version together.

## Boundaries
Expand Down
5 changes: 4 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,10 @@ 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.0.7` for the next synchronized format 1 release.
metadata is `0.1.0` for the next synchronized format 1 release.

The exact synchronized 0.1.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,
gated by the manually approved `pypi` environment. Version bumps, tags, and publication
Expand Down
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,19 @@
Python implementation of [Determa State](https://github.com/fruwehq/determa-state-spec),
a language-agnostic statechart engine with a shared normative conformance suite.

This pre-release implements Determa State `format: 1` at the approved specification
commit `1502a58a780d837e05bfacb37680dfc92e3488b5`. Correctness is determined by the
This release implements Determa State `format: 1` at the synchronized specification
commit `c1635d74e6a216301a8986d37be8ce7e7111dfd7`. Correctness is determined by the
110-case core suite and persistence profiles at conformance commit
`707a49ce01c6f57f673c1959cdfe078bc8d0fc9a`.
`600523ca08c3b8a6ee790439a32dc4ce47f71b95`.

The package metadata is `0.0.7` for the next synchronized release of the specification,
The package metadata is `0.1.0` for the next synchronized release of the specification,
conformance suite, Python engine, and Rust engine.

## Install

The published `0.0.6` distribution predates format 1. Until the synchronized `0.0.7`
Determa State release is published, install this pre-release implementation from a
checkout:
The published `0.0.7` distribution predates portable persistence and definition
migration. Until the synchronized `0.1.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
2 changes: 1 addition & 1 deletion conformance/conftest.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"""Fetch the immutable pre-release conformance and specification inputs."""
"""Fetch the immutable synchronized conformance and specification inputs."""

from __future__ import annotations

Expand Down
6 changes: 3 additions & 3 deletions conformance/pins.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
"""Immutable pre-release specification and conformance inputs."""
"""Immutable synchronized specification and conformance inputs."""

from __future__ import annotations

from pathlib import Path

CONFORMANCE_COMMIT = "707a49ce01c6f57f673c1959cdfe078bc8d0fc9a"
SPEC_COMMIT = "1502a58a780d837e05bfacb37680dfc92e3488b5"
CONFORMANCE_COMMIT = "600523ca08c3b8a6ee790439a32dc4ce47f71b95"
SPEC_COMMIT = "c1635d74e6a216301a8986d37be8ce7e7111dfd7"

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 @@ -25,7 +25,7 @@
"migration-descriptor.schema.json",
"aggregate-state-package.schema.json",
)
SPEC_COMMIT = "1502a58a780d837e05bfacb37680dfc92e3488b5"
SPEC_COMMIT = "c1635d74e6a216301a8986d37be8ce7e7111dfd7"


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.0.7"
__version__ = "0.1.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.0.7"
assert __version__ == "0.1.0"


def test_validate_command_reports_fingerprint(tmp_path, capsys) -> None:
Expand Down