Skip to content

build(bundles): recompile saved bundle locks for the aiohttp 3.14.4 root lock - #855

Merged
krisztian-gajdar merged 1 commit into
mainfrom
fix/recompile-bundle-locks-after-824
Oct 26, 2026
Merged

krisztian-gajdar merged 1 commit into
mainfrom
fix/recompile-bundle-locks-after-824

Conversation

@krisztian-gajdar

@krisztian-gajdar krisztian-gajdar commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Closes #854

Symptom

Since #824 (51af6a4), the saved-lock verifier rejects all 16 bundle targets with ValueError: bundle lock inputs changed; recompile and review the complete closure. CI / Required fails on main and on every pull request (details in #854).

Cause

Each packages/sie_server/bundle-locks/<target>/manifest.json binds the SHA256 of the root uv.lock. #824 rewrote the root lock: aiohttp 3.14.3 -> 3.14.4 and yarl 1.23.0 -> 1.25.1. The saved closures were not recompiled. For all 16 targets the only stale binding input was inputs.uv_lock_sha256 (536b7f46… -> 75848a1d…). Requirements, exceptions, source pins, the policy hash and the uv version were unchanged.

Cutoff

This keeps the existing --exclude-newer 2026-10-18T00:00:00Z, the cutoff recorded in all 16 current manifests (#802, #845). It already admits the new root versions. The last aiohttp 3.14.4 artifact was uploaded on 2026-10-05T17:43:48Z and the last yarl 1.25.1 artifact on 2026-09-15T19:35:02Z. A later cutoff would only admit newer releases of packages outside the root lock, which this fix does not need. With the same cutoff, exclude_newer stays unchanged in every manifest. Every other distribution resolves to the same version and artifacts as before.

Changes per target

Recompiled with tools/ci/bundle_lock.py compile and uv 0.9.28. exceptions.json is unchanged because no new root/bundle conflict appeared.

Targets Lock change Manifest change
cpu-default-{amd64,arm64}, cpu-sglang-{amd64,arm64}, cuda12-default-amd64, cuda12-sglang-amd64, cuda12-sglang-embedding-amd64, cuda12-sglang-vision-extract-amd64, cuda13-sglang-cu130-amd64, cuda13-tensorrt-llm-amd64 (10) aiohttp 3.14.3 -> 3.14.4 and yarl 1.23.0 -> 1.25.1 (PyPI artifacts identical to the root lock). aiohttp 3.14.4 also ships a py3-none-any wheel, now listed. No other line changes. uv_lock_sha256, lock_sha256
cpu-ctranslate2-{amd64,arm64}, cpu-transformers5-{amd64,arm64}, cuda12-ctranslate2-amd64, cuda12-transformers5-amd64 (6) none (byte-identical, no aiohttp in the closure) uv_lock_sha256

Package counts per target are unchanged. aiohttp 3.14.4 and yarl 1.25.1 add no dependencies. An audit of the raw diff found that every changed pylock.toml line belongs to aiohttp or yarl. The only changed manifest keys are inputs.uv_lock_sha256 (16) and lock_sha256 (10).

Validation

From a fresh clone bootstrapped with ./tools/init.sh:

$ mise exec -- uv run --frozen --no-sync python tools/ci/bundle_lock.py check
# exit 0 (failed on main before this change with the error above)
$ SIE_BUNDLE_LOCK_UV="$(mise exec --no-deps [email protected] -- which uv)" SIE_RUN_IMAGE_RESOLUTION=1 \
    mise exec -- uv run --frozen --no-sync pytest -q packages/sie_server/tests/core/test_bundle_image_resolution.py
19 passed  # all 16 targets dry-run with the Docker-pinned uv 0.9.28 installer
$ mise exec -- uv run --frozen --no-sync pytest -q tools/ci/tests/test_bundle_lock.py \
    packages/sie_server/tests/core/test_bundle_lock.py packages/sie_server/tests/core/test_bundle_requirements.py
74 passed  # includes test_repository_locks_bind_current_public_inputs
$ mise exec -- python tools/ci/check_public_tree.py
Public-tree reference check passed.

Follow-up (not in this PR)

The pull_request.paths filters of .github/workflows/cuda13-sglang-cu130.yml and .github/workflows/cuda13-tensorrt-llm.yml include neither uv.lock nor packages/sie_server/bundle-locks/**. A root-lock bump or a saved-lock recompile like this one therefore does not trigger the CUDA 13 image compatibility checks, even though both inputs determine those images. A follow-up should add both paths. This PR leaves the workflows unchanged because the documented lock-update procedure does not require a workflow change.

Summary by CodeRabbit

  • Chores
    • Updated server bundle contents across CPU and CUDA configurations. These updates include newer networking package versions in several bundles; no user-facing behavior changes are noted.

…oot lock

The aiohttp 3.14.4 bump in #824 rewrote the root uv.lock without
recompiling the saved bundle closures, so every target's manifest still
bound the previous root lock hash and the verifier rejected all 16 targets
with "bundle lock inputs changed; recompile and review the complete
closure".

Recompile all 16 targets with the existing 2026-10-18T00:00:00Z cutoff,
which already admits aiohttp 3.14.4 and yarl 1.25.1. Ten closures that
contain aiohttp move aiohttp 3.14.3 -> 3.14.4 and yarl 1.23.0 -> 1.25.1,
matching the root pins; no other distribution, artifact or exception
changes. The other six closures are byte-identical and only rebind the
root lock hash.
@krisztian-gajdar
krisztian-gajdar requested a review from a team as a code owner October 26, 2026 13:36
@coderabbitai

coderabbitai Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Team
  • Run ID: b454db82-1de0-478b-b32f-761086430101
Commits

Reviewing files that changed from the base of the PR and between 51af6a4 and 68aa407.

Files selected for processing: 26
  • packages/sie_server/bundle-locks/cpu-ctranslate2-amd64/manifest.json
  • packages/sie_server/bundle-locks/cpu-ctranslate2-arm64/manifest.json
  • packages/sie_server/bundle-locks/cpu-default-amd64/manifest.json
  • packages/sie_server/bundle-locks/cpu-default-amd64/pylock.toml
  • packages/sie_server/bundle-locks/cpu-default-arm64/manifest.json
  • packages/sie_server/bundle-locks/cpu-default-arm64/pylock.toml
  • packages/sie_server/bundle-locks/cpu-sglang-amd64/manifest.json
  • packages/sie_server/bundle-locks/cpu-sglang-amd64/pylock.toml
  • packages/sie_server/bundle-locks/cpu-sglang-arm64/manifest.json
  • packages/sie_server/bundle-locks/cpu-sglang-arm64/pylock.toml
  • packages/sie_server/bundle-locks/cpu-transformers5-amd64/manifest.json
  • packages/sie_server/bundle-locks/cpu-transformers5-arm64/manifest.json
  • packages/sie_server/bundle-locks/cuda12-ctranslate2-amd64/manifest.json
  • packages/sie_server/bundle-locks/cuda12-default-amd64/manifest.json
  • packages/sie_server/bundle-locks/cuda12-default-amd64/pylock.toml
  • packages/sie_server/bundle-locks/cuda12-sglang-amd64/manifest.json
  • packages/sie_server/bundle-locks/cuda12-sglang-amd64/pylock.toml
  • packages/sie_server/bundle-locks/cuda12-sglang-embedding-amd64/manifest.json
  • packages/sie_server/bundle-locks/cuda12-sglang-embedding-amd64/pylock.toml
  • packages/sie_server/bundle-locks/cuda12-sglang-vision-extract-amd64/manifest.json
  • packages/sie_server/bundle-locks/cuda12-sglang-vision-extract-amd64/pylock.toml
  • packages/sie_server/bundle-locks/cuda12-transformers5-amd64/manifest.json
  • packages/sie_server/bundle-locks/cuda13-sglang-cu130-amd64/manifest.json
  • packages/sie_server/bundle-locks/cuda13-sglang-cu130-amd64/pylock.toml
  • packages/sie_server/bundle-locks/cuda13-tensorrt-llm-amd64/manifest.json
  • packages/sie_server/bundle-locks/cuda13-tensorrt-llm-amd64/pylock.toml

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 6 remain after this review.

Walkthrough

Saved CPU and CUDA bundle lock records now pin aiohttp 3.14.4 and yarl 1.25.1. Affected bundle manifests have updated uv_lock_sha256 values, and some also have updated lock_sha256 values.

Changes: Saved Bundle Lock Refresh

Layer / File(s) Summary
Package lock records
packages/sie_server/bundle-locks/cpu-default-*/pylock.toml, packages/sie_server/bundle-locks/cpu-sglang-*/pylock.toml, packages/sie_server/bundle-locks/cuda12-*/pylock.toml, packages/sie_server/bundle-locks/cuda13-*/pylock.toml
The lock entries update aiohttp to 3.14.4 and yarl to 1.25.1. Source and wheel artifact records are refreshed, including URLs, sizes, timestamps, and hashes.
Bundle manifest hashes
packages/sie_server/bundle-locks/*/manifest.json
The affected manifests record updated uv_lock_sha256 values. Some manifests also record updated overall lock_sha256 values.

Possibly related PRs

  • superlinked/sie#845: Added a saved bundle lock that this PR refreshes against the updated root lock.

Suggested reviewers: svonava

Priority: Normal

Severity of issue fixed: Medium

Merge Risk: Minimal · up to 68aa4

The refreshed bundle locks and manifest bindings are internally consistent, with no identified merge-blocking risk.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly describes the main change: recompiling the saved bundle locks after the root lock update for aiohttp 3.14.4. It is concise and specific.
Linked Issues check Passed Issue #854 requires recompilation and review of the saved bundle closures against the current root lock. The PR updates all 16 manifests to the current uv.lock; it updates the ten affected closures …
Out of Scope Changes check Passed The changed files are limited to saved bundle manifests and pylock.toml files under packages/sie_server/bundle-locks/. The reported changes update the stale root-lock binding and the two distribut…
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Full details: Linked Issues check

Explanation

Issue #854 requires recompilation and review of the saved bundle closures against the current root lock. The PR updates all 16 manifests to the current uv.lock; it updates the ten affected closures for aiohttp 3.14.4 and yarl 1.25.1, and refreshes only the input and derived lock hashes for the other six closures. The existing CI / Bundle resolution job runs python tools/ci/bundle_lock.py check and is included in CI / Required, which satisfies the issue's alternative recurrence-prevention requirement. The reported validation also covers all 16 targets.

Full details: Out of Scope Changes check

Explanation

The changed files are limited to saved bundle manifests and pylock.toml files under packages/sie_server/bundle-locks/. The reported changes update the stale root-lock binding and the two distributions affected by that root-lock change. No unrelated source, workflow, or dependency changes are present.

Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (26 skipped: 26 unsupported.)

Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@krisztian-gajdar
krisztian-gajdar merged commit 3df9c7f into main Oct 26, 2026
19 checks passed
@krisztian-gajdar
krisztian-gajdar deleted the fix/recompile-bundle-locks-after-824 branch October 26, 2026 14: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.

Saved bundle locks are stale after the uv.lock bump in #824; CUDA 13 image checks fail on every model PR

1 participant