build(deps): re-sync uv.lock with the pyproject bench extra (BE-3291)#534
build(deps): re-sync uv.lock with the pyproject bench extra (BE-3291)#534mattmillerai wants to merge 1 commit into
Conversation
`pyproject.toml` declares `optional-dependencies.bench = [ "anthropic>=0.40" ]` (added with the BE-2302 arm-B bench runner), but `uv.lock` was never regenerated to match, so the lockfile was out of sync with the manifest: `uv lock --check` and `uv sync --extra bench --locked` both failed with "the lockfile needs to be updated", and a `--locked`/`--frozen` workflow could not resolve reproducibly. Run `uv lock` on its own so the re-sync is a deliberate, isolated change. It adds anthropic and its transitive deps (annotated-types, docstring-parser, jiter, pydantic, pydantic-core, typing-inspection) and records `bench` in the root package's `provides-extras`. anthropic stays optional: every new entry is gated behind `extra == 'bench'`, so the default install is unaffected. The one non-additive change beyond that is exceptiongroup's dependency on typing-extensions losing its `python_full_version < '3.13'` marker. This is inert marker simplification: every edge into exceptiongroup is already gated on `python_full_version < '3.11'`, so upstream's `< '3.13'` marker is trivially true wherever exceptiongroup is installed at all. No CI workflow consumes uv.lock today, so nothing was failing because of this; this is a correctness/reproducibility cleanup.
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (1)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
Comment |
There was a problem hiding this comment.
🔍 Cursor Review — Consolidated panel
Triggered by @mattmillerai.
✅ No high-signal findings.
Panel: 6/8 reviewers contributed findings.
Reviewers that did not contribute: kimi-k2.5:adversarial (empty), kimi-k2.5:edge-case (empty)
|
Heads-up on a scope note: this PR was red on
This hits main too: I added the minimal unblock here — capping
Full suite CI-style ( I deliberately did not restructure the hint blocks here. That is the real fix, but it changes the generated No review threads were outstanding — CodeRabbit skipped ( |
e64255d to
7c7ecee
Compare
|
Correction to my previous comment — I have reverted the The root-cause diagnosis stands: tomlkit 0.15.1 (released today) made the trailing-comment setter reject line breaks (upstream #449), breaking the multi-line hint blocks at What I missed the first time: #533 and #536 are already fixing exactly this, properly. #533 is green, non-draft, and touches only
So my cap was redundant, and worse than redundant: once #533 lands, a Status: this PR needs no changes of its own. Its |
The lock refresh (adding anthropic/pydantic for the `bench` optional extra) was swept in accidentally by `uv run` regenerating the stale lock during local test runs. It has nothing to do with the per-operation `workflow_too_large` hints this PR is about, and the same re-lock is already covered by its own dedicated PRs (#534/#541/#543/#545). Keeps this PR scoped to comfy_cli/command/workflow.py + its tests. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ELI-5
pyproject.tomlsays "thebenchextra needs theanthropicpackage."uv.lock— the file that pins exact versions so everyone installs the same thing — never got the memo. This PR runsuv lockso the two agree again. Nothing about the normal install changes:anthropicis still optional, and you only get it if you ask for--extra bench.What & why
optional-dependencies.bench = [ "anthropic>=0.40" ]landed with the BE-2302 arm-B bench runner, butuv.lockwas never regenerated, so the lockfile was out of sync with the manifest and a--locked/--frozenworkflow could not resolve reproducibly.Verified on pristine
origin/main(red baseline):Both pass on this branch.
This is not a fire. No workflow consumes
uv.locktoday (the Windows job usespip install -e .; onlyci-cursor-review.ymlreferences it, as a path exclusion). This is a correctness/reproducibility cleanup.The diff
uv.lockis the only changed file (285 insertions, 2 deletions). It addsanthropicplus its transitive deps —annotated-types,docstring-parser,jiter,pydantic,pydantic-core,typing-inspection— exactly the set the ticket predicted.It is byte-for-byte identical to the re-lock that PR #522 carried accidentally in 6bc9dd9, which is an independent reproduction of the same output.
Two non-additive lines, both benign:
provides-extras = ["dev", "preview"]→["bench", "dev", "preview"]— this is the manifest sync.exceptiongroup's dep ontyping-extensionsloses itspython_full_version < '3.13'marker. Inert marker simplification, unrelated to the bench extra. Every edge intoexceptiongroupin the lock is already gated onpython_full_version < '3.11', and upstream's published metadata requirestyping-extensions>=4.6.0; python_version < "3.13"— so whereverexceptiongroupis installed at all, the dropped marker was trivially true. (typing-extensions>=4.7is an unconditional root dep regardless.)No existing package version changed — the only
version =lines in the diff are the 7 newly-added packages.Verification
uv lock --check— passes.uv sync --extra bench --locked— succeeds; installsanthropic 0.117.0,pydantic,jiter.uv sync --locked(default, no extras) — removes them again;anthropiccount in the base install is0. Both directions checked, soanthropicis provably still optional and not pulled into the base dependency set.import comfy_cliandcomfy --help— both fine.pytest— 2573 passed, 37 skipped.ruff format --check— clean (235 files)..pre-commit-config.yamlpinsuv-pre-commitat 0.8.5 while this was locked with local uv 0.11.26, so I checked for churn ping-pong:uvx uv@0.8.5 lockreproduces this lockfile byte-for-byte and changes nothing. The pre-commit hook will not rewrite it.Judgment calls & things deliberately left out
ruff check .reports 14 pre-existingUP038errors (e.g.comfy_cli/cloud/oauth.py) under the lock's ruff 0.12.7. These are identical on pristineorigin/mainand untouched by this PR (which changes no Python). Not fixed here — pre-commit pins ruff 0.15.15, so this is a local-toolchain artifact rather than a CI failure.pylock.tomlis also stale — left alone, worth a follow-up.pylock.tomlis generated fromuv.lockby theuv-exportpre-commit hook. Regenerating it with the pinned uv 0.8.5 yields a 50-insertion/29-deletion diff that addsbackoffand others. I confirmed this is pre-existing onmainand independent of BE-3291: the identical diff appears on a pristineorigin/mainworktree,backoffis already in main'suv.lock, and this PR's diff never touches it. Regenerating it here would have polluted an otherwise surgical lockfile diff — the same mistake refactor(workflow): re-home API-workflow validate undercomfy workflow validate(BE-3000) #522 made in reverse. Filing it separately is the honest move.uv.lockdrifting stale again; auv lock --checkCI step would. That's a scope add the ticket explicitly doesn't ask for, so it's a candidate follow-up rather than part of this diff.Risk
Lockfile-only, additive, gated behind an opt-in extra, with the default install proven unaffected in both directions. The negative-claim/capability-denial check does not apply here — this PR restores a capability (
uv sync --extra bench --locked) rather than denying one.