Somhairle MacLeòid
smacleod@cloudflare.com
90d · built 2026-05-28
90-day totals
- Commits
- 59
- Grow
- 3.0
- Maintenance
- 5.7
- Fixes
- 2.5
- Total ETV
- 11.2
Where this dev ranks
Percentile against the global top-100 leaderboard (all-time totals).
- By commits
- Top 74 %
- By Growth share
- Top 58 %
30-day trajectory
Last 30 days vs. the 30 days before. Up arrows on Growth and ETV mean improvement; up arrow on Fixes share means more time on fixes (worse).
Daily performance
Daily ETV, stacked by Growth, Maintenance and Fixes.
Work-mix over time
Share of Growth / Maintenance / Fixes over a rolling 7-day window. Reads as 'where is effort flowing right now'.
Bug flow over time
Monthly bug flow attributed to this developer. The left bar (red) is bug impact this dev authored that was addressed in the given month — combining bugs others fixed for them and bugs they fixed themselves. The right bar is fixes they personally shipped that month, split between self-fixes (overlap with the red bar) and fixes done for someone else. X-axis is fix-time, not introduction-time — the Navigara API attributes bugs backward to the author at the moment the fix lands.
- Self-fix share
- 27%
- Bugs you introduced
- 16.0
- Bugs you fixed
- 9.4
Repository spread
Where this developer's commits land. Concentrated work (top1 > 80%) vs polymath spread (top1 < 30%).
| Repo | Commits | ETV |
|---|---|---|
| workers-sdk | 57 | 10.9 |
| workerd | 2 | 0.4 |
Most impactful commits
Top 20 by ETV in the 90-day window.
- 1.8ETVMake remote dev `exchange_url` optional (#12771)github.com-cloudflare-workers-sdk · b8c33f55 · 2026-03-10
- 1.1ETVReplace HTTP dev-registry proxy with native workerd debug port RPC (#12600)github.com-cloudflare-workers-sdk · 50bf819b · 2026-04-16
- 1.0ETV[create-cloudflare] Remove custom prettier config (#12940)github.com-cloudflare-workers-sdk · 44b9df86 · 2026-03-17
- 0.9ETVUse Vite 8 and Vitest 4 everywhere (#12947)github.com-cloudflare-workers-sdk · cf988366 · 2026-03-20
- 0.8ETVUpdate prettier to 3.8.1 (#12939)github.com-cloudflare-workers-sdk · e25bd0ef · 2026-03-17
- 0.6ETVRevert "Revert "[wrangler] fix: prevent remote binding sessions expiring during long dev sessions"" (#13470) Co-authored-by: ask-bonk[bot] <ask-bonk[bot]@users.noreply.github.com>github.com-cloudflare-workers-sdk · 4fda685f · 2026-04-16
- 0.5ETV[wrangler] fix: prevent remote binding sessions expiring during long dev sessions (#13016) Co-authored-by: ask-bonk[bot] <ask-bonk[bot]@users.noreply.github.com>github.com-cloudflare-workers-sdk · 135e5605 · 2026-04-13
- 0.3ETV[edge-preview-authenticated-proxy] Restore /exchange endpoint (#13021)github.com-cloudflare-workers-sdk · 973dfddd · 2026-03-23
- 0.3ETVAdd deleteAllDurableObjects() to workerd:unsafe (#6357)github.com-cloudflare-workerd · 16ead14d · 2026-04-17
- 0.3ETV[wrangler] Validate header rules reject multiple wildcards (#12276) Co-authored-by: emily-shen <eshen@cloudflare.com> Co-authored-by: emily-shen <69125074+emily-shen@users.noreply.github.com> Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>github.com-cloudflare-workers-sdk · 926bad5c · 2026-05-02
- 0.2ETVRevert "Support stream (but keep pipeline backwards compatible) binding for Pipelines" (#13847)github.com-cloudflare-workers-sdk · cf09891b · 2026-05-07
- 0.2ETVUpgrade pnpm 9 → 10 with supply chain security hardening (#13148)github.com-cloudflare-workers-sdk · db9ebd55 · 2026-04-01
- 0.2ETV[miniflare] Fix glob patterns matching double-extension filenames (#13080)github.com-cloudflare-workers-sdk · f4ea4acc · 2026-03-27
- 0.2ETV[wrangler] Move binding local-development support into a single registry (#13728)github.com-cloudflare-workers-sdk · 49c1a591 · 2026-05-26
- 0.2ETVRevert "Add support for applications that use the entry Worker during development but not at build time" (#13811) Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>github.com-cloudflare-workers-sdk · b8458f78 · 2026-05-05
- 0.2ETV[wrangler] Fix vitest-pool-workers crashing when assets configured without directory (#13079)github.com-cloudflare-workers-sdk · 746858a3 · 2026-03-27
- 0.2ETV[vitest-pool-workers] fix: handle redirect responses in `runInDurableObject` (#13077)github.com-cloudflare-workers-sdk · 11c77b7e · 2026-03-27
- 0.2ETV[vitest-pool-workers] Fix dynamic import() in entrypoint and DO handlers (#13056)github.com-cloudflare-workers-sdk · 8384743f · 2026-03-27
- 0.1ETVPublish `@cloudflare/cli-shared-helpers` and `@cloudflare/workers-utils` to npm (#13651) Co-authored-by: emily-shen <eshen@cloudflare.com>github.com-cloudflare-workers-sdk · 47ac63f0 · 2026-04-24
- 0.1ETV[vitest-pool-workers] Only probe extensions in module fallback for `require()`, not `import` (#13074)github.com-cloudflare-workers-sdk · 4618c058 · 2026-03-27