Public scan — anyone with this URL can view this analysis. Sign up to track your own repos privately, run scheduled re-scans, and get AI fix prompts via your dashboard.

thsshm/sporthub

https://github.com/thsshm/sporthub · scanned 2026-06-16 00:35 UTC (2 months, 2 weeks ago)

148 raw signals (0 security + 148 graph)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

Last scanned 2 months, 2 weeks ago · v1 · 109 actionable findings from 1 signal source. 39 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.

JSON
Severity distribution — click a segment to filter
Active filters: excluding tests × Reset all

All 1523 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.

LabelLayerStatusPath
register software healthy instrumentation.ts:register
fixture software healthy scripts/check-migrations.test.mjs:fixture
to_api_dict software healthy scripts/etl_upsert.py:57
merge software healthy scripts/etl_upsert.py:87
_derive_slug software healthy scripts/etl_upsert.py:97
batch_records software healthy scripts/etl_upsert.py:107
compute_run_hash software healthy scripts/etl_upsert.py:113
__init__ software healthy scripts/etl_upsert.py:127
_headers software healthy scripts/etl_upsert.py:132
upsert software healthy scripts/etl_upsert.py:143
rpc software dead scripts/etl_upsert.py:155
upsert_venues_batch software healthy scripts/etl_upsert.py:171
deduplicate_records software healthy scripts/etl_upsert.py:222
_existing_venues_query software healthy scripts/etl_upsert.py:254
soft_delete_missing software healthy scripts/etl_upsert.py:279
open_import_run software healthy scripts/etl_upsert.py:361
close_import_run software healthy scripts/etl_upsert.py:393
self_test software healthy scripts/etl_upsert.py:426
main software healthy scripts/etl_upsert.py:531
classify_by_name software healthy scripts/backfill_primary_sport.py:87
derive_primary_sport software healthy scripts/backfill_primary_sport.py:100
plan_primary software healthy scripts/backfill_primary_sport.py:113
load_env software healthy scripts/backfill_primary_sport.py:124
req software healthy scripts/backfill_primary_sport.py:142
fetch_null_primary software healthy scripts/backfill_primary_sport.py:165
load_sport_family software healthy scripts/backfill_primary_sport.py:191
fetch_null_named software healthy scripts/backfill_primary_sport.py:197
apply_primary software healthy scripts/backfill_primary_sport.py:220
sample_unclassified software healthy scripts/backfill_primary_sport.py:236
run_by_name software healthy scripts/backfill_primary_sport.py:276
run software healthy scripts/backfill_primary_sport.py:302
self_test software healthy scripts/backfill_primary_sport.py:324
main software healthy scripts/backfill_primary_sport.py:378
load_env software healthy scripts/apply_migration.py:30
main software healthy scripts/apply_migration.py:43
BASE software healthy scripts/seo-smoke.mjs:BASE
fail software healthy scripts/seo-smoke.mjs:fail
stripScripts software healthy scripts/seo-smoke.mjs:stripScripts
fetchPage software healthy scripts/seo-smoke.mjs:fetchPage
extractSpotsCount software healthy scripts/seo-smoke.mjs:extractSpotsCount
checkPopulatedPage software healthy scripts/seo-smoke.mjs:checkPopulatedPage
isEmpty software healthy scripts/seo-smoke.mjs:isEmpty
checkMap software healthy scripts/seo-smoke.mjs:checkMap
checkCountsConsistency software healthy scripts/seo-smoke.mjs:checkCountsConsistency
dt software healthy scripts/seo-smoke.mjs:dt
venue_to_feature software healthy scripts/generate_venue_tiles.py:61
_is_lonlat software healthy scripts/generate_venue_tiles.py:86
features_to_geojsonl software healthy scripts/generate_venue_tiles.py:97
export_geojsonl software healthy scripts/generate_venue_tiles.py:108
build_tippecanoe_cmd software healthy scripts/generate_venue_tiles.py:164

Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.

LabelLayerStatusPath
PRODUCT_SPEC.md software healthy PRODUCT_SPEC.md
.env.local.example software healthy .env.local.example
instrumentation.ts software healthy instrumentation.ts
vercel.json software healthy vercel.json
README.md software healthy README.md
tailwind.config.ts software healthy tailwind.config.ts
pnpm-lock.yaml software healthy pnpm-lock.yaml
CLAUDE.md software healthy CLAUDE.md
package.json software healthy package.json
next.config.js software healthy next.config.js
ISSUES.md software healthy ISSUES.md
sentry.server.config.ts software healthy sentry.server.config.ts
components.json software healthy components.json
middleware.ts software healthy middleware.ts
MIGRATION.md software healthy MIGRATION.md
sentry.client.config.ts software healthy sentry.client.config.ts
DATA_MODEL.md software healthy DATA_MODEL.md
ROADMAP.md software healthy ROADMAP.md
pnpm-workspace.yaml software healthy pnpm-workspace.yaml
.env.example software healthy .env.example
.eslintrc.json software healthy .eslintrc.json
tsconfig.json software healthy tsconfig.json
sentry.edge.config.ts software healthy sentry.edge.config.ts
postcss.config.js software healthy postcss.config.js
vitest.config.ts software healthy vitest.config.ts
ADR.md software healthy ADR.md
routing.ts software healthy i18n/routing.ts
request.ts software healthy i18n/request.ts
server-only-stub.ts software healthy test/server-only-stub.ts
padel-fr-sources-spike.md software healthy docs/padel-fr-sources-spike.md
db-maintenance-runbook.md software healthy docs/db-maintenance-runbook.md
pmtiles-runbook.md software healthy docs/pmtiles-runbook.md
ROADMAP-SCALE.md software healthy docs/ROADMAP-SCALE.md
PARAMETRAGES-V2.md software healthy docs/PARAMETRAGES-V2.md
sentry-setup.md software healthy docs/sentry-setup.md
PARITY-V1-V2.md software healthy docs/PARITY-V1-V2.md
perf-audit-2026-05-29.md software healthy docs/perf-audit-2026-05-29.md
227-etl-v2-natif.md software healthy docs/decisions/227-etl-v2-natif.md
check-migrations.test.mjs software healthy scripts/check-migrations.test.mjs
etl_upsert.py software healthy scripts/etl_upsert.py
backfill_primary_sport.py software healthy scripts/backfill_primary_sport.py
apply_migration.py software healthy scripts/apply_migration.py
seo-smoke.mjs software healthy scripts/seo-smoke.mjs
generate_venue_tiles.py software healthy scripts/generate_venue_tiles.py
trim-supabase-types.py software healthy scripts/trim-supabase-types.py
finish-deploy.sh software healthy scripts/finish-deploy.sh
backfill_surface_osm.py software healthy scripts/backfill_surface_osm.py
data_quality_report.py software healthy scripts/data_quality_report.py
import_enrichments_v1.py software healthy scripts/import_enrichments_v1.py
import_overture.py software healthy scripts/import_overture.py

Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.

LabelLayerStatusPath
i18n software healthy i18n
test software healthy test
docs software healthy docs
decisions software healthy docs/decisions
scripts software healthy scripts
etl software healthy scripts/etl
components software healthy components
layout software healthy components/layout
ui software healthy components/ui
sports software healthy components/sports
venue software healthy components/venue
home software healthy components/home
admin software healthy components/admin
retreat software healthy components/retreat
developers software healthy components/developers
map software healthy components/map
app software healthy app
sitemap.xml software healthy app/sitemap.xml
auth software healthy app/auth
logout software healthy app/auth/logout
callback software healthy app/auth/callback
api software healthy app/api
monitoring software healthy app/api/monitoring
sentry-test software healthy app/api/monitoring/sentry-test
venue-enrichments software healthy app/api/venue-enrichments
[slug] software healthy app/api/venue-enrichments/[slug]
admin software healthy app/api/admin
cron software healthy app/api/admin/cron
run-all software healthy app/api/admin/cron/run-all
venues software healthy app/api/venues
facets software healthy app/api/venues/facets
clubs software healthy app/api/venues/clubs
[id] software healthy app/api/venues/clubs/[id]
cities software healthy app/api/cities
claim software healthy app/api/claim
geo software healthy app/api/geo
cron software healthy app/api/cron
refresh-paragliding software healthy app/api/cron/refresh-paragliding
refresh-wikidata software healthy app/api/cron/refresh-wikidata
refresh-diving software healthy app/api/cron/refresh-diving
refresh-top-clubs software healthy app/api/cron/refresh-top-clubs
refresh-hyrox software healthy app/api/cron/refresh-hyrox
refresh-top-cities software healthy app/api/cron/refresh-top-cities
favorites software healthy app/api/favorites
go software healthy app/api/go
[id] software healthy app/api/go/[id]
revalidate software healthy app/api/revalidate
[locale] software healthy app/[locale]
legal software healthy app/[locale]/legal
[sport] software healthy app/[locale]/[sport]

Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.

LabelLayerStatusPath
apply_migration.py data healthy scripts/apply_migration.py
0042_drop_disciplines_ranking_venue_mv.sql data healthy supabase/migrations/0042_drop_disciplines_ranking_venue_mv.…
0030_retreat_event.sql data healthy supabase/migrations/0030_retreat_event.sql
0044_refresh_venue_aggregates_timeout.sql data healthy supabase/migrations/0044_refresh_venue_aggregates_timeout.s…
0017_top_cities_by_venue_count.sql data healthy supabase/migrations/0017_top_cities_by_venue_count.sql
0022_venue_retreat_type.sql data healthy supabase/migrations/0022_venue_retreat_type.sql
0013_clubs.sql data healthy supabase/migrations/0013_clubs.sql
0024_retreat_filter.sql data healthy supabase/migrations/0024_retreat_filter.sql
0064_mv_vss_quality_desc_index.sql data healthy supabase/migrations/0064_mv_vss_quality_desc_index.sql
0043_etl_import_run.sql data healthy supabase/migrations/0043_etl_import_run.sql
0005_perf_indexes.sql data healthy supabase/migrations/0005_perf_indexes.sql
0056_venue_sport_search_quality_city.sql data healthy supabase/migrations/0056_venue_sport_search_quality_city.sql
0046_venues_facets_composite_index.sql data healthy supabase/migrations/0046_venues_facets_composite_index.sql
0031_fix_courts_count_null_city.sql data healthy supabase/migrations/0031_fix_courts_count_null_city.sql
0054_venue_sport_search_mv.sql data healthy supabase/migrations/0054_venue_sport_search_mv.sql
0051_disciplines_ranking_club_name.sql data healthy supabase/migrations/0051_disciplines_ranking_club_name.sql
0052_merge_escalade_into_hike.sql data healthy supabase/migrations/0052_merge_escalade_into_hike.sql
0032_import_clubs_fn.sql data healthy supabase/migrations/0032_import_clubs_fn.sql
0028_escalade_family.sql data healthy supabase/migrations/0028_escalade_family.sql
0021_venues_facets_in_bbox_perf.sql data healthy supabase/migrations/0021_venues_facets_in_bbox_perf.sql
0062_fix_subcourt_club_names.sql data healthy supabase/migrations/0062_fix_subcourt_club_names.sql
0041_refresh_venue_aggregates_nonconcurrent.sql data healthy supabase/migrations/0041_refresh_venue_aggregates_nonconcur…
0023_backfill_courts_count_indexed.sql data healthy supabase/migrations/0023_backfill_courts_count_indexed.sql
0010_user_favorite.sql data healthy supabase/migrations/0010_user_favorite.sql
0048_padel_enrichment_schema.sql data healthy supabase/migrations/0048_padel_enrichment_schema.sql
0040_venues_aggregates_from_mv.sql data healthy supabase/migrations/0040_venues_aggregates_from_mv.sql
0035_disciplines_ranking_per_sport.sql data healthy supabase/migrations/0035_disciplines_ranking_per_sport.sql
0059_advisor_hardening.sql data healthy supabase/migrations/0059_advisor_hardening.sql
0029_top_cities_materialized_view.sql data healthy supabase/migrations/0029_top_cities_materialized_view.sql
0020_backfill_courts_count.sql data healthy supabase/migrations/0020_backfill_courts_count.sql
0058_mv_vss_sport_city_index.sql data healthy supabase/migrations/0058_mv_vss_sport_city_index.sql
0037_venues_in_bbox_definer_fix.sql data healthy supabase/migrations/0037_venues_in_bbox_definer_fix.sql
0019_venues_facets_in_bbox.sql data healthy supabase/migrations/0019_venues_facets_in_bbox.sql
0039_venue_aggregate_mvs.sql data healthy supabase/migrations/0039_venue_aggregate_mvs.sql
0055_sport_filter_via_mv.sql data healthy supabase/migrations/0055_sport_filter_via_mv.sql
0025_venues_aggregates_equi_surface.sql data healthy supabase/migrations/0025_venues_aggregates_equi_surface.sql
0009_index_partial_published.sql data healthy supabase/migrations/0009_index_partial_published.sql
0027_remap_family_slug.sql data healthy supabase/migrations/0027_remap_family_slug.sql
0015_affiliate_click_partner_slug.sql data healthy supabase/migrations/0015_affiliate_click_partner_slug.sql
0026_venues_facets_security_definer.sql data healthy supabase/migrations/0026_venues_facets_security_definer.sql
0011_affiliate_click.sql data healthy supabase/migrations/0011_affiliate_click.sql
0016_venues_in_bbox_surface_param.sql data healthy supabase/migrations/0016_venues_in_bbox_surface_param.sql
0061_reset_raquette_clubs.sql data healthy supabase/migrations/0061_reset_raquette_clubs.sql
0063_analyze_mv_vss_stats.sql data healthy supabase/migrations/0063_analyze_mv_vss_stats.sql
0057_top_cities_for_sport_fn.sql data healthy supabase/migrations/0057_top_cities_for_sport_fn.sql
0045_pgcron_refresh_aggregates.sql data healthy supabase/migrations/0045_pgcron_refresh_aggregates.sql
0006_venues_in_bbox_sport_param.sql data healthy supabase/migrations/0006_venues_in_bbox_sport_param.sql
0060_mv_vss_sport_city_covering_analyze.sql data healthy supabase/migrations/0060_mv_vss_sport_city_covering_analyze…
0034_disciplines_ranking_mv.sql data healthy supabase/migrations/0034_disciplines_ranking_mv.sql
0049_venue_facet_mvs.sql data healthy supabase/migrations/0049_venue_facet_mvs.sql

Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.

LabelLayerStatusPath
merge cicd healthy .github/workflows/merge-courts.yml
reload cicd healthy .github/workflows/reload-postgrest.yml
regenerate cicd healthy .github/workflows/regenerate-tiles.yml
import cicd healthy .github/workflows/overture-import.yml
health cicd healthy .github/workflows/project-health.yml
import cicd healthy .github/workflows/retreats-import.yml
restart cicd healthy .github/workflows/restart-project.yml
verify cicd healthy .github/workflows/ci.yml
push cicd healthy .github/workflows/apply-migrations.yml
report cicd healthy .github/workflows/data-quality-report.yml
restore cicd healthy .github/workflows/restore-soft-deleted.yml
revalidate cicd healthy .github/workflows/revalidate.yml
osm cicd healthy .github/workflows/data-refresh.yml
overture cicd healthy .github/workflows/data-refresh.yml
import cicd healthy .github/workflows/osm-import.yml
smoke cicd healthy .github/workflows/seo-smoke.yml
reset cicd healthy .github/workflows/reset-family-clubs.yml
clean cicd healthy .github/workflows/clean-misclassified.yml
enrich cicd healthy .github/workflows/padel-enrich.yml
cluster cicd healthy .github/workflows/cluster-clubs.yml
backfill cicd healthy .github/workflows/backfill-venue-city.yml
backfill cicd healthy .github/workflows/backfill-primary-sport.yml
seed cicd healthy .github/workflows/seed-countries.yml

LabelLayerStatusPath
gha::merge-courts cicd healthy .github/workflows/merge-courts.yml
gha::reload-postgrest cicd healthy .github/workflows/reload-postgrest.yml
gha::regenerate-tiles cicd healthy .github/workflows/regenerate-tiles.yml
gha::overture-import cicd healthy .github/workflows/overture-import.yml
gha::project-health cicd healthy .github/workflows/project-health.yml
gha::retreats-import cicd healthy .github/workflows/retreats-import.yml
gha::restart-project cicd healthy .github/workflows/restart-project.yml
gha::ci cicd healthy .github/workflows/ci.yml
gha::apply-migrations cicd healthy .github/workflows/apply-migrations.yml
gha::data-quality-report cicd healthy .github/workflows/data-quality-report.yml
gha::restore-soft-deleted cicd healthy .github/workflows/restore-soft-deleted.yml
gha::revalidate cicd healthy .github/workflows/revalidate.yml
gha::data-refresh cicd healthy .github/workflows/data-refresh.yml
gha::osm-import cicd healthy .github/workflows/osm-import.yml
gha::seo-smoke cicd healthy .github/workflows/seo-smoke.yml
gha::reset-family-clubs cicd healthy .github/workflows/reset-family-clubs.yml
gha::clean-misclassified cicd healthy .github/workflows/clean-misclassified.yml
gha::padel-enrich cicd healthy .github/workflows/padel-enrich.yml
gha::cluster-clubs cicd healthy .github/workflows/cluster-clubs.yml
gha::backfill-venue-city cicd healthy .github/workflows/backfill-venue-city.yml
gha::backfill-primary-sport cicd healthy .github/workflows/backfill-primary-sport.yml
gha::seed-countries cicd healthy .github/workflows/seed-countries.yml

LabelLayerStatusPath
retreat_event data healthy supabase/migrations/0030_retreat_event.sql
club data healthy supabase/migrations/0013_clubs.sql
import_run data healthy supabase/migrations/0043_etl_import_run.sql
user_favorite data healthy supabase/migrations/0010_user_favorite.sql
external_ref data healthy supabase/migrations/0048_padel_enrichment_schema.sql
affiliate_click data healthy supabase/migrations/0011_affiliate_click.sql
partner data healthy supabase/migrations/0012_partner_referential_rgpd.sql
country data healthy supabase/migrations/0001_initial_schema.sql
sport data healthy supabase/migrations/0001_initial_schema.sql
city data healthy supabase/migrations/0001_initial_schema.sql
amenity data healthy supabase/migrations/0001_initial_schema.sql
venue data healthy supabase/migrations/0001_initial_schema.sql
venue_sport data healthy supabase/migrations/0001_initial_schema.sql
venue_amenity data healthy supabase/migrations/0001_initial_schema.sql
booking_link data healthy supabase/migrations/0001_initial_schema.sql
claim_request data healthy supabase/migrations/0001_initial_schema.sql

LabelLayerStatusPath
VenueRecord software healthy scripts/etl_upsert.py:39
UpsertResult software healthy scripts/etl_upsert.py:82
SupabaseRestClient software healthy scripts/etl_upsert.py:121
SupabaseRest software healthy scripts/import_enrichments_v1.py:247
ExistingIndex software healthy scripts/import_overture.py:285
UnionFind software healthy scripts/cluster_clubs.py:229
SupabaseRest software healthy scripts/cluster_clubs.py:443
OverpassTimeout software healthy scripts/etl/osm_import.py:219
merger software healthy lib/utils.test.ts:merger

LabelLayerStatusPath
port:64 network healthy pnpm-lock.yaml
port:14 network healthy pnpm-lock.yaml
port:6543 network healthy scripts/apply_migration.py
port:5432 network healthy scripts/apply_migration.py
port:04 network healthy .github/workflows/regenerate-tiles.yml
port:05 network healthy .github/workflows/data-quality-report.yml
port:02 network healthy .github/workflows/data-refresh.yml
port:07 network healthy .github/workflows/seo-smoke.yml
port:03 network healthy .github/workflows/padel-enrich.yml

LabelLayerStatusPath
ClubMarker frontend healthy components/map/ClubMarker.tsx
RootLayout frontend healthy app/layout.tsx
LoginPage frontend healthy app/[locale]/login/page.tsx
CatchAllNotFound frontend healthy app/[locale]/[...rest]/page.tsx
VenueTilesLayer frontend healthy app/[locale]/map/VenueTilesLayer.tsx
LeafletMap frontend healthy app/[locale]/map/LeafletMap.tsx
MapClient frontend healthy app/[locale]/map/MapClient.tsx

LabelLayerStatusPath
203.0.113.7 network healthy lib/affiliate.test.ts
1.2.3.4 network healthy lib/affiliate.test.ts
198.51.100.23 network healthy lib/affiliate.test.ts
70.41.3.18 network healthy lib/affiliate.test.ts
150.172.238.178 network healthy lib/affiliate.test.ts
01.02.03.04 network healthy lib/venue/cta.ts

LabelLayerStatusPath
auth::components/FavoritesSyncOnLogin.tsx security healthy components/FavoritesSyncOnLogin.tsx
auth::scripts/finish-deploy.sh security healthy scripts/finish-deploy.sh
auth::app/auth/callback/route.ts security healthy app/auth/callback/route.ts
auth::app/[locale]/admin/layout.tsx security healthy app/[locale]/admin/layout.tsx
auth::.env.local.example security healthy .env.local.example

LabelLayerStatusPath
SUPABASE_ACCESS_TOKEN cicd healthy
SUPABASE_SERVICE_ROLE_KEY cicd healthy
SUPABASE_URL cicd healthy
SUPABASE_DB_PASSWORD cicd healthy

LabelLayerStatusPath
postgres data healthy .env.local.example
sqlite data healthy .env.local.example

LabelLayerStatusPath
repobility-clone-fdbrn3vd software healthy /tmp/repobility-clone-fdbrn3vd

LabelLayerStatusPath
vps::aws hardware healthy scripts/apply_migration.py

LabelLayerStatusPath
gpu (detected) hardware healthy app/[locale]/map/LeafletMap.tsx
For AI agents: Voting guide (TP/FP) MCP manifest Stdio wrapper SARIF Integrate Findings queue Vote TP/FP on findings to calibrate the engine.
For AI agents + API integrations
Email me when this repo regresses
Free. We re-scan periodically; new criticals → your inbox. No signup required for the scan itself.
API access

This page is publicly accessible at: https://repobility.com/scan/27becf8a-fab0-4747-9236-350b4a5c6608/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/27becf8a-fab0-4747-9236-350b4a5c6608/

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.