LearnNewsExamplesServices
Frontmatter
id9065
titleFeat: Persist Yearly Commits Array in DevRank Data
stateClosed
labels
enhancement
assigneestobiu
createdAtFeb 9, 2026, 12:58 AM
updatedAtFeb 9, 2026, 1:44 AM
githubUrlhttps://github.com/neomjs/neo/issues/9065
authortobiu
commentsCount2
parentIssue8930
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtFeb 9, 2026, 1:00 AM

Feat: Persist Yearly Commits Array in DevRank Data

Closed v12.0.0 enhancement
tobiu
tobiu commented on Feb 9, 2026, 12:58 AM

Refactor the Updater service to persist a secondary array containing only commit counts per year.

Current State: The users.json schema stores y: [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:

  1. Update apps/devrank/services/Updater.mjs to aggregate commitsArr alongside yearsArr.
  2. Add cy to the minified output object.
  3. (Optional) Update Contributor model to map this new field.
tobiu added the enhancement label on Feb 9, 2026, 12:59 AM
tobiu referenced in commit cd03882 - "Feat: Persist Yearly Commits Array in DevRank Data (#9065)" on Feb 9, 2026, 12:59 AM
tobiu
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 commitsArr to track totalCommitContributions per year.
  • Added cy field to the minified user object, containing this array.

Now, every user updated will have both y (Total Contributions) and cy (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
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.mjs to extract totalCommitContributions from the GitHub GraphQL response.
  • Aggregated these counts into a new cy (Commit Years) array in the minified user object.
  • Verified that the users.json output now includes this field for updated records.

This data is now available for the frontend to consume.