https://github.com/Abdulrahman1191/deal-flow
· scanned 2026-06-17 01:12 UTC (1 month, 2 weeks ago)
53 raw signals (0 security + 53 graph)
Last scanned 1 month, 2 weeks ago · v2 · last Δ -3.5 (diff) · 32 actionable findings from 1 signal source. 21 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 610 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 |
|---|---|---|---|
health |
software | healthy | backend/app/main.py:61 |
spa_fallback |
software | healthy | backend/app/main.py:94 |
get_db |
software | dead | backend/app/database.py:21 |
__repr__ |
software | healthy | backend/app/models/lead.py:45 |
_owner_or_403 |
software | healthy | backend/app/routers/portfolio.py:41 |
vocab |
software | healthy | backend/app/routers/portfolio.py:122 |
_company_to_out |
software | healthy | backend/app/routers/portfolio.py:134 |
list_companies |
software | healthy | backend/app/routers/portfolio.py:156 |
create_company |
software | healthy | backend/app/routers/portfolio.py:177 |
get_company |
software | healthy | backend/app/routers/portfolio.py:213 |
update_company |
software | healthy | backend/app/routers/portfolio.py:250 |
delete_company |
software | healthy | backend/app/routers/portfolio.py:282 |
add_outcome |
software | healthy | backend/app/routers/portfolio.py:297 |
add_signal |
software | healthy | backend/app/routers/portfolio.py:330 |
delete_signal |
software | healthy | backend/app/routers/portfolio.py:363 |
portfolio_stats |
software | healthy | backend/app/routers/portfolio.py:383 |
get_today |
software | healthy | backend/app/routers/briefings.py:19 |
list_briefings |
software | healthy | backend/app/routers/briefings.py:31 |
get_by_date |
software | healthy | backend/app/routers/briefings.py:45 |
trigger_briefing |
software | healthy | backend/app/routers/briefings.py:58 |
_verify_copper_hmac |
software | healthy | backend/app/routers/leads.py:29 |
_parse_copper_payload |
software | healthy | backend/app/routers/leads.py:36 |
ingest_lead |
software | healthy | backend/app/routers/leads.py:81 |
list_leads |
software | healthy | backend/app/routers/leads.py:201 |
get_lead |
software | healthy | backend/app/routers/leads.py:233 |
update_lead |
software | healthy | backend/app/routers/leads.py:248 |
delete_lead |
software | healthy | backend/app/routers/leads.py:266 |
list_archive |
software | healthy | backend/app/routers/leads.py:294 |
archive_no_reply |
software | healthy | backend/app/routers/leads.py:355 |
find_linkedin |
software | healthy | backend/app/routers/leads.py:399 |
list_lead_events |
software | healthy | backend/app/routers/leads.py:435 |
get_pitch_deck |
software | healthy | backend/app/routers/leads.py:459 |
from_row |
software | healthy | backend/app/routers/feedback.py:37 |
submit_feedback |
software | healthy | backend/app/routers/feedback.py:50 |
list_feedback |
software | healthy | backend/app/routers/feedback.py:68 |
resolve_feedback |
software | healthy | backend/app/routers/feedback.py:80 |
list_overrides |
software | healthy | backend/app/routers/overrides.py:45 |
override_stats |
software | healthy | backend/app/routers/overrides.py:80 |
me |
software | healthy | backend/app/routers/auth.py:36 |
login_gone |
software | healthy | backend/app/routers/auth.py:48 |
register_gone |
software | healthy | backend/app/routers/auth.py:59 |
_get_card |
software | healthy | backend/app/routers/assessments.py:31 |
get_send_queue |
software | healthy | backend/app/routers/assessments.py:45 |
get_assessment |
software | healthy | backend/app/routers/assessments.py:80 |
approve_assessment |
software | healthy | backend/app/routers/assessments.py:89 |
_finalize_sent |
software | healthy | backend/app/routers/assessments.py:129 |
mark_sent |
software | healthy | backend/app/routers/assessments.py:176 |
send_assessment |
software | healthy | backend/app/routers/assessments.py:189 |
update_draft |
software | healthy | backend/app/routers/assessments.py:244 |
override_bucket |
software | healthy | backend/app/routers/assessments.py:274 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
.env.example |
software | healthy | .env.example |
PLATFORM_MIGRATION_PLAN.md |
software | healthy | PLATFORM_MIGRATION_PLAN.md |
LLM_TUNING_PLAN.md |
software | healthy | LLM_TUNING_PLAN.md |
README.md |
software | healthy | README.md |
docker-compose.yml |
software | healthy | docker-compose.yml |
DRIVE_OAUTH_SETUP.md |
software | healthy | DRIVE_OAUTH_SETUP.md |
PORTFOLIO_INTELLIGENCE_PLAN.md |
software | healthy | PORTFOLIO_INTELLIGENCE_PLAN.md |
Dockerfile |
software | healthy | Dockerfile |
requirements.txt |
software | healthy | backend/requirements.txt |
__init__.py |
software | healthy | backend/app/__init__.py |
config.py |
software | healthy | backend/app/config.py |
main.py |
software | healthy | backend/app/main.py |
database.py |
software | healthy | backend/app/database.py |
__init__.py |
software | healthy | backend/app/schemas/__init__.py |
lead.py |
software | healthy | backend/app/schemas/lead.py |
assessment.py |
software | healthy | backend/app/schemas/assessment.py |
auth.py |
software | healthy | backend/app/schemas/auth.py |
briefing.py |
software | healthy | backend/app/schemas/briefing.py |
portfolio.py |
software | healthy | backend/app/models/portfolio.py |
copper_outbox.py |
software | healthy | backend/app/models/copper_outbox.py |
__init__.py |
software | healthy | backend/app/models/__init__.py |
event.py |
software | healthy | backend/app/models/event.py |
feedback.py |
software | healthy | backend/app/models/feedback.py |
user.py |
software | healthy | backend/app/models/user.py |
lead.py |
software | healthy | backend/app/models/lead.py |
assessment.py |
software | healthy | backend/app/models/assessment.py |
override.py |
software | healthy | backend/app/models/override.py |
briefing.py |
software | healthy | backend/app/models/briefing.py |
portfolio.py |
software | healthy | backend/app/routers/portfolio.py |
__init__.py |
software | healthy | backend/app/routers/__init__.py |
briefings.py |
software | healthy | backend/app/routers/briefings.py |
leads.py |
software | healthy | backend/app/routers/leads.py |
feedback.py |
software | healthy | backend/app/routers/feedback.py |
overrides.py |
software | healthy | backend/app/routers/overrides.py |
auth.py |
software | healthy | backend/app/routers/auth.py |
assessments.py |
software | healthy | backend/app/routers/assessments.py |
drain_outbox.py |
software | healthy | backend/app/tasks/drain_outbox.py |
__init__.py |
software | healthy | backend/app/tasks/__init__.py |
generate_briefing.py |
software | healthy | backend/app/tasks/generate_briefing.py |
sync_copper.py |
software | healthy | backend/app/tasks/sync_copper.py |
assess_lead.py |
software | healthy | backend/app/tasks/assess_lead.py |
dedupe_leads.py |
software | healthy | backend/app/tasks/dedupe_leads.py |
celery_app.py |
software | healthy | backend/app/tasks/celery_app.py |
research.py |
software | healthy | backend/app/services/research.py |
copper_writer.py |
software | healthy | backend/app/services/copper_writer.py |
dedup.py |
software | healthy | backend/app/services/dedup.py |
events.py |
software | healthy | backend/app/services/events.py |
email_sender.py |
software | healthy | backend/app/services/email_sender.py |
__init__.py |
software | healthy | backend/app/services/__init__.py |
claude_agent.py |
software | healthy | backend/app/services/claude_agent.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
Settings |
software | healthy | backend/app/config.py:10 |
Config |
software | healthy | backend/app/config.py:85 |
Base |
software | healthy | backend/app/database.py:17 |
LeadIngest |
software | healthy | backend/app/schemas/lead.py:9 |
LeadUpdate |
software | healthy | backend/app/schemas/lead.py:21 |
LeadOut |
software | healthy | backend/app/schemas/lead.py:27 |
LeadWithAssessment |
software | healthy | backend/app/schemas/lead.py:48 |
PaginatedLeads |
software | healthy | backend/app/schemas/lead.py:54 |
AssessmentOut |
software | healthy | backend/app/schemas/assessment.py:8 |
DraftUpdate |
software | healthy | backend/app/schemas/assessment.py:33 |
BucketOverride |
software | healthy | backend/app/schemas/assessment.py:38 |
AssessmentRating |
software | healthy | backend/app/schemas/assessment.py:46 |
LoginRequest |
software | healthy | backend/app/schemas/auth.py:4 |
TokenResponse |
software | healthy | backend/app/schemas/auth.py:9 |
TokenData |
software | healthy | backend/app/schemas/auth.py:14 |
BriefingOut |
software | healthy | backend/app/schemas/briefing.py:8 |
PaginatedBriefings |
software | healthy | backend/app/schemas/briefing.py:18 |
PortfolioCompany |
software | healthy | backend/app/models/portfolio.py:44 |
PortfolioOutcome |
software | healthy | backend/app/models/portfolio.py:73 |
PortfolioSignal |
software | healthy | backend/app/models/portfolio.py:88 |
CopperOutbox |
software | healthy | backend/app/models/copper_outbox.py:13 |
LeadEvent |
software | healthy | backend/app/models/event.py:13 |
Feedback |
software | healthy | backend/app/models/feedback.py:13 |
User |
software | healthy | backend/app/models/user.py:13 |
Lead |
software | healthy | backend/app/models/lead.py:13 |
AssessmentCard |
software | healthy | backend/app/models/assessment.py:13 |
AssessmentOverride |
software | healthy | backend/app/models/override.py:13 |
DailyBriefing |
software | healthy | backend/app/models/briefing.py:13 |
CompanyIn |
software | healthy | backend/app/routers/portfolio.py:49 |
CompanyOut |
software | healthy | backend/app/routers/portfolio.py:63 |
OutcomeIn |
software | healthy | backend/app/routers/portfolio.py:82 |
OutcomeOut |
software | healthy | backend/app/routers/portfolio.py:89 |
SignalIn |
software | healthy | backend/app/routers/portfolio.py:98 |
SignalOut |
software | healthy | backend/app/routers/portfolio.py:106 |
CompanyDetail |
software | healthy | backend/app/routers/portfolio.py:116 |
FeedbackIn |
software | healthy | backend/app/routers/feedback.py:21 |
FeedbackOut |
software | healthy | backend/app/routers/feedback.py:27 |
OverrideOut |
software | healthy | backend/app/routers/overrides.py:29 |
_MeOut |
software | healthy | backend/app/routers/auth.py:29 |
ErrorBoundary |
software | healthy | frontend/src/components/shared/ErrorBoundary.tsx:ErrorBound… |
| Label | Layer | Status | Path |
|---|---|---|---|
GET /health |
api | healthy | backend/app/main.py |
GET /{spa_path:path} |
api | healthy | backend/app/main.py |
GET /vocab |
api | healthy | backend/app/routers/portfolio.py |
GET /companies |
api | healthy | backend/app/routers/portfolio.py |
POST /companies |
api | healthy | backend/app/routers/portfolio.py |
GET /companies/{company_id} |
api | healthy | backend/app/routers/portfolio.py |
PATCH /companies/{company_id} |
api | healthy | backend/app/routers/portfolio.py |
DELETE /companies/{company_id} |
api | healthy | backend/app/routers/portfolio.py |
POST /companies/{company_id}/outcomes |
api | healthy | backend/app/routers/portfolio.py |
POST /companies/{company_id}/signals |
api | healthy | backend/app/routers/portfolio.py |
DELETE /companies/{company_id}/signals/{signal_id} |
api | healthy | backend/app/routers/portfolio.py |
GET /stats |
api | healthy | backend/app/routers/portfolio.py |
GET /today |
api | healthy | backend/app/routers/briefings.py |
GET / |
api | healthy | backend/app/routers/briefings.py |
GET /{briefing_date} |
api | healthy | backend/app/routers/briefings.py |
POST /generate |
api | healthy | backend/app/routers/briefings.py |
POST /ingest |
api | healthy | backend/app/routers/leads.py |
GET /{lead_id} |
api | healthy | backend/app/routers/leads.py |
PATCH /{lead_id} |
api | healthy | backend/app/routers/leads.py |
DELETE /{lead_id} |
api | healthy | backend/app/routers/leads.py |
GET /archive/list |
api | healthy | backend/app/routers/leads.py |
POST /{lead_id}/archive-no-reply |
api | healthy | backend/app/routers/leads.py |
POST /{lead_id}/find-linkedin |
api | healthy | backend/app/routers/leads.py |
GET /{lead_id}/events |
api | healthy | backend/app/routers/leads.py |
GET /{lead_id}/pitch-deck |
api | healthy | backend/app/routers/leads.py |
POST / |
api | healthy | backend/app/routers/feedback.py |
POST /{feedback_id}/resolve |
api | healthy | backend/app/routers/feedback.py |
GET /me |
api | healthy | backend/app/routers/auth.py |
POST /login |
api | healthy | backend/app/routers/auth.py |
POST /register |
api | healthy | backend/app/routers/auth.py |
GET /send-queue |
api | healthy | backend/app/routers/assessments.py |
POST /{lead_id}/approve |
api | healthy | backend/app/routers/assessments.py |
POST /{lead_id}/mark-sent |
api | healthy | backend/app/routers/assessments.py |
POST /{lead_id}/send |
api | healthy | backend/app/routers/assessments.py |
PATCH /{lead_id}/draft |
api | healthy | backend/app/routers/assessments.py |
POST /{lead_id}/override |
api | healthy | backend/app/routers/assessments.py |
POST /{lead_id}/rate |
api | healthy | backend/app/routers/assessments.py |
POST /{lead_id}/regenerate-draft |
api | healthy | backend/app/routers/assessments.py |
POST /{lead_id}/reassess |
api | healthy | backend/app/routers/assessments.py |
| Label | Layer | Status | Path |
|---|---|---|---|
App |
frontend | healthy | frontend/src/App.tsx |
Navbar |
frontend | healthy | frontend/src/components/layout/Navbar.tsx |
FeedbackModal |
frontend | healthy | frontend/src/components/leads/FeedbackModal.tsx |
LeadBucket |
frontend | healthy | frontend/src/components/leads/LeadBucket.tsx |
LeadCard |
frontend | healthy | frontend/src/components/leads/LeadCard.tsx |
EmailModal |
frontend | healthy | frontend/src/components/leads/EmailModal.tsx |
ReasonModal |
frontend | healthy | frontend/src/components/leads/ReasonModal.tsx |
ActionButtons |
frontend | healthy | frontend/src/components/leads/ActionButtons.tsx |
StatsRow |
frontend | healthy | frontend/src/components/leads/StatsRow.tsx |
ReasoningBox |
frontend | healthy | frontend/src/components/leads/ReasoningBox.tsx |
FeedbackButton |
frontend | healthy | frontend/src/components/feedback/FeedbackButton.tsx |
BriefingArchive |
frontend | healthy | frontend/src/components/briefing/BriefingArchive.tsx |
ThemeItem |
frontend | healthy | frontend/src/components/briefing/ThemeItem.tsx |
BriefingPanel |
frontend | healthy | frontend/src/components/briefing/BriefingPanel.tsx |
Modal |
frontend | healthy | frontend/src/components/shared/Modal.tsx |
ConfidenceBar |
frontend | healthy | frontend/src/components/shared/ConfidenceBar.tsx |
Badge |
frontend | healthy | frontend/src/components/shared/Badge.tsx |
AddCompanyModal |
frontend | healthy | frontend/src/components/portfolio/AddCompanyModal.tsx |
PortfolioCompanyDetailModal |
frontend | healthy | frontend/src/components/portfolio/PortfolioCompanyDetailMod… |
PortfolioPage |
frontend | healthy | frontend/src/pages/PortfolioPage.tsx |
FrameworkPage |
frontend | healthy | frontend/src/pages/FrameworkPage.tsx |
BriefingPage |
frontend | healthy | frontend/src/pages/BriefingPage.tsx |
ArchivePage |
frontend | healthy | frontend/src/pages/ArchivePage.tsx |
FeedbackInboxPage |
frontend | healthy | frontend/src/pages/FeedbackInboxPage.tsx |
SendQueuePage |
frontend | healthy | frontend/src/pages/SendQueuePage.tsx |
LeadsPage |
frontend | healthy | frontend/src/pages/LeadsPage.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
backend |
software | healthy | backend |
app |
software | healthy | backend/app |
schemas |
software | healthy | backend/app/schemas |
models |
software | healthy | backend/app/models |
routers |
software | healthy | backend/app/routers |
tasks |
software | healthy | backend/app/tasks |
services |
software | healthy | backend/app/services |
tests |
software | healthy | backend/tests |
scripts |
software | healthy | backend/scripts |
alembic |
software | healthy | backend/alembic |
versions |
software | healthy | backend/alembic/versions |
frontend |
software | healthy | frontend |
src |
software | healthy | frontend/src |
api |
software | healthy | frontend/src/api |
types |
software | healthy | frontend/src/types |
components |
software | healthy | frontend/src/components |
layout |
software | healthy | frontend/src/components/layout |
leads |
software | healthy | frontend/src/components/leads |
feedback |
software | healthy | frontend/src/components/feedback |
briefing |
software | healthy | frontend/src/components/briefing |
shared |
software | healthy | frontend/src/components/shared |
portfolio |
software | healthy | frontend/src/components/portfolio |
pages |
software | healthy | frontend/src/pages |
store |
software | healthy | frontend/src/store |
lib |
software | healthy | frontend/src/lib |
| Label | Layer | Status | Path |
|---|---|---|---|
Base |
data | healthy | backend/app/database.py |
PortfolioCompany |
data | healthy | backend/app/models/portfolio.py |
PortfolioOutcome |
data | healthy | backend/app/models/portfolio.py |
PortfolioSignal |
data | healthy | backend/app/models/portfolio.py |
portfolio_companies |
data | healthy | backend/app/models/portfolio.py |
portfolio_outcomes |
data | healthy | backend/app/models/portfolio.py |
portfolio_signals |
data | healthy | backend/app/models/portfolio.py |
CopperOutbox |
data | healthy | backend/app/models/copper_outbox.py |
copper_outbox |
data | healthy | backend/app/models/copper_outbox.py |
LeadEvent |
data | healthy | backend/app/models/event.py |
lead_events |
data | healthy | backend/app/models/event.py |
Feedback |
data | healthy | backend/app/models/feedback.py |
feedback |
data | healthy | backend/app/models/feedback.py |
User |
data | healthy | backend/app/models/user.py |
users |
data | healthy | backend/app/models/user.py |
Lead |
data | healthy | backend/app/models/lead.py |
leads |
data | healthy | backend/app/models/lead.py |
AssessmentCard |
data | healthy | backend/app/models/assessment.py |
assessment_cards |
data | healthy | backend/app/models/assessment.py |
AssessmentOverride |
data | healthy | backend/app/models/override.py |
assessment_overrides |
data | healthy | backend/app/models/override.py |
DailyBriefing |
data | healthy | backend/app/models/briefing.py |
daily_briefings |
data | healthy | backend/app/models/briefing.py |
| Label | Layer | Status | Path |
|---|---|---|---|
/PortfolioPage |
frontend | healthy | frontend/src/pages/PortfolioPage.tsx |
/FrameworkPage |
frontend | healthy | frontend/src/pages/FrameworkPage.tsx |
/BriefingPage |
frontend | healthy | frontend/src/pages/BriefingPage.tsx |
/ArchivePage |
frontend | healthy | frontend/src/pages/ArchivePage.tsx |
/FeedbackInboxPage |
frontend | healthy | frontend/src/pages/FeedbackInboxPage.tsx |
/SendQueuePage |
frontend | healthy | frontend/src/pages/SendQueuePage.tsx |
/LeadsPage |
frontend | healthy | frontend/src/pages/LeadsPage.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
image::Dockerfile |
hardware | healthy | Dockerfile |
app |
hardware | healthy | docker-compose.yml |
worker |
hardware | healthy | docker-compose.yml |
redis |
hardware | healthy | docker-compose.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::README.md |
security | healthy | README.md |
auth::backend/scripts/sync_drive_to_db.py |
security | healthy | backend/scripts/sync_drive_to_db.py |
auth::backend/app/config.py |
security | healthy | backend/app/config.py |
auth::frontend/src/lib/auth.ts |
security | healthy | frontend/src/lib/auth.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
postgresql |
data | healthy | .env.example |
redis |
data | healthy | .env.example |
postgres |
data | healthy | backend/app/main.py |
| Label | Layer | Status | Path |
|---|---|---|---|
port:3000 |
network | healthy | docker-compose.yml |
port:5174 |
network | healthy | frontend/vite.config.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
caddy |
network | healthy | backend/app/main.py |
nginx |
network | healthy | backend/app/main.py |
| Label | Layer | Status | Path |
|---|---|---|---|
Abdulrahman1191__deal-flow |
software | healthy | /data/fable5_failed_archive/Abdulrahman1191__deal-flow |
| Label | Layer | Status | Path |
|---|---|---|---|
celery |
data | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::lightsail |
hardware | healthy | docker-compose.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
password_literal::backend/app/services/auth.py |
security | healthy | backend/app/services/auth.py |
This page is publicly accessible at:
https://repobility.com/scan/a431df9b-89ea-43cd-aa24-152915055b6e/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/a431df9b-89ea-43cd-aa24-152915055b6e/
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.