Skip to content

chore(anvil): refresh .anvil.lock to match the emitted tree - #121

Closed
Evgenii (Vaiz) wants to merge 0 commit into
mainfrom
u/vaiz/2026/08/31/semver-checks-0-50
Closed

chore(anvil): refresh .anvil.lock to match the emitted tree#121
Evgenii (Vaiz) wants to merge 0 commit into
mainfrom
u/vaiz/2026/08/31/semver-checks-0-50

Conversation

@Vaiz

@Vaiz Evgenii (Vaiz) commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

🤖 Clawpilot here! Posted automatically by Clawpilot (an AI agent), not by a human. Please verify before acting.

Scope changed. This PR originally bumped cargo-semver-checks to 0.50.0. #111 landed that same bump before this could merge, so that part is gone and only the .anvil.lock refresh remains. History rewritten accordingly.

Problem

Running cargo anvil on a clean checkout of main rewrites .anvil.lock, so the manifest committed on main does not describe what the tool currently emits. Anyone who regenerates gets an unrelated dirty file in their diff, and has to decide whether it is theirs.

There are two independent drifts:

  • The eight cargo-gamma* crates carry # >>> anvil-managed: anvil-lints regions in their Cargo.toml, but .anvil.lock has no matching [[region]] entry for any of them.
  • Recorded checksums for justfiles/anvil/checks/bolero.just, justfiles/anvil/checks/readme-check.just, justfiles/anvil/checks/semver-check.just and justfiles/anvil/versions.just no longer match the files on disk.

This is not a line-ending artifact: .gitattributes sets * text eol=lf, and the drift reproduces from a pristine origin/main checkout.

Why CI did not catch it

regenerate-check runs cargo anvil --dry-run, which compares emitted content and reports the tree as fully unchanged (91 items, nothing to write). The manifest is only rewritten at the end of a real run, so a stale .anvil.lock is invisible to that gate. Worth knowing when reading a green regenerate-check: it asserts the emitted files are current, not that the manifest is.

Change

.anvil.lock only, regenerated by cargo run -p cargo-anvil -- anvil against current main.

Effects

  • cargo anvil on a clean checkout is now a no-op, so a regenerating contributor no longer sees an unexplained .anvil.lock in their diff.
  • No emitted file content changes, and no Cargo.toml is touched — only the manifest catches up to files that were already correct.
  • The eight cargo-gamma* anvil-lints regions become tracked, so a future catalog change to that region will propagate to them instead of being skipped.

Validation

cargo run -p cargo-anvil -- anvil --dry-run is clean before and after (the drift is manifest-only, per above), and a second real cargo anvil run after this commit leaves the tree untouched, which is the actual assertion that matters here.

Copilot AI lite review requested due to automatic review settings August 31, 2026 11:56

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the pinned cargo-semver-checks tool version used by Anvil recipes so semver-check can parse current rustdoc JSON (v60) again, restoring the usefulness of the advisory semver findings in adopting repositories.

Changes:

  • Bump cargo-semver-checks pin from 0.49.0 to 0.50.0 in both the template and the generated Anvil versions files.
  • Update repository constants.env to keep local tooling installs aligned with the shared Anvil pin.
  • Regenerate and refresh Anvil-managed outputs (lock + backend/local snapshots) to keep the generated tree consistent.

Reviewed changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated no comments.

Show a summary per file
File Description
justfiles/anvil/versions.just Updates the generated Anvil pin to cargo_semver_checks_version := "0.50.0".
crates/cargo-anvil/templates/justfiles/anvil/versions.just Updates the template pin so future regenerations emit 0.50.0.
constants.env Updates the repo’s cargo tool pin (CARGO_SEMVER_CHECKS_VERSION=0.50.0) used by local install scripts and workflows.
.anvil.lock Updates catalog/file checksums and adds missing anvil-lints region entries for cargo-gamma* crates.
crates/cargo-anvil/tests/snapshots/snapshots__local_only.snap Snapshot refresh to reflect the new pinned semver-checks version.
crates/cargo-anvil/tests/snapshots/snapshots__github_backend.snap Snapshot refresh to reflect the new pinned semver-checks version.
crates/cargo-anvil/tests/snapshots/snapshots__ado_backend.snap Snapshot refresh to reflect the new pinned semver-checks version.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@codecov-commenter

Codecov Comments Bot (codecov-commenter) commented Aug 31, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 97.7%. Comparing base (edfbec2) to head (148066d).

❌ Your project status has failed because the head coverage (97.7%) is below the target coverage (100.0%). You can increase the head coverage or adjust the target coverage.

Additional details and impacted files
@@           Coverage Diff           @@
##            main    #121     +/-   ##
=======================================
- Coverage   97.7%   97.7%   -0.1%     
=======================================
  Files        286     286             
  Lines      62257   62257             
=======================================
- Hits       60830   60829      -1     
- Misses      1427    1428      +1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Vaiz
Evgenii (Vaiz) force-pushed the u/vaiz/2026/08/31/semver-checks-0-50 branch from c86d792 to 148066d Compare August 31, 2026 12:33
Copilot AI review requested due to automatic review settings August 31, 2026 12:33

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review any files in this pull request.

@Vaiz Evgenii (Vaiz) changed the title build: bump cargo-semver-checks to 0.50.0 for rustdoc JSON v60 chore(anvil): refresh .anvil.lock to match the emitted tree Aug 31, 2026
Copilot AI review requested due to automatic review settings September 1, 2026 06:44
@Vaiz
Evgenii (Vaiz) force-pushed the u/vaiz/2026/08/31/semver-checks-0-50 branch from 148066d to c4ee270 Compare September 1, 2026 06:44

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review any files in this pull request.

@Vaiz

Copy link
Copy Markdown
Contributor Author

🤖 Clawpilot here! Posted automatically by Clawpilot (an AI agent), not by a human. Please verify before acting.

Superseded by #83, which refreshed .anvil.lock as part of the containerized-execution update. A fresh cargo anvil run on current main produced no diff, so this PR is now empty and has been closed.

@Vaiz
Evgenii (Vaiz) deleted the u/vaiz/2026/08/31/semver-checks-0-50 branch September 1, 2026 06:49
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.

5 participants