feat: implement issue #1908 — Reviewer scorecard misses Graphite's check-run reviews (clean passes read as 'No response') and undercounts its PR reviews ~8×
Problem
Reviewer scorecard misses Graphite's check-run reviews (clean passes read as 'No response') and undercounts its PR reviews ~8×
From the issue: The weekly reviewer scorecard (#1220, scripts/reviewer_report.sh) misreports Graphite in two ways:
Risk
Low — changes automation shell logic under scripts/, covered by shellcheck (--severity=warning) and the bats suite.
Test plan
Tests added/updated: tests/reviewer_report.bats,tests/test_reviewer_sources.bats. Verification: bash scripts/dev-lead-lint.sh (shellcheck --severity=warning) ran pre-commit; the bats suite runs in CI.
Rollback
Revert this PR. No non-revertible side effects (no tags, migrations, or external state).
Monitoring
This PR's Lint (shellcheck) and bats checks show pass/fail; watch subsequent dev-lead / pr-review runs for behavioral regressions.
Closes #1908
Summary by CodeRabbit
- New Features
- Reviewer reports now count completed clean-pass check runs as reviews and classify skipped check runs as refusals.
- The scorecard now uses Refused instead of Rate-limited; No response excludes clean-pass check runs, and trend reporting tracks refusals.
- A new Collection health section highlights collection errors and incomplete results.
- Collection retries resource-limited requests with smaller page sizes and supports more pages.
- Documentation
- Updated the reviewer report documentation with check-run tracking, collection health, and pagination details.