feat(nikki): track Infinity Nikki
Adds the game and its Game8 events page. One `SOURCES` entry against the existing game8 parser, plus one date shape that page needs: `parseLabelledStartEnd` reads a duration cell holding `Start: <date>` and `End: <date>` split by a `<br>`, which a tag-stripping reader flattens into one run of text. Four of the seven events say `End: Permanent`. That is the source telling us there is no deadline, so they publish with `endsAt: null` and `endPrecision: "unknown"` rather than a plausible date. The labelled cell is also structure end to end, so it never becomes a summary — stripping the leading half would leave "End: Permanent" standing where a description belongs. Verified by re-extracting the page with a throwaway script independent of the parser: 7 rows in, 7 events out, every date matching. Note the source itself is stale — its "Current Events" table still lists January-May 2025 and "Upcoming Events" says there are none. The adapter is right; the page looks abandoned, and Nikki coverage worth relying on needs a second source at a higher priority. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 5
parent
243c7d70dd
commit
67951e81b4
@@ -0,0 +1,149 @@
|
||||
[
|
||||
{
|
||||
"id": "nikki:explosive-evasion:2025-01-24",
|
||||
"game": "nikki",
|
||||
"title": "Explosive Evasion",
|
||||
"type": "other",
|
||||
"summary": null,
|
||||
"startsAt": "2025-01-24T00:00:00.000Z",
|
||||
"startPrecision": "day",
|
||||
"endsAt": null,
|
||||
"endPrecision": "unknown",
|
||||
"regionScoped": false,
|
||||
"regionEnds": null,
|
||||
"sourceUrl": "https://game8.co/games/Infinity-Nikki/archives/487445",
|
||||
"sourceId": "nikki-game8-events",
|
||||
"status": "published",
|
||||
"confidence": 0.75,
|
||||
"extractionMethod": "parser",
|
||||
"version": 1,
|
||||
"firstSeenAt": "2026-08-14T00:00:00.000Z",
|
||||
"updatedAt": "2026-08-14T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"id": "nikki:fireworks-fiesta:2025-01-24",
|
||||
"game": "nikki",
|
||||
"title": "Fireworks Fiesta",
|
||||
"type": "other",
|
||||
"summary": null,
|
||||
"startsAt": "2025-01-24T00:00:00.000Z",
|
||||
"startPrecision": "day",
|
||||
"endsAt": null,
|
||||
"endPrecision": "unknown",
|
||||
"regionScoped": false,
|
||||
"regionEnds": null,
|
||||
"sourceUrl": "https://game8.co/games/Infinity-Nikki/archives/487445",
|
||||
"sourceId": "nikki-game8-events",
|
||||
"status": "published",
|
||||
"confidence": 0.75,
|
||||
"extractionMethod": "parser",
|
||||
"version": 1,
|
||||
"firstSeenAt": "2026-08-14T00:00:00.000Z",
|
||||
"updatedAt": "2026-08-14T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"id": "nikki:fireworks-styling-challenges:2025-01-24",
|
||||
"game": "nikki",
|
||||
"title": "Fireworks Styling Challenges",
|
||||
"type": "other",
|
||||
"summary": null,
|
||||
"startsAt": "2025-01-24T00:00:00.000Z",
|
||||
"startPrecision": "day",
|
||||
"endsAt": null,
|
||||
"endPrecision": "unknown",
|
||||
"regionScoped": false,
|
||||
"regionEnds": null,
|
||||
"sourceUrl": "https://game8.co/games/Infinity-Nikki/archives/487445",
|
||||
"sourceId": "nikki-game8-events",
|
||||
"status": "published",
|
||||
"confidence": 0.75,
|
||||
"extractionMethod": "parser",
|
||||
"version": 1,
|
||||
"firstSeenAt": "2026-08-14T00:00:00.000Z",
|
||||
"updatedAt": "2026-08-14T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"id": "nikki:balloon-hopper:2025-01-31",
|
||||
"game": "nikki",
|
||||
"title": "Balloon Hopper",
|
||||
"type": "other",
|
||||
"summary": null,
|
||||
"startsAt": "2025-01-31T00:00:00.000Z",
|
||||
"startPrecision": "day",
|
||||
"endsAt": null,
|
||||
"endPrecision": "unknown",
|
||||
"regionScoped": false,
|
||||
"regionEnds": null,
|
||||
"sourceUrl": "https://game8.co/games/Infinity-Nikki/archives/487445",
|
||||
"sourceId": "nikki-game8-events",
|
||||
"status": "published",
|
||||
"confidence": 0.75,
|
||||
"extractionMethod": "parser",
|
||||
"version": 1,
|
||||
"firstSeenAt": "2026-08-14T00:00:00.000Z",
|
||||
"updatedAt": "2026-08-14T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"id": "nikki:bubble-hopper:2025-04-28",
|
||||
"game": "nikki",
|
||||
"title": "Bubble Hopper",
|
||||
"type": "other",
|
||||
"summary": null,
|
||||
"startsAt": "2025-04-28T00:00:00.000Z",
|
||||
"startPrecision": "day",
|
||||
"endsAt": null,
|
||||
"endPrecision": "unknown",
|
||||
"regionScoped": false,
|
||||
"regionEnds": null,
|
||||
"sourceUrl": "https://game8.co/games/Infinity-Nikki/archives/487445",
|
||||
"sourceId": "nikki-game8-events",
|
||||
"status": "published",
|
||||
"confidence": 0.75,
|
||||
"extractionMethod": "parser",
|
||||
"version": 1,
|
||||
"firstSeenAt": "2026-08-14T00:00:00.000Z",
|
||||
"updatedAt": "2026-08-14T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"id": "nikki:bubble-season:2025-04-28",
|
||||
"game": "nikki",
|
||||
"title": "Bubble Season",
|
||||
"type": "other",
|
||||
"summary": null,
|
||||
"startsAt": "2025-04-28T00:00:00.000Z",
|
||||
"startPrecision": "day",
|
||||
"endsAt": "2025-06-12T00:00:00.000Z",
|
||||
"endPrecision": "day",
|
||||
"regionScoped": false,
|
||||
"regionEnds": null,
|
||||
"sourceUrl": "https://game8.co/games/Infinity-Nikki/archives/487445",
|
||||
"sourceId": "nikki-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": "nikki:cozy-caretakers-protect-the-pandas:2025-05-20",
|
||||
"game": "nikki",
|
||||
"title": "Cozy Caretakers: Protect the Pandas",
|
||||
"type": "other",
|
||||
"summary": null,
|
||||
"startsAt": "2025-05-20T00:00:00.000Z",
|
||||
"startPrecision": "day",
|
||||
"endsAt": "2025-06-12T00:00:00.000Z",
|
||||
"endPrecision": "day",
|
||||
"regionScoped": false,
|
||||
"regionEnds": null,
|
||||
"sourceUrl": "https://game8.co/games/Infinity-Nikki/archives/487445",
|
||||
"sourceId": "nikki-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"
|
||||
}
|
||||
]
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user