This week had a clear, singular mission: fix the CI commit authorship problem across the entire portfolio. Automated GitHub Actions commits had been landing under bot identities or inconsistent names, meaning the contribution graph wasn't reflecting real work. The fix was simple — swap in Yuji Ueki <unhappychoice@gmail.com> — but it needed to be applied everywhere, and "everywhere" turned out to be 13 repositories spanning personal projects, org tools, and side projects.
Tuesday was the explosion point: 206 commits in a single day, which is where the bulk of the cross-repo sweep happened. The rest of the week maintained a remarkably steady cadence of 40–43 commits per day, with a second burst on Sunday (94 commits) as the tail end of the cleanup and dependency wave landed. The 70 reviews logged this week were almost entirely self-approvals on Dependabot and CI fix PRs — a necessary but mechanical part of maintaining a portfolio this wide.
Alongside the identity sweep, Dependabot kept the dependency pipeline busy: reline 0.7.0 rolled out across Ruby projects, MUI bumped to 9.3.1 in mdts (requiring a snapshot update), and a scattering of Cargo, Gradle, and npm bumps landed across gittype, splashboard, lintric, and more. The lintric refactor to support tree-sitter 0.26's iterator API was the one genuinely technical commit in an otherwise infrastructure-heavy week.
deep-dive
The great git identity reclamation
Thirteen repositories were getting their automated commits attributed to a bot or an inconsistent identity, silently erasing contributions from the graph. The fix — a one-line CI config change per repo — was applied as a coordinated sweep: kobito, gittype, splashboard, gitlogue, steamfetch, terminal_image, github-weekly-reporter, blog, irasutoya-cli, irasutoya, cycle-flyer, circleci-cli, bitflyer-cli, and bitflyer all got the treatment. It's the kind of yak-shave that looks trivial per-repo but matters a lot when you're maintaining 20+ active projects and want the history to actually mean something.
repos patched 13
PR title chore(ci): use personal git identity
files changed 1 per repo
commit-summary
206-commit Tuesday and a steady-state week
Tuesday's 206-commit spike is where the identity sweep and a backlog of dependency merges collided — merge commits cascade fast when you're closing out a queue of Dependabot PRs across a dozen repos at once. The rest of the week was almost metronomically consistent at 40–43 commits per day, which reflects the automated dependency pipeline humming along. Sunday's 94-commit bump suggests a second cleanup pass to close out stragglers.
+1,322
-1,309
total commits 300
peak day Tue 206
steadiest stretch Mon/Wed–Sat ~41
Sunday burst 94
repo-summary
20+ repos touched, mdts and gittype led the charge
mdts topped the activity chart with 9 PRs — mostly a MUI 9.3.1 bump that required a snapshot update for the new roving tabindex behavior, plus typescript-eslint and other JS deps. gittype followed with 8 PRs, all Cargo dependency updates (rusqlite, tree-sitter-scala, thiserror, clap, and more). circleci-cli and irasutoya each saw 5+ PRs from the combined CI identity fix and Ruby dep wave.
unhappychoice/mdts 9 PRs
unhappychoice/gittype 8 PRs
circleci-tools/circleci-cli 7 PRs
total repos active 20+
tech-debt
lintric: the one real refactor hiding in the noise
Buried under the dependency avalanche was a genuine refactor in lintric: migrating tree-sitter traversal to use iterators for the 0.26 API, and updating to comfy-table 8's new load_style API. These weren't just version bumps — the tree-sitter 0.26 iterator change required actual code restructuring to traverse children differently. It's a small but meaningful signal that lintric is being kept current with upstream breaking changes, not just pinned.
repo unhappychoice/lintric
tree-sitter 0.26 iterator API
comfy-table 8.0.0 load_style
review-summary
70 approvals: the cost of owning a wide portfolio
All 70 reviews this week were approvals, spread across roughly 25 distinct repositories. This is the mechanical overhead of running Dependabot across a large personal portfolio — every automated PR needs a human approval to merge, and when you're the only maintainer, that's all you. The review breadth (circleci-tools, bitflyer-tools, irasutoya-tools, deariary, and personal repos) shows how wide the maintenance surface actually is.
total reviews 70
all approved 100%
distinct repos reviewed ~25
contribution-summary
Cross-org reach: CI fixes land in 5 external orgs
The git identity fix wasn't just a personal-repo concern — it rolled out to deariary/github-weekly-reporter, irasutoya-tools/irasutoya and irasutoya-cli, bitflyer-tools/cycle-flyer and bitflyer-cli and bitflyer, and circleci-tools/circleci-cli. That's five separate GitHub orgs getting the same CI hygiene treatment in the same week, which speaks to how consistently the automated commit pattern had crept in everywhere.
orgs touched 5
deariary github-weekly-reporter
bitflyer-tools 3 repos