From f0b5c64e847f875864ecc526ae22c61ec6a22f0b Mon Sep 17 00:00:00 2001 From: PerchAnton <101743951+PerchAnton@users.noreply.github.com> Date: Tue, 27 Oct 2026 09:12:42 +0200 Subject: [PATCH] Record verified alpha 5 registry and GitHub publication --- CHANGELOG.md | 4 +++ README.md | 23 +++++++------- docs/RELEASING.md | 44 ++++++++++++------------- docs/assets/README.md | 2 +- docs/assets/release.svg | 8 ++--- docs/evidence/release-alpha5.json | 53 +++++++++++++++++++++++++++++++ 6 files changed, 94 insertions(+), 40 deletions(-) create mode 100644 docs/evidence/release-alpha5.json diff --git a/CHANGELOG.md b/CHANGELOG.md index f8fe290..6cb3659 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## 0.1.0-alpha.5 +Published on 27 October 2026 (Europe/Kyiv) to [crates.io](https://crates.io/crates/edit-session/0.1.0-alpha.5) +and as a [GitHub prerelease](https://github.com/PerchAnton/edit-session/releases/tag/v0.1.0-alpha.5). +Fresh installation, archive checksums and packaged examples verified. [Evidence](docs/evidence/release-alpha5.json). + Examples and documentation release. Runtime behavior is unchanged. - Add a runnable context walkthrough: a host edit followed by Undo restores the diff --git a/README.md b/README.md index da6e2bc..37dc679 100644 --- a/README.md +++ b/README.md @@ -43,23 +43,24 @@ development tool is optional. Neither project depends on the other. ## Current prerelease -**[0.1.0-alpha.4 on crates.io](https://crates.io/crates/edit-session/0.1.0-alpha.4) · published 27 October 2026 (Europe/Kyiv) · Rust 1.88+** +**[0.1.0-alpha.5 on crates.io](https://crates.io/crates/edit-session/0.1.0-alpha.5) · published 27 October 2026 (Europe/Kyiv) · Rust 1.88+** -**[API documentation](https://docs.rs/edit-session/0.1.0-alpha.4/edit_session/)** · [Download the crate](https://crates.io/api/v1/crates/edit-session/0.1.0-alpha.4/download) · [SHA-256 and installation evidence](docs/evidence/release-alpha4.json) · [Changelog](CHANGELOG.md) · [Use as a dependency](#use-from-another-project) +**[GitHub prerelease and checksums](https://github.com/PerchAnton/edit-session/releases/tag/v0.1.0-alpha.5)** · **[API documentation](https://docs.rs/edit-session/0.1.0-alpha.5/edit_session/)** · [Download the crate](https://crates.io/api/v1/crates/edit-session/0.1.0-alpha.5/download) · [SHA-256 and installation evidence](docs/evidence/release-alpha5.json) · [Changelog](CHANGELOG.md) · [Use as a dependency](#use-from-another-project)
Published package snapshot and verification -![edit-session alpha 4, published on crates.io 27 October 2026: 0 runtime dependencies, 25 scoped checks and a 34.2 KiB source archive. Check live state, attempt the host command, retain fields and draft on rejection, and close on success.](docs/assets/release.svg) +![edit-session alpha 5, published on crates.io 27 October 2026: 0 runtime dependencies, 25 scoped checks and a 41.3 KiB source archive. Check live state, attempt the host command, retain fields and draft on rejection, and close on success.](docs/assets/release.svg) Release snapshot: **16 lifecycle tests + 8 host-example tests + 1 doctest**, -**0 runtime dependencies**, **34.2 KiB source crate (35,058 bytes)**. -[Exact file, hash, release CI and clean installation](docs/evidence/release-alpha4.json). The example tests +**0 runtime dependencies**, **41.3 KiB source crate (42,299 bytes)**. +[Exact file, hash, release CI and clean installation](docs/evidence/release-alpha5.json). The example tests model host recovery; they are separate from real application UI regressions. Package -size describes the download. The library API is unchanged from alpha.2. +size describes the download. The library API is unchanged from alpha.4. The crate was downloaded from crates.io into a fresh Cargo cache and built with -Rust 1.88; commit, no-op and stale-context behavior were checked. The CI badge above +Rust 1.88; commit, no-op, Undo freshness and Reset behavior were checked. Both +examples and the generated diagram also pass from the packaged source. The CI badge above tracks current main, while release facts stay tied to the tagged commit. The [previous GitHub release](https://github.com/PerchAnton/edit-session/releases/tag/v0.1.0-alpha.3) remains available. @@ -80,7 +81,7 @@ correction, Cancel, preserved Redo and duplicate confirmation. From a checkout of this release: ```sh -git clone --branch v0.1.0-alpha.4 --depth 1 https://github.com/PerchAnton/edit-session.git +git clone --branch v0.1.0-alpha.5 --depth 1 https://github.com/PerchAnton/edit-session.git cd edit-session cargo run --locked --example retry_command cargo test --locked --example retry_command @@ -111,7 +112,7 @@ dated measurements. Each figure has a source and a defined scope. | Proposal/check loop | **999 pairs; 0 additional clones** | [Instrumented test](tests/lifecycle.rs); one clone at construction, one more on Reset; caller work excluded | | Integration cost | **+217 production UI lines** | [267 added / 50 removed](docs/ADOPTION.md#count-the-cost-as-well); no total-code or speed improvement is claimed | -**Experimental, 0.1.0-alpha.4.** Maintained by [PerchAnton](https://github.com/PerchAnton). +**Experimental, 0.1.0-alpha.5.** Maintained by [PerchAnton](https://github.com/PerchAnton). Available on crates.io and as a Git dependency. PhotoCraft and PdfCraft integrations are proposed and await upstream approval. @@ -163,11 +164,11 @@ sequence and shared report help your consumer. The [API contracts](src/lib.rs) a Add this exact prerelease to your crate's `[dependencies]`: ```toml -edit-session = "=0.1.0-alpha.4" +edit-session = "=0.1.0-alpha.5" ``` Commit the resulting `Cargo.lock`. For a Git dependency, the same release is pinned -at revision `621ece8c2a969c47927fecbff80f94ac9adfa618`. +at revision `6bbf13256a8240076ec4d6f8c4ea13477a7c5876`. The companion [interaction-check](https://github.com/PerchAnton/interaction-check) project replays semantic scenarios against adapters using this library. diff --git a/docs/RELEASING.md b/docs/RELEASING.md index ee60056..7d7d651 100644 --- a/docs/RELEASING.md +++ b/docs/RELEASING.md @@ -1,21 +1,15 @@ # Releases and alpha compatibility -## Current candidate - -`0.1.0-alpha.5` packages the context walkthrough and feedback-driven documentation. -Publication is pending. The public API, runtime behavior, Rust 1.88 minimum and zero -runtime dependencies are unchanged. The release workflow runs both examples and -checks the generated context diagram from the extracted crate before upload. - ## Published prerelease -**[0.1.0-alpha.4 on crates.io](https://crates.io/crates/edit-session/0.1.0-alpha.4)** -was published on **27 October 2026 (Europe/Kyiv; 26 October UTC)**. Its public API, -behavior, Rust 1.88 minimum and zero runtime dependencies are unchanged from alpha.3. -A fresh consumer downloaded it from the registry and checked commit, no-op and -stale-context behavior. The archive hash matches the upload and release CI artifact. -[Evidence](evidence/release-alpha4.json) · [Installation](../README.md#use-from-another-project). -The previous alpha.3 GitHub prerelease remains unchanged. +**[0.1.0-alpha.5 on crates.io](https://crates.io/crates/edit-session/0.1.0-alpha.5)** +was published on **27 October 2026 (Europe/Kyiv)** through Trusted Publishing. +The [GitHub prerelease](https://github.com/PerchAnton/edit-session/releases/tag/v0.1.0-alpha.5) +attaches the same verified source archive and its checksum. This release adds examples +and documentation; public API, runtime behavior, Rust 1.88 and zero dependencies remain. +A fresh consumer checked commit, no-op, Undo freshness and Reset. Both packaged examples +and the generated context diagram pass. [Evidence](evidence/release-alpha5.json). +Earlier alpha.4 registry files and alpha.3 GitHub assets remain unchanged. ## Alpha compatibility @@ -67,11 +61,12 @@ Do not present an alpha release as the latest stable release. ### Published version -`0.1.0-alpha.4` is **published on crates.io**. The API, behavior, Rust 1.88 minimum -and runtime dependencies are unchanged. Package metadata/docs change, so the candidate -uses a new version; alpha.3 tags and archives stay untouched. `publish = ["crates-io"]` -limits the registry target. `PACKAGE.md` is the registry landing page and uses absolute -links so it works outside GitHub. +`0.1.0-alpha.5` is **published on crates.io** through +[workflow 40463972786](https://github.com/PerchAnton/edit-session/actions/runs/40463972786). +The API, behavior, Rust minimum and runtime dependencies are unchanged. The new version +includes the added examples and documentation without replacing earlier archives. +`publish = ["crates-io"]` limits the registry target. `PACKAGE.md` is the registry +landing page and uses absolute links so it works outside GitHub. The registry lists `PerchAnton` as the owner. This version cannot be overwritten; prepare a new version for any future package change. @@ -107,7 +102,8 @@ rehearsal. Do not run it merely to test credentials or reserve a name. ### Subsequent releases: Trusted Publishing -In the published crate's **Settings → Trusted Publishing**, add: +Trusted Publishing is configured and verified by the alpha.5 upload. Keep these +identity fields unchanged: | Field | Value | | --- | --- | @@ -116,8 +112,8 @@ In the published crate's **Settings → Trusted Publishing**, add: | Workflow filename | `publish.yml` | | Environment | `crates-io` | -Create the `crates-io` GitHub environment, require owner approval and allow release -tags (`v*`). These repository files do not configure the account or environment. +The existing `crates-io` environment requires owner approval and allows release +tags. These repository files do not configure the account or environment. The workflow uses the Rust project's OIDC action; no permanent CI token is needed. Run **Prepare or publish to crates.io** from `main` with `publish=false` (default) @@ -136,11 +132,11 @@ Use a fresh consumer project and the exact prerelease dependency: ```toml [dependencies] -edit-session = "=0.1.0-alpha.4" +edit-session = "=0.1.0-alpha.5" ``` Run `cargo check`, confirm `Cargo.lock` names the crates.io source (not a path/Git -override), and check the [API documentation](https://docs.rs/edit-session/0.1.0-alpha.4/). +override), and check the [API documentation](https://docs.rs/edit-session/0.1.0-alpha.5/). Only then mark the README/changelog as published. Never overwrite a published version; fixes require a new version. diff --git a/docs/assets/README.md b/docs/assets/README.md index e0e28e9..f80b3f5 100644 --- a/docs/assets/README.md +++ b/docs/assets/README.md @@ -47,7 +47,7 @@ the same information in a text table. Existing measured counts are unchanged. `release.svg` is a dated release summary and a three-step workflow diagram. Its version, publication date, exact compressed file size and CI references come from -the [release snapshot](../evidence/release-alpha4.json). KiB means bytes / 1024, +the [release snapshot](../evidence/release-alpha5.json). KiB means bytes / 1024, rounded to one decimal; this is download size, not runtime memory or a comparison between projects. The README repeats the scoped counts and links to the real assets. diff --git a/docs/assets/release.svg b/docs/assets/release.svg index 1cdc1b2..fc271ce 100644 --- a/docs/assets/release.svg +++ b/docs/assets/release.svg @@ -1,13 +1,13 @@ Keep the draft. Retry safely. -A tested host workflow using the existing draft API. Release alpha.4, 27 October 2026 (Europe/Kyiv). 0 runtime dependencies Rust 1.88+ · no_std library; 25 passing scoped checks 16 lifecycle + 8 host + 1 doctest; 34.2 KiB source crate download 35,058 bytes · compressed archive. Workflow: 1 / CHECK Check the live state Validate input, document, target and revision on each try.; 2 / APPLY Try the host command The host owns permissions and atomic command rejection.; 3 / RECOVER Keep or close Rejected: retain fields + draft. Succeeded: close the editor.. +A tested host workflow using the existing draft API. Release alpha.5, 27 October 2026 (Europe/Kyiv). 0 runtime dependencies Rust 1.88+ · no_std library; 25 passing scoped checks 16 lifecycle + 8 host + 1 doctest; 41.3 KiB source crate download 42,299 bytes · compressed archive. Workflow: 1 / CHECK Check the live state Validate input, document, target and revision on each try.; 2 / APPLY Try the host command The host owns permissions and atomic command rejection.; 3 / RECOVER Keep or close Rejected: retain fields + draft. Succeeded: close the editor.. EDIT-SESSION / CRATES.IO PRERELEASE -ALPHA.4 · 27 OCT 2026 +ALPHA.5 · 27 OCT 2026 Keep the draft. Retry safely. A tested host workflow using the existing draft API. @@ -19,9 +19,9 @@ passing scoped checks 16 lifecycle + 8 host + 1 doctest -34.2 KiB +41.3 KiB source crate download -35,058 bytes · compressed archive +42,299 bytes · compressed archive 1 / CHECK Check the live state diff --git a/docs/evidence/release-alpha5.json b/docs/evidence/release-alpha5.json new file mode 100644 index 0000000..f576350 --- /dev/null +++ b/docs/evidence/release-alpha5.json @@ -0,0 +1,53 @@ +{ + "recorded_date": "2026-10-27", + "timezone": "Europe/Kyiv", + "status": "published", + "package": "edit-session", + "version": "0.1.0-alpha.5", + "tag": "v0.1.0-alpha.5", + "source_commit": "6bbf13256a8240076ec4d6f8c4ea13477a7c5876", + "runtime_dependencies": 0, + "license": "MIT OR Apache-2.0", + "minimum_rust": "1.88", + "scope": "Examples and documentation release; runtime API and behavior unchanged. No upstream adoption or performance claim.", + "registry": "https://crates.io/crates/edit-session/0.1.0-alpha.5", + "registry_metadata": "https://crates.io/api/v1/crates/edit-session/0.1.0-alpha.5", + "github_release": "https://github.com/PerchAnton/edit-session/releases/tag/v0.1.0-alpha.5", + "published_at_utc": "2026-10-27T06:58:11.228896Z", + "publish_workflow": "https://github.com/PerchAnton/edit-session/actions/runs/40463972786", + "release_commit_ci": "https://github.com/PerchAnton/edit-session/actions/runs/40463851643", + "tests": { + "lifecycle": 16, + "recovery_example": 8, + "compile_fail_doctest": 1 + }, + "examples": [ + "retry_command", + "context_walkthrough" + ], + "installation": { + "system": "macOS arm64", + "rust": "1.88.0", + "fresh_project": true, + "fresh_cargo_cache": true, + "dependency_source": "registry+https://github.com/rust-lang/crates.io-index", + "checks": [ + "exact prerelease download and compile", + "commit before/after values", + "reset produces no-op", + "Undo to original value leaves old context stale", + "Reset does not rebase stale context", + "zero runtime dependencies and dual license", + "registry download equals verified CI archive byte for byte", + "versioned docs.rs API documentation available" + ] + }, + "files": [ + { + "name": "edit-session-0.1.0-alpha.5.crate", + "bytes": 42299, + "sha256": "e898a59ee22c0dd449a8e05d26de0354df39a3babacd9eaf4ba87742eb9747ea", + "url": "https://crates.io/api/v1/crates/edit-session/0.1.0-alpha.5/download" + } + ] +}