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: 4 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ jobs:
- run: python -m unittest -v
- run: python examples/quickstart/verify.py
- run: python tools/render_quickstart.py --check
- run: python -m pip install -r examples/dispatch/requirements.txt
- run: python examples/dispatch/verify.py --check
- run: python -m build
- run: python -m twine check --strict dist/*
- run: python tools/check_distribution.py dist
Expand All @@ -54,6 +56,8 @@ jobs:
cd packaged/interaction_check-*
python examples/quickstart/verify.py
python tools/render_quickstart.py --check
python -m unittest -v
python examples/dispatch/verify.py --check
- name: Record the verified artifacts
run: sha256sum dist/* > SHA256SUMS
- uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
Expand Down
7 changes: 6 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
# Changelog

## Unreleased
## 0.1.0a8 / v0.1.0-alpha.8

28 October 2026. Examples and documentation release; runtime behavior is unchanged.
Publication status is tracked in the linked registry and GitHub release pages.

- Add a focused python-dispatch example with native tests, optional expected/observed
Mermaid diagrams and tables that separate property writes, new callbacks, cumulative
log and the property value. Demonstrate the first mismatch with a wrong expectation.
- Explain the existing rat-salsa case through five real API calls, adapter costs and
UI limits; link the existing pyee native-test PR without duplicating it.
- Runner behavior, protocol, CLI options and runtime dependencies are unchanged.
- The source archive includes the dispatch example and diagrams; the release workflow
verifies them from the unpacked archive. The wheel remains the dependency-free runner.

## 0.1.0a7 / v0.1.0-alpha.7

Expand Down
5 changes: 3 additions & 2 deletions PACKAGE.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ Licensed under MIT OR Apache-2.0. Experimental alpha: formats and CLI may still

## Installation

Install a published copy of this prerelease from PyPI:
After publication, install this prerelease from PyPI:

```sh
python -m pip install 'interaction-check==0.1.0a7'
python -m pip install 'interaction-check==0.1.0a8'
```

An exact version selects this prerelease without opting into all future prereleases.
Expand Down Expand Up @@ -40,6 +40,7 @@ Rust library edit-session is not required.

- [Scenario and adapter protocol](https://github.com/PerchAnton/interaction-check#scenario-format)
- [First example: no application or extra packages](https://github.com/PerchAnton/interaction-check/tree/main/examples/quickstart)
- [Real callbacks and Mermaid diagrams](https://github.com/PerchAnton/interaction-check/tree/v0.1.0-alpha.8/examples/dispatch)
- [Native tests or replay?](https://github.com/PerchAnton/interaction-check/blob/main/docs/CHOOSING.md)
- [Worked XState example](https://github.com/PerchAnton/interaction-check/tree/main/examples/xstate)
- [Moving a useful scenario into a native test](https://github.com/PerchAnton/interaction-check/blob/main/docs/NATIVE_TESTS.md)
Expand Down
19 changes: 16 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,22 @@ Current source includes **[property writes and callbacks](examples/dispatch/READ
[expected/observed Mermaid diagrams](examples/dispatch/trace.md), a
[deliberate first mismatch](examples/dispatch/mismatch.md), and ordinary native tests.
For terminal widgets, see [five rat-salsa calls and their limits](docs/REAL_API_WALKTHROUGH.md).
These examples are newer than the published package; the runner protocol is unchanged.
These examples are included in the **0.1.0a8 source archive**; the runner protocol
is unchanged. The optional renderer runs from source, not as a new CLI flag.

## Current prerelease
## Release 0.1.0a8 / alpha.8

This examples-and-documentation release adds the real-property walkthrough and optional
Mermaid reports. It keeps Python 3.10+, zero runtime dependencies, schema 1 and protocol 1.
The wheel installs the runner; the source archive includes both walkthroughs.

[PyPI version and files](https://pypi.org/project/interaction-check/0.1.0a8/) ·
[GitHub prerelease and checksums](https://github.com/PerchAnton/interaction-check/releases/tag/v0.1.0-alpha.8) ·
[Changes](CHANGELOG.md). The linked registry/release pages confirm publication status.
Validation covers 54 unit tests, the three native dispatch tests and five replay steps,
including the intentionally incorrect expectation. No upstream defect or speedup is claimed.

## Previous publication: alpha.7

**[0.1.0a7 on PyPI](https://pypi.org/project/interaction-check/0.1.0a7/) · published 27 October 2026 (Europe/Kyiv) · Python 3.10+**

Expand Down Expand Up @@ -80,7 +93,7 @@ Install the exact published prerelease from PyPI in a virtual environment:

```sh
python -m venv .venv
.venv/bin/python -m pip install 'interaction-check==0.1.0a7'
.venv/bin/python -m pip install 'interaction-check==0.1.0a8'
.venv/bin/interaction-check --version
```

Expand Down
12 changes: 12 additions & 0 deletions docs/RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,18 @@ compatibility contract beyond this alpha policy.

## Preparing a future release

The current candidate is `0.1.0a8` / `v0.1.0-alpha.8`. It packages the real-property
walkthrough and optional Mermaid renderer. It is not published until the registry
and release assets have been verified. Runtime behavior, schema 1 and protocol 1 are
unchanged. Verify the new source example as well:

```sh
python -m pip install -r examples/dispatch/requirements.txt
python examples/dispatch/verify.py --check
```

The publication workflow runs those checks in the checkout and unpacked source archive.

Update the version and changelog for the new candidate, then run:

```sh
Expand Down
2 changes: 1 addition & 1 deletion docs/assets/quickstart.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions docs/evidence/quickstart.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"recorded_date": "2026-10-27",
"recorded_date": "2026-10-28",
"scope": "Original teaching model; no upstream bug or adoption claim",
"python": "3.14.3",
"system": "Darwin",
Expand Down Expand Up @@ -48,7 +48,7 @@
},
"source_hash_format": "SHA-256 of UTF-8 text with LF line endings",
"source_files": {
"interaction_check.py": "bc5db645bdbfa1d2fa09a5a3c856d6a46ebac54d8b10811392a0929af4c7124c",
"interaction_check.py": "68d31b51651d580cae2874ed6c6270063411f86981dfd30b0a016b1133106e3a",
"examples/quickstart/verify.py": "095587e81236d34a44b9046d9b2f03e304bf58cdac519d903af749ffe0ce25a4",
"examples/quickstart/editor.py": "0fcb587a689a94c012c8723631b1884aaf0433967d92fab5bc0785218a73acd8",
"examples/quickstart/adapter.py": "8964e160f85c7f0c19151d5d285b3fa658cb85514e2273bdf86f10dfa5b38818",
Expand Down
2 changes: 1 addition & 1 deletion examples/dispatch/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This example calls **python-dispatch 0.2.3**, not a simulation. It is external
evaluation code maintained here, not an upstream integration or a discovered bug.
From current source (these files are newer than the alpha.7 tag), in a virtual environment:
Included in the alpha.8 source archive and tagged checkout. In a virtual environment:

```sh
python -m pip install -r examples/dispatch/requirements.txt
Expand Down
2 changes: 1 addition & 1 deletion interaction_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
import time
import xml.etree.ElementTree as ET

VERSION = "0.1.0a7"
VERSION = "0.1.0a8"
LIMIT = 1024 * 1024
MAX_DEPTH = 64

Expand Down
Loading