https://github.com/tabrislee-create/portfolio-pwa
· scanned 2026-06-16 00:28 UTC (2 months, 2 weeks ago)
42 raw signals (0 security + 42 graph)
Last scanned 2 months, 2 weeks ago · v1 · 42 actionable findings from 1 signal source. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 148 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 |
|---|---|---|---|
get_group |
software | healthy | app.py:84 |
get_fundamentals |
software | healthy | app.py:103 |
get_category |
software | healthy | app.py:145 |
get_db |
software | healthy | app.py:151 |
get_price_db |
software | healthy | app.py:156 |
fetch_latest_closes |
software | healthy | app.py:161 |
resolve_last_price |
software | healthy | app.py:187 |
_is_ytd_cashflow |
software | healthy | app.py:203 |
calc_ytd_modified_dietz |
software | healthy | app.py:209 |
calc_last_trade_dates |
software | healthy | app.py:253 |
calc_open_dates |
software | healthy | app.py:270 |
fetch_technicals |
software | healthy | app.py:332 |
calc_signals |
software | healthy | app.py:429 |
calc_position_hint |
software | healthy | app.py:477 |
get_summary |
software | healthy | app.py:512 |
_etf_ytd |
software | healthy | app.py:570 |
get_positions |
software | healthy | app.py:636 |
days_since |
software | healthy | app.py:664 |
signal_priority |
software | dead | app.py:788 |
get_allocation |
software | healthy | app.py:802 |
get_signals |
software | healthy | app.py:838 |
get_screener_latest |
software | healthy | app.py:850 |
_enrich |
software | healthy | app.py:883 |
get_screener_stats |
software | healthy | app.py:946 |
_load_watchlist |
software | healthy | app.py:990 |
_save_watchlist |
software | healthy | app.py:996 |
get_watchlist |
software | healthy | app.py:1000 |
add_watchlist |
software | healthy | app.py:1041 |
remove_watchlist |
software | healthy | app.py:1052 |
_load_etf_watchlist |
software | healthy | app.py:1062 |
_calc_etf_metrics |
software | healthy | app.py:1068 |
_calc_etf_aum_flow |
software | healthy | app.py:1115 |
_aum |
software | healthy | app.py:1131 |
_price_on_or_before |
software | healthy | app.py:1141 |
_etf_health_score |
software | healthy | app.py:1170 |
_etf_signal |
software | healthy | app.py:1197 |
get_etf_recommendations |
software | healthy | app.py:1209 |
_fmt_usd |
software | healthy | app.py:1289 |
_fmt_pct |
software | healthy | app.py:1305 |
_fetch_latest_quarter_fcf |
software | healthy | app.py:1314 |
_fetch_ticker_info_for_ai |
software | healthy | app.py:1332 |
_fetch_watch_context |
software | healthy | app.py:1392 |
_build_watch_context_note |
software | healthy | app.py:1402 |
_build_ai_insight_prompt |
software | healthy | app.py:1435 |
_extract_json_text |
software | healthy | app.py:1485 |
_call_ollama_for_insight |
software | healthy | app.py:1494 |
_ai_snapshot_conn |
software | healthy | app.py:1519 |
_load_ai_snapshot |
software | healthy | app.py:1528 |
_save_ai_snapshot |
software | healthy | app.py:1544 |
_delete_ai_snapshot |
software | healthy | app.py:1556 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
GET /api/summary |
api | healthy | app.py |
GET /api/positions |
api | healthy | app.py |
GET /api/allocation |
api | healthy | app.py |
GET /api/signals |
api | healthy | app.py |
GET /api/screener/latest |
api | healthy | app.py |
GET /api/screener/stats |
api | healthy | app.py |
GET /api/watchlist |
api | healthy | app.py |
POST /api/watchlist/add |
api | healthy | app.py |
POST /api/watchlist/remove |
api | healthy | app.py |
GET /api/etf_recommendations |
api | healthy | app.py |
GET /api/ai_insight/{ticker} |
api | healthy | app.py |
GET /api/earnings_qa/{ticker} |
api | healthy | app.py |
GET /api/chip_analysis/{ticker} |
api | healthy | app.py |
GET /api/ownership/{ticker} |
api | healthy | app.py |
GET /api/chip_review/{ticker} |
api | healthy | app.py |
POST /api/chip_review/{ticker} |
api | healthy | app.py |
GET / |
api | healthy | app.py |
GET /manifest.json |
api | healthy | app.py |
GET /api/market_review |
api | healthy | app.py |
GET /api/prices |
api | healthy | app.py |
GET /api/live-prices |
api | healthy | app.py |
GET /api/backtest |
api | healthy | app.py |
GET /api/premarket |
api | healthy | app.py |
GET /data/economic_calendar.json |
api | healthy | app.py |
GET /api/screener/live-prices |
api | healthy | app.py |
| Label | Layer | Status | Path |
|---|---|---|---|
manifest.json |
software | healthy | manifest.json |
CLAUDE.md |
software | healthy | CLAUDE.md |
app.py |
software | healthy | app.py |
index.html |
software | healthy | index.html |
etf_watchlist.json |
software | healthy | etf_watchlist.json |
ownership_fetcher.py |
software | healthy | ownership_fetcher.py |
CLAUDE.md |
quality | healthy | CLAUDE.md |
| Label | Layer | Status | Path |
|---|---|---|---|
ai_insight_snapshot |
data | healthy | app.py |
chip_review_log |
data | healthy | app.py |
ownership_snapshot |
data | healthy | ownership_fetcher.py |
| Label | Layer | Status | Path |
|---|---|---|---|
100.87.162.16 |
network | healthy | CLAUDE.md |
127.0.0.1 |
network | healthy | CLAUDE.md |
100.101.26.58 |
network | healthy | app.py |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-25tiqar3 |
software | healthy | /tmp/repobility-clone-25tiqar3 |
| Label | Layer | Status | Path |
|---|---|---|---|
port:8091 |
network | healthy | app.py |
This page is publicly accessible at:
https://repobility.com/scan/cc6d2617-c212-4b7a-8215-ab026b462aa0/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/cc6d2617-c212-4b7a-8215-ab026b462aa0/
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.