Skip to content

Add three additive metrics: large-prs, hotfix-count, weekend-merges#2

Merged
snopoke merged 10 commits intomainfrom
feature/three-metrics
Apr 27, 2026
Merged

Add three additive metrics: large-prs, hotfix-count, weekend-merges#2
snopoke merged 10 commits intomainfrom
feature/three-metrics

Conversation

@snopoke
Copy link
Copy Markdown
Contributor

@snopoke snopoke commented Apr 27, 2026

Summary

  • New large-prs metric: weekly count of merged PRs with changed_files >= 10. Surfaced as a "Large PRs / wk" KPI tile (<2 elite, 2-4 medium, >4 low).
  • New hotfix-count metric: weekly count of merged PRs labelled hotfix (aggregate of the same set hotfixes lists). Surfaced as a "Hotfixes / wk" KPI tile (0 elite, 1-2 medium, 3+ low).
  • New weekend-merges metric: per-PR list of merges on Sat/Sun (UTC). Surfaced as a new "Weekend merges" panel below "Recent hotfixes" with a per-author breakdown for the selected range.

Purely additive: no existing metric output, schema, or test was changed beyond extending the registry-completeness assertions in tests/test_metrics.py and tests/test_report.py. KPI grid widened to auto-fit minmax(180px, 1fr) so 6 tiles fit cleanly. Sample fixture (dashboard/fixtures/sample.json) and README metric definitions table updated.

Out of scope (intentional): bot/human filter, open-PRs feature.

Test plan

  • `uv run pytest --ignore=tests/test_upload.py` passes (71/71). The two `test_upload.py` failures pre-date this branch — `boto3` is the optional `s3` extra and isn't installed by `uv sync --extra dev`.
  • `dora report --format json` against the test fixture DB emits all three new metric blocks (`large-prs`, `hotfix-count`, `weekend-merges`) with the expected schema.
  • Dashboard renders 6 KPI tiles plus the Weekend merges panel against `dashboard/fixtures/sample.json`.
  • Reviewer runs `dora report --format json` against their own DB and confirms the three new keys appear.

🤖 Generated with Claude Code

snopoke and others added 10 commits April 27, 2026 10:40
Bash-based AWS bootstrap for the S3 variant: idempotent, OIDC-only,
provisions bucket + CORS + bucket policy + OIDC provider + IAM role
in one command. Replaces the manual IAM/policy-editing instructions
currently buried in workflow YAML comments.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Widen .kpis grid to auto-fit minmax(180px, 1fr) so 6 tiles fit cleanly,
add largePrsTier and hotfixTier helpers, plumb large-prs and hotfix-count
through renderForRepo, and extend renderKPIs to render the two new tiles
plus the existing four (deploy, lead, CFR, MTTR placeholder).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@snopoke snopoke merged commit 007d728 into main Apr 27, 2026
3 checks passed
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