Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
📜 Recent review details⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (7)
🧰 Additional context used📓 Path-based instructions (1)pacquet/**/*.rs📄 CodeRabbit inference engine (pacquet/AGENTS.md)
Files:
🧠 Learnings (4)📚 Learning: 2026-05-20T19:40:55.051ZApplied to files:
📚 Learning: 2026-05-22T00:08:44.646ZApplied to files:
📚 Learning: 2026-05-20T23:07:58.444ZApplied to files:
📚 Learning: 2026-06-06T18:58:37.156ZApplied to files:
🔇 Additional comments (17)
📝 WalkthroughWalkthroughThis PR fixes a critical bug where ChangesOverride Application During Fresh-Lockfile Resolution
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related issues
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
Micro-Benchmark ResultsLinux |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #12283 +/- ##
========================================
Coverage 87.55% 87.55%
========================================
Files 280 280
Lines 33540 33664 +124
========================================
+ Hits 29365 29476 +111
- Misses 4175 4188 +13 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Code Review by Qodo
Context used 1. Override order ignored
|
Integrated-Benchmark Report (Linux)Each scenario reports direct installs and pnpr installs. Bencher consumes pacquet@HEAD and pnpr@HEAD. Scenario: Isolated linker: fresh restore, cold cache + cold store
BENCHMARK_REPORT.json{
"results": [
{
"command": "pacquet@HEAD",
"mean": 9.834321535339999,
"stddev": 0.13629637550044385,
"median": 9.79092797194,
"user": 3.4120327799999997,
"system": 2.2502731199999997,
"min": 9.69874350944,
"max": 10.120198865439999,
"times": [
9.94457493344,
10.120198865439999,
9.75651984344,
9.69874350944,
9.74304200544,
9.717357545439999,
9.981906991439999,
9.79674414644,
9.79901571544,
9.785111797439999
]
},
{
"command": "pacquet@main",
"mean": 9.88796067244,
"stddev": 0.19909482168784703,
"median": 9.81258123944,
"user": 3.47584918,
"system": 2.26701382,
"min": 9.724486515439999,
"max": 10.24683009044,
"times": [
9.83717702044,
10.24683009044,
9.724486515439999,
9.95676094744,
9.73767913244,
9.78798545844,
9.84292130644,
9.734353989439999,
9.773333492439999,
10.23807877144
]
},
{
"command": "pnpr@HEAD",
"mean": 5.21272527984,
"stddev": 0.09011313189881642,
"median": 5.1854467924400005,
"user": 2.83419478,
"system": 2.0060142199999995,
"min": 5.14077341844,
"max": 5.45453640844,
"times": [
5.24786520844,
5.15703111144,
5.45453640844,
5.201920368440001,
5.21017035144,
5.14077341844,
5.181424387440001,
5.1804322454400005,
5.18946919744,
5.163630101440001
]
},
{
"command": "pnpr@main",
"mean": 5.20346837284,
"stddev": 0.0737353204357959,
"median": 5.19019545444,
"user": 2.8124940799999996,
"system": 2.0079448199999996,
"min": 5.130839536440001,
"max": 5.3481042504400005,
"times": [
5.3481042504400005,
5.2175339454400005,
5.13211659644,
5.1595651594400005,
5.179424329440001,
5.208744852440001,
5.130839536440001,
5.3112662654400005,
5.20096657944,
5.14612221344
]
}
]
}Scenario: Isolated linker: fresh restore, hot cache + hot store
BENCHMARK_REPORT.json{
"results": [
{
"command": "pacquet@HEAD",
"mean": 0.4990146106,
"stddev": 0.005138112035447161,
"median": 0.49724253850000005,
"user": 0.38092541999999996,
"system": 0.8159348599999999,
"min": 0.4922201090000001,
"max": 0.5078067850000001,
"times": [
0.5034277060000001,
0.4922201090000001,
0.5011145140000001,
0.49739551400000004,
0.49372897500000007,
0.49645061200000007,
0.5078067850000001,
0.49708956300000007,
0.49569939500000004,
0.505212933
]
},
{
"command": "pacquet@main",
"mean": 0.5120584560999999,
"stddev": 0.02964852684557901,
"median": 0.5010302405,
"user": 0.38081541999999996,
"system": 0.83427936,
"min": 0.49659049600000005,
"max": 0.594526145,
"times": [
0.49904455500000006,
0.5088913340000001,
0.5127742860000001,
0.512275405,
0.49878552700000006,
0.503015926,
0.49727245800000003,
0.49740842900000004,
0.49659049600000005,
0.594526145
]
},
{
"command": "pnpr@HEAD",
"mean": 0.611946642,
"stddev": 0.019596109741740572,
"median": 0.6038856695000001,
"user": 0.39545062,
"system": 0.8359194599999998,
"min": 0.591118048,
"max": 0.642297599,
"times": [
0.642297599,
0.6029100150000001,
0.5976104870000001,
0.5974736780000001,
0.5920455520000001,
0.604861324,
0.6223899430000001,
0.591118048,
0.638994292,
0.629765482
]
},
{
"command": "pnpr@main",
"mean": 0.6105714346,
"stddev": 0.014110336688613409,
"median": 0.6041032105,
"user": 0.40204981999999995,
"system": 0.8314315599999998,
"min": 0.5980334420000001,
"max": 0.642909905,
"times": [
0.6036830630000001,
0.603471964,
0.603165108,
0.5980334420000001,
0.6103498940000001,
0.598139932,
0.616296147,
0.604523358,
0.6251415330000001,
0.642909905
]
}
]
}Scenario: Isolated linker: fresh install, cold cache + cold store
BENCHMARK_REPORT.json{
"results": [
{
"command": "pacquet@HEAD",
"mean": 9.25521777612,
"stddev": 0.0342772683398088,
"median": 9.26037506482,
"user": 4.108352579999999,
"system": 2.3156082,
"min": 9.18945026932,
"max": 9.318453997319999,
"times": [
9.26087987532,
9.24709626332,
9.22929991432,
9.18945026932,
9.28334744732,
9.318453997319999,
9.23374664132,
9.26232618632,
9.259870254319999,
9.26770691232
]
},
{
"command": "pacquet@main",
"mean": 9.23173138592,
"stddev": 0.06463914006801665,
"median": 9.23455797532,
"user": 4.100974479999999,
"system": 2.3258551,
"min": 9.154911993319999,
"max": 9.35095324432,
"times": [
9.31174931232,
9.23754599132,
9.24374777932,
9.35095324432,
9.23156995932,
9.22478684332,
9.154911993319999,
9.24464577532,
9.16231084032,
9.155092120319999
]
},
{
"command": "pnpr@HEAD",
"mean": 5.012678608819999,
"stddev": 0.11616921427313696,
"median": 4.944413235819999,
"user": 2.6128703799999995,
"system": 1.932741,
"min": 4.91895692632,
"max": 5.2312168113199995,
"times": [
4.9389904393199995,
5.1777127283199995,
5.2312168113199995,
4.92952891632,
4.9498360323199995,
4.91895692632,
4.93165602932,
5.0437458163199995,
4.91995321732,
5.08518917132
]
},
{
"command": "pnpr@main",
"mean": 5.046348280919999,
"stddev": 0.16470438670877655,
"median": 4.96044676632,
"user": 2.6356757799999997,
"system": 1.9321471999999997,
"min": 4.87246071232,
"max": 5.34151398732,
"times": [
4.91960232832,
4.97187737032,
5.28145176732,
5.074037426319999,
4.936771204319999,
4.94139871032,
5.34151398732,
5.1753531403199995,
4.87246071232,
4.9490161623199995
]
}
]
}Scenario: Isolated linker: fresh install, hot cache + hot store
BENCHMARK_REPORT.json{
"results": [
{
"command": "pacquet@HEAD",
"mean": 1.29732629894,
"stddev": 0.010350214593976904,
"median": 1.29598545454,
"user": 1.6323625199999998,
"system": 1.1611868,
"min": 1.28508477604,
"max": 1.31910819304,
"times": [
1.29116612304,
1.29497259404,
1.31910819304,
1.30097481704,
1.2876935860399998,
1.3004360880399999,
1.29699831504,
1.28508477604,
1.30785094604,
1.28897755104
]
},
{
"command": "pacquet@main",
"mean": 1.31378062814,
"stddev": 0.021926274533387358,
"median": 1.30471899704,
"user": 1.6494324200000001,
"system": 1.1691496000000001,
"min": 1.29309969304,
"max": 1.35970561604,
"times": [
1.35970561604,
1.34466809104,
1.3037972550399999,
1.29334314104,
1.31159727304,
1.31924782204,
1.30372865204,
1.30564073904,
1.30297799904,
1.29309969304
]
},
{
"command": "pnpr@HEAD",
"mean": 0.56250993244,
"stddev": 0.11947467090314702,
"median": 0.5252473990400002,
"user": 0.33716011999999995,
"system": 0.8152322999999999,
"min": 0.5164765920400001,
"max": 0.9021927270400001,
"times": [
0.9021927270400001,
0.5278786850400001,
0.5266938820400001,
0.5213132100400001,
0.5226364530400001,
0.5164765920400001,
0.5205590590400001,
0.53685391804,
0.5253631740400001,
0.5251316240400001
]
},
{
"command": "pnpr@main",
"mean": 0.5286786412400002,
"stddev": 0.02263341838126304,
"median": 0.52148523304,
"user": 0.33307282,
"system": 0.8066559999999999,
"min": 0.51907977404,
"max": 0.5929425130400001,
"times": [
0.5929425130400001,
0.5202819770400001,
0.51907977404,
0.5217244990400001,
0.5237301260400001,
0.5205896250400001,
0.52154668004,
0.5243912840400001,
0.5210761480400001,
0.5214237860400001
]
}
]
}Scenario: Isolated linker: fresh install, cold cache + hot store
BENCHMARK_REPORT.json{
"results": [
{
"command": "pacquet@HEAD",
"mean": 4.954499059000001,
"stddev": 0.03307983307643209,
"median": 4.950349158,
"user": 1.9027148,
"system": 1.3134935800000003,
"min": 4.8968434815,
"max": 5.0263145265,
"times": [
4.9415016265,
4.9750156385,
4.8968434815,
4.9663619705,
4.9620215485,
5.0263145265,
4.9401740285,
4.9503845715,
4.9360594535,
4.9503137445
]
},
{
"command": "pacquet@main",
"mean": 5.0068464293,
"stddev": 0.07877592169656093,
"median": 4.995803369000001,
"user": 1.9078920999999998,
"system": 1.31892568,
"min": 4.944910574500001,
"max": 5.2152732665,
"times": [
4.9978886615,
5.0357309985,
5.0110326075,
4.9952025215,
5.2152732665,
4.9964042165,
4.944910574500001,
4.954312084500001,
4.9627301395000005,
4.9549792225000004
]
},
{
"command": "pnpr@HEAD",
"mean": 0.5349985861000001,
"stddev": 0.020307584834425144,
"median": 0.5277470125,
"user": 0.33668339999999997,
"system": 0.81051538,
"min": 0.5199181355,
"max": 0.5851817775,
"times": [
0.5851817775,
0.5211241055,
0.5351579925000001,
0.5253585595,
0.5538570795000001,
0.5246618235,
0.5211499365000001,
0.5334409855000001,
0.5301354655,
0.5199181355
]
},
{
"command": "pnpr@main",
"mean": 0.5296481419000001,
"stddev": 0.012465861549624348,
"median": 0.5270410275,
"user": 0.33065639999999996,
"system": 0.8107985799999999,
"min": 0.5147244475,
"max": 0.5614695735,
"times": [
0.5614695735,
0.5356626985,
0.5262383485000001,
0.5250876015,
0.5286387535,
0.5207518615000001,
0.5277008155,
0.5263812395,
0.5298260795,
0.5147244475
]
}
]
} |
|
| Branch | pr/12283 |
| Testbed | pacquet |
🚨 1 Alert
| Benchmark | Measure Units | View | Benchmark Result (Result Δ%) | Upper Boundary (Limit %) |
|---|---|---|---|---|
| isolated-linker.fresh-install.cold-cache.cold-store | Latency seconds (s) | 📈 plot 🚷 threshold 🚨 alert (🔔) | 9.26 s(+43.52%)Baseline: 6.45 s | 7.74 s (119.60%) |
Click to view all benchmark results
| Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
|---|---|---|---|
| isolated-linker.fresh-install.cold-cache.cold-store | 📈 view plot 🚷 view threshold 🚨 view alert (🔔) | 9,255.22 ms(+43.52%)Baseline: 6,448.91 ms | 7,738.69 ms (119.60%) |
| isolated-linker.fresh-install.cold-cache.hot-store | 📈 view plot 🚷 view threshold | 4,954.50 ms(-1.19%)Baseline: 5,014.11 ms | 6,016.93 ms (82.34%) |
| isolated-linker.fresh-install.hot-cache.hot-store | 📈 view plot 🚷 view threshold | 1,297.33 ms(-7.20%)Baseline: 1,397.96 ms | 1,677.55 ms (77.33%) |
| isolated-linker.fresh-restore.cold-cache.cold-store | 📈 view plot 🚷 view threshold | 9,834.32 ms(+14.06%)Baseline: 8,622.02 ms | 10,346.42 ms (95.05%) |
| isolated-linker.fresh-restore.hot-cache.hot-store | 📈 view plot 🚷 view threshold | 499.01 ms(-23.42%)Baseline: 651.60 ms | 781.92 ms (63.82%) |
|
Code review by qodo was updated up to the latest commit b21b98d |
PR Summary by Qodo
Fix fresh lockfile resolution to apply pnpm.overrides (including catalog:)
🐞 Bug fix🧪 Tests🕐 40+ MinutesWalkthroughs
Description
Diagram
graph TD C["Config (overrides)"] --> I["InstallWithFreshLockfile"] --> H["Manifest hook chain"] --> R["Deps resolver"] --> G["Dependency graph"] --> B["Build fresh lockfile"] --> L[("pnpm-lock.yaml")] K["Catalogs"] --> IHigh-Level Assessment
The approach mirrors pnpm’s built-in read-package hook order (packageExtensions → overrides) and applies overrides at the correct layer (manifest read during resolution), ensuring both chosen versions and the resulting lockfile match pnpm semantics. Resolved overrides are persisted (including
catalog:expansion) and lockfile reuse is safely invalidated on overrides drift, which is the right correctness tradeoff.File Changes
Enhancement (1)
Bug fix (1)
Tests (1)