First successful fetch since 2026-08-26. The page currently lists no events
in either section, so eventCount is 0 and the lane is honestly empty rather
than holding rows that expired on 27 August.
Run by hand with --force, since the six-hour floor was not up and the
source had four failed cycles behind it. robots.txt read normally.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Fetched by the runner rather than by hand, so the whole path is evidenced:
robots allowed at Crawl-delay 1, the 307 followed to the live version, canParse
satisfied, eventCount 16. The lane now builds from live bytes instead of
falling back to the checked-in fixture.
Kept out of the source commit because a snapshot is data this repository
rewrites on a schedule, and the fixture is the pinned copy that proves the
parser.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Fetched under `--force`, authorised interactively — the held snapshot was the
1.4 page and predates the parser fixes, so the lane was serving one event while
the page listed a version's worth. It now reads 8, and the source's failure
count is back to zero.
`Sanity Supply` is not among them, and was in the previous snapshot. It has left
the upcoming table for the current-events card grid, which the parser still
cannot read, and wiki.gg does not list it — so an event starting 2026-08-26 is
unpublished until that shape is supported. Endfield's lane is 13 events rather
than the 14 it should be.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
First run of --force and --assume-robots-on-403 together, and the first time
every source has been confirmed in one cycle: 19/19, 0 broken. Nine game8 pages
answered 200 from a normal address, which is the CI block behaving exactly as
§ Scraping conduct describes it, and all four Fandom sources fetched on the
recorded permission.
Nothing a reader sees changed. No source's event count moved, and diffing the
parsed events of all eight changed pages against their previous snapshots finds
no event added, removed, or re-dated. The byte deltas are between -286 and +32
on pages of a quarter-megabyte — page furniture, not schedule.
That is worth stating rather than glossing: the value of this commit is the
negative result. Nine of these games are fixture-backed in CI and only ever
confirmed by hand, so "we looked, and the calendar is still right" is the thing
the refresh exists to establish, and lastConfirmedAt is what the footer reads to
tell a reader how old the answer is.
fgo is the odd one: identical length, different hash. Every one of its 101
changed characters sits in MediaWiki's `NewPP limit report` comment at the foot
of the body — cache timestamp and parser timings, fixed-width, outside the text
we parse. So a Fandom source will report `fetched` and produce a diff on any
forced refresh an hour apart, whether or not the wiki moved. Worth knowing
before reading a future Fandom diff as news.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Both were built on 2026-08-19 and have been served from their fixtures ever
since, because CI cannot read Fandom's robots.txt and the gate fails closed.
Refreshed by hand from an address Fandom serves, which is the only way these
two ever move.
Each body is a real action=parse envelope and each parses to exactly what its
fixture does — three events for Nikke, seven for Infinity Nikki, same titles and
same dates. That is the expected result rather than a weak one: both fixtures
were captured from these pages today, so agreement is the check that the stored
bytes are the wiki and not a challenge page.
All four Fandom sources now have a snapshot. None of them will get another one
from the schedule.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Retiring nikki-game8-events left its snapshot behind. snapshots/ is defined as
the current page per source, and there is no such source — so these two files
are 200 KB of a wiki that stopped being updated in August 2025, tracked in git,
described by metadata naming a sourceId nothing resolves.
Harmless today: build-feed.ts iterates ADAPTERS, so an orphan is never read.
That is also what makes it worth removing rather than leaving. The one path
that would read it again is someone re-registering the id, and what they would
silently get back is the stale page the lane was moved off — the failure the
move was made to fix, arriving through a file nobody looked at.
The fixture stays. fixtures/nikki/game8-events-2026-08-17 is pinned and
permanent, it is the only page here carrying Game8's labelled "Start: ... End:
Permanent" shape, and test/adapters still drives it through the parser.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>