Repository navigation
Conversation
pysof is a member of the root workspace, so cargo and maturin resolve against the root Cargo.lock; the member lockfile was never read and only produced scanner noise. maturin sdist depended on the member lockfile: without it, the `include = ["Cargo.toml", ...]` entry collides with the workspace-root Cargo.toml that maturin adds, and the sdist build fails. Drop that redundant entry (maturin always ships Cargo.toml). Verified with maturin 1.10.1 (the uv.lock version): the sdist now builds and contains the root Cargo.lock as pysof-<ver>/Cargo.lock. The sdist was only built by the tag-only `build` job, so such a break would first surface in a release. Add a packaging-only step to the test-python job that builds the sdist and asserts it ships Cargo.lock. Closes #2192 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
eterceros
force-pushed
the
feat/2192-chore-remove-stale-unused
branch
from
October 21, 2026 02:49
ac25d16 to
25594a6
Compare
eterceros
marked this pull request as ready for review
October 21, 2026 02:50
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
smunini
requested changes
Oct 21, 2026
This branch has not been deployed
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.
At a glance: before vs. after
flowchart LR subgraph BEFORE["❌ Before"] direction TB b1["crates/pysof/Cargo.lock tracked<br/>pins pyo3 0.24.2"] --> b2["cargo and maturin resolve pysof<br/>against the root Cargo.lock<br/>so the member lock is never read"] b2 --> b3["Scanners flag about 34 advisories<br/>in a file no build uses"] end subgraph AFTER["✅ After"] direction TB a1["Member lockfile deleted"] --> a2["Root Cargo.lock is the only Rust lock<br/>pyo3 0.29.0, as pysof/Cargo.toml requires"] a2 --> a3["maturin sdist ships the root Cargo.lock<br/>and no stale file is left to scan"] endCargo.lockat the root and incrates/pysof)Cargo.lock)pyo3version in the member lockpyo3 >= 0.29crates/pysof/Cargo.lock[tool.maturin] includeentriesCargo.tomlCargo.tomldropped, see Fix)Problem
pysofis a member of the root workspace (members = ["crates/*"]), so cargo and maturin resolve its dependencies against the rootCargo.lock.crates/pysof/Cargo.lockwas never read by any build. It had gone stale: it pinspyo30.24.2, whilecrates/pysof/Cargo.tomlrequirespyo3 >= 0.29and the root lock has 0.29.0. It still showed up in Dependabot, OSV and GitHub security alerts. The CISecurity Auditjob audits only the root lock, so CI never saw it.Deleting the file also exposed a latent problem in
crates/pysof/pyproject.toml. The[tool.maturin]section listedCargo.tomlininclude. Without the member lockfile, that entry collides with the workspace-rootCargo.tomlthat maturin adds to the sdist, andmaturin build --sdistfails. The CI wheel job (ci.yml, "Build pysof wheel (Linux with sdist)") runs exactly that command.Fix
crates/pysof/Cargo.lock. Regenerating it would not help, because inside a workspace cargo does not create a member lockfile. This leaves the rootCargo.lockas the single source of truth for Rust dependencies.crates/pysof/pyproject.toml, changeincludefrom["Cargo.toml", "pyproject.toml", "src/**/*", "README.md"]to["pyproject.toml", "src/**/*", "README.md"]. maturin always shipsCargo.tomlin the sdist, so the entry was redundant, and removing it removes the collision.crates/pysof/uv.lock(the Python lockfile) is untouched, as the issue asks.Tests
target/and.git, forCargo.lockreferences. No script, workflow or doc points atcrates/pysof/Cargo.lock. The remaining hits are the root lockfile and unrelated prose.crates/pysof/uv.lock. The sdist builds and contains the root lockfile aspysof-<ver>/Cargo.lock.uv run maturin build --release --sdist -o dist -i python3.10 … -i python3.14, andmaturin develop. Those run in CI on this PR.Closes #2192
PR auto-generated by claude-agent; fix implemented with Claude Code and validated with the Playwright e2e suite.