https://github.com/taverncreative/GEMcrm
· scanned 2026-06-16 00:30 UTC (2 months, 2 weeks ago)
88 raw signals (0 security + 88 graph)
Last scanned 2 months, 2 weeks ago · v1 · 85 actionable findings from 1 signal source. 3 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 1113 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 |
|---|---|---|---|
proxy |
software | healthy | proxy.ts:proxy |
output |
software | healthy | next.config.ts:output |
bundle |
software | healthy | next.config.ts:bundle |
then |
software | healthy | next.config.ts:then |
jobs |
software | healthy | test/sync/merge-guard.test.ts:jobs |
customers |
software | healthy | test/sync/merge-guard.test.ts:customers |
addOutbox |
software | healthy | test/sync/merge-guard.test.ts:addOutbox |
networkReject |
software | healthy | test/sync/engine-network-pass.test.ts:networkReject |
selectBuilder |
software | healthy | test/sync/relaxed-booking-offline-sync.test.ts:selectBuilder |
from |
software | healthy | test/sync/relaxed-booking-offline-sync.test.ts:from |
applyOne |
software | healthy | test/sync/relaxed-booking-offline-sync.test.ts:applyOne |
single |
software | healthy | test/sync/relaxed-booking-offline-sync.test.ts:single |
sparseSubmitFd |
software | healthy | test/sync/relaxed-booking-offline-sync.test.ts:sparseSubmit… |
setPath |
software | healthy | test/components/bottom-nav.test.tsx:setPath |
setHistoryLength |
software | healthy | test/components/smart-back-button.test.tsx:setHistoryLength |
seedPendingEntry |
software | healthy | test/components/sync/sync-state-pill.test.tsx:seedPendingEn… |
had |
software | healthy | test/components/sync/sync-boot.test.tsx:had |
fd |
software | healthy | test/components/bookings/create-meta-sparse.test.ts:fd |
fd |
software | healthy | test/components/bookings/booking-meta.test.ts:fd |
makeCustomer |
software | healthy | test/components/bookings/create-combobox.test.tsx:makeCusto… |
hidden |
software | healthy | test/components/bookings/create-combobox.test.tsx:hidden |
field |
software | healthy | test/components/bookings/create-combobox.test.tsx:field |
registryIds |
software | healthy | test/components/dashboard/review-widget-flag.test.ts:regist… |
makeCustomer |
software | healthy | test/components/customers/customer-side-panel.test.tsx:make… |
makeSite |
software | healthy | test/components/customers/customer-side-panel.test.tsx:make… |
makeJob |
software | healthy | test/components/customers/customer-side-panel.test.tsx:make… |
makeAgreement |
software | healthy | test/components/customers/customer-side-panel.test.tsx:make… |
makeTask |
software | healthy | test/components/customers/customer-side-panel.test.tsx:make… |
setOffline |
software | healthy | test/components/customers/customer-side-panel.test.tsx:setO… |
customerFormData |
software | healthy | test/components/customers/add-customer-meta.test.ts:custome… |
makeCustomer |
software | healthy | test/components/documents/doc-ready-provider.test.tsx:makeC… |
Harness |
software | healthy | test/components/documents/doc-ready-provider.test.tsx:Harne… |
completionLink |
software | healthy | test/components/jobs/job-status-actions.test.tsx:completion… |
makeJob |
software | healthy | test/components/jobs/complete-page-gate.test.tsx:makeJob |
makeSite |
software | healthy | test/components/jobs/complete-page-gate.test.tsx:makeSite |
makeCustomer |
software | healthy | test/components/jobs/complete-page-gate.test.tsx:makeCustom… |
fillAllSteps |
software | healthy | test/components/jobs/service-sheet-form.test.tsx:fillAllSte… |
reviewButton |
software | healthy | test/components/jobs/service-sheet-form.test.tsx:reviewButt… |
reviewHeading |
software | healthy | test/components/jobs/service-sheet-form.test.tsx:reviewHead… |
entry |
software | healthy | test/components/jobs/service-sheet-form.test.tsx:entry |
args |
software | healthy | test/components/jobs/service-sheet-form.test.tsx:args |
makeCustomer |
software | healthy | test/app/jobs-list.test.tsx:makeCustomer |
makeSite |
software | healthy | test/app/jobs-list.test.tsx:makeSite |
makeJob |
software | healthy | test/app/jobs-list.test.tsx:makeJob |
makeJob |
software | healthy | test/app/job-detail-fill-link.test.tsx:makeJob |
makeSite |
software | healthy | test/app/job-detail-fill-link.test.tsx:makeSite |
makeCustomer |
software | healthy | test/app/job-detail-fill-link.test.tsx:makeCustomer |
setOffline |
software | healthy | test/app/app-error.test.tsx:setOffline |
reset |
software | healthy | test/app/app-error.test.tsx:reset |
fn |
software | healthy | test/app/app-error.test.tsx:fn |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
POST_OFFLINE_FOLLOWUPS.md |
software | healthy | POST_OFFLINE_FOLLOWUPS.md |
OFFLINE_AUDIT.md |
software | healthy | OFFLINE_AUDIT.md |
STEP_1_NOTES.md |
software | healthy | STEP_1_NOTES.md |
vercel.json |
software | healthy | vercel.json |
postcss.config.mjs |
software | healthy | postcss.config.mjs |
STEP_2_NOTES.md |
software | healthy | STEP_2_NOTES.md |
README.md |
software | healthy | README.md |
CLAUDE.md |
software | healthy | CLAUDE.md |
package.json |
software | healthy | package.json |
STEP_3_NOTES.md |
software | healthy | STEP_3_NOTES.md |
STEP_6_NOTES.md |
software | healthy | STEP_6_NOTES.md |
package-lock.json |
software | healthy | package-lock.json |
STEP_4_NOTES.md |
software | healthy | STEP_4_NOTES.md |
.env.example |
software | healthy | .env.example |
tsconfig.json |
software | healthy | tsconfig.json |
eslint.config.mjs |
software | healthy | eslint.config.mjs |
AGENTS.md |
software | healthy | AGENTS.md |
STEP_5_NOTES.md |
software | healthy | STEP_5_NOTES.md |
vitest.config.ts |
software | healthy | vitest.config.ts |
proxy.ts |
software | healthy | proxy.ts |
next.config.ts |
software | healthy | next.config.ts |
index.ts |
software | healthy | types/index.ts |
actions.ts |
software | healthy | types/actions.ts |
database.ts |
software | healthy | types/database.ts |
setup.ts |
software | healthy | test/setup.ts |
is-network-error.test.ts |
software | healthy | test/sync/is-network-error.test.ts |
merge-guard.test.ts |
software | healthy | test/sync/merge-guard.test.ts |
server-reachable.test.ts |
software | healthy | test/sync/server-reachable.test.ts |
engine-network-pass.test.ts |
software | healthy | test/sync/engine-network-pass.test.ts |
relaxed-booking-offline-sync.test.ts |
software | healthy | test/sync/relaxed-booking-offline-sync.test.ts |
vat.test.ts |
software | healthy | test/utils/vat.test.ts |
format-window.test.ts |
software | healthy | test/utils/format-window.test.ts |
bottom-nav.test.tsx |
software | healthy | test/components/bottom-nav.test.tsx |
smart-back-button.test.tsx |
software | healthy | test/components/smart-back-button.test.tsx |
sync-state-pill.test.tsx |
software | healthy | test/components/sync/sync-state-pill.test.tsx |
sync-boot.test.tsx |
software | healthy | test/components/sync/sync-boot.test.tsx |
create-meta-sparse.test.ts |
software | healthy | test/components/bookings/create-meta-sparse.test.ts |
booking-meta.test.ts |
software | healthy | test/components/bookings/booking-meta.test.ts |
create-combobox.test.tsx |
software | healthy | test/components/bookings/create-combobox.test.tsx |
review-widget-flag.test.ts |
software | healthy | test/components/dashboard/review-widget-flag.test.ts |
customer-side-panel.test.tsx |
software | healthy | test/components/customers/customer-side-panel.test.tsx |
add-customer-meta.test.ts |
software | healthy | test/components/customers/add-customer-meta.test.ts |
doc-ready-provider.test.tsx |
software | healthy | test/components/documents/doc-ready-provider.test.tsx |
job-status-actions.test.tsx |
software | healthy | test/components/jobs/job-status-actions.test.tsx |
complete-page-gate.test.tsx |
software | healthy | test/components/jobs/complete-page-gate.test.tsx |
service-sheet-form-draft.test.tsx |
software | healthy | test/components/jobs/service-sheet-form-draft.test.tsx |
service-sheet-form.test.tsx |
software | healthy | test/components/jobs/service-sheet-form.test.tsx |
report-email-status.test.tsx |
software | healthy | test/components/jobs/report-email-status.test.tsx |
jobs-list.test.tsx |
software | healthy | test/app/jobs-list.test.tsx |
job-detail-fill-link.test.tsx |
software | healthy | test/app/job-detail-fill-link.test.tsx |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
types |
software | healthy | types |
test |
software | healthy | test |
sync |
software | healthy | test/sync |
utils |
software | healthy | test/utils |
components |
software | healthy | test/components |
sync |
software | healthy | test/components/sync |
bookings |
software | healthy | test/components/bookings |
dashboard |
software | healthy | test/components/dashboard |
customers |
software | healthy | test/components/customers |
documents |
software | healthy | test/components/documents |
jobs |
software | healthy | test/components/jobs |
app |
software | healthy | test/app |
validation |
software | healthy | test/validation |
services |
software | healthy | test/services |
db |
software | healthy | test/db |
actions |
software | healthy | test/actions |
pdf |
software | healthy | test/pdf |
documents |
software | healthy | test/documents |
scripts |
software | healthy | scripts |
components |
software | healthy | components |
settings |
software | healthy | components/settings |
sync |
software | healthy | components/sync |
bookings |
software | healthy | components/bookings |
ui |
software | healthy | components/ui |
dashboard |
software | healthy | components/dashboard |
customers |
software | healthy | components/customers |
dev |
software | healthy | components/dev |
agreements |
software | healthy | components/agreements |
reports |
software | healthy | components/reports |
documents |
software | healthy | components/documents |
jobs |
software | healthy | components/jobs |
sites |
software | healthy | components/sites |
calendar |
software | healthy | components/calendar |
invoices |
software | healthy | components/invoices |
app |
software | healthy | app |
offline |
software | healthy | app/offline |
auth |
software | healthy | app/auth |
callback |
software | healthy | app/auth/callback |
api |
software | healthy | app/api |
photos |
software | healthy | app/api/photos |
upload |
software | healthy | app/api/photos/upload |
cron |
software | healthy | app/api/cron |
review-sends |
software | healthy | app/api/cron/review-sends |
pdf |
software | healthy | app/api/pdf |
agreement |
software | healthy | app/api/pdf/agreement |
[id] |
software | healthy | app/api/pdf/agreement/[id] |
job |
software | healthy | app/api/pdf/job |
[id] |
software | healthy | app/api/pdf/job/[id] |
dev |
software | healthy | app/dev |
db-smoke |
software | healthy | app/dev/db-smoke |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
015_priority_order_renewal.sql |
data | healthy | supabase/migrations/015_priority_order_renewal.sql |
017_revenue_invoices.sql |
data | healthy | supabase/migrations/017_revenue_invoices.sql |
025_customer_contract_value.sql |
data | healthy | supabase/migrations/025_customer_contract_value.sql |
013_task_priority.sql |
data | healthy | supabase/migrations/013_task_priority.sql |
033_report_email_truth.sql |
data | healthy | supabase/migrations/033_report_email_truth.sql |
018_form_refresh.sql |
data | healthy | supabase/migrations/018_form_refresh.sql |
002_job_status.sql |
data | healthy | supabase/migrations/002_job_status.sql |
029_soft_deletes.sql |
data | healthy | supabase/migrations/029_soft_deletes.sql |
035_completed_requires_filled_sheet.sql |
data | healthy | supabase/migrations/035_completed_requires_filled_sheet.sql |
034_draft_jobs_and_window.sql |
data | healthy | supabase/migrations/034_draft_jobs_and_window.sql |
027_job_time.sql |
data | healthy | supabase/migrations/027_job_time.sql |
021_job_refs_and_vat.sql |
data | healthy | supabase/migrations/021_job_refs_and_vat.sql |
001_add_signatures_and_storage.sql |
data | healthy | supabase/migrations/001_add_signatures_and_storage.sql |
030_sync_pull_functions.sql |
data | healthy | supabase/migrations/030_sync_pull_functions.sql |
037_invoice_numbering.sql |
data | healthy | supabase/migrations/037_invoice_numbering.sql |
036_draft_contact.sql |
data | healthy | supabase/migrations/036_draft_contact.sql |
020_reviews_and_invoices.sql |
data | healthy | supabase/migrations/020_reviews_and_invoices.sql |
007_environmental_fields.sql |
data | healthy | supabase/migrations/007_environmental_fields.sql |
031_invoice_jobs.sql |
data | healthy | supabase/migrations/031_invoice_jobs.sql |
022_feature_requests.sql |
data | healthy | supabase/migrations/022_feature_requests.sql |
004_agreement_status_task_type.sql |
data | healthy | supabase/migrations/004_agreement_status_task_type.sql |
014_completed_at_end_date_renewal.sql |
data | healthy | supabase/migrations/014_completed_at_end_date_renewal.sql |
016_task_agreement_id.sql |
data | healthy | supabase/migrations/016_task_agreement_id.sql |
024_customer_extras.sql |
data | healthy | supabase/migrations/024_customer_extras.sql |
005_archive_and_integrity.sql |
data | healthy | supabase/migrations/005_archive_and_integrity.sql |
026_customer_structured_address.sql |
data | healthy | supabase/migrations/026_customer_structured_address.sql |
011_rename_signee_and_report_notes.sql |
data | healthy | supabase/migrations/011_rename_signee_and_report_notes.sql |
010_job_service_record.sql |
data | healthy | supabase/migrations/010_job_service_record.sql |
028_backfill_sites_from_customer_address.sql |
data | healthy | supabase/migrations/028_backfill_sites_from_customer_addres… |
023_backfill_refs.sql |
data | healthy | supabase/migrations/023_backfill_refs.sql |
009_agreement_signee.sql |
data | healthy | supabase/migrations/009_agreement_signee.sql |
008_agreement_contract_fields.sql |
data | healthy | supabase/migrations/008_agreement_contract_fields.sql |
032_soft_delete_customer_rpc.sql |
data | healthy | supabase/migrations/032_soft_delete_customer_rpc.sql |
019_customer_type_and_review.sql |
data | healthy | supabase/migrations/019_customer_type_and_review.sql |
006_daily_summaries.sql |
data | healthy | supabase/migrations/006_daily_summaries.sql |
003_jobs_agreement_link.sql |
data | healthy | supabase/migrations/003_jobs_agreement_link.sql |
012_drop_legacy_signee.sql |
data | healthy | supabase/migrations/012_drop_legacy_signee.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
NotFound |
frontend | healthy | app/not-found.tsx |
Loading |
frontend | healthy | app/loading.tsx |
RootPage |
frontend | healthy | app/page.tsx |
RootLayout |
frontend | healthy | app/layout.tsx |
GlobalError |
frontend | healthy | app/error.tsx |
GlobalError |
frontend | healthy | app/global-error.tsx |
OfflinePage |
frontend | healthy | app/offline/page.tsx |
DbSmokePage |
frontend | healthy | app/dev/db-smoke/page.tsx |
AppError |
frontend | healthy | app/(app)/error.tsx |
SyncConflictsPage |
frontend | healthy | app/(app)/sync/conflicts/page.tsx |
DashboardPage |
frontend | healthy | app/(app)/dashboard/page.tsx |
CustomersPage |
frontend | healthy | app/(app)/customers/page.tsx |
NewCustomerPage |
frontend | healthy | app/(app)/customers/new/page.tsx |
RetiredCustomerProfile |
frontend | healthy | app/(app)/customers/[id]/page.tsx |
ReportsPage |
frontend | healthy | app/(app)/reports/page.tsx |
JobsPage |
frontend | healthy | app/(app)/jobs/page.tsx |
JobDetailPage |
frontend | healthy | app/(app)/jobs/[id]/page.tsx |
CompleteServiceSheetPage |
frontend | healthy | app/(app)/jobs/[id]/complete/page.tsx |
AuthLayout |
frontend | healthy | app/(auth)/layout.tsx |
LoginPage |
frontend | healthy | app/(auth)/login/page.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
customers |
data | healthy | supabase/schema.sql |
sites |
data | healthy | supabase/schema.sql |
jobs |
data | healthy | supabase/schema.sql |
agreements |
data | healthy | supabase/schema.sql |
tasks |
data | healthy | supabase/schema.sql |
reports |
data | healthy | supabase/schema.sql |
daily_summaries |
data | healthy | supabase/setup.sql |
invoices |
data | healthy | supabase/setup.sql |
feature_requests |
data | healthy | supabase/setup.sql |
invoice_jobs |
data | healthy | supabase/setup.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | scripts/local-db-rebuild.sh |
063.374.313.686 |
network | healthy | components/sidebar.tsx |
645.87.074.04 |
network | healthy | components/sidebar.tsx |
147.083.22.127 |
network | healthy | components/sidebar.tsx |
325.196.72.257 |
network | healthy | components/sidebar.tsx |
008.378.137.75 |
network | healthy | components/sidebar.tsx |
424.35.534.955 |
network | healthy | components/sidebar.tsx |
356.133.751.072 |
network | healthy | components/sidebar.tsx |
342.052.682.107 |
network | healthy | components/customers/customer-side-panel.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
password_literal::scripts/local-db-rebuild.sh |
security | healthy | scripts/local-db-rebuild.sh |
password_literal::app/(app)/settings/actions.ts |
security | healthy | app/(app)/settings/actions.ts |
password_literal::app/(app)/settings/actions.ts |
security | healthy | app/(app)/settings/actions.ts |
password_literal::app/(app)/settings/actions.ts |
security | healthy | app/(app)/settings/actions.ts |
password_literal::app/(app)/settings/actions.ts |
security | healthy | app/(app)/settings/actions.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::supabase/config.toml |
security | healthy | supabase/config.toml |
auth::lib/auth/require-user.ts |
security | healthy | lib/auth/require-user.ts |
auth::lib/sync/http-classify.ts |
security | healthy | lib/sync/http-classify.ts |
auth::README.md |
security | healthy | README.md |
auth::proxy.ts |
security | healthy | proxy.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
UnknownActionError |
software | healthy | test/sync/engine-network-pass.test.ts:UnknownActionError |
which |
software | healthy | test/components/jobs/service-sheet-form.test.tsx:which |
UnknownActionError |
software | healthy | lib/sync/registry.ts:UnknownActionError |
GemCrmDb |
software | healthy | lib/db/index.ts:GemCrmDb |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::azure |
hardware | healthy | supabase/config.toml |
vps::aws |
hardware | healthy | supabase/config.toml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-f29_ln_4 |
software | healthy | /tmp/repobility-clone-f29_ln_4 |
| Label | Layer | Status | Path |
|---|---|---|---|
postgres |
data | healthy | README.md |
This page is publicly accessible at:
https://repobility.com/scan/bc6381ac-4dcf-42c1-b17e-26f3d5324587/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/bc6381ac-4dcf-42c1-b17e-26f3d5324587/
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.