Conversation
Ships the Windows EPERM lock-guard fix (#197), the only code change since 0.10.3, and gets the current README onto npm and Glama, which render the copy in the published tarball. - package.json / package-lock.json: 0.10.3 -> 0.10.4 - CHANGELOG: [Unreleased] cut as [0.10.4]; README note under Changed - docs/claude-code.md, docs/commands.md, issue templates: pinned version - README: watch figure refreshed to the 2026-09-25 run docker/ stays on 0.10.3 until 0.10.4 is on npm; dependabot's /docker npm entry bumps it from there. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XZEotnWUeFC5V4AHMKBM9W
sprayberry-redline
left a comment
There was a problem hiding this comment.
Automated review from the Sprayberry Labs fleet code reviewer.
Reviewed by the GPT gating lane (gating review).
Verdict: changes requested — the commit carries public AI attribution, which first-party strict mode treats as a blocking generated-writing tell. rule:reads-as-generated
Blocking — commit a22d6e0: public AI attribution
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The sole commit adds a model-specific co-author trailer. The PR also exposes the same generated provenance in its branch/body, but the trailer alone is sufficient: it makes the release history read as generated and is prohibited by the first-party strict-mode public-text pass. Remove the model-specific attribution (and generated-session material from the public PR metadata) before submitting the release.
# Remove the model-specific co-author trailer from the commit message.
The version values are consistent across package.json, the lockfile, pinned documentation, templates, and the changelog. I also confirmed all required CI checks are passing at a22d6e0ff0d3a946080567f1f494e834cfe02006; I did not run the local suite.
|
Replaced by a clean PR with the same change as one commit, without the model attribution in the commit trailer and body. |
What this changes
Two commits. Review them separately.
1.
release: 0.10.4(a22d6e0)Bumps
versionto 0.10.4. When this merges,auto-release.ymltagsv0.10.4, cuts the GitHub release from the CHANGELOG section and dispatchespublish.yml.package.json/package-lock.json: 0.10.3 → 0.10.4[0.10.4]: the WindowsEPERMlock fix (lock: a guard mid-release reads as EPERM on Windows — treat it as contention #197), the--versionfix below, and a note that this release carries the current README to npm and Glamadocs/claude-code.md,docs/commands.mdand both issue templatesdocker/stays on 0.10.3 on purpose. It installs from npm, so dependabot's/dockerentry bumps it once 0.10.4 is published.2. CI hardening (ed18322)
I reviewed every workflow. All recent runs were green, and everything passes actionlint and shellcheck, so the gaps were in what CI never checked:
ci.ymlpackagejob: installs thenpm packtarball into an empty project (ubuntu + windows, node 20), then runs the installed CLI,truecopy-mcpand the library./srcstraight from the checkout, so a broken published package was invisible. This job found the--versionbug on its first run.ci.ymlpublish.ymlalready uses. I ran the suite on 24.21.0 locally and it passes.ci.ymlrun:script through shellcheckmarketplace-watch.ymlwatch, so two runs must never overlap.publish.ymlnpm publish: install that version back from the registry, check--version, check it flags the poisoned demo, runnpm audit signaturesaudit signaturesverifies both the registry signature and the provenance on 0.10.3.truecopy-gate.ymlverify-attestation: 'true'codeql.ymlactionslanguagedocker.ymltruecopy.lockordemo/clean-mcp.jsonchangetest/release-hygiene.test.mjspackage.jsonBug fix:
truecopy --versionprinted the usage text and exited 2, even though both issue templates ask reporters for its output.--version,-vandversionnow print the version. Regression test added.Why
This PR gets the lock fix onto npm, and it adds tests for the package users actually install, the publish step and the watch's behavior after a triage PR merges.
How it was verified
npm test: 274 tests, 273 pass, 0 fail, 1 skipped (Node 22). Node 24.21.0 locally: 269/269 before the new tests.actionlint1.7.12 with shellcheck 0.11.0: clean on all workflowspackagejob's two scripts locally, taken straight fromci.yml. The installed CLI reports0.10.4, the clean demo passes, the poisoned demo exits 1,verifypasses,truecopy-mcpliststruecopy-verify, truecopy-status, and the library has 33 exports.npm audit signaturesagainst the published@askalf/truecopy@0.10.3: 1 verified registry signature, 1 verified attestation🤖 Generated with Claude Code
https://claude.ai/code/session_01XZEotnWUeFC5V4AHMKBM9W