Skip to content

docs: 0.1.2 is live on npm — SECURITY.md, CHANGELOG.md, and the published-bytes verification - #37

Merged
djayamah merged 1 commit into
mainfrom
docs-0.1.2-live
Sep 9, 2026
Merged

djayamah merged 1 commit into
mainfrom
docs-0.1.2-live

Conversation

@djayamah

@djayamah djayamah commented Sep 9, 2026

Copy link
Copy Markdown
Owner

0.1.2 is published. npm view usewarden dist-tags reports latest: 0.1.2, agreed by the registry JSON.

This updates the two documents a user reads when deciding whether to upgrade, now that there is something to upgrade to.

What changed

  • SECURITY.md — the known-issues table now leads with npm install usewarden@latest and states that 0.1.2 is live and carries SLSA provenance. It also records that all 55 wrapped forms were re-run on the bytes downloaded from the registry after release, checksum-matched first: 44 of 55 allowed on 0.1.1, 0 of 55 on 0.1.2.
  • CHANGELOG.md — 0.1.2 dated rather than marked unreleased.
  • verification/release-0.1.2/ — the full post-release evidence.

Verified against the registry, not against HEAD

provenance SLSA v1, built by .github/workflows/release.yml on refs/heads/main from source commit d7795f4e77 — the merge of #35 — invocation 34224649687, the stage run that was approved
signatures npm audit signatures: verified registry signature, verified attestation
clean install npm install usewarden into an empty project with a brand-new cache → 0.1.2, integrity matching the registry's sha512
escape class 55 wrapped forms on the downloaded tarball: 44 allowed on 0.1.1, 0 on 0.1.2, both bare controls refused by both
negative controls 15 of 16 ordinary commands still allowed; the one refusal is the space-in-directory-name delete declared in CHANGELOG.md before release
new control usewarden policy --drift runs out of the published tarball and exits 1 when the policy is weaker

One finding worth keeping

The first three clean installs took 0.1.1, with an empty cache, while the registry said latest: 0.1.2. The cause was this repository's own .npmrc: min-release-age=7 refuses any version published less than seven days ago — a deliberate supply-chain defence, doing its job, scoped to anything run inside the repo and to nobody else's machine.

Recorded because "npm install gave me the old version" is exactly the shape of a botched publish, and it was not one.

🤖 Generated with Claude Code

https://claude.ai/code/session_01To6RJknDDPxY3nihw4t64k

Stop your AI coding agent before it touches something it shouldn't. A local
guardrail for Claude Code, Cursor, Gemini CLI and more: it blocks out-of-scope
writes, .env reads, rm -rf and force pushes, with no API key and zero tokens.

It is not a firewall and not a sandbox. It intercepts what an agent DECLARES it
is about to do, through that agent's own hook system, and does not sit in the
kernel. An adversarial read of the earlier wording found that claim the first
thing to attack and the first thing to lose (DECISIONS.md D-095).

This is a single-commit history by design. The tool was built over eleven
verified phases in a private repository whose commits contain the build
machine's absolute paths and internal notes; publishing a rewritten version of
that history would leave the original blobs fetchable by SHA. The engineering
record it would have carried is published instead as DECISIONS.md and the
artifacts under verification/, both of which are checked by
scripts/pre-public-scan.sh before every push.
@djayamah
djayamah merged commit 75a454a into main Sep 9, 2026
5 checks passed
@djayamah
djayamah deleted the docs-0.1.2-live branch September 9, 2026 04:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant