Skip to content

Session Handoff [auto-3616]: #3616 Dependabot-Managed ruff Pin in the Lint-Only Validator #3639

Closed

Description

@ptr727

Next steps, in priority order

Re-read #3616 and its maintainer comment rather than trusting this summary.

  1. Implement ruff@latest in the Lint-Only Validator Turns Carriers Red on a Ruff Release With No Change of Their Own #3616 as the maintainer decided on it, a Dependabot-managed ruff pin with no fleet canary. validate-task.yml's lint-only Python branch runs uvx ruff@latest for both ruff check and ruff format --check. Declare ruff in a manifest Dependabot watches, through a new pip or uv ecosystem entry in the hub's .github/dependabot.yml. Then have the validator read the version from that manifest rather than from a literal in a run: line. Done looks like this: both lint-only uvx invocations run the declared version, a carrier calling the reusable workflow resolves that version from the hub rather than from its own tree, and Dependabot would open a hub pull request on the next ruff release. The pull request into develop carries Closes on promotion: #3616.

External blockers

Internal dependencies

  • The manifest comes before the workflow change, since the validator reads its version from that file.
  • A reusable workflow runs in the caller's checkout, so how the validator reaches the hub's manifest at the pinned workflow revision has to be settled before the run: lines change.

State

Re-derive with git worktree list, git log origin/main..origin/develop, and gh pr list.

  • Develop and main were level at creation, with no open pull request in this repository.
  • No branch or worktree exists for this lane yet.
  • Other repositories touched: none.

The parked decision queue

Zero open decision issues in this repository at creation, read live.

What the last round did

  • Nothing yet. An unattended picker created this lane from the open backlog.

What not to repeat

New learnings

  • None yet.

Activity

  1. added
    handoffA link in the session handoff chain, one open issue per track
    on Oct 30, 2026
  2. ptr727 commented on Oct 30, 2026

    @ptr727
    OwnerAuthor

    Outcome

    #3616 is implemented and merged to develop in #3640 (squash c653b2f). #3616 stays open until the develop -> main promotion carries Closes on promotion: #3616. This run's scope was develop, so no promotion was opened or merged.

    • What merged: a python-tool-pins composite action whose requirements.txt pins ruff==0.17.3. validate-task.yml reaches it through $/ and runs both lint-only uvx ruff calls at that version, so a carrier gets the version its hub pin carries. CI on Pin the Validator's uvx ruff to a Dependabot-Managed Manifest #3640 resolved RUFF_VERSION: 0.17.3.
    • Dependabot: .github/dependabot.yml gains a pip pair on /.github/actions/python-tool-pins for main and develop.
    • Hub-local tools: the hub's own pre-commit hook, OPERATIONS.md block, and .vscode/tasks.json ruff tasks run uvx --with-requirements .github/actions/python-tool-pins/requirements.txt ruff ....
    • Docs and spec: the spec's python.scripts.uvx, the python-codestyle skill, and docs/reusable-workflows.md now describe the pin. Carried local snippets in catalog/ still run ruff @latest, which is out of ruff@latest in the Lint-Only Validator Turns Carriers Red on a Ruff Release With No Change of Their Own #3616's scope. The skill names that skew.
    • Filed along the way: nothing. One local-pass design finding was declined on evidence in Pin the Validator's uvx ruff to a Dependabot-Managed Manifest #3640's body. One Copilot finding was fixed in 853ba38.
    • Cleanup: pr_review.py cleanup 3640 exited 0. The remote and local branch are deleted, the worktree is removed, and develop is current.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    handoffA link in the session handoff chain, one open issue per track

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions