「気づくだけでなく、そもそも起こさない」:報告だけの監視を、見つけてその場で埋める形に作り替えた

English version

トレカダッシュ 開発の記録 / 2026年8月

iOS アプリ「トレカダッシュ」の目標は、抽選の情報を、もれなく出すことです。ユーザーからの指示は、「気づくだけじゃなくて、そもそも取りこぼしが起きないようにして」でした。

この記事は、2026 年 8 月 27 日に、監視を、「見つけて報告する」から、「見つけて、その場で埋める」に作り替えた記録です。

数字は、2026 年 8 月 27 日の作業の記録から書いています。

報告だけの監視は、人が気づくまで埋まらない

それまでの、取りこぼしの監視(reportCoverageGap)は、報告するだけでした。人が気づいて、手で流すまで、穴は埋まりません。見つけたその場で、記事を作る(埋める)ようにして、1 日 3 回(取り込みの後)に走らせました。

黙って捨てる分岐に、ログを入れた

ある関数(touchLastSeenIfExists)の早期の return が、何も言わずに次へ行く、唯一の分岐でした。ほかの分岐は、全部ログを出すのに、ここだけが無言でした。そのせいで、「24 店が、同じ記事 ID になる」という、別の穴が、長く見つかりませんでした。無言で捨てる分岐は、見つからない穴の、住処です。

リンクが無い記事でも、「どう応募するか」は出す

応募リンクが分からない 32 件のうち、17 件は、相手の表にも、URL が無いものでした(店のアプリや、店頭の QR など)。ただ、相手は、「応募方法」や「応募条件」を、文章で書いています。それを取り込んで、応募方法を判定する処理に渡しました。「応募先が分かりません」と出すより、「アプリで応募」や「店頭の QR コードから応募」と出すほうが、役に立ちます。

修復の対象から、漏れていた記事

「応募リンクが分からない」という印が付いた記事でも、アプリ限定の店でも、行き先がまとめでもない場合は、修復の対象に、一度も入りませんでした。34 件のうち、対象は 15 件だけでした。印そのものを、対象の条件にしました。

最終の数字

前後
取りこぼしのカバー率(相手 1 サイト・24 件に対して)92%100%(途中 96%)
表示中の記事1,444 件1,488 件(+44 件)
応募リンクがある記事97.4%97.8%

ただし、100% は、1 つのサイトに対しての数字です。X のまとめの取りこぼしの調査では、3 店舗が出ましたが、保存された本文が 500 文字で切られていたので、これは下限です。X の監視が再開したあとで、測り直すことにしました。

分かったこと

気づく仕組みは、埋める仕組みまで、つなげる。

この話に出てくるもの

ほかの記録

コメント

感想や、記事の間違いの指摘は、ここへ。書くには、GitHub のアカウントが要ります。

押すと、giscus(giscus.app)と GitHub に接続します。押さなければ、接続しません。詳しくはあつかいに書いています。