chore(deps): refresh uv.lock transitive pins (2026-04-29)#55
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
cmeans
left a comment
There was a problem hiding this comment.
QA round 1 — PASS (no findings)
This is the first end-to-end exercise of the uv-lock-refresh.yml cron from PR #54 — effectively answers PR #54's test-plan checkbox 4 (post-merge workflow_dispatch/scheduled-trigger run). The workflow behaved correctly across all gates.
Diff inspection
uv.lock:pathspec1.1.0→1.1.1(sdist + wheel hashes refreshed). Single transitive bump.CHANGELOG.md: one new bullet inserted as the FIRST entry under## [Unreleased]→### Changed, matching the workflow's Python insertion logic (insert_at = changed_idx + 2after blank line). The hardcoded entry text matches the workflow's template verbatim.- No other files touched —
pyproject.tomlnot in diff, no spec/plan changes, no source/test code changes.
Cron behavior validation (live)
- Skip-gate correctly let the run through (no
dependencies + pythonPR was open at trigger time). - Diff-gate correctly flagged the
uv.lockchange (pathspec). - Test gate ran and passed against the new lockfile (PR creation happened, which is the gate's success signal).
- CHANGELOG bullet inserted at the right KaC position (under existing
### Changed, ahead of older bullets, blank-line spacing preserved). - Branch name + commit subject + PR title all use the dated suffix
2026-04-29per spec. - Labels applied:
dependencies,python,Ready for QA✓. - Authored by
cmeans-claude-dev[bot]via App-token push (so downstream CI fired) — required CI checks all reported PASS, confirming PR #54's reasoning about the App-token vsGITHUB_TOKENdistinction was correct.
Sourcing check (per feedback_verify_dependency_sourcing.md)
pathspec is a transitive dep of mypy (uv.lock:653-657 declares pathspec in mypy 1.20.2's deps block). Patch bump only (1.1.0 → 1.1.1). Author/maintainer is the long-standing cpburnz PyPI account — no sourcing concern.
Re-verification on c905d3a
uv sync --frozen --extra dev→ cleanly upgradedpathspec==1.1.0 → 1.1.1(Prepared 1 package ... Uninstalled 1 package ... Installed 1 package). Lockfile is internally consistent. ✓uv run pytest --cov --cov-report=xml→ 79/79 pass at 100% coverage (mypy is the affected dep — full suite passing is a strong signal that the bump is safe, since mypy's behavior touches the type-check gate)uv run ruff check src/ tests/→ All checks passeduv run ruff format --check src/ tests/→ 11 files already formatteduv run mypy src/pypi_winnow_downloads/→ Success: no issues found in 5 source files- CI: 8 pass / 3 expected-skip (
changelog,on-label,on-unlabel) / 1 pending QA Gate
Labels: Ready for QA → QA Active → Ready for QA Signoff. Awaiting maintainer QA Approved.
|
Audit trail: applying Ready for QA Signoff — single transitive bump ( |
Bumps version 0.2.0 → 0.3.0 and promotes the [Unreleased] section to [0.3.0] - 2026-04-29. One feature PR plus three small chore PRs land in this release; full bullets in CHANGELOG.md. Minor bump (rather than patch): run_pypinfo()'s return type changed from dict[str, int] to a TypedDict carrying both by_installer and by_system aggregates in #57. The feature surface is also new (3 new badge files per package per window: linux / macos / windows). Shipping: - feat(collector): per-OS download breakdown badges (#57, d7688ce) - ci: weekly uv lock --upgrade refresh cron (#54, 3ed03b9) - chore(deps): refresh uv.lock transitive pins (#55, 92ec030) - chore(.gitignore): private operator tooling (#52, 5bae606) - chore(.gitignore): Claude Code permission overrides (#53, 2bd764a)
Summary
Routine
uv lock --upgraderefresh — backstop for transitive dependency bumps that haven't yet been picked up by Dependabot's advisory- and cascade-driven flow.pyproject.tomlrange changes..github/workflows/uv-lock-refresh.yml— see spec atdocs/superpowers/specs/2026-04-29-uv-lock-refresh-cron-design.md.Diff stat
Test plan
uv sync --frozen --extra dev && uv run pytestpasses (test gate).pyproject.tomllines changed (verify in Files tab).🤖 Generated by uv-lock-refresh.yml