[{"data":1,"prerenderedAt":643},["ShallowReactive",2],{"content-/2026-08-18-diary":3,"all-pages-for-dir":620,"related-/2026-08-18-diary":621,"og-image-/2026-08-18-diary":642},{"id":4,"title":5,"body":6,"category":601,"concepts":602,"description":603,"extension":604,"meta":605,"navigation":505,"ogImage":602,"path":606,"project_name":607,"published":608,"publishedAt":609,"seo":610,"source":611,"stem":612,"tags":613,"todo":602,"unpublished":608,"updatedAt":602,"__hash__":619},"pages/2026-08/2026-08-18/diary-2026-08-18.md","2026年8月18日の開発日記 - 止めどきを決め続けた一日",{"type":7,"value":8,"toc":583},"minimark",[9,14,18,21,25,32,88,91,96,99,102,108,124,135,138,142,145,148,152,163,171,173,177,180,183,187,198,206,208,212,215,218,222,233,241,243,247,250,253,257,268,276,278,282,285,288,290,293,467,469,472,489,491,494,520,522,525,530,552,557],[10,11,13],"h1",{"id":12},"_2026年8月18日の開発日記","2026年8月18日の開発日記",[15,16,17],"p",{},"朝いちばんに開いた画面には、前日の積み残しが6件並んでいた。夕方にもう一度数え直したときには、大項目だけで一覧に収まらなくなっていた。",[15,19,20],{},"この日は18のセッションを開いた。図を直すセッション、設問を抽出させるセッション、動画のレイアウトを試すセッションが別々に動いていた。作業そのものより、どこで手を止めるかを決める回数のほうが多かった。",[22,23,24],"h2",{"id":24},"今日のタイムライン",[15,26,27],{},[28,29],"img",{"alt":30,"src":31},"タイムライン","/2026-08/2026-08-18/timeline-2026-08-18.png",[33,34,35,51],"table",{},[36,37,38],"thead",{},[39,40,41,45,48],"tr",{},[42,43,44],"th",{},"区分",[42,46,47],{},"時間",[42,49,50],{},"セッション数",[52,53,54,66,77],"tbody",{},[39,55,56,60,63],{},[57,58,59],"td",{},"アプリ開発（eurekapu）",[57,61,62],{},"16時間40分",[57,64,65],{},"13",[39,67,68,71,74],{},[57,69,70],{},"ログ管理",[57,72,73],{},"4時間27分",[57,75,76],{},"4",[39,78,79,82,85],{},[57,80,81],{},"ナレッジ管理",[57,83,84],{},"1時間38分",[57,86,87],{},"1",[22,89,90],{"id":90},"今日やったこと",[92,93,95],"h3",{"id":94},"_1-講義用テキストの図をsvgに描き直す","1. 講義用テキストの図をSVGに描き直す",[15,97,98],{},"380枚がそろったところから、指摘が始まった。原図では四角どうしを線でつないでいるだけなのに、描き直した図には矢頭がついていた。しかも幹線と箱の隙間は14pxしかなく、そこへ矢頭を重ねていたので、つなぎの線まで潰れて見えなくなっていた。矢頭を44本から1本に減らさせると、接続はすべて線に戻った。一つ直すと隣が壊れる往復を、製造工程図、間接税法、法人税の順に繰り返した。",[15,100,101],{},"途中で、図を吐き出している生成スクリプトがGit管理から漏れていることに気づいた。出力だけコミットして生成元を置き去りにすると、次に同じ図を作れない。",[15,103,104],{},[105,106,107],"strong",{},"主な成果:",[109,110,111,115,118,121],"ul",{},[112,113,114],"li",{},"原図にない矢頭44本の除去（幹線と箱の隙間が14pxしかない場所に矢頭を描いていたのが、線の潰れた原因だった）",[112,116,117],{},"推計区間の点線化と、読み順が意味を持つ図の番号入れ替え",[112,119,120],{},"生成スクリプトをGit管理下に置くルール化",[112,122,123],{},"確認用URLは節インデックス付きのフルパスで出す運用に修正",[15,125,126,129,130],{},[105,127,128],{},"詳細:"," ",[131,132,134],"a",{"href":133},"/zeimu-figure-svg-review","原図にない矢印を消す。SVG図解のレビューで線と余白のルールを決めた一日",[136,137],"hr",{},[92,139,141],{"id":140},"_2-財務諸表qaのフェーズを進める","2. 財務諸表QAのフェーズを進める",[15,143,144],{},"参考書62冊から設問候補2,469問を抽出させ、夜には386問の統合問へ束ねた。抽出はサブエージェントを並列で走らせている。19体を投入した直後、残り時間と利用枠を見て手を止めた。",[15,146,147],{},"止めるかどうかを判断した材料は、進捗率ではなく残量だった。フェーズ3を完走させてから区切ると決めた。そこまで走らせて、セッションを閉じた。",[15,149,150],{},[105,151,107],{},[109,153,154,157,160],{},[112,155,156],{},"62冊 → 設問候補2,469問の抽出（43冊分で1,709問まで到達した時点を含む）",[112,158,159],{},"386問の統合問へ束ねるフェーズを親セッションで直接実行",[112,161,162],{},"進捗ドキュメントを残して別セッションへ引き継ぎ",[15,164,165,129,167],{},[105,166,128],{},[131,168,170],{"href":169},"/financial-qa-phase-progress","62冊から2,469問を抽出し386問へ束ねるまで。利用枠とコンテキストの残量で作業の区切りを決めた記録",[136,172],{},[92,174,176],{"id":175},"_3-書籍ナレッジベースに7冊を足す","3. 書籍ナレッジベースに7冊を足す",[15,178,179],{},"蔵書386冊のDBに追加取り込みをかけた。元にしたい本を10冊まで絞ってから原本の在処を確認させたら、実行できるのは7冊だった。ライブラリに入っていることと、取り込みのパイプラインを通せることは別だった。コンソールが文字化けしてDB照合をやり直し、章見出しの誤マッチと固定レイアウト本での停滞誤検知に順につまずいた。詰まるたびに直して、クリーンアップまで一周させた。",[15,181,182],{},"運営しているサイトのコンテンツをどう増やすかも並行して考え、ナレッジベース側で先にディレクトリを作る順にした。まだ買っていない本があると分かったので、その分はタスクに積んだ。",[15,184,185],{},[105,186,107],{},[109,188,189,192,195],{},[112,190,191],{},"蔵書386冊のDBへ7冊を追加取り込み（重複チェックからクリーンアップまで）",[112,193,194],{},"Kindleのハイライト取得を、拡張機能のリロードを挟みながら再開",[112,196,197],{},"未購入分の書籍をタスクへ登録",[15,199,200,129,202],{},[105,201,128],{},[131,203,205],{"href":204},"/book-knowledge-base-batch-import","書籍ナレッジベースに7冊を追加取り込みして、文字化けとKindleキャプチャの誤検知を直した日",[136,207],{},[92,209,211],{"id":210},"_4-縦型ショート動画のレイアウト","4. 縦型ショート動画のレイアウト",[15,213,214],{},"縦ショート用のレイアウトを新しく組む計画で着手した。ところが累進課税シミュレーターのページを縦幅で開いたら、既存のレスポンシブがそのまま縦積みになっていた。専用実装をやめて、撮る方式に切り替えた。",[15,216,217],{},"720×1280を1.5倍で撮って1080×1920に出す。他のセッションを止めた状態で、コミットからデプロイ、プッシュまで通した。",[15,219,220],{},[105,221,107],{},[109,223,224,227,230],{},[112,225,226],{},"専用レイアウトの実装を取りやめ、既存レスポンシブでの撮影に方針変更",[112,228,229],{},"1080×1920の書き出しとダウンロードボタンの追加",[112,231,232],{},"デプロイまで完走",[15,234,235,129,237],{},[105,236,128],{},[131,238,240],{"href":239},"/vertical-short-video-layout","縦型ショート動画のレイアウトを専用実装せず、既存のレスポンシブ縦積みで撮った",[136,242],{},[92,244,246],{"id":245},"_5-2台のpcをつなぐ経路とttsのテンポ","5. 2台のPCをつなぐ経路とTTSのテンポ",[15,248,249],{},"これまで別のPCのセッションへ話しかけるとき、ブラウザを開いて入力欄に文字を流し込んでいた。その前提を疑ったら、LAN内で直接届く経路があった。作り直したら、往復が通った。",[15,251,252],{},"TTSナレーションのテンポ設計をどこに入れたかを確かめ、スキル側へ反映した。走りっぱなしのdevサーバーとMCPプロセスも一覧して掃除した。",[15,254,255],{},[105,256,107],{},[109,258,259,262,265],{},[112,260,261],{},"ブラウザ経由をやめ、LAN内で直接届く経路へ作り直し",[112,263,264],{},"TTSナレーションのテンポ設計をスキルへ反映",[112,266,267],{},"走りっぱなしのプロセスを一覧して停止",[15,269,270,129,272],{},[105,271,128],{},[131,273,275],{"href":274},"/cross-machine-bridge-and-tts-rhythm","ブラウザ経由をやめて2台のPCのClaude Codeをつないだ日と、TTSナレーションのテンポ設計",[136,277],{},[92,279,281],{"id":280},"_6-積み残しの棚卸し","6. 積み残しの棚卸し",[15,283,284],{},"夕方、積み残しを大項目だけリストにさせた。棚卸しコマンドがこのリポジトリには入っておらず、状態ブロックも書かれていないので、今回は手で集計させた。",[15,286,287],{},"ついでにバンドルサイズの余裕を聞いたら、逼迫しているという答えが返ってきた。それが古い数値だった。実測はgzip 1.657 MiBで、上限3.0 MiBの55%しか使っていない。marginは1,374.9 KiB残っていた。",[136,289],{},[22,291,292],{"id":292},"今日の試行錯誤",[33,294,295,314],{},[36,296,297],{},[39,298,299,302,305,308,311],{},[42,300,301],{},"#",[42,303,304],{},"テーマ",[42,306,307],{},"試したこと",[42,309,310],{},"結果",[42,312,313],{},"気づき",[52,315,316,332,349,366,382,399,416,433,450],{},[39,317,318,320,323,326,329],{},[57,319,87],{},[57,321,322],{},"SVG図の矢印",[57,324,325],{},"原図にない矢頭を44本つけた図が上がってきた",[57,327,328],{},"却下して除去",[57,330,331],{},"原図が線でつないでいるだけなら、矢印は無い意味を足してしまう",[39,333,334,337,340,343,346],{},[57,335,336],{},"2",[57,338,339],{},"図の接続線",[57,341,342],{},"四角どうしをつなぐ線が潰れて見えなくなっていた",[57,344,345],{},"矢頭を44本から1本へ",[57,347,348],{},"幹線と箱の隙間が14pxしかない場所に矢頭を重ねていたのが原因だった",[39,350,351,354,357,360,363],{},[57,352,353],{},"3",[57,355,356],{},"生成スクリプトの所在",[57,358,359],{},"図の出力だけコミットされていた",[57,361,362],{},"ルール化",[57,364,365],{},"生成元を置き去りにすると次に再現できない",[39,367,368,370,373,376,379],{},[57,369,76],{},[57,371,372],{},"確認用URL",[57,374,375],{},"相対パスで案内された",[57,377,378],{},"フルパス＋節インデックスに修正",[57,380,381],{},"クリックで開けない案内は案内になっていない",[39,383,384,387,390,393,396],{},[57,385,386],{},"5",[57,388,389],{},"縦動画のレイアウト",[57,391,392],{},"専用レイアウトを組む前提で着手",[57,394,395],{},"方針転換",[57,397,398],{},"シミュレータを縦幅で開いたら既存のレスポンシブで足りた",[39,400,401,404,407,410,413],{},[57,402,403],{},"6",[57,405,406],{},"QA抽出の並列度",[57,408,409],{},"サブエージェント19体を投入",[57,411,412],{},"直後に停止",[57,414,415],{},"進捗率ではなく残り時間と枠で区切りを決めた",[39,417,418,421,424,427,430],{},[57,419,420],{},"7",[57,422,423],{},"書籍のDB照合",[57,425,426],{},"コンソールが文字化けした",[57,428,429],{},"やり直し",[57,431,432],{},"文字化けしたまま結果を読むと重複判定を誤る",[39,434,435,438,441,444,447],{},[57,436,437],{},"8",[57,439,440],{},"2台間のメッセージ",[57,442,443],{},"ブラウザのDOM操作で送っていた",[57,445,446],{},"LAN経由に作り直し",[57,448,449],{},"動いている方式を疑わないと、遠回りが固定される",[39,451,452,455,458,461,464],{},[57,453,454],{},"9",[57,456,457],{},"バンドルサイズ",[57,459,460],{},"古い数値を引いて逼迫と報告された",[57,462,463],{},"実測で訂正",[57,465,466],{},"ルールに書いた数値は放っておくと古くなる",[136,468],{},[22,470,471],{"id":471},"今日の学び",[109,473,474,477,480,483,486],{},[112,475,476],{},"原図にない要素を足さない、という判断は、消す方向と足す方向で同じ強さでは働かない。矢印は消させたが、無い欄は足させている",[112,478,479],{},"出力だけをGitに入れて生成スクリプトを外に置くと、その図はもう作り直せない。生成物と生成元は同じ場所に置く",[112,481,482],{},"止めどきの材料は進捗率ではなかった。残り時間と利用枠を見て、フェーズの切れ目で閉じた",[112,484,485],{},"ルールファイルに書いた数値は古くなる。逼迫していると言われたら、まず実測を取る",[112,487,488],{},"長く使っている方式ほど疑われない。ブラウザ越しの往復は、直接届く経路があるのに続けていた",[136,490],{},[22,492,493],{"id":493},"明日やること",[109,495,498,508,514],{"className":496},[497],"contains-task-list",[112,499,502,507],{"className":500},[501],"task-list-item",[503,504],"input",{"disabled":505,"type":506},true,"checkbox"," 講義用テキストの図レビューの続き（残りの章の指摘対応）",[112,509,511,513],{"className":510},[501],[503,512],{"disabled":505,"type":506}," 財務諸表QAの次フェーズ（386問の統合問の精査）",[112,515,517,519],{"className":516},[501],[503,518],{"disabled":505,"type":506}," 書籍ナレッジベースの未購入分を買って取り込む",[136,521],{},[22,523,524],{"id":524},"関連記事",[15,526,527],{},[105,528,529],{},"この日の作業記録:",[109,531,532,536,540,544,548],{},[112,533,534],{},[131,535,134],{"href":133},[112,537,538],{},[131,539,170],{"href":169},[112,541,542],{},[131,543,205],{"href":204},[112,545,546],{},[131,547,240],{"href":239},[112,549,550],{},[131,551,275],{"href":274},[15,553,554],{},[105,555,556],{},"この日に書いた解説記事:",[109,558,559,565,571,577],{},[112,560,561],{},[131,562,564],{"href":563},"/claude-code-cross-machine-lan-bridge","別のPCのClaude Codeに話しかける — ブラウザ操作をやめてLANのHTTPで往復させた",[112,566,567],{},[131,568,570],{"href":569},"/claude-code-seminar-hub","セミナー会場の全員のClaude Codeと会話する — 進捗を集めて、席に行かずに指示を出す",[112,572,573],{},[131,574,576],{"href":575},"/browser-mic-lan-post-to-mac","Windowsのマイクで録ってMacに届ける — ブラウザを「マイクのドライバ」として使う",[112,578,579],{},[131,580,582],{"href":581},"/tts-narration-bpm120","自分の声を複製して、BPM120のビートに乗せる — TTSで講義音声を作る実験",{"title":584,"searchDepth":585,"depth":585,"links":586},"",2,[587,588,597,598,599,600],{"id":24,"depth":585,"text":24},{"id":90,"depth":585,"text":90,"children":589},[590,592,593,594,595,596],{"id":94,"depth":591,"text":95},3,{"id":140,"depth":591,"text":141},{"id":175,"depth":591,"text":176},{"id":210,"depth":591,"text":211},{"id":245,"depth":591,"text":246},{"id":280,"depth":591,"text":281},{"id":292,"depth":585,"text":292},{"id":471,"depth":585,"text":471},{"id":493,"depth":585,"text":493},{"id":524,"depth":585,"text":524},"diary",null,"講義用テキストの図の描き直し、設問2,469問の抽出、書籍7冊の取り込み、縦動画のレイアウト、2台のPCをつなぐ経路。18セッションを開いて、そのたびにどこで区切るかを決めていた記録。","md",{},"/2026-08-18-diary","daily-log",false,"2026-08-18T00:00:00.000Z",{"title":5,"description":603},"make-diary","2026-08/2026-08-18/diary-2026-08-18",[614,615,616,617,618],"日記","SVG","サブエージェント","ナレッジベース","Claude Code","GsqAIVw0GVuGjxYvK3lzVd4h8CT8DMwvY_52ZGisGaU",[],[622,626,630,634,638],{"title":623,"path":624,"publishedAt":625},"2026年8月10日の開発日記 - 図解カタログ27型をグリッドに載せ直した","/2026-08-10-diary","2026-08-10T00:00:00.000Z",{"title":627,"path":628,"publishedAt":629},"SVG図解を4:3比率から解放する ─ スキルに縦流しルールを追加して記事図解を一括刷新した","/svg-diagram-vertical-flow-rule","2026-07-04T00:00:00.000Z",{"title":631,"path":632,"publishedAt":633},"小学生向け理科教材に熱・光・音の8トピックを一括追加 — 生成・事実チェック・修正のエージェント並列パイプライン","/science-materials-heat-light-sound","2026-07-03T00:00:00.000Z",{"title":635,"path":636,"publishedAt":637},"2026年5月28日の開発日記 - 反論で記事を鍛え、Codexに数字を直され、本番障害2件を片付けた一日","/2026-05-28-diary","2026-05-28T00:00:00.000Z",{"title":639,"path":640,"publishedAt":641},"2026年4月28日の開発日記 - feature-slidesスキル新設、書籍OCR1181ページ、Amazon書棚UIまで1日で組み上げた","/2026-04-28-diary","2026-04-28T00:00:00.000Z","https://log.eurekapu.com/favicon.svg",1787123773208]