2026年10月15日の開発日記 - R2のWAV 4,127件の削除、囲碁のルール講座、財務諸表講座の動画を直す

daily-log

2026年10月15日の開発日記

朝いちばんの仕事は、R2 から WAV を消すことだった。 消す一覧は Codex の判定を通っていた。 ところが、消す処理を書いたスクリプトのほうはレビューを通っていなかった。 「むちゃくちゃ怖い」と言って、安全版の削除スクリプトと復元スクリプトを作り直させ、試しの10件を自分で消してから 4,127 件に手を付けた。 同じ日に動かしていたほかのセッションでも、手を動かす前に一度立ち止まって確かめる場面が続いた。 確かめた先では、R2 に届いていなかった mp3 が100本見つかり、コミット前のレビューから計画書が外れかけていたことも分かった。

今日のタイムライン

タイムライン

今日やったこと

1. R2 の TTS 音声 WAV の削除と、配布 Excel の命名ルール

安全版の削除スクリプトは、Codex のレビュー2回で通った。 試し削除10件のあと、全 4,127 件(--jobs 8)を自分で実行した。 削除は途中で一度止まった(残り 1,882 件)が、R2 を全件照合すると、消えていたのは削除一覧に載せたものだけだった。 Phase 5 では Google Drive と Dropbox(rclone)に 254 件を退避し、全件一致を確かめた。 R2 を操作するスクリプトはレビュー3回で通してから①〜④を自分で実行し、R2 全体は 9.77 GB に収まった。

主な成果:

  • 並行して進めた IB フォーマットの統一で、配布 Excel の名前を「日時+_提出版」に決めた
  • V2 を「旧版」「新版」に改め、139 冊の外部リンクを0にした

詳細: R2のTTS音声WAV 4,127件を安全に消す:Codexレビュー必須の削除スクリプトとDropbox退避、配布Excelの命名ルール


2. 財務諸表ストーリー版の動画プレイヤー

ストーリー版(36回)を 07:43 に本番へ公開したあと、画の下の灰色の帯をやめて列いっぱいに広げるよう頼んだ。 PC版(横)を足し、10:15 に本番へ出した。 字幕の帯の下には、文の区切りに線が入り、「何文目/全何文」と時刻が出る進捗バーを付けさせた。 午後はフィードバック6件を6つの観点にまとめさせ、説明の回10本のうち9本を直してコミットした。 取引の回25本(PC版)では、⑥ 財務諸表の段で ③ 仕訳帳と ⑤ 残高試算表を隠し、⑥ 全体が真ん中に来るようにさせた。

主な成果:

  • 音声 mp3 252本(約86 MiB)の R2 アップロードが途中で落ちていたので、18回分(107本)を上げ直させた
  • 252本すべてが 200 を返すことを確かめた

詳細: 財務諸表ストーリー版の動画プレイヤーを直す:字幕領域の拡張、区切り付き進捗バー、フィードバックの観点化


3. 参考書の図を講座の Web スライドへ移す

ある資格試験の参考書の図を Web スライドへ移す作業で、ファイル31と33では、表題用の Title_slide レイヤーに図も描かれていた。 スクリプトがこのレイヤーを丸ごと隠していたのが原因だった。 ファイル単位で隠し方を切り替える直しを入れてもらい、31は4ページから26ページに、33は27ページすべてに図が入った。 いちばん重い34は、前半と後半に分ける案を自分から出したが、分けずに流し切った。 Illustrator が 6.6GB まで膨らんだあと、81枚を18分で書き出し終え、41本すべての書き出しが済んだ。

主な成果:

  • 羊が歩く SVG アニメは15コマで採用した
  • Q-002 の3枚目で試した取引の図の動きは、「全部そろえるのはかなり難しく面倒」と判断して取り下げた
  • デプロイの途中で、10/14 以降は電子書籍版の画像746枚が R2 に1枚も無かったと分かった。羊の図19枚と一緒にアップロードさせ、講座が参照する画像749枚が本番ですべて200になった

詳細: Illustratorスクリプトで参考書の図を講座スライドへ移した記録(メモリ増加、アートボード追加のスキル化、SVGアニメの取り下げ)


4. 囲碁のルールをストーリー版講座にする

X のポストを起点に、囲碁のルールのストーリー版講座を計画させた。 計画書は Codex のレビューで3回指摘を受け(1回目3点、再レビュー1点、eurekapu 版で駄目詰めの1点)、そのたびに直させた。 実装は13講153ステップで、テスト51件が通り、コミットは4件になった。 公開OKを出し、講座一覧の区分は「なるほど研究室」を選んだ(最初の案「一般教養」は上から目線すぎるので見送った)。 公開設定は 40682a2c でコミット済みだが、本番デプロイはまだしていない。

主な成果:

  • 管理者でもコンピュータ講座が見られない件は、コードを変えていない。原因は 17:04 の別セッションの本番デプロイ直後の一時的な失敗(524/503)だった
  • コミット前 Codex レビューゲートが「差分が上限の1万行を超えた」で止まった件では、1回目の改修で計画書までレビューから外れていた。待ったをかけ、書き起こし、データ、pandoc 生成の .html は外し、計画書の .md はレビューに残す形に決めた

詳細: 囲碁のルールをストーリー版講座にした1日:日本囲碁規約で裏取りした計画書から13講の公開設定、Codexレビューゲートの差分上限の見直しまで


5. 財務3表の動画講座の改善と、間接法の導入

午前は、旧講座の音声を Mac の Whisper で書き起こしてもらい、391本を今の文と照合して食い違いを22件に絞った。 台本から同じ読みを洗い出すと、「百五十万円」を含む拍は9本すべてで「五十万円」に聞こえた。 系統的な崩れだが、原因はこの日の時点ではまだ分かっていない。 夕方、ストーリー版が間接法の仕組みを説明していない(台本では「ずれを一つずつ直す」の一言だけ)と気づき、判断4件を推奨案で決めた。 導入はボリューム多めでよいと伝えて実装を進めてもらった。

主な成果:

  • 書き起こし391本と食い違い22件の洗い出し
  • 間接法の導入の実装(変わった12本の仮の声の合成は、12本中6本の完了報告のあと PC のメモリ不足で途中で止まった。未コミット)

詳細: 財務3表の動画講座を改善した日:Whisperの書き起こしで読み上げの聞き違いを洗い出し、ストーリー版にキャッシュフロー計算書の間接法を足す


今日の試行錯誤

#テーマ試したこと結果気づき
1WAV の削除(06:31)安全版の削除スクリプトと復元スクリプトを作らせて Codex レビュー2回。10件で試し削除してから 4,127 件を削除試し10件は成功し、対象外の変化0。全件削除は途中で止まり(残り 1,882 件)、再実行で完了消す一覧と消す処理は、別々にレビューする
2配布 Excel の外部参照(06:31)Excel の相対パスを絶対パスに。perl の置き換えが当たらず -Mutf8 を付け、日本語パスの化けは BOM 付きの呼び出し用ファイルで回避139 冊すべてで外部リンク0。994 セル一致、動的配列 27 個を保持命名は _Final→日付+_Final→_提出版 と変遷した
3R2 の mp3 の実在確認(06:30)引き継ぎを読ませ、R2 の実在を全数 HEAD で確かめさせた252本中152本があり、100本(18回分)が未着。上げ直して252本すべて 200アップロードの完了は、R2 側の実在で確かめる
4マインドマップの余白(06:30)部品に bare 指定を足させて灰色の余白を消した根から右下へ曲線が出た。枝の線が portrait だけを見て向きを決めていたのが原因で、判定を直させると縦のツリーに戻った見た目の指定を変えると、別の判定に響く
5PC版の全数検証(06:30)全数検証を流させたところで、対象が膨大ではないかと確認した残り108件を1件ごとに時間切れを付けて流し直させ、PC版108件とスマホ版20件がすべて通過変えた版だけを全数にし、変えていない版は境目の1チャプターに絞れば足りた
6図の書き出し(07:36)ファイル31の書き出し原因を診断(Perl の置換、出力名の衝突、jsx の日本語コメント、heredoc のバックスラッシュ)原因は Title_slide レイヤーの丸ごと非表示。ファイル単位の切り替えで31は26ページ、33は27ページファイルによってレイヤーの使い方が違う
7重いファイルの書き出し(07:36)34をメモリ監視しながら単独で書き出し(前半と後半に分ける案も出した)分けずに流し切り、6.6GB まで膨らんだあと81枚を18分で完了分割せずに済んだ
8囲碁講座の計画書(07:53)Codex でレビュー→決裁6件→eurekapu 用に作り直して再レビュー1回目3点、再レビュー1点(規約第八条)、eurekapu 版で1点(駄目詰め)を直して「着手可」セキの扱いは、日本は第八条、中国は第9条の条文に当てて直した
9レビューゲートの差分上限(08:27)書き起こしと計画書を両方ともレビュー対象から外した待ったをかけ、計画書の .md は残して .txt .srt .json .tsv .csv .html を外す形に決定外すのは、読んでもレビューにならないものだけ
10書き起こし(09:31)mlx_whisper に複数ファイルをまとめて渡した最初の1本しか出力されず、1本ずつ呼ぶ形でやり直して391本そろったまとめて渡すと最初の1本しか出ないことがある
11カメラの寄り(12:23)⑥ のカメラを、③〜⑤ を隠して ⑥ を真ん中に置く形に直させた1.31〜1.44倍の「少しだけ寄る」画が残ったため、しきい値を 1.5 に上げさせた中途半端な寄りは、しきい値で切る
12取引の図の動き(12:46)Q-002 の3枚目で取引の図を SVG アニメにする試作取り下げて元の図に戻した(羊の15コマは残した)動かせることと、そろえられることは別
13CF精算表の場面(17:22)「減価償却の直接法と間接法」の場面が表示できないように見えた新しいタブで開き直すと表示され、S1-3 は再生バーが0:54まで進んだ読み込みが止まったタブを疑う

今日の学び

  • 削除は「何を消すか」と「どう消すか」を別々にレビューする。消す一覧が Codex の判定を通っていても、消す処理そのものはレビューを通っていなかった
  • 直接の指摘を6つの観点に言い換えておくと、指摘していない回にも同じ物差しを当てられる。説明の回10本のうち9本に当てはまる場面があった
  • 書き起こしで照合すると、文は正しいのに声が違う、という食い違いを拾える。「百五十万円」の崩れは1本ではなく、9本すべてに共通していた
  • ゲートから外すのは、読んでもレビューにならないものだけにした。計画書の .md はレビューに残した

明日やること

  • 囲碁のルール講座を本番へデプロイする
  • 間接法の導入で止まった仮の声の合成(12本中6本まで報告済み)を再開する
  • 「百五十万円」が「五十万円」に聞こえる原因を調べる

関連記事

#日記#動画講座#R2#Codex#Illustrator#囲碁