Skip to content

cross-crate: unused deps/features (5 passes) - #1922

Merged
ScriptedAlchemy merged 5 commits into
masterfrom
cursor/unused-deps-features-6cb9
Sep 21, 2026
Merged

ScriptedAlchemy merged 5 commits into
masterfrom
cursor/unused-deps-features-6cb9

Conversation

@ScriptedAlchemy

Copy link
Copy Markdown
Owner

Summary

  • Five deletion-only passes that remove unused Cargo dependency edges and one inert dependency feature.
  • Production behavior is unchanged: every removed edge had no Rust path, duplicated an unconditional normal dependency, or was only compiled for tests.
  • simplify is now a commitlint type so the pass commits type-check.

Motivation

Wave lens A: unused Cargo.toml dependency edges and dead feature flags. Open simplify PRs #1892–#1910 already own several manifests (notably #1898: tracedecay-agent-hosts, tracedecay-application, tracedecay-automation-runtime, tracedecay-graph-query, tracedecay-private-fs). Those files were left alone, including tracedecay-application's criterion html_reports flag.

Changes

Pass 1 — no Rust path in the owning crate:

  • tracedecay: thiserror, dirs, notify, ignore
  • tracedecay-maintenance: target libc
  • tracedecay-mcp: schemars

Pass 2 — dev-dependencies that repeat an unconditional normal dependency:

  • tracedecay: dev sha2
  • tracedecay-cli: dev ureq
  • tracedecay-hotpath-guard: dev hotpath

Pass 3 — same duplicate-dev pattern:

  • tracedecay-code-index-runtime: dev tempfile
  • tracedecay-maintenance: dev tempfile
  • tracedecay-store-runtime: dev tracedecay-graph-db

Pass 4 — fixture-only production edges:

  • tracedecay: glob, toml, and target libc moved to dev-dependencies; normal hex removed (dev hex remains)
  • tracedecay-project: tracedecay-temporal-query is optional and enabled by test-helpers

Pass 5 — inert feature flag and a test-helpers-only edge:

  • tracedecay, tracedecay-graph-db, tracedecay-global-db, tracedecay-code-index: drop criterion html_reports (locked criterion 0.5.1 defines that feature as empty, and no source references it)
  • tracedecay: tracedecay-temporal-query is optional behind test-helpers (the session-temporal bench fixture is compiled into the lib under that feature; the dev-dependency keeps test-helpers on the query crate for this package's own tests)

Edges that look unused but are not were kept: tracedecay-code-extraction and tracedecay-lcm are named by the root hotpath feature, and CLI dev-deps tracedecay-lcm / tracedecay-session-temporal-store are used through #[path] fixtures outside the crate.

Test plan

  • cargo check --locked of the touched libraries, including tracedecay and tracedecay-cli
  • cargo test --locked --offline --no-run --features test-helpers -p tracedecay --bench session_temporal --example bench_extract
  • cargo test --locked --offline --no-run -p tracedecay-maintenance --lib
  • cargo test --locked --offline --no-run --features test-helpers -p tracedecay-project --lib
  • Full cargo nextest run --workspace and cargo clippy were not run

Checklist

  • CHANGELOG.md updated — not a user-facing release change
  • No secrets, credentials, or .env files included
  • No breaking change to production feature graphs (production, language tiers, and hotpath backends are untouched)
Open in Web Open in Cursor 

cursoragent and others added 5 commits September 20, 2026 19:41
Remove Cargo edges with no rust path in the owning crate:
tracedecay thiserror, dirs, notify, and ignore; maintenance's
target libc; and mcp schemars.

Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
The normal dependency already supplies the same crate and features
to tests: tracedecay sha2, tracedecay-cli ureq, and hotpath-guard
hotpath.

Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Normal edges already provide the same crate: code-index-runtime
and maintenance tempfile, and store-runtime graph-db.

Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
tracedecay glob, toml, hex, and libc are test links, so they move
to dev-dependencies. Project temporal-query is optional behind
test-helpers, which is the only compiler of that fixture.

Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
criterion 0.5.1's html_reports feature is empty and unreferenced.
tracedecay's temporal-query path is test-helpers only, so the
edge is optional behind that feature.

Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
@changeset-bot

changeset-bot Bot commented Sep 20, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: be16e84

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@ScriptedAlchemy
ScriptedAlchemy merged commit a411ca8 into master Sep 21, 2026
26 checks passed
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