Skip to content

A house crawler gets its own rung on the two profile routes - #195

Merged
ralyodio merged 1 commit into
mainfrom
fix/nichedb-crawler
Sep 13, 2026
Merged

A house crawler gets its own rung on the two profile routes#195
ralyodio merged 1 commit into
mainfrom
fix/nichedb-crawler

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

nichedb's openprofiles adapter (UA niche-db/0.1 (+https://nichedb.dev)) was throttled after ~100 documents a minute (57 of 1,443 refused in one run), which stretched the 194k backfill to days.

  • apps/web/src/lib/tiers.js: TIERS.house (burst 600/min via TIER_HOUSE_BURST, 36,000/hour via TIER_HOUSE_HOURLY), HOUSE_CRAWLERS = ['niche-db/'], isHouseCrawl(request) matching only /api/openprofiles and /authors/<slug>/openprofile.md; tierFor returns it below the session and key checks.
  • Nothing else changes: the same crawler on any other route, or any other caller on these routes, is anon as before.
  • Test added to apps/web/test/tiers.test.js (21 pass); full web suite green.

🤖 Generated with Claude Code

https://claude.ai/code/session_01S7yeJUHGxA4P5N74xnsRPQ

nichedb.dev pulls every author's OpenProfile.md into its people
collection and names itself in its user agent. On the free rung (120 a
minute, 600 an hour) a backfill of two hundred thousand authors takes
days. A request that names a house crawler AND asks for
/api/openprofiles or an author's openprofile.md is placed on a `house`
rung: 600 a minute, 36,000 an hour. Every other route and every other
caller is unchanged, and a session or a key still places the caller by
what it carries.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S7yeJUHGxA4P5N74xnsRPQ
@ralyodio
ralyodio merged commit 8f9a95e 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