日曜の朝、別件から戻ってきたら作業が散らかっていた
日曜の 6 時台はもう一つの作業に手を入れていた。家族旅行の計画ページを Cloudflare Pages に立てるかどうか、Astro でいくか Nuxt でいくか、Claude Code と相談していた。結局 Astro でスキャフォールドして family-trips リポジトリを GitHub に立て、Cloudflare Pages の Direct Upload まで終わらせてから、もう一回 GitHub 連携モードで作り直す段取りに切り替えた。そっちが一区切りついて、メインの eurekapu-nuxt4 に意識を戻したのが 7 時すぎだった。
戻ってきて最初にやったのは、昨日の積み残しを Claude Code に並列で洗い出してもらうこと。memo/2026-05-16/00-session-summary.md と過去のメモを横断検索させて、それっぽい未完了項目を一覧化してもらった。サマリーを眺めて納得しかけたところで、ふと違和感が走った。「あれ、昨日途中で終わってたやつ、もっとなかったか?」
未コミット変更を覗いたら、サマリーに載っていない 3 系統が出てきた
念のため git status を Claude Code に投げてもらった。ターミナルに並んだ赤い M と ?? の数を数えながら、口の端が下がった。サマリーに載っていない作業が 3 系統、ローカルでぶら下がっていた。
- CH8 投資判断教科書 ── Micron Technology(MU)事例の追加: 半導体メモリ業界のサイクル事例として MU の決算スライドを 2 枚追加し、ついでにライトボックスの背景を黒から白に変更
- 投資編ナロー画面の TOC FAB: 投資編のページ群で、画面幅が狭いときに右下に浮かぶフローティング目次ボタン
- クイズページのパンくず: クイズの各ページ上部に「投資編 > Chapter X > クイズ」のヘッダーパンくずを実装
どれも実装はほぼ終わっていて、ただ未テストかつ未コミットの状態で止まっていた。前日に集中力が切れて、コミットメッセージを書く一歩手前で手を離していた、という雰囲気だった。
学びは身も蓋もない。未コミットの作業はその日のサマリーに必ず書き留めないと、翌朝には消える。記憶ではなく git status がその日の現実なので、サマリー生成時に diff を見ない設計だと、こうやってひっそり積まれていく。
進捗をマークダウンで吐き出してから動き出す
Claude Code には先に「3 系統それぞれの実装がどこまで進んでいるか、ファイルを開いて確認した上でマークダウンに整理して」と指示した。記憶や雰囲気で進めると、9 割完成しているものを「これから書く」扱いにしてしまったり、逆に未着手のものを「終わったつもり」で push してしまったりする。
Claude Code が吐いた進捗表は、ざっくり以下の形だった。
- CH8 MU 事例: コンテンツ追加・ライトボックス白背景化ともにファイルは差し替え済み、未テスト
- TOC FAB: コンポーネントは存在、投資編のレイアウトに差し込み済み、未テスト
- クイズパンくず:
QUIZ_TOPIC_SECTIONSに 18 ページ分の slug が登録され、パンくず描画は実装済み、未テスト
3 系統とも「実装は終わって、画面で 1 度も触っていない」状態だと分かった。ここで初めて自分のタスクが定義できた。実機で 3 系統を触って、問題なければ意味のある単位で分割コミットする。
chrome-devtools MCP でワイドとナローを切り替えながら確認
dev サーバを上げて、chrome-devtools MCP で 3 系統を順番に確認した。ここからが少し転んだ。
ワイド画面の CH8 ページは想定どおりだった。MU の決算スライド 2 枚がきれいに並び、サムネイルをクリックするとライトボックスが立ち上がり、背景が白に変わって画像のコントラストが上がった。前日までは背景が黒で、白い背景のスライド画像が浮いて見えたのを覚えている。差し替えは効いていた。
問題はナロー画面だった。投資編のページをナロー幅で開くと、TOC FAB が出ない。代わりに、本来ワイド画面に置いてある右側目次がそのまま居座っていた。ブレークポイントが効いていないのか、CSS の読み込み順がおかしいのか。一瞬「これは原因調査で半日溶ける流れだ」と背筋が冷えた。
念のためリロードを Claude Code に頼んだ。リロード後の画面で、右下に丸い FAB が現れた。タップさせると目次がスライドインし、× ボタンで畳まれた。初回レンダ時にだけ、ナロー判定が間に合わずに目次の旧レイアウトが残る、という挙動だった。HMR とコンポーネントのマウント順の絡みに見える。本筋ではないのでメモに残し、issue 化は後回しにした。クイズパンくずはヘッダー描画 OK、ナロー画面でもパンくずが上部に並んでいた。
意味のある単位でコミットを 3 つに割って push
3 系統とも実機で動くことを確認できたので、コミットの段取りに移った。1 コミットにまとめてしまうと、後から「MU の事例だけ revert したい」みたいな話が出たときに困る。Claude Code に以下の単位で分割してもらった。
- 1 コミット目: CH8 MU 事例の追加 + ライトボックスの白背景化
- 2 コミット目: 投資編ナロー画面の TOC FAB
- 3 コミット目: クイズパンくず +
QUIZ_TOPIC_SECTIONSの slug 追加
3 本とも push まで通った。memo/2026-05-16/ に残った前日の試行錯誤スクショと、memo/2026-05-17/verification/ に置いた今日の確認スクショは、合計で 14MB ほどあったので untracked のまま据え置いた。スクショはあとから自分で見返すための個人的なログで、リポジトリには載せない方針にしている。
残った 1 つの宿題と、今日の小さな教訓
ナロー初回レンダで FAB が出ない現象は、リロードで救えるので致命的ではない。とはいえ、新規ユーザーが投資編に最初に着地したときの第一印象がこれだと、目次が右側に居座って本文が押し込まれた見た目になる。後日 issue を立てて、onMounted の前にメディアクエリで判定する形に直す。
今日の振り返りは 2 行で済む。
- 未コミット作業はその日のサマリーに含めないと翌朝忘れる。サマリー生成時に
git statusを必ず読ませる運用にする - 実装完了の判定は「ファイルが書き換わった」ではなく「画面で 1 度動かした」を起点にする。未テストの 9 割完成は、9 割完成ではなく、まだ完成していない
Claude Code は進捗洗い出し・実機確認・コミット分割まで順次走らせてくれた。私の仕事は、サマリーに対する違和感を拾うことと、ナロー初回レンダの違和感を拾うことの 2 つだけだった。判断する係と、実行する係、という分業が朝の 1 時間でちゃんと回った日になった。