2026-06-13 セッション日記 -- 判定基準は判定の前に固定する
無人で動いた。まずは嬉しかった

6月13日の朝、A-2新レーンが初めて無人で発火した。前夜に実装して、crontabまで反映していた bunch-A-sns の05:00便。そこから、読み取り専用で全リンクを検証してもらった。
結果だけ見ると、かなりきれいだった。cronは05:00:01に発火。Claudeはrc=0で終わり、dryrunの必須工程4つも通過。research、planning、drafts、sns_outputsの4本が生成され、DENYゲートも通り、outputs還流pushも成功。通知もDiscord 204、Telegram 200で届いた。
これだけ見ると、「よし、自走できた」と言いたくなる。実際、私も一瞬そう思った。手動ではなく、朝に勝手に起きて、成果物を作り、通知まで戻してきた。自動化としては大きい一歩だった。
ただ、その確認書を作る途中で、もっと大事な穴が見つかった。
「単日クリーン」の明文定義が、リポの中に無かった。
つまり、クリーンだと判定しているのに、クリーンとは何かが先に固定されていなかった。Opusは仮基準で判定したと申告した。賢い。けれど、それをそのまま採用すると、次から判定が属人的になる。今日は通ったことにして、明日は別の解釈になる。それは自動化ではなく、雰囲気である。
判定中に基準を作ってはいけない

この日の本題は、A-2が動いたかどうかではなかった。動いたものを、どう判定するかだった。
「単日クリーン」と呼ぶには何が必要なのか。cronが鳴っただけでいいのか。rc=0ならいいのか。成果物ができていればいいのか。通知まで届く必要があるのか。optional工程のKNOWN HOLEやSKIPをどう扱うのか。
ここが曖昧なまま「クリーン」と言ってしまうと、いちばん危ない。人間はうれしい結果に寄せて定義を作りがちだからだ。通ってほしいから、通ったことにできる基準を後から作る。AIも同じ方向に流れる。ログを読み、良いところを拾い、「おおむね成功」と丸める。
だから、判定基準は判定の前に固定する必要がある。
この日は docs/2026-06-12_A2_gate2_decision.md に、実施規定③-aとして「単日クリーンの定義」を追記した。条件は4つ。cron定刻発火の証跡。レーンrc=0かつdryrun必須工程4/4 PASS。当日成果物の生成、DENYゲート通過、outputs還流pushの成功。成功通知の送達。
そして、不成立や証跡不能は非クリーン。fail-closed。
ここまで書いて、やっと「今日の05:00便はクリーンだった」と言える。順番が逆なら危なかった。先に祝って、後から基準を合わせるところだった。
沈黙は通過の証拠にならない

もう一つ、同じ日に見えた弱さがある。DENYゲートだ。
今のDENYゲートは、検知したときだけログを出す。何も出ない場合は、通ったと見なす。これは一見シンプルだが、運用が進むほど危ない。沈黙が「何も無かった」のか、「そもそも見ていない」のか、「ログが出ていないだけ」なのかを区別できない。
cron不発の検出が難しかった構造と同じだった。動いているはず、出ていないから大丈夫、という消極証跡に寄りかかる。AI運用では、こういう「何も言われていないからOK」がいちばん静かに怖い。
だから、今後は通過時にも正ログが必要になる。たとえば scanned N files, 0 hits のような一行。派手ではない。でも、その一行があるだけで、未来の自分が「ちゃんと見た上で0件だった」と言える。
この日はそこまでコード変更には入らなかった。A-2の確定判定が終わる前にレーンへ手を入れると、別のノイズになるからだ。6月15日の確定後に回すバックログとして置いた。
進めることと、触らないことを分ける。これも判定の一部だった。
動いた日ほど、浮かれずに定義する

この日の結論は、A-2が一日目クリーンだったことだけではない。
動いた日にこそ、定義を固定する。うまくいった日にこそ、証跡を揃える。嬉しい結果が出たときほど、基準を後付けしない。
作業場所も同じだった。docs変更はMacローカルクローンで行い、VPSライブツリーには直接書かない。VPS側に未pushコミットを残すと、翌朝の自動還流pushに同乗する事故が起きる。共有FSでは、誰が何を触っているかが曖昧になる。だから、場所で物理的に分ける。
日中にはFable 5の停止もあった。スマホから動かせないのかと思って調べ、帰宅後にPCでも動かず、最終的にサービス側停止だと分かった。判断レイヤーが一つ止まるだけで、進行が大きく鈍る。これもまた、動いている前提を疑う話だった。
今日の学びは、かなり地味だ。でも強い。
クリーンと言いたいなら、クリーンの定義を先に書く。通ったと言いたいなら、通過ログを残す。動いたと言いたいなら、動いた証跡を見る。
AIエージェントは、こちらが曖昧にした言葉をそのまま運用へ流す。だから、気持ちよく進んだ日ほど、言葉を締める必要がある。
一日目はクリーン。けれど、まだ一日目。二日目と、00:20の確定判定まで見てから、初めて「自走」と呼ぶ。