https://github.com/ryokoralston/ai-research-policy-app
· scanned 2026-06-15 23:58 UTC (2 months, 3 weeks ago)
114 raw signals (0 security + 114 graph)
Last scanned 2 months, 3 weeks ago · v1 · 114 actionable findings from 1 signal source. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 605 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 |
|---|---|---|---|
AppShell |
software | healthy | frontend/src/components/layout/AppShell.tsx:AppShell |
toggle |
software | healthy | frontend/src/components/layout/AppShell.tsx:toggle |
Sidebar |
software | healthy | frontend/src/components/layout/Sidebar.tsx:Sidebar |
handleLogout |
software | healthy | frontend/src/components/layout/Sidebar.tsx:handleLogout |
AuthGuard |
software | healthy | frontend/src/components/layout/AuthGuard.tsx:AuthGuard |
useTheme |
software | healthy | frontend/src/components/layout/ThemeProvider.tsx:useTheme |
applyTheme |
software | healthy | frontend/src/components/layout/ThemeProvider.tsx:applyTheme |
ThemeProvider |
software | healthy | frontend/src/components/layout/ThemeProvider.tsx:ThemeProvi… |
stored |
software | healthy | frontend/src/components/layout/ThemeProvider.tsx:stored |
handler |
software | healthy | frontend/src/components/layout/ThemeProvider.tsx:handler |
handleSetTheme |
software | healthy | frontend/src/components/layout/ThemeProvider.tsx:handleSetT… |
ThemeScript |
software | healthy | frontend/src/components/layout/ThemeProvider.tsx:ThemeScript |
ThemeToggle |
software | healthy | frontend/src/components/layout/ThemeToggle.tsx:ThemeToggle |
LoadingSpinner |
software | healthy | frontend/src/components/ui/LoadingSpinner.tsx:LoadingSpinner |
StreamingText |
software | healthy | frontend/src/components/ui/StreamingText.tsx:StreamingText |
DownloadMenu |
software | healthy | frontend/src/components/ui/DownloadMenu.tsx:DownloadMenu |
handler |
software | healthy | frontend/src/components/ui/DownloadMenu.tsx:handler |
handleDownload |
software | healthy | frontend/src/components/ui/DownloadMenu.tsx:handleDownload |
Badge |
software | healthy | frontend/src/components/ui/Badge.tsx:Badge |
Dashboard |
software | healthy | frontend/src/app/page.tsx:Dashboard |
RootLayout |
software | healthy | frontend/src/app/layout.tsx:RootLayout |
SettingsPage |
software | healthy | frontend/src/app/settings/page.tsx:SettingsPage |
handleSave |
software | healthy | frontend/src/app/settings/page.tsx:handleSave |
ModelSelect |
software | healthy | frontend/src/app/settings/page.tsx:ModelSelect |
parseMeta |
software | healthy | frontend/src/app/library/page.tsx:parseMeta |
DocIcon |
software | healthy | frontend/src/app/library/page.tsx:DocIcon |
ext |
software | healthy | frontend/src/app/library/page.tsx:ext |
LibraryPage |
software | healthy | frontend/src/app/library/page.tsx:LibraryPage |
handleUpload |
software | healthy | frontend/src/app/library/page.tsx:handleUpload |
handleDrop |
software | healthy | frontend/src/app/library/page.tsx:handleDrop |
handleIngestUrl |
software | healthy | frontend/src/app/library/page.tsx:handleIngestUrl |
handleDelete |
software | healthy | frontend/src/app/library/page.tsx:handleDelete |
handleDeleteCollection |
software | healthy | frontend/src/app/library/page.tsx:handleDeleteCollection |
handleAsk |
software | healthy | frontend/src/app/library/page.tsx:handleAsk |
toggleDocSelection |
software | healthy | frontend/src/app/library/page.tsx:toggleDocSelection |
toggleFolder |
software | healthy | frontend/src/app/library/page.tsx:toggleFolder |
toggleCollectionSelection |
software | healthy | frontend/src/app/library/page.tsx:toggleCollectionSelection |
toggleSelectAll |
software | healthy | frontend/src/app/library/page.tsx:toggleSelectAll |
handleAssignFolder |
software | healthy | frontend/src/app/library/page.tsx:handleAssignFolder |
startRename |
software | healthy | frontend/src/app/library/page.tsx:startRename |
commitRename |
software | healthy | frontend/src/app/library/page.tsx:commitRename |
handleDeleteReminder |
software | healthy | frontend/src/app/library/page.tsx:handleDeleteReminder |
statusVariant |
software | healthy | frontend/src/app/library/page.tsx:statusVariant |
LoginPage |
software | healthy | frontend/src/app/login/page.tsx:LoginPage |
handleSubmit |
software | healthy | frontend/src/app/login/page.tsx:handleSubmit |
ResearchPage |
software | healthy | frontend/src/app/research/page.tsx:ResearchPage |
handleSubmit |
software | healthy | frontend/src/app/research/page.tsx:handleSubmit |
handleStop |
software | healthy | frontend/src/app/research/page.tsx:handleStop |
handleSaveToLibrary |
software | healthy | frontend/src/app/research/page.tsx:handleSaveToLibrary |
consumeGetSSE |
software | healthy | frontend/src/app/debate/page.tsx:consumeGetSSE |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
README.md |
software | healthy | README.md |
CLAUDE.md |
software | healthy | CLAUDE.md |
stop.sh |
software | healthy | stop.sh |
start.sh |
software | healthy | start.sh |
render.yaml |
software | healthy | render.yaml |
.env.example |
software | healthy | .env.example |
vercel.json |
software | healthy | frontend/vercel.json |
postcss.config.mjs |
software | healthy | frontend/postcss.config.mjs |
README.md |
software | healthy | frontend/README.md |
tailwind.config.ts |
software | healthy | frontend/tailwind.config.ts |
package.json |
software | healthy | frontend/package.json |
package-lock.json |
software | healthy | frontend/package-lock.json |
.eslintrc.json |
software | healthy | frontend/.eslintrc.json |
tsconfig.json |
software | healthy | frontend/tsconfig.json |
next.config.mjs |
software | healthy | frontend/next.config.mjs |
AppShell.tsx |
software | healthy | frontend/src/components/layout/AppShell.tsx |
Sidebar.tsx |
software | healthy | frontend/src/components/layout/Sidebar.tsx |
AuthGuard.tsx |
software | healthy | frontend/src/components/layout/AuthGuard.tsx |
ThemeProvider.tsx |
software | healthy | frontend/src/components/layout/ThemeProvider.tsx |
ThemeToggle.tsx |
software | healthy | frontend/src/components/layout/ThemeToggle.tsx |
LoadingSpinner.tsx |
software | healthy | frontend/src/components/ui/LoadingSpinner.tsx |
StreamingText.tsx |
software | healthy | frontend/src/components/ui/StreamingText.tsx |
DownloadMenu.tsx |
software | healthy | frontend/src/components/ui/DownloadMenu.tsx |
Badge.tsx |
software | healthy | frontend/src/components/ui/Badge.tsx |
globals.css |
software | healthy | frontend/src/app/globals.css |
page.tsx |
software | healthy | frontend/src/app/page.tsx |
layout.tsx |
software | healthy | frontend/src/app/layout.tsx |
page.tsx |
software | healthy | frontend/src/app/settings/page.tsx |
page.tsx |
software | healthy | frontend/src/app/library/page.tsx |
page.tsx |
software | healthy | frontend/src/app/login/page.tsx |
page.tsx |
software | healthy | frontend/src/app/research/page.tsx |
page.tsx |
software | healthy | frontend/src/app/debate/page.tsx |
page.tsx |
software | healthy | frontend/src/app/digest/page.tsx |
page.tsx |
software | healthy | frontend/src/app/analysis/page.tsx |
page.tsx |
software | healthy | frontend/src/app/analysis/[analysisId]/page.tsx |
page.tsx |
software | healthy | frontend/src/app/reports/page.tsx |
page.tsx |
software | healthy | frontend/src/app/reports/[reportId]/page.tsx |
page.tsx |
software | healthy | frontend/src/app/reports/new/page.tsx |
api.ts |
software | healthy | frontend/src/lib/api.ts |
types.ts |
software | healthy | frontend/src/lib/types.ts |
wordCount.ts |
software | healthy | frontend/src/lib/wordCount.ts |
settings.json |
software | healthy | .claude/settings.json |
security-patterns.yaml |
software | healthy | .claude/security-patterns.yaml |
claude-security-guidance.md |
software | healthy | .claude/claude-security-guidance.md |
database.py |
software | healthy | backend/database.py |
config.py |
software | healthy | backend/config.py |
.env.example |
software | healthy | backend/.env.example |
main.py |
software | healthy | backend/main.py |
requirements.txt |
software | healthy | backend/requirements.txt |
__init__.py |
software | healthy | backend/models/__init__.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
textColor |
software | healthy | frontend/src/app/debate/page.tsx:textColor |
based |
software | healthy | frontend/src/lib/wordCount.ts:based |
Base |
software | healthy | backend/database.py:8 |
Settings |
software | healthy | backend/config.py:5 |
Document |
software | healthy | backend/models/document.py:9 |
DocumentChunk |
software | healthy | backend/models/document.py:30 |
Debate |
software | healthy | backend/models/debate.py:9 |
DebateArgument |
software | healthy | backend/models/debate.py:26 |
ResearchSession |
software | healthy | backend/models/research_session.py:9 |
SearchResult |
software | healthy | backend/models/research_session.py:32 |
RiskAnalysis |
software | healthy | backend/models/research_session.py:50 |
Reminder |
software | healthy | backend/models/reminder.py:9 |
DigestSettings |
software | healthy | backend/models/digest_settings.py:9 |
ModelSettings |
software | healthy | backend/models/model_settings.py:9 |
Report |
software | healthy | backend/models/report.py:9 |
ReportSection |
software | healthy | backend/models/report.py:29 |
Retriever |
software | healthy | backend/rag/retriever.py:6 |
TextChunk |
software | healthy | backend/rag/chunker.py:7 |
RetrievedChunk |
software | healthy | backend/rag/vector_store.py:10 |
VectorStore |
software | healthy | backend/rag/vector_store.py:19 |
EncryptedString |
software | healthy | backend/services/secret_crypto.py:79 |
EmbeddingService |
software | healthy | backend/services/embedding_service.py:12 |
SearchResult |
software | healthy | backend/services/tavily_client.py:9 |
TavilyClient |
software | healthy | backend/services/tavily_client.py:18 |
DocumentResponse |
software | healthy | backend/schemas/document.py:5 |
DocumentDetail |
software | healthy | backend/schemas/document.py:22 |
DocumentFolderRequest |
software | healthy | backend/schemas/document.py:26 |
FolderRenameRequest |
software | healthy | backend/schemas/document.py:32 |
ChatMessage |
software | healthy | backend/schemas/document.py:37 |
DocumentAskRequest |
software | healthy | backend/schemas/document.py:42 |
IngestUrlRequest |
software | healthy | backend/schemas/document.py:50 |
DebateStartRequest |
software | healthy | backend/schemas/debate.py:5 |
DebateArgumentResponse |
software | healthy | backend/schemas/debate.py:10 |
DebateResponse |
software | healthy | backend/schemas/debate.py:23 |
DebateDetail |
software | healthy | backend/schemas/debate.py:35 |
ReminderResponse |
software | healthy | backend/schemas/reminder.py:5 |
ResearchStartRequest |
software | healthy | backend/schemas/research.py:5 |
SearchResultResponse |
software | healthy | backend/schemas/research.py:11 |
ResearchSessionResponse |
software | healthy | backend/schemas/research.py:24 |
ResearchSessionDetail |
software | healthy | backend/schemas/research.py:36 |
AnalysisStartRequest |
software | healthy | backend/schemas/analysis.py:5 |
RiskAnalysisResponse |
software | healthy | backend/schemas/analysis.py:12 |
ReportGenerateRequest |
software | healthy | backend/schemas/report.py:5 |
ReportSectionResponse |
software | healthy | backend/schemas/report.py:15 |
ReportResponse |
software | healthy | backend/schemas/report.py:26 |
ReportDetail |
software | healthy | backend/schemas/report.py:39 |
ReportUpdateRequest |
software | healthy | backend/schemas/report.py:44 |
ReportDraftRequest |
software | healthy | backend/schemas/report.py:50 |
LoginIn |
software | healthy | backend/routers/auth.py:19 |
DigestSettingsIn |
software | healthy | backend/routers/digest.py:67 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
GET /health |
api | healthy | backend/main.py |
POST /generate |
api | healthy | backend/routers/reports.py |
GET /template/{report_type} |
api | healthy | backend/routers/reports.py |
POST /draft |
api | healthy | backend/routers/reports.py |
GET / |
api | healthy | backend/routers/reports.py |
GET /{report_id} |
api | healthy | backend/routers/reports.py |
PATCH /{report_id} |
api | healthy | backend/routers/reports.py |
GET /{report_id}/export |
api | healthy | backend/routers/reports.py |
DELETE /{report_id} |
api | healthy | backend/routers/reports.py |
GET /status |
api | healthy | backend/routers/auth.py |
POST /login |
api | healthy | backend/routers/auth.py |
POST /start |
api | healthy | backend/routers/debate.py |
GET /{debate_id}/stream |
api | healthy | backend/routers/debate.py |
GET /{debate_id} |
api | healthy | backend/routers/debate.py |
DELETE /{debate_id} |
api | healthy | backend/routers/debate.py |
GET /settings |
api | healthy | backend/routers/digest.py |
PUT /settings |
api | healthy | backend/routers/digest.py |
POST /send-now |
api | healthy | backend/routers/digest.py |
GET /{session_id}/stream |
api | healthy | backend/routers/research.py |
GET /{session_id} |
api | healthy | backend/routers/research.py |
POST /{session_id}/save-to-library |
api | healthy | backend/routers/research.py |
DELETE /{session_id} |
api | healthy | backend/routers/research.py |
DELETE /{reminder_id} |
api | healthy | backend/routers/reminders.py |
GET /models |
api | healthy | backend/routers/settings.py |
PUT /models |
api | healthy | backend/routers/settings.py |
POST /upload |
api | healthy | backend/routers/documents.py |
POST /ingest-url |
api | healthy | backend/routers/documents.py |
GET /{doc_id} |
api | healthy | backend/routers/documents.py |
POST /assign-folder |
api | healthy | backend/routers/documents.py |
POST /rename-folder |
api | healthy | backend/routers/documents.py |
DELETE /{doc_id} |
api | healthy | backend/routers/documents.py |
POST /ask |
api | healthy | backend/routers/documents.py |
GET /{analysis_id} |
api | healthy | backend/routers/analysis.py |
GET /{analysis_id}/export |
api | healthy | backend/routers/analysis.py |
DELETE /{analysis_id} |
api | healthy | backend/routers/analysis.py |
| Label | Layer | Status | Path |
|---|---|---|---|
frontend |
software | healthy | frontend |
src |
software | healthy | frontend/src |
components |
software | healthy | frontend/src/components |
layout |
software | healthy | frontend/src/components/layout |
ui |
software | healthy | frontend/src/components/ui |
app |
software | healthy | frontend/src/app |
settings |
software | healthy | frontend/src/app/settings |
library |
software | healthy | frontend/src/app/library |
login |
software | healthy | frontend/src/app/login |
research |
software | healthy | frontend/src/app/research |
debate |
software | healthy | frontend/src/app/debate |
digest |
software | healthy | frontend/src/app/digest |
analysis |
software | healthy | frontend/src/app/analysis |
[analysisId] |
software | healthy | frontend/src/app/analysis/[analysisId] |
reports |
software | healthy | frontend/src/app/reports |
[reportId] |
software | healthy | frontend/src/app/reports/[reportId] |
new |
software | healthy | frontend/src/app/reports/new |
lib |
software | healthy | frontend/src/lib |
.claude |
software | healthy | .claude |
backend |
software | healthy | backend |
models |
software | healthy | backend/models |
tests |
software | healthy | backend/tests |
utils |
software | healthy | backend/utils |
rag |
software | healthy | backend/rag |
templates |
software | healthy | backend/templates |
services |
software | healthy | backend/services |
evals |
software | healthy | backend/evals |
schemas |
software | healthy | backend/schemas |
routers |
software | healthy | backend/routers |
| Label | Layer | Status | Path |
|---|---|---|---|
Base |
data | healthy | backend/database.py |
Document |
data | healthy | backend/models/document.py |
DocumentChunk |
data | healthy | backend/models/document.py |
documents |
data | healthy | backend/models/document.py |
document_chunks |
data | healthy | backend/models/document.py |
Debate |
data | healthy | backend/models/debate.py |
DebateArgument |
data | healthy | backend/models/debate.py |
debates |
data | healthy | backend/models/debate.py |
debate_arguments |
data | healthy | backend/models/debate.py |
ResearchSession |
data | healthy | backend/models/research_session.py |
SearchResult |
data | healthy | backend/models/research_session.py |
RiskAnalysis |
data | healthy | backend/models/research_session.py |
research_sessions |
data | healthy | backend/models/research_session.py |
search_results |
data | healthy | backend/models/research_session.py |
risk_analyses |
data | healthy | backend/models/research_session.py |
Reminder |
data | healthy | backend/models/reminder.py |
reminders |
data | healthy | backend/models/reminder.py |
DigestSettings |
data | healthy | backend/models/digest_settings.py |
digest_settings |
data | healthy | backend/models/digest_settings.py |
ModelSettings |
data | healthy | backend/models/model_settings.py |
model_settings |
data | healthy | backend/models/model_settings.py |
Report |
data | healthy | backend/models/report.py |
ReportSection |
data | healthy | backend/models/report.py |
reports |
data | healthy | backend/models/report.py |
report_sections |
data | healthy | backend/models/report.py |
| Label | Layer | Status | Path |
|---|---|---|---|
AppShell |
frontend | healthy | frontend/src/components/layout/AppShell.tsx |
Sidebar |
frontend | healthy | frontend/src/components/layout/Sidebar.tsx |
AuthGuard |
frontend | healthy | frontend/src/components/layout/AuthGuard.tsx |
ThemeProvider |
frontend | healthy | frontend/src/components/layout/ThemeProvider.tsx |
ThemeToggle |
frontend | healthy | frontend/src/components/layout/ThemeToggle.tsx |
LoadingSpinner |
frontend | healthy | frontend/src/components/ui/LoadingSpinner.tsx |
StreamingText |
frontend | healthy | frontend/src/components/ui/StreamingText.tsx |
DownloadMenu |
frontend | healthy | frontend/src/components/ui/DownloadMenu.tsx |
Badge |
frontend | healthy | frontend/src/components/ui/Badge.tsx |
Dashboard |
frontend | healthy | frontend/src/app/page.tsx |
RootLayout |
frontend | healthy | frontend/src/app/layout.tsx |
SettingsPage |
frontend | healthy | frontend/src/app/settings/page.tsx |
LibraryPage |
frontend | healthy | frontend/src/app/library/page.tsx |
LoginPage |
frontend | healthy | frontend/src/app/login/page.tsx |
ResearchPage |
frontend | healthy | frontend/src/app/research/page.tsx |
DebatePage |
frontend | healthy | frontend/src/app/debate/page.tsx |
DigestPage |
frontend | healthy | frontend/src/app/digest/page.tsx |
AnalysisPage |
frontend | healthy | frontend/src/app/analysis/page.tsx |
AnalysisDetailPage |
frontend | healthy | frontend/src/app/analysis/[analysisId]/page.tsx |
ReportsPage |
frontend | healthy | frontend/src/app/reports/page.tsx |
ReportViewPage |
frontend | healthy | frontend/src/app/reports/[reportId]/page.tsx |
NewReportPage |
frontend | healthy | frontend/src/app/reports/new/page.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
/page.tsx |
frontend | healthy | frontend/src/app/page.tsx |
/settings |
frontend | healthy | frontend/src/app/settings/page.tsx |
/library |
frontend | healthy | frontend/src/app/library/page.tsx |
/login |
frontend | healthy | frontend/src/app/login/page.tsx |
/research |
frontend | healthy | frontend/src/app/research/page.tsx |
/debate |
frontend | healthy | frontend/src/app/debate/page.tsx |
/digest |
frontend | healthy | frontend/src/app/digest/page.tsx |
/analysis |
frontend | healthy | frontend/src/app/analysis/page.tsx |
/analysis/[analysisId] |
frontend | healthy | frontend/src/app/analysis/[analysisId]/page.tsx |
/reports |
frontend | healthy | frontend/src/app/reports/page.tsx |
/reports/[reportId] |
frontend | healthy | frontend/src/app/reports/[reportId]/page.tsx |
/reports/new |
frontend | healthy | frontend/src/app/reports/new/page.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-yfm88905 |
software | healthy | /tmp/repobility-clone-yfm88905 |
| Label | Layer | Status | Path |
|---|---|---|---|
sqlite |
data | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
port:587 |
network | healthy | backend/services/digest_service.py |
| Label | Layer | Status | Path |
|---|---|---|---|
169.254.169.254 |
network | healthy | backend/routers/documents.py |
This page is publicly accessible at:
https://repobility.com/scan/69866e6f-10d3-4ca5-9d83-78df59229cdd/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/69866e6f-10d3-4ca5-9d83-78df59229cdd/
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.