codetruss 0.2.52 - #18
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5 <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.
Points the formula at the
v0.2.52release archive.That digest was measured off the downloaded release asset, not copied from the release notes, and the URL written above was fetched independently and
cmpd against it. The asset is byte-identical topublic/downloads/codetruss-cli-0.2.52.tgzin the monorepo, to the bytes codetruss.com serves, to the site'slatestpointer, and to the archive rebuilt independently in the mirror from its own lockfile.gh attestation verify codetruss-cli-0.2.52.tgz --repo CodeTruss/codetruss-clipasses, and the release carries all three attestations: SLSA provenance v1, CycloneDX, and the in-toto release predicate — the last confirmed through the attestations API, sincegh2.85 cannot verify a predicate signed by GitHub's release identity (dotcom.releases.github.com) under--repo.The same
cmpagainst 0.2.51 — the version this formula pointed at until now — exits 1, so the comparison is capable of failing.gh attestation verifywas likewise checked against a tampered copy of the archive (one appended byte) and against two wrong--repovalues; all three exit 1, so its exit 0 above is not vacuous.Nothing else changes.
.github/workflows/test.ymlderives the expected version frombrew inforather than a literal, so it needs no edit; the version assertion in CI is what proves the installed binary matches the formula.What 0.2.52 carries
Three corrections to published artifacts, and no behaviour change.
dist/cli.cjsin this archive and in 0.2.51's are the same length and differ at exactly one byte — the version string the binary prints.The one that matters for anyone installing through this tap is a safety claim in the shipped README that was false. Through 0.2.51 it read: "Non-interactive
--yessetup requires explicit--allowvalues." It never did. Given no explicit value,resolveAllowGlobsadopts every conventional source directory that exists at the repository root —src,app,apps,packages,lib,components,server,client,public,test,tests,e2e,spec,docs— as<dir>/**and continues; it refuses only when none of the fourteen exist.Verified against the published 0.2.52 archive installed into an isolated prefix:
codetruss setup --yes --hooks nonein a repository holdingsrc/andtests/, with no--allowat all, exits 0 and printsAdopted detected allowed change roots: src/**, tests/**. The same command in a repository whose only source directory is named something else exits 3 and asks for an explicit--allow. Both match the corrected text; the old text claimed the first case could not happen.The behaviour itself is deliberate and unchanged — an unattended run should end up protected rather than halted over glob syntax, the adopted list is printed, no repository-wide glob is ever adopted, and verification-command trust is still withheld without
--trust-verify. What was wrong was the documentation, so the documentation is what moved. The corrected text also warns that a detected scope can be wider than intended, and that it misses a source directory outside the list — onsindresorhus/ky, whose sources live insource/,--yesadoptstest/**alone and leaves the whole source tree out of scope.Also in 0.2.52: a correction to the 0.2.51 changelog entry, which said a blocking pre-commit hook left "uninstalling as the only escape" —
git commit --no-verifyalso escapes it. 0.2.51's published text is untouched; the correction lives in the 0.2.52 entry. Andpackages/analyzer-engine/src/scoring.tsno longer carries raw NUL bytes, so git renders the scoring model as text rather than as a binary blob.🤖 Generated with Claude Code