feat: add Arknights: Endfield, and stop passing off requirements as summaries

Endfield was previously written off as undatable. That was wrong: a first
pass only inspected its Duration rows (all "Permanently Available") and its
year-less version grid, and missed an "Event | Schedule & Summary" table
whose cells read "Period: 08/09/26 - 08/30/26 During the event...". Two real
events, with a year.

Adds MM/DD/YY range parsing for that shape. Month-first ordering is not
assumed lightly — Endfield's own version grid reads 01/22, 04/17, 07/16 for
versions 1.0, 1.2 and 1.4, chronological only if the month comes first.

Also stops presenting unlock conditions as descriptions. Several templates
put "Reach Union Level 8" where a blurb would go; filling the summary slot
with text that never says what the event is is worse than leaving it empty.
Wuthering Waves correctly drops to zero summaries as a result.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
Lucas Winther
2026-08-15 01:07:39 +02:00
co-authored by Claude Opus 5
parent 65f1660718
commit ad45b52c84
11 changed files with 237 additions and 19 deletions
@@ -0,0 +1,44 @@
[
{
"id": "endfield:bedazzling-dawnstar-sign-in:2026-08-09",
"game": "endfield",
"title": "Bedazzling Dawnstar Sign-In",
"type": "login",
"summary": "Sign-in to get extra pulls for Liino!",
"startsAt": "2026-08-09T00:00:00.000Z",
"startPrecision": "day",
"endsAt": "2026-08-30T00:00:00.000Z",
"endPrecision": "day",
"regionScoped": false,
"regionEnds": null,
"sourceUrl": "https://game8.co/games/Arknights-Endfield/archives/535443",
"sourceId": "endfield-game8-events",
"status": "published",
"confidence": 0.85,
"extractionMethod": "parser",
"version": 1,
"firstSeenAt": "2026-08-14T00:00:00.000Z",
"updatedAt": "2026-08-14T00:00:00.000Z"
},
{
"id": "endfield:the-rooted-realm:2026-08-09",
"game": "endfield",
"title": "The Rooted Realm",
"type": "other",
"summary": "During the event, gather Aurylene Fragments and complete Realm Quests to claim generous rewards.",
"startsAt": "2026-08-09T00:00:00.000Z",
"startPrecision": "day",
"endsAt": "2026-08-30T00:00:00.000Z",
"endPrecision": "day",
"regionScoped": false,
"regionEnds": null,
"sourceUrl": "https://game8.co/games/Arknights-Endfield/archives/535443",
"sourceId": "endfield-game8-events",
"status": "published",
"confidence": 0.85,
"extractionMethod": "parser",
"version": 1,
"firstSeenAt": "2026-08-14T00:00:00.000Z",
"updatedAt": "2026-08-14T00:00:00.000Z"
}
]