2026年4月30日の開発日記
朝から夜まで、連結会計レッスンと書籍ナレッジベースの2本立てで動いた1日。連結会計はHTMLプロトタイプを Vue + データ駆動に置き換え、設例6本を実装してCodex GPT-5.5の再帰レビューで仕上げた。書籍ナレッジベースは TAC公認会計士テキスト【計算】シリーズ11冊(3,488ページ)を yomitoku で取り込み、章節整理まで通した。Chrome拡張のX検索エクスポーターは GraphQL 直叩きを半日かけて潰した結果、DOMスクロール版で決着した。
今日のタイムライン

今日やったこと
1. 連結精算表のExcel風HTMLプロトタイプ
ゲシュタルト6法則のExcel活用例を全部HTMLテーブル化したついでに、連結精算表のプロトタイプを作る話に発展した。シートタブ案を捨ててオーバーレイモーダル方式に転換、補助科目あり版とセルクリック→モーダル内ハイライトまで踏み込んだ。最後にハードコード問題が浮上し、Codex 4回再帰レビューで Vue 化の計画書を確定させた。
主な成果:
- ScrollArticle に Excel 風スタイル(A列スペーサー、F列スペーサー、列ヘッダー縦線のみ)
- 設例 I-2-1〜I-2-3 を網羅したハンドブック形式
- 補助科目あり版テーブル(売掛金_外部向け / 売掛金_内部向け)で連結ロジックを可視化
- セルクリックでモーダル内の対応する科目をオレンジハイライト
- consolidated-worksheet-howto.md に1,084行のドキュメント化
詳細: 連結精算表のExcel風HTMLプロトタイプを試作する
2. 連結会計レッスンの Vue + データ駆動化
午前に I-2-1〜I-2-3、午後に I-3-1〜I-3-3 の合計6本を Vue コンポーネント + 型付きデータに置き換えた。Codex GPT-5.5 が modifyColumns に individual-modify を含めると二重計上される致命点を指摘してきて、計画書を v1 → v2 → v3 まで書き直した。最終的に「列単位集約モーダル:マーカーはセル単位、クリック時のモーダルは列単位の全仕訳を集約、ハイライトはクリックしたセルの科目だけ」という設計に落ち着いた。
主な成果:
- types.ts / format.ts / compute.ts / WorksheetTable.vue / JournalEntryModal.vue を新設
- 設例6本で全99テストパス(既存31 + 新規 I-3-X 39 + 補助 I-3-X 29)
- HMRキャッシュで dev 再起動が必要だった事故も含めて整理
- feature-slidesスキルで実装内容のスライド65枚生成
詳細: 連結会計レッスンを Vue + データ駆動でフルスクラッチ実装
3. ゲシュタルトの法則ページ:MP4置換とSVG縦組み化
旧WordPress プロジェクトから自作MP4を10本回収してR2へ載せ替え、ScrollArticle の2カラムレイアウトを縦組みに作り直した。SVG の左半分(紫の原理エリア)が動画と被る問題は、Pythonスクリプトで4つのSVGを一括処理して解決した。拡大モーダルはプラグイン側で対象クラスを広げて、データファイル側の class 指定を不要化した。
主な成果:
- MP4 10本(合計4.3MB)を
assets.info-accounting.com/images/excel/gestalt/にアップロード - SVG 4枚を Python + lxml で左半分削除
- 動画のビューポート内自動再生(Chrome のリソース節約)を確認
詳細: ゲシュタルトの法則ページに自作MP4を埋め込み、SVGも縦組みに修正
4. 書籍ナレッジベース:TAC公認会計士テキスト11冊一括取り込み
朝イチに昨日の積み残し(著者取得444件)を --missing-author フラグで回しきり、350件追加で取得した。続いて TAC公認会計士テキスト【計算】シリーズ11冊(合計3,488ページ)を yomitoku で OCR 化して Turso DB に格納。さらに章節整理(restructure)を11冊全部に流して、3,167チャンクを約1,000セクションに統合した。途中で4つのトラブルに当たった。
主な成果:
- Windows cp932 クラッシュ → UTF-8/unbuffered 対応
- DB の idle timeout(38分超でstream切れ)→ reconnect() を各冊冒頭で呼ぶ
- Embedded Replica の WAL ロック頻発 → HTTP 直接接続に切り替え
- shelf 0冊問題 → fetch_status='manual_register' で NULL 値フィルタ免除
- 「連結」タグの集計確認、M&A/組織再編タグを追加(10件/7件)
詳細: TAC公認会計士テキスト11冊を書籍ナレッジベースに一括取り込み
5. Chrome拡張:X検索エクスポーターの実装試行錯誤
ブックマークと同じく SearchTimeline GraphQL を直接叩く方針で書き始めて、半日かけて崩壊した。404 → features 不足 → ヘッダー不足 → 200成功までは行ったが、content script の fetch hook が空。XHR hook を足してもダメ、document_start で先に走らせてもダメ。X本物が ServiceWorker (/sw.js) で GraphQL を処理していることが決定的原因と判明した。Codex GPT-5.5 に相談して規約観点も整理し、最終的に DOMスクロール版に書き換えた。
主な成果:
- DOMスクロール版(1.5秒間隔、新規追加0が4回連続+scrollHeight変化なし4回連続で終端判定)で動作確認
- icon.svg が manifest で正しく表示されない問題 → @resvg/resvg-js(WASM)で PNG化
- ドキュメント
memo/2026-04-30/search-export-feature.md作成
詳細: Chrome拡張のX検索エクスポーター:GraphQL直叩きを断念してDOMスクロールに切り替えた経緯
6. X投稿400件から連結会計の「難しい」論点を抽出
自作のX検索エクスポーターで「連結 難しい」776行(約400ツイート)を取得して、簿記2級・1級の連結会計の難所を論点別に整理した。Grok結果と実務者の声を段階的に統合し、最終的に「ダウンストリーム+NCI調整」のメンタルモデルや、簿記学習と実務(Excel中心)のギャップまで言語化した。このレポートが翌日の連結精算表Vue化のコンテンツ方針につながる。
主な成果:
- 5.7節「未実現利益の消去パターン別の難所」
- 5.7.5「腹落ちさせる4つのメンタルモデル」
- 5.7.6「二刀流コンテンツ仕様の更新版」
詳細: X投稿400件から連結会計の「難しい」論点を抽出してレポート化
7. Codex CLI を 0.125.0 に上げて GPT-5.5 へ
mise で codex を 0.125.0 にアップデートして GPT-5.5 を有効化した。~/.claude/rules/plan-codex-review.md の初回・再レビュー両方を gpt-5.4 → gpt-5.5 に差し替え。今日の連結会計レッスンの計画書レビューはすべて GPT-5.5 で回した。
今日の試行錯誤
| # | テーマ | 試したこと | 結果 | 気づき |
|---|---|---|---|---|
| 1 | 著者取得444件 | file_no 順で全788件再処理 | 失敗(既取得領域を走査) | --missing-author フラグ追加で未取得のみ対象に切替 |
| 2 | TAC11冊バッチ | 普通に Python print | Windows cp932 で ✓ クラッシュ | UTF-8/unbuffered 対応版(PYTHONIOENCODING + sys.stdout.reconfigure) |
| 3 | TAC11冊バッチ | DBコネクション使い回し | 38分超でstream切れ | reconnect() を各冊冒頭で呼ぶ |
| 4 | restructure 11冊 | subagent 並列起動 | Embedded Replica WALロック頻発 | HTTP直接接続に切り替えて9冊を順次処理 |
| 5 | shelf 表示 | TAC教材を登録後に確認 | 0冊表示 | ★4.0以上/レビュー5件以上 フィルタが NULL 除外、fetch_status='manual_register' で免除 |
| 6 | X検索エクスポーター | SearchTimeline GraphQL を直叩き | 404 | features に rweb_cashtags_enabled 追加で 200 |
| 7 | X検索エクスポーター | content script で fetch hook | 空 | XHR hook も足してもダメ、ServiceWorker (/sw.js) が真因 |
| 8 | X検索エクスポーター | Codex に規約観点で相談 | DOMスクロールが現実的 | 1.5秒間隔・終端判定で書き直し |
| 9 | 連結会計 Vue 化 v2 | modifyColumns に individual-modify を含める | 二重計上で finalTotal が崩れる致命点 | Codex GPT-5.5 が即指摘、検証ロジック追加 |
| 10 | I-3-1〜I-3-3 表示 | dev サーバー継続でデータ更新 | HMR キャッシュで反映されない | dev 再起動でクリア、列ヘッダ「未実現損益調整」が表示 |
| 11 | I-3-1 モーダル | *A セルと *B セルで別モーダル | 連結ロジックの本質が見えない | 列単位集約モーダルに変更(マーカーはセル単位、モーダルは列単位) |
今日の学び
- Embedded Replica は subagent との相性が悪い(WAL ロックが残る)。restructure のような長時間処理は HTTP 直接接続に振った方が安定する。
- Windows でのバッチ実行は
PYTHONIOENCODING=utf-8 python -uを最初から指定する。後から修正すると進捗ログが遅れて見えなくて、ハングと区別できなくなる。 - Codex 再帰レビューは「致命点なし」を取得するまで4回かかることもある。途中で打ち切らずに最後まで回した方がよい設計判断ほど、ユーザー指摘ではなく構造的な不整合(二重計上など)に化ける。
- 列単位集約モーダルの設計思想:「マーカーは何が属しているかを示す(セル単位)」「モーダルは何のために統合されたかを示す(列単位)」「ハイライトはクリックの起点を示す(科目単位)」。3つの粒度を分けるとUIの意味が定まる。
- 受験生コミュニティの「難しい」発言は教材設計の宝庫。X分析→Grok統合→実務者の声、と層を増やすほどメンタルモデルが言語化される。
明日やること
- 連結精算表ハードコードのCompute関数化(Vue 化計画書 v3 の Phase 4 以降)
- 日商簿記3級の Deepgram 文字起こし計画(明日 15:00 のカレンダー予定)
- 書籍ナレッジベースに残った27冊(理論シリーズなど)の取り込み判断