fix(ingest): keep an unannounced end out of the event blurb
The open-end vocabulary is written down twice and the two copies have to agree. `parseOpenRange` decides whether a row is datable; `RANGE_PREFIX` strips the range off the front of the cell so `proseAfterDates` can recover the blurb behind it. A word the first knows and the second does not still yields the event — with the leftover end tacked onto the summary a reader actually sees. That is what happened to all eight Endfield rows the previous commit recovered: `- TBA Sign-in to get extra pulls for Typhoeus!`. Adding `tba` beside `tbd` fixes it, and a comment now says why the lists travel together, since the next one of these will be found the same way — by reading generated fixture output. Pins the 1.5 page beside the 1.4 one rather than replacing it. Fixtures are permanent and these are different table shapes, not different data: 1.4 is a single dated row, 1.5 is nine rows of open ends. The group name gains the fixture path now that one adapter has two. Nine rows, eight events. `Ridgeline Flows of Autumn Sign-In` reads `Period: TBA` with no start at all, so it stays undatable and dropped. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 5
parent
843e27b4f1
commit
0307d24b92
@@ -362,15 +362,19 @@ const DATED_YEAR = String.raw`(?:\d{1,2}/\d{1,2}/\d{2,4}|[A-Za-z]+\.?\s+\d{1,2},
|
||||
|
||||
/**
|
||||
* A leading range, whose end may be a date or a stated non-date such as
|
||||
* "Permanent" or "End of 4.6". Those words are listed rather than matched
|
||||
* loosely, so a real description is never mistaken for a range end.
|
||||
* "Permanent", "TBA" or "End of 4.6". Those words are listed rather than
|
||||
* matched loosely, so a real description is never mistaken for a range end.
|
||||
*
|
||||
* The list must track `parseOpenRange`'s: a shape that reader dates but this
|
||||
* one does not strip still yields the event, with the leftover end tacked onto
|
||||
* the front of its summary — "- TBA Sign-in to get extra pulls for Typhoeus!".
|
||||
*/
|
||||
const RANGE_PREFIX = new RegExp(
|
||||
String.raw`^\s*` +
|
||||
ONE_DATE +
|
||||
String.raw`(?:\s*[-\u2013\u2014]\s*(?:` +
|
||||
ONE_DATE +
|
||||
String.raw`|permanent|tbd|ongoing|end of [\d.]+)|\s+` +
|
||||
String.raw`|permanent|tba|tbd|ongoing|end of [\d.]+)|\s+` +
|
||||
DATED_YEAR +
|
||||
String.raw`)?\s*`,
|
||||
"i",
|
||||
|
||||
Reference in New Issue
Block a user