Repository navigation
chore(deps): upgrade the packages the dependency audit flags - #257
Merged
Merged
Conversation
uv lock -P for brotlicffi, claude-agent-sdk, virtualenv and the OpenTelemetry packages: claude-agent-sdk 0.2.176, OpenTelemetry 1.45.2 (semantic conventions 0.66b2), virtualenv 21.15.2. brotlicffi is already current on main. The lock also picks up the workspace packages' 1.0.0 versions, which main's lock had not recorded. claude-agent-sdk 0.2.173 added four ClaudeAgentOptions fields. None is a model or run setting, so all four go on the excluded list: resume_session_at and resume_drops_turn are session state, forward_subagent_text is stream shape, and verbatim_prompts decides whether prompt text can make Claude Code read host files. OpenTelemetry 1.45 logs a malformed OTEL_EXPORTER_OTLP_TIMEOUT and uses its default instead of raising, so the lifecycle test that relied on that now injects the telemetry failure directly. filelock 3.29.4 still has advisories: litellm 1.106.x requires filelock<4, so it needs a separate change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
OpenTelemetry 1.45 no longer raises on a malformed OTEL_EXPORTER_OTLP_TIMEOUT. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
litellm 1.106.x requires filelock<4, and every filelock 3.x has open advisories. litellm patches several release lines in parallel; 1.103.10 (2026-10-27) has no filelock pin, so uv lock -P litellm==1.103.10 -P filelock moves filelock to 4.2.7 (boto3/botocore re-resolve to 1.43.123). The published litellm>=1.83.0 floor is unchanged: the lock only pins what CI and local development install. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
jeffdupont
marked this pull request as ready for review
November 2, 2026 17:13
andrewklatzke
approved these changes
Nov 2, 2026
jeffdupont
added a commit
that referenced
this pull request
Nov 2, 2026
## What - **Dependency audit in CI**: new `make audit` target that runs `pip-audit` (pinned 2.9.0) over `uv export --frozen` of the committed `uv.lock`, and a `Dependency audit` CI job that runs it. It audits the lock as committed (no `uv lock` first), so a vulnerable pin fails the job. It does not block PRs; push to `main` and a weekly Monday cron fail on it. - **Dependabot**: `.github/dependabot.yml` with `uv` daily at the workspace root and `github-actions` weekly (workflows and the composite actions), both with a 7-day cooldown — same shape as go-ai-sdk ([go-ai-sdk#3](launchdarkly/go-ai-sdk#3)). CI-only: no `uv.lock`, source or test changes. The dependency upgrades this PR used to carry are in #257. ## Expected failure The `Dependency audit` check fails on this PR because it audits `main`'s current lock. That is the job working, and it does not block merge on PRs. It keeps failing on `main` until #257 lands; with #257's lock, `make audit` reports no known vulnerabilities. ## Verified locally `ruff check`, `ruff format --check` and `mypy packages/*/src` clean; `pytest` 3851 passed, 18 skipped on a clean checkout of this branch. 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Overview** > Adds **automated dependency hygiene**: a local **`make audit`** target and a matching **Dependency audit** CI job that scan the **committed `uv.lock`** (via frozen `uv export` + pinned **`pip-audit@2.9.0`**) without re-locking first, so known vulnerable pins surface on **push to `main`** and on a **weekly Monday** CI schedule. On **pull requests**, the audit job is allowed to fail (`continue-on-error`) so unrelated PRs are not blocked by advisories against the current lock. > > Also introduces **`.github/dependabot.yml`** to propose **daily `uv`** updates at the workspace root and **weekly GitHub Actions** bumps for workflows and composite actions, each with a **7-day cooldown**. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit ea50e67. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Upgrades the locked packages that
pip-auditflags, split out of #176 so that PR stays CI-only. Nopyproject.tomlranges changed;uv lock -Pfor each package:mainboto3>=1.43.117)brotlicffi was also in the
uv lock -Pset;mainalready has the fixed 1.2.1.0, so it does not change.The lock also records the workspace members' 1.0.0 versions;
main's lock still lists the pre-1.0 versions, souv lock --checkfails onmain.Changes the upgrades need:
ClaudeAgentOptionsfields (resume_session_at,resume_drops_turn,forward_subagent_text,verbatim_prompts). None is a model or run setting, so all four go on the excluded list and a config cannot set them.verbatim_promptsmatters most: it decides whether prompt text can make Claude Code read host files, which is the application's call.OTEL_EXPORTER_OTLP_TIMEOUTand falls back to its default instead of raising, so the failed-telemetry test now makes_setup_telemetryraise directly. The BYOC comment inlifecycle.pydrops the same example.Why litellm goes back to 1.103.10
filelock3.29.4 has 9 advisories (GHSA-fq56-3cx3-fjxp and others), all fixed only in 4.x, and litellm 1.106.x requiresfilelock<4. litellm patches several release lines in parallel: 1.103.10 is from 2026-10-27, newer than the 1.106.2 locked onmain(2026-10-21), and it does not pinfilelock. So the lock usesuv lock -P litellm==1.103.10 -P filelock.This only changes what CI and local development install. The published
litellm>=1.83.0floor inpackages/litellm-messages/pyproject.tomlis unchanged, so users still resolve litellm themselves.Verified locally
ruff check,ruff format --check,mypy packages/*/src: clean.pytest: 3851 passed, 18 skipped.uv lock --checkand the API report check: clean.make audit(from chore(ci): add dependency audit and Dependabot #176) on this lock: no known vulnerabilities.🤖 Generated with Claude Code
Note
Overview
This PR refreshes
uv.lockfor packagespip-auditflagged:claude-agent-sdk(0.2.121 → 0.2.176), OpenTelemetry (1.43 → 1.45.2, plus new OTLP helper packages),filelock(4.x),boto3/botocore, andvirtualenv.litellmis intentionally locked to 1.103.10 (below 1.106.x) sofilelock4.x can ship without litellm’sfilelock<4pin; publishedlitellm>=1.83.0floors in pyproject are unchanged.Claude Agents adds four new
ClaudeAgentOptionsfields from the SDK upgrade to_CLAUDE_AGENT_OPTIONS_EXCLUDED_KEYS(resume_session_at,resume_drops_turn,forward_subagent_text,verbatim_prompts) so remote config cannot drive session resume, subagent streaming, or@path/ slash-command expansion on the host.Lifecycle tests no longer rely on a malformed
OTEL_EXPORTER_OTLP_TIMEOUTto fail telemetry setup (OTel 1.45 logs and defaults instead); theypatch_setup_telemetryto raise. A related BYOC comment inlifecycle.pyis trimmed to match.Reviewed by Cursor Bugbot for commit 6cab6ec. Bugbot is set up for automated code reviews on this repo. Configure here.