[{"data":1,"prerenderedAt":219},["ShallowReactive",2],{"content-/investment-textbook-pending-commits":3,"all-pages-for-dir":217,"og-image-/investment-textbook-pending-commits":218},{"id":4,"title":5,"body":6,"category":199,"description":200,"extension":201,"meta":202,"navigation":203,"ogImage":204,"path":205,"project_name":206,"published":207,"publishedAt":208,"seo":209,"stem":210,"tags":211,"todo":204,"unpublished":207,"updatedAt":204,"__hash__":216},"pages/2026-05/2026-05-17/investment-textbook-pending-commits.md","投資判断教科書の未コミット 3 系統を朝に発見、実機で確認しながら分割コミットで片付けた話",{"type":7,"value":8,"toc":189},"minimark",[9,14,23,30,34,41,64,67,77,80,83,86,102,109,113,116,119,122,125,129,132,146,157,161,168,171,182],[10,11,13],"h2",{"id":12},"日曜の朝別件から戻ってきたら作業が散らかっていた","日曜の朝、別件から戻ってきたら作業が散らかっていた",[15,16,17,18,22],"p",{},"日曜の 6 時台はもう一つの作業に手を入れていた。家族旅行の計画ページを Cloudflare Pages に立てるかどうか、Astro でいくか Nuxt でいくか、Claude Code と相談していた。結局 Astro でスキャフォールドして ",[19,20,21],"code",{},"family-trips"," リポジトリを GitHub に立て、Cloudflare Pages の Direct Upload まで終わらせてから、もう一回 GitHub 連携モードで作り直す段取りに切り替えた。そっちが一区切りついて、メインの eurekapu-nuxt4 に意識を戻したのが 7 時すぎだった。",[15,24,25,26,29],{},"戻ってきて最初にやったのは、昨日の積み残しを Claude Code に並列で洗い出してもらうこと。",[19,27,28],{},"memo/2026-05-16/00-session-summary.md"," と過去のメモを横断検索させて、それっぽい未完了項目を一覧化してもらった。サマリーを眺めて納得しかけたところで、ふと違和感が走った。「あれ、昨日途中で終わってたやつ、もっとなかったか？」",[10,31,33],{"id":32},"未コミット変更を覗いたらサマリーに載っていない-3-系統が出てきた","未コミット変更を覗いたら、サマリーに載っていない 3 系統が出てきた",[15,35,36,37,40],{},"念のため ",[19,38,39],{},"git status"," を Claude Code に投げてもらった。ターミナルに並んだ赤い M と ?? の数を数えながら、口の端が下がった。サマリーに載っていない作業が 3 系統、ローカルでぶら下がっていた。",[42,43,44,52,58],"ol",{},[45,46,47,51],"li",{},[48,49,50],"strong",{},"CH8 投資判断教科書 ── Micron Technology（MU）事例の追加",": 半導体メモリ業界のサイクル事例として MU の決算スライドを 2 枚追加し、ついでにライトボックスの背景を黒から白に変更",[45,53,54,57],{},[48,55,56],{},"投資編ナロー画面の TOC FAB",": 投資編のページ群で、画面幅が狭いときに右下に浮かぶフローティング目次ボタン",[45,59,60,63],{},[48,61,62],{},"クイズページのパンくず",": クイズの各ページ上部に「投資編 > Chapter X > クイズ」のヘッダーパンくずを実装",[15,65,66],{},"どれも実装はほぼ終わっていて、ただ未テストかつ未コミットの状態で止まっていた。前日に集中力が切れて、コミットメッセージを書く一歩手前で手を離していた、という雰囲気だった。",[15,68,69,70,73,74,76],{},"学びは身も蓋もない。",[48,71,72],{},"未コミットの作業はその日のサマリーに必ず書き留めないと、翌朝には消える","。記憶ではなく ",[19,75,39],{}," がその日の現実なので、サマリー生成時に diff を見ない設計だと、こうやってひっそり積まれていく。",[10,78,79],{"id":79},"進捗をマークダウンで吐き出してから動き出す",[15,81,82],{},"Claude Code には先に「3 系統それぞれの実装がどこまで進んでいるか、ファイルを開いて確認した上でマークダウンに整理して」と指示した。記憶や雰囲気で進めると、9 割完成しているものを「これから書く」扱いにしてしまったり、逆に未着手のものを「終わったつもり」で push してしまったりする。",[15,84,85],{},"Claude Code が吐いた進捗表は、ざっくり以下の形だった。",[87,88,89,92,95],"ul",{},[45,90,91],{},"CH8 MU 事例: コンテンツ追加・ライトボックス白背景化ともにファイルは差し替え済み、未テスト",[45,93,94],{},"TOC FAB: コンポーネントは存在、投資編のレイアウトに差し込み済み、未テスト",[45,96,97,98,101],{},"クイズパンくず: ",[19,99,100],{},"QUIZ_TOPIC_SECTIONS"," に 18 ページ分の slug が登録され、パンくず描画は実装済み、未テスト",[15,103,104,105,108],{},"3 系統とも「実装は終わって、画面で 1 度も触っていない」状態だと分かった。ここで初めて自分のタスクが定義できた。",[48,106,107],{},"実機で 3 系統を触って、問題なければ意味のある単位で分割コミットする","。",[10,110,112],{"id":111},"chrome-devtools-mcp-でワイドとナローを切り替えながら確認","chrome-devtools MCP でワイドとナローを切り替えながら確認",[15,114,115],{},"dev サーバを上げて、chrome-devtools MCP で 3 系統を順番に確認した。ここからが少し転んだ。",[15,117,118],{},"ワイド画面の CH8 ページは想定どおりだった。MU の決算スライド 2 枚がきれいに並び、サムネイルをクリックするとライトボックスが立ち上がり、背景が白に変わって画像のコントラストが上がった。前日までは背景が黒で、白い背景のスライド画像が浮いて見えたのを覚えている。差し替えは効いていた。",[15,120,121],{},"問題はナロー画面だった。投資編のページをナロー幅で開くと、TOC FAB が出ない。代わりに、本来ワイド画面に置いてある右側目次がそのまま居座っていた。ブレークポイントが効いていないのか、CSS の読み込み順がおかしいのか。一瞬「これは原因調査で半日溶ける流れだ」と背筋が冷えた。",[15,123,124],{},"念のためリロードを Claude Code に頼んだ。リロード後の画面で、右下に丸い FAB が現れた。タップさせると目次がスライドインし、× ボタンで畳まれた。初回レンダ時にだけ、ナロー判定が間に合わずに目次の旧レイアウトが残る、という挙動だった。HMR とコンポーネントのマウント順の絡みに見える。本筋ではないのでメモに残し、issue 化は後回しにした。クイズパンくずはヘッダー描画 OK、ナロー画面でもパンくずが上部に並んでいた。",[10,126,128],{"id":127},"意味のある単位でコミットを-3-つに割って-push","意味のある単位でコミットを 3 つに割って push",[15,130,131],{},"3 系統とも実機で動くことを確認できたので、コミットの段取りに移った。1 コミットにまとめてしまうと、後から「MU の事例だけ revert したい」みたいな話が出たときに困る。Claude Code に以下の単位で分割してもらった。",[87,133,134,137,140],{},[45,135,136],{},"1 コミット目: CH8 MU 事例の追加 + ライトボックスの白背景化",[45,138,139],{},"2 コミット目: 投資編ナロー画面の TOC FAB",[45,141,142,143,145],{},"3 コミット目: クイズパンくず + ",[19,144,100],{}," の slug 追加",[15,147,148,149,152,153,156],{},"3 本とも push まで通った。",[19,150,151],{},"memo/2026-05-16/"," に残った前日の試行錯誤スクショと、",[19,154,155],{},"memo/2026-05-17/verification/"," に置いた今日の確認スクショは、合計で 14MB ほどあったので untracked のまま据え置いた。スクショはあとから自分で見返すための個人的なログで、リポジトリには載せない方針にしている。",[10,158,160],{"id":159},"残った-1-つの宿題と今日の小さな教訓","残った 1 つの宿題と、今日の小さな教訓",[15,162,163,164,167],{},"ナロー初回レンダで FAB が出ない現象は、リロードで救えるので致命的ではない。とはいえ、新規ユーザーが投資編に最初に着地したときの第一印象がこれだと、目次が右側に居座って本文が押し込まれた見た目になる。後日 issue を立てて、",[19,165,166],{},"onMounted"," の前にメディアクエリで判定する形に直す。",[15,169,170],{},"今日の振り返りは 2 行で済む。",[87,172,173,179],{},[45,174,175,176,178],{},"未コミット作業はその日のサマリーに含めないと翌朝忘れる。サマリー生成時に ",[19,177,39],{}," を必ず読ませる運用にする",[45,180,181],{},"実装完了の判定は「ファイルが書き換わった」ではなく「画面で 1 度動かした」を起点にする。未テストの 9 割完成は、9 割完成ではなく、まだ完成していない",[15,183,184,185,188],{},"Claude Code は進捗洗い出し・実機確認・コミット分割まで順次走らせてくれた。私の仕事は、サマリーに対する違和感を拾うことと、ナロー初回レンダの違和感を拾うことの 2 つだけだった。",[48,186,187],{},"判断する係と、実行する係","、という分業が朝の 1 時間でちゃんと回った日になった。",{"title":190,"searchDepth":191,"depth":191,"links":192},"",2,[193,194,195,196,197,198],{"id":12,"depth":191,"text":13},{"id":32,"depth":191,"text":33},{"id":79,"depth":191,"text":79},{"id":111,"depth":191,"text":112},{"id":127,"depth":191,"text":128},{"id":159,"depth":191,"text":160},"dev","前日サマリーに載っていなかった CH8 Micron 事例・TOC FAB・クイズパンくずの 3 系統を Claude Code に進捗整理してもらい、chrome-devtools MCP で実機確認してから意味のある単位でコミットを分割した記録","md",{},true,null,"/investment-textbook-pending-commits","eurekapu-nuxt4",false,"2026-05-17T00:00:00.000Z",{"title":5,"description":200},"2026-05/2026-05-17/investment-textbook-pending-commits",[206,212,213,214,215],"claude-code","git","投資判断教科書","chrome-devtools-mcp","NSutU5PgaAClfOSsU7-0wUjAhNED2U160o2dGJEumhk",[],"https://log.eurekapu.com/og/blog/investment-textbook-pending-commits.png?v=2026-05-17T00%3A00%3A00.000Z&title=%E6%8A%95%E8%B3%87%E5%88%A4%E6%96%AD%E6%95%99%E7%A7%91%E6%9B%B8%E3%81%AE%E6%9C%AA%E3%82%B3%E3%83%9F%E3%83%83%E3%83%88%203%20%E7%B3%BB%E7%B5%B1%E3%82%92%E6%9C%9D%E3%81%AB%E7%99%BA%E8%A6%8B%E3%80%81%E5%AE%9F%E6%A9%9F%E3%81%A7%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%AA%E3%81%8C%E3%82%89%E5%88%86%E5%89%B2%E3%82%B3%E3%83%9F%E3%83%83%E3%83%88%E3%81%A7%E7%89%87%E4%BB%98%E3%81%91%E3%81%9F%E8%A9%B1&author=Kei%20Komatsu&sig=7b91a594eaa8687f",1782528838388]