Scan timing: clone 1.71s · analysis 1.11s · 1.2 MB · GitHub API rate-limit (preflight)
https://github.com/leehockin-ai/strategy-sim-coach.git
· scanned 2026-05-25 16:10 UTC (1 week, 3 days ago)
· 10 languages
140 findings (24 legacy + 116 scanner) 8th percentile · Typescript · small (2-20K LoC) Scanner says 66 (lower by 20)
Last scanned 1 week, 3 days ago · v2 · 82 findings from 2 sources. Findings combine the legacy security pipeline AND the multi-layer engine (atlas, wiring, flows, ranked) AND verified AI agent contributions.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
100.0 | 0.15 | 15.00 |
security_score |
66.7 | 0.25 | 16.68 |
testing_score |
0.0 | 0.20 | 0.00 |
documentation_score |
0.0 | 0.15 | 0.00 |
practices_score |
42.0 | 0.15 | 6.30 |
code_quality |
80.0 | 0.10 | 8.00 |
| Overall | 1.00 | 46.0 |
All 297 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 |
|---|---|---|---|
getRouter |
software | healthy | src/router.tsx:getRouter |
getServerEntry |
software | healthy | src/server.ts:getServerEntry |
brandedErrorResponse |
software | healthy | src/server.ts:brandedErrorResponse |
isCatastrophicSsrErrorBody |
software | healthy | src/server.ts:isCatastrophicSsrErrorBody |
normalizeCatastrophicSsrResponse |
software | healthy | src/server.ts:normalizeCatastrophicSsrResponse |
createSupabaseClient |
software | healthy | src/integrations/supabase/client.ts:createSupabaseClient |
createSupabaseAdminClient |
software | healthy | src/integrations/supabase/client.server.ts:createSupabaseAd… |
getRecognitionCtor |
software | healthy | src/components/VoiceInput.tsx:getRecognitionCtor |
VoiceInput |
software | healthy | src/components/VoiceInput.tsx:VoiceInput |
toggle |
software | healthy | src/components/VoiceInput.tsx:toggle |
appendTranscript |
software | healthy | src/components/VoiceInput.tsx:appendTranscript |
Shell |
software | healthy | src/components/Shell.tsx:Shell |
useSessionUser |
software | healthy | src/components/Shell.tsx:useSessionUser |
Header |
software | healthy | src/components/Shell.tsx:Header |
signOut |
software | healthy | src/components/Shell.tsx:signOut |
NavLink |
software | healthy | src/components/Shell.tsx:NavLink |
Footer |
software | healthy | src/components/Shell.tsx:Footer |
Logo |
software | healthy | src/components/Shell.tsx:Logo |
SheetHeader |
software | healthy | src/components/ui/sheet.tsx:SheetHeader |
SheetFooter |
software | healthy | src/components/ui/sheet.tsx:SheetFooter |
Calendar |
software | healthy | src/components/ui/calendar.tsx:Calendar |
CalendarDayButton |
software | healthy | src/components/ui/calendar.tsx:CalendarDayButton |
useSidebar |
software | healthy | src/components/ui/sidebar.tsx:useSidebar |
handleKeyDown |
software | healthy | src/components/ui/sidebar.tsx:handleKeyDown |
button |
software | healthy | src/components/ui/sidebar.tsx:button |
Badge |
software | healthy | src/components/ui/badge.tsx:Badge |
AlertDialogHeader |
software | healthy | src/components/ui/alert-dialog.tsx:AlertDialogHeader |
AlertDialogFooter |
software | healthy | src/components/ui/alert-dialog.tsx:AlertDialogFooter |
DialogHeader |
software | healthy | src/components/ui/dialog.tsx:DialogHeader |
DialogFooter |
software | healthy | src/components/ui/dialog.tsx:DialogFooter |
DropdownMenuShortcut |
software | healthy | src/components/ui/dropdown-menu.tsx:DropdownMenuShortcut |
ContextMenuShortcut |
software | healthy | src/components/ui/context-menu.tsx:ContextMenuShortcut |
useCarousel |
software | healthy | src/components/ui/carousel.tsx:useCarousel |
useChart |
software | healthy | src/components/ui/chart.tsx:useChart |
ChartStyle |
software | healthy | src/components/ui/chart.tsx:ChartStyle |
getPayloadConfigFromPayload |
software | healthy | src/components/ui/chart.tsx:getPayloadConfigFromPayload |
ResizablePanelGroup |
software | healthy | src/components/ui/resizable.tsx:ResizablePanelGroup |
ResizableHandle |
software | healthy | src/components/ui/resizable.tsx:ResizableHandle |
useFormField |
software | healthy | src/components/ui/form.tsx:useFormField |
Toaster |
software | healthy | src/components/ui/sonner.tsx:Toaster |
Pagination |
software | healthy | src/components/ui/pagination.tsx:Pagination |
PaginationLink |
software | healthy | src/components/ui/pagination.tsx:PaginationLink |
PaginationPrevious |
software | healthy | src/components/ui/pagination.tsx:PaginationPrevious |
PaginationNext |
software | healthy | src/components/ui/pagination.tsx:PaginationNext |
PaginationEllipsis |
software | healthy | src/components/ui/pagination.tsx:PaginationEllipsis |
MenubarMenu |
software | healthy | src/components/ui/menubar.tsx:MenubarMenu |
MenubarGroup |
software | healthy | src/components/ui/menubar.tsx:MenubarGroup |
MenubarPortal |
software | healthy | src/components/ui/menubar.tsx:MenubarPortal |
MenubarRadioGroup |
software | healthy | src/components/ui/menubar.tsx:MenubarRadioGroup |
MenubarSub |
software | healthy | src/components/ui/menubar.tsx:MenubarSub |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
vite.config.ts |
software | warning | vite.config.ts |
bunfig.toml |
software | healthy | bunfig.toml |
package.json |
software | healthy | package.json |
package-lock.json |
software | healthy | package-lock.json |
components.json |
software | healthy | components.json |
eslint.config.js |
software | warning | eslint.config.js |
tsconfig.json |
software | healthy | tsconfig.json |
.env |
software | healthy | .env |
config.toml |
software | healthy | supabase/config.toml |
20260520174102_aa059939-b847-4b38-a35e-5b268a8062c8.sql |
software | healthy | supabase/migrations/20260520174102_aa059939-b847-4b38-a35e-… |
20260521191408_e1cc6bb7-f30b-4e09-92a7-9179a5dba17f.sql |
software | healthy | supabase/migrations/20260521191408_e1cc6bb7-f30b-4e09-92a7-… |
20260520174956_d2b22ac7-b3e3-4574-9193-9e28abef68f4.sql |
software | healthy | supabase/migrations/20260520174956_d2b22ac7-b3e3-4574-9193-… |
20260520184418_f5fcecfd-b578-405a-9baa-c1b5e473be21.sql |
software | healthy | supabase/migrations/20260520184418_f5fcecfd-b578-405a-9baa-… |
20260520151018_ab41885b-9587-483f-9f2f-d93dc9226069.sql |
software | healthy | supabase/migrations/20260520151018_ab41885b-9587-483f-9f2f-… |
20260521163617_50b7387f-8d2c-4d31-ba00-162a7b7cebaa.sql |
software | healthy | supabase/migrations/20260521163617_50b7387f-8d2c-4d31-ba00-… |
20260521141919_e1518cfb-08b1-46f2-8607-4c330e3a5711.sql |
software | healthy | supabase/migrations/20260521141919_e1518cfb-08b1-46f2-8607-… |
20260521194750_7b2dfd50-08ee-4221-b8c9-c9fa20630f0e.sql |
software | healthy | supabase/migrations/20260521194750_7b2dfd50-08ee-4221-b8c9-… |
20260521201509_c19ec0b3-a19a-4801-be2d-800c3371ec36.sql |
software | healthy | supabase/migrations/20260521201509_c19ec0b3-a19a-4801-be2d-… |
20260521003829_7d16ec5d-320c-4db9-810b-fe7594777180.sql |
software | healthy | supabase/migrations/20260521003829_7d16ec5d-320c-4db9-810b-… |
20260521201657_0029ff5c-e4e6-4909-8220-6c9bf453719d.sql |
software | healthy | supabase/migrations/20260521201657_0029ff5c-e4e6-4909-8220-… |
20260520195924_aee9d228-942a-4cc7-acd2-eed1c963f140.sql |
software | healthy | supabase/migrations/20260520195924_aee9d228-942a-4cc7-acd2-… |
20260521201529_6f96a676-3653-4887-a654-f922b57dc4f8.sql |
software | healthy | supabase/migrations/20260521201529_6f96a676-3653-4887-a654-… |
styles.css |
software | healthy | src/styles.css |
router.tsx |
software | healthy | src/router.tsx |
routeTree.gen.ts |
software | warning | src/routeTree.gen.ts |
start.ts |
software | warning | src/start.ts |
server.ts |
software | healthy | src/server.ts |
index.ts |
software | healthy | src/integrations/lovable/index.ts |
auth-middleware.ts |
software | warning | src/integrations/supabase/auth-middleware.ts |
auth-attacher.ts |
software | warning | src/integrations/supabase/auth-attacher.ts |
client.ts |
software | healthy | src/integrations/supabase/client.ts |
client.server.ts |
software | healthy | src/integrations/supabase/client.server.ts |
types.ts |
software | warning | src/integrations/supabase/types.ts |
VoiceInput.tsx |
software | healthy | src/components/VoiceInput.tsx |
Shell.tsx |
software | healthy | src/components/Shell.tsx |
table.tsx |
software | warning | src/components/ui/table.tsx |
sheet.tsx |
software | healthy | src/components/ui/sheet.tsx |
calendar.tsx |
software | healthy | src/components/ui/calendar.tsx |
collapsible.tsx |
software | warning | src/components/ui/collapsible.tsx |
sidebar.tsx |
software | healthy | src/components/ui/sidebar.tsx |
checkbox.tsx |
software | warning | src/components/ui/checkbox.tsx |
avatar.tsx |
software | warning | src/components/ui/avatar.tsx |
badge.tsx |
software | healthy | src/components/ui/badge.tsx |
alert-dialog.tsx |
software | healthy | src/components/ui/alert-dialog.tsx |
dialog.tsx |
software | healthy | src/components/ui/dialog.tsx |
radio-group.tsx |
software | warning | src/components/ui/radio-group.tsx |
dropdown-menu.tsx |
software | healthy | src/components/ui/dropdown-menu.tsx |
button.tsx |
software | warning | src/components/ui/button.tsx |
accordion.tsx |
software | warning | src/components/ui/accordion.tsx |
alert.tsx |
software | warning | src/components/ui/alert.tsx |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
20260520174102_aa059939-b847-4b38-a35e-5b268a8062c8.sql |
data | healthy | supabase/migrations/20260520174102_aa059939-b847-4b38-a35e-… |
20260521191408_e1cc6bb7-f30b-4e09-92a7-9179a5dba17f.sql |
data | healthy | supabase/migrations/20260521191408_e1cc6bb7-f30b-4e09-92a7-… |
20260520174956_d2b22ac7-b3e3-4574-9193-9e28abef68f4.sql |
data | healthy | supabase/migrations/20260520174956_d2b22ac7-b3e3-4574-9193-… |
20260520184418_f5fcecfd-b578-405a-9baa-c1b5e473be21.sql |
data | healthy | supabase/migrations/20260520184418_f5fcecfd-b578-405a-9baa-… |
20260520151018_ab41885b-9587-483f-9f2f-d93dc9226069.sql |
data | healthy | supabase/migrations/20260520151018_ab41885b-9587-483f-9f2f-… |
20260521163617_50b7387f-8d2c-4d31-ba00-162a7b7cebaa.sql |
data | healthy | supabase/migrations/20260521163617_50b7387f-8d2c-4d31-ba00-… |
20260521141919_e1518cfb-08b1-46f2-8607-4c330e3a5711.sql |
data | healthy | supabase/migrations/20260521141919_e1518cfb-08b1-46f2-8607-… |
20260521194750_7b2dfd50-08ee-4221-b8c9-c9fa20630f0e.sql |
data | healthy | supabase/migrations/20260521194750_7b2dfd50-08ee-4221-b8c9-… |
20260521201509_c19ec0b3-a19a-4801-be2d-800c3371ec36.sql |
data | healthy | supabase/migrations/20260521201509_c19ec0b3-a19a-4801-be2d-… |
20260521003829_7d16ec5d-320c-4db9-810b-fe7594777180.sql |
data | healthy | supabase/migrations/20260521003829_7d16ec5d-320c-4db9-810b-… |
20260521201657_0029ff5c-e4e6-4909-8220-6c9bf453719d.sql |
data | healthy | supabase/migrations/20260521201657_0029ff5c-e4e6-4909-8220-… |
20260520195924_aee9d228-942a-4cc7-acd2-eed1c963f140.sql |
data | healthy | supabase/migrations/20260520195924_aee9d228-942a-4cc7-acd2-… |
20260521201529_6f96a676-3653-4887-a654-f922b57dc4f8.sql |
data | healthy | supabase/migrations/20260521201529_6f96a676-3653-4887-a654-… |
| Label | Layer | Status | Path |
|---|---|---|---|
supabase |
software | healthy | supabase |
migrations |
software | healthy | supabase/migrations |
src |
software | healthy | src |
integrations |
software | healthy | src/integrations |
lovable |
software | healthy | src/integrations/lovable |
supabase |
software | healthy | src/integrations/supabase |
components |
software | healthy | src/components |
ui |
software | healthy | src/components/ui |
lib |
software | healthy | src/lib |
routes |
software | healthy | src/routes |
hooks |
software | healthy | src/hooks |
| Label | Layer | Status | Path |
|---|---|---|---|
/login |
frontend | healthy | src/routeTree.gen.ts |
/ |
frontend | healthy | src/routeTree.gen.ts |
/scenarios |
frontend | healthy | src/routeTree.gen.ts |
/reviewer |
frontend | healthy | src/routeTree.gen.ts |
/sessions/ |
frontend | healthy | src/routeTree.gen.ts |
/sessions/$sessionId |
frontend | healthy | src/routeTree.gen.ts |
/report |
frontend | healthy | src/routeTree.gen.ts |
/sessions |
frontend | healthy | src/routeTree.gen.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-ff3wudf4 |
software | healthy | /tmp/repobility-clone-ff3wudf4 |
| Label | Layer | Status | Path |
|---|---|---|---|
public |
data | healthy | supabase/migrations/20260520151018_ab41885b-9587-483f-9f2f-… |
| Label | Layer | Status | Path |
|---|---|---|---|
.env in repo |
security | healthy | .env |
This page is publicly accessible at:
https://repobility.com/scan/1563a42b-e4f3-4ad6-924c-42cf6d363c92/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/1563a42b-e4f3-4ad6-924c-42cf6d363c92/
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.