財務諸表ストーリー動画に「帳簿なし版」を追加:PC横26本の台本と音声合成、グレーアウトとレビュー保存400の修正
財務諸表ストーリー動画に「帳簿なし版」を追加した
財務諸表ストーリー版の PC 版(はじめにの回)を開きながら、Claude Code に新しい計画を1本頼んだ。 今は PC 版が横、スマホ版が縦になっている。 そこへ「iOS 版の、いわゆる帳簿を見せない版」を足してほしい、という依頼である。
画面の左には取引、右には財務諸表(CS、BS、PL、SS)が並んでいる。 これだけで説明する版にしたい。 足りなければ、5つの要素とその説明の部分だけは使ってよい、とも伝えた。
この依頼で「iOS 版」と呼んだのは自分である。 あとで、その名前に自分がつまずく。
計画書と決裁
最初に開いていたのは 3210 番のサーバーだった。 Claude Code に調べさせると、これは fs-ios の作業ツリーで、未マージのコミットが3つあった。 そこで計画は 3200(main の作業ツリー)を基準にすると伝えた。
計画書には svg-diagram スキルで図を入れさせた(今の8段と、新しい版の段と画面の配置)。 Codex レビューを通してから、判断が要る4件を決裁フォームの3択ボタンで出してもらった。 回答とコメントを計画書に戻して確定版にした。
名前は、会計入門ストーリーにすでに「iOS 版」という版があったので、それと同じ扱いにしてもらった。
URL は /story/ios/{チャプター} で、下書きなので 3200 でだけ開ける。
iOS アプリへ載せるのは、Web で固まってから別の計画にする。
No01 の試作まで
「y」で着手させた。 最初に書かせたのは、既存の回のコマが変わらないことを固定するテストである。 エンジンを触る前に置いておくためだ。 既存の回の要約を2回流して同じ値になるのを確かめてから、エンジンに「5つの要素の枠」と「枠をまたいで飛ぶ玉」を足させた。
段の表示は 取引 → 5要素 → 財務諸表 → まとめ になった。 関連テスト325件が通り、iOS 版向けに足した5つの検査も通った。
版の配線では2回つまずいた。
- 下書きの台本を本番のチャンクから外す条件を
import.meta.devで書こうとしたが、Vitest ではこれがfalseになる。本番ビルドでだけ真になるimport.meta.env.PRODで切り分けた - レビューで、リダイレクトはするのにクライアント側の処理が進んで 404 を投げる、と指摘された。その場合は最初のチャプターの slug で本文を出すようにした
途中で Chrome DevTools MCP が切れたので、画面の確認は HTTP の応答で代えた時間がある。 No01 はまず音声なしで、文字数から見積もった仮の時刻で画面だけが動く状態にした。
合成はこの Windows PC でやる
ここでコンテキストが尽き、セッションが引き継がれた。
合成は Mac に回す段取りになっていた。 けれど、この Windows PC でも合成できるし、メモリも余っているはずだ。 こっちでやればいいのでは、と伝え、ついでに「どこを合成するんでしたっけ」と確かめた。
答えは No01「出資金の払込(株式会社の設立)」の1本だけだった。
7つの段、24文の仮ナレーションである。
空きを測らせると、メモリが 11.2GB、GPU が 6.2GB で、ほかの Irodori は動いていなかった。
声は財務諸表の本編と同じ録音(--refs-set fs)を使った。
「iOS 版」は何の版だったのか
合成の説明を読んで、「ちょっと待って」と止めた。 iOS 版の財務諸表ストーリー版というのは、iOS の横向き版のことだったか。 そうではない。 自分が頼んだのは帳簿を見せない版である。
iOS と言えば、縦のストーリー版もすでに作っている。 これでは見分けがつかない。 そこで、帳簿を見せない版という中身が伝わる名前に変えてもらった。
新しい名前は「帳簿なし版」、URL は /story/nobooks/ になった。
ID と URL の付け替えは済んだが、日本語の名前の置き換えだけが当たっておらず、やり直しになった。
版の列の名前、パンくず、音声の読み込み(全24文、2分38秒)、旧 URL が 404 になることを確かめさせ、コミットさせた。
続けて、ワークツリーを分けたままの作業を 3200(メイン)へ統合できるか聞いた。 メインへマージして 3200 で 200 が返ることを確かめ、作業用の 3220 はポートを指定して止めた。
グレーアウトすべきでない場面
3200 で No01 を見ていて、引っかかる場面があった。 ハイライトしている最中に、財務諸表の部分がグレーアウトしている。 この場面ではグレーアウトすべきでない、と指摘した。
Claude Code には、先に「ハイライトしている項目を持つパネルは暗くしない」というテストを書かせた。 旧台本では 55秒、61秒、67秒、139秒の場面で計6か所が落ち、修正後に通った。 0:57 のコマでは、財務諸表が明るく、①と②が暗くなっていた。
このとき字幕の不具合も見つかった。
字幕の数字の変換は fs-no-NN に当てはまる ID にしか効かず、帳簿なし版の ID が外れていた。
これと「儲け」の表記を直し、変わった「儲けた」の1文だけを合成し直させた。
26本の台本をそろえる
No02 を書く前に、下書きの台本を本番のバンドルから外すこと、補助関数の共通化、テストの締め直しを先にやらせた。 最終値のテストは、PL の行、利益剰余金、BS の貸借一致まで見るようにした。
ここからは並列のエージェントに残りの回を任せ、そのあいだに No23〜No25 と最初の回「4つの表と5つの要素」を書かせた。
途中で 3200 が2回落ちた。
1回目は Claude Code の変更で約5分、2回目は scenes.ts の閉じ括弧 ] が抜けて 500 になり、約30秒だった。
合成の差し替えでも1つ見つかった。
減価償却費の文は自分の録音に差し替えるが、その index は台本の文ではなく「。」で分けた文で数えていた。
前の文に「。」が2つあると番号がずれる。
ほかのセッションの合成が終わるのを待っていたおかげで、バッチが始まる前に直せた。
Codex レビューはモデルが混んでいて回らなかった。 そのコミットはレビューなしで入ったので、No12(言い分けの回)と No20(減価償却の回)は Claude Code に代わりに読み直させた。 講座の画面には、はじめに、期中取引、決算、翌期の区分で26本が並んだ(取引25本と、最初の1本)。
「お金が出ていく理由」の言い方
ナレーションの1文に引っかかった。
会社からお金が出ていく理由は四つです。資産に変えた、使った、借りていたお金を返した、株主に分けたです。
「使った」だけでは分かりづらいので「稼ぐために使った」にする。 「借りていたお金を返した」は「負債を返済した」にする。 「分けた」は砕けすぎているので「株主に分配した」にする。 指示を出しながら、その場で決めていった。
順番は、枠が光る順と合っているのでそのまま残した。 言い回しは「資産に変えた、稼ぐために使った、負債を返済した、株主に分配した」になった。
同じ言い方はほかの回にもあった。 バッチは No03〜05 を古い言い方で合成し終えていたので、No02、04、05 は変えた1文だけを合成し直した。 本編の No02 の台本も直した。
その後、main が origin とずれていた(17コミット先行、23コミット遅れ)。
マージで衝突が2つ出て、両方を時間順に残して解いた。
関連テスト579件が通ってから push し(8b6d56cbd)、Mac には cross-machine-message で引き継ぎを送った。
Mac のデバイス ID が変わっていたので、SSH のホスト鍵の指紋で本物の Mac か確かめてから送っている。
Mac からは、pull と本編 No02 の仮の音声の作り直しが済んだと返ってきた。
最後に、残りの合成がすべて終わった。 19本(はじめに、No03〜17、No23〜25)と No18〜22 の5本が、どれもグリッド検査を通った。 No20 では減価償却費の4文が自分の録音に差し替わり、話す速さを合わせる倍率は 0.79〜0.88 だった。 3200 の制作画面で26本を順に開き、「台本と音声が合っていない」「音声は未合成」の表示も、画面のエラーも出ないことを確かめさせた。
レビュー保存の 400 Bad Request
講座の画面で「完了にする」を押すと、保存に失敗した。
保存できませんでした: [POST] "/api/dev/excel-scene/review": 400 Bad Request
レビューの保存は、別に立てた開発用の API(scripts/excel-scene-dev-server.ts)が受けている。
講座の画面は記録を「動画ID--story-nobooks」という名前で保存する。
ところが API は「--story-pc」と「--story-mobile」しか知らず、照合に使う値を作れないので 400 を返していた。
帳簿なし版を足したときの見落としである。
API は node --watch で動いているので、直せばそのまま反映される。
照合用の値を作る関数を直接呼んで、null が返らなくなったことを確かめさせた。
積み残しと翌日の引き継ぎ
積み残しを聞くと、計画書の末尾「7. 積み残し」にまとめて push してあった(a75027c7f)。
計画書は memo/2026-10-26/fs-story-nobooks-plan.md である。
明日続けるので、ダウンロードディレクトリにテキストで引き継ぎを出してもらった。 中身は、今日の進み具合、判断待ちの3件、残りの作業、今日の失敗から覚えておくこと、明日のセッションに貼るプロンプトである。
学びメモ
- 版の名前は、載せ先(iOS)ではなく中身(帳簿なし)で付ける。自分で「iOS 版」と呼んでおきながら、縦のストーリー版と見分けがつかなくなっていた
- 版を1つ足すと、ID の形を前提にした処理がエラーを出さずに外れる。字幕の数字の変換も、レビュー保存の API もそうだった
- グレーアウトの指摘は、先に失敗するテストにしてもらい、旧台本の6か所で落ちるのを見てから直した。直ったかどうかをテストで言える