feat(events-crawler): enable all five Phase-2 sources - #91
Conversation
Flips westvan-library, vpl, sfu, nvdpl and surrey-libraries to enabled: true on Savar's sign-off. Each landed staged and disabled across #83/#84/#86/#87 so its adapter could be dry-run against the real feed before a single row could reach the shared events table; this is the flip that ends that staging. Config only — five booleans plus two comments that had gone stale ("staged, disabled" / "NOT crawled until `enabled` flips"). No adapter, schema, migration or cron change. The guidance to land NEW sources disabled stays, and now says why. This does not go live on merge. The deployed function is still v6, which predates all Phase-2 code, so main and production are decoupled until `supabase functions deploy events-crawler` runs. Until then the weekly cron keeps crawling the Phase-1 five, exactly as it does today. Once deployed, ACTIVE_SOURCES widens from 5 to 10 and the next cron run picks the new sources up. All five carry relevanceFilter: true and MAX_PER_ORG caps each at 25; the dry runs in #84/#86 projected westvan 5 · vpl 25 · sfu 2 · nvdpl 16 · surrey 25, so expect roughly 73 new rows against the 103 live today. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
WalkthroughThe source registry documents the staged-source policy and enables crawling for five Phase 2 sources while preserving existing relevance filtering. ChangesPhase 2 source activation
Estimated code review effort: 1 (Trivial) | ~5 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai full review |
✅ Action performedFull review finished. |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@supabase/functions/events-crawler/lib/sources.ts`:
- Line 57: Update the Phase 2 comment near the sources registry to accurately
describe the current deployment state: indicate that these sources are enabled
in the registry but production remains on v6 until the separate deployment, or
revise the date/status only after that deployment occurs.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 9681df23-17cb-4c40-99c4-0c14aa9c6772
📒 Files selected for processing (1)
supabase/functions/events-crawler/lib/sources.ts
Addresses the CodeRabbit finding, which is right: "live since 2026-08-02" would have been false the moment this merged. Enabling a source in the registry only changes what a future deploy ships — ACTIVE_SOURCES widens for an actual run when the function is deployed, and that deploy is a separate, separately-approved step. Production keeps running the previously deployed bundle until then. Went slightly past the suggested wording. "Enabled in this registry since <date>" is accurate but still leaves a reader to infer why that isn't the same as live, and a date-stamped status line goes stale the moment the deploy does happen. The comment now states the registry/deployed distinction outright, which stays true either side of the deploy. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Applied in
Went slightly past the suggested wording, deliberately. That reads correctly on both sides of the deploy, so it doesn't need revisiting afterwards. Checked the rest of the file for the same overclaim — the header comment says "enabled … on Savar's sign-off", not "live", so it needed no change. |
|
@coderabbitai full review |
✅ Action performedFull review finished. Your included review limit is currently reached under our Fair Usage Limits Policy. This review may still proceed through usage-based billing if eligible. Your next included review will be available in 55 minutes. |
|
@coderabbitai full review |
✅ Action performedFull review finished. |
What & why
Flips
westvan-library,vpl,sfu,nvdplandsurrey-librariestoenabled: trueon Savar's explicit sign-off. Each landed staged and disabled across #83/#84/#86/#87 so its adapter could be dry-run against the real feed before a single row could reach the sharedeventstable — this is the flip that ends that staging.Config only: five booleans plus two comments that had gone stale ("staged, disabled" / "NOT crawled until
enabledflips"). No adapter, schema, migration or cron change.🛑 Merging this does NOT go live
mainand production are decoupled until the deploy command runs. The deployed function is still v6, which predates all Phase-2 code — it doesn't contain these adapters at all. Merging changes what a future deploy would ship, nothing about what runs today.Until the deploy, the weekly cron keeps crawling the Phase-1 five exactly as it does now. Deploy is deliberately held for a separate, explicit go-ahead:
Blast radius, once deployed
ACTIVE_SOURCESwidens 5 → 10 and the next cron run picks the new sources up. All five carryrelevanceFilter: true, andMAX_PER_ORGcaps each at 25. The #84/#86 dry runs projected:Against 103 rows live today. Cron is
events-crawler-weekly(jobid 18,0 14 * * 1, active) — next fire Monday 2026-08-03 14:00 UTC.Pre-change state, verified before editing
mainfe59c7benabled: falseevents-crawlerupdated_at1785276124141(2026-07-28)0 14 * * 1, activecrawler:*rows for the fiveChanges
supabase/functions/events-crawler/lib/sources.ts— fiveenabled: false→true; registry header and the Phase-2 section comment updated so the file no longer describes these as staged. The instruction to land new sources disabled stays, now with the reason attached (it's what letsdryrun.tspreview a real feed before anything can write).Savar has signed off on the deploy. No migration, Vault secret, cron or DB object touched; the function is not deployed by this PR and nothing is manually invoked — the first live run is left to the existing schedule rather than forced ad hoc.
Verification
npx tsc --noEmitnpm run lintopengraph-image.tsx)deno checksupabase/functions/**) — see checksReviewer notes
ACTIVE_SOURCES = SOURCES.filter(s => s.enabled)gate is what made staging real:index.ts(the onlyDeno.serveentrypoint) iteratesACTIVE_SOURCESexclusively, while the fullSOURCESlist is read only bydryrun.ts, a CLI harness with no Supabase import and no write path.bplon BiblioCommons is Boston Public Library. Documented inline; unchanged here.🤖 Generated with Claude Code
Summary by CodeRabbit