2026年10月13日の開発日記 - 父のPCの退避をセッション分担で進め、USBのビット化けをSHA256で見抜いた

daily-log

2026年10月13日の開発日記

父の PC の個人データを USB に書き終え、あとは抜くだけのつもりでいた。 ところが、USB に置いた tar の SHA256 が、C ドライブ側と一致しなかった。 調べると、USB が1ビットずつ化けて記録していた。 書き込みが終わったことと、中身が正しいことは別の話だった。 この日は、ほかの作業でも「終わったように見えるもの」を一つずつ確かめ直していた。

今日のタイムライン

タイムライン

今日やったこと

1. 父のPCのデータ退避を、左右2つのClaude Codeに分担させた

父の Windows 11 PC にリモートデスクトップで入り、左右2つの Claude Code に図面データと個人データの退避を分担させた。 筆者は手元のセッションから、両方の進捗を見て回った。 父の PC 側で Remote Control をオンにすると、2つのセッションが手元の一覧に現れ、メッセージで直接やり取りできるようになった。 図面データは DXF に変換させ、115件すべてが変換でき、失敗は0件だった。 個人データは、メモリ不足でのコピー停止と USB のビット化けを経て、Wi-Fi(SMB)で自分の Mac へ送り直した。

主な成果:

  • 図面データ115件を DXF に変換し(失敗0件)、図面の一覧 HTML も作った
  • robocopy を8本同時で回したらメモリ不足で強制終了したので、同時書き込みを1に下げて続きから再開させた
  • USB 上の tar の SHA256 不一致から、USB のビット化けに抜く前に気づいた
  • Mac への転送は 13:25 に完了し(25.1分)、一覧の CSV にある全15,573件のサイズと SHA256 がすべて一致した

詳細: 家族のWindows PCのデータ退避をClaude Codeの複数セッションで分担した記録:USBのビット化けからWi-Fi転送へ


2. 動画講座の収録音声を台本と突き合わせ、書籍版スライドを講義ノートへ移す計画を立てた

基礎知識の冒頭3本の収録音声を Whisper で文字起こしさせ、台本と比べさせた。 旧スライドの台本を基準にすると、話した32分36秒のうち16分32秒がアドリブと判定された。 プロンプター基準で比べ直すと、商品売買の動画では23分49秒のうち8分50秒(約37%)がアドリブだった。 講義ノートの抜けは移行で落ちたのではなく、移行元にも最初から無かったと分かった。 講義ノート1,369枚と書籍18本(計1,750ページ)の差を見て、書籍版を講義ノートへ入れる計画書を作らせた。

主な成果:

  • 正本を作業ディレクトリへコピーさせ、59本のコピーに Illustrator を走らせた(58本成功)
  • 図の見た目での照合は1,286枚中957枚で頭打ちだった。アートボード名から引く方法に切り替え、対応がほぼ決まった
  • 次のセッションで、スライド1,286枚と原稿1,378件のどちらも未判定を0件にした

夕方は、別のセッションで Git 講座の第3部と第4部を push し、本番へデプロイした。 CF精算表ストーリー版の R2 へのアップロードは、Step 3〜7 の17本が制作画面でまだ「完了」になっていないので保留にした。 そのチェックを「要チェック」として Google タスクに登録させた。

詳細: 動画講座の収録音声を台本と突き合わせ、書籍版スライドを講義ノートへ移す計画を立てた


3. クーポン一覧ページを二重レビューして直し、クリック計測を足した

GitHub にだけあった動画講座のクーポン一覧ページ(別の AI エージェントが作ったもの)を手元にクローンさせた。 Claude Code と Codex のレビューを突き合わせると、結論は「今すぐ壊れている所はないが、毎月の更新で誤表示しやすい所がある」だった。 筆者は「レビューじゃないよ。修正すべきであれば全て直してほしい」と伝え直し、全部直させた。 午後は計画のレビューで、Cloudflare Web Analytics だけではクリック数を取れないと分かり、いったん作業を止めた。 クリック計測を足す方針を選び、本番で閲覧数とクリックの両方が記録されるところまで確かめた。

主な成果:

  • 1講座だけ価格の下限の都合で他と揃えられない事情を、ドキュメントに残させた
  • ビルド失敗(Analytics Engine が未有効)を、有効化と反映待ちで越えた
  • 値をコピーする前に閉じてしまった読み取り専用の API トークンを、ローテーションで作り直した
  • パスワード管理ツール経由で、集計スクリプトから閲覧数とクリック数を取れることを確かめた

詳細: 別のAIエージェントが作ったクーポン一覧ページをCodexと二重レビューし、Cloudflareでクリック計測を足した


4. 統計チェーンの予備経路を足し、コミットゲートの誤検知を直した

台湾の外銷訂単は、公開 CSV が何度取り直しても 8/20 版(7月分まで)しか返さなかった。 そこで、経済部の新聞稿に付く附表 xlsx(表2)を予備経路として Claude Code に実装させた。 Node の fetch は Cloudflare に 403 で弾かれ、curl は通った。 韓国の品目別旬報は10月上旬分を D1 に10件追加させたが、SSD の2行が null で入ってテストが落ちたので、その2行を消して TS を再生成させた。 記事 URL の sk- に反応してゲートが Codex レビューを飛ばしていた件は、「検知パターンを修正しましょう」と判断し、後読みの条件で誤検知を止めさせた。

主な成果:

  • 予備経路のテストを6件足し、15件が通った。再実行しても改定0件、exit 0 で冪等だった
  • 本物のキーの形をした文字列は、引き続き検知されることも確かめた
  • 非公開にしたい記事が公開の SQL ダンプに残らないよう、_local-unpublished へ移した

詳細: 台湾の外銷訂単CSVが止まったので経済部の新聞稿xlsxを予備経路にした(韓国品目別旬報の欠けとコミットゲートの誤検知も直す)


5. 作業PCのメモリを空け、Illustratorで消えたフォントの1ウェイトを追った

空きメモリが3.1GBまで減ったので、/procs で走りっぱなしのプロセスを洗い出させ、4つを選んで止めた。 空きは4.2GBに増えたが、止めた4つの合計約2.2GBに対して、増えたのは1.1GBだった。 Aqua Voice を再起動すると AquaWindowsBridge は1,350MBから33MBに下がり、空きは9.6GBまで戻った。 それでも13:06には、dev サーバーがメモリ不足で自動停止された。 夕方は Illustrator が AXIS ProN の UltraLight を「無い」と表示したので、購入メールとバックアップをたどらせた。

主な成果:

  • PC にあるのは6ウェイトだけで、購入メールからは7ウェイトセットの購入(2017年11月 CD、2020年8月 ダウンロード)を確認した
  • Dropbox のバックアップは、2019年2月25日に作った時点ですでに UltraLight が欠けていた
  • CD-ROM がどこにあるかは、まだ分かっていない

詳細: 作業PCのメモリ逼迫を/procsとAqua Voiceの再起動で戻し、Illustratorで消えたAXIS UltraLightを購入メールとバックアップから追った


6. そのほか

朝は、Mac 側のセッションに読み上げ音声の確認を頼んだ。 章の先頭3か所でエラーも 404 も0件という返信が届き、残りは自分の試聴だけになった。 ほかに、買い物の下調べと、契約しているサブスクリプションの整理を非公開のメモに残した。


今日の試行錯誤

#テーマ試したこと結果気づき
1父のPC(08:04)リモートデスクトップの画面に文字を貼り付けて指令を送った1回目は入らず、試し直しで入った。のちに Remote Control をオンにし、メッセージで直接やり取りする形に切り替えた画面越しに打つより、セッション同士のメッセージのほうが確実だった
2父のPC(08:04)個人データを USB へ8本同時の robocopy でコピーさせた9:17 にメモリ不足で強制終了した(メモリ7.9GB、空き約1.8GB)。同時書き込みを1に下げて再開させた非力な PC では並列度が裏目に出る
3父のPC(08:04)残り4〜6時間の見込みだったので、tar 1ファイルにまとめて USB に書かせたUSB 上の tar の SHA256 が不一致。USB が1ビットずつ化けていた照合したから、抜く前に気づけた
4父のPC(08:04)Wi-Fi(SMB)で自分の Mac へ送らせたゲスト接続の拒否と「Windows ファイル共有」の未有効で2回止まり、5GHz への切り替えで IP が変わって中断。13:00 に送り直し、13:25 に完了した止まるたびに原因が1つずつ見えた
5父のPC(08:04)再起動用ターミナルを wt で開かせ、claude --continue も試したwt が ; を区切りとして扱い、Claude Code が起動しなかった。--continue は "No conversation found to continue" だった普通に起動し直すのが早かった
6講座の音声(12:21)文字起こしと比べる基準を「いまのスライド」→「旧スライドの台本」→「プロンプター PDF」と替えたプロンプター基準で商品売買のアドリブは約37%(8分50秒/23分49秒)。PDF は pdftotext で文字化けし、PyMuPDF に切り替えた基準を替えると、アドリブの割合が大きく変わる
7講座の音声(12:21)スライドと書籍のページを図の見た目で照合させた1,286枚中957枚で頭打ち。アートボード名から引く方法で59本中58本が成功した見た目より、書き出し元の名前のほうが確実だった
8講座の音声(16:42)一致度が中か低、または対応なしの組を画像で1件ずつ確かめさせたスライドと原稿の未判定が0件。本当の漏れは17ページで、43ページは誤検出だった自動照合の候補には誤検出が混じる
9クーポン(09:01)Claude Code と Codex で二重レビューし、「レビューではなく修正」と指示を出し直した全部直させ、push 前に確認を挟んで本番反映し、本番で4点を確かめさせた「いま動く」と「毎月の更新で崩れない」は別物だった
10クーポン(15:52)クリック計測を足し、ビルド失敗のあと Analytics Engine を有効化して再実行した再実行も失敗し、次の push で成功した(反映待ちと判断)。トークンはローテーションで作り直した有効化の直後は、まだ未有効として扱われることがある
11統計(07:01)外銷訂単を新聞稿の附表 xlsx から Node fetch で取ろうとした403 で弾かれ、curl では通った予備の取得元は同じ統計の新聞稿にあった
12統計(07:01)誤検知の箇所を洗い出そうとしたゲートの迂回にあたるとして権限で拒否された。検知パターンに後読みを足して誤検知が消えたゲートを残したまま直す道を選んだ
13メモリ(11:26)/procs で4プロセスを止め、続けて Aqua Voice を再起動した空きは3.1GB→4.2GB→9.6GB。AquaWindowsBridge は1,350MB→33MB止めた分だけ空きが増えるとは限らない
14フォント(16:20)PC 内のフォントを確かめ、購入メールと Dropbox のバックアップを検索させたPC は6ウェイトのみ。バックアップも2019年2月25日の作成時点で UltraLight が欠けていた「取ってある」バックアップでも、中身の欠けには気づけない

今日の学び

  • 書き込みが終わっても、USB の中身が正しいとは限らない。SHA256 で照合してから抜くと、ビット化けを見逃さずに済む。
  • 画像の見た目でスライドと書籍を突き合わせると、1,286枚中957枚で止まった。書き出し元のアートボード名を引いたら、対応はほぼ決まった。
  • 誤検知を迂回しようとすると、権限で止まる。検知パターンを直し、本物のキーの形が引き続き捕まることまで確かめれば、ゲートを残したまま通せる。

明日やること

  • CF精算表ストーリー版の Step 3〜7(17本)を制作画面で「完了」にし、R2 へのアップロードを進める
  • Mac で読み上げ音声を試聴し、Google タスクを閉じる
  • ローテーションした API トークンの有効期限が1年になっているか確かめる
  • AXIS フォントの CD-ROM を探し、UltraLight を入れ直す

関連記事

#日記#Claude Code#データ移行#SHA256#Codex#統計データ#動画教材