docs: correct the counts three docs had drifted past
Each of these was true when written and stopped being true when a source landed. dates.ts holds ten formats, not nine; INGESTION says Game8 uses "at least four page templates" directly above a list of seven; its testing note still credits "both current adapters" when there are eleven; PRD lists the seven launch games against ten in GameId. AGENTS also missed fandom from the parsers-are-keyed-by-site bullet and build-static.ts from the tree, which matters because another section leans on the latter. The PRD table stays as launch scope rather than becoming a roster to keep in sync — GameId is named as the live answer instead, which is the same move that keeps this drift from recurring. Its no-schema-change claim is sharpened to name GachaEvent, because Reverse: 1999 did add a field: resetHourLocal, to game metadata, which moves no stored key. The claim as written read as false against a commit that plainly added one. Also draws sanitize into the stage diagram as 2.5. It runs on every source without the pipeline arranging it, which is exactly why it kept being absent from the picture. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 5
parent
414dc840fd
commit
823556f2c5
@@ -105,14 +105,14 @@ re-verify a sample against the live page afterward.
|
||||
```
|
||||
src/shared/ schema.ts (the contract), time.ts, daily.ts, effort.ts, games.ts, feed.ts
|
||||
custom.ts — reader-authored games and events, and their key spaces
|
||||
src/ingest/ html.ts, dates.ts (nine formats), merge.ts, sanitize.ts, robots.ts, snapshots.ts
|
||||
src/ingest/ html.ts, dates.ts (ten formats), merge.ts, sanitize.ts, robots.ts, snapshots.ts
|
||||
parsers/ game8.ts, wikigg.ts, akwiki.ts, fandom.ts — keyed by SITE, not game
|
||||
adapters/ index.ts — SOURCES registry binding url+game+parser, and the sanitize seam
|
||||
src/client/ React app, service worker, manifest
|
||||
state/ progress, daily log, ignores, prefs, sort — all localStorage
|
||||
useCustom.ts — the reader's own games and events (PRD F13)
|
||||
lens.ts — who sees which rows (focus, outstanding, next-to-expire); pure
|
||||
scripts/ build-feed.ts, parse-fixture.ts (offline), refresh-sources.ts (fetches)
|
||||
scripts/ build-feed.ts, build-static.ts, parse-fixture.ts (offline), refresh-sources.ts (fetches)
|
||||
serve.ts static server + /api/health
|
||||
test/ 466 tests
|
||||
fixtures/<game>/ raw HTML + .expected.json per source — pinned, kept forever
|
||||
@@ -146,9 +146,10 @@ These come from how gacha games actually schedule things, and they cause most bu
|
||||
- **Skip, never guess.** Every function in `dates.ts` returns `null` rather than inferring a missing
|
||||
year, month, or end. `readColumnTable` drops a row it cannot date. An omitted event is a
|
||||
recoverable disappointment; a confidently wrong date is the failure this product exists to prevent.
|
||||
- **Parsers are keyed by site, not game.** One `game8` parser serves eight sources; `wikigg` and
|
||||
`akwiki` serve one each — same host family, entirely different templates. Adding a source for a
|
||||
known site is one `SOURCES` entry; a new site is a parser module.
|
||||
- **Parsers are keyed by site, not game.** One `game8` parser serves eight sources; `wikigg`,
|
||||
`akwiki` and `fandom` serve one each — the first two share a host family and have entirely
|
||||
different templates. Adding a source for a known site is one `SOURCES` entry; a new site is a
|
||||
parser module.
|
||||
- **A source may publish more than one region's schedule.** Arknights' wiki lists CN and Global on
|
||||
every row, five months apart. Publish the one our readers are on and skip the row that lacks it —
|
||||
a CN date on a Global calendar is a confidently wrong date, not a near miss.
|
||||
|
||||
Reference in New Issue
Block a user