Build and register the AniList ingestor #48
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
M5/D48 (resolves part of Q-7). Register AniList in the source registry (§11.3.2) with permission basis 'official public GraphQL API terms', scoped to anime claim kinds, on an interval schedule; build the ingestor service per §11.3.3 (one credential = one source, CR-3). Normalize: anime series/season/episode work structure (part-of with ordinals, §13.4), airing schedule → episode release claims (date + status, §11.6.2), manga→anime adaptation relations, studios as collective agents, external ids (AniList id; MAL id if present) for the §11.4.2 identifier rung. Honor rate limits; content-hash dedup and idempotent replay per CR-17. Acceptance: scheduled runs record observations idempotently against live AniList; reconciliation candidates for a real seasonal anime appear in the Curator worklist; dashboard (§11.3.4) shows the source healthy.
Scope amendment (structured decision, D50): AniList feeds work-level claims only — 'airing schedule → episode release claims' from the original body is out: releases are German-market entities (market concept, stream offerings) and AniList's schedule is the JP broadcast, so there is no honest claim shape for it on a work observation. Episode releases + availability windows arrive via TMDB (#50) and curation (#52); JP airing data stays available in the raw payloads. Also decided under this issue: §13.4 gains a dedicated work property 'studio'; observations gain an optional entity-type hint (D50).