ci: run the public demos against the wheel this branch would ship - #105
Merged
Conversation
0.27.0 shipped two correct security changes and both broke demos in agentrust-io/examples: release began refusing manifests whose identity was not pinned out of band (#98), and the memory-fingerprint challenge began requiring a signed sweep (#95). Six demos that passed on 0.26.0 failed on 0.27.0. Nothing caught it and nothing could have. That repository only ever tests against a version already on PyPI, so the earliest possible detection was after the upload, which is after a version number can be taken back. And the list of demos to run lived inside its workflow file, where this repository's CI cannot reach it. The list now lives beside the demos as run_demos.py (agentrust-io/examples#92), and this job calls it against a wheel built from the branch under review. A change here that breaks them fails on the pull request that causes it. A failure is not automatically a reason to revert. A security fix SHOULD break a demo that was relying on the hole; #98 broke six because six were building brokers that would release against any manifest reusing a held weights hash, which is exactly what it closed. It is a reason to know, and to land the demo fix alongside rather than discover it afterwards. The job comment says so, since whoever meets a red check here will be deciding that under time pressure. The install order is deliberate: the examples' requirements first, to bring in the extras the demos need, then the local wheel with --force-reinstall --no-deps to replace the SDK with the one under review. The pinned floor is usually already satisfied by the version being replaced, so a plain install is a no-op. RELEASING.md gains two steps that were learned the expensive way: diff the changelog against git log before dating a section, and note that the downstream check has already run by the time a release PR is merged. Verified locally end to end: wheel built from this branch, installed over the examples' pin, 13 demos and the unit tests pass. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014NL8o3PXq6kfs2SdmBv6ak
Merged
imran-siddique
added a commit
that referenced
this pull request
Sep 1, 2026
Cuts a clean release. Supersedes 0.26.0 and 0.27.0, whose sdists carry internal infrastructure identifiers in a test fixture; the wheels never did, and #107 removed them from the tree. Contents since 0.27.0: #105 public demos run against the wheel the branch would ship #106 protected-runtime evidence captured on real Azure SEV-SNP silicon #107 identifier redaction plus a CI leak scan on every push, PR and release 0.28.0 rather than 0.27.1: #106 is additive evidence work with a new test module, and #107 adds a workflow and a tool rather than only editing fixtures. Claude-Session: https://claude.ai/code/session_019kmhCCZYFS1ZzQjeoQWkw4 Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes the gap that let 0.27.0 break six public demos with nothing noticing.
What happened
0.27.0 shipped two correct security changes, and both broke demos in
agentrust-io/examples:Six demos that passed on 0.26.0 failed on 0.27.0.
Why nothing caught it
Two reasons, and both had to be fixed:
The list now lives beside the demos as
run_demos.py(agentrust-io/examples#92, merged). This job calls it against a wheel built from the branch under review.A red check here is not automatically a revert
Worth being explicit, because whoever meets one will be deciding under time pressure, and the job comment says it too.
A security fix should break a demo that was relying on the hole. #98 broke six demos because six were building brokers that would release against any manifest reusing a held weights hash — which is exactly what #98 closed. The demos were wrong.
The value is knowing on the PR, and landing the demo fix alongside, rather than discovering it after publishing.
Install order
Deliberate, and worth a look:
--force-reinstallbecause the examples' pinned floor is usually already satisfied by the version being replaced, so a plain install is a no-op.--no-depsso the swap does not drag the pinned release back in.RELEASING.md
Two steps learned the expensive way:
CHANGELOG.mdagainstgit log v<last>..HEADbefore dating a section. 0.27.0 found seven merged PRs with no entry at all, one of them a security change. A notes section covering two of nine changes is worse than none, because it reads as complete.downstream-exampleshas already run by the time a release PR is merged.Verified
End to end locally: wheel built from this branch, installed over the examples' pin, 13 demos and the unit tests pass.
🤖 Generated with Claude Code
https://claude.ai/code/session_014NL8o3PXq6kfs2SdmBv6ak