Skip to content

docs(readme): add per-installer and per-OS download badge breakouts#99

Merged
cmeans-claude-dev[bot] merged 2 commits into
mainfrom
docs/installer-os-badges
Apr 30, 2026
Merged

docs(readme): add per-installer and per-OS download badge breakouts#99
cmeans-claude-dev[bot] merged 2 commits into
mainfrom
docs/installer-os-badges

Conversation

@cmeans-claude-dev
Copy link
Copy Markdown
Contributor

@cmeans-claude-dev cmeans-claude-dev Bot commented Apr 30, 2026

Summary

  • Add per-installer download badges (pip, pipenv, pipx, uv, poetry, pdm) and per-OS download badges (linux, macos, windows) under the existing hero Downloads badge.
  • Powered by the per-installer endpoints (pypi-winnow-downloads v0.2.0) and per-OS endpoints (v0.3.0) on pypi-badges.intfar.com.
  • Hero Downloads badge unchanged.
  • All 10 endpoints verified live before commit.

Test plan

  • uv run pytest
  • ruff check
  • ruff format --check
  • mypy
  • README renders correctly on GitHub (all 9 new badges visible)

CHANGELOG

  • Entry added under ## [Unreleased] → ### Added.

🤖 Generated with Claude Code

Adds two new badge rows under the existing hero Downloads badge:
"By installer:" (pip, pipenv, pipx, uv, poetry, pdm) and "By OS:"
(linux, macos, windows). Powered by the per-installer (v0.2.0) and
per-OS (v0.3.0) endpoints from pypi-winnow-downloads.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added the Awaiting CI Dev complete, waiting for CI/Codecov to pass before QA label Apr 30, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 30, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-actions github-actions Bot added Ready for QA Dev work complete — QA can begin review and removed Awaiting CI Dev complete, waiting for CI/Codecov to pass before QA labels Apr 30, 2026
@cmeans cmeans added the QA Active QA is actively reviewing; Dev should not push changes label Apr 30, 2026
@github-actions github-actions Bot removed the Ready for QA Dev work complete — QA can begin review label Apr 30, 2026
Copy link
Copy Markdown
Owner

@cmeans cmeans left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

QA Review — PR #99

Verdict: Ready for QA Signoff. Zero findings.

Verification

Gate Result
uv run pytest 488 passed, 6 deselected (integration marker, expected), 5 xfailed
uv run ruff check src/ tests/ All checks passed
uv run ruff format --check src/ tests/ 9 files already formatted
uv run mypy src/mcp_clipboard/ Success: no issues found in 4 source files
Live endpoints (10/10) All return HTTP 200 with valid shields.io endpoint JSON
Internal arithmetic per-installer sum = per-OS sum = hero badge count (106) — consistent
CHANGELOG conformance Under [Unreleased] → ### Added, accurate description
Repo-wide drift grep README and the prior PR #98 CHANGELOG line are the only files referencing pypi-badges.intfar.com; no drift
CI rollup All success (lint, typecheck, test 3.11/3.12/3.13, codecov/patch, on-push, qa-approved)

Endpoint sample

Endpoint Label Count
installer-pip-30d-non-ci.json pip (30d) 80
installer-uv-30d-non-ci.json uv (30d) 26
installer-pipenv/pipx/poetry/pdm each 0 (lightgrey)
os-linux-30d-non-ci.json linux (30d) 78
os-macos-30d-non-ci.json macos (30d) 24
os-windows-30d-non-ci.json windows (30d) 4
Hero downloads-30d-non-ci.json pip*/uv/poetry/pdm (30d) 106

pip + uv = 106 and linux + macos + windows = 106 — both breakouts agree with the hero total.

Awaiting maintainer QA Approved.

@cmeans
Copy link
Copy Markdown
Owner

cmeans commented Apr 30, 2026

Adding Ready for QA Signoff — all gates pass, zero findings on review. CI green, all 10 badge endpoints live and self-consistent (per-installer + per-OS sums match hero total of 106). Awaiting maintainer QA Approved.

@cmeans cmeans added Ready for QA Signoff QA passed — ready for maintainer final review and merge and removed QA Active QA is actively reviewing; Dev should not push changes labels Apr 30, 2026
Each badge already self-documents (e.g. pip (30d), linux (30d)) and
the blank line between rows provides visual grouping. The labels
added a verbal handle for something the eye already groups.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added Awaiting CI Dev complete, waiting for CI/Codecov to pass before QA Ready for QA Dev work complete — QA can begin review and removed Ready for QA Signoff QA passed — ready for maintainer final review and merge Awaiting CI Dev complete, waiting for CI/Codecov to pass before QA labels Apr 30, 2026
Copy link
Copy Markdown
Owner

@cmeans cmeans left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@cmeans cmeans added the QA Active QA is actively reviewing; Dev should not push changes label Apr 30, 2026
@github-actions github-actions Bot removed the Ready for QA Dev work complete — QA can begin review label Apr 30, 2026
Copy link
Copy Markdown
Owner

@cmeans cmeans left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

QA Review — Round 2 (head fa2ff87)

Verdict: QA Failed — 1 substantive finding (PR body drift).

Re-verification (all green)

Gate Result
uv run pytest 488 passed, 6 deselected, 5 xfailed
uv run ruff check src/ tests/ clean
uv run ruff format --check src/ tests/ 9 files already formatted
uv run mypy src/mcp_clipboard/ no issues, 4 source files
CI rollup all SUCCESS (lint, typecheck, test 3.11/3.12/3.13, codecov/patch, on-push)
Endpoints unchanged from round 1 — all 10 still HTTP 200

Finding

F1 (substantive) — PR body drift after label removal. The round-2 commit fa2ff87 removes the **By installer:** and **By OS:** section labels from the README, but the PR body still references them in two places:

  1. Summary, bullet 1: "Add By installer: badge row (pip, pipenv, pipx, uv, poetry, pdm) and By OS: badge row (linux, macos, windows)..." — these row labels no longer exist in the README.
  2. Test plan, last item: "README renders correctly on GitHub (badges visible, labels read 'By installer:' and 'By OS:'')" — the labelled-row assertion can no longer be verified because there are no labels.

PR descriptions live forever as historical record once merged, so a present-tense Summary that contradicts the actual diff is worth fixing in the same cycle.

Suggested edits (no new commit needed — just a body edit):

  • Bullet 1: drop the **By installer:** / **By OS:** framing, e.g. "Add per-installer download badges (pip, pipenv, pipx, uv, poetry, pdm) and per-OS download badges (linux, macos, windows) under the existing hero Downloads badge."
  • Test plan rendering item: rephrase as "README renders correctly on GitHub (all 9 new badges visible)".

CHANGELOG entry is fine as-is — it describes the breakouts conceptually without referencing the bold section labels.

Render observation (not a finding)

With the section labels removed, the three badge groups are now separated only by blank lines. On GitHub render this still produces visible vertical spacing, and the badge labels themselves (pip (30d), linux (30d), …) carry the meaning, so the grouping is recoverable. Not blocking — flagging only because if you reconsider the round-2 simplification, this is the trade-off.

Next step

Fix the PR body, then re-apply Ready for QA.

@cmeans
Copy link
Copy Markdown
Owner

cmeans commented Apr 30, 2026

Applying QA Failed — round 2 (head fa2ff87) introduced PR body drift: Summary and Test plan still reference **By installer:** / **By OS:** labels that this round removed from the README. Code/docs gates all green; fix is a PR body edit only, no recommit needed. Details in the review above.

@cmeans cmeans added QA Failed QA found issues — needs dev attention and removed QA Active QA is actively reviewing; Dev should not push changes labels Apr 30, 2026
@cmeans-claude-dev cmeans-claude-dev Bot added Ready for QA Dev work complete — QA can begin review and removed QA Failed QA found issues — needs dev attention labels Apr 30, 2026
@cmeans cmeans added the QA Active QA is actively reviewing; Dev should not push changes label Apr 30, 2026
@github-actions github-actions Bot removed the Ready for QA Dev work complete — QA can begin review label Apr 30, 2026
Copy link
Copy Markdown
Owner

@cmeans cmeans left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

QA Review — Round 3 (head fa2ff87, body edit only)

Verdict: Ready for QA Signoff. F1 from round 2 closed.

F1 (substantive): PR body drift — fixed

Both Summary bullet 1 and the Test plan rendering item now read cleanly:

  • Bullet 1: "Add per-installer download badges ... and per-OS download badges ..." — no longer references the removed bold section labels.
  • Test plan: "README renders correctly on GitHub (all 9 new badges visible)" — the assertion now matches what's actually in the README.

Re-verification (head unchanged, re-run anyway)

Gate Result
uv run pytest 488 passed, 6 deselected, 5 xfailed
uv run ruff check src/ tests/ clean
uv run ruff format --check src/ tests/ 9 files already formatted
uv run mypy src/mcp_clipboard/ no issues, 4 source files
CI rollup all SUCCESS

Awaiting maintainer QA Approved.

@cmeans
Copy link
Copy Markdown
Owner

cmeans commented Apr 30, 2026

Applying Ready for QA Signoff — F1 closed via body edit, all four gates re-verified green on unchanged head fa2ff87. Awaiting maintainer QA Approved.

@cmeans cmeans removed the QA Active QA is actively reviewing; Dev should not push changes label Apr 30, 2026
@cmeans cmeans added Ready for QA Signoff QA passed — ready for maintainer final review and merge QA Approved Manual QA testing completed and passed and removed Ready for QA Signoff QA passed — ready for maintainer final review and merge labels Apr 30, 2026
@cmeans-claude-dev cmeans-claude-dev Bot merged commit ef09fbb into main Apr 30, 2026
52 checks passed
@cmeans-claude-dev cmeans-claude-dev Bot deleted the docs/installer-os-badges branch April 30, 2026 03:06
@cmeans-claude-dev cmeans-claude-dev Bot mentioned this pull request May 2, 2026
6 tasks
cmeans-claude-dev Bot added a commit that referenced this pull request May 3, 2026
Bump pyproject.toml 2.2.1 -> 2.3.0 and convert the [Unreleased] block into [2.3.0] - 2026-05-02. A fresh empty [Unreleased] section sits above for the next cycle.

13 PRs aggregated since v2.2.1: #88, #92, #93, #94, #95, #96, #98, #99, #100, #101, #102, #103, #104.

Tag-push (v2.3.0) after merge triggers .github/workflows/publish.yml.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

QA Approved Manual QA testing completed and passed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant