(2026年10月22日・表7)

結論

ぼくは、記事を組み立てて公開する作業まで AI(Claude Code)に任せています。公開してよいかを決めるのは、ぼくです。そのために、push(main へ送ること)の前後に、自動で止める検査を重ねました。この1枚は、その構造です。

  • 送り先は2種類で、通る検査が違います。文書だけの変更(docs)は、5つの検査に全部通ったときだけ、承認なしで送れます。サイトの変更は、送る前に3つの検査と検品係の判定、送ったあとに本番確認があります。
  • 本番確認は、ページごとに5項目(a〜e)です。
  • 検査に関係なく、人の承認が要る線が別にあります。新しい記事と新しいツールページの公開、X の投稿文、費用が増える操作と、外部サービスの設定、作り直せない削除、承認の線そのものを変える決まりと、検査を弱める変更です。
  • 検査の決まり自体も、この線の中に入れてあります。検査語や許可リストを、AI が黙って緩められないようにするためです。
  • 検査のほうに穴が見つかった例が4件、検査が正しく止めて許可の形を人が決めた例が1件、記録にあります(下の表)。検査は、足して終わりにはなりませんでした。

部品の関係図

push の前後の流れを、順に並べます。上から下へ進みます。

順何をするか
1公開物を書き換える(作る係)。リントで、書き方の決まりを自動で検査する
2サイトを組み立てる(build)。組み立てた出力が、入力より古くないかも見る
3秘匿スキャン。送る差分と、公開される出力の全文を、検査語で検査する
4検品係が、変更を読んで「通す」か「直す」を返す。外に出る文面は、下読み係も読む
5人の承認が要る線に当たるものは、ここで止まる。当たらなければ push する
6本番確認。公開されたページを、5項目で確かめる

文書だけの変更は、この道を通りません。専用のスクリプトが、次の5つを検査します。

docs だけの push の5つの検査

docs の変更は、公開されない内部文書です。そのぶん、次の5つを全部通ったときだけ、承認なしで送ります。1つでも外れると、何もコミットせず「停止点へ」と出して終わります(scripts/docs_only_push.py の頭)。

検査何を見るか
① 許可リスト変更したファイルが、許可リスト16件の中だけ。site/・scripts/・data/ など7つの場所が1ファイルでも入れば外れ
② 未 push のコミット押し出していないコミットが0件。docs 以外のコミットを、一緒に押し出さないため
③ 私用情報足した行に、私用のメールアドレス・ホームフォルダ名・ユーザーのフォルダの形が0件
④ リント書き方の検査のエラーが0件
⑤ 版の行版を持つ文書(運用の決まり・文体ガイド・記事の種類の一覧・企画書の本文)を変えたときだけ、冒頭の版が上がっている

③では、検査語の全部は当てません。docs は内部文書で、既存事業の名前などを含んでよいからです。当てるのは、私用情報の3つだけです。

ただし、決まりの文書の変更のうち、承認の線そのものを変えるものは、この5つに通っても、人の承認が要る線に当たります。承認の線に触れない文の直し(行の名前・整理・手順の直しなど)は、検品係が同意すれば止めずに送って記録に残し、チャットの AI(相談役)があとから確かめます。この5つは、通ってよいかではなく、止めるべきものを先に自動で弾く役です。

サイトの push の前と後

サイトを変える push は、docs だけの道より厳しくしました。公開されるからです。

検査何を見るか
リント公開物の書き方の決まり。エラーが1件でもあれば、直して検査し直す
秘匿スキャン(差分)送るコミットの見出し・本文・足した行を、私用情報の3語で検査
秘匿スキャン(公開される出力)組み立てた出力の全ファイルを、検査語23語で毎回全文検査。出力が入力より古ければ、「build し直す」と出して止まる
検品係決まりに照らして、「通す」か「直す」。読むだけで、ファイルは変えない
本番確認push のあとに、公開中のページを5項目で確かめる

秘匿スキャンで画像や録画は、ファイルの中の文字の区画だけを見ます。画像に描かれた文字は見ません。見えないものがあることを、先に決めてあります。

本番確認の5項目は、次のとおりです。

項目何を見るか
a 反映本番のページの全文が、手元で組み立てたものと同じ。違えば、30秒おきに最大3分待つ
b OGカードに使う3つの値と、その画像が開ける
c 画像ページが読んだ画像の合計と、最大の1枚。1枚の上限は300KB
d 内部語ページの全文に、検査語が無い。送る前と同じ当て方
e 390pxスマホ幅の崩れの6項目が全部0。画面の幅が390でなければ、それだけで ×

どれかが × か「未反映」なら、「停止点へ」と出して止まります。内部版の本番確認は、サイトに出さない原稿(公開前の下書きなど)を対象から外し、外した件を記録に残します。

人の承認が要る線

検査に通っても止まるものを、先に決めてあります(運用の決まりの「判定に関係なく必ず止まるもの」)。

  • 新しい記事と、新しいツールページの公開
  • X の投稿文
  • 費用が増える操作、外部サービスの設定、作り直せない削除、承認の線そのものを変える決まりと、検査を弱める変更

決まりの変更には、検査を緩める変更も入れました。検査語を減らす、許可リストを広げる、リントの決まりを緩める、秘匿スキャンが止める場面を減らす、です。AI が、止められた検査を黙って緩めると、この構造の意味がなくなるからです。

ほかに、検査のエラー、安全判定に止められたとき、その日の一覧で「止まる」とした作業も止まります。

止まった箇所

検査が止めたものと、検査のほうに穴が見つかったものを、記録に残っている範囲で並べます。

日付何が起きたかどう直したか
10/5秘匿スキャンを、差分の場所の一覧で決めていた。build が新しい入力を読むと、そこが穴になる差分に site/ があるかにかかわらず、公開される出力の全文を毎回検査する形にした
10/5全文の検査の試しを、取り出した別のフォルダだけで行った。実際に使うフォルダの dist にあった不要なファイルの写し3件を、見落とした仕組みの試しは、実際に使うフォルダでも1回走らせる、を検品の基準に足した
10/13本番確認の a が、ページの本文だけを比べていた。版の印の無い古い手元のビルドと本番を比べて、○にした回があったページの全文で比べる形にし、手元のビルドが古ければ本番を見る前に止めた(10/14)
10/15手元のビルドの古さの検査が、朝の自動実行が書く受領票を見ていなかった。受領票が新しいと、全文では本番と違うのに、古いと分からなかった本番確認の側で、受領票も入力に入れて古さを見るようにした
10/15公開用の検査語が、ツールページに書いた Zenn の置き場の URL の、名前の部分に当たった検査語は変えず、その形の URL の名前の部分だけを当てない許可を足した。決めたのはぼくで、画面で承認した

10/13 の行の直しは、内部版の本番確認だけです。公開版の本番確認は、今も main の中だけを比べます。最後の行は、検査が正しく止めたものを、決まりの変更として人が通した例です。止めたのは検査で、許可の形を決めたのは人でした。

表のほかに、検査ではなくスクリプトの作りが止めた例が1件あります。10/15 に、push の前の取り込みで、生成物の autostash(作業中の変更を一時退避して戻す仕組み)が食い違って止まりました。このスクリプトは、食い違いが起きたときに push せず、元の変更を残して止まります。

月の費用

追加の費用は0円です。

部品月の費用根拠
リント・秘匿スキャン・docs の5つの検査0円手元のファイルを読むだけで、外部のサービスを呼ばない
本番確認0円公開中のページを読むだけ

部品ごとの役割

部品役割
リント公開物の書き方の決まりを、設定のファイルから読んで検査する
秘匿スキャン検査語のファイルから読んで、送る差分と公開される出力を検査する
docs だけの push のスクリプト5つの検査に通ったときだけ、docs を承認なしで送る
本番確認push のあとに、本番のページを5項目で確かめ、結果を記録に残す
スマホ幅の検査390px と1280px で全ページを撮り、崩れを6項目で拾う
検品係変更を読んで「通す」か「直す」を返す。読むだけ

関係する記録

  • 解剖 01 ── 毎朝1本、X へ自動投稿する仕組みの構造
  • 解剖 02 ── 毎朝の自動実行が「合っているか」を確かめる仕組みの構造
  • ツール「出したくない語スキャン」
  • ツール「本番確認」

Xでは、AI の新しい発表を自分の運用で試した結果と、この工場で確かめた結果を書いています → @hitoriaifactory