https://github.com/Singuralitylabs/portal-site
· scanned 2026-06-16 00:13 UTC (2 months, 2 weeks ago)
37 raw signals (0 security + 37 graph)
Last scanned 2 months, 2 weeks ago · v1 · 20 actionable findings from 1 signal source. 17 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 612 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 |
|---|---|---|---|
shouldSkipMiddleware |
software | healthy | middleware.ts:shouldSkipMiddleware |
middleware |
software | healthy | middleware.ts:middleware |
mockGoogleAuth |
software | healthy | tests/api/calendar.test.ts:mockGoogleAuth |
createRequest |
software | healthy | tests/api/calendar.test.ts:createRequest |
importCalendarServerModule |
software | healthy | tests/api/calendar.test.ts:importCalendarServerModule |
runWithCalendarRouteModule |
software | healthy | tests/api/calendar.test.ts:runWithCalendarRouteModule |
createPostRequest |
software | healthy | tests/api/profile-image.test.ts:createPostRequest |
createFile |
software | healthy | tests/api/profile-image.test.ts:createFile |
createRequest |
software | healthy | tests/api/notifications/slack-notification.test.ts:createRe… |
createQueryBuilder |
software | healthy | tests/services/auth/server-auth.test.ts:createQueryBuilder |
createUpdateBuilder |
software | healthy | tests/services/api/supabase-client.test.ts:createUpdateBuil… |
createInsertBuilder |
software | healthy | tests/services/api/supabase-client.test.ts:createInsertBuil… |
createInsertSelectBuilder |
software | healthy | tests/services/api/supabase-client.test.ts:createInsertSele… |
createSelectSingleBuilder |
software | healthy | tests/services/api/supabase-client.test.ts:createSelectSing… |
createMaybeSingleBuilder |
software | healthy | tests/services/api/supabase-client.test.ts:createMaybeSingl… |
createAwaitableUpdateBuilder |
software | healthy | tests/services/api/supabase-client.test.ts:createAwaitableU… |
createOrderLimitBuilder |
software | healthy | tests/services/api/supabase-client.test.ts:createOrderLimit… |
createGteOrderBuilder |
software | healthy | tests/services/api/supabase-client.test.ts:createGteOrderBu… |
createOrderBuilder |
software | healthy | tests/services/api/supabase-client.test.ts:createOrderBuild… |
createOrderBuilder |
software | healthy | tests/services/api/supabase-server.test.ts:createOrderBuild… |
createMaybeSingleBuilder |
software | healthy | tests/services/api/supabase-server.test.ts:createMaybeSingl… |
createEqTerminatingBuilder |
software | healthy | tests/services/api/supabase-server.test.ts:createEqTerminat… |
createUpdateSelectSingleBuilder |
software | healthy | tests/services/api/supabase-server.test.ts:createUpdateSele… |
loadDotEnv |
software | healthy | scripts/db-types.cjs:loadDotEnv |
run |
software | healthy | scripts/db-types.cjs:run |
walk |
software | healthy | scripts/lint-logs.cjs:walk |
isAllowed |
software | healthy | scripts/lint-logs.cjs:isAllowed |
main |
software | healthy | scripts/lint-logs.cjs:main |
RootLayout |
software | healthy | app/layout.tsx:RootLayout |
POST |
software | healthy | app/api/notifications/slack/route.ts:POST |
isActiveUser |
software | healthy | app/api/profile/image/route.ts:isActiveUser |
POST |
software | healthy | app/api/profile/image/route.ts:POST |
DELETE |
software | healthy | app/api/profile/image/route.ts:DELETE |
getCalendarConfigs |
software | healthy | app/api/calendar/calendar-server.ts:getCalendarConfigs |
fetchCalendarEvents |
software | healthy | app/api/calendar/calendar-server.ts:fetchCalendarEvents |
events |
software | healthy | app/api/calendar/calendar-server.ts:events |
getCalendarConfigs |
software | healthy | app/api/calendar/events/route.ts:getCalendarConfigs |
GET |
software | healthy | app/api/calendar/events/route.ts:GET |
events |
software | healthy | app/api/calendar/events/route.ts:events |
isValidUrl |
software | healthy | app/utils/url-validation.ts:isValidUrl |
validateUrls |
software | healthy | app/utils/url-validation.ts:validateUrls |
PageTitle |
software | healthy | app/components/PageTitle.tsx:PageTitle |
CategoryGridSkeleton |
software | healthy | app/components/skeletons/CategoryGridSkeleton.tsx:CategoryG… |
SupabaseAuthProvider |
software | healthy | app/providers/supabase-auth-provider.tsx:SupabaseAuthProvid… |
syncUserToDatabase |
software | healthy | app/providers/supabase-auth-provider.tsx:syncUserToDatabase |
useSupabaseAuth |
software | healthy | app/providers/supabase-auth-provider.tsx:useSupabaseAuth |
ProfileImageProvider |
software | healthy | app/providers/profile-image-provider.tsx:ProfileImageProvid… |
useProfileImage |
software | healthy | app/providers/profile-image-provider.tsx:useProfileImage |
AuthLayout |
software | healthy | app/(authenticated)/auth-layout.tsx:AuthLayout |
checkUserStatus |
software | healthy | app/(authenticated)/auth-layout.tsx:checkUserStatus |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
jest.config.js |
software | healthy | jest.config.js |
README.md |
software | healthy | README.md |
tailwind.config.ts |
software | healthy | tailwind.config.ts |
CLAUDE.md |
software | healthy | CLAUDE.md |
postcss.config.cjs |
software | healthy | postcss.config.cjs |
package.json |
software | healthy | package.json |
package-lock.json |
software | healthy | package-lock.json |
middleware.ts |
software | healthy | middleware.ts |
.env.example |
software | healthy | .env.example |
.eslintrc.json |
software | healthy | .eslintrc.json |
tsconfig.json |
software | healthy | tsconfig.json |
next.config.ts |
software | healthy | next.config.ts |
calendar.test.ts |
software | healthy | tests/api/calendar.test.ts |
profile-image.test.ts |
software | healthy | tests/api/profile-image.test.ts |
slack-notification.test.ts |
software | healthy | tests/api/notifications/slack-notification.test.ts |
permissions.test.ts |
software | healthy | tests/services/auth/permissions.test.ts |
server-auth.test.ts |
software | healthy | tests/services/auth/server-auth.test.ts |
supabase-client.test.ts |
software | healthy | tests/services/api/supabase-client.test.ts |
supabase-server.test.ts |
software | healthy | tests/services/api/supabase-server.test.ts |
display-order.test.ts |
software | healthy | tests/services/api/utils/display-order.test.ts |
setup.md |
software | healthy | docs/setup.md |
database.md |
software | healthy | docs/database.md |
api-specification.md |
software | healthy | docs/api-specification.md |
claude-code-guide.md |
software | healthy | docs/claude-code-guide.md |
ci-cd-design.md |
software | healthy | docs/ci-cd-design.md |
testing.md |
software | healthy | docs/testing.md |
specification.md |
software | healthy | docs/specification.md |
db-types.cjs |
software | healthy | scripts/db-types.cjs |
lint-logs.cjs |
software | healthy | scripts/lint-logs.cjs |
globals.css |
software | healthy | app/globals.css |
layout.tsx |
software | healthy | app/layout.tsx |
index.ts |
software | healthy | app/types/index.ts |
database.types.ts |
software | healthy | app/types/lib/database.types.ts |
route.ts |
software | healthy | app/api/notifications/slack/route.ts |
route.ts |
software | healthy | app/api/profile/image/route.ts |
calendar-server.ts |
software | healthy | app/api/calendar/calendar-server.ts |
route.ts |
software | healthy | app/api/calendar/events/route.ts |
content.ts |
software | healthy | app/constants/content.ts |
links.ts |
software | healthy | app/constants/links.ts |
user.ts |
software | healthy | app/constants/user.ts |
calendar.ts |
software | healthy | app/constants/calendar.ts |
url-validation.ts |
software | healthy | app/utils/url-validation.ts |
PageTitle.tsx |
software | healthy | app/components/PageTitle.tsx |
MarkdownText.tsx |
software | healthy | app/components/MarkdownText.tsx |
CategoryGridSkeleton.tsx |
software | healthy | app/components/skeletons/CategoryGridSkeleton.tsx |
supabase-auth-provider.tsx |
software | healthy | app/providers/supabase-auth-provider.tsx |
profile-image-provider.tsx |
software | healthy | app/providers/profile-image-provider.tsx |
auth-layout.tsx |
software | healthy | app/(authenticated)/auth-layout.tsx |
loading.tsx |
software | healthy | app/(authenticated)/loading.tsx |
page.tsx |
software | healthy | app/(authenticated)/page.tsx |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
api |
software | healthy | tests/api |
notifications |
software | healthy | tests/api/notifications |
services |
software | healthy | tests/services |
auth |
software | healthy | tests/services/auth |
api |
software | healthy | tests/services/api |
utils |
software | healthy | tests/services/api/utils |
docs |
software | healthy | docs |
scripts |
software | healthy | scripts |
app |
software | healthy | app |
types |
software | healthy | app/types |
lib |
software | healthy | app/types/lib |
api |
software | healthy | app/api |
notifications |
software | healthy | app/api/notifications |
slack |
software | healthy | app/api/notifications/slack |
profile |
software | healthy | app/api/profile |
image |
software | healthy | app/api/profile/image |
calendar |
software | healthy | app/api/calendar |
events |
software | healthy | app/api/calendar/events |
constants |
software | healthy | app/constants |
utils |
software | healthy | app/utils |
components |
software | healthy | app/components |
skeletons |
software | healthy | app/components/skeletons |
providers |
software | healthy | app/providers |
(authenticated) |
software | healthy | app/(authenticated) |
dashboard |
software | healthy | app/(authenticated)/dashboard |
components |
software | healthy | app/(authenticated)/dashboard/components |
components |
software | healthy | app/(authenticated)/components |
categories |
software | healthy | app/(authenticated)/categories |
components |
software | healthy | app/(authenticated)/categories/components |
videos |
software | healthy | app/(authenticated)/videos |
components |
software | healthy | app/(authenticated)/videos/components |
[id] |
software | healthy | app/(authenticated)/videos/[id] |
components |
software | healthy | app/(authenticated)/videos/[id]/components |
links |
software | healthy | app/(authenticated)/links |
components |
software | healthy | app/(authenticated)/links/components |
profile |
software | healthy | app/(authenticated)/profile |
components |
software | healthy | app/(authenticated)/profile/components |
members |
software | healthy | app/(authenticated)/members |
components |
software | healthy | app/(authenticated)/members/components |
applications |
software | healthy | app/(authenticated)/applications |
components |
software | healthy | app/(authenticated)/applications/components |
documents |
software | healthy | app/(authenticated)/documents |
components |
software | healthy | app/(authenticated)/documents/components |
calendar |
software | healthy | app/(authenticated)/calendar |
components |
software | healthy | app/(authenticated)/calendar/components |
hooks |
software | healthy | app/hooks |
services |
software | healthy | app/services |
auth |
software | healthy | app/services/auth |
api |
software | healthy | app/services/api |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
categories_policies.sql |
data | healthy | supabase/migrations/04_policies/categories_policies.sql |
positions_policies.sql |
data | healthy | supabase/migrations/04_policies/positions_policies.sql |
videos_policies.sql |
data | healthy | supabase/migrations/04_policies/videos_policies.sql |
position_tags_policies.sql |
data | healthy | supabase/migrations/04_policies/position_tags_policies.sql |
documents_policies.sql |
data | healthy | supabase/migrations/04_policies/documents_policies.sql |
users_policies.sql |
data | healthy | supabase/migrations/04_policies/users_policies.sql |
applications_policies.sql |
data | healthy | supabase/migrations/04_policies/applications_policies.sql |
03_add_avatar_url_to_users_table.sql |
data | healthy | supabase/migrations/01_tables/users/03_add_avatar_url_to_us… |
05_add_url_check_constraint_to_users.sql |
data | healthy | supabase/migrations/01_tables/users/05_add_url_check_constr… |
01_add_bio_to_users_table.sql |
data | healthy | supabase/migrations/01_tables/users/01_add_bio_to_users_tab… |
06_add_profile_image_path_to_users.sql |
data | healthy | supabase/migrations/01_tables/users/06_add_profile_image_pa… |
02_alter_clerk_id_to_auth_id_for_users_table.sql |
data | healthy | supabase/migrations/01_tables/users/02_alter_clerk_id_to_au… |
00_create_users_table.sql |
data | healthy | supabase/migrations/01_tables/users/00_create_users_table.s… |
04_add_sns_urls_to_users_table.sql |
data | healthy | supabase/migrations/01_tables/users/04_add_sns_urls_to_user… |
00_create_positions_table.sql |
data | healthy | supabase/migrations/01_tables/positions/00_create_positions… |
01_set_display_order_not_null.sql |
data | healthy | supabase/migrations/01_tables/positions/01_set_display_orde… |
00_create_position_tags_table.sql |
data | healthy | supabase/migrations/01_tables/position_tags/00_create_posit… |
03_set_display_order_not_null.sql |
data | healthy | supabase/migrations/01_tables/categories/03_set_display_ord… |
02_add_applications_to_category_type.sql |
data | healthy | supabase/migrations/01_tables/categories/02_add_application… |
00_create_categories_table.sql |
data | healthy | supabase/migrations/01_tables/categories/00_create_categori… |
01_add_display_order_to_categories.sql |
data | healthy | supabase/migrations/01_tables/categories/01_add_display_ord… |
04_set_display_order_not_null.sql |
data | healthy | supabase/migrations/01_tables/videos/04_set_display_order_n… |
02_add_foreign_key_to_videos.sql |
data | healthy | supabase/migrations/01_tables/videos/02_add_foreign_key_to_… |
01_alter_category_ctrl_for_videos_table.sql |
data | healthy | supabase/migrations/01_tables/videos/01_alter_category_ctrl… |
05_add_assignee_id_to_videos.sql |
data | healthy | supabase/migrations/01_tables/videos/05_add_assignee_id_to_… |
03_add_display_order_to_videos.sql |
data | healthy | supabase/migrations/01_tables/videos/03_add_display_order_t… |
06_add_url_check_constraint_to_videos.sql |
data | healthy | supabase/migrations/01_tables/videos/06_add_url_check_const… |
00_create_videos_table.sql |
data | healthy | supabase/migrations/01_tables/videos/00_create_videos_table… |
02_add_url_check_constraint_to_applications.sql |
data | healthy | supabase/migrations/01_tables/applications/02_add_url_check… |
01_set_display_order_not_null.sql |
data | healthy | supabase/migrations/01_tables/applications/01_set_display_o… |
00_create_applications_table.sql |
data | healthy | supabase/migrations/01_tables/applications/00_create_applic… |
04_set_display_order_not_null.sql |
data | healthy | supabase/migrations/01_tables/documents/04_set_display_orde… |
02_add_foreign_key_to_documents.sql |
data | healthy | supabase/migrations/01_tables/documents/02_add_foreign_key_… |
06_add_url_check_constraint_to_documents.sql |
data | healthy | supabase/migrations/01_tables/documents/06_add_url_check_co… |
00_create_documents_table.sql |
data | healthy | supabase/migrations/01_tables/documents/00_create_documents… |
03_add_display_order_to_documents.sql |
data | healthy | supabase/migrations/01_tables/documents/03_add_display_orde… |
05_add_assignee_id_to_documents.sql |
data | healthy | supabase/migrations/01_tables/documents/05_add_assignee_id_… |
01_alter_category_ctrl_for_documents_table.sql |
data | healthy | supabase/migrations/01_tables/documents/01_alter_category_c… |
01_fix_profile_images_policies.sql |
data | healthy | supabase/migrations/05_storage/01_fix_profile_images_polici… |
00_profile_images_bucket.sql |
data | healthy | supabase/migrations/05_storage/00_profile_images_bucket.sql |
clerk_functions.sql |
data | healthy | supabase/migrations/03_functions/clerk_functions.sql |
rls_helper_functions.sql |
data | healthy | supabase/migrations/03_functions/rls_helper_functions.sql |
documents_triggers.sql |
data | healthy | supabase/migrations/02_triggers/documents_triggers.sql |
applications_triggers.sql |
data | healthy | supabase/migrations/02_triggers/applications_triggers.sql |
common_triggers.sql |
data | healthy | supabase/migrations/02_triggers/common_triggers.sql |
users_triggers.sql |
data | healthy | supabase/migrations/02_triggers/users_triggers.sql |
position_tags_triggers.sql |
data | healthy | supabase/migrations/02_triggers/position_tags_triggers.sql |
videos_triggers.sql |
data | healthy | supabase/migrations/02_triggers/videos_triggers.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
RootLayout |
frontend | healthy | app/layout.tsx |
HomeLoading |
frontend | healthy | app/(authenticated)/loading.tsx |
DashboardPageLoading |
frontend | healthy | app/(authenticated)/dashboard/loading.tsx |
MemberActionModal |
frontend | healthy | app/(authenticated)/dashboard/components/MemberActionModal.… |
DashboardPageTemplate |
frontend | healthy | app/(authenticated)/dashboard/components/Template.tsx |
ContentMgrMenu |
frontend | healthy | app/(authenticated)/components/ContentMgrMenu.tsx |
CategoryLink |
frontend | healthy | app/(authenticated)/components/CategoryLink.tsx |
ContentMgrNewButton |
frontend | healthy | app/(authenticated)/components/ContentMgrNewButton.tsx |
TodayEventsWidget |
frontend | healthy | app/(authenticated)/components/TodayEventsWidget.tsx |
CategoriesLoading |
frontend | healthy | app/(authenticated)/categories/loading.tsx |
VideoPageLoading |
frontend | healthy | app/(authenticated)/videos/loading.tsx |
Youtube |
frontend | healthy | app/(authenticated)/videos/[id]/components/Youtube.tsx |
LinksPage |
frontend | healthy | app/(authenticated)/links/page.tsx |
ProfilePageLoading |
frontend | healthy | app/(authenticated)/profile/loading.tsx |
MembersPageLoading |
frontend | healthy | app/(authenticated)/members/loading.tsx |
ApplicationPageLoading |
frontend | healthy | app/(authenticated)/applications/loading.tsx |
DocumentPageLoading |
frontend | healthy | app/(authenticated)/documents/loading.tsx |
CalendarPageLoading |
frontend | healthy | app/(authenticated)/calendar/loading.tsx |
LoginPage |
frontend | healthy | app/(auth)/login/page.tsx |
GoogleLoginButton |
frontend | healthy | app/(auth)/components/GoogleLoginButton.tsx |
RejectedPage |
frontend | healthy | app/(auth)/rejected/page.tsx |
PendingPage |
frontend | healthy | app/(auth)/pending/page.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
validate |
cicd | healthy | .github/workflows/create-release.yml |
release |
cicd | healthy | .github/workflows/create-release.yml |
db-types |
cicd | healthy | .github/workflows/db-types.yml |
test |
cicd | healthy | .github/workflows/test.yml |
typecheck |
cicd | healthy | .github/workflows/typecheck.yml |
sync |
cicd | healthy | .github/workflows/fork-sync.yml |
format-check |
cicd | healthy | .github/workflows/format-check.yml |
check-console-log |
cicd | healthy | .github/workflows/check_console_log.yml |
validate-input |
cicd | healthy | .github/workflows/release-pr.yml |
quality-checks |
cicd | healthy | .github/workflows/release-pr.yml |
create-pr |
cicd | healthy | .github/workflows/release-pr.yml |
build |
cicd | healthy | .github/workflows/build.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::create-release |
cicd | healthy | .github/workflows/create-release.yml |
gha::db-types |
cicd | healthy | .github/workflows/db-types.yml |
gha::test |
cicd | healthy | .github/workflows/test.yml |
gha::typecheck |
cicd | healthy | .github/workflows/typecheck.yml |
gha::fork-sync |
cicd | healthy | .github/workflows/fork-sync.yml |
gha::format-check |
cicd | healthy | .github/workflows/format-check.yml |
gha::check_console_log |
cicd | healthy | .github/workflows/check_console_log.yml |
gha::release-pr |
cicd | healthy | .github/workflows/release-pr.yml |
gha::build |
cicd | healthy | .github/workflows/build.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
users |
data | healthy | supabase/migrations/01_tables/users/00_create_users_table.s… |
positions |
data | healthy | supabase/migrations/01_tables/positions/00_create_positions… |
position_tags |
data | healthy | supabase/migrations/01_tables/position_tags/00_create_posit… |
categories |
data | healthy | supabase/migrations/01_tables/categories/00_create_categori… |
videos |
data | healthy | supabase/migrations/01_tables/videos/00_create_videos_table… |
applications |
data | healthy | supabase/migrations/01_tables/applications/00_create_applic… |
documents |
data | healthy | supabase/migrations/01_tables/documents/00_create_documents… |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::gcp |
hardware | healthy | package-lock.json |
vps::azure |
hardware | healthy | supabase/config.toml |
vps::aws |
hardware | healthy | supabase/config.toml |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::app/providers/profile-image-provider.tsx |
security | healthy | app/providers/profile-image-provider.tsx |
auth::supabase/config.toml |
security | healthy | supabase/config.toml |
auth::CLAUDE.md |
security | healthy | CLAUDE.md |
| Label | Layer | Status | Path |
|---|---|---|---|
GITHUB_TOKEN |
cicd | healthy | — |
SUPABASE_ACCESS_TOKEN |
cicd | healthy | — |
FORK_SYNC_TOKEN |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
postgresql |
data | healthy | README.md |
postgres |
data | healthy | supabase/config.toml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-h1hm3uy0 |
software | healthy | /tmp/repobility-clone-h1hm3uy0 |
This page is publicly accessible at:
https://repobility.com/scan/f037c64f-e708-416a-890e-4b4407368723/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/f037c64f-e708-416a-890e-4b4407368723/
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.