Repository navigation
fix(nix): pin models-dev-gen remeda to models.dev's version and stop Renovate drift - #1915
Conversation
|
Important Review skippedReview was skipped as selected files did not have any reviewable changes. ⛔ Files ignored due to path filters: 1
⚙️ Run configuration
⛔ Files ignored due to path filters: 1
You can disable this status message by setting the Use the checkbox below for a quick retry:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
ccusage-guide | cfb7ef3 | Commit Preview URL Branch Preview URL |
Oct 18 2026, 12:36 PM |
ccusage
@ccusage/ccusage-darwin-arm64
@ccusage/ccusage-darwin-x64
@ccusage/ccusage-linux-arm64
@ccusage/ccusage-linux-x64
@ccusage/ccusage-win32-x64
commit: |
ccusage performance comparisonPR SHA: Performance comparison skipped. Base package URL was not ready before 300.000s. Fixture performance comparison requires a base package when --base-dir is not provided. Base package: |
ccusage performance comparisonPR SHA: Performance comparison skipped. Base package URL was not ready before 300.000s. Fixture performance comparison requires a base package when --base-dir is not provided. Base package: |
There was a problem hiding this comment.
Important
Please rebase onto current main and regenerate the pricing snapshot under the pinned toolchain before merging. Details below.
Reviewed changes — reviewed all 27 commits in this PR against main:
- Pin
remedato 2.33.7 — downgradesnix/tools/models-dev-gen/package.jsonfrom 2.51.0 with regeneratedbun.lockandbun.nix. - Disable Renovate for
remeda/zod— newpackageRulesentry scoped tonix/tools/models-dev-gen/package.jsonwithenabled: false. - Ignore
autofix-ci[bot]commits — addsgitIgnoredAuthorsso Renovate keeps automerging its own lockfile PRs. - Bundled automation churn —
flake.lockinput bumps plusmodels-dev-pricing.jsonandmodels-dev-catalog-rules.jsonsnapshot updates from 25 automation commits on this branch.
⚠️ Stale branch bundles superseded automation output
This branch forked from c1eb4489 but main has since moved forward with newer snapshots and a CI cadence change. Merging as-is would write stale flake.lock revs and an older models-dev-pricing.json over newer main data, silently reverting upstream pricing changes.
Technical details
# Stale base clobbers newer main
## Affected sites
- `flake.lock` — `litellm` and `models-dev` rev bumps already superseded on `main`
- `rust/crates/ccusage-core/src/models-dev-pricing.json` — snapshot older than `main` tip `b9efb84e`
- `rust/crates/ccusage-core/src/models-dev-catalog-rules.json` — same staleness risk
## Required outcome
- PR diff contains only the two fix commits (`2c2b3151`, `2d1bcf7c`) rebased onto current `main`; no automation commits unique to the branch.⚠️ Snapshot was generated before the pin, not under it
The committed pricing snapshot predates the remeda downgrade commit, so it was produced with drifted remeda 2.51.0. The PR therefore does not yet prove the pinned 2.33.7 toolchain generates identical output, which is the whole point of the version alignment.
Technical details
# Snapshot not regenerated under pinned toolchain
## Affected sites
- `nix/tools/models-dev-gen/package.json:7` — pin to 2.33.7 landed after the snapshot commits
- `nix/tools/models-dev-gen/bun.lock:78` — same ordering issue
- `rust/crates/ccusage-core/src/models-dev-pricing.json` — needs a post-pin regeneration to confirm behavior-neutral
## Required outcome
- After rebasing, re-run `just gen-models-dev-pricing` under the pinned toolchain and commit the result, or confirm the output is byte-identical.
## Suggested approach
- Rebase first, then regenerate once, so the final snapshot reflects both the pin and the current `main` inputs.muse-spark-1.3-contributor (free via Pullfrog for OSS) | 𝕏
Co-authored-by: ryoppippi <[email protected]>
Co-authored-by: ryoppippi <[email protected]>
2d1bcf7 to
cfb7ef3
Compare
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes — reviewed the delta since the prior pullfrog review (2d1bcf7c → cfb7ef3):
- Rebased onto current
main— dropped the 25 superseded automation commits so the diff is now exactly the 4 intended files. - Kept the
remeda2.51.0 → 2.33.7 pin with matching regeneratedbun.lockandbun.nixhashes. - Kept the Renovate
remeda/zodexclusion scoped tonix/tools/models-dev-gen/package.json. - Kept the
gitIgnoredAuthorsentry forautofix-ci[bot].
The stale-branch concern from the prior review is resolved by the rebase. The post-pin snapshot regeneration proof gap is carried as a non-blocking follow-up rather than re-raised here.
muse-spark-1.3-contributor (free via Pullfrog for OSS) | 𝕏
ccusage performance comparisonPR SHA: This compares the PR package against the configured base package on the same CI runner. Package runtime diagnosticsCompares the PR package wrapper, the installed native optional dependency binary, and the workspace release binary on the same large fixture. This identifies whether slow package results come from JavaScript wrapper overhead, the published native binary build, or the Rust core itself. Fixtures: Claude
Committed fixture performanceCommitted small fixtures for stable PR-to-PR feedback and explicit Claude/Codex command coverage. Fixtures: Claude
Large real-world-shaped fixture performanceGenerated fixtures shaped from aggregate local log statistics: thousands of JSONL files, many small sessions, and a long tail of larger sessions. No real prompts, paths, or outputs are stored in the fixtures. Fixtures: Claude
Artifact size
Lower medians and smaller artifacts are better. CI runner noise still applies; use same-run ratios as directional PR feedback, not release guarantees. |
ccusage performance comparisonPR SHA: This compares the Rust PR release binary against the configured base package on the same CI runner. Package runtime diagnosticsCompares the PR package wrapper, the installed native optional dependency binary, and the workspace release binary on the same large fixture. This identifies whether slow package results come from JavaScript wrapper overhead, the published native binary build, or the Rust core itself. Fixtures: Claude
Committed fixture performanceCommitted small fixtures for stable PR-to-PR feedback and explicit Claude/Codex command coverage. Fixtures: Claude
Large real-world-shaped fixture performanceGenerated fixtures shaped from aggregate local log statistics: thousands of JSONL files, many small sessions, and a long tail of larger sessions. No real prompts, paths, or outputs are stored in the fixtures. Fixtures: Claude
Artifact size
Lower medians and smaller artifacts are better. CI runner noise still applies; use same-run ratios as directional PR feedback, not release guarantees. |
Upstream tip: c76874e (2026-10-20, chore(pricing): update models.dev snapshot) Previous fork base: 0c58b88 (the upstream commit this fork was synced to) Synced 83 upstream commits on top of 0c58b88: 56 automated pricing snapshot refreshes and the following meaningful ones: 1cd29f5 chore(deps): update pnpm to v12.13.0 (ccusage#1907) e4f63ba chore(deps): update node.js to >=24.22.0 (ccusage#1908) 130e502 ci: regenerate bun.nix automatically (ccusage#1909) 259ec33 feat(adapter): report stored cost in JSON model breakdowns (ccusage#1903) c1eb448 chore: release v20.0.35 (ccusage#1901) 2a0875f ci(pricing): update snapshots on push to main and daily instead of hourly (ccusage#1914) b090428 chore(deps): update github/codeql-action action to v4.39.0 (ccusage#1912) 4dcf7f5 fix(nix): pin models-dev-gen remeda to models.dev's version and stop Renovate drift (ccusage#1915) 46edb28 fix(nix): stop the dev shell from copying the whole repository (ccusage#1917) 58ec8f1 fix(nix): let commits succeed in worktrees without a loaded dev shell (ccusage#1920) a570a6f fix(nix): vendor Cargo deps without import-from-derivation (ccusage#1918) f6d28c5 fix(antigravity): map model IDs 1418/1419 to gemini-4-argon (ccusage#1905) ce439e5 fix(antigravity): map model ID 1050 to gemini-3.1-flash-lite (ccusage#1902) e62a66f chore(deps): update pnpm to v12.14.0 (ccusage#1923) 117ae68 ci(nix): make the macOS Nix cache save a trimmed store with the Crane layers (ccusage#1921) 7a063a0 ci: shorten the Windows native build critical path (ccusage#1924) 85ebca3 perf(rust): move pricing snapshots into a leaf crate (ccusage#1922) 8fe3f47 perf(nix): build Crane layers with the binary's feature resolution (ccusage#1925) ac289aa perf(pricing): give the pricing refresh a verify-only TLS 1.3 rustls provider (ccusage#1927) d097f74 chore(deps): update rust crate rustls to 0.23.46 (ccusage#1928) f8aaf89 docs: use the compact pkg.pr.new URL for bunx previews [ci skip] (ccusage#1929) f56bb3d chore: release v20.0.36 (ccusage#1916) aaafb41 chore(deps): update dependency vitepress-plugin-group-icons to ^1.8.1 (ccusage#1931) 0861e7f fix(claude): count requestless resp_ content blocks once (ccusage#1935) 867c9f3 chore: release v20.0.37 (ccusage#1933) fa40bfd chore(deps): update songmu/tagpr action to v1.21.3 (ccusage#1937) de99d15 chore(deps): update rust crate zstd to 0.14.3 (ccusage#1936) Fork wins kept: the SQLite on-disk cache with --live-only and the per-namespace ledger, the pi adapter and its per-path namespaces, the OpenCode V2 loader, the FxHash/Cow hot paths, the table renderer, clear-cache, and the tag-only release workflow. Upstream's own release and tagpr machinery stays out. Hand-resolved conflicts: rust/adapters/claude/src/lib.rs: upstream's resp_ message-id dedupe (ccusage#1935) lands beside the fork's requestless replay and collapse_replays rules. rust/adapters/claude/src/README.md: upstream's wording for the msg_/resp_ exception. rust/Cargo.toml: zstd 0.14.3, keeping the fork's exact `=` pin style. .github/workflows/release.yaml: the fork's tag-only release, without upstream's tagpr job or the songmu/tagpr action bump. apps/ccusage/package.json, docs/package.json, package.json: keep 20.0.34; upstream's 20.0.37 bump is dropped. packages/ccusage-*/package.json (6 files): stay deleted; the fork ships no npm wrapper packages and the release workflow does not read them. rust/adapters/claude/src/daily.rs: stays deleted; the fork's daily path lives in lib.rs and shares the dedupe helper the fix changes. Fixes made while landing this sync, folded in so the merge stands green on its own: fix(ci): save the Nix store from the native build composites. The nested cache-nix-action read an empty primary-key at post-job and every native build failed; upstream's defer-save pattern is the fix. fix(rust): keep the agent-recorded cost for deleted sources. The recorded_cost ledger column carries it, so storedCost survives a deleted file. The ledger schema version stays at 2: the column is not a LedgerEntry field, so the blob layout is unchanged and the previously released binary keeps working. fix(rust): make the file fingerprint helper private, the one hawk finding. It is inherited from the pre-sync master, not introduced here. Keep 20.0.34 numbering; DO NOT push a v20.0.34 tag from this fork (release.yaml would publish fork bytes under upstream identity).

Summary
remedainnix/tools/models-dev-genback to2.33.7, which is the version models.dev'sbun.lockresolves both at the pinned flake rev (e8dfd07) and on latest main. Renovate moved it to 2.51.0 in fix(deps): update dependency remeda to v2.51.0 #1834, and fix(deps): update dependency remeda to v2.52.0 #1911 (closed) would have taken it to 2.52.0.zod3.24.2 already matches.bun.lockandbun.nixare regenerated to match.packageRulethat disablesremeda/zodupdates innix/tools/models-dev-gen/package.json, so these stay aligned with the models-dev input. Until now, the zod bumps fix(deps): update dependency zod to v3.25.76 #1551 and fix(deps): update dependency zod to v4 #1557 had to be closed manually.gitIgnoredAuthorsfor autofix.ci. Renovate will then stop treating autofix.ci'sbun.nixregeneration commits as manual edits, so it keeps automerging those PRs (the problem seen on chore(deps): update node.js to >=24.22.0 #1908 and fix(deps): update dependency remeda to v2.52.0 #1911).Summary by cubic
Fixes
models-dev-gendependency drift by pinningremedaback to the version models.dev'sbun.lockuses, and teaches Renovate to leave those dependencies alone.remedato 2.33.7 innix/tools/models-dev-genand regeneratesbun.lockandbun.nixto match.remedaandzodin that package so they stay aligned with the pinned models-dev input.autofix.cicommits as generated so Renovate keeps automerging its lockfile regeneration PRs.Written for commit cfb7ef3. Summary will update on new commits.
Summary by CodeRabbit