Skip to content

Stop committing Cargo.lock - #8

Merged
AdaWorldAPI merged 6 commits into
mainfrom
claude/atlas-spatial-hydration-fp4dyc
Sep 4, 2026
Merged

Stop committing Cargo.lock#8
AdaWorldAPI merged 6 commits into
mainfrom
claude/atlas-spatial-hydration-fp4dyc

Conversation

@AdaWorldAPI

Copy link
Copy Markdown
Owner

Removes Cargo.lock and tools/asset-mirror/Cargo.lock from the repo and ignores both, because the committed lock was pinning the ndarray fork to a stale revision and silently overriding the branch pin in [patch.crates-io].

Measured: the lock held ndarray at e55af0e3 (PR sonos#297) while origin/master was at f43338fb (PR sonos#299), so every build resolved a dependency two merges behind the branch it claims to track — including builds intended to exercise the sonos#299 AVX-512 test-blind-spot fix. After removal, cargo metadata resolves git+https://github.com/AdaWorldAPI/ndarray?branch=master#f43338fb53bdbffec68c3a95adebdbbe7c9d4178.

Verified cargo metadata completes with no lock present in this workspace. One consequence worth naming: without a lock, a semver-compatible bump in a transitive dependency can change a build with no commit here — if bit-reproducible releases of the tract CLI matter later, the fix is --locked in CI against a lock generated at build time, not re-committing one.

🍍

🤖 Generated with Claude Code

https://claude.ai/code/session_01QDLGAoWFEqDqUiHJGgNvuu


Generated by Claude Code

The workspace consumes the AdaWorldAPI/ndarray fork by git branch, and the committed lock pinned it to e55af0e3 (PR sonos#297) while the branch head was f43338fb (PR sonos#299), so every build silently used a two-merge-old dependency that predated the AVX-512 test-blind-spot fix. Removing the lock and ignoring it makes the branch pin mean what it says; verified by re-resolving, which now reports f43338fb.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QDLGAoWFEqDqUiHJGgNvuu
@cursor

cursor Bot commented Sep 4, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_f422e943-8760-4a06-a46c-9955b91e8d8c)

Cargo.lock pinned the ndarray fork at e55af0e3 while the branch it names had advanced to f43338fb, so every build silently used a two-merge-old dependency. A `branch = "..."` dependency is a moving target but the lock records one revision, and nothing compared the two. Updates the pin and adds a CI check that fails with the exact `cargo update` needed when a lock's git-branch revision falls behind its branch head.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QDLGAoWFEqDqUiHJGgNvuu

Copy link
Copy Markdown
Owner Author

report (bench workflow) is failing, and it is not this PR's failure.

The job's third actions/checkout step targets ref: bench-data (.github/workflows/bench.yml:472-475). That branch does not exist in this fork — the remote has 8 branches, none of them bench-data. The step therefore fails deterministically on every commit, independent of any diff; this PR changes a Cargo.lock revision and adds a CI script, neither of which can affect a checkout of a nonexistent branch.

bench-data is upstream's benchmark-history branch, part of the inherited bench.yml fleet (jetson-orin-nx, apple-m1-max, i9-11900kb_rtx-4060, cortex-a53, …) that has no self-hosted runners here. report runs under always(), so it executes and fails even though every bench leg it depends on is still queued.

No fix exists to port: making it green needs either a bench-data branch plus the runner fleet, or removing the inherited bench workflow from this fork. Both are repository-level decisions outside this PR's scope, so I am not widening it to cover them. Not re-running the job — the failure is structural, not flaky.

The rest of CI is green on this PR: 30+ checks passing including fmt, clippy, etc, cargo-deny, every tract-* crate test, and all cross-build targets.


Generated by Claude Code

Restores the lock removal. It was reverted on the strength of a non-answer to a question about how to handle the release workflow's --locked build; the instruction to remove the lock stood and should not have been reversed. Drops the lock-freshness CI check with it, since it has nothing to check without a lock.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QDLGAoWFEqDqUiHJGgNvuu
The flag requires a committed Cargo.lock, which this repo does not carry, so a tagged release would fail before building. cargo-auditable still embeds the resolved dependency graph, so the SBOM is unaffected. The --locked on the cargo-auditable install above is unrelated: it pins that tool's own lockfile from the registry.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QDLGAoWFEqDqUiHJGgNvuu
@AdaWorldAPI
AdaWorldAPI marked this pull request as ready for review September 4, 2026 18:20
@AdaWorldAPI
AdaWorldAPI merged commit 3e2af01 into main Sep 4, 2026
21 of 23 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 13250194d2

ℹ️ 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".

Comment thread .gitignore
# AdaWorldAPI/ndarray fork by git branch, and a committed lock pins a stale
# revision of it (measured: the lock held ndarray e55af0e3 while the branch
# was at f43338fb, so builds silently used a two-merge-old dependency).
Cargo.lock

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Keep the moving git dependency from becoming silently pinned

On any persistent developer checkout, the first Cargo command recreates this ignored Cargo.lock, and subsequent builds continue honoring the git revision recorded there rather than refreshing the master branch. This therefore fixes the stale ndarray revision only once and then recreates the same stale-branch problem invisibly—git status will not expose it—so experiments intended to exercise later fork changes can silently run older code unless the developer explicitly deletes the lock or runs cargo update.

Useful? React with 👍 / 👎.

Comment thread .gitignore
Comment on lines +26 to +27
# revision of it (measured: the lock held ndarray e55af0e3 while the branch
# was at f43338fb, so builds silently used a two-merge-old dependency).

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Remove historical state from the ignore comment

The recorded commit IDs and “two-merge-old” measurement describe a one-time repository state rather than the current contract; as soon as the branch advances, this explanation becomes stale while remaining in the configuration. State the durable reason for the ignore rule without narrating the prior lock contents.

AGENTS.md reference: AGENTS.md:L272-L272

Useful? React with 👍 / 👎.

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.

2 participants