docs: assess marisaimpact.com for Honkai Impact 3rd, and decline it
Its conduct is the cleanest of anything looked at here — a robots.txt of pure comments, no directive, no Content-Signal, and a plain 200 to our own User-Agent — so the reason not to build it is entirely in the data, and is worth writing down rather than re-deriving next time the URL is offered. The calendar prints no year anywhere, and heads its only date row "Estimated date for Regional Servers" over a page that says the schedule is the CN server's. Every date it could publish would therefore be a guess twice over: a year we inferred, on a boundary the page itself declines to stand behind. The week-column grid also rounds an end to a bucket rather than to a printed day, and the URL carries the version number, so a SOURCES entry pinned to calendar89 would be publishing history from tomorrow. The markup is recorded anyway, because it is readable and that is not the problem — if the site ever states a year and a real regional schedule, the work is a positional parser and nothing else. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 5
parent
aa393828d8
commit
c71e8ae1f1
@@ -315,6 +315,7 @@ re-litigated each pass:
|
|||||||
| `guardian-tales.fandom.com` | **Declined.** Parses fine and contains no 2026 date at all — newest dated entry is 2025. The `bluearchive.fandom.com` failure again: parses cleanly to nothing live |
|
| `guardian-tales.fandom.com` | **Declined.** Parses fine and contains no 2026 date at all — newest dated entry is 2025. The `bluearchive.fandom.com` failure again: parses cleanly to nothing live |
|
||||||
| `blhx.fandom.com`, `azurlane-archive.fandom.com` | **Declined.** The two Fandom alternatives to the declined koumakan wiki are dead archives — `Event_Calendar` stops in **2021**, and the archive wiki's headings have nothing under them. Azur Lane still has no source |
|
| `blhx.fandom.com`, `azurlane-archive.fandom.com` | **Declined.** The two Fandom alternatives to the declined koumakan wiki are dead archives — `Event_Calendar` stops in **2021**, and the archive wiki's headings have nothing under them. Azur Lane still has no source |
|
||||||
| Aether Gazer | **Do not build.** The developer confirmed no further content updates after 23 July 2026, with store listings removed 17 October 2026. The wiki dates nothing anyway — `Event_Guide_List` is an image gallery. A lane that will be empty by winter |
|
| Aether Gazer | **Do not build.** The developer confirmed no further content updates after 23 July 2026, with store listings removed 17 October 2026. The wiki dates nothing anyway — `Event_Guide_List` is an image gallery. A lane that will be empty by winter |
|
||||||
|
| `marisaimpact.com` (Honkai Impact 3rd) | **Declined** (2026-08-19). Conduct is clear — its `robots.txt` is comments only, with no directive and no `Content-Signal`, and the page answers our own `User-Agent` with a `200`. The data is the problem: the schedule is a grid of week columns headed `Estimated date for Regional Servers` under a page that says `Based on CN server`, it states **no year anywhere**, and it lives at a per-version URL — `/calendar89` is v8.9 and expires on 20 August, with no stable route to the current one. `docs/SOURCES.md` § 13 |
|
||||||
| game8.co hubs for Black Beacon, Brawl Stars, Destiny: Rising, Diablo Immortal, Epic Seven, Fire Emblem Shadows, Gundam UC Engage, Mongil: Star Dive, Pokémon Champions, Pokémon UNITE, Tower of Fantasy | **Declined** (2026-08-19). All thirteen hubs in that sweep exist and answer `200`; these eleven have no usable schedule. Six are abandoned wikis whose newest page is 2021–2025 — the Infinity Nikki failure mode, a source that parses perfectly and publishes history. Gundam's calendar prints ends with no starts, so no event ID; Pokémon UNITE is fresh but its template fails `canParse`, which is the check working. Per-game evidence in `docs/SOURCES.md` § 12 |
|
| game8.co hubs for Black Beacon, Brawl Stars, Destiny: Rising, Diablo Immortal, Epic Seven, Fire Emblem Shadows, Gundam UC Engage, Mongil: Star Dive, Pokémon Champions, Pokémon UNITE, Tower of Fantasy | **Declined** (2026-08-19). All thirteen hubs in that sweep exist and answer `200`; these eleven have no usable schedule. Six are abandoned wikis whose newest page is 2021–2025 — the Infinity Nikki failure mode, a source that parses perfectly and publishes history. Gundam's calendar prints ends with no starts, so no event ID; Pokémon UNITE is fresh but its template fails `canParse`, which is the check working. Per-game evidence in `docs/SOURCES.md` § 12 |
|
||||||
| `game8.co/games/MementoMori`, `game8.co/games/fire-emblem-heroes` | **Assessed, not yet built** (2026-08-19) — the two live finds of that sweep, and proposals rather than decisions. MementoMori parses today with no parser change; FEH has the freshest page of any source here and needs a ninth Game8 column shape plus a ruling on the 180-day rule, which one real seven-month banner breaks. See `docs/SOURCES.md` §§ 12a–12b |
|
| `game8.co/games/MementoMori`, `game8.co/games/fire-emblem-heroes` | **Assessed, not yet built** (2026-08-19) — the two live finds of that sweep, and proposals rather than decisions. MementoMori parses today with no parser change; FEH has the freshest page of any source here and needs a ninth Game8 column shape plus a ruling on the 180-day rule, which one real seven-month banner breaks. See `docs/SOURCES.md` §§ 12a–12b |
|
||||||
|
|
||||||
|
|||||||
+61
-3
@@ -1,7 +1,8 @@
|
|||||||
# SOURCES.md — event sources for the games still missing
|
# SOURCES.md — event sources for the games still missing
|
||||||
|
|
||||||
A source assessment for the games named in `docs/FEEDBACK.md` § P1 that still have no adapter,
|
A source assessment for the games named in `docs/FEEDBACK.md` § P1 that still have no adapter,
|
||||||
plus § 12, a sweep of thirteen Game8 hubs asked for separately on 2026-08-19.
|
plus § 12, a sweep of thirteen Game8 hubs, and § 13, one URL offered for Honkai Impact 3rd —
|
||||||
|
both asked for separately on 2026-08-19.
|
||||||
Written 2026-08-18. **Acted on 2026-08-19**: four of the games below were built, one turned out to be
|
Written 2026-08-18. **Acted on 2026-08-19**: four of the games below were built, one turned out to be
|
||||||
blocked rather than merely awkward, and the rest were declined. Each section keeps its original
|
blocked rather than merely awkward, and the rest were declined. Each section keeps its original
|
||||||
reconnaissance and carries its outcome at the top, because the reasoning is what stops the next pass
|
reconnaissance and carries its outcome at the top, because the reasoning is what stops the next pass
|
||||||
@@ -619,6 +620,58 @@ worth keeping:
|
|||||||
and only two rows are dated at all; everything else is recurring or permanent. The back catalogue
|
and only two rows are dated at all; everything else is recurring or permanent. The back catalogue
|
||||||
under `List of Past Events` is the rowspan Start/End shape and is correctly fenced by its heading.
|
under `List of Past Events` is the rowspan Start/End shape and is correctly fenced by its heading.
|
||||||
|
|
||||||
|
## 13. Honkai Impact 3rd — assessed 2026-08-19 on request; decline
|
||||||
|
|
||||||
|
**Source:** `https://marisaimpact.com/calendar89` — Marisa Impact, a fan site for HI3, whose
|
||||||
|
`Supply and Boss Timeline` is the only calendar this game has been offered here. Not a P1 game: this
|
||||||
|
section answers a direct request to add that URL, and HI3 has no `GameId` today.
|
||||||
|
|
||||||
|
**Conduct is clear, and it is the only part of this that is.** `robots.txt` answers our own
|
||||||
|
`User-Agent` with a `200`, and its 1248 bytes are **entirely comments** — Cloudflare's
|
||||||
|
content-signals preamble with no `User-agent` line, no `Disallow` and no `Content-Signal` at all. By
|
||||||
|
clause (c) of the text it ships with, a use with no signal is "neither granted nor restricted", so
|
||||||
|
nothing here refuses us the way `koumakan`'s `ai-input=no` does. There is no `Crawl-delay`. The site
|
||||||
|
is Cloudflare-fronted but serves us the page itself with a plain `200`, so this is not the Fandom
|
||||||
|
challenge or the `uma.moe` gate either. The page is server-rendered SvelteKit and the whole schedule
|
||||||
|
is in the HTML; the route's `__data.json` carries an `ogImage` and nothing else, so the rendered page
|
||||||
|
is the only surface and there is no API to prefer.
|
||||||
|
|
||||||
|
**Four things kill it, and the first two on their own are enough.**
|
||||||
|
|
||||||
|
- **The dates are estimates, and the page says so twice.** Under the title: *"Based on CN server.
|
||||||
|
Schedule might be different for Regional servers."* And the first column of both grids is headed
|
||||||
|
*"Estimated date for Regional Servers"*. This is the `akwiki` CN-column hazard with nothing to fall
|
||||||
|
back to — there is no Global row to publish and a CN row to skip, there is one CN schedule with an
|
||||||
|
estimate drawn over it. Putting that behind a countdown is the confidently wrong date this product
|
||||||
|
exists to prevent, and it would be wrong on the honest side of the page's own disclaimer.
|
||||||
|
- **No year appears anywhere.** Weeks read `Jun 25 - July 3`, `Aug 14 - 20`; stripping the tags from
|
||||||
|
either version's page and grepping for `20\d\d` returns nothing at all. `dates.ts` infers a missing
|
||||||
|
year for no source and must not start here, and the start's day is half of every event ID this game
|
||||||
|
would ever have.
|
||||||
|
- **The unit is a week column, not an event boundary.** A bar spans whole weeks, so its end is the
|
||||||
|
end of a bucket rather than a date anyone published. That is *not* the day-precision reading Game8
|
||||||
|
and Infinity Nikki get: there we publish the date the page printed, and here the page printed a
|
||||||
|
week.
|
||||||
|
- **The URL is per-version and there is no stable route to the current one.** `/calendar89` is
|
||||||
|
version 8.9, `Jun 25 - Aug 20` — it expires the day after this was written. Version 9.0 is at
|
||||||
|
`/calendar90` and runs `Aug 20 - Oct 22`. The version picker is client-side, the nav links only
|
||||||
|
*earlier* versions (`/calendar88`, `/calendar89`), and the page's own `og:url` and canonical
|
||||||
|
(`/valk/calendar89`) is a scheme that already 404s at `/valk/calendar90`. A `SOURCES` entry pinned
|
||||||
|
to `calendar89` would be publishing history inside a day — § 11's failure mode on a six-week clock —
|
||||||
|
and nothing on the site names the live version at a fixed address.
|
||||||
|
|
||||||
|
**The markup is fine, which is worth recording so nobody re-derives it.** Each row is a
|
||||||
|
`<div class="relative grid grid-cols-N">`; cell 1 is the row label (`BATTLESUIT SUPPLY A`, `EVENT 3`)
|
||||||
|
and every bar carries `col-span-N`, with bare `<div class="col-span-N"></div>` spacers standing in for
|
||||||
|
an offset start. So a bar's start week is `1 + Σ` the spans before it and its length is its own span,
|
||||||
|
and the week columns are in the header row. A parser would be positional rather than textual and is
|
||||||
|
perfectly writable. The blocker is what the numbers mean, not how to read them.
|
||||||
|
|
||||||
|
**What would change this:** the site stating a year, and stating a real regional schedule rather than
|
||||||
|
an estimate over the CN one — plus a stable URL for the current version, or an index page naming it.
|
||||||
|
Any two of the three still leaves the other. No alternative HI3 source was looked for in this pass, so
|
||||||
|
the game is unsourced rather than declined outright.
|
||||||
|
|
||||||
## What every one of these costs, beyond the source
|
## What every one of these costs, beyond the source
|
||||||
|
|
||||||
Adding a game is never only a `SOURCES` entry:
|
Adding a game is never only a `SOURCES` entry:
|
||||||
@@ -649,8 +702,8 @@ both been made. What is queued is the two live finds of the § 12 sweep:
|
|||||||
across every fixture and snapshot as Umamusume's was.
|
across every fixture and snapshot as Umamusume's was.
|
||||||
|
|
||||||
Below that, in descending order of value: re-check `grayravens.com` if it ever puts its schedule in
|
Below that, in descending order of value: re-check `grayravens.com` if it ever puts its schedule in
|
||||||
a table, and re-check Azur Lane if `koumakan` ever drops `ai-input=no`. Neither is worth a pass
|
a table, re-check Azur Lane if `koumakan` ever drops `ai-input=no`, and re-check `marisaimpact.com`
|
||||||
until something changes upstream.
|
if it ever prints a year (§ 13). None is worth a pass until something changes upstream.
|
||||||
|
|
||||||
## Appendix — reproducing the checks
|
## Appendix — reproducing the checks
|
||||||
|
|
||||||
@@ -666,6 +719,8 @@ curl -sS -A "$UA" https://iopwiki.com/wiki/GFL2_Events > gfl2.htm
|
|||||||
curl -sS -A "$UA" https://stellasora.miraheze.org/wiki/Main_Page > stellasora.html
|
curl -sS -A "$UA" https://stellasora.miraheze.org/wiki/Main_Page > stellasora.html
|
||||||
curl -sS -A "$UA" 'https://nikke-goddess-of-victory-international.fandom.com/api.php?action=parse&page=Event&prop=text&formatversion=2&format=json' > nikke.json
|
curl -sS -A "$UA" 'https://nikke-goddess-of-victory-international.fandom.com/api.php?action=parse&page=Event&prop=text&formatversion=2&format=json' > nikke.json
|
||||||
curl -sS -A "$UA" https://game8.co/games/Chaos-Zero-Nightmare/archives/559899 > czn.html
|
curl -sS -A "$UA" https://game8.co/games/Chaos-Zero-Nightmare/archives/559899 > czn.html
|
||||||
|
curl -sS -A "$UA" https://marisaimpact.com/robots.txt # comments only, no directive
|
||||||
|
curl -sS -A "$UA" https://marisaimpact.com/calendar90 > hi3-v90.html
|
||||||
|
|
||||||
# the § 12 sweep: hubs first, then the schedule page each one turned out to have.
|
# the § 12 sweep: hubs first, then the schedule page each one turned out to have.
|
||||||
# `--rate 30/m` keeps one request every 2s to a single host, per AGENTS.md § Scraping conduct.
|
# `--rate 30/m` keeps one request every 2s to a single host, per AGENTS.md § Scraping conduct.
|
||||||
@@ -697,3 +752,6 @@ Facts stated above that a future reader may want to re-check, with how they were
|
|||||||
| The FEH page is unreadable by shape, not by two header words | `columnLayout` finds no range column at all — `Availability` is a start and `End` is its own column, and `readStartEndTable` wants the rowspan `Start`/`End` pair |
|
| The FEH page is unreadable by shape, not by two header words | `columnLayout` finds no range column at all — `Availability` is a start and `End` is its own column, and `readStartEndTable` wants the rowspan `Start`/`End` pair |
|
||||||
| Game8's structural check rejects the Pokémon UNITE page | `game8Parser.canParse` → `false`; the page has 25 `a-table` matches and zero `a-header--3` |
|
| Game8's structural check rejects the Pokémon UNITE page | `game8Parser.canParse` → `false`; the page has 25 `a-table` matches and zero `a-header--3` |
|
||||||
| A hub's nav is not an index of its pages | the UNITE, Champions, Gundam and Black Beacon schedule pages exist and are linked from none of the hub navigation scanned; found by web search |
|
| A hub's nav is not an index of its pages | the UNITE, Champions, Gundam and Black Beacon schedule pages exist and are linked from none of the hub navigation scanned; found by web search |
|
||||||
|
| `marisaimpact.com` states no year on any calendar | stripped tags from `/calendar89` and `/calendar90` and grepped the text for `20\d\d` — zero matches on either |
|
||||||
|
| Its calendar URL is per-version, with no stable alias | `/calendar90` is `200` and covers `Aug 20 - Oct 22`; `/valk/calendar90` — the scheme its own `og:url` uses — is `404`; the nav links only `/calendar88` and `/calendar89` |
|
||||||
|
| Its schedule is not behind an API | `GET /calendar90/__data.json` returns 144 bytes: an `ogImage` URL and nothing else |
|
||||||
|
|||||||
Reference in New Issue
Block a user