diff --git a/PACKAGE.md b/PACKAGE.md index 274ccc7..2826e03 100644 --- a/PACKAGE.md +++ b/PACKAGE.md @@ -6,7 +6,7 @@ Licensed under MIT OR Apache-2.0. Experimental alpha: formats and CLI may still ## Installation -After publication, install this prerelease from PyPI: +Install this published prerelease from PyPI: ```sh python -m pip install 'interaction-check==0.1.0a8' diff --git a/README.md b/README.md index 4e56701..7d74c12 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ breaks Cancel **in a temporary copy**, exports the failing case and reruns it. I runs equivalent ordinary Python tests. An expected `FAIL` is followed by `Verified`; the command exits successfully only when the whole demonstration checks out. -**Recorded 27 October 2026:** 3 native tests and 3 replay scenarios / 12 steps pass +**Recorded 28 October 2026:** 3 native tests and 3 replay scenarios / 12 steps pass on the correct model. Both detect the same deliberate Cancel defect. This is an original teaching example, not an upstream bug or a claim of additional coverage. [Read the code and commands](examples/quickstart/README.md) · [Raw evidence](docs/evidence/quickstart.json). @@ -61,7 +61,9 @@ 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. +[Changes](CHANGELOG.md) · [Hashes and clean-install verification](docs/evidence/release-alpha8.json). +Published and verified **28 October 2026 (Europe/Kyiv)**. Both registry archives match +the GitHub assets; a fresh PyPI install passes the quickstart and real dispatch scenario. 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. diff --git a/docs/RELEASING.md b/docs/RELEASING.md index 434f9d9..3291d90 100644 --- a/docs/RELEASING.md +++ b/docs/RELEASING.md @@ -2,20 +2,22 @@ ## Published prerelease -**[0.1.0a7 on PyPI](https://pypi.org/project/interaction-check/0.1.0a7/)** was published -on **27 October 2026 (Europe/Kyiv)**. The -[GitHub prerelease](https://github.com/PerchAnton/interaction-check/releases/tag/v0.1.0-alpha.7) +**[0.1.0a8 on PyPI](https://pypi.org/project/interaction-check/0.1.0a8/)** was published +on **28 October 2026 (Europe/Kyiv)**. The +[GitHub prerelease](https://github.com/PerchAnton/interaction-check/releases/tag/v0.1.0-alpha.8) attaches the same wheel and source archive with checksums. A fresh environment installed the package and verified the complete quickstart, including deliberate -failure detection, original-expectation export and replay. The source archive also -passes the example and diagram checks. [Evidence](evidence/release-alpha7.json). -Earlier alpha.6 registry files and alpha.5 GitHub assets remain unchanged. +failure detection, original-expectation export and replay. The installed runner also +passes the real dispatch scenario and catches its deliberately wrong expectation. +The source archive passes native dispatch and Mermaid report checks. +[Hashes, installation and workflow evidence](evidence/release-alpha8.json). +Earlier registry versions, tags and release assets remain unchanged. ## Alpha compatibility - Alpha releases are experimental. CLI options, Python APIs, report fields and adapter behavior may change between releases, even within `0.1.0`. -- Alpha.7 keeps scenario schema **1** and JSONL protocol **1**. This describes the +- Alpha.8 keeps scenario schema **1** and JSONL protocol **1**. This describes the current release; it does not promise compatibility with every future alpha. - Pin the runner release or Git revision and the adapter/consumer revisions separately. Before upgrading, read the [changelog](../CHANGELOG.md) and replay @@ -29,10 +31,9 @@ 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: +Alpha.8 is already published; do not reuse its version or tag. It packages the real-property +walkthrough and optional Mermaid renderer. Runtime behavior, schema 1 and protocol 1 +are unchanged. For the next candidate, verify the source example as well: ```sh python -m pip install -r examples/dispatch/requirements.txt @@ -68,12 +69,12 @@ an alpha as the latest stable release. ### Published version -`0.1.0a7` / `v0.1.0-alpha.7` is **published on PyPI**. Runtime behavior, CLI options, -scenario schema 1 and JSONL protocol 1 are unchanged from alpha.6. The new version -packages the first example and clearer documentation. Publication used -[workflow 40464385275](https://github.com/PerchAnton/interaction-check/actions/runs/40464385275) -and the configured `pypi` environment. Do not rerun this version's upload; prepare -a new version for any future package change. +`0.1.0a8` / `v0.1.0-alpha.8` is **published on PyPI**. Runtime behavior, CLI options, +scenario schema 1 and JSONL protocol 1 are unchanged from alpha.7. This release +packages the real-property walkthrough, optional Mermaid reports and clearer limits. +Publication used [workflow 40655587083](https://github.com/PerchAnton/interaction-check/actions/runs/40655587083) +and the configured `pypi` environment after the rehearsal and release-commit CI passed. +Do not rerun this version's upload; prepare a new version for any future package change. ### One-time owner setup @@ -108,7 +109,7 @@ It has no upload permission in this mode. Neither pushes nor PRs trigger publish For an approved release, require green CI on the exact commit, create and push its matching **new** version tag, then run the workflow from that tag with `publish=true`. -The published `v0.1.0-alpha.7` is a reference for the process, not a tag to upload again. +The published `v0.1.0-alpha.8` is a reference for the process, not a tag to upload again. The build job requires a matching package version and a commit contained in `main`. The upload job waits for the `pypi` environment, downloads the verified distributions, @@ -120,7 +121,7 @@ After success, verify the [project](https://pypi.org/project/interaction-check/) version, license, Python requirement and both archive hashes. In a fresh venv: ```sh -python -m pip install --index-url https://pypi.org/simple 'interaction-check==0.1.0a7' +python -m pip install --index-url https://pypi.org/simple 'interaction-check==0.1.0a8' interaction-check --version ``` diff --git a/docs/evidence/release-alpha8.json b/docs/evidence/release-alpha8.json new file mode 100644 index 0000000..615cf00 --- /dev/null +++ b/docs/evidence/release-alpha8.json @@ -0,0 +1,47 @@ +{ + "checked_at": "2026-10-28T08:18:23.854953+00:00", + "status": "published", + "package": "interaction-check", + "version": "0.1.0a8", + "tag": "v0.1.0-alpha.8", + "source_commit": "1cda979491ba9af9b6a1de5c59cae4aaaa899aa3", + "runtime_dependencies": 0, + "license": "MIT OR Apache-2.0", + "python_requirement": ">=3.10", + "runner_tests": 54, + "registry": "https://pypi.org/project/interaction-check/0.1.0a8/", + "github_release": "https://github.com/PerchAnton/interaction-check/releases/tag/v0.1.0-alpha.8", + "installation": { + "fresh_venv": true, + "python": "3.14.3", + "system": "Darwin", + "pip_check": "pass", + "quickstart": "3 native tests; 3 scenarios / 12 steps; Cancel mutation, export and replay pass", + "dispatch_installed_runner": "5 steps pass; wrong expectation caught at step 2", + "packaged_dispatch_native_and_diagrams": "pass" + }, + "registry_archives_match_workflow": true, + "files": [ + { + "name": "interaction_check-0.1.0a8-py3-none-any.whl", + "bytes": 13259, + "sha256": "d4fdfc4ae7f27c2b6f8c685bcb7cc83192982856537e4529112a5ab2ad0523c9", + "url": "https://files.pythonhosted.org/packages/40/7b/2210ba0a6e2cbec573db2af21f01be29773a8f5f05393666aedd27590545/interaction_check-0.1.0a8-py3-none-any.whl", + "uploaded_at_utc": "2026-10-28T08:17:56.638799Z" + }, + { + "name": "interaction_check-0.1.0a8.tar.gz", + "bytes": 53011, + "sha256": "90179421509472c89c37131573aba15cff6e11ff3596ef79e82815061e445f30", + "url": "https://files.pythonhosted.org/packages/cd/47/0b91600214d4e0c03b26b3f84c6199563411c2dff49e29e9ed8e91200e2b/interaction_check-0.1.0a8.tar.gz", + "uploaded_at_utc": "2026-10-28T08:17:58.199191Z" + } + ], + "publish_workflow": "https://github.com/PerchAnton/interaction-check/actions/runs/40655587083", + "rehearsal_workflow": "https://github.com/PerchAnton/interaction-check/actions/runs/40655062781", + "release_commit_ci": [ + "https://github.com/PerchAnton/interaction-check/actions/runs/40655039698", + "https://github.com/PerchAnton/interaction-check/actions/runs/40655039707" + ], + "scope": "Examples and documentation release. Runner behavior, schema 1 and protocol 1 unchanged. No upstream bug, adoption or performance advantage claimed." +}