2026年9月19日の開発日記 - 「出ない」の正体は値の欠落ではなく名前の不一致だった

daily-log

2026年9月19日の開発日記

今日は朝の通知から始まった。 LINE に届く銘柄カードを並べて見ていて、SK ハイニックスのところだけ目標株価の行が無いことに気づいた。 取得元が韓国株を弾いているのだろうと思った。 値は取れていた。 結びつけるための名前のほうが合っていなかった。

似た形のことがもう二度あった。 削減幅が伸びなかったのは比べ方のせいで、変更が消えたように見えたのは別のセッションが先にコミットしていたからだった。

今日のタイムライン

タイムライン

今日やったこと

1. まとめてコミットしたら、2つのゲートに順番に止められた

残っていた変更を「全部コミットして push」と投げた。 3つに分けたコミットのうち、2つが別々のゲートで止まった。

1つめを止めたのは、コミット前に走る描画 lint だった。 太字の中に括弧が入っている箇所が2つある。 どちらも括弧を太字の外へ出して直した。 1本ずつ直しては止められるのを繰り返しそうだったので、これから add する Markdown 7本をまとめて先に検査する方式へ切り替えてもらった。

2つめを止めたのは締めゲートで、Micron の計画書の checked が前日付のまま残っていたからだった。 ルールどおり Claude Code に /wrap-up を自律実行させ、照合はサブエージェントに任せた。 結果は6件とも未了で、IC と半導体合計の8月分は SSOT に反映されておらず、残り5件は9月30日の決算を待つ状態だった。 未了なのでチェックは打たなかった。 checked を当日に、next を未了の先頭の項目に更新して 1a8b9666 で通した。

3つめの直前に、前日の検証メモの変更が消えていた。 並行して動いていた別のセッションが先にコミットしていた。 最終的に3コミットして push し、origin/master との差はゼロになった。

詳細: コミット前の2つのゲートに止められた:Markdownの太字崩れと計画書の締め忘れ


2. make-diary のコンテキスト削減が効いたかを測り直した

前日に /make-diary から重い2工程(保有銘柄のニュースまとめと決算ビートの抽出)をサブエージェントへ移していた。 見込みは、終了時の約41万トークンが30万前後まで減ることだった。

数え方を前日のログで確かめてもらってから、今日確かめる20項目をチェックボックスにして前日の非公開記事へ書き込ませた。 実行が終わったところで声をかけ、残りを確かめさせた。

終了時は37.4万トークンで、増分で見ると28.4万から23.8万。 減ったのは4.6万にとどまった。 原因は改良のほうではなかった。 委譲した2工程は見込みどおり消えていて、代わりに Step 5(統合日記の作成)が1.7万から7.1万へ膨らんでいた。 基準にした前日の実行は日記の推敲手順を飛ばしており、41万にその分が入っていなかった。 Step 5 を除いて比べ直すと26.7万から16.7万で10.0万減、見込みの11万とほぼ同じだった。

続けて Step 5(統合日記の作成)を変えた。 記事エージェントが自分の記事から日記用のサマリーを返し、メインはそれだけで統合日記を書く。 詳細記事の全文は読まない。 3ファイルを 9c2b9f38 にまとめた。

詳細: make-diaryの削減は4.6万トークン止まり、基準にした前日の統合日記が軽すぎた


3. 韓国株だけ目標株価が出なかった原因を追った

SK ハイニックスのカードにだけ目標株価と乖離率が出ていない。 他の銘柄は金融データサービスAから取っているはずなので、韓国株だけ取れていないのだろうと思った。 出どころから追わせた。

値は金融データサービスAではなかった。 GAS が別の金融データサービスBから取って書き出す JSON で、試しに1件取らせると 000660.KS の目標株価は返ってきた。 どの関数を実行すればいいか分からなかったので、開いていた GAS エディタを Chrome DevTools で読ませた。 mainDailyJob だと分かったが、実行すると全銘柄を取り終えたあとにボットの友だち全員へ「アナリスト予想サマリー」が飛ぶ。 手で叩くのは止められた。

自分は既に実行していて、GAS 側は全40銘柄を書き込めていた。 それでも dry-run で目標株価の行が付いたカードは米国株の4枚だけだった。 値の欠落ではなく照合キーの不一致だと切り分けてもらった。 キーから取引所の接尾辞を外す修正とテスト2件の追加で、全66件が通った。 dry-run でカードに目標株価と乖離率が出たのを見てから 8e5f9f4 を push させた。

詳細: 韓国株だけ目標株価が出なかった原因は、ティッカーの取引所接尾辞だった


今日の試行錯誤

#テーマ試したこと結果気づき
1コミット残りの変更をまとめてコミット(1本ずつ直す方式)描画 lint に止められ、Markdown 7本をまとめて先に検査する方式へ切り替えて通した同じ検査が全コミットで走るなら、先にまとめて通すほうが往復が減る
2コミット2つめのコミットで計画書をそのまま add締めゲートに止められ、/wrap-up の自律実行で6件を照合(全件未了)、checkednext だけ更新して 1a8b9666 で通った未了の項目にチェックは打たない
3コンテキスト削減前日の委譲改良の効果を20項目のチェックリストで検証させた減ったのは4.6万止まり。基準にした前日の実行が推敲手順を飛ばしていたと判明Step 5 を除いて比べると10.0万減で、見込みどおりだった
4目標株価目標株価と乖離率の出どころをコードで探させたapps/web には無く、LINE 通知の銘柄カードだと判明値は GAS が金融データサービスBから取って書き出す JSON だった
5目標株価金融データサービスBから 000660.KS を1件だけ取らせた目標株価は取れた値そのものは存在すると確認できた
6目標株価GAS エディタを Chrome DevTools で読ませ、実行する関数を特定させたNode に MSYS 形式のパスを渡して失敗。C:/ 形式に直して mainDailyJob と特定実行すると LINE へ一斉送信が走るので、手では叩けない
7目標株価GAS 実行後の出力 JSON を切り出して確かめようとした切り出しを誤って失敗。目標株価と乖離率が出る銘柄を数えるだけの方法に切り替え、4枚と判明確かめたいことが件数なら、切り出さずに数えれば足りる
8目標株価書き込み後の dry-run で照合手順をなぞらせた通知スクリプトは毎回 JSON を読む作りと分かり、原因を照合キーの不一致と特定「出ない」は値の欠落とは限らない
9目標株価照合キーから取引所の接尾辞を外し、テストを2件追加して全件実行66件すべて通過。dry-run でカードに目標株価と乖離率が出て、8e5f9f4 を push

今日の学び

  • 「出ない」の原因は、値が無いか、値が結びつかないかのどちらかだった。取得側の成功を確かめただけでは切り分けが終わらなかった。
  • 見込みと実測がずれたら、改良より先に基準を疑う。分母にした1回が推敲手順を飛ばしていて、合計だけ見ているかぎり気づけなかった。
  • メインの消費を減らす手は、重い工程を外へ出すことだけではない。外から受け取るものを全文から要約に変えるのも、同じ方向の手になる。
  • 変更が消えて見えたら、まず別セッションのコミットを疑う。今日もそれだった。

関連記事

#日記#Claude Code#Google Apps Script#Git#サブエージェント