Why
The overview’s contributor list came from git shortlog, so it showed whatever
name and email a pusher’s git config held. Those strings are not accounts:
there is no field that joins them to the roster, and matching on names would let
anyone type another account’s name.
What changed
- The overview ranks real accounts by work the metadata branch records: changes merged, issues those changes fixed, issues the reporter opened that were fixed, and reviews that named the merged head.
- Counts are scoped to the repository, and only names in the roster are shown.
- Each row is compact: the account name plus icon/count pairs. Zero counts are omitted, and each icon’s tooltip carries the full label, such as “2 issues fixed”.
- Resolution is strict: “issues reported” means a merged change closed the issue, not a manual close.
- The old shortlog-derived contributor table and its refresh path are gone. The
index schema moves to 12 and drops
repo_contributors; the index is derived, so the next read rebuilds the repository.
Verification
go test -tags sqlite_fts5 ./...vole workflow checkvole workflow run verify