https://github.com/randallc20/custom-canvas
· scanned 2026-06-15 23:46 UTC (2 months, 4 weeks ago)
25 raw signals (0 security + 25 graph)
Last scanned 2 months, 4 weeks ago · v1 · 25 actionable findings from 1 signal source. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 988 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 |
|---|---|---|---|
register |
software | healthy | src/instrumentation.ts:register |
calculateCompletenessScore |
software | healthy | src/utils/completenessScore.ts:calculateCompletenessScore |
isPickupOnly |
software | healthy | src/utils/fulfillment.ts:isPickupOnly |
buildOrderRecord |
software | healthy | src/utils/orderRecord.ts:buildOrderRecord |
numberOrNull |
software | healthy | src/utils/formNumber.ts:numberOrNull |
calcSplit |
software | healthy | src/utils/commissionCalc.ts:calcSplit |
slugify |
software | healthy | src/utils/slugify.ts:slugify |
mockSession |
software | healthy | src/utils/orderRecord.test.ts:mockSession |
swapDisplayOrder |
software | healthy | src/utils/reorder.ts:swapDisplayOrder |
formatPrice |
software | healthy | src/utils/formatPrice.ts:formatPrice |
listingPriceLabel |
software | healthy | src/utils/formatPrice.ts:listingPriceLabel |
formatTime |
software | healthy | src/utils/formatTime.ts:formatTime |
Footer |
software | healthy | src/components/layout/Footer.tsx:Footer |
AuthGuard |
software | healthy | src/components/layout/AuthGuard.tsx:AuthGuard |
NavSearch |
software | healthy | src/components/layout/NavSearch.tsx:NavSearch |
handler |
software | healthy | src/components/layout/NavSearch.tsx:handler |
go |
software | healthy | src/components/layout/NavSearch.tsx:go |
PageShell |
software | healthy | src/components/layout/PageShell.tsx:PageShell |
Navbar |
software | healthy | src/components/layout/Navbar.tsx:Navbar |
NotificationDropdown |
software | healthy | src/components/notification/NotificationDropdown.tsx:Notifi… |
handleClickOutside |
software | healthy | src/components/notification/NotificationDropdown.tsx:handle… |
handleMarkAllRead |
software | healthy | src/components/notification/NotificationDropdown.tsx:handle… |
handleNotificationClick |
software | healthy | src/components/notification/NotificationDropdown.tsx:handle… |
recent |
software | healthy | src/components/notification/NotificationDropdown.tsx:recent |
NotificationItem |
software | healthy | src/components/notification/NotificationDropdown.tsx:Notifi… |
content |
software | healthy | src/components/notification/NotificationDropdown.tsx:content |
captureThumbnail |
software | healthy | src/components/upload/VideoUpload.tsx:captureThumbnail |
VideoUpload |
software | healthy | src/components/upload/VideoUpload.tsx:VideoUpload |
handleFile |
software | healthy | src/components/upload/VideoUpload.tsx:handleFile |
ImageUpload |
software | healthy | src/components/upload/ImageUpload.tsx:ImageUpload |
uploadWithProgress |
software | healthy | src/components/upload/uploadWithProgress.ts:uploadWithProgr… |
ListingDetail |
software | healthy | src/components/listing/ListingDetail.tsx:ListingDetail |
RelatedListings |
software | healthy | src/components/listing/RelatedListings.tsx:RelatedListings |
ReportButton |
software | healthy | src/components/listing/ReportButton.tsx:ReportButton |
handleSubmit |
software | healthy | src/components/listing/ReportButton.tsx:handleSubmit |
PurchasePanel |
software | healthy | src/components/listing/PurchasePanel.tsx:PurchasePanel |
handleMessage |
software | healthy | src/components/listing/PurchasePanel.tsx:handleMessage |
ImageCarousel |
software | healthy | src/components/listing/ImageCarousel.tsx:ImageCarousel |
handleKeyDown |
software | healthy | src/components/listing/ImageCarousel.tsx:handleKeyDown |
TrackView |
software | healthy | src/components/analytics/TrackView.tsx:TrackView |
ReviewForm |
software | healthy | src/components/review/ReviewForm.tsx:ReviewForm |
handleSubmit |
software | healthy | src/components/review/ReviewForm.tsx:handleSubmit |
ConfirmProvider |
software | healthy | src/components/ui/ConfirmDialog.tsx:ConfirmProvider |
settle |
software | healthy | src/components/ui/ConfirmDialog.tsx:settle |
useConfirm |
software | healthy | src/components/ui/ConfirmDialog.tsx:useConfirm |
Spinner |
software | healthy | src/components/ui/Spinner.tsx:Spinner |
EmptyState |
software | healthy | src/components/ui/EmptyState.tsx:EmptyState |
Button |
software | healthy | src/components/ui/Button.tsx:Button |
getInitials |
software | healthy | src/components/ui/Avatar.tsx:getInitials |
Avatar |
software | healthy | src/components/ui/Avatar.tsx:Avatar |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
.env.local.example |
software | healthy | .env.local.example |
postcss.config.mjs |
software | healthy | postcss.config.mjs |
README.md |
software | healthy | README.md |
tailwind.config.ts |
software | healthy | tailwind.config.ts |
package.json |
software | healthy | package.json |
sentry.server.config.ts |
software | healthy | sentry.server.config.ts |
package-lock.json |
software | healthy | package-lock.json |
sentry.client.config.ts |
software | healthy | sentry.client.config.ts |
.eslintrc.json |
software | healthy | .eslintrc.json |
tsconfig.json |
software | healthy | tsconfig.json |
next.config.mjs |
software | healthy | next.config.mjs |
vitest.config.ts |
software | healthy | vitest.config.ts |
UPDATE_PLAN.md |
software | healthy | docs/UPDATE_PLAN.md |
seed.sql |
software | healthy | supabase/seed.sql |
00008_partner_hardening.sql |
software | healthy | supabase/migrations/00008_partner_hardening.sql |
00010_one_live_order_per_listing.sql |
software | healthy | supabase/migrations/00010_one_live_order_per_listing.sql |
00002_missing_tables_and_policies.sql |
software | healthy | supabase/migrations/00002_missing_tables_and_policies.sql |
00003_gallery_artists.sql |
software | healthy | supabase/migrations/00003_gallery_artists.sql |
00007_partner_system.sql |
software | healthy | supabase/migrations/00007_partner_system.sql |
00011_partner_type_reverify.sql |
software | healthy | supabase/migrations/00011_partner_type_reverify.sql |
00009_rls_column_guards.sql |
software | healthy | supabase/migrations/00009_rls_column_guards.sql |
00004_revenue_model_v3.sql |
software | healthy | supabase/migrations/00004_revenue_model_v3.sql |
00006_review_fixes.sql |
software | healthy | supabase/migrations/00006_review_fixes.sql |
00001_initial_schema.sql |
software | healthy | supabase/migrations/00001_initial_schema.sql |
00005_artist_profile_v2.sql |
software | healthy | supabase/migrations/00005_artist_profile_v2.sql |
manifest.json |
software | healthy | public/manifest.json |
ci.yml |
software | healthy | .github/workflows/ci.yml |
instrumentation.ts |
software | healthy | src/instrumentation.ts |
user.ts |
software | healthy | src/types/user.ts |
analytics.ts |
software | healthy | src/types/analytics.ts |
report.ts |
software | healthy | src/types/report.ts |
notification.ts |
software | healthy | src/types/notification.ts |
message.ts |
software | healthy | src/types/message.ts |
conversation.ts |
software | healthy | src/types/conversation.ts |
listing.ts |
software | healthy | src/types/listing.ts |
artist.ts |
software | healthy | src/types/artist.ts |
commission.ts |
software | healthy | src/types/commission.ts |
gallery.ts |
software | healthy | src/types/gallery.ts |
order.ts |
software | healthy | src/types/order.ts |
commissionCalc.test.ts |
software | healthy | src/utils/commissionCalc.test.ts |
completenessScore.ts |
software | healthy | src/utils/completenessScore.ts |
fulfillment.ts |
software | healthy | src/utils/fulfillment.ts |
orderRecord.ts |
software | healthy | src/utils/orderRecord.ts |
formNumber.ts |
software | healthy | src/utils/formNumber.ts |
commissionCalc.ts |
software | healthy | src/utils/commissionCalc.ts |
formatPrice.test.ts |
software | healthy | src/utils/formatPrice.test.ts |
slugify.ts |
software | healthy | src/utils/slugify.ts |
orderRecord.test.ts |
software | healthy | src/utils/orderRecord.test.ts |
reorder.ts |
software | healthy | src/utils/reorder.ts |
formatPrice.ts |
software | healthy | src/utils/formatPrice.ts |
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 |
supabase |
software | healthy | supabase |
migrations |
software | healthy | supabase/migrations |
public |
software | healthy | public |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
src |
software | healthy | src |
types |
software | healthy | src/types |
utils |
software | healthy | src/utils |
components |
software | healthy | src/components |
layout |
software | healthy | src/components/layout |
notification |
software | healthy | src/components/notification |
upload |
software | healthy | src/components/upload |
listing |
software | healthy | src/components/listing |
analytics |
software | healthy | src/components/analytics |
review |
software | healthy | src/components/review |
ui |
software | healthy | src/components/ui |
artist |
software | healthy | src/components/artist |
dashboard |
software | healthy | src/components/dashboard |
chat |
software | healthy | src/components/chat |
feed |
software | healthy | src/components/feed |
search |
software | healthy | src/components/search |
gallery |
software | healthy | src/components/gallery |
profile |
software | healthy | src/components/profile |
commission |
software | healthy | src/components/commission |
app |
software | healthy | src/app |
notifications |
software | healthy | src/app/notifications |
commission-request |
software | healthy | src/app/commission-request |
api |
software | healthy | src/app/api |
galleries |
software | healthy | src/app/api/galleries |
notifications |
software | healthy | src/app/api/notifications |
analytics |
software | healthy | src/app/api/analytics |
saved |
software | healthy | src/app/api/saved |
listings |
software | healthy | src/app/api/listings |
[id] |
software | healthy | src/app/api/listings/[id] |
commissions |
software | healthy | src/app/api/commissions |
[id] |
software | healthy | src/app/api/commissions/[id] |
complete |
software | healthy | src/app/api/commissions/[id]/complete |
dispute |
software | healthy | src/app/api/commissions/[id]/dispute |
accept |
software | healthy | src/app/api/commissions/[id]/accept |
confirm |
software | healthy | src/app/api/commissions/[id]/confirm |
decline |
software | healthy | src/app/api/commissions/[id]/decline |
conversations |
software | healthy | src/app/api/conversations |
[id] |
software | healthy | src/app/api/conversations/[id] |
read |
software | healthy | src/app/api/conversations/[id]/read |
messages |
software | healthy | src/app/api/conversations/[id]/messages |
reviews |
software | healthy | src/app/api/reviews |
follows |
software | healthy | src/app/api/follows |
admin |
software | healthy | src/app/api/admin |
stats |
software | healthy | src/app/api/admin/stats |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
NotFound |
frontend | healthy | src/app/not-found.tsx |
Loading |
frontend | healthy | src/app/loading.tsx |
RootLayout |
frontend | healthy | src/app/layout.tsx |
Error |
frontend | healthy | src/app/error.tsx |
GlobalError |
frontend | healthy | src/app/global-error.tsx |
NotificationsPage |
frontend | healthy | src/app/notifications/page.tsx |
CommissionRequestPage |
frontend | healthy | src/app/commission-request/page.tsx |
CommissionsPage |
frontend | healthy | src/app/commissions/page.tsx |
CommissionDetailPage |
frontend | healthy | src/app/commissions/[id]/page.tsx |
DashboardPage |
frontend | healthy | src/app/dashboard/page.tsx |
AdminPage |
frontend | healthy | src/app/admin/page.tsx |
AdminGalleriesPage |
frontend | healthy | src/app/admin/galleries/page.tsx |
AdminUsersPage |
frontend | healthy | src/app/admin/users/page.tsx |
AdminOrdersPage |
frontend | healthy | src/app/admin/orders/page.tsx |
AdminListingsPage |
frontend | healthy | src/app/admin/listings/page.tsx |
AdminDisputesPage |
frontend | healthy | src/app/admin/disputes/page.tsx |
ArtistLayout |
frontend | healthy | src/app/(artist)/layout.tsx |
PayoutsPage |
frontend | healthy | src/app/(artist)/payouts/page.tsx |
AnalyticsPage |
frontend | healthy | src/app/(artist)/analytics/page.tsx |
ArtistListingsPage |
frontend | healthy | src/app/(artist)/listings/page.tsx |
NewListingPage |
frontend | healthy | src/app/(artist)/listings/new/page.tsx |
EditListingPage |
frontend | healthy | src/app/(artist)/listings/[id]/edit/page.tsx |
SeriesPage |
frontend | healthy | src/app/(artist)/series/page.tsx |
ArtistOrdersPage |
frontend | healthy | src/app/(artist)/sales/page.tsx |
MessagesPage |
frontend | healthy | src/app/messages/page.tsx |
ConversationPage |
frontend | healthy | src/app/messages/[conversationId]/page.tsx |
UserLayout |
frontend | healthy | src/app/(user)/layout.tsx |
OrdersPage |
frontend | healthy | src/app/(user)/orders/page.tsx |
SavedPage |
frontend | healthy | src/app/(user)/saved/page.tsx |
AccountPage |
frontend | healthy | src/app/(user)/account/page.tsx |
FollowingPage |
frontend | healthy | src/app/(user)/following/page.tsx |
ProfileEditPage |
frontend | healthy | src/app/profile/edit/page.tsx |
AuthLayout |
frontend | healthy | src/app/(auth)/layout.tsx |
ResetPasswordPage |
frontend | healthy | src/app/(auth)/reset-password/page.tsx |
LoginPage |
frontend | healthy | src/app/(auth)/login/page.tsx |
ForgotPasswordPage |
frontend | healthy | src/app/(auth)/forgot-password/page.tsx |
ArtistOnboardingPage |
frontend | healthy | src/app/(auth)/onboarding/artist/page.tsx |
GalleryOnboardingPage |
frontend | healthy | src/app/(auth)/onboarding/gallery/page.tsx |
RegisterPage |
frontend | healthy | src/app/(auth)/register/page.tsx |
CheckoutPage |
frontend | healthy | src/app/checkout/[listingId]/page.tsx |
HomePage |
frontend | healthy | src/app/(public)/page.tsx |
PublicLayout |
frontend | healthy | src/app/(public)/layout.tsx |
AboutPage |
frontend | healthy | src/app/(public)/about/page.tsx |
TermsPage |
frontend | healthy | src/app/(public)/terms/page.tsx |
PrivacyPage |
frontend | healthy | src/app/(public)/privacy/page.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
/notifications |
frontend | healthy | src/app/notifications/page.tsx |
/commission-request |
frontend | healthy | src/app/commission-request/page.tsx |
/commissions |
frontend | healthy | src/app/commissions/page.tsx |
/commissions/[id] |
frontend | healthy | src/app/commissions/[id]/page.tsx |
/dashboard |
frontend | healthy | src/app/dashboard/page.tsx |
/admin |
frontend | healthy | src/app/admin/page.tsx |
/admin/galleries |
frontend | healthy | src/app/admin/galleries/page.tsx |
/admin/users |
frontend | healthy | src/app/admin/users/page.tsx |
/admin/orders |
frontend | healthy | src/app/admin/orders/page.tsx |
/admin/listings |
frontend | healthy | src/app/admin/listings/page.tsx |
/admin/disputes |
frontend | healthy | src/app/admin/disputes/page.tsx |
/(artist)/payouts |
frontend | healthy | src/app/(artist)/payouts/page.tsx |
/(artist)/analytics |
frontend | healthy | src/app/(artist)/analytics/page.tsx |
/(artist)/listings |
frontend | healthy | src/app/(artist)/listings/page.tsx |
/(artist)/listings/new |
frontend | healthy | src/app/(artist)/listings/new/page.tsx |
/(artist)/listings/[id]/edit |
frontend | healthy | src/app/(artist)/listings/[id]/edit/page.tsx |
/(artist)/series |
frontend | healthy | src/app/(artist)/series/page.tsx |
/(artist)/sales |
frontend | healthy | src/app/(artist)/sales/page.tsx |
/messages |
frontend | healthy | src/app/messages/page.tsx |
/messages/[conversationId] |
frontend | healthy | src/app/messages/[conversationId]/page.tsx |
/(user)/orders |
frontend | healthy | src/app/(user)/orders/page.tsx |
/(user)/saved |
frontend | healthy | src/app/(user)/saved/page.tsx |
/(user)/account |
frontend | healthy | src/app/(user)/account/page.tsx |
/(user)/following |
frontend | healthy | src/app/(user)/following/page.tsx |
/profile/edit |
frontend | healthy | src/app/profile/edit/page.tsx |
/(auth)/reset-password |
frontend | healthy | src/app/(auth)/reset-password/page.tsx |
/(auth)/login |
frontend | healthy | src/app/(auth)/login/page.tsx |
/(auth)/forgot-password |
frontend | healthy | src/app/(auth)/forgot-password/page.tsx |
/(auth)/onboarding/artist |
frontend | healthy | src/app/(auth)/onboarding/artist/page.tsx |
/(auth)/onboarding/gallery |
frontend | healthy | src/app/(auth)/onboarding/gallery/page.tsx |
/(auth)/register |
frontend | healthy | src/app/(auth)/register/page.tsx |
/checkout/[listingId] |
frontend | healthy | src/app/checkout/[listingId]/page.tsx |
/(public) |
frontend | healthy | src/app/(public)/page.tsx |
/(public)/about |
frontend | healthy | src/app/(public)/about/page.tsx |
/(public)/listing/[id] |
frontend | healthy | src/app/(public)/listing/[id]/page.tsx |
/(public)/partners |
frontend | healthy | src/app/(public)/partners/page.tsx |
/(public)/artist/[slug] |
frontend | healthy | src/app/(public)/artist/[slug]/page.tsx |
/(public)/gallery/[slug] |
frontend | healthy | src/app/(public)/gallery/[slug]/page.tsx |
/(public)/terms |
frontend | healthy | src/app/(public)/terms/page.tsx |
/(public)/privacy |
frontend | healthy | src/app/(public)/privacy/page.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
artist_education |
data | healthy | supabase/migrations/00002_missing_tables_and_policies.sql |
artist_personal_photos |
data | healthy | supabase/migrations/00002_missing_tables_and_policies.sql |
artist_videos |
data | healthy | supabase/migrations/00002_missing_tables_and_policies.sql |
listing_series |
data | healthy | supabase/migrations/00002_missing_tables_and_policies.sql |
notifications |
data | healthy | supabase/migrations/00002_missing_tables_and_policies.sql |
reports |
data | healthy | supabase/migrations/00002_missing_tables_and_policies.sql |
analytics_events |
data | healthy | supabase/migrations/00002_missing_tables_and_policies.sql |
gallery_artists |
data | healthy | supabase/migrations/00003_gallery_artists.sql |
profiles |
data | healthy | supabase/migrations/00001_initial_schema.sql |
artist_profiles |
data | healthy | supabase/migrations/00001_initial_schema.sql |
gallery_profiles |
data | healthy | supabase/migrations/00001_initial_schema.sql |
listings |
data | healthy | supabase/migrations/00001_initial_schema.sql |
listing_images |
data | healthy | supabase/migrations/00001_initial_schema.sql |
tags |
data | healthy | supabase/migrations/00001_initial_schema.sql |
listing_tags |
data | healthy | supabase/migrations/00001_initial_schema.sql |
saved_listings |
data | healthy | supabase/migrations/00001_initial_schema.sql |
follows |
data | healthy | supabase/migrations/00001_initial_schema.sql |
conversations |
data | healthy | supabase/migrations/00001_initial_schema.sql |
messages |
data | healthy | supabase/migrations/00001_initial_schema.sql |
message_attachments |
data | healthy | supabase/migrations/00001_initial_schema.sql |
commissions |
data | healthy | supabase/migrations/00001_initial_schema.sql |
orders |
data | healthy | supabase/migrations/00001_initial_schema.sql |
reviews |
data | healthy | supabase/migrations/00001_initial_schema.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
00008_partner_hardening.sql |
data | healthy | supabase/migrations/00008_partner_hardening.sql |
00010_one_live_order_per_listing.sql |
data | healthy | supabase/migrations/00010_one_live_order_per_listing.sql |
00002_missing_tables_and_policies.sql |
data | healthy | supabase/migrations/00002_missing_tables_and_policies.sql |
00003_gallery_artists.sql |
data | healthy | supabase/migrations/00003_gallery_artists.sql |
00007_partner_system.sql |
data | healthy | supabase/migrations/00007_partner_system.sql |
00011_partner_type_reverify.sql |
data | healthy | supabase/migrations/00011_partner_type_reverify.sql |
00009_rls_column_guards.sql |
data | healthy | supabase/migrations/00009_rls_column_guards.sql |
00004_revenue_model_v3.sql |
data | healthy | supabase/migrations/00004_revenue_model_v3.sql |
00006_review_fixes.sql |
data | healthy | supabase/migrations/00006_review_fixes.sql |
00001_initial_schema.sql |
data | healthy | supabase/migrations/00001_initial_schema.sql |
00005_artist_profile_v2.sql |
data | healthy | supabase/migrations/00005_artist_profile_v2.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
SENTRY_AUTH_TOKEN |
cicd | healthy | — |
NEXT_PUBLIC_SUPABASE_ANON_KEY |
cicd | healthy | — |
NEXT_PUBLIC_SENTRY_DSN |
cicd | healthy | — |
NEXT_PUBLIC_SUPABASE_URL |
cicd | healthy | — |
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY |
cicd | healthy | — |
SENTRY_ORG |
cicd | healthy | — |
SENTRY_PROJECT |
cicd | healthy | — |
NEXT_PUBLIC_APP_URL |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
lint-and-typecheck |
cicd | healthy | .github/workflows/ci.yml |
build |
cicd | healthy | .github/workflows/ci.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-zgg2x0jt |
software | healthy | /tmp/repobility-clone-zgg2x0jt |
| Label | Layer | Status | Path |
|---|---|---|---|
3.3.8.3 |
network | healthy | src/components/gallery/PartnerBadge.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
This page is publicly accessible at:
https://repobility.com/scan/77a26180-209d-4633-ac3e-186c6a40e838/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/77a26180-209d-4633-ac3e-186c6a40e838/
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.