cairntir

v1.8.0 Release Acceptance

Status: published and independently verified 2026-08-30 Prepared: 2026-08-25 Tag: v1.8.0 at 8dcb3fb676242af49236fac749ac3a57456cac0b Settlement pull request: #78 Release-record pull request: #79 Publication-repair pull request: #80 Release workflow: run 33346147256

Why a MINOR

This release adds user-visible recovery and finalization capabilities, new CLI options, an opt-in MCP handoff path, and verified shared-store wiring for four additional agent hosts. Users need the changelog to know these capabilities exist and how transcript trust differs from drawer trust.

What is accepted

Adapter evidence

The parsers were checked against local host-owned transcripts without copying their content into fixtures:

Automated acceptance

Publication evidence

The immutable annotated tag v1.8.0 points to the protected release-record merge 8dcb3fb676242af49236fac749ac3a57456cac0b.

The first tag-triggered run, 33345026660, exposed a circular gate: pre-publication tests required 1.8.0 to exist on PyPI before the workflow was allowed to publish it. The failure occurred before the build, PyPI, or GitHub Release jobs; the tag was not moved, deleted, or reused. PR #80 added an exact-tag recovery path, kept all product tests, moved the self-referential tag/PyPI check after trusted publishing, and required GitHub Release creation to wait for that independent check.

Recovery run 33346147256 checked out v1.8.0, verified that its version and commit exactly matched the tag, passed the release gates, built and attested the artifacts, published through PyPI Trusted Publishing, verified the public PyPI files, and created the GitHub Release. PyPI accepted the files before its JSON index exposed them; the post-publish gate passed once that propagation completed.

Artifact digests are identical across the workflow artifact, GitHub Release, and PyPI:

Artifact SHA-256
cairntir-1.8.0-py3-none-any.whl 74a42bfd5f0db8cb68bf5c3d5a1387c4d73eba19cbc7bd80f09e2da65d44b59e
cairntir-1.8.0.tar.gz 8e3be37c9cb05186314d81db014532dc1a3704747c19d3b8f5018015af5146ee

gh attestation verify --repo pnmcguire480/cairntir verified both artifacts. Because this was an immutable-tag recovery dispatched from main, the SLSA certificate identifies workflow commit 3a7af17d6ffd63cb2930dc56af514a4678d9170d and refs/heads/main; the workflow’s separate exact-tag check is the evidence that the built checkout was v1.8.0 at 8dcb3fb. This provenance distinction is recorded rather than overstated.

A fresh Windows Python 3.11 environment installed cairntir==1.8.0 using only public PyPI. cairntir version returned 1.8.0, --help rendered cleanly, all four bundled recipes loaded from site-packages, and the 64-package environment passed uv pip check.

Migration

None. The database schema and embedding space are unchanged. Transcript reads are opt-in and local. No reindex or transcript import is performed.

Publication authorization

Patrick explicitly requested that 1.8.0 be released on 2026-08-30. The tag points to the exact protected-branch release-record merge. Trusted publishing, provenance verification, artifact digest comparison, and a fresh public-PyPI Windows install all passed.