[{"data":1,"prerenderedAt":569},["ShallowReactive",2],{"content-/2026-08-09-diary":3,"all-pages-for-dir":552,"related-/2026-08-09-diary":553,"og-image-/2026-08-09-diary":568},{"id":4,"title":5,"body":6,"category":532,"concepts":533,"description":534,"extension":535,"meta":536,"navigation":471,"ogImage":533,"path":537,"project_name":538,"published":539,"publishedAt":540,"seo":541,"source":542,"stem":543,"tags":544,"todo":533,"unpublished":539,"updatedAt":533,"__hash__":551},"pages/2026-08/2026-08-09/diary-2026-08-09.md","2026年8月9日の開発日記 - 評価基盤の立ち上げと、8日間止まっていたバックアップ",{"type":7,"value":8,"toc":513},"minimark",[9,14,18,21,25,32,35,40,43,46,52,68,79,82,86,89,92,100,102,106,113,116,119,127,129,133,140,143,147,155,163,165,169,172,175,183,185,189,192,195,203,205,209,212,215,217,220,436,438,441,455,457,460,482,484,487],[10,11,13],"h1",{"id":12},"_2026年8月9日の開発日記","2026年8月9日の開発日記",[15,16,17],"p",{},"朝6時40分に前日分の日記を作るところから始めて、最後のコミットが11時30分だった。その間に11本のセッションが立ち上がり、うち1本は自分が指示を出したものではない。「バックアップが8日間止まっている。原因特定と復旧を頼む」という依頼を、別のセッションから受けて動いていた。",[15,19,20],{},"その8日間、毎朝の鮮度チェックは何も言っていなかった。",[22,23,24],"h2",{"id":24},"今日のタイムライン",[15,26,27],{},[28,29],"img",{"alt":30,"src":31},"タイムライン","/2026-08/2026-08-09/timeline-2026-08-09.png",[22,33,34],{"id":34},"今日やったこと",[36,37,39],"h3",{"id":38},"_1-llm評価基盤evalsを立ち上げた","1. LLM評価基盤（evals）を立ち上げた",[15,41,42],{},"「デプロイ前に必ず回る評価ハーネス」「ゴールデンデータセット100件以上」「キャリブレーション済みのLLM-as-a-judge」。この3点を出発点に、まず今どうなっているかを棚卸しさせた。18項目のうち、揃っていたのは3つだけだった。",[15,44,45],{},"途中で気になって、「これは mdx-playground の中だけで動くものになっているのか、全リポジトリで使う前提か」と聞いた。中に埋めてしまうと後で剥がせないので、エンジンは別リポジトリに切り出させた。実装は数値照合とゴールデンセット10件まで進み、警告モードで日々のパイプラインに組み込んだ。",[15,47,48],{},[49,50,51],"strong",{},"主な成果:",[53,54,55,59,62,65],"ul",{},[56,57,58],"li",{},"計画書と決裁フォームで5件の判断を確定（判断の前提を読みながら選べる形にした）",[56,60,61],{},"エンジンを別リポジトリ（llm-evals）へ分離",[56,63,64],{},"記事生成とデイリーニュース、デプロイの3経路に警告モードで接続",[56,66,67],{},"毎朝の報告面を、ターミナルの完了報告から Chrome で開く report.html へ移した",[15,69,70,73,74],{},[49,71,72],{},"詳細:"," ",[75,76,78],"a",{"href":77},"/llm-evals-harness-setup","LLM評価基盤（evals）を1日で立ち上げる：棚卸しから警告モード運用まで",[80,81],"hr",{},[36,83,85],{"id":84},"_2-claude-code-のセッション間通信を-windows-で試した","2. Claude Code のセッション間通信を Windows で試した",[15,87,88],{},"バージョンが上がってセッション間でメッセージを送れるようになったと聞いて、Mac 側の待機セッションに投げてみた。届く。ところが Windows からは、同じマシンの中ですら送れなかった。",[15,90,91],{},"送信と受信で経路が違い、公式にネイティブ Windows は非対応と書いてある。返信は機能を通さず、claude.ai の画面を経由して手で運んだ。",[15,93,94,73,96],{},[49,95,72],{},[75,97,99],{"href":98},"/claude-code-cross-session-messaging-windows","Claude Code のセッション間通信は Windows では受信専用になる",[80,101],{},[36,103,105],{"id":104},"_3-設定バックアップの8日間の停止と2台分離の計画","3. 設定バックアップの8日間の停止と、2台分離の計画",[15,107,108,112],{},[109,110,111],"code",{},"~/.claude"," を GitHub へ送る日次バックアップが push で弾かれたまま、8日間動いていなかった。鮮度監視は正常の顔をしていた。送り出した側の記録と、送り先が受け取ったかどうかは別だった。",[15,114,115],{},"復旧そのものは、この件を見つけたセッションではなく別のセッションに渡した。朝に試したばかりの通信を、その日のうちに実務で使ったことになる。",[15,117,118],{},"根っこにあるのは、Windows と Mac が1つの設定ファイルを共有して奪い合っている構造だった。「同じファイルを使う必要はない。リポジトリを分けるか、内容を分けるかしてほしい」と方針を出して、hosts 分離の計画書まで作らせた。移行はまだ実行していない。",[15,120,121,73,123],{},[49,122,72],{},[75,124,126],{"href":125},"/dotclaude-sync-failure-and-host-split","Claude Code の設定バックアップが8日間止まっていた原因と、WindowsとMacで設定を分離する計画",[80,128],{},[36,130,132],{"id":131},"_4-1週間止まっていた統計チェーンを取り戻した","4. 1週間止まっていた統計チェーンを取り戻した",[15,134,135,136,139],{},"毎朝 ",[109,137,138],{},"/make-diary"," は回していた。それでも決算と統計の取り込みは1週間分抜けていた。Windows 機を1週間使っていなかったことと、Mac で回している間は該当ステップが仕様どおり丸ごとスキップされることが重なっていた。",[15,141,142],{},"取り戻した後で更新結果を見せてもらった。出てきたのが3つだけだったので、「韓国の統計は？」と聞き返した。そこから、なぜ取りこぼしが起きるのかまで追わせた。",[15,144,145],{},[49,146,51],{},[53,148,149,152],{},[56,150,151],{},"止まっていた分を取れる順に埋め戻し、決算15銘柄を実績で反映（メモリ価格の4営業日は無料枠の仕様で欠測のまま。韓国側の単価は取得元に弾かれて見送り）",[56,153,154],{},"デイリーニュースのスクリプトが Windows で起動しない原因（エントリポイント判定のOS差）を修正",[15,156,157,73,159],{},[49,158,72],{},[75,160,162],{"href":161},"/make-diary-stats-chain-gap","1週間止まっていた統計チェーンを取り戻す。make-diary が macOS で Step 9〜12 をスキップしていた",[80,164],{},[36,166,168],{"id":167},"_5-2台運用でたまった環境の摩擦を片づけた","5. 2台運用でたまった環境の摩擦を片づけた",[15,170,171],{},"クリップボード履歴の貼り付けが効かなくなっていた。壊れたのかと思ったら、常駐ツールが起動していなかっただけだった。",[15,173,174],{},"ほかにも、今動いているモデルが定額の枠内なのかどうか（残高ゼロの表示が何を意味するか）、モニターの表示設定、Chrome拡張の修正とリロード、Mac で進めた分の取り込み、dev と共有される tsconfig の扱い。細かいものを順に潰した。tsconfig は分離できない理由のほうをドキュメントに残させた。",[15,176,177,73,179],{},[49,178,72],{},[75,180,182],{"href":181},"/windows-mac-dual-env-tuning","Windows と Mac の2台運用でたまった環境の摩擦を、朝のうちに片づけた記録",[80,184],{},[36,186,188],{"id":187},"_6-外部の図解パターン集を調べて明日に回した","6. 外部の図解パターン集を調べて、明日に回した",[15,190,191],{},"GitHub で27種類の図解パターン集を見つけたので、自分の SVG 図解スキルに取り込めるか調べさせた。クローンはせず、固定SHAで隔離した場所に展開して中身だけ静的に検査させている。",[15,193,194],{},"目当ての「型」は思ったほど厚くなかった。代わりに、コネクタの引き方の規律のほうに取り込む価値があった。決裁フォームまで作ったところで、これも明日やりたいと伝えて積み残しに入れた。4問は未回答のまま残っている。",[15,196,197,73,199],{},[49,198,72],{},[75,200,202],{"href":201},"/svg-diagram-pattern-library-due-diligence","公開されているClaude Code用の図解スキルを、クローンせずにデューデリジェンスした",[80,204],{},[36,206,208],{"id":207},"_7-家族の店のサイトに父の自作蒸気機関車の写真を足した","7. 家族の店のサイトに、父の自作蒸気機関車の写真を足した",[15,210,211],{},"棚の上にレールと枕木ごと据えられた展示の写真を渡して、該当ページに追加させた。ところが本文には「ガラステーブルの下に置いてある」と書いてあった。写真と文章が食い違っていたので、本文を写真の事実に合わせて直した。",[15,213,214],{},"表示確認では Chrome DevTools MCP が120秒応答せず、ヘッドレスに切り替えてスクリーンショットを撮らせた。デプロイ後の push はリモートの新規コミットで弾かれ、差分を見たらデプロイ前処理が改行コードだけ書き換えていた。作業ツリーを戻してから push し直している。",[80,216],{},[22,218,219],{"id":219},"今日の試行錯誤",[221,222,223,245],"table",{},[224,225,226],"thead",{},[227,228,229,233,236,239,242],"tr",{},[230,231,232],"th",{},"#",[230,234,235],{},"テーマ",[230,237,238],{},"試したこと",[230,240,241],{},"結果",[230,243,244],{},"気づき",[246,247,248,266,283,300,317,334,351,368,385,402,419],"tbody",{},[227,249,250,254,257,260,263],{},[251,252,253],"td",{},"1",[251,255,256],{},"evals の置き場所",[251,258,259],{},"mdx-playground の中に閉じるか、全リポジトリで使うかを聞いた",[251,261,262],{},"別リポジトリへ切り出し",[251,264,265],{},"中に埋めると後で剥がせない。使う範囲を先に決める",[227,267,268,271,274,277,280],{},[251,269,270],{},"2",[251,272,273],{},"evals の報告面",[251,275,276],{},"完了報告の末尾に品質サマリを出す案",[251,278,279],{},"Chrome で開く report.html に変更",[251,281,282],{},"ターミナルの完了報告は読まない。開かれる画面が報告面",[227,284,285,288,291,294,297],{},[251,286,287],{},"3",[251,289,290],{},"バックアップの停止",[251,292,293],{},"鮮度監視の表示を信じていた",[251,295,296],{},"8日間 push に失敗していた",[251,298,299],{},"送り出しの成否と、送り先が受け取ったかは別",[227,301,302,305,308,311,314],{},[251,303,304],{},"4",[251,306,307],{},"その復旧",[251,309,310],{},"別セッションに調査と復旧を投げた",[251,312,313],{},"復旧した",[251,315,316],{},"セッション間通信が実務で回った初日",[227,318,319,322,325,328,331],{},[251,320,321],{},"5",[251,323,324],{},"2台の設定衝突",[251,326,327],{},"1つのファイルを共有したまま運用",[251,329,330],{},"hosts 分離の計画を作成（未実行）",[251,332,333],{},"奪い合う構造は直すのではなく分ける",[227,335,336,339,342,345,348],{},[251,337,338],{},"6",[251,340,341],{},"統計チェーンの欠測",[251,343,344],{},"毎朝コマンドは回していた",[251,346,347],{},"Mac では該当ステップが丸ごとスキップ",[251,349,350],{},"回している実感と、実際に回った範囲は違う",[227,352,353,356,359,362,365],{},[251,354,355],{},"7",[251,357,358],{},"更新結果の確認",[251,360,361],{},"出てきた更新ページを見た",[251,363,364],{},"3つだけだったので聞き返した",[251,366,367],{},"完了報告の粒度が粗いと抜けが見えない",[227,369,370,373,376,379,382],{},[251,371,372],{},"8",[251,374,375],{},"ホットキーが効かない",[251,377,378],{},"設定が壊れたと疑った",[251,380,381],{},"常駐ツールが起動していなかった",[251,383,384],{},"壊れたのではなく、上がっていなかった",[227,386,387,390,393,396,399],{},[251,388,389],{},"9",[251,391,392],{},"外部の図解パターン集",[251,394,395],{},"クローンして中を見るか",[251,397,398],{},"固定SHAで隔離展開し静的検査のみ",[251,400,401],{},"外部リポジトリは入れる前に中身を見る",[227,403,404,407,410,413,416],{},[251,405,406],{},"10",[251,408,409],{},"家族の店のサイトの表示確認",[251,411,412],{},"Chrome DevTools MCP でスクショ",[251,414,415],{},"120秒応答せず、ヘッドレスへ切替",[251,417,418],{},"表示確認の経路は複数持っておく",[227,420,421,424,427,430,433],{},[251,422,423],{},"11",[251,425,426],{},"同サイトの push",[251,428,429],{},"デプロイ後に push",[251,431,432],{},"弾かれた。前処理が改行コードだけ書き換えていた",[251,434,435],{},"差分は中身を見ないと意味のある変更と区別できない",[80,437],{},[22,439,440],{"id":440},"今日の学び",[53,442,443,446,449,452],{},[56,444,445],{},"監視が「正常」と出していても、それは送り出した側の記録でしかない。受け取った側まで見ないと、止まっていることに気づけない",[56,447,448],{},"毎朝同じコマンドを叩いていても、その日どこまで走ったかは端末で変わる。Mac では決算と統計の取り込みが仕様どおり飛んでいた",[56,450,451],{},"報告は、読まれる場所に置かないと存在しないのと同じになる。ターミナルの完了報告をやめて、朝に開かれる画面へ移した",[56,453,454],{},"2台で1つの設定ファイルを共有すると、どちらかが必ず上書きされる。分岐条件を足すより、ファイルごと分けるほうが早い",[80,456],{},[22,458,459],{"id":459},"明日やること",[53,461,464,474],{"className":462},[463],"contains-task-list",[56,465,468,473],{"className":466},[467],"task-list-item",[469,470],"input",{"disabled":471,"type":472},true,"checkbox"," 図解パターン集の決裁4問に答える（コネクタの規律を SVG 図解スキルに取り込むかどうか）",[56,475,477,73,479,481],{"className":476},[467],[469,478],{"disabled":471,"type":472},[109,480,111],{}," の hosts 分離を実行する（計画は作ったが移行は未着手）",[80,483],{},[22,485,486],{"id":486},"関連記事",[53,488,489,493,497,501,505,509],{},[56,490,491],{},[75,492,78],{"href":77},[56,494,495],{},[75,496,99],{"href":98},[56,498,499],{},[75,500,126],{"href":125},[56,502,503],{},[75,504,162],{"href":161},[56,506,507],{},[75,508,182],{"href":181},[56,510,511],{},[75,512,202],{"href":201},{"title":514,"searchDepth":515,"depth":515,"links":516},"",2,[517,518,528,529,530,531],{"id":24,"depth":515,"text":24},{"id":34,"depth":515,"text":34,"children":519},[520,522,523,524,525,526,527],{"id":38,"depth":521,"text":39},3,{"id":84,"depth":521,"text":85},{"id":104,"depth":521,"text":105},{"id":131,"depth":521,"text":132},{"id":167,"depth":521,"text":168},{"id":187,"depth":521,"text":188},{"id":207,"depth":521,"text":208},{"id":219,"depth":515,"text":219},{"id":440,"depth":515,"text":440},{"id":459,"depth":515,"text":459},{"id":486,"depth":515,"text":486},"diary",null,"生成パイプラインに品質を測る層がないと気づいて評価基盤を1日で立ち上げた。同じ日に、設定のバックアップが8日間 push に失敗し続けていたことも判明する。2台運用でたまった摩擦を朝のうちに片づけた記録。","md",{},"/2026-08-09-diary","daily-log",false,"2026-08-09T00:00:00.000Z",{"title":5,"description":534},"make-diary","2026-08/2026-08-09/diary-2026-08-09",[545,546,547,548,549,550],"日記","evals","Claude Code","バックアップ","統計データ","マルチデバイス運用","adKEgh3ePuPT64sR90wZguhzuJbDr1wOgjOwPLU4F88",[],[554,555,559,563,567],{"title":126,"path":125,"publishedAt":540},{"title":556,"path":557,"publishedAt":558},"2026年8月4日の開発日記 - 守ってくれているつもりの仕掛けが、止まっていた","/2026-08-04-diary","2026-08-04T00:00:00.000Z",{"title":560,"path":561,"publishedAt":562},"2026年7月29日の開発日記 - 朝いちで ~/.claude が消えた日に、7本の作業が並走した","/2026-07-29-diary","2026-07-29T00:00:00.000Z",{"title":564,"path":565,"publishedAt":566},"2026年8月10日の開発日記 - 図解カタログ27型をグリッドに載せ直した","/2026-08-10-diary","2026-08-10T00:00:00.000Z",{"title":78,"path":77,"publishedAt":540},"https://log.eurekapu.com/og/blog/2026-08-09-diary.png?v=2026-08-09T00%3A00%3A00.000Z&title=2026%E5%B9%B48%E6%9C%889%E6%97%A5%E3%81%AE%E9%96%8B%E7%99%BA%E6%97%A5%E8%A8%98%20-%20%E8%A9%95%E4%BE%A1%E5%9F%BA%E7%9B%A4%E3%81%AE%E7%AB%8B%E3%81%A1%E4%B8%8A%E3%81%92%E3%81%A8%E3%80%818%E6%97%A5%E9%96%93%E6%AD%A2%E3%81%BE%E3%81%A3%E3%81%A6%E3%81%84%E3%81%9F%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97&author=Kei%20Komatsu&sig=bc65feac957b55cb",1786424502704]