Skip to content

0.20.0: eight full catalogues, each built and adversarially reviewed on its own branch - #88

Merged
ralyodio merged 3 commits into
mainfrom
feat/catalog-sources
Sep 13, 2026
Merged

0.20.0: eight full catalogues, each built and adversarially reviewed on its own branch#88
ralyodio merged 3 commits into
mainfrom
feat/catalog-sources

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

Eight more full-catalog sources, from the arr-ecosystem survey. Each was built by one agent on its own branch with real saved responses as fixtures and a live probe, then adversarially reviewed by a second agent that re-ran the tests, hit the real API with the adapter's exact URLs, checked cursor resume with two consecutive pulls, pacing, licence wording and item shape, and fixed what it found in place. Seven were fixed by review, one was clean, none blocked.

Source Collection Rows Licence
wikidata-films screen ~349k CC0 (poster keeps its Commons licence)
wikidata-games games ~176k CC0
sportsdb-teams sports ~22k TheSportsDB terms permit copying from official endpoints
sportsdb-players profiles (OpenProfile.md with socials) ~350k id slots same
kitsu-anime screen 22k none stated; the description says so
gutenberg-catalog books 90k public domain
librivox-catalog books ~20k public domain
steam-catalog games 299k Steam Web API terms: apps yes, resale no

Review findings worth knowing: Wikidata wdt:P577 drops date precision so year-only dates arrived as 1 January (fixed to year precision); the Wikidata games inner subquery needed DISTINCT or a doubly-typed item shortened a page and skipped rows; Gutenberg's If-Modified-Since compared against the wrong stamp; LibriVox lists projects still being recorded (skipped); three licence sentences overstated what the terms say and were corrected.

Integration changes only: registration in index.js, README rows, a 15,000-row cap on a Gutenberg run (one run held all 90k at ~700 MB), and the startId config field Wikidata films used but did not declare. Version 0.20.0.

bun test 1323 pass; lint clean for the new files.

🤖 Generated with Claude Code

https://claude.ai/code/session_01CDEiDss9RWYibtmxSk5Gr2

ralyodio and others added 3 commits September 13, 2026 07:45
…on its own branch

Every film and every video game on Wikidata (CC0, walked by numeric id
windows over SPARQL), every team and every player TheSportsDB knows (terms
permit copying from the official endpoints; players land in People as
OpenProfile.md with their socials), every anime on Kitsu (no licence
stated, and the description says so), Project Gutenberg's whole catalogue
and every LibriVox audiobook (public domain), and every app on Steam through
the keyless store query. Each walk is capped per run, resumes from its
cursor, ends its pass and starts over, and states its licence.

Integration only here: the eight adapters, tests and real-response fixtures
come from their branches unchanged except a 15,000-row cap on a Gutenberg
run (one run held the whole catalogue at 700 MB) and the startId config
field Wikidata films declared in its defaults but not its fields.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CDEiDss9RWYibtmxSk5Gr2
…ite URL the process configured

Main took another 0.20.0 (#87) between this branch's cut and its merge, so
the catalogues ship as 0.21.0. Main's CI has also been red since 0.18.0 on
two OpenSaaS assertions that compare against a literal https://nichedb.test
while the shared test process had already loaded the config with SITE_URL
unset; they now build their expectations from config.siteUrl, the same fix
the profiles test got in #71.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CDEiDss9RWYibtmxSk5Gr2
Main's CI has been red since 0.18.0 on two assertions comparing against a
literal https://nichedb.test while the shared test process had already
loaded the config with SITE_URL unset; the expectations now come from
config.siteUrl, the same fix the profiles test got in #71.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CDEiDss9RWYibtmxSk5Gr2
@ralyodio
ralyodio merged commit 02f578b into main Sep 13, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant