実測 / 観測記録

開発の実測

もう 1 本の実測(エージェント実行テレメトリ)が AI の側を数えているのに対して、ここは人間の側の手の動きだけを数えた記録です。文章は書かず、git が覚えていることをそのまま図にしています。

対象開発ノートが扱っているプロダクトのリポジトリ 12 本(定義は scripts/_repos.py。仕事のリポジトリと実験用は入れていない)
期間2023-04-13 〜 2026-09-20(42 ヶ月)
総コミット1,246(マージを含む)
数え方git log --all の作者ローカル時刻。全ブランチを数える(作業途中の stash は入らない)。プロダクトの状態は html/apps/index.html を読む
更新デプロイのたびに数え直す(scripts/gen_notes_stats.py)。最終更新 2026-09-20
関連 実測の一覧 ・ 開発ノート ・ プロダクトの系譜

Activity

手を動かしてきた期間

開発ノート一覧の図は直近 52 週しか見ていないので、始まりも、途中で止まったことも映りません。ここでは窓を切らずに全期間を出しています。

最初のコミットは 2023-04 の SimpleMemoPad で、そのあと 2024-10 から 2025-11 までの 14 ヶ月は 1 本も積まれていません。図のいちばん広い平地がそれで、2026-05 からの立ち上がりはその空白のあとに起きたことになります。

Composition

コミットの中身

コミットメッセージの接頭辞で分けています。Conventional Commits の型に乗っているものだけを型あり、それ以外とマージは「型なし」に入れました。bugfix: を fix に寄せるといった読み替えはしていません。始めると「どこまでを揺れとして許すか」の線が毎回ぶれるので、規約に乗っているかどうかの 1 本で切っています。

「型なし」がふたつ目に大きいのは、規約を決める前に書いたコミットが丸ごとそこに落ちているからです。減らせる数字ではなく、いつから規約を使い始めたかの記録として残しています。

Portfolio

何が生き残っているか

作った数ではなく、いま動いている数を数えます。止めたものも 1 つとして出します。

Rhythm

どこで・いつ書いているか

全部これは勤め先の仕事ではないので、土日と深夜に寄るのは想定どおりです。むしろ読み取るべきは平日の落ち方のほうで、金曜だけがはっきり低くなっています。

Decision Log

この図で何を測ると決めたか

measure数えるのはコミットだけにして、行数は数えないと決めた

DECISION
コミット数・リポジトリ・日時・型だけを数える。追加行数、削除行数、ファイル数は図にしない。
WHY / 仮説
試しに git log --numstat を全期間で取ったら、上位が js 165 万行・symbols 49 万行で埋まった。どちらも Flutter Web のビルド成果物をコミットしたぶんで、書いた量とは何の関係もない。除外リストを作れば数えられるが、そのリストが正しいことを誰も確かめられないまま数字だけが独り歩きする。
RESULT
コミット数は粒度が粗いかわりに、意味が 1 つしかない。図から読めることは減ったが、読めたことは間違っていない。

scopeリポジトリの一覧を 1 ファイルに集約した

DECISION
数える対象を scripts/_repos.py だけに置き、一覧ページの図とこのページの両方がそこを読む。
WHY / 仮説
この図を作るまで、Dotpile のリポジトリ(ディレクトリ名は quiz)が集計に入っていなかった。ノートもアプリのカードもあるのに、ディレクトリ名とプロダクト名が違うせいで存在ごと見落としていた。定義が 2 箇所にあれば、同じ間違いが片方だけ直った状態で残る。
RESULT
登録漏れを直したことで、一覧の図とトップページの実数も 1 リポジトリぶん増えた。図を作る作業が、先に出ていた数字の誤りを見つけたことになる。

scopeチェックアウト中のブランチではなく、全ブランチを数えることにした

DECISION
git log に --all を付ける。ref 指定は scripts/_repos.py の LOG_REFS 1 箇所に置き、一覧の図とこのページの両方がそこを読む。
WHY / 仮説
このページには「ブランチは既定のものだけ」と書いてあったが、実装は ref 指定なしの git log だった。つまり既定ブランチでもなく、たまたまチェックアウトしていたブランチを数えていた。手元の 11 本のうち 7 本が main 以外にいて、他のブランチにあるコミットは丸ごと落ち、ブランチを切り替えるだけで総数が動く。数字が作業机の状態に依存しているのは、実測を名乗る図として筋が通らない。
RESULT
総コミットが 1,230 から 1,246 に、直近 52 週が 1,054 から 1,063 になった。増えた 16 本は新しく書いたぶんではなく、これまで数え落としていたぶん。refs/stash は --all に入らないので、退避中の作業は今も数えない。

form円をやめて 1 本の帯にした

DECISION
型の内訳と状態の内訳を、ドーナツから積み上げの横帯に変えた。切片は多い順に左から並べ、いちばん多いものだけ朱にする。
WHY / 仮説
この区画を別刷りの語彙に組み直したとき、円と引き出し線が語彙から外れた。加えて、切片が 6 個あるのに濃淡は 5 段しか無く、円だと隣り合わない切片どうしを見比べることになって差が読めない。1 本に並べれば隣接の差だけで済む。
RESULT
引き出し線の衝突を避ける計算(spread())が丸ごと要らなくなった。小さい切片は帯の中では読めないので、凡例と実数表に任せている。

Open Questions

まだ数えていないもの