https://github.com/thomassmetools/fencing-estimator-rebuild
· scanned 2026-06-16 00:35 UTC (2 months, 2 weeks ago)
33 raw signals (0 security + 33 graph)
Last scanned 2 months, 2 weeks ago · v1 · 27 actionable findings from 1 signal source. 6 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 486 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 |
|---|---|---|---|
publicSiteUrl |
software | healthy | supabase/functions/submit-lead/index.ts:publicSiteUrl |
sendLeadNotification |
software | healthy | supabase/functions/submit-lead/index.ts:sendLeadNotification |
createSubmitterFingerprint |
software | healthy | supabase/functions/submit-lead/index.ts:createSubmitterFing… |
body |
software | healthy | supabase/functions/submit-lead/index.ts:body |
verifyPayload |
software | healthy | supabase/functions/submit-lead/index.ts:verifyPayload |
hasMeasurement |
software | healthy | supabase/functions/submit-lead/index.ts:hasMeasurement |
publicSiteUrl |
software | healthy | supabase/functions/billing-portal/index.ts:publicSiteUrl |
body |
software | healthy | supabase/functions/billing-portal/index.ts:body |
publicSiteUrl |
software | healthy | supabase/functions/stripe-provision/index.ts:publicSiteUrl |
slugify |
software | healthy | supabase/functions/stripe-provision/index.ts:slugify |
deriveBusinessName |
software | healthy | supabase/functions/stripe-provision/index.ts:deriveBusiness… |
templateProducts |
software | healthy | supabase/functions/stripe-provision/index.ts:templateProduc… |
randomSlugSuffix |
software | healthy | supabase/functions/stripe-provision/index.ts:randomSlugSuff… |
buildUniqueSlug |
software | healthy | supabase/functions/stripe-provision/index.ts:buildUniqueSlug |
createStarterProducts |
software | healthy | supabase/functions/stripe-provision/index.ts:createStarterP… |
ensureContractor |
software | healthy | supabase/functions/stripe-provision/index.ts:ensureContract… |
buildWelcomeEmailText |
software | healthy | supabase/functions/stripe-provision/index.ts:buildWelcomeEm… |
sendWelcomeEmail |
software | healthy | supabase/functions/stripe-provision/index.ts:sendWelcomeEma… |
upsertSubscription |
software | healthy | supabase/functions/stripe-provision/index.ts:upsertSubscrip… |
syncSubscriptionStatus |
software | healthy | supabase/functions/stripe-provision/index.ts:syncSubscripti… |
recordBillingEvent |
software | healthy | supabase/functions/stripe-provision/index.ts:recordBillingE… |
handleCheckoutCompleted |
software | healthy | supabase/functions/stripe-provision/index.ts:handleCheckout… |
template |
software | healthy | supabase/functions/stripe-provision/index.ts:template |
handleSubscriptionChange |
software | healthy | supabase/functions/stripe-provision/index.ts:handleSubscrip… |
handleInvoicePaid |
software | healthy | supabase/functions/stripe-provision/index.ts:handleInvoiceP… |
buildTrialReminderEmailText |
software | healthy | supabase/functions/stripe-provision/index.ts:buildTrialRemi… |
handleTrialWillEnd |
software | healthy | supabase/functions/stripe-provision/index.ts:handleTrialWil… |
handleInvoicePaymentFailed |
software | healthy | supabase/functions/stripe-provision/index.ts:handleInvoiceP… |
sendTestLeadEmail |
software | healthy | supabase/functions/contractor-ops/index.ts:sendTestLeadEmail |
body |
software | healthy | supabase/functions/contractor-ops/index.ts:body |
initSentry |
software | healthy | src/main.tsx:initSentry |
App |
software | healthy | src/App.tsx:App |
FitLeadBounds |
software | healthy | src/components/LeadMeasurementMap.tsx:FitLeadBounds |
numberedIcon |
software | healthy | src/components/LeadMeasurementMap.tsx:numberedIcon |
fenceLineLabelIcon |
software | healthy | src/components/LeadMeasurementMap.tsx:fenceLineLabelIcon |
getLineMidpoint |
software | healthy | src/components/LeadMeasurementMap.tsx:getLineMidpoint |
LeadMeasurementMap |
software | healthy | src/components/LeadMeasurementMap.tsx:LeadMeasurementMap |
useMultiLine |
software | healthy | src/components/LeadMeasurementMap.tsx:useMultiLine |
stripeCheckoutUrl |
software | healthy | src/components/SiteFooter.tsx:stripeCheckoutUrl |
SiteFooter |
software | healthy | src/components/SiteFooter.tsx:SiteFooter |
formatDist |
software | healthy | src/components/LeadSectionsBreakdown.tsx:formatDist |
LeadSectionsBreakdown |
software | healthy | src/components/LeadSectionsBreakdown.tsx:LeadSectionsBreakd… |
productById |
software | healthy | src/components/LeadSectionsBreakdown.tsx:productById |
selectProduct |
software | healthy | src/components/LeadSectionsBreakdown.tsx:selectProduct |
toggleCollapsed |
software | healthy | src/components/LeadSectionsBreakdown.tsx:toggleCollapsed |
setOverride |
software | healthy | src/components/LeadSectionsBreakdown.tsx:setOverride |
totals |
software | healthy | src/components/LeadSectionsBreakdown.tsx:totals |
fmt |
software | healthy | src/components/SuperuserContractorsTab.tsx:fmt |
SuperuserContractorsTab |
software | healthy | src/components/SuperuserContractorsTab.tsx:SuperuserContrac… |
load |
software | healthy | src/components/SuperuserContractorsTab.tsx:load |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
tsconfig.app.json |
software | healthy | tsconfig.app.json |
vite.config.ts |
software | healthy | vite.config.ts |
README.md |
software | healthy | README.md |
package.json |
software | healthy | package.json |
tsconfig.node.json |
software | healthy | tsconfig.node.json |
wrangler.toml |
software | healthy | wrangler.toml |
index.html |
software | healthy | index.html |
package-lock.json |
software | healthy | package-lock.json |
.env.example |
software | healthy | .env.example |
eslint.config.js |
software | healthy | eslint.config.js |
tsconfig.json |
software | healthy | tsconfig.json |
WORKFLOW.md |
software | healthy | WORKFLOW.md |
REFACTOR_PLAN.md |
software | healthy | REFACTOR_PLAN.md |
UI-UX-REVIEW.md |
software | healthy | docs/UI-UX-REVIEW.md |
generate-og-image.mjs |
software | healthy | scripts/generate-og-image.mjs |
launch.json |
software | healthy | .claude/launch.json |
schema.sql |
software | healthy | supabase/schema.sql |
config.toml |
software | healthy | supabase/config.toml |
index.ts |
software | healthy | supabase/functions/submit-lead/index.ts |
index.ts |
software | healthy | supabase/functions/billing-portal/index.ts |
index.ts |
software | healthy | supabase/functions/claim-onboarding/index.ts |
index.ts |
software | healthy | supabase/functions/stripe-provision/index.ts |
index.ts |
software | healthy | supabase/functions/contractor-ops/index.ts |
20260615000000_plan_markup_column.sql |
software | healthy | supabase/migrations/20260615000000_plan_markup_column.sql |
20260610000000_fence_lines_column.sql |
software | healthy | supabase/migrations/20260610000000_fence_lines_column.sql |
20260531000000_subscription_trial_dates.sql |
software | healthy | supabase/migrations/20260531000000_subscription_trial_dates… |
20260426070000_measurement_system.sql |
software | healthy | supabase/migrations/20260426070000_measurement_system.sql |
20260426063000_lead_crm_fields.sql |
software | healthy | supabase/migrations/20260426063000_lead_crm_fields.sql |
20260519000000_contractor_currency.sql |
software | healthy | supabase/migrations/20260519000000_contractor_currency.sql |
20260430083000_lead_ops_and_auth_hardening.sql |
software | healthy | supabase/migrations/20260430083000_lead_ops_and_auth_harden… |
20260606000000_superuser_rls.sql |
software | healthy | supabase/migrations/20260606000000_superuser_rls.sql |
20260608000003_replace_contractor_products_assembly_columns… |
software | healthy | supabase/migrations/20260608000003_replace_contractor_produ… |
20260429070000_customer_address_on_leads.sql |
software | healthy | supabase/migrations/20260429070000_customer_address_on_lead… |
20260430093000_stripe_billing_portal_and_event_log.sql |
software | healthy | supabase/migrations/20260430093000_stripe_billing_portal_an… |
20260519000001_replace_contractor_products_rpc.sql |
software | healthy | supabase/migrations/20260519000001_replace_contractor_produ… |
20260609000001_contractor_lead_rls_and_source.sql |
software | healthy | supabase/migrations/20260609000001_contractor_lead_rls_and_… |
20260523000000_contractor_logo.sql |
software | healthy | supabase/migrations/20260523000000_contractor_logo.sql |
20260609000000_contractor_quote_columns.sql |
software | healthy | supabase/migrations/20260609000000_contractor_quote_columns… |
20260608000001_replace_contractor_products_with_components.… |
software | healthy | supabase/migrations/20260608000001_replace_contractor_produ… |
20260608000000_product_components.sql |
software | healthy | supabase/migrations/20260608000000_product_components.sql |
index.css |
software | healthy | src/index.css |
main.tsx |
software | healthy | src/main.tsx |
App.tsx |
software | healthy | src/App.tsx |
types.ts |
software | healthy | src/types.ts |
LeadMeasurementMap.tsx |
software | healthy | src/components/LeadMeasurementMap.tsx |
SiteFooter.tsx |
software | healthy | src/components/SiteFooter.tsx |
LeadSectionsBreakdown.tsx |
software | healthy | src/components/LeadSectionsBreakdown.tsx |
SuperuserContractorsTab.tsx |
software | healthy | src/components/SuperuserContractorsTab.tsx |
ContractorMapMeasure.tsx |
software | healthy | src/components/ContractorMapMeasure.tsx |
TurnstileWidget.tsx |
software | healthy | src/components/TurnstileWidget.tsx |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
/AdminHomePage |
frontend | healthy | src/pages/AdminHomePage.tsx |
/LoginPage |
frontend | healthy | src/pages/LoginPage.tsx |
/HomePage |
frontend | healthy | src/pages/HomePage.tsx |
/HowItWorksPage |
frontend | healthy | src/pages/HowItWorksPage.tsx |
/AdminPage |
frontend | healthy | src/pages/AdminPage.tsx |
/OnboardingPage |
frontend | healthy | src/pages/OnboardingPage.tsx |
/PrivacyPage |
frontend | healthy | src/pages/PrivacyPage.tsx |
/EstimatorPage |
frontend | healthy | src/pages/EstimatorPage.tsx |
/SuperuserPage |
frontend | healthy | src/pages/SuperuserPage.tsx |
/WelcomePage |
frontend | healthy | src/pages/WelcomePage.tsx |
/PricingPage |
frontend | healthy | src/pages/PricingPage.tsx |
/CheckoutSuccessPage |
frontend | healthy | src/pages/CheckoutSuccessPage.tsx |
/ForgotPasswordPage |
frontend | healthy | src/pages/ForgotPasswordPage.tsx |
/NotFoundPage |
frontend | healthy | src/pages/NotFoundPage.tsx |
/TermsPage |
frontend | healthy | src/pages/TermsPage.tsx |
/ResetPasswordPage |
frontend | healthy | src/pages/ResetPasswordPage.tsx |
/ |
frontend | healthy | src/App.tsx |
/login |
frontend | healthy | src/App.tsx |
/portal |
frontend | healthy | src/App.tsx |
/checkout/success |
frontend | healthy | src/App.tsx |
/welcome |
frontend | healthy | src/App.tsx |
/onboarding |
frontend | healthy | src/App.tsx |
/forgot-password |
frontend | healthy | src/App.tsx |
/reset-password |
frontend | healthy | src/App.tsx |
/admin |
frontend | healthy | src/App.tsx |
/admin/:id |
frontend | healthy | src/App.tsx |
/terms |
frontend | healthy | src/App.tsx |
/privacy |
frontend | healthy | src/App.tsx |
/superuser |
frontend | healthy | src/App.tsx |
/pricing |
frontend | healthy | src/App.tsx |
/how-it-works |
frontend | healthy | src/App.tsx |
/:id |
frontend | healthy | src/App.tsx |
* |
frontend | healthy | src/App.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
docs |
software | healthy | docs |
scripts |
software | healthy | scripts |
.claude |
software | healthy | .claude |
supabase |
software | healthy | supabase |
functions |
software | healthy | supabase/functions |
submit-lead |
software | healthy | supabase/functions/submit-lead |
billing-portal |
software | healthy | supabase/functions/billing-portal |
claim-onboarding |
software | healthy | supabase/functions/claim-onboarding |
stripe-provision |
software | healthy | supabase/functions/stripe-provision |
contractor-ops |
software | healthy | supabase/functions/contractor-ops |
migrations |
software | healthy | supabase/migrations |
src |
software | healthy | src |
components |
software | healthy | src/components |
contexts |
software | healthy | src/contexts |
lib |
software | healthy | src/lib |
repository |
software | healthy | src/lib/repository |
pages |
software | healthy | src/pages |
hooks |
software | healthy | src/hooks |
| Label | Layer | Status | Path |
|---|---|---|---|
20260615000000_plan_markup_column.sql |
data | healthy | supabase/migrations/20260615000000_plan_markup_column.sql |
20260610000000_fence_lines_column.sql |
data | healthy | supabase/migrations/20260610000000_fence_lines_column.sql |
20260531000000_subscription_trial_dates.sql |
data | healthy | supabase/migrations/20260531000000_subscription_trial_dates… |
20260426070000_measurement_system.sql |
data | healthy | supabase/migrations/20260426070000_measurement_system.sql |
20260426063000_lead_crm_fields.sql |
data | healthy | supabase/migrations/20260426063000_lead_crm_fields.sql |
20260519000000_contractor_currency.sql |
data | healthy | supabase/migrations/20260519000000_contractor_currency.sql |
20260430083000_lead_ops_and_auth_hardening.sql |
data | healthy | supabase/migrations/20260430083000_lead_ops_and_auth_harden… |
20260606000000_superuser_rls.sql |
data | healthy | supabase/migrations/20260606000000_superuser_rls.sql |
20260608000003_replace_contractor_products_assembly_columns… |
data | healthy | supabase/migrations/20260608000003_replace_contractor_produ… |
20260429070000_customer_address_on_leads.sql |
data | healthy | supabase/migrations/20260429070000_customer_address_on_lead… |
20260430093000_stripe_billing_portal_and_event_log.sql |
data | healthy | supabase/migrations/20260430093000_stripe_billing_portal_an… |
20260519000001_replace_contractor_products_rpc.sql |
data | healthy | supabase/migrations/20260519000001_replace_contractor_produ… |
20260609000001_contractor_lead_rls_and_source.sql |
data | healthy | supabase/migrations/20260609000001_contractor_lead_rls_and_… |
20260523000000_contractor_logo.sql |
data | healthy | supabase/migrations/20260523000000_contractor_logo.sql |
20260609000000_contractor_quote_columns.sql |
data | healthy | supabase/migrations/20260609000000_contractor_quote_columns… |
20260608000001_replace_contractor_products_with_components.… |
data | healthy | supabase/migrations/20260608000001_replace_contractor_produ… |
20260608000000_product_components.sql |
data | healthy | supabase/migrations/20260608000000_product_components.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::README.md |
security | healthy | README.md |
auth::supabase/functions/billing-portal/index.ts |
security | healthy | supabase/functions/billing-portal/index.ts |
auth::supabase/functions/claim-onboarding/index.ts |
security | healthy | supabase/functions/claim-onboarding/index.ts |
auth::supabase/functions/contractor-ops/index.ts |
security | healthy | supabase/functions/contractor-ops/index.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
public |
data | healthy | supabase/schema.sql |
superusers |
data | healthy | supabase/migrations/20260606000000_superuser_rls.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-s1g8hhub |
software | healthy | /tmp/repobility-clone-s1g8hhub |
| Label | Layer | Status | Path |
|---|---|---|---|
ErrorBoundary |
software | healthy | src/components/ErrorBoundary.tsx:ErrorBoundary |
| Label | Layer | Status | Path |
|---|---|---|---|
App |
frontend | healthy | src/App.tsx |
This page is publicly accessible at:
https://repobility.com/scan/2bd12a13-0587-476f-a603-010aafe64c91/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/2bd12a13-0587-476f-a603-010aafe64c91/
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.