Skip to content

ci(pacquet): pass --workspace --all-targets to clippy and check#11735

Merged
KSXGitHub merged 12 commits into
mainfrom
claude/fix-clippy-workspace-linting-kV2Zb
May 19, 2026
Merged

ci(pacquet): pass --workspace --all-targets to clippy and check#11735
KSXGitHub merged 12 commits into
mainfrom
claude/fix-clippy-workspace-linting-kV2Zb

Conversation

@KSXGitHub

@KSXGitHub KSXGitHub commented May 19, 2026

Copy link
Copy Markdown
Contributor

Summary

cargo clippy --locked -- -D warnings was missing --all-targets, so test, example, and bench targets across the workspace were silently skipped. Virtual-workspace defaults already covered every member package, but the target gap had let nine clippy warnings drift in undetected across pacquet-package-manager, pacquet-config, and pacquet-package-is-installable.

This PR:

  • Adds --workspace --all-targets to the Clippy step in .github/workflows/pacquet-ci.yml.
  • Adds --workspace --all-targets to the lint and check recipes in justfile, plus the references to them in pacquet/CONTRIBUTING.md and pacquet/AGENTS.md.
  • Fixes the nine surfaced warnings (struct-default tightening, two type_complexity aliases, three contains_key rewrites in place of get(...).is_none(), and three doc_lazy_continuation doc-comment fixes).

The dylint job already used --all-targets --workspace; this brings clippy and check in line. cargo nextest run, cargo doc --workspace, cargo fmt --all, and cargo deny check already cover the full workspace and need no change.

Test plan

  • cargo clippy --locked --workspace --all-targets -- -D warnings is clean.
  • cargo check --locked --workspace --all-targets is clean.
  • cargo fmt --all -- --check is clean.
  • Tests touched by the warning fixes (hoist::tests, failing_postinstall_*, resolve_child_concurrency_*, package_is_installable::*) all pass.

Written by an agent (Claude Code, claude-opus-4-7).

Summary by CodeRabbit

  • Documentation

    • Updated contributor and project docs to describe checks and linting that run across the entire workspace and all targets.
  • Chores

    • CI and local task commands updated so checks and linting run for the full workspace and all targets.
  • Refactor

    • Simplified internal test helper types and signatures for readability.
  • Tests

    • Minor test tweaks and doc-comment clarifications to improve determinism.

Review Change Stack

claude added 2 commits May 19, 2026 01:13
`cargo clippy --locked` and `cargo check --locked` were silently
skipping every test, example, and bench target in the workspace
because neither command was given `--all-targets`. A virtual
workspace defaults to all member packages, so the package set was
fine; the target set was not. Nine clippy warnings in three
crates' test code (`pacquet-package-manager`,
`pacquet-config`, `pacquet-package-is-installable`) had drifted
in undetected. The dylint job already used
`--all-targets --workspace`; this brings the clippy and check
commands in line.

Fix the nine warnings (struct-default tightening, type-complexity
aliases, `contains_key` over `get(...).is_none()`, doc lazy
continuation), then add `--workspace --all-targets` to
`pacquet-ci.yml`'s Clippy step, to the `lint` and `check` recipes
in `justfile`, and to the documentation in `CONTRIBUTING.md` and
`AGENTS.md` that quotes those recipes.

`cargo nextest run`, `cargo doc --workspace`, `cargo fmt --all`,
`cargo dylint --all -- --all-targets --workspace`, and
`cargo deny check` already cover the full workspace, so they
need no change.
@coderabbitai

coderabbitai Bot commented May 19, 2026

Copy link
Copy Markdown

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Expands CI and local Rust checks to run across the workspace and all targets; refactors several test helpers with named type aliases and assertion simplifications; applies small docstring and test-callsite adjustments.

Changes

CI and build task expansion

Layer / File(s) Summary
Workspace-wide check and lint expansion
.github/workflows/pacquet-ci.yml, justfile, pacquet/AGENTS.md, pacquet/CONTRIBUTING.md
CI workflow and local just check/just lint tasks now run with --workspace --all-targets alongside --locked and Clippy warning denial; documentation updated to match.

Test helper readability

Layer / File(s) Summary
Test helper type aliases and assertion cleanup
pacquet/crates/package-manager/src/hoist/tests.rs, pacquet/crates/package-manager/src/link_hoisted_modules/tests.rs, pacquet/crates/package-manager/src/build_modules/tests.rs
Introduce LockfileDataDep/LockfileDataRow, CasFile, and FlatLayoutEntry type aliases; update helper signatures to use these; simplify assertions to !contains_key(...); use ..Default::default() struct-literal in one test.

Docstring and small test tweaks

Layer / File(s) Summary
Docstring reflow and test call-site tweaks
pacquet/crates/config/src/defaults/tests.rs, pacquet/crates/package-is-installable/src/tests.rs, pacquet/crates/package-manifest/src/tests.rs
Reflowed and reworded module/doc comments; adjusted two Windows tests to pass home_dir/current_dir by value instead of by reference; gated an import with #[cfg(unix)].

Sequence Diagram

sequenceDiagram
  participant Justfile as justfile
  participant Docs as AGENTS/CONTRIBUTING.md
  participant Workflow as .github/workflows/pacquet-ci.yml
  participant Clippy as cargo clippy

  Justfile->>Clippy: just lint -> cargo clippy --locked --workspace --all-targets -- --deny warnings
  Justfile->>Justfile: just check -> cargo check --locked --workspace --all-targets
  Workflow->>Clippy: run cargo clippy --locked --workspace --all-targets -- -D warnings
  Docs->>Justfile: document updated commands for maintainers
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • pnpm/pnpm#11718: Related to refactors around default_store_dir tests and injected home/current-dir handling.
  • pnpm/pnpm#11710: Overlaps with package-manifest test import changes for Unix-only helpers.

Suggested reviewers

  • zkochan

Poem

"🐰 I hopped through CI with a cheerful bound,
Lint now spans every crate and ground,
Tuples tidied, docstrings made neat,
Tests pass along with a carrot sweet,
Hooray — builds and bunnies both are sound!"

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly and clearly summarizes the main change: adding --workspace --all-targets flags to clippy and check commands across CI and local tooling.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/fix-clippy-workspace-linting-kV2Zb

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@KSXGitHub KSXGitHub marked this pull request as ready for review May 19, 2026 01:21
@KSXGitHub KSXGitHub requested a review from zkochan as a code owner May 19, 2026 01:21
Copilot AI review requested due to automatic review settings May 19, 2026 01:21
@KSXGitHub KSXGitHub enabled auto-merge (squash) May 19, 2026 01:22

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR tightens Pacquet’s Rust CI and local developer workflows so Clippy/check run across the full Cargo workspace and all targets, preventing warnings in tests/examples/benches from being silently skipped.

Changes:

  • Update Pacquet CI Clippy step to run with --workspace --all-targets.
  • Update just check / just lint recipes and corresponding contributor docs to match the full-target invocation.
  • Fix the newly-surfaced Clippy warnings in affected Pacquet crates/tests (type complexity, map lookups, struct update syntax, doc comment formatting).

Reviewed changes

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

Show a summary per file
File Description
.github/workflows/pacquet-ci.yml Runs cargo clippy with --workspace --all-targets so all targets are linted in CI.
justfile Aligns check and lint recipes with workspace-wide, all-target Rust validation.
pacquet/CONTRIBUTING.md Updates contributor guidance to reflect the new just check / just lint behavior.
pacquet/AGENTS.md Updates documented just commands to match the workspace/all-target flags.
pacquet/crates/package-manager/src/link_hoisted_modules/tests.rs Introduces type aliases to reduce type complexity in test helpers.
pacquet/crates/package-manager/src/hoist/tests.rs Adds type aliases and replaces get(...).is_none() with !contains_key(...) in assertions.
pacquet/crates/package-manager/src/build_modules/tests.rs Uses struct update syntax to satisfy clippy while keeping test intent intact.
pacquet/crates/package-is-installable/src/tests.rs Adjusts crate-level doc comments to satisfy doc_lazy_continuation.
pacquet/crates/config/src/defaults/tests.rs Tweaks doc comment formatting to satisfy clippy/doc lint expectations.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions

github-actions Bot commented May 19, 2026

Copy link
Copy Markdown
Contributor

Micro-Benchmark Results

Linux

group                          main                                   pr
-----                          ----                                   --
tarball/download_dependency    1.01      7.3±0.21ms   590.2 KB/sec    1.00      7.3±0.22ms   593.9 KB/sec

@codecov-commenter

codecov-commenter commented May 19, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.85%. Comparing base (c83b002) to head (1a9c8e0).

Additional details and impacted files
@@           Coverage Diff           @@
##             main   #11735   +/-   ##
=======================================
  Coverage   89.85%   89.85%           
=======================================
  Files         145      145           
  Lines       16424    16424           
=======================================
+ Hits        14757    14758    +1     
+ Misses       1667     1666    -1     

☔ View full report in Codecov by Sentry.
📢 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.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

claude added 2 commits May 19, 2026 01:28
The Windows clippy job started failing once `--all-targets` began
linting test code: `default_store_dir_windows` takes `&Path` and
the local bindings were already `&Path` (returned by `Path::new`),
so passing `&home_dir` and `&current_dir` was a needless double
borrow.
Diagnostic only: the windows-latest clippy run is failing with no
visible annotation. Pipe stdout/stderr to GITHUB_STEP_SUMMARY so the
failing diagnostics are readable from the workflow run page. Will
revert once the windows-only lint is identified and fixed.
Copilot AI review requested due to automatic review settings May 19, 2026 01:41

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated no new comments.

Diagnostic only: the step summary doesn't render through unauthenticated
HTTP fetches of the run page, so the bot-readable PR comment is the
fallback that surfaces the actual clippy output. Will revert once the
windows-only lint is identified and fixed.
@github-actions

Copy link
Copy Markdown
Contributor

Clippy log on windows-latest

    Updating crates.io index
    Checking windows-sys v0.61.2
    Checking yansi v1.0.1
    Checking diff v0.1.13
    Checking dashmap v6.1.0
    Checking pacquet-reporter v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\reporter)
    Checking pretty_assertions v1.4.1
    Checking similar v2.7.0
    Checking encode_unicode v1.0.0
    Checking pacquet-graph-hasher v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\graph-hasher)
    Checking terminal_size v0.4.4
    Checking socket2 v0.6.3
    Checking mio v1.2.0
    Checking tempfile v3.27.0
    Checking miette v7.6.0
    Checking nu-ansi-term v0.50.3
    Checking ipconfig v0.3.4
    Checking tokio v1.52.3
    Checking tracing-subscriber v0.3.23
    Checking rustls-platform-verifier v0.7.0
    Checking winapi-util v0.1.11
    Checking junction v2.0.0
    Checking same-file v1.0.6
    Checking anstyle-query v1.1.5
    Checking walkdir v2.5.0
    Checking anstyle-wincon v3.0.11
    Checking anstream v1.0.0
    Checking node-semver v2.2.0
    Checking clap_builder v4.6.0
    Checking pacquet-package-manifest v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\package-manifest)
    Checking pacquet-diagnostics v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\diagnostics)
    Checking pacquet-fs v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\fs)
    Checking pacquet-lockfile v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\lockfile)
    Checking pacquet-executor v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\executor)
    Checking pacquet-package-is-installable v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\package-is-installable)
    Checking ignore v0.4.25
    Checking pacquet-resolving-resolver-base v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\resolving-resolver-base)
    Checking pacquet-patching v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\patching)
    Checking home v0.5.12
    Checking clap v4.6.1
    Checking pacquet-modules-yaml v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\modules-yaml)
    Checking wax v0.7.0
    Checking console v0.16.3
    Checking pacquet-real-hoist v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\real-hoist)
    Checking insta v1.47.2
    Checking pacquet-workspace-state v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\workspace-state)
    Checking pacquet-cmd-shim v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\cmd-shim)
    Checking tokio-util v0.7.18
    Checking hickory-proto v0.25.2
    Checking tokio-rustls v0.26.4
    Checking tower v0.5.3
    Checking h2 v0.4.13
    Checking pacquet-store-dir v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\store-dir)
    Checking tower-http v0.6.8
    Checking pacquet-workspace v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\workspace)
    Checking pacquet-git-fetcher v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\git-fetcher)
    Checking pacquet-lockfile-verification v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\lockfile-verification)
    Checking pacquet-directory-fetcher v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\directory-fetcher)
    Checking colored v3.1.1
    Checking criterion v0.8.2
    Checking hickory-resolver v0.25.2
    Checking hyper v1.9.0
error: unused import: `safe_read_package_json_from_dir`
  --> pacquet\crates\package-manifest\src\tests.rs:10:46
   |
10 |     convert_engines_runtime_to_dependencies, safe_read_package_json_from_dir,
   |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: `-D unused-imports` implied by `-D warnings`
   = help: to override `-D warnings` add `#[allow(unused_imports)]`

error: could not compile `pacquet-package-manifest` (lib test) due to 1 previous error
warning: build failed, waiting for other jobs to finish...

`safe_read_package_json_from_dir` is used only by
`safe_read_surfaces_non_not_found_io_errors`, a `#[cfg(unix)]`-only
test. The unconditional import tripped `-D unused-imports` on
windows-latest once `--all-targets` started linting test code.
Gate the import with `#[cfg(unix)]` so it lands only when the
consumer is compiled.

Also revert the workflow diagnostic that mirrored clippy output to a
step summary and to a PR comment — the lint is identified and fixed,
so the pacquet-ci.yml Clippy step returns to its single-line form.
Copilot AI review requested due to automatic review settings May 19, 2026 01:49

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated no new comments.

The earlier fix landed the unix-only gate on `safe_read_package_json_from_dir`
but windows-latest still fails. Re-enable the PR-comment diagnostic on
the Clippy step so the actual lint output is readable without sign-in.
Will revert once the residual lint is fixed.
@github-actions

Copy link
Copy Markdown
Contributor

Clippy log on windows-latest

    Updating crates.io index
    Checking windows-sys v0.61.2
    Checking yansi v1.0.1
    Checking diff v0.1.13
    Checking dashmap v6.1.0
    Checking pacquet-reporter v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\reporter)
    Checking pretty_assertions v1.4.1
    Checking similar v2.7.0
    Checking encode_unicode v1.0.0
    Checking pacquet-graph-hasher v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\graph-hasher)
    Checking terminal_size v0.4.4
    Checking socket2 v0.6.3
    Checking mio v1.2.0
    Checking nu-ansi-term v0.50.3
    Checking miette v7.6.0
    Checking tempfile v3.27.0
    Checking ipconfig v0.3.4
    Checking tokio v1.52.3
    Checking tracing-subscriber v0.3.23
    Checking rustls-platform-verifier v0.7.0
    Checking winapi-util v0.1.11
    Checking junction v2.0.0
    Checking same-file v1.0.6
    Checking anstyle-wincon v3.0.11
    Checking walkdir v2.5.0
    Checking anstyle-query v1.1.5
    Checking anstream v1.0.0
    Checking node-semver v2.2.0
    Checking clap_builder v4.6.0
    Checking pacquet-package-manifest v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\package-manifest)
    Checking pacquet-diagnostics v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\diagnostics)
    Checking pacquet-fs v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\fs)
    Checking pacquet-lockfile v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\lockfile)
    Checking pacquet-executor v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\executor)
    Checking pacquet-package-is-installable v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\package-is-installable)
    Checking ignore v0.4.25
    Checking pacquet-resolving-resolver-base v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\resolving-resolver-base)
    Checking pacquet-patching v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\patching)
    Checking home v0.5.12
    Checking clap v4.6.1
    Checking pacquet-modules-yaml v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\modules-yaml)
    Checking wax v0.7.0
    Checking console v0.16.3
    Checking pacquet-real-hoist v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\real-hoist)
    Checking insta v1.47.2
    Checking pacquet-workspace-state v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\workspace-state)
    Checking tokio-util v0.7.18
    Checking tower v0.5.3
    Checking tokio-rustls v0.26.4
    Checking hickory-proto v0.25.2
    Checking tower-http v0.6.8
    Checking h2 v0.4.13
    Checking pacquet-store-dir v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\store-dir)
    Checking pacquet-workspace v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\workspace)
    Checking pacquet-lockfile-verification v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\lockfile-verification)
    Checking pacquet-git-fetcher v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\git-fetcher)
    Checking pacquet-cmd-shim v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\cmd-shim)
    Checking colored v3.1.1
    Checking pacquet-directory-fetcher v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\directory-fetcher)
    Checking criterion v0.8.2
    Checking hickory-resolver v0.25.2
    Checking hyper v1.9.0
    Checking hyper-util v0.1.20
error: unused imports: `LifecycleStdio` and `LogLevel`
 --> pacquet\crates\executor\src\lifecycle\tests.rs:5:23
  |
5 |     LifecycleMessage, LifecycleStdio, LogEvent, LogLevel, Reporter, SilentReporter,
  |                       ^^^^^^^^^^^^^^            ^^^^^^^^
  |
  = note: `-D unused-imports` implied by `-D warnings`
  = help: to override `-D warnings` add `#[allow(unused_imports)]`

error: unused import: `pretty_assertions::assert_eq`
 --> pacquet\crates\executor\src\lifecycle\tests.rs:7:5
  |
7 | use pretty_assertions::assert_eq;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: could not compile `pacquet-executor` (lib test) due to 2 previous errors
warning: build failed, waiting for other jobs to finish...

`LifecycleStdio` and `LogLevel` from `pacquet_reporter`, and
`pretty_assertions::assert_eq`, are only used by the
`#[cfg(unix)]`-gated lifecycle tests (`lifecycle_emits_script_stdio_and_exit_in_order`).
On Windows the unconditional imports tripped `-D unused-imports`
once `--all-targets` started linting test code. Split them into
`#[cfg(unix)]` imports so they land only when their consumers
compile.
Copilot AI review requested due to automatic review settings May 19, 2026 02:01
@github-actions

Copy link
Copy Markdown
Contributor

Clippy log on windows-latest

    Updating crates.io index
    Checking windows-sys v0.61.2
    Checking diff v0.1.13
    Checking yansi v1.0.1
    Checking dashmap v6.1.0
    Checking pacquet-reporter v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\reporter)
    Checking pretty_assertions v1.4.1
    Checking similar v2.7.0
    Checking encode_unicode v1.0.0
    Checking pacquet-graph-hasher v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\graph-hasher)
    Checking terminal_size v0.4.4
    Checking socket2 v0.6.3
    Checking mio v1.2.0
    Checking nu-ansi-term v0.50.3
    Checking miette v7.6.0
    Checking tempfile v3.27.0
    Checking ipconfig v0.3.4
    Checking tokio v1.52.3
    Checking tracing-subscriber v0.3.23
    Checking rustls-platform-verifier v0.7.0
    Checking winapi-util v0.1.11
    Checking junction v2.0.0
    Checking same-file v1.0.6
    Checking anstyle-wincon v3.0.11
    Checking walkdir v2.5.0
    Checking anstyle-query v1.1.5
    Checking anstream v1.0.0
    Checking node-semver v2.2.0
    Checking clap_builder v4.6.0
    Checking pacquet-diagnostics v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\diagnostics)
    Checking pacquet-package-manifest v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\package-manifest)
    Checking pacquet-fs v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\fs)
    Checking pacquet-lockfile v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\lockfile)
    Checking pacquet-executor v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\executor)
    Checking pacquet-package-is-installable v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\package-is-installable)
    Checking ignore v0.4.25
    Checking pacquet-resolving-resolver-base v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\resolving-resolver-base)
    Checking clap v4.6.1
    Checking pacquet-patching v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\patching)
    Checking home v0.5.12
    Checking pacquet-modules-yaml v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\modules-yaml)
    Checking wax v0.7.0
    Checking console v0.16.3
    Checking pacquet-real-hoist v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\real-hoist)
    Checking insta v1.47.2
    Checking pacquet-workspace-state v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\workspace-state)
    Checking tokio-util v0.7.18
    Checking hickory-proto v0.25.2
    Checking h2 v0.4.13
    Checking tower v0.5.3
    Checking tokio-rustls v0.26.4
    Checking pacquet-store-dir v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\store-dir)
    Checking tower-http v0.6.8
    Checking pacquet-workspace v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\workspace)
    Checking pacquet-lockfile-verification v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\lockfile-verification)
    Checking pacquet-git-fetcher v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\git-fetcher)
    Checking pacquet-cmd-shim v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\cmd-shim)
    Checking hickory-resolver v0.25.2
    Checking pacquet-directory-fetcher v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\directory-fetcher)
    Checking colored v3.1.1
    Checking criterion v0.8.2
    Checking hyper v1.9.0
    Checking hyper-util v0.1.20
    Checking hyper-rustls v0.27.9
    Checking mockito v1.7.2
    Checking reqwest v0.13.3
error: unused import: `metadata`
  --> pacquet\crates\cmd-shim\src\link_bins\tests.rs:11:26
   |
11 |     fs::{create_dir_all, metadata, read as read_file, read_to_string, write as write_file},
   |                          ^^^^^^^^
   |
   = note: `-D unused-imports` implied by `-D warnings`
   = help: to override `-D warnings` add `#[allow(unused_imports)]`

error: unused import: `symlink_dir`
  --> pacquet\crates\fs\src\symlink_dir\tests.rs:12:71
   |
12 | use super::{ForceSymlinkOutcome, force_symlink_dir, read_symlink_dir, symlink_dir};
   |                                                                       ^^^^^^^^^^^
   |
   = note: `-D unused-imports` implied by `-D warnings`
   = help: to override `-D warnings` add `#[allow(unused_imports)]`

error: unused import: `path::PathBuf`
  --> pacquet\crates\fs\src\symlink_dir\tests.rs:15:15
   |
15 | use std::{fs, path::PathBuf};
   |               ^^^^^^^^^^^^^

error: could not compile `pacquet-fs` (lib test) due to 2 previous errors
warning: build failed, waiting for other jobs to finish...
error: could not compile `pacquet-cmd-shim` (lib test) due to 1 previous error

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 11 out of 11 changed files in this pull request and generated 3 comments.

Comment thread .github/workflows/pacquet-ci.yml Outdated
name: Lint and Test
permissions:
contents: read
pull-requests: write

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Agreed on all three points. The Post Clippy log on failure step, the pull-requests: write permission, and the unmodified PR description are all temporary scaffolding — only there to surface the Windows-only clippy errors that --all-targets exposed, because the actual lint diagnostics aren't reachable on the runs page without GitHub auth. The diagnostic will be reverted in the same PR as soon as the windows-latest job is green. Once it's reverted, the workflow goes back to its single-line Clippy step with no extra permissions, and the PR description matches the diff.


Written by an agent (Claude Code, claude-opus-4-7).


Generated by Claude Code

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Comment thread .github/workflows/pacquet-ci.yml Outdated
Comment on lines +88 to +100
- name: Clippy
run: cargo clippy --locked -- -D warnings
id: clippy
shell: bash
run: |
set +e
cargo clippy --locked --workspace --all-targets -- -D warnings >clippy.log 2>&1
status=$?
cat clippy.log
exit "$status"

- name: Post Clippy log on failure
if: failure() && steps.clippy.outcome == 'failure' && github.event_name == 'pull_request'
shell: bash

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Same context as the permissions thread — this comment-posting step is temporary diagnostic scaffolding to surface the Windows clippy errors, and will be reverted in this same PR once the windows-latest job is green. Once reverted, the PR description matches the diff again (just --workspace --all-targets plus the test-import fixes it surfaced).


Written by an agent (Claude Code, claude-opus-4-7).


Generated by Claude Code

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Comment thread .github/workflows/pacquet-ci.yml Outdated
Comment on lines +98 to +116
- name: Post Clippy log on failure
if: failure() && steps.clippy.outcome == 'failure' && github.event_name == 'pull_request'
shell: bash
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR: ${{ github.event.pull_request.number }}
OS: ${{ matrix.os }}
run: |
if [ ! -s clippy.log ]; then
echo "clippy.log empty or missing — skipping comment"
exit 0
fi
{
printf '<!-- clippy-diagnostic:%s -->\n' "$OS"
printf '## Clippy log on %s\n\n```\n' "$OS"
head -c 60000 clippy.log
printf '\n```\n'
} > comment.md
gh pr comment "$PR" --repo "${{ github.repository }}" --body-file comment.md

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Same context as the permissions thread — the comment-posting step is temporary diagnostic scaffolding to surface Windows-only clippy errors and will be reverted in this same PR once windows-latest is green. The "new comment per run" and "no fork PR guard" observations are correct, but since the step is short-lived (a handful of runs) I'd rather keep it minimal and pull it entirely than harden it. If the diagnostic ever becomes a permanent fixture I'll switch it to update-in-place via the marker and add the head.repo.full_name == github.repository guard, with continue-on-error to absorb 403s on fork PRs.


Written by an agent (Claude Code, claude-opus-4-7).


Generated by Claude Code

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Three more imports were unused on Windows once `--all-targets` started
linting test code:

- `pacquet-cmd-shim`: `std::fs::metadata` is only used by the unix-
  permission assertions in `writes_shim_for_bin_string`.
- `pacquet-fs`: `symlink_dir` and `std::path::PathBuf` are only used
  in `unix_symlink_contents_are_relative_to_link_parent` (which is
  `#[cfg(unix)]`).
- `pacquet-package-manager`: `LINK_STATE_COPY` is only used in
  `auto_respects_cached_copy_state` (`#[cfg(unix)]`).

Gate each one with `#[cfg(unix)]` so it compiles only when its
consumer does.
@github-actions

Copy link
Copy Markdown
Contributor

Clippy log on windows-latest

    Updating crates.io index
    Checking windows-sys v0.61.2
    Checking diff v0.1.13
    Checking yansi v1.0.1
    Checking dashmap v6.1.0
    Checking pacquet-reporter v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\reporter)
    Checking pretty_assertions v1.4.1
    Checking similar v2.7.0
    Checking encode_unicode v1.0.0
    Checking pacquet-graph-hasher v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\graph-hasher)
    Checking terminal_size v0.4.4
    Checking socket2 v0.6.3
    Checking mio v1.2.0
    Checking nu-ansi-term v0.50.3
    Checking miette v7.6.0
    Checking tempfile v3.27.0
    Checking ipconfig v0.3.4
    Checking tokio v1.52.3
    Checking tracing-subscriber v0.3.23
    Checking rustls-platform-verifier v0.7.0
    Checking winapi-util v0.1.11
    Checking junction v2.0.0
    Checking same-file v1.0.6
    Checking anstyle-query v1.1.5
    Checking walkdir v2.5.0
    Checking anstyle-wincon v3.0.11
    Checking anstream v1.0.0
    Checking node-semver v2.2.0
    Checking clap_builder v4.6.0
    Checking pacquet-package-manifest v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\package-manifest)
    Checking pacquet-diagnostics v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\diagnostics)
    Checking pacquet-fs v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\fs)
    Checking pacquet-lockfile v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\lockfile)
    Checking pacquet-executor v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\executor)
    Checking pacquet-package-is-installable v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\package-is-installable)
    Checking ignore v0.4.25
    Checking pacquet-resolving-resolver-base v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\resolving-resolver-base)
    Checking pacquet-patching v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\patching)
    Checking clap v4.6.1
    Checking home v0.5.12
    Checking pacquet-modules-yaml v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\modules-yaml)
    Checking wax v0.7.0
    Checking console v0.16.3
    Checking pacquet-real-hoist v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\real-hoist)
    Checking insta v1.47.2
    Checking pacquet-workspace-state v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\workspace-state)
    Checking tokio-util v0.7.18
    Checking tower v0.5.3
    Checking tokio-rustls v0.26.4
    Checking hickory-proto v0.25.2
    Checking h2 v0.4.13
    Checking tower-http v0.6.8
    Checking pacquet-store-dir v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\store-dir)
    Checking pacquet-workspace v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\workspace)
    Checking pacquet-lockfile-verification v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\lockfile-verification)
    Checking pacquet-git-fetcher v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\git-fetcher)
    Checking pacquet-cmd-shim v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\cmd-shim)
    Checking colored v3.1.1
    Checking pacquet-directory-fetcher v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\directory-fetcher)
    Checking criterion v0.8.2
    Checking hickory-resolver v0.25.2
    Checking hyper v1.9.0
    Checking hyper-util v0.1.20
    Checking hyper-rustls v0.27.9
    Checking reqwest v0.13.3
    Checking mockito v1.7.2
    Checking pacquet-registry-mock v0.0.0 (D:\a\pnpm\pnpm\pacquet\tasks\registry-mock)
    Checking pacquet-network v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\network)
    Checking pacquet-registry v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\registry)
    Checking pacquet-config v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\config)
    Checking pacquet-testing-utils v0.0.0 (D:\a\pnpm\pnpm\pacquet\crates\testing-utils)
    Checking pacquet-tarball v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\tarball)
    Checking pacquet-resolving-npm-resolver v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\resolving-npm-resolver)
    Checking pacquet-micro-benchmark v0.0.0 (D:\a\pnpm\pnpm\pacquet\tasks\micro-benchmark)
    Checking pacquet-package-manager v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\package-manager)
error: unused imports: `SkippedOptionalPackage` and `SkippedOptionalReason`
  --> pacquet\crates\package-manager\src\build_modules\tests.rs:10:60
   |
10 |     IgnoredScriptsLog, LogEvent, Reporter, SilentReporter, SkippedOptionalPackage,
   |                                                            ^^^^^^^^^^^^^^^^^^^^^^
11 |     SkippedOptionalReason,
   |     ^^^^^^^^^^^^^^^^^^^^^
   |
   = note: `-D unused-imports` implied by `-D warnings`
   = help: to override `-D warnings` add `#[allow(unused_imports)]`

    Checking pacquet-integrated-benchmark v0.0.0 (D:\a\pnpm\pnpm\pacquet\tasks\integrated-benchmark)
    Checking pacquet-cli v0.0.1 (D:\a\pnpm\pnpm\pacquet\crates\cli)
error: function `create_failing_postinstall_fixture` is never used
   --> pacquet\crates\package-manager\src\build_modules\tests.rs:789:4
    |
789 | fn create_failing_postinstall_fixture(virtual_store_dir: &Path, key: &PackageKey) -> PathBuf {
    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: `-D dead-code` implied by `-D warnings`
    = help: to override `-D warnings` add `#[expect(dead_code)]` or `#[allow(dead_code)]`

error: function `sha512_hex` is never used
    --> pacquet\crates\package-manager\src\build_modules\tests.rs:1304:4
     |
1304 | fn sha512_hex(buf: &[u8]) -> String {
     |    ^^^^^^^^^^

error: unused import: `fs`
 --> pacquet\crates\cli\tests\add.rs:9:23
  |
9 | use std::{ffi::OsStr, fs, path::PathBuf};
  |                       ^^
  |
  = note: `-D unused-imports` implied by `-D warnings`
  = help: to override `-D warnings` add `#[allow(unused_imports)]`

error: unused import: `pipe_trait::Pipe`
  --> pacquet\crates\cli\tests\install.rs:10:5
   |
10 | use pipe_trait::Pipe;
   |     ^^^^^^^^^^^^^^^^
   |
   = note: `-D unused-imports` implied by `-D warnings`
   = help: to override `-D warnings` add `#[allow(unused_imports)]`

error: could not compile `pacquet-cli` (test "add") due to 1 previous error
warning: build failed, waiting for other jobs to finish...
error: could not compile `pacquet-cli` (test "install") due to 1 previous error
error: could not compile `pacquet-package-manager` (lib test) due to 3 previous errors

Five more items were unused on Windows once `--all-targets` started
linting test code:

- `pacquet-package-manager` build_modules tests:
  - `SkippedOptionalPackage` / `SkippedOptionalReason` imports
    (only used in `do_not_fail_on_optional_dep_with_failing_postinstall`,
    which is `#[cfg(unix)]`).
  - `create_failing_postinstall_fixture` helper (called only by
    `#[cfg(unix)]` tests).
  - `sha512_hex` helper (same).
- `pacquet-cli`:
  - `std::fs` in tests/add.rs (only used by the `#[cfg(unix)]`
    `should_symlink_correctly` test).
  - `pipe_trait::Pipe` in tests/install.rs (only used by a
    `#[cfg(unix)] { ... }` block inside `should_install_exec_files`).

Gate each one with `#[cfg(unix)]` so it compiles only when its
consumer does.
Copilot AI review requested due to automatic review settings May 19, 2026 02:14

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 16 out of 16 changed files in this pull request and generated 1 comment.

Comment thread .github/workflows/pacquet-ci.yml Outdated
name: Lint and Test
permissions:
contents: read
pull-requests: write

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Acknowledged — same context as the earlier thread on this line. The diagnostic step and the pull-requests: write permission will both be removed from pacquet-ci.yml in this PR before merge, once the windows-latest job is green. I won't merge with either still in place.


Written by an agent (Claude Code, claude-opus-4-7).


Generated by Claude Code

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@KSXGitHub KSXGitHub disabled auto-merge May 19, 2026 02:21
The windows-latest clippy job is now green, so the diagnostic
scaffolding added to surface its failures is no longer needed.
Drop:

- the `pull-requests: write` permission on the test job,
- the multi-line Clippy step that mirrored output to `clippy.log`,
- the `Post Clippy log on failure` step that posted that log as
  a PR comment.

The Clippy step returns to its single-line form. The workflow now
matches the PR description: a one-line change to add
`--workspace --all-targets`, plus the test-import gating fixes
the new lint scope surfaced.
@KSXGitHub KSXGitHub enabled auto-merge (squash) May 19, 2026 02:25
@KSXGitHub KSXGitHub requested a review from Copilot May 19, 2026 02:30

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 16 out of 16 changed files in this pull request and generated 1 comment.

Comments suppressed due to low confidence (2)

pacquet/crates/package-manager/src/build_modules/tests.rs:486

  • This test calls create_failing_postinstall_fixture, which is now #[cfg(unix)] (and it also asserts on SkippedOptional* types that are currently only imported on Unix). As written, the test will not compile on non-Unix targets. Either add #[cfg(unix)] to this test (and keep the helper Unix-only), or remove the Unix-only gating from the helper/imports if the behavior should be tested cross-platform.

    let pkg_key = key("@pnpm.e2e/failing-postinstall", "1.0.0");
    let optional_snapshot = SnapshotEntry { optional: true, ..Default::default() };
    let snapshots = HashMap::from([(pkg_key.clone(), optional_snapshot)]);
    let importers = root_importers(&[("@pnpm.e2e/failing-postinstall", "1.0.0")]);

pacquet/crates/package-manager/src/build_modules/tests.rs:790

  • create_failing_postinstall_fixture is now #[cfg(unix)], but it is invoked from at least one test that is not Unix-gated in this file. That combination breaks non-Unix builds because the helper is not defined. Either remove the #[cfg(unix)] here, or ensure all callers are also behind #[cfg(unix)] (and that any related imports are gated consistently).
/// registry, without dragging the lockfile-with-real-integrity
/// machinery into a `BuildModules`-unit test.
#[cfg(unix)]
fn create_failing_postinstall_fixture(virtual_store_dir: &Path, key: &PackageKey) -> PathBuf {
    let key_str = key.without_peer().to_string();

Comment on lines +9 to +11
use pacquet_reporter::{IgnoredScriptsLog, LogEvent, Reporter, SilentReporter};
#[cfg(unix)]
use pacquet_reporter::{SkippedOptionalPackage, SkippedOptionalReason};

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

False positive — all three flagged sites are inside #[cfg(unix)] #[test] fn … blocks, so they aren't compiled on Windows and the gated imports/helper match their consumers exactly:

  • Line 482 / 486: inside fn do_not_fail_on_optional_dep_with_failing_postinstall (#[cfg(unix)] at line 470).
  • Line 786: inside fn fail_when_failing_postinstall_is_required (#[cfg(unix)] at line 735).

Empirically: Windows CI is green on the latest commit (1a9c8e0). If any reference to SkippedOptionalPackage / SkippedOptionalReason or create_failing_postinstall_fixture weren't gated, the cargo clippy --locked --workspace --all-targets -- -D warnings step would have caught it as cannot find type / cannot find function.


Written by an agent (Claude Code, claude-opus-4-7).


Generated by Claude Code

@github-actions

Copy link
Copy Markdown
Contributor

Integrated-Benchmark Report (Linux)

Scenario: Frozen Lockfile

Command Mean [s] Min [s] Max [s] Relative
pacquet@HEAD 2.332 ± 0.117 2.222 2.553 1.00
pacquet@main 2.333 ± 0.101 2.233 2.519 1.00 ± 0.07
pnpm 4.578 ± 0.061 4.483 4.670 1.96 ± 0.10
BENCHMARK_REPORT.json
{
  "results": [
    {
      "command": "pacquet@HEAD",
      "mean": 2.3319914096399996,
      "stddev": 0.11653751219629327,
      "median": 2.28412687204,
      "user": 2.7728019999999995,
      "system": 3.52210848,
      "min": 2.2217431245399997,
      "max": 2.5528269345399996,
      "times": [
        2.3287540665399997,
        2.27978834254,
        2.2217431245399997,
        2.5338390775399997,
        2.5528269345399996,
        2.24685058254,
        2.28609280954,
        2.28216093454,
        2.25461247754,
        2.33324574654
      ]
    },
    {
      "command": "pacquet@main",
      "mean": 2.33265849324,
      "stddev": 0.10103405887139433,
      "median": 2.2941143240399997,
      "user": 2.7101880999999994,
      "system": 3.58049928,
      "min": 2.23267882254,
      "max": 2.51890308854,
      "times": [
        2.25621607354,
        2.31585037654,
        2.38570518054,
        2.2334114065399997,
        2.27237827154,
        2.4651737265399998,
        2.51890308854,
        2.26387764454,
        2.38239034154,
        2.23267882254
      ]
    },
    {
      "command": "pnpm",
      "mean": 4.57826819464,
      "stddev": 0.06116766642701975,
      "median": 4.55993436504,
      "user": 7.7135105,
      "system": 4.03874278,
      "min": 4.48268977254,
      "max": 4.67031211454,
      "times": [
        4.67031211454,
        4.48268977254,
        4.54186324354,
        4.58328170454,
        4.54537038354,
        4.6426307185399995,
        4.53536047554,
        4.5663518095399995,
        4.66130480354,
        4.55351692054
      ]
    }
  ]
}

Scenario: Frozen Lockfile (Hot Cache)

Command Mean [ms] Min [ms] Max [ms] Relative
pacquet@HEAD 703.1 ± 22.8 680.9 746.1 1.00
pacquet@main 719.9 ± 53.0 681.8 848.9 1.02 ± 0.08
pnpm 2407.7 ± 108.6 2302.5 2684.5 3.42 ± 0.19
BENCHMARK_REPORT.json
{
  "results": [
    {
      "command": "pacquet@HEAD",
      "mean": 0.7030940615000001,
      "stddev": 0.02280217681784022,
      "median": 0.6946537531000001,
      "user": 0.38888577999999996,
      "system": 1.5990955799999997,
      "min": 0.6808642986000001,
      "max": 0.7460986536,
      "times": [
        0.7425654896000001,
        0.6915752896,
        0.6826337006000001,
        0.6808642986000001,
        0.6945013076000001,
        0.6941560306000001,
        0.7026392356000001,
        0.7460986536,
        0.6948061986,
        0.7011004106000001
      ]
    },
    {
      "command": "pacquet@main",
      "mean": 0.7198807119000001,
      "stddev": 0.05298543018123544,
      "median": 0.6974497761,
      "user": 0.39562147999999997,
      "system": 1.5928687799999999,
      "min": 0.6817591696,
      "max": 0.8488599936000001,
      "times": [
        0.7712973116,
        0.6907869876000001,
        0.7353233956,
        0.6959923436000001,
        0.6863638236,
        0.6817591696,
        0.8488599936000001,
        0.6999269336,
        0.6989072086000001,
        0.6895899516
      ]
    },
    {
      "command": "pnpm",
      "mean": 2.4077490053,
      "stddev": 0.1085707323990717,
      "median": 2.3808234991,
      "user": 2.9547783799999996,
      "system": 2.1841407799999994,
      "min": 2.3025187166,
      "max": 2.6844514016,
      "times": [
        2.4716607906,
        2.3025187166,
        2.3391360356,
        2.6844514016,
        2.4269443516,
        2.3524884706,
        2.3717160796,
        2.3404514036,
        2.3899309186,
        2.3981918846
      ]
    }
  ]
}

@KSXGitHub KSXGitHub merged commit 61e724c into main May 19, 2026
39 of 40 checks passed
@KSXGitHub KSXGitHub deleted the claude/fix-clippy-workspace-linting-kV2Zb branch May 19, 2026 06:24
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