docs: record the verified v0.4.1 provenance - #59
Conversation
Asserted only after checking, which was the point of holding the claim back until the packages were live: all five 0.4.1 attestations name .github/workflows/publish.yml in wonkwonlee/ChangeSafe at refs/tags/v0.4.1, commit bafdeeb, and 'npm audit signatures' reports verified signatures and attestations for the installed tree. The registry-installed CLI was also exercised end to end — it gates a destructive Terraform plan to exit 1, and the Kubernetes package imports directly under Node ESM, the defect that forced the v0.3.1 patch. The README now tells readers to run 'npm audit signatures' themselves rather than take a paragraph's word for provenance, and says plainly that 0.4.0 is an incomplete set: the three packages published there are genuine, but the CLI and the Kubernetes domain do not exist at that version. MEMORY.md's release section was a month stale; it now records v0.4.1, why v0.4.0 could not simply be retried, and that publishing is resumable. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0c538025d3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Review of #59 caught MEMORY.md contradicting itself one bullet apart: it called v0.4.1 the project's first release with provenance, then recorded that three packages reached the registry during the failed v0.4.0 run — which were attested. v0.4.1 is the first release where all five are. The durable release record is the wrong place to be loose about this. A project that asks readers to verify attestations rather than trust prose does not get to overstate its own provenance history. Also tightened the README's 0.4.0 sentence from 'what did ship there is genuine' to 'those three are genuine and attested', so the same fact reads the same way in both places. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Fixed in 5b53fe1 — the finding was right, and it was the kind of imprecision this repository should be least tolerant of.
It now reads:
While auditing every provenance statement for the same problem I also tightened the README, which said the 0.4.0 packages were "genuine" without saying they were attested. It now says "those three are genuine and attested, but the set is incomplete", so the same fact reads the same way in both places. A project that tells readers to run |
v0.4.1 is live: all five packages published, and the claim this repository has been careful not to make until now is finally checkable.
What was verified, not assumed
Every 0.4.1 attestation decodes to the same source:
npm audit signaturesagainst a throwaway install reports verified registry signatures and verified attestations for the whole tree. The registry-installed CLI was then exercised end to end:changesafe --version→ 0.4.1blocked=true,CRITICALimport { KubernetesSnapshotSchema } from '@changesafe/domain-kubernetes'under Node ESM → works, which is the exact defect that forced the v0.3.1 patchThis is the project's first release with provenance.
What the docs now say
npm audit signaturesrather than asking them to trust a paragraph — appropriate for a project whose thesis is that claims should be checkable — and states that0.4.0is an incomplete set: the three packages published there are genuine and attested, but the CLI and the Kubernetes domain do not exist at that version.releaseevent runs the workflow at the tagged commit — and that publishing is resumable.Nothing here changes product code.
🤖 Generated with Claude Code