https://github.com/tdander26/triad-ehr
· scanned 2026-06-16 00:30 UTC (2 months, 2 weeks ago)
140 raw signals (0 security + 140 graph)
Last scanned 2 months, 2 weeks ago · v1 · 139 actionable findings from 1 signal source. 1 repeated signal grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 1695 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 |
|---|---|---|---|
pinDocRef |
software | healthy | apps/api/src/api.ts:pinDocRef |
eventarcServiceAccount |
software | healthy | apps/api/src/auth.ts:eventarcServiceAccount |
bearerToken |
software | healthy | apps/api/src/auth.ts:bearerToken |
expectedAudiences |
software | healthy | apps/api/src/auth.ts:expectedAudiences |
oidcBypassActive |
software | healthy | apps/api/src/auth.ts:oidcBypassActive |
practiceRef |
software | healthy | apps/api/src/aiNote.ts:practiceRef |
asIso |
software | healthy | apps/api/src/aiNote.ts:asIso |
practiceRef |
software | healthy | apps/api/src/billing.ts:practiceRef |
practiceLocalDate |
software | healthy | apps/api/src/billing.ts:practiceLocalDate |
readMember |
software | healthy | apps/api/src/billing.ts:readMember |
requireMember |
software | healthy | apps/api/src/billing.ts:requireMember |
auditDoc |
software | healthy | apps/api/src/billing.ts:auditDoc |
newAuditRef |
software | healthy | apps/api/src/billing.ts:newAuditRef |
timeId |
software | healthy | apps/api/src/billing.ts:timeId |
asIso |
software | healthy | apps/api/src/billing.ts:asIso |
parseLedgerEntry |
software | healthy | apps/api/src/billing.ts:parseLedgerEntry |
stripUndefined |
software | healthy | apps/api/src/billing.ts:stripUndefined |
readPractice |
software | healthy | apps/api/src/billing.ts:readPractice |
str |
software | healthy | apps/api/src/billing.ts:str |
readTaxConfig |
software | healthy | apps/api/src/billing.ts:readTaxConfig |
onHand |
software | healthy | apps/api/src/billing.ts:onHand |
superbillFromSnap |
software | healthy | apps/api/src/billing.ts:superbillFromSnap |
practiceRef |
software | healthy | apps/api/src/users.ts:practiceRef |
memberRef |
software | healthy | apps/api/src/users.ts:memberRef |
requireAdmin |
software | healthy | apps/api/src/users.ts:requireAdmin |
generateTempPassword |
software | healthy | apps/api/src/users.ts:generateTempPassword |
auditRow |
software | healthy | apps/api/src/users.ts:auditRow |
newAuditRef |
software | healthy | apps/api/src/users.ts:newAuditRef |
assemblyKey |
software | healthy | apps/api/src/dictation.ts:assemblyKey |
t |
software | healthy | apps/api/src/dictation.ts:t |
ttl |
software | healthy | apps/api/src/dictation.ts:ttl |
canaryPracticeId |
software | healthy | apps/api/src/internal.ts:canaryPracticeId |
parsePracticePath |
software | healthy | apps/api/src/internal.ts:parsePracticePath |
segmentAfter |
software | healthy | apps/api/src/internal.ts:segmentAfter |
readIntent |
software | healthy | apps/api/src/internal.ts:readIntent |
textBody |
software | healthy | apps/api/src/internal.ts:textBody |
parseFinding |
software | healthy | apps/api/src/internal.ts:parseFinding |
parseRx |
software | healthy | apps/api/src/internal.ts:parseRx |
rejectIntent |
software | healthy | apps/api/src/internal.ts:rejectIntent |
practiceRef |
software | healthy | apps/api/src/aiSummary.ts:practiceRef |
ageFromDob |
software | healthy | apps/api/src/aiSummary.ts:ageFromDob |
patientContextLine |
software | healthy | apps/api/src/aiSummary.ts:patientContextLine |
getStorage |
software | healthy | apps/api/src/documents.ts:getStorage |
practiceRef |
software | healthy | apps/api/src/documents.ts:practiceRef |
documentsCol |
software | healthy | apps/api/src/documents.ts:documentsCol |
documentRef |
software | healthy | apps/api/src/documents.ts:documentRef |
newAuditRef |
software | healthy | apps/api/src/documents.ts:newAuditRef |
writeAudit |
software | healthy | apps/api/src/documents.ts:writeAudit |
readMember |
software | healthy | apps/api/src/documents.ts:readMember |
requireActiveMember |
software | healthy | apps/api/src/documents.ts:requireActiveMember |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
pnpm-lock.yaml |
software | healthy | pnpm-lock.yaml |
CLAUDE.md |
software | healthy | CLAUDE.md |
package.json |
software | healthy | package.json |
Dockerfile |
software | healthy | Dockerfile |
pnpm-workspace.yaml |
software | healthy | pnpm-workspace.yaml |
tsconfig.base.json |
software | healthy | tsconfig.base.json |
package.json |
software | healthy | apps/api/package.json |
runtime.package.json |
software | healthy | apps/api/runtime.package.json |
tsconfig.json |
software | healthy | apps/api/tsconfig.json |
api.ts |
software | healthy | apps/api/src/api.ts |
auth.ts |
software | healthy | apps/api/src/auth.ts |
aiNote.ts |
software | healthy | apps/api/src/aiNote.ts |
billing.ts |
software | healthy | apps/api/src/billing.ts |
users.ts |
software | healthy | apps/api/src/users.ts |
dictation.ts |
software | healthy | apps/api/src/dictation.ts |
firebase.ts |
software | healthy | apps/api/src/firebase.ts |
index.ts |
software | healthy | apps/api/src/index.ts |
internal.ts |
software | healthy | apps/api/src/internal.ts |
aiSummary.ts |
software | healthy | apps/api/src/aiSummary.ts |
documents.ts |
software | healthy | apps/api/src/documents.ts |
firestoreEvents.ts |
software | healthy | apps/api/src/firestoreEvents.ts |
vertex.ts |
software | healthy | apps/api/src/vertex.ts |
vocab.ts |
software | healthy | apps/api/src/vocab.ts |
vite.config.ts |
software | healthy | apps/web/vite.config.ts |
tailwind.config.ts |
software | healthy | apps/web/tailwind.config.ts |
package.json |
software | healthy | apps/web/package.json |
index.html |
software | healthy | apps/web/index.html |
tsconfig.json |
software | healthy | apps/web/tsconfig.json |
postcss.config.js |
software | healthy | apps/web/postcss.config.js |
index.css |
software | healthy | apps/web/src/index.css |
theme.ts |
software | healthy | apps/web/src/theme.ts |
demoVisits.ts |
software | healthy | apps/web/src/demoVisits.ts |
search.ts |
software | healthy | apps/web/src/search.ts |
main.tsx |
software | healthy | apps/web/src/main.tsx |
App.tsx |
software | healthy | apps/web/src/App.tsx |
vocab.ts |
software | healthy | apps/web/src/vocab.ts |
chartSync.ts |
software | healthy | apps/web/src/sync/chartSync.ts |
practiceSync.ts |
software | healthy | apps/web/src/sync/practiceSync.ts |
schedule.ts |
software | healthy | apps/web/src/sync/schedule.ts |
index.ts |
software | healthy | apps/web/src/sync/index.ts |
documentsSync.ts |
software | healthy | apps/web/src/sync/documentsSync.ts |
prefsSync.ts |
software | healthy | apps/web/src/sync/prefsSync.ts |
devices.ts |
software | healthy | apps/web/src/sync/devices.ts |
labsSync.ts |
software | healthy | apps/web/src/sync/labsSync.ts |
signing.ts |
software | healthy | apps/web/src/sync/signing.ts |
seedDemo.ts |
software | healthy | apps/web/src/sync/seedDemo.ts |
patients.ts |
software | healthy | apps/web/src/sync/patients.ts |
amendments.ts |
software | healthy | apps/web/src/sync/amendments.ts |
writes.ts |
software | healthy | apps/web/src/sync/writes.ts |
dispensarySync.ts |
software | healthy | apps/web/src/sync/dispensarySync.ts |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
App |
frontend | healthy | apps/web/src/App.tsx |
DosePopover |
frontend | healthy | apps/web/src/components/DosePopover.tsx |
AddNewPatientOption |
frontend | healthy | apps/web/src/components/AddNewPatientOption.tsx |
BoardEditPopover |
frontend | healthy | apps/web/src/components/BoardEditPopover.tsx |
OrganChain |
frontend | healthy | apps/web/src/components/OrganChain.tsx |
LabRadar |
frontend | healthy | apps/web/src/components/LabRadar.tsx |
RecordsPatientBar |
frontend | healthy | apps/web/src/components/RecordsPatientBar.tsx |
DispensaryImportSheet |
frontend | healthy | apps/web/src/components/DispensaryImportSheet.tsx |
AddTermSheet |
frontend | healthy | apps/web/src/components/AddTermSheet.tsx |
RemindersSection |
frontend | healthy | apps/web/src/components/RemindersSection.tsx |
NoteEditorSheet |
frontend | healthy | apps/web/src/components/NoteEditorSheet.tsx |
ObjectiveBoard |
frontend | healthy | apps/web/src/components/ObjectiveBoard.tsx |
FindingTile |
frontend | healthy | apps/web/src/components/FindingTile.tsx |
LockScreen |
frontend | healthy | apps/web/src/components/LockScreen.tsx |
NavRail |
frontend | healthy | apps/web/src/components/NavRail.tsx |
DraftNoteSheet |
frontend | healthy | apps/web/src/components/DraftNoteSheet.tsx |
ProgressChips |
frontend | healthy | apps/web/src/components/ProgressChips.tsx |
ActionBar |
frontend | healthy | apps/web/src/components/ActionBar.tsx |
AiPromptSection |
frontend | healthy | apps/web/src/components/AiPromptSection.tsx |
BillingScreen |
frontend | healthy | apps/web/src/components/BillingScreen.tsx |
DietHandoutSheet |
frontend | healthy | apps/web/src/components/DietHandoutSheet.tsx |
LabSparkline |
frontend | healthy | apps/web/src/components/LabSparkline.tsx |
SuggestPanel |
frontend | healthy | apps/web/src/components/SuggestPanel.tsx |
LabOrderSheet |
frontend | healthy | apps/web/src/components/LabOrderSheet.tsx |
DispensaryItemSheet |
frontend | healthy | apps/web/src/components/DispensaryItemSheet.tsx |
MacroManagerSheet |
frontend | healthy | apps/web/src/components/MacroManagerSheet.tsx |
TabBar |
frontend | healthy | apps/web/src/components/TabBar.tsx |
LabImportSheet |
frontend | healthy | apps/web/src/components/LabImportSheet.tsx |
FlowStatesSection |
frontend | healthy | apps/web/src/components/FlowStatesSection.tsx |
DispensaryScreen |
frontend | healthy | apps/web/src/components/DispensaryScreen.tsx |
DrawerSheet |
frontend | healthy | apps/web/src/components/DrawerSheet.tsx |
SettingsScreen |
frontend | healthy | apps/web/src/components/SettingsScreen.tsx |
Toasts |
frontend | healthy | apps/web/src/components/Toasts.tsx |
SubjectiveStrip |
frontend | healthy | apps/web/src/components/SubjectiveStrip.tsx |
ScheduleScreen |
frontend | healthy | apps/web/src/components/ScheduleScreen.tsx |
Placeholder |
frontend | healthy | apps/web/src/components/Placeholder.tsx |
SuperbillSheet |
frontend | healthy | apps/web/src/components/SuperbillSheet.tsx |
ReportsScreen |
frontend | healthy | apps/web/src/components/ReportsScreen.tsx |
BlockSheet |
frontend | healthy | apps/web/src/components/BlockSheet.tsx |
AmendmentDrawer |
frontend | healthy | apps/web/src/components/AmendmentDrawer.tsx |
OptionPopover |
frontend | healthy | apps/web/src/components/OptionPopover.tsx |
PriorNotePreview |
frontend | healthy | apps/web/src/components/PriorNotePreview.tsx |
LabsScreen |
frontend | healthy | apps/web/src/components/LabsScreen.tsx |
PatientBar |
frontend | healthy | apps/web/src/components/PatientBar.tsx |
CheckoutSheet |
frontend | healthy | apps/web/src/components/CheckoutSheet.tsx |
NarrativePanel |
frontend | healthy | apps/web/src/components/NarrativePanel.tsx |
LabEntrySheet |
frontend | healthy | apps/web/src/components/LabEntrySheet.tsx |
AppointmentTypesSection |
frontend | healthy | apps/web/src/components/AppointmentTypesSection.tsx |
LastVisitPanel |
frontend | healthy | apps/web/src/components/LastVisitPanel.tsx |
ScheduleSettingsSection |
frontend | healthy | apps/web/src/components/ScheduleSettingsSection.tsx |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
POST /pin |
api | healthy | apps/api/src/api.ts |
GET /pin |
api | healthy | apps/api/src/api.ts |
POST / |
api | healthy | apps/api/src/aiNote.ts |
GET /billing/config |
api | healthy | apps/api/src/billing.ts |
PUT /prices/:itemId |
api | healthy | apps/api/src/billing.ts |
PUT /icd-favorites |
api | healthy | apps/api/src/billing.ts |
PUT /tax/config |
api | healthy | apps/api/src/billing.ts |
GET /inventory |
api | healthy | apps/api/src/billing.ts |
POST /inventory/receive |
api | healthy | apps/api/src/billing.ts |
POST /inventory/adjust |
api | healthy | apps/api/src/billing.ts |
POST /checkout |
api | healthy | apps/api/src/billing.ts |
POST /refund |
api | healthy | apps/api/src/billing.ts |
POST /payments |
api | healthy | apps/api/src/billing.ts |
GET /ledger/:patientId |
api | healthy | apps/api/src/billing.ts |
GET /daysheet |
api | healthy | apps/api/src/billing.ts |
POST /superbill |
api | healthy | apps/api/src/billing.ts |
GET /superbill/:patientId/:visitId |
api | healthy | apps/api/src/billing.ts |
PATCH /:uid |
api | healthy | apps/api/src/users.ts |
POST /token |
api | healthy | apps/api/src/dictation.ts |
GET /api/healthz |
api | healthy | apps/api/src/index.ts |
USE /assets/* |
api | healthy | apps/api/src/index.ts |
USE /* |
api | healthy | apps/api/src/index.ts |
POST /audit-fanout |
api | healthy | apps/api/src/internal.ts |
POST /sign-finalizer |
api | healthy | apps/api/src/internal.ts |
POST /canary |
api | healthy | apps/api/src/internal.ts |
POST /canary-check |
api | healthy | apps/api/src/internal.ts |
POST /upload-url |
api | healthy | apps/api/src/documents.ts |
POST /:docId/confirm |
api | healthy | apps/api/src/documents.ts |
GET /:patientId/:docId/url |
api | healthy | apps/api/src/documents.ts |
DELETE /:patientId/:docId |
api | healthy | apps/api/src/documents.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
apps |
software | healthy | apps |
api |
software | healthy | apps/api |
src |
software | healthy | apps/api/src |
web |
software | healthy | apps/web |
src |
software | healthy | apps/web/src |
sync |
software | healthy | apps/web/src/sync |
components |
software | healthy | apps/web/src/components |
cockpit |
software | healthy | apps/web/src/components/cockpit |
reports |
software | healthy | apps/web/src/components/reports |
labs |
software | healthy | apps/web/src/labs |
lib |
software | healthy | apps/web/src/lib |
hooks |
software | healthy | apps/web/src/hooks |
store |
software | healthy | apps/web/src/store |
docs |
software | healthy | docs |
packages |
software | healthy | packages |
domain |
software | healthy | packages/domain |
test |
software | healthy | packages/domain/test |
src |
software | healthy | packages/domain/src |
.claude |
software | healthy | .claude |
infra |
software | healthy | infra |
fixtures |
software | healthy | infra/fixtures |
mockups |
software | healthy | mockups |
seed |
software | healthy | seed |
mappings |
software | healthy | seed/mappings |
| Label | Layer | Status | Path |
|---|---|---|---|
WireReader |
software | healthy | apps/api/src/firestoreEvents.ts:WireReader |
ModelUnavailableError |
software | healthy | apps/api/src/vertex.ts:ModelUnavailableError |
so |
software | healthy | apps/web/src/search.ts:so |
as |
software | healthy | apps/web/src/sync/practiceSync.ts:as |
as |
software | healthy | apps/web/src/sync/dispensarySync.ts:as |
map |
software | healthy | apps/web/src/components/LabEntrySheet.tsx:map |
names |
software | healthy | apps/web/src/components/LabEntrySheet.tsx:names |
maps |
software | healthy | apps/web/src/components/reports/reportFormat.ts:maps |
TriadPcmTap |
software | healthy | apps/web/src/lib/dictation.ts:TriadPcmTap |
TextEncoder |
software | healthy | packages/domain/src/globals.d.ts:TextEncoder |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::apps/api/src/auth.ts |
security | healthy | apps/api/src/auth.ts |
auth::apps/api/src/dictation.ts |
security | healthy | apps/api/src/dictation.ts |
auth::apps/web/src/lib/dictation.ts |
security | healthy | apps/web/src/lib/dictation.ts |
auth::apps/api/src/api.ts |
security | healthy | apps/api/src/api.ts |
auth::apps/api/src/users.ts |
security | healthy | apps/api/src/users.ts |
auth::apps/api/src/aiSummary.ts |
security | healthy | apps/api/src/aiSummary.ts |
auth::apps/api/src/aiNote.ts |
security | healthy | apps/api/src/aiNote.ts |
auth::apps/api/src/index.ts |
security | healthy | apps/api/src/index.ts |
auth::apps/api/src/billing.ts |
security | healthy | apps/api/src/billing.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-ii7dgh53 |
software | healthy | /tmp/repobility-clone-ii7dgh53 |
| Label | Layer | Status | Path |
|---|---|---|---|
celery |
data | healthy | seed/organs.json |
| Label | Layer | Status | Path |
|---|---|---|---|
port:8080 |
network | healthy | Dockerfile |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | apps/web/vite.config.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
image::Dockerfile |
hardware | healthy | Dockerfile |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::gcp |
hardware | healthy | pnpm-lock.yaml |
| Label | Layer | Status | Path |
|---|---|---|---|
generic_api_key::infra/verify-visit-tenancy.mjs |
security | healthy | infra/verify-visit-tenancy.mjs |
This page is publicly accessible at:
https://repobility.com/scan/1d977c79-4b63-4bf5-95fe-7a3b4dc428be/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/1d977c79-4b63-4bf5-95fe-7a3b4dc428be/
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.