Skip to content

chore(deps): upgrade ruff lock pin 0.13.1 → 0.15.10 to match pyproject upper bound#142

Merged
FlowElement-ai merged 1 commit intomainfrom
chore/upgrade-ruff-pin
May 1, 2026
Merged

chore(deps): upgrade ruff lock pin 0.13.1 → 0.15.10 to match pyproject upper bound#142
FlowElement-ai merged 1 commit intomainfrom
chore/upgrade-ruff-pin

Conversation

@FlowElement-ai
Copy link
Copy Markdown
Owner

Summary

pyproject.toml declares `ruff>=0.9.0,<=0.15.10` but `uv.lock` was pinned at 0.13.1 — multiple releases behind the ceiling. This was the root cause of every recent fork-lite false alarm on otherwise-correct fork PRs.

Root cause

Contributors who installed ruff manually (or whose editor pulled a newer ruff) ran format autofixes that 0.13.1 considered out of date. The `Fork PR lightweight checks` step then re-ran 0.13.1 over the whole tree and refused the contributor's diff even though the same code is accepted by every newer ruff.

This bit:

Fix

`uv lock --upgrade-package ruff` aligns the lock file with the constraint ceiling (0.15.10). No `pyproject.toml` change needed — the constraint already permitted this version.

Verification

On main, with ruff 0.15.10:

  • `ruff format --check .` → `1061 files already formatted`
  • `ruff check .` → `All checks passed!`

Zero source code change. Pure lockfile bump.

Why this matters going forward

Test plan

  • `uv run ruff format --check .` → clean
  • `uv run ruff check .` → clean
  • Diff is uv.lock-only, no source files changed

I affirm that all code in every commit of this pull request conforms to the terms of the M-flow Developer Certificate of Origin.

Made with Cursor

…t upper bound

`pyproject.toml` declared `ruff>=0.9.0,<=0.15.10` but `uv.lock` was still
pinned at 0.13.1, releases behind. Contributors who installed ruff
manually (or whose editor picked up a newer ruff) ran format autofixes
that 0.13.1 would refuse, producing CI noise on every fork PR even when
the code was logically correct.

This was the direct root cause of:

- PR #137 (the one-off `classify_documents.py` reformat I had to land)
- The persistent `Fork PR lightweight checks` failures on PR #131,
  #134, and #135 — all caused by `ruff==0.13.1` reformatting files the
  contributors' newer ruff considered correct
- Several earlier rounds of "fork-lite is red even though the diff
  looks fine" debugging

`uv lock --upgrade-package ruff` snaps the lock file to the constraint
ceiling (0.15.10). Verification on main:

- `ruff==0.15.10 format --check .` → 1061 files already formatted
- `ruff==0.15.10 check .` → all checks passed

So the upgrade introduces zero source code change and aligns the CI
ruff with what contributors and their editors are running.
@FlowElement-ai FlowElement-ai merged commit 84dc713 into main May 1, 2026
100 checks passed
@FlowElement-ai FlowElement-ai deleted the chore/upgrade-ruff-pin branch May 1, 2026 22:31
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