やったこと結果つまずき
投稿の猶予を「昨日〜今日」から「今日だけ」に変えた同じ短報が二度出るのを止めた手で出した投稿を機械が知らず、翌朝もう一度出した
自分の投稿の台帳を作り、手動投稿も棚を通すことにした機械が「何を出したか」を持てるようになった翌朝、その台帳ファイルが消えた
消えた原因を直し、規約を1行足した台帳は蓄積型で残るようになった8月末と同じ種類の穴だった

1. 同じ短報が、二度出た朝

2026年9月9日の夜、ぼくは第4話の短報を自分の手でXに出しました。翌10日の朝8時33分、機械が同じ短報をもう一度出しました。

原因は機械ではなく、ぼくが決めた設計です。毎朝の投稿処理は「予定日が昨日か今日のカード」を棚から拾う決まりにしていました。前の日に何かの事情で出せなかった分を、翌朝に救うための1日の猶予です。8月27日に入れました。

9日の予定で承認していたカードは、ぼくが手で出したあとも棚に残っていました。機械にとっては「昨日の予定で、まだ出ていないカード」です。決まりどおりに拾って、出した。この1本にX APIの費用が0.20ドルかかっています。

その日の午後、猶予を無くしました。拾うのは「今日の予定」だけ。過去のカードは失効にする。救済より、二度出るほうが困る、という判断です。

2. 機械は、ぼくの投稿を知らなかった

二度出た理由をもう一段たどると、機械が「ぼくが何を投稿したか」を持っていないことに行き着きます。棚には機械が出す予定のカードがあるだけで、ぼくが手で出したものは、どこにも記録がなかった。

そこで2つ決めました。ひとつは、自分のアカウントの投稿を毎朝Xから取り込んで、台帳(own_posts)を持つこと。もうひとつは、手で出す投稿も棚を通すこと。棚に「手動」の印をつけて置き、出したら台帳で翌朝記帳する。機械が出すか、ぼくが出すかに関わらず、出たものは全部ひとつの台帳に並ぶ形です。

投稿ボードv3の3区画(予定・投稿済み・見送り)。手動の印がついたカードも、機械が出すカードと同じ棚に並ぶ。カードの中身は伏せている。
投稿ボードv3の3区画(予定・投稿済み・見送り)。手動の印がついたカードも、機械が出すカードと同じ棚に並ぶ。カードの中身は伏せている。

台帳の初回の取り込みは9月11日の夕方で、8月9日からの68件が入りました。読み取りの費用は0.34ドルでした。

3. 翌朝、台帳が消えた

初回の取り込みは、本当は11日の朝の定時実行で終わるはずでした。ところが、その実行は失敗して、台帳のファイルは残っていませんでした。

ぼくが見たのは、実行の一覧に赤く出た「#27」という失敗の印だけです。中身は読めないので、そのまま指示書に書いて渡しました。返ってきた原因は、新しく作った台帳のファイルが、リポジトリ(コードの保管場所)の「無視リスト」に引っかかっていたこと。data/ の下のファイルは全部無視する、という包括的な規則があって、台帳もその下に置いたので、保存の対象から外れていた。機械は台帳を作り、保存しようとして、無視リストに止められて、失敗として終わっていた。

8月末に、機械が増やしたファイルが「保存する一覧」に入っていなくて2日止まった話を書きました(第2弾 第2話の前、8月27日と28日の件です)。あのとき規約を1行足しました。「出力ファイルを増やす改修は、保存の一覧の更新とセットで行う」。今回は一覧には入れてあった。入れたうえで、無視リストのほうに引っかかった。同じ種類の穴の、隣の穴です。

修理は11日の夕方。無視リストに例外を1行足して、規約にも1行足しました。「保存の一覧にパスを足すときは、無視対象でないことを先に確認する」。学んだつもりでいたことを、もう一段具体にした形です。

4. 機械が、事実を断定しかけた

もうひとつ、小さい話があります。第2弾の第1話(8月29日公開)の短報を、9月12日に出しました。その文面の元の案には、末尾にこう書いてありました。

「8月29日に公開した記事で、告知が抜けていました。」

これを削りました。理由は2つあります。ひとつは、読者に運用の内輪話を見せる文になっていたこと。もうひとつは、「抜けていた」が本当かどうか、その時点では言えなかったことです。台帳は8月9日からの分を取り込んでいましたが、それが全部だという確認はまだ取れていなかった。台帳に無いことと、出していないことは、同じではない。機械は台帳に無ければ「未告知」と表示しますが、その表示をそのまま文にすると、確認していない事実を断定することになります。

短報の文面には、告知の遅れや運用の事情を書かない。これは翌週の週次で規則にしました。

5. 台帳はできた。読むのは誰か

この週で、機械は「自分が何を出したか」を持つようになりました。ぼくの手動の投稿も、機械の投稿も、ひとつの台帳に並んでいます。

ただ、台帳があることと、台帳を読むことは別です。その週末、台帳を使って記事と告知を突き合わせたら、公開した19本のうち2本が一度もXに出ていないことが分かりました。次の話は、それをどう見つけて、どこに置いたかの記録です。

この記事について

同じところで詰まった、ここが分からなかった、があれば聞かせてください。次の記事の材料にします。

Xで返信する →