2026年5月2日の開発日記
朝6時から夜9時まで、ほぼ全部 eurekapu-nuxt4 に張り付いた一日。簿記3級ノートをHTMLからVueへ24章一気に移植し、書籍3冊をOCRして蔵書知識ベースに格納し、ケース100の著作権配慮ルールを整備し、Dependabotの6PRを統合し、E2EテストをCodexレビューで恒久対策まで持っていった。並列サブエージェントを20回以上回し、Codexレビューを8回踏んだ。短い時間で広い面積をひっくり返したぶん、ブランチ取り違えやポスト案での他者下げ表現など、足場を踏み外しかけた瞬間も何度かあった。
今日のタイムライン

今日やったこと
1. 簿記3級ノート24章をVueへ並列移植
朝6時から夜まで、優先度A 6章 → 優先度B 9章 → 残り9章を順番に並列起動して、累計24章/26章を1日で移植した。途中で calcNetIncome の重複宣言や、純資産合計に当期純利益が乗らないバグを掘り当てて潰した。サブエージェントが Write 権限拒否で BLOCKED 状態になった2件は自分で直接書き、最後は SVG 見切れなど6観点を網羅レビューして7並列で一気に修正した。
主な成果:
- テスト 700件全パス、24章/26章を1日で完了
JournalExample.vueの貸借合計バグ(sectionTotals.eq→liab + eq)を修正- ブランチ取り違えを
git reset --softで安全に巻き戻し
詳細: 簿記3級ノート24章をVueに移植:24並列サブエージェントで一日で仕上げたマラソンの記録
2. インタラクティブ仕訳例題エンジンのモーダル化+アニメ強化
朝の作業はHTML側のインタラクティブ仕訳エンジンの大改造。クリックで3カラムモーダルを開き、ESCとbackdropクリックで閉じる挙動を入れ、増減差額のフロート表示と「飛行pillアニメ」で仕訳が試算表に吸い込まれる演出を作った。途中でカクついたので requestAnimationFrame 駆動を Web Animations API に置き換え、貸借ズレを発見して verifyBalance 関数とエラーバナーを追加した。文字が小さい指摘を受けて zoom コントロール(localStorage永続化、初期値130%)も実装。
主な成果:
- モーダル化+3カラムレイアウト、ESC/backdrop対応
- カウントアップ+増減ポップアップ+飛行pillアニメ(Web Animations API)
- 仕訳帳に最終行数分のplaceholder予約で残高試算表のY位置を固定
- Vitest 72→85テストでロジック純粋関数を担保
詳細: インタラクティブ仕訳例題エンジンをモーダル化+Web Animations APIで再設計:飛行pillアニメと貸借ランタイム検証まで
3. yomitokuで会計書籍3冊をOCR→Turso DBへ蔵書化
会計書籍2冊(228ページと624ページ)を yomitoku でMarkdown化して Turso DB に格納し、過去に上下分割マージで失敗していた参考書1冊を再OCRして入れ直した。WAL書込衝突は HTTP直接接続でリトライし、Embedded Replicaが詰まった時はファイル退避して再構築。WebFetchが連続失敗した Amazon メタデータ取得は agent-browser にフォールバックして取れた。最後は /shelf 画面で書影・「📖 DB」「済」バッジ・Amazonリンクまで表示確認。
主な成果:
- 624ページ書籍を 1093ファイル出力 → 585チャンク登録
- restructure で 305チャンク → 126セクション(ケース毎・章扉・コラム単位)統合
- HTTP直書きの amazon_metadata がローカルレプリカから読めることを確認
詳細: yomitokuで会計書籍3冊をOCR→Turso DBへ蔵書知識ベース化
4. ケース100コンテンツ化と著作権配慮ルール整備
午前は Turso DB に入れた会計書籍を題材にデリバティブ章のVue講義ノートを実装し、Codex(GPT-5.5)でレビュー2回通過させた。が、ユーザーから「著作権を完全に無視している」と指摘されて、本番コンテンツから書籍参照(章タイトル・SVGラベル・対比表ヘッダー)を全削除し、プロジェクトルール .claude/rules/book-references.md を新規作成して CLAUDE.md から参照するように整備。夕方は「100論点を全部HTML化」依頼で5論点をサブエージェント並列で作成、共通CSS(913行)の切り出し漏れを修正、1FY構成では不自然な前提取引を2FY構成に統一した。明日朝9時のリマインドエージェントを ScheduleRoutine で登録。
主な成果:
- 本番から書籍由来表現を完全除去、テスト 1526件パス維持
- 100論点目次・選定理由・ドラフト済みハイライトを統合した index.html
- 著作権配慮ルールをプロジェクトに永続化
詳細: 会計100論点のインタラクティブHTML化と、書籍由来表現を本番から完全削除するルール整備
5. Dependabot 6PR統合とE2E恒久対策
夕方〜夜に Dependabot 7PR の処理。順次rebaseだとループになるため pnpm overrides で4依存を一気に固定する統合PR #13 を作成。別セッション(SVG側)と同じブランチ chore/deps-batch-bump で衝突したのを手紙で通信して新ブランチに移管した。簿記3級9章移植のPR #14 が E2E で1件落ちた件は Squash and merge で逃げ、後追いで PR #15 として waitForLoadState('networkidle') を 25箇所削除+Codex レビューで Nuxt ハイドレート前 click を expect.toPass({ timeout }) で retry する恒久対策を入れた。
主な成果:
- 7PRを2回のマージで処理、脆弱性 73→70 に減少
- E2Eテストを
networkidle依存から retry ベースに恒久切り替え - Codexレビューで「SPAでは load 再発火しないから無意味」と一刀両断されて方針転換
詳細: Dependabot 6PRをpnpm overrides統合PRに集約し、PlaywrightのnetworkidleをCodexレビューで全削除した日
6. OBS配信向けChromeウィンドウ位置スクリプト
朝のすき間時間に、OBS Studio でウルトラワイドモニター使用時に毎回 Chrome を画面中央に手動配置していた手間を PowerShell スクリプトで自動化。Chromiumベースの別アプリ(Aqua Voice / VS Code / Memento Mori)まで誤って Chrome として拾う罠、$pid 予約変数衝突、Stream Deck の .ps1 起動ダイアログなど、4つの罠を順番に踏み抜いた。最終的に 1920x1255 @ (4600, 5) で OBSキャプチャ領域にぴったり合わせ、.bat ラッパー(-NoProfile付き)を Stream Deck に登録して完了。
主な成果:
- ボタン1発で Chrome がOBS配信領域に着地、毎日30秒の節約
- README作成で次回触る自分のために手順を残す
詳細: OBSウルトラワイド配信向けにChromeウィンドウ位置を一発固定するPowerShellスクリプトとStream Deck連携
7. Xポストエクスポート機能の方針転換と『誰も傷つけない』ポスト原則明文化
/make-diary に「前日Xポストレビュー+ポスト案5個生成」を統合する依頼で、最初は既存 Chrome 拡張に「自分の投稿エクスポート」機能を追加する設計で Codex レビューも通過させた。が、ユーザーから「DevTools MCP の evaluate_script で x.com ページコンテキストから直接 GraphQL 叩けばいい」と一刀両断され、半日かけた拡張側の実装を巻き戻して全面書き直し。さらに生成したポスト案で「税理士事務所の事務員前提」「他職業を下げる構造」が混入してユーザー指摘を受け、short-video-strategy スキルに「誰も傷つけない原則」「事務員前提禁止」「税理士事務所下げ禁止」を明文化した。
主な成果:
- Chrome拡張依存を解消、DevTools MCP の evaluate_script で完結
- 暗黙原則(誰も傷つけない)をスキルに明文化、次回以降の生成で自動適用
詳細: Chrome拡張からDevTools MCPへ方針転換:Xポストエクスポート機能を半日で巻き戻した話と『誰も傷つけないポスト』原則の明文化
8. GitHub 158リポのセキュリティ現状把握
午前にある会計ソフトAのソースコード漏洩事例の解説記事を読み、自分のプロジェクトに対策を当て込む公開記事を書いた。その流れで gh CLI を使って eurekapu-nuxt4 のセキュリティ設定を確認しようとしたら security_events スコープ不足で読めず、Push Protection / gitleaks の違いから整理し直すことに。158リポ(private 145 / public 13)の現状を gh API でバックグラウンド一括取得しようとしたが、CR混入・JSON空値バグで2回スクリプトを書き直し、95件取得した時点で異常に遅くなったので 95件で確定。実質ノーガード状態が確定したので、明日の自分が選べる Plan A/B/C 形式の TODO ドキュメントに整えて持ち越し。
主な成果:
- 158リポの実態把握(Dependabot系がONなのは1件だけ)
- Plan A/B/C のチェックボックス+コマンドコピペ形式で明日の自分にハンドオフ
- 関連: マネーフォワードGitHub流出を受けて、ひとり開発の秘密管理を棚卸しした
詳細: GitHub 158リポを棚卸し、Dependabot・Push Protection・Secret Scanningの現状把握から明日のTODOへ
今日の試行錯誤
| # | テーマ | 試したこと | 結果 | 気づき |
|---|---|---|---|---|
| 1 | Vue移植24章 | 6/9/9並列でサブエージェント起動 | 成功 | Write拒否は手動救済すれば全体は止まらない |
| 2 | 純資産合計バグ | sums.eq だけで貸借チェック | 失敗 | 当期純利益を含めないと貸借が永遠にズレる |
| 3 | ブランチ取り違え | 別セッションのブランチにコミットしてしまった | 失敗→復旧 | reset --soft なら index は残るので安全 |
| 4 | 仕訳エンジンのカクつき | rAF駆動で頑張る | 失敗 | Web Animations API に置換すると別世界 |
| 5 | カウントアップ位置ズレ | popup を block 要素として行に挿入 | 失敗 | position: absolute がscoped styleで上書きされていた |
| 6 | yomitokuのWAL衝突 | reconnect()でリセット | 失敗 | レプリカファイル退避→再構築 + HTTP直書きで突破 |
| 7 | Amazon WebFetch | 直接Fetch | 失敗 | agent-browser にフォールバックで取得成功 |
| 8 | ケース100Vue化 | 書籍参照を本文に明記 | 失敗 | ユーザー指摘で全削除+プロジェクトルール化 |
| 9 | 5論点HTML | JS だけ切り出して CSS 切り出し漏れ | 失敗 | 共通CSS(913行)も同時に切り出すべきだった |
| 10 | 1FY構成の前提取引 | 期首にいきなり残高がある | 不自然 | 設立→取得を前期 preposted で並べる2FY構成に統一 |
| 11 | Dependabot順次rebase | 1件マージ→次がコンフリクト | ループ | pnpm overrides で一気に固定する統合PRに転換 |
| 12 | 別セッション衝突 | 同じブランチで作業 | 失敗 | 手紙形式で通信+新ブランチ移管 |
| 13 | E2E networkidle置換 | 25箇所を load に置換 | 失敗 | Codex「SPAでは load 再発火しない」→全削除に方針転換 |
| 14 | E2E ハイドレート前click | 即時click | 失敗 | expect.toPass({ timeout }) で retry 化して恒久対策 |
| 15 | OBS Chromeスクリプト | クラス名だけで判定 | 失敗 | Chromiumベース別アプリも拾うのでプロセス名併用 |
| 16 | Stream Deck .ps1起動 | 直接登録 | 失敗 | .bat ラッパー(-NoProfile)で解決 |
| 17 | Xポストエクスポート | Chrome拡張に機能追加 | 半日無駄 | DevTools MCP の evaluate_script で完結する話だった |
| 18 | ポスト案生成 | 既定スキルで生成 | 他者下げ混入 | 「誰も傷つけない」原則をスキルに明文化 |
| 19 | GitHub158リポ取得 | bashループで一括 | CR/空値バグ | スクリプト書き直し、95件で見切り判断 |
今日の学び
- 並列サブエージェントは「独立した作業」と「Write拒否時の手動救済」をセットで運用すると速い。20回以上回した日でも、Write拒否1〜2件を自分で書けば全体は止まらない
- Codex(GPT-5.5)レビューは「致命的な点だけ指摘して」と指示しても本質的な抜け漏れを掘り当ててくれる。pnpm-lock 順次rebaseの罠も、SPAの
load再発火しない件も、Codex指摘で方針転換できた - 別セッションとブランチが衝突したら、
reset --softで巻き戻して新ブランチを切るのが一番安全。git checkoutで破壊的に戻すと午前の修正が全部飛ぶ可能性がある - 著作権・倫理に関するルールは「人に言われてから」ではなく「ルールに書いて」運用に組み込まないと毎回同じミスを繰り返す。今日明文化した
book-references.mdと「誰も傷つけない」原則は、次回以降の生成で自動適用される requestAnimationFrame駆動のアニメより Web Animations API のほうが圧倒的に滑らか。GPU合成にも乗りやすい
明日やること
- Plan A/B/C のうち1つを選んで GitHub 158リポのセキュリティ設定を一括有効化
- ケース100の続き5〜10論点をインタラクティブHTML化(朝9時にリマインドエージェントが来る)
- 簿記3級ノートの残り2章(intro系の続き)を移植して26章コンプリート
- 仕訳エンジンに「効果音」を追加するか検討(Web Audio APIで短い決定音)
関連記事
- 簿記3級ノート24章をVueに移植:24並列サブエージェントで一日で仕上げたマラソンの記録
- インタラクティブ仕訳例題エンジンをモーダル化+Web Animations APIで再設計:飛行pillアニメと貸借ランタイム検証まで
- yomitokuで会計書籍3冊をOCR→Turso DBへ蔵書知識ベース化
- 会計100論点のインタラクティブHTML化と、書籍由来表現を本番から完全削除するルール整備
- Dependabot 6PRをpnpm overrides統合PRに集約し、PlaywrightのnetworkidleをCodexレビューで全削除した日
- OBSウルトラワイド配信向けにChromeウィンドウ位置を一発固定するPowerShellスクリプトとStream Deck連携
- Chrome拡張からDevTools MCPへ方針転換:Xポストエクスポート機能を半日で巻き戻した話と『誰も傷つけないポスト』原則の明文化
- GitHub 158リポを棚卸し、Dependabot・Push Protection・Secret Scanningの現状把握から明日のTODOへ
- マネーフォワードGitHub流出を受けて、ひとり開発の秘密管理を棚卸しした