Skip to content

chore(deps): bring the pinned AI stack up to what a fresh install gets - #3208

Merged
mabry1985 merged 2 commits into
mainfrom
chore/langchain-stack-update
Aug 27, 2026
Merged

chore(deps): bring the pinned AI stack up to what a fresh install gets#3208
mabry1985 merged 2 commits into
mainfrom
chore/langchain-stack-update

Conversation

@mabry1985

Copy link
Copy Markdown
Member

uv.lock had drifted a long way behind the versions CI — and any pip/docker install — actually resolves:

package uv.lock resolves to
langchain 1.3.6 1.3.18
langchain-core 1.5.3 1.6.1
langchain-openai 1.3.0 1.6.0
langchain-anthropic 1.5.4 1.7.0
langgraph 1.2.4 1.2.11
langgraph-checkpoint 4.1.1 4.2.0
openai 2.41.0 3.5.0 (major)
anthropic 0.121.0 1.2.0 (major)

Local development ran the lock while CI installed unpinned, so the two were exercising different code. That isn't theoretical — it hid a real defect this week: a guard that was inoperative on exactly the version CI uses passed the local suite, then failed a PR that hadn't caused it. langchain-openai 1.6.0 also added the reasoning output_item.done handling that #3207 works around, so the gap was hiding upstream progress too, not just risk.

Scoped deliberately to the AI stack rather than a blanket uv lock --upgrade, so the diff stays reviewable — everything else (fastapi, starlette, cryptography, sqlalchemy…) is untouched.

Verification

Against a venv synced from the new lock (which resolves Python 3.13, so this is also a free 3.13 pass):

  • full suite 6690 passed, 16 skipped
  • ruff check . clean · lint-imports 3/3 kept
  • scripts/live_smoke.py PASSED

No source changes were needed for either major SDK bump.

Follow-up

Pinning the PR gates to this lock, plus a nightly canary against latest and a seam-contract test suite, is the next PR — that's what stops the gap silently reopening.

🤖 Generated with Claude Code

uv.lock had drifted a long way behind the versions CI (and any pip/docker
install) actually resolves:

  langchain            1.3.6   -> 1.3.18
  langchain-core       1.5.3   -> 1.6.1
  langchain-openai     1.3.0   -> 1.6.0
  langchain-anthropic  1.5.4   -> 1.7.0
  langgraph            1.2.4   -> 1.2.11
  openai               2.41.0  -> 3.5.0    (major)
  anthropic            0.121.0 -> 1.2.0    (major)

Local development ran the lock while CI installed unpinned, so the two were
exercising different code. That is not theoretical: it hid a real defect this
week — a guard that was inoperative on exactly the version CI uses passed the
local suite and then failed a PR that had not caused it.

Scoped deliberately to the AI stack rather than a blanket ,
so the diff stays reviewable. Verified on a venv synced from the new lock
(Python 3.13): full suite 6690 passed / 16 skipped, ruff clean, import
contracts 3/3, A2A live smoke passed.

Pinning the PR gates to this lock, plus a nightly canary against latest, is
the follow-up — that is what stops the gap reopening.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 27, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 25 seconds.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: e53c5a21-d640-4325-a4bc-260d285f0e05

📥 Commits

Reviewing files that changed from the base of the PR and between ad4ff54 and 172860a.

⛔ Files ignored due to path filters (2)
  • THIRD_PARTY_LICENSES.md is excluded by !*.md
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (1)
  • changelog.d/3208.changed.md

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.

@protoreview protoreview Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

QA panel review — PASS

code-review-structural · head 8a7c626a4f8f · formal

Low-risk lockfile update: anthropic 0.121.0→1.2.0 (major bump), removal of distro, httpxhttpx2 rename, plus a changelog fragment. All five finders returned zero findings and the structural verifier confirmed the diff matches the brief's characterization with nothing to annotate. No panel disagreement, no prior requests to disposition, and no coverage gaps — the structural pass ran and cleared. Nothing to fix before merge.

No findings — the review came back clean.

findings JSON (machine-readable)
[]

Two gate failures the first push missed, both mechanical:

- The lock was written by uv 0.11.13; CI pins 0.11.29 because uv's lock
  OUTPUT is version-dependent (checks.yml says so explicitly — the two
  disagree about dependency markers, so an unpinned uv thrashes the file).
  Re-locked with 0.11.29; `uv lock --check` now passes.
- THIRD_PARTY_LICENSES.md is generated FROM the lockfiles, so any dependency
  change makes it stale. Regenerated: 123 Python + 689 npm packages.

`scripts/gate.py --lint-only` — the same gate CI runs — passes all four
checks. Suite re-verified on the re-locked venv: 6690 passed / 16 skipped,
live smoke passed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

@protoreview protoreview Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

QA panel review — PASS

code-review-structural · head 172860a47917 · formal

PR #3208 is a dependency/license update (bumping anthropic, openai, langchain*, langgraph*; adding httpcore2, httpx2, httpx2-jsfetch; removing distro, tqdm). No findings survived to this final pass: the structural verification pass was skipped entirely — the verifier never received a findings array to annotate and reported a 404 on graph/llm.py (a path not present in this PR). The panel therefore produced zero findings, and with no prior requests there is nothing to disposition. Overall risk is low for a dependency bump, but the absence of any structural or LLM review coverage on the lock-file changes is a gap: if this PR touches production import paths or pins, a targeted re-review of the requirements/lock diff is advisable before merge.

No findings — the review came back clean.

findings JSON (machine-readable)
[]

@protoreview protoreview Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Promoting the PASS verdict for head 172860a47917: all checks terminal-green, zero unresolved review threads. (approve-on-green)

@mabry1985
mabry1985 merged commit 2e98401 into main Aug 27, 2026
17 checks passed
@mabry1985
mabry1985 deleted the chore/langchain-stack-update branch August 27, 2026 21:37
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.

1 participant