Compute manager stats across all source-control providers#335
Merged
Conversation
The weekly digest was computed exclusively from GitHub's analytics API. Non-GitHub repositories now contribute via the provider-neutral list primitives (open + merged-in-window per repo), mapped through a pure per-provider normalizer; the GitHub path is unchanged. The authored-vs-reviewed classification joins task PRs with provider- qualified keys, fixing a latent same-name cross-provider collision. Honest degradations, marked in the digest rather than fabricated: the LOC line is labeled "(GitHub PRs only)" when non-GitHub PRs are counted (no bulk additions/deletions API elsewhere), closed-without- merge PRs are not counted off-GitHub, and rows without timestamps are dropped. Eligibility requires any active repository; the GitHub actor is only needed for the GitHub data path. manager_stats declares all source-control providers — with exception- only badges, its "GitHub only" pill disappears, leaving only the inherently-GitHub Dependabot and CI-failure triage automations. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
|
No code issues found. See task
Reviewed 948f2ac |
… repo counts Provider list warnings are logged per repo instead of silently dropped; dedup prefers the merged summary when a PR merges between the concurrent open and merged reads; most-active-repo counts are keyed by provider-qualified identity. Per product direction, outbound digest copy carries no scope qualifiers: the LOC line renders only when it covers every counted PR and is omitted otherwise, and repo labels stay bare names. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Equal-count same-name repos across providers now tie-break on the provider-qualified key instead of input order. The digest deliberately keeps bare repository names: outbound message copy carries no provider qualifiers by product direction; the settings-page capability badges own that story. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Member
Author
|
On the display half of the last finding: keeping the bare repository name in the digest is deliberate product direction — outbound message copy carries no provider/scope qualifiers; the settings-page capability badges are the single place limitations and provider identity are communicated. The nondeterministic tie-break half is fixed with a provider-qualified comparator. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
PR C — the last of the three PRs eliminating removable "GitHub only" badges (follows #320, #325).
The weekly manager-stats digest now covers GitLab, Gitea, Azure DevOps, and Bitbucket repositories, not just GitHub.
The pleasant surprise
The plan assumed this needed per-provider review/approval APIs. Exploration showed the digest never consumed review-API data — its authored-vs-reviewed split comes from Roomote's own task-PR records. So the change is small and DB/list-primitive-based:
Honest degradations (marked, not fabricated)
With exception-only badges (#332), manager_stats' pill disappears; the only remaining "GitHub only" badges are Dependabot triage and CI-failure triage — GitHub products, not missing work.
Testing
🤖 Generated with Claude Code