From d5cdca8d62d168dec305ee68f2e551d5ced383ae Mon Sep 17 00:00:00 2001 From: Lucas Winther Date: Mon, 17 Aug 2026 22:47:14 +0200 Subject: [PATCH] docs: record the Blue Archive source assessment MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit bluearchive.fandom.com/wiki/Event/Event_List fetches and parses cleanly, so the reason to decline it is not obvious from trying it: every one of its 88 rows is JP-server history, the newest ending 2026-02-18, so it yields zero live or upcoming events. That reads as an empty lane plus a permanently rejected snapshot, since the runner rejects a body parsing to nothing — a failure mode worth naming in the assessment table, because "clean table, no error" invites writing the adapter first. bluearchive.wiki is the live alternative and stays unbuilt for now: it is Miraheze, its robots closes the API route we used for Fandom, and it lists JP and Global in separate tables — the akwiki hazard, which wants settling before a line is written rather than after. Co-Authored-By: Claude Opus 5 (1M context) --- AGENTS.md | 3 ++- docs/INGESTION.md | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index e452e24..f5138c0 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -225,7 +225,8 @@ A source whose ToS forbids automated access does not get an adapter. Flag it and | `azurlane.koumakan.jp` | **Declined.** `Content-Signal: ai-input=no` — an explicit refusal of collecting content as model input, which is what capturing a fixture to read amounts to. Stronger than game8's or wiki.gg's signal. Find Azur Lane another source | | `uma.moe` | **Declined.** Data comes from an API behind a Cloudflare Turnstile proof header; an adapter would mean defeating a deliberate access control. The `robots.txt` is permissive, but the gate is not in `robots.txt` | | `reverse1999.fandom.com` | **Built** (2026-08-17), via `api.php`, not the wiki page — see § Fandom below | -| `bluearchive.wiki`, `prydwen.gg`, `gametora.com` | **Cleared, unbuilt.** `User-agent: *` allows the paths we would want. prydwen sets `Crawl-delay: 10`, far below our one-per-6h | +| `bluearchive.fandom.com` | **Declined.** Fetches and parses fine; the page is the problem. Its `Event/Event_List` is a JP-server archive whose newest entry ended 2026-02-18, so all 88 rows are history and it yields **zero** live or upcoming events. An adapter would put an empty lane on the calendar and, because the runner rejects a body that parses to nothing, report a broken source forever. Same failure as the Infinity Nikki Game8 page, further along | +| `bluearchive.wiki`, `prydwen.gg`, `gametora.com` | **Cleared, unbuilt.** `User-agent: *` allows the paths we would want. prydwen sets `Crawl-delay: 10`, far below our one-per-6h. `bluearchive.wiki` is the live Blue Archive source worth building — `Name (EN) \| Name (JP) \| Start date \| End date` with ISO dates, current to 2026-09-15 — but note it is Miraheze and its `robots.txt` **disallows** `/w/` and `/*?action=`, so the API route is closed there and only the rendered `/wiki/Events` page is permitted. It also lists JP and Global in separate tables, which is the akwiki hazard: publishing the wrong server's date | wiki.gg hosts (`arknights`, `endfield`) carry `Content-Signal: search=yes, ai-train=no, use=reference` with `Allow: /`, and disallow `ClaudeBot` and other AI crawlers by name. Our fetcher is neither: it diff --git a/docs/INGESTION.md b/docs/INGESTION.md index 193f1b6..49c06e9 100644 --- a/docs/INGESTION.md +++ b/docs/INGESTION.md @@ -154,6 +154,7 @@ produced it. | Label/value or column tables with full dates including a year | Good — an existing parser may already handle it | | Dates without a year, or no end date at all | **Unsupportable** — yields nothing rather than guessing | | Free-form prose with no table structure | Find a different source | +| A clean table whose newest row is months old | **Not a source, an archive.** Check the *latest* date before writing anything: `bluearchive.fandom.com` parses perfectly and yields zero live events, which shows up as an empty lane and a permanently rejected snapshot rather than as an error | Game8 uses at least four page templates and a game's page may use any of them: