https://github.com/stephenstanwood/southbaytoday.org
· scanned 2026-06-16 00:22 UTC (2 months, 2 weeks ago)
336 raw signals (130 security + 206 graph)
Last scanned 2 months, 2 weeks ago · v1 · 214 actionable findings from 2 signal sources. 401 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 2655 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
isPastDatedUrl |
software | healthy | astro.config.mjs:isPastDatedUrl |
extractPrices |
software | healthy | scripts/scrape-camp-prices.mjs:extractPrices |
summarizePrices |
software | healthy | scripts/scrape-camp-prices.mjs:summarizePrices |
tryScraper |
software | healthy | scripts/scrape-camp-prices.mjs:tryScraper |
scrapeStanfordCampCardinal |
software | healthy | scripts/scrape-camp-prices.mjs:scrapeStanfordCampCardinal |
scrapePajmz |
software | healthy | scripts/scrape-camp-prices.mjs:scrapePajmz |
scrapeRec1Catalog |
software | healthy | scripts/scrape-camp-prices.mjs:scrapeRec1Catalog |
scrapeActiveCommunities |
software | healthy | scripts/scrape-camp-prices.mjs:scrapeActiveCommunities |
scrapeCupertinoCamps |
software | healthy | scripts/scrape-camp-prices.mjs:scrapeCupertinoCamps |
scrapeCivicRec |
software | healthy | scripts/scrape-camp-prices.mjs:scrapeCivicRec |
scrapeLgsPerfectMind |
software | healthy | scripts/scrape-camp-prices.mjs:scrapeLgsPerfectMind |
scrapeDeAnzaAcademy |
software | healthy | scripts/scrape-camp-prices.mjs:scrapeDeAnzaAcademy |
scrapeCampCmt |
software | healthy | scripts/scrape-camp-prices.mjs:scrapeCampCmt |
isTldOrphan |
software | healthy | scripts/backfill-tld-and-subtitle.mjs:isTldOrphan |
stripSubtitleAwareSuffix |
software | healthy | scripts/backfill-tld-and-subtitle.mjs:stripSubtitleAwareSuf… |
norm |
software | healthy | scripts/backfill-tld-and-subtitle.mjs:norm |
main |
software | healthy | scripts/backfill-tld-and-subtitle.mjs:main |
cityLabel |
software | healthy | scripts/generate-weekend-picks.mjs:cityLabel |
getWeekendRange |
software | healthy | scripts/generate-weekend-picks.mjs:getWeekendRange |
toLocalIso |
software | healthy | scripts/generate-weekend-picks.mjs:toLocalIso |
callClaude |
software | healthy | scripts/generate-weekend-picks.mjs:callClaude |
dowOfIso |
software | healthy | scripts/generate-weekend-picks.mjs:dowOfIso |
formatGroup |
software | healthy | scripts/generate-weekend-picks.mjs:formatGroup |
main |
software | healthy | scripts/generate-weekend-picks.mjs:main |
venueKey |
software | healthy | scripts/generate-weekend-picks.mjs:venueKey |
cityKey |
software | healthy | scripts/generate-weekend-picks.mjs:cityKey |
pickDay |
software | healthy | scripts/generate-weekend-picks.mjs:pickDay |
expectedDate |
software | healthy | scripts/generate-weekend-picks.mjs:expectedDate |
expectedTime |
software | healthy | scripts/generate-weekend-picks.mjs:expectedTime |
stripRedundantVenueSuffix |
software | healthy | scripts/backfill-sccl-branches.mjs:stripRedundantVenueSuffix |
norm |
software | healthy | scripts/backfill-sccl-branches.mjs:norm |
main |
software | healthy | scripts/backfill-sccl-branches.mjs:main |
getWeekRange |
software | healthy | scripts/generate-tech-briefing.mjs:getWeekRange |
extractRecentlyFunded |
software | healthy | scripts/generate-tech-briefing.mjs:extractRecentlyFunded |
extractHiringTrends |
software | healthy | scripts/generate-tech-briefing.mjs:extractHiringTrends |
up |
software | healthy | scripts/generate-tech-briefing.mjs:up |
down |
software | healthy | scripts/generate-tech-briefing.mjs:down |
flat |
software | healthy | scripts/generate-tech-briefing.mjs:flat |
callClaude |
software | healthy | scripts/generate-tech-briefing.mjs:callClaude |
isTechEvent |
software | healthy | scripts/generate-tech-briefing.mjs:isTechEvent |
venue |
software | healthy | scripts/generate-tech-briefing.mjs:venue |
main |
software | healthy | scripts/generate-tech-briefing.mjs:main |
flickrSearch |
software | healthy | scripts/generate-photos.mjs:flickrSearch |
licenseLabel |
software | healthy | scripts/generate-photos.mjs:licenseLabel |
licenseUrl |
software | healthy | scripts/generate-photos.mjs:licenseUrl |
main |
software | healthy | scripts/generate-photos.mjs:main |
lookupPhotoRef |
software | healthy | scripts/backfill-places-photos.mjs:lookupPhotoRef |
before |
software | healthy | scripts/strip-tm-symbols.mjs:before |
daysAgo |
software | healthy | scripts/generate-apod.mjs:daysAgo |
main |
software | healthy | scripts/generate-apod.mjs:main |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
vercel.json |
software | healthy | vercel.json |
CLAUDE.md |
software | healthy | CLAUDE.md |
package.json |
software | healthy | package.json |
HANDOFF.md |
software | healthy | HANDOFF.md |
astro.config.mjs |
software | healthy | astro.config.mjs |
SOCIAL-HANDOFF.md |
software | healthy | SOCIAL-HANDOFF.md |
package-lock.json |
software | healthy | package-lock.json |
MANUAL_SIGNUP_LIST.md |
software | healthy | MANUAL_SIGNUP_LIST.md |
tsconfig.json |
software | healthy | tsconfig.json |
AGENTS.md |
software | healthy | AGENTS.md |
LOOKOUT_INBOUND_HANDOFF.md |
software | healthy | LOOKOUT_INBOUND_HANDOFF.md |
HANDOFF-pipeline-hardening.md |
software | healthy | HANDOFF-pipeline-hardening.md |
HANDOFF-SOUTH-BAY-TODAY.md |
software | healthy | docs/HANDOFF-SOUTH-BAY-TODAY.md |
SBT_TIGHTENING_ROADMAP.md |
software | healthy | docs/SBT_TIGHTENING_ROADMAP.md |
meta-setup-steps.md |
software | healthy | docs/meta-setup-steps.md |
check-photoref-health.mjs |
software | healthy | scripts/check-photoref-health.mjs |
scrape-camp-prices.mjs |
software | healthy | scripts/scrape-camp-prices.mjs |
backfill-tld-and-subtitle.mjs |
software | healthy | scripts/backfill-tld-and-subtitle.mjs |
generate-weekend-picks.mjs |
software | healthy | scripts/generate-weekend-picks.mjs |
watchdog.sh |
software | healthy | scripts/watchdog.sh |
backfill-sccl-branches.mjs |
software | healthy | scripts/backfill-sccl-branches.mjs |
generate-tech-briefing.mjs |
software | healthy | scripts/generate-tech-briefing.mjs |
generate-photos.mjs |
software | healthy | scripts/generate-photos.mjs |
backfill-places-photos.mjs |
software | healthy | scripts/backfill-places-photos.mjs |
validate-schedule.mjs |
software | healthy | scripts/validate-schedule.mjs |
strip-tm-symbols.mjs |
software | healthy | scripts/strip-tm-symbols.mjs |
generate-apod.mjs |
software | healthy | scripts/generate-apod.mjs |
revalidate-og-images.mjs |
software | healthy | scripts/revalidate-og-images.mjs |
playwright-scrapers.mjs |
software | healthy | scripts/playwright-scrapers.mjs |
photo-review-server.mjs |
software | healthy | scripts/photo-review-server.mjs |
generate-upcoming-meetings.mjs |
software | healthy | scripts/generate-upcoming-meetings.mjs |
generate-restaurant-radar.mjs |
software | healthy | scripts/generate-restaurant-radar.mjs |
refresh-place-photorefs.mjs |
software | healthy | scripts/refresh-place-photorefs.mjs |
pull-inbound-events.mjs |
software | healthy | scripts/pull-inbound-events.mjs |
backfill-reddit-image-cache-metadata.mjs |
software | healthy | scripts/backfill-reddit-image-cache-metadata.mjs |
dry-run-event-images.mjs |
software | healthy | scripts/dry-run-event-images.mjs |
confirm-subscriptions.mjs |
software | healthy | scripts/confirm-subscriptions.mjs |
generate-spring-break-picks.mjs |
software | healthy | scripts/generate-spring-break-picks.mjs |
generate-places.mjs |
software | healthy | scripts/generate-places.mjs |
health-report.mjs |
software | healthy | scripts/health-report.mjs |
dedup-existing-events.mjs |
software | healthy | scripts/dedup-existing-events.mjs |
generate-reddit-pulse.mjs |
software | healthy | scripts/generate-reddit-pulse.mjs |
generate-place-blurbs.mjs |
software | healthy | scripts/generate-place-blurbs.mjs |
autotag-places.mjs |
software | healthy | scripts/autotag-places.mjs |
generate-events.mjs |
software | healthy | scripts/generate-events.mjs |
fetch-tech-logos.mjs |
software | healthy | scripts/fetch-tech-logos.mjs |
generate-city-briefings.mjs |
software | healthy | scripts/generate-city-briefings.mjs |
openings-dm.mjs |
software | healthy | scripts/openings-dm.mjs |
generate-open-now-candidates.mjs |
software | healthy | scripts/generate-open-now-candidates.mjs |
research-top-places.mjs |
software | healthy | scripts/research-top-places.mjs |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
docs |
software | healthy | docs |
scripts |
software | healthy | scripts |
social-cat |
software | healthy | scripts/social-cat |
scripts |
software | healthy | scripts/social-cat/scripts |
lookout |
software | healthy | scripts/lookout |
migrations |
software | healthy | scripts/lookout/migrations |
lib |
software | healthy | scripts/lib |
social |
software | healthy | scripts/social |
lib |
software | healthy | scripts/social/lib |
platforms |
software | healthy | scripts/social/lib/platforms |
oneoff |
software | healthy | scripts/social/oneoff |
newsletter |
software | healthy | scripts/newsletter |
oneoff |
software | healthy | scripts/oneoff |
.claude |
software | healthy | .claude |
public |
software | healthy | public |
images |
software | healthy | public/images |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
src |
software | healthy | src |
components |
software | healthy | src/components |
south-bay |
software | healthy | src/components/south-bay |
cards |
software | healthy | src/components/south-bay/cards |
homepage |
software | healthy | src/components/south-bay/homepage |
city |
software | healthy | src/components/south-bay/city |
views |
software | healthy | src/components/south-bay/views |
lib |
software | healthy | src/lib |
lookout |
software | healthy | src/lib/lookout |
south-bay |
software | healthy | src/lib/south-bay |
pages |
software | healthy | src/pages |
api |
software | healthy | src/pages/api |
admin |
software | healthy | src/pages/api/admin |
inbound |
software | healthy | src/pages/api/admin/inbound |
lookout |
software | healthy | src/pages/api/admin/lookout |
newsletters |
software | healthy | src/pages/api/admin/newsletters |
south-bay |
software | healthy | src/pages/api/south-bay |
newsletter |
software | healthy | src/pages/api/newsletter |
newsletters |
software | healthy | src/pages/newsletters |
plan |
software | healthy | src/pages/plan |
go |
software | healthy | src/pages/go |
styles |
software | healthy | src/styles |
| Label | Layer | Status | Path |
|---|---|---|---|
/rss.xml |
frontend | healthy | src/pages/rss.xml.ts |
/api/weather |
frontend | healthy | src/pages/api/weather.ts |
/api/unsplash-photo |
frontend | healthy | src/pages/api/unsplash-photo.ts |
/api/reader-tip |
frontend | healthy | src/pages/api/reader-tip.ts |
/api/plan-day.test |
frontend | healthy | src/pages/api/plan-day.test.ts |
/api/share-plan |
frontend | healthy | src/pages/api/share-plan.ts |
/api/plan-day |
frontend | healthy | src/pages/api/plan-day.ts |
/api/place-photo |
frontend | healthy | src/pages/api/place-photo.ts |
/api/admin/inbound/intake |
frontend | healthy | src/pages/api/admin/inbound/intake.ts |
/api/admin/lookout/reconcile |
frontend | healthy | src/pages/api/admin/lookout/reconcile.ts |
/api/admin/newsletters/mark |
frontend | healthy | src/pages/api/admin/newsletters/mark.ts |
/api/admin/newsletters/state |
frontend | healthy | src/pages/api/admin/newsletters/state.ts |
/api/admin/newsletters/delete |
frontend | healthy | src/pages/api/admin/newsletters/delete.ts |
/api/south-bay/ahl-scores |
frontend | healthy | src/pages/api/south-bay/ahl-scores.ts |
/api/south-bay/upcoming-events-near |
frontend | healthy | src/pages/api/south-bay/upcoming-events-near.ts |
/api/south-bay/ask-records |
frontend | healthy | src/pages/api/south-bay/ask-records.ts |
/api/south-bay/upcoming-events |
frontend | healthy | src/pages/api/south-bay/upcoming-events.ts |
/api/south-bay/digest |
frontend | healthy | src/pages/api/south-bay/digest.ts |
/api/newsletter/subscribe |
frontend | healthy | src/pages/api/newsletter/subscribe.ts |
/newsletters/[...slug] |
frontend | healthy | src/pages/newsletters/[...slug].ts |
/plan/[id] |
frontend | healthy | src/pages/plan/[id].ts |
/go/[slug] |
frontend | healthy | src/pages/go/[slug].ts |
| Label | Layer | Status | Path |
|---|---|---|---|
ReaderWidget |
frontend | healthy | src/components/south-bay/ReaderWidget.tsx |
PageHero |
frontend | healthy | src/components/south-bay/PageHero.tsx |
SignalApp |
frontend | healthy | src/components/south-bay/SignalApp.tsx |
Masthead |
frontend | healthy | src/components/south-bay/Masthead.tsx |
NewsletterSignup |
frontend | healthy | src/components/south-bay/NewsletterSignup.tsx |
SunUvCard |
frontend | healthy | src/components/south-bay/cards/SunUvCard.tsx |
CouncilDigestTurnstile |
frontend | healthy | src/components/south-bay/cards/CouncilDigestTurnstile.tsx |
DigestCard |
frontend | healthy | src/components/south-bay/cards/DigestCard.tsx |
MinutesSearchCard |
frontend | healthy | src/components/south-bay/cards/MinutesSearchCard.tsx |
CoastCard |
frontend | healthy | src/components/south-bay/cards/CoastCard.tsx |
ForecastCard |
frontend | healthy | src/components/south-bay/cards/ForecastCard.tsx |
RedditPulseTeaser |
frontend | healthy | src/components/south-bay/homepage/RedditPulseTeaser.tsx |
SouthBayTodayView |
frontend | healthy | src/components/south-bay/homepage/SouthBayTodayView.tsx |
WeekendAheadCard |
frontend | healthy | src/components/south-bay/homepage/WeekendAheadCard.tsx |
CityPage |
frontend | healthy | src/components/south-bay/city/CityPage.tsx |
EventsView |
frontend | healthy | src/components/south-bay/views/EventsView.tsx |
TechnologyView |
frontend | healthy | src/components/south-bay/views/TechnologyView.tsx |
FoodView |
frontend | healthy | src/components/south-bay/views/FoodView.tsx |
GovernmentView |
frontend | healthy | src/components/south-bay/views/GovernmentView.tsx |
CampsView |
frontend | healthy | src/components/south-bay/views/CampsView.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::scripts/social/publish-from-queue.mjs |
security | healthy | scripts/social/publish-from-queue.mjs |
auth::scripts/social/lib/platforms/x.mjs |
security | healthy | scripts/social/lib/platforms/x.mjs |
auth::scripts/social/oneoff/scan-lowercase-posts.mjs |
security | healthy | scripts/social/oneoff/scan-lowercase-posts.mjs |
auth::scripts/social-cat/README.md |
security | healthy | scripts/social-cat/README.md |
auth::scripts/generate-events.mjs |
security | healthy | scripts/generate-events.mjs |
auth::src/components/south-bay/homepage/SouthBayTodayView.t… |
security | healthy | src/components/south-bay/homepage/SouthBayTodayView.tsx |
auth::scripts/social/collect-engagement.mjs |
security | healthy | scripts/social/collect-engagement.mjs |
auth::scripts/social/refresh-pinterest-token.mjs |
security | healthy | scripts/social/refresh-pinterest-token.mjs |
auth::scripts/social/oauth-pinterest.mjs |
security | healthy | scripts/social/oauth-pinterest.mjs |
auth::scripts/social/verify-posts.mjs |
security | healthy | scripts/social/verify-posts.mjs |
auth::src/lib/miniClaude.ts |
security | healthy | src/lib/miniClaude.ts |
auth::scripts/social/lib/platforms/pinterest.mjs |
security | healthy | scripts/social/lib/platforms/pinterest.mjs |
auth::scripts/social/publish.mjs |
security | healthy | scripts/social/publish.mjs |
auth::scripts/social-cat/scripts/run-on-mini.sh |
security | healthy | scripts/social-cat/scripts/run-on-mini.sh |
auth::scripts/social/collect-metrics.mjs |
security | healthy | scripts/social/collect-metrics.mjs |
auth::scripts/social-cat/scripts/radar.py |
security | healthy | scripts/social-cat/scripts/radar.py |
auth::scripts/social/lib/platforms/mastodon.mjs |
security | healthy | scripts/social/lib/platforms/mastodon.mjs |
auth::scripts/social-cat/.env.example |
security | healthy | scripts/social-cat/.env.example |
| Label | Layer | Status | Path |
|---|---|---|---|
menu |
software | healthy | scripts/playwright-scrapers.mjs:menu |
and |
software | healthy | scripts/generate-place-blurbs.mjs:and |
visits |
software | healthy | scripts/generate-events.mjs:visits |
names |
software | healthy | scripts/generate-events.mjs:names |
FastHTTPServer |
software | healthy | scripts/social-cat/scripts/swiper.py:38 |
Handler |
software | healthy | scripts/social-cat/scripts/swiper.py:1171 |
that |
software | healthy | scripts/lib/io.mjs:that |
drives |
software | healthy | scripts/social/copy-review-server.mjs:drives |
we |
software | healthy | scripts/social/lib/post-gen-review.test.mjs:we |
pattern |
software | healthy | scripts/social/lib/url-check.mjs:pattern |
names |
software | healthy | src/components/south-bay/Masthead.tsx:names |
MiniClaudeError |
software | healthy | src/lib/miniClaude.ts:MiniClaudeError |
MiniClaude |
software | healthy | src/lib/miniClaude.ts:MiniClaude |
got |
software | healthy | src/lib/south-bay/eventBlurbs.mjs:got |
| Label | Layer | Status | Path |
|---|---|---|---|
124.0.0.0 |
network | healthy | scripts/scrape-camp-prices.mjs |
127.0.0.1 |
network | healthy | scripts/photo-review-server.mjs |
120.0.0.0 |
network | healthy | scripts/fetch-tech-logos.mjs |
10.0.0.234 |
network | healthy | scripts/social-cat/scripts/swiper.py |
100.117.24.89 |
network | healthy | scripts/social/generate-schedule.mjs |
3.55.414.28 |
network | healthy | src/components/south-bay/ReaderWidget.tsx |
02.521.18.642 |
network | healthy | src/components/south-bay/ReaderWidget.tsx |
172.16.0.0 |
network | healthy | src/lib/apiHelpers.ts |
172.31.255.255 |
network | healthy | src/lib/apiHelpers.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
port:4567 |
network | healthy | scripts/photo-review-server.mjs |
port:8765 |
network | healthy | scripts/social/oauth-pinterest.mjs |
port:3456 |
network | healthy | scripts/social/copy-review-server.mjs |
port:14 |
network | healthy | .github/workflows/refresh-events.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::aws |
hardware | healthy | package-lock.json |
vps::azure |
hardware | healthy | package-lock.json |
vps::gcp |
hardware | healthy | src/lib/apiHelpers.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
redis |
data | healthy | package-lock.json |
postgres |
data | healthy | scripts/lookout/add-tracker-row.mjs |
| Label | Layer | Status | Path |
|---|---|---|---|
newsletter_targets |
data | healthy | scripts/lookout/migrations/001_init.sql |
tracker_audit |
data | healthy | scripts/lookout/migrations/001_init.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
EVENTBRITE_API_KEY |
cicd | healthy | — |
TICKETMASTER_API_KEY |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-sb0ufy4l |
software | healthy | /tmp/repobility-clone-sb0ufy4l |
| Label | Layer | Status | Path |
|---|---|---|---|
001_init.sql |
data | healthy | scripts/lookout/migrations/001_init.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | scripts/fetch-tech-logos.mjs |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::refresh-events |
cicd | healthy | .github/workflows/refresh-events.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
refresh |
cicd | healthy | .github/workflows/refresh-events.yml |
This page is publicly accessible at:
https://repobility.com/scan/c013df04-9c22-4ace-81bc-08cb4c1c20d3/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/c013df04-9c22-4ace-81bc-08cb4c1c20d3/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.