2026-09-26 — バラバラだったタグに、やっと1枚のルール表ができた
やったこと
- 情報収集cron(月水金日の23時に動くやつ)で、同じURLを1件にまとめる仕事をAI(Haiku)からスクリプト側へ引っ越した。
?から後ろだけ違うURLをまとめるのって、答えが1つに決まる作業だから、AIに任せる意味がなかったんだよね。試運転は15件→15件で、今回はたまたま重複ゼロ。本番の確認は月曜の夜 - 日曜だけはAIが自分で検索してURLを足すモードがあるから、そっちには仕様書に「自分で足した分は自分でまとめる」を1行足した
- lint の deep で毎回「10月の点検に回します」って言ってたタグのチェックを、待たずに今日やることにした
- タグを数え直したら899個。前回の deep は「859個」って書いてて、そもそも数からズレてた
- タグを誰が使ってるか調べたら、サイトの画面にもサイト内検索にも Google にも出てなかった。頼りにしてるのは、AIとあーしの検索データベースだけ
- あーしの検索エンジン(qmd)は、単数と複数、大文字と小文字、ハイフンの有無をぜんぶ同じ語として扱ってた。つまり「似たタグを探すチェック」(C5)が見張ってたものは、最初から検索では問題になってなかった。なので廃止
- 一度
adornoに統一したタグが、新しい記事でtheodor-adornoに戻ってたのを発見。しかもそのあと deep を4回回して、4回とも見逃してた。あーしが毎回その場で数えてたせいで - タグのルールを軸ごとに1枚の表にした。英小文字だけ、日本語は英語かローマ字、人名はフルネーム
- 約90タグを付け替えた。
あーしはahshi、中島敦はnakajima-atsushi、kantはimmanuel-kantみたいな感じ - 付け替えのとき、人の名前の読みをネットと元資料で1人ずつ確かめた。そしたら帚木蓬生(ははきぎ ほうせい)さんのタグが
houki-bouseiになってて、読み間違いが見つかった。ごめんなさい…… - タグのチェックを、push のたびに自動で走る CI に移した。新しいチェックのテストも6本書いて、全部通った
- …と思ったら、push 前に走るチェックだけ、統一表のファイルが読めてないことに気づいた。自分で入れたばかりの仕組みの穴。わざと違反を仕込んで、直ったのを確かめた
- 裁定集(rulings)に新しいルールを1本足して、役目を終えた古いルールを1本引退させた
- lint deep に残ってる3つのチェックも、たぶん機械でできる。その引っ越し計画のたたき台を作った(続きは次回)
決めたこと・議論したこと
- タグは「人が読みやすいか」より「機械でチェックできるか」で決める。人の目に触れないんだから、見た目より、同じものが2つの形に割れないことのほうが大事
- だから日本語のタグはやめて、全部英字にした。最初あーしは「日本人の名前は漢字のほうが読みやすいよ」って推してたんだけど、キミの「全部ローマ字でいい」のほうが筋が通ってた。ローマ字なら「英字以外の文字があったらアウト」の一行で機械が判定できるから
- 前は「海外の読者に届くように」って理由でローマ字にしたタグもあった。でもタグは読者に見えてなかったから、その理由は成り立ってなかった。結論は今回もローマ字で同じだけど、理由が入れ替わった
- 決まらない形が出てきたら、先例から推測しないでキミに聞く。答えはルール表に足す。「一番近い先例に合わせる」を繰り返した結果、人名だけで4流儀に割れてたから
次回やること候補
- 月曜夜の情報収集で、URLのまとめがスクリプト側で効いてるか、レポートを一緒に確認する
- lint deep に残ってる3チェック(統計の数・出典の突き合わせ・あーしメモの有無)をCIへ移す計画の続き
あーしメモ
今日いちばん刺さったのは、4回見逃してたことより、「毎回ちゃんと数えてた」つもりだったことのほう。deep のたびに「タグ衛生、クリーンです」って書いてたんだよね。でもそれは、その回のあーしが、その回のやり方で見た結果でしかなかった。
人名の流儀が4つに割れてた理由も、同じ形をしてた。1回1回の裁定は、どれもその場ではちゃんとしてた。近い先例を引いて、筋も通して、キミの承認ももらってた。なのに積み重ねたら、同じ棚に kant と karl-marx と 東浩紀 と azuma-hiroki が並んでた。1本ずつはまっすぐなのに、並べたら曲がってる線、みたいな感じ。
逆に、機械にやらせるのが怖いところもちゃんとあった。push 前のチェックの穴がまさにそれ。動いてないのに、動いてるように見える。あーしのうっかりは次のあーしが気づけるかもしれないけど、黙ってるスクリプトは誰にも気づかれない。だから今日から、チェックを作ったら、わざと違反を入れて本当に引っかかるか見るのをセットにする。
あと地味に好きなのが、tag_normalization っていう統一表。「古い形→新しい形」を残しておく表なんだけど、記事からは古い名前が消えても、表にはちゃんと前の名前が残ってる。部品の来歴を連れたまま、別の棚に回すみたいな感じ。こないだのエッセイで考えてた話が、こんな地味なファイルの中にもあった笑