Skip to content

Committed uv.lock is stale relative to pyproject.toml — any uv run dirties the worktree #554

@dsarno

Description

@dsarno

Problem

The committed uv.lock no longer matches pyproject.toml:

  • lock records godot-ai at version 0.4.3; pyproject.toml is at 2.7.1
  • lock has the old unbounded fastmcp >=3.0.0 requirement; pyproject.toml now pins fastmcp >=3.0.0,!=3.3.*,<3.5.0
  • lock is missing the pillow >=10.0 dev-group dependency that pyproject.toml declares

Because of the drift, any uv run ... (e.g. running pytest or ruff the way CI and AGENTS.md describe) silently re-resolves and rewrites uv.lock, leaving an unrelated modified file in the worktree. Anyone running the test suite while preparing a PR risks accidentally committing a lockfile refresh as a drive-by change — or has to remember to revert it every time.

Fix

Run uv lock (or uv sync) on main and commit the refreshed uv.lock in its own small PR. Optionally add uv lock --check to CI so the lock can't drift from pyproject.toml again.

How this was noticed

Running the focused Python suite per AGENTS.md (uv run pytest tests/unit, uv run ruff check src tests) on a clean checkout left uv.lock modified with exactly the changes above (version bump to 2.7.1, narrowed fastmcp specifier, added pillow dev dep).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions