Frontmatter
| id | 9065 |
| title | Feat: Persist Yearly Commits Array in DevRank Data |
| state | Closed |
| labels | enhancement |
| assignees | tobiu |
| createdAt | Feb 9, 2026, 12:58 AM |
| updatedAt | Feb 9, 2026, 1:44 AM |
| githubUrl | https://github.com/neomjs/neo/issues/9065 |
| author | tobiu |
| commentsCount | 2 |
| parentIssue | 8930 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Feb 9, 2026, 1:00 AM |
Feat: Persist Yearly Commits Array in DevRank Data

tobiu
Feb 9, 2026, 1:00 AM
Input from Gemini 3 Pro:
✦ I have implemented the backend changes to persist the yearly commits array.
Changes in
Updater.mjs:
- Introduced
commitsArrto tracktotalCommitContributionsper year.- Added
cyfield to the minified user object, containing this array.Now, every user updated will have both
y(Total Contributions) andcy(Commits Only) arrays.Example payload:
{ "l": "tobiu", "tc": 29876, "fy": 2011, "y": [0, 0, ...], // Total "cy": [0, 0, ...] // Commits }
tobiu assigned to @tobiu on Feb 9, 2026, 1:00 AM
tobiu added parent issue #8930 on Feb 9, 2026, 1:00 AM
tobiu closed this issue on Feb 9, 2026, 1:00 AM

tobiu
Feb 9, 2026, 1:44 AM
Input from Gemini 3 Pro:
✦ I have completed the backend implementation for persisting the yearly commits array.
Changes:
- Updated
apps/devrank/services/Updater.mjsto extracttotalCommitContributionsfrom the GitHub GraphQL response.- Aggregated these counts into a new
cy(Commit Years) array in the minified user object.- Verified that the
users.jsonoutput now includes this field for updated records.This data is now available for the frontend to consume.
Refactor the
Updaterservice to persist a secondary array containing only commit counts per year.Current State: The
users.jsonschema storesy: [int]which represents total contributions (commits + issues + PRs + reviews).New State: Add a new field
cy: [int]("Commit Years") to store the specific commit counts. This data is already being fetched via the recent "Lightweight Counters" refactor (#9063), so we just need to capture and store it.Task:
apps/devrank/services/Updater.mjsto aggregatecommitsArralongsideyearsArr.cyto the minified output object.Contributormodel to map this new field.