[{"data":1,"prerenderedAt":472},["ShallowReactive",2],{"content-/2026-09-14-diary":3,"all-pages-for-dir":450,"related-/2026-09-14-diary":451,"og-image-/2026-09-14-diary":471},{"id":4,"title":5,"body":6,"category":430,"concepts":431,"description":432,"extension":433,"meta":434,"navigation":376,"ogImage":431,"path":435,"project_name":436,"published":437,"publishedAt":438,"seo":439,"source":440,"stem":441,"tags":442,"todo":431,"unpublished":437,"updatedAt":448,"__hash__":449},"pages/2026-09/2026-09-14/diary-2026-09-14.md","2026年9月14日の開発日記 - 学習ゲートを畳み、Codexレビューに置き換えた日",{"type":7,"value":8,"toc":414},"minimark",[9,14,23,27,34,37,42,45,48,54,67,78,81,85,88,91,94,98,106,114,123,125,129,132,139,142,146,160,168,170,174,177,180,184,195,202,204,207,338,340,343,360,362,365,391,393,396],[10,11,13],"h1",{"id":12},"_2026年9月14日の開発日記","2026年9月14日の開発日記",[15,16,17,18,22],"p",{},"朝の ",[19,20,21],"code",{},"/procs"," から始まり、夜まで5本のセッションを渡り歩いた1日だった。メインはCF教材の消費税対応をP4-2まで進めることだったが、途中で自作したコミットレビューのゲートに自分が11回止められたり、1日前に自分で決めた仕様を「タグだったはず」と思い違えたりと、今日の主役は実装そのものより「自分が作った仕組みに自分がどう振る舞ったか」だった。",[24,25,26],"h2",{"id":26},"今日のタイムライン",[15,28,29],{},[30,31],"img",{"alt":32,"src":33},"タイムライン","/2026-09/2026-09-14/timeline-2026-09-14.png",[24,35,36],{"id":36},"今日やったこと",[38,39,41],"h3",{"id":40},"_1-cf教材の消費税対応をp0からp4-2まで","1. CF教材の消費税対応をP0からP4-2まで",[15,43,44],{},"計画書を握って朝7時にP0から始め、区切りごとにCodexのレビューを受けて引き継ぎプロンプトを保存する形で5回セッションをまたいだ。P4では仕訳の削除ジョブ407件が250件まで進んでも終わらず、公開APIが1件ずつレスポンスを待つ作りだと判明。Web UIの内部API（一括削除・CSVインポート）に切り替えたところ、投入側でも300総合演習の5年度623仕訳が一気に通った。",[15,46,47],{},"コミットゲートでは差分6,156行が上限4,000行を超えて自動スキップされる事態にも遭遇し、上限を7,000行に引き上げた。さらにゲートを3回回す間にCodexの指摘が11件に膨らんだところで、その重要度をそのまま飲み込んで直しては回し直していないかと気づかせ、中身を見て判定し直させた。本当にcriticalと言えたのは1件だけだった。",[15,49,50],{},[51,52,53],"strong",{},"主な成果:",[55,56,57,61,64],"ul",{},[58,59,60],"li",{},"P0〜P4-2まで5フェーズ進行、税込化・売却対価の課税売上判定・未収消費税の科目追加を完了",[58,62,63],{},"仕訳の削除・投入を内部API（一括削除・CSVインポート）へ切り替え",[58,65,66],{},"Codexレビューの重要度をClaude Codeに中身を見て判定し直させる運用へ変更し、フックのルールに明文化",[15,68,69,72,73],{},[51,70,71],{},"詳細:"," ",[74,75,77],"a",{"href":76},"/cf-consumption-tax-phased-implementation","CF教材の消費税対応をP0からP4-2まで進めた日。仕訳の削除と投入は内部APIが速い",[79,80],"hr",{},[38,82,84],{"id":83},"_2-クラウド会計のログイン不具合と株主資本等変動計算書の仕組みの確認","2. クラウド会計のログイン不具合と、株主資本等変動計算書の仕組みの確認",[15,86,87],{},"朝、会計ソフトにログインできず「サーバーが落ちたのでは」と疑ったが、実測させると302/200のみで5xxは1件もなかった。実際の原因はブラウザが別アカウントを掴んでいたことで、調べる先を間違えていたと分かった。",[15,89,90],{},"昼前には株主資本等変動計算書の変動事由をどう決めているか自分で説明できなくなり、「タグで識別していたはず」という記憶で答えようとしたが3つとも外れていた。実際は仕訳1本全体の形を15本の型表に照らして決める仕組みで、1日前に自分で決めた仕様が1日で記憶から抜けていたことになる。実装がわかる記事を1本書かせて対策した。",[15,92,93],{},"午後は会計ソフトの内部API躓きメモに、別セッションが遭遇していた12項目を追記しようとしたが、別セッションが先にコミット済みだったため作業は不要だった。",[15,95,96],{},[51,97,53],{},[55,99,100,103],{},[58,101,102],{},"ログイン不具合の原因（アカウント違い）を特定",[58,104,105],{},"株主資本等変動計算書の仕組み（仕訳の形→15本の型表→事由決定）を再確認し、記事1本を残した",[15,107,108,72,110],{},[51,109,71],{},[74,111,113],{"href":112},"/cloud-accounting-login-and-equity-cause-logic","クラウド会計にログインできない原因と、株主資本等変動計算書を仕訳の形から決める仕組み",[15,115,116,72,119],{},[51,117,118],{},"関連（既存記事）:",[74,120,122],{"href":121},"/equity-statement-from-journal-shape","株主資本等変動計算書の変動事由を仕訳の形から自動で決めるChrome拡張を作った",[79,124],{},[38,126,128],{"id":127},"_3-学習ゲートを畳みcodexのコミットレビューを導入procsとレッスンページも整備","3. 学習ゲートを畳み、Codexのコミットレビューを導入。procsとレッスンページも整備",[15,130,131],{},"コミット前にクイズ合格を求める学習ゲートを、最近はずっとスキップしていたため無効化した。代わりにpre-commitでCodexのコードレビュー（gpt-5.6-sol・reasoning effort high）を自動で走らせる仕組みを新設し、critical/highが出たらコミットを止める線引きにした。",[15,133,134,135,138],{},"作った直後、自分のコミットがそのゲートに11回止められた。実行環境の隔離、シェルからPythonへの書き換え、機密検出の誤判定修正などを経て通したが、この一連に約1時間かかった。除外リストの判定がディレクトリの場所を問わずリポジトリ名だけを見ている穴も見つけて直した。さらに",[19,136,137],{},"codex:review","スキルがSkillツールから呼べない設計だったと分かり、案内文を実際に機能する経路（codexプラグイン側）へ書き換えた。",[15,140,141],{},"午後は表示側に回り、レッスンページの「全文を読む」モードに章一覧サイドバーと目次を追加し、モードごとに違っていたサイドバー幅も統一した。このコミットはCodexレビューを指摘ゼロで通過した。",[15,143,144],{},[51,145,53],{},[55,147,148,151,157],{},[58,149,150],{},"学習ゲートを無効化し、pre-commitでのCodexコミットレビューを新設",[58,152,153,154,156],{},"除外リストの判定漏れ・",[19,155,137],{},"の呼び出し不能を修正",[58,158,159],{},"レッスンページの全文モードにサイドバー・目次を追加、幅を統一",[15,161,162,72,164],{},[51,163,71],{},[74,165,167],{"href":166},"/codex-commit-review-gate","形骸化した学習ゲートをやめ、pre-commitでCodexのコードレビューを自動化した",[79,169],{},[38,171,173],{"id":172},"_4-起動時に立ち上がるmemento-moriアプリの正体とswiftui版への移行計画","4. 起動時に立ち上がるMemento Moriアプリの正体と、SwiftUI版への移行計画",[15,175,176],{},"Windowsの起動時に立ち上げている「Memento Mori」（生きた週数を数えるアプリ）を、手元のmementomoriリポジトリだと思い込んでいた。確認させると実体は別リポジトリ（memento-mori-electron）から2025-08-04にビルドしたElectron版で、そこには未配布の修正が溜まっていた。気になっていた「現在の週を示す点滅の位置がずれる」バグはClaude Codeに原因を特定させ、Vue側の修正をpushした。",[15,178,179],{},"あわせて、今後はWindowsではなくMacBook側でSwiftUIに書き直す方針を固め、Mac版とiPhone版を1つのプロジェクトから作る計画書（memento-mori-ios）をCodexレビュー付きで作らせた。判断が要る4件は決裁フォームで答え、Windows版の実データをJSONに書き出してMac側で取り込む手順も同じリポジトリに残した。",[15,181,182],{},[51,183,53],{},[55,185,186,189,192],{},[58,187,188],{},"起動アプリの実体を特定（Electron版・未配布の修正あり）し、週の点滅ずれを修正してpush",[58,190,191],{},"SwiftUIでMac / iPhone両対応にする計画書と決裁4件をmemento-mori-iosに保存",[58,193,194],{},"Windows版データのJSON書き出しと、Mac側の取り込み指示を保存",[15,196,197,198,201],{},"（このセッションは",[19,199,200],{},"/make-diary","のログ同期が終わる前に一覧を取ったため当日の生成から漏れ、2026-09-15に補記した）",[79,203],{},[24,205,206],{"id":206},"今日の試行錯誤",[208,209,210,232],"table",{},[211,212,213],"thead",{},[214,215,216,220,223,226,229],"tr",{},[217,218,219],"th",{},"#",[217,221,222],{},"テーマ",[217,224,225],{},"試したこと",[217,227,228],{},"結果",[217,230,231],{},"気づき",[233,234,235,253,270,287,304,321],"tbody",{},[214,236,237,241,244,247,250],{},[238,239,240],"td",{},"1",[238,242,243],{},"コミットレビューの導入",[238,245,246],{},"クイズ合格ゲートを畳み、Codexによる自動コードレビューに置き換え",[238,248,249],{},"自分のコミットが11回ブロックされた（critical 3件・high 1件から始まり隔離実行・Python化・誤検出修正を経て通過）",[238,251,252],{},"通していないゲートは形だけの儀式。自作の検査は自分に適用して初めて穴が見える",[214,254,255,258,261,264,267],{},[238,256,257],{},"2",[238,259,260],{},"会計ソフトの一括削除",[238,262,263],{},"公開APIで407件の削除ジョブを1件ずつ投げる",[238,265,266],{},"250件まで進んでも終わらず待機",[238,268,269],{},"Web UIの内部API（一括削除・CSVインポート）の方が速いと気づき、削除・投入ともに切り替えた",[214,271,272,275,278,281,284],{},[238,273,274],{},"3",[238,276,277],{},"Codexレビューの重要度判定",[238,279,280],{},"P4で3回ゲートを回し指摘11件を精査 → 判定し直す運用に切り替えたが、別セッションのP4-2ではまた5回ゲートを回していた",[238,282,283],{},"P4は11件中1件だけが真にcritical。P4-2は5回目でようやく「本当に5回必要か」と問い直された",[238,285,286],{},"運用ルールを1回決めても次のセッションでは元に戻る。フックに明文化して初めて定着を試せる",[214,288,289,292,295,298,301],{},[238,290,291],{},"4",[238,293,294],{},"株主資本等変動計算書の仕組み確認",[238,296,297],{},"「タグで識別していたはず」という記憶のまま説明しようとした",[238,299,300],{},"3つとも外れていた（実際は仕訳全行の形を型表に照らす仕組み）",[238,302,303],{},"1日前に自分で決めた仕様でも、1日で記憶が化ける",[214,305,306,309,312,315,318],{},[238,307,308],{},"5",[238,310,311],{},"ログイン不具合の切り分け",[238,313,314],{},"「サーバーが落ちたのでは」と疑い、リダイレクトを実測",[238,316,317],{},"302/200のみ、5xxなし＝サーバー側は正常だった",[238,319,320],{},"実際の原因は自分のブラウザが別アカウントを掴んでいたこと",[214,322,323,326,329,332,335],{},[238,324,325],{},"6",[238,327,328],{},"起動アプリの正体確認",[238,330,331],{},"手元のmementomoriリポジトリのビルドだと思って中身を照合",[238,333,334],{},"別リポジトリのElectron版（2025-08-04ビルド）で、未配布の修正が溜まっていた",[238,336,337],{},"久しぶりに開くアプリは「どのリポジトリのどのビルドか」から確かめる",[79,339],{},[24,341,342],{"id":342},"今日の学び",[55,344,345,348,351,354,357],{},[58,346,347],{},"通していないゲートは、ゲートではない。スキップが常態化した時点で形だけの儀式になっている",[58,349,350],{},"レビューの重要度は、レビュアーの申告を鵜呑みにせず中身を見て判定し直させる。「この経路で実際に何が壊れるか」を見れば、criticalは大きく減ることがある",[58,352,353],{},"会計ソフトの公開APIは削除も登録も1件ずつ待つ。件数が多いときは内部API（一括削除・CSVインポート）の方が速い",[58,355,356],{},"1日前に自分で決めた仕様も、1日で記憶から抜ける。実装がわかる記事を残しておくと戻ってこれる",[58,358,359],{},"並行セッションは知らないうちに成果物を確定させる。「コミットしたか」を聞く前に、何をコミットしたか見る方が早い",[79,361],{},[24,363,364],{"id":364},"明日やること",[55,366,369,379,385],{"className":367},[368],"contains-task-list",[58,370,373,378],{"className":371},[372],"task-list-item",[374,375],"input",{"disabled":376,"type":377},true,"checkbox"," P4-2の残り（201, 205, 301, 303, 305の投入、補助科目登録、次年度繰越）",[58,380,382,384],{"className":381},[372],[374,383],{"disabled":376,"type":377}," 決算整理仕訳の印を外した生成器3箇所の再生成と、会計ソフトへの入れ直し",[58,386,388,390],{"className":387},[372],[374,389],{"disabled":376,"type":377}," フックに書き足した「Codexの判定を鵜呑みにしない」運用が、明日以降のコミットで実際に効くか確認",[79,392],{},[24,394,395],{"id":395},"関連記事",[55,397,398,402,406,410],{},[58,399,400],{},[74,401,77],{"href":76},[58,403,404],{},[74,405,113],{"href":112},[58,407,408],{},[74,409,167],{"href":166},[58,411,412],{},[74,413,122],{"href":121},{"title":415,"searchDepth":416,"depth":416,"links":417},"",2,[418,419,426,427,428,429],{"id":26,"depth":416,"text":26},{"id":36,"depth":416,"text":36,"children":420},[421,423,424,425],{"id":40,"depth":422,"text":41},3,{"id":83,"depth":422,"text":84},{"id":127,"depth":422,"text":128},{"id":172,"depth":422,"text":173},{"id":206,"depth":416,"text":206},{"id":342,"depth":416,"text":342},{"id":364,"depth":416,"text":364},{"id":395,"depth":416,"text":395},"diary",null,"CF教材の消費税対応がP4-2まで進んだ日。自作のコミットレビューに自分が11回止められ、会計ソフトの一括削除・CSVインポートに気づき、1日前に自分で決めた仕様を1日で忘れかけた記録。","md",{},"/2026-09-14-diary","daily-log",false,"2026-09-14T00:00:00.000Z",{"title":5,"description":432},"make-diary","2026-09/2026-09-14/diary-2026-09-14",[443,444,445,446,447],"日記","Claude Code","Codex","クラウド会計","消費税","2026-09-15T00:00:00.000Z","V8BdFyRwwG2d8e6e4Li_uJX_w5of6auntlSRDWgf8a4",[],[452,455,459,463,467],{"title":453,"path":454,"publishedAt":448},"2026年9月15日の開発日記 - 「終わっているはず」を確かめて回った日","/2026-09-15-diary",{"title":456,"path":457,"publishedAt":458},"後回しにした理由を探したら、そんな記録はどこにもなかった","/course-restart-and-tax-plan","2026-09-13T00:00:00.000Z",{"title":460,"path":461,"publishedAt":462},"2026年9月5日の開発日記 - ひと月遅れで届く開示を追う仕組みと、記事1本ごとに走っていた10万字の連鎖","/2026-09-05-diary","2026-09-05T00:00:00.000Z",{"title":464,"path":465,"publishedAt":466},"2026年9月1日の開発日記 - 図解と帳票を並べ直し、検索順位の測り方を変えた","/2026-09-01-diary","2026-09-01T00:00:00.000Z",{"title":468,"path":469,"publishedAt":470},"2026年8月31日の作業日記 - 自由研究の問いを絞り、別表の図をbefore/afterで作り直す","/2026-08-31-diary","2026-08-31T00:00:00.000Z","https://log.eurekapu.com/og/blog/2026-09-14-diary.png?v=2026-09-15T00%3A00%3A00.000Z&title=2026%E5%B9%B49%E6%9C%8814%E6%97%A5%E3%81%AE%E9%96%8B%E7%99%BA%E6%97%A5%E8%A8%98%20-%20%E5%AD%A6%E7%BF%92%E3%82%B2%E3%83%BC%E3%83%88%E3%82%92%E7%95%B3%E3%81%BF%E3%80%81Codex%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC%E3%81%AB%E7%BD%AE%E3%81%8D%E6%8F%9B%E3%81%88%E3%81%9F%E6%97%A5&author=Kei%20Komatsu&sig=6432a1001a588c0d",1789529465472]