https://github.com/Yusuprozimemet/LearnX-Radar
· scanned 2026-06-16 01:09 UTC (2 months, 1 week ago)
26 raw signals (0 security + 26 graph)
Last scanned 2 months, 1 week ago · v1 · 23 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 676 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 |
|---|---|---|---|
validate |
software | healthy | config.py:394 |
_fail |
software | healthy | main.py:63 |
_report |
software | healthy | main.py:68 |
_scrape |
software | healthy | main.py:82 |
_persist_so_counts |
software | healthy | main.py:136 |
_refresh_dashboard |
software | healthy | main.py:145 |
_ingest_inbound |
software | healthy | main.py:155 |
_build_dutch |
software | healthy | main.py:190 |
_run |
software | healthy | main.py:261 |
main |
software | healthy | main.py:411 |
load_prompt |
software | healthy | radar/prompt_loader.py:7 |
_demand_weight |
software | healthy | radar/gap_scorer.py:28 |
_days_since |
software | healthy | radar/gap_scorer.py:35 |
_novelty |
software | healthy | radar/gap_scorer.py:44 |
_table_stakes_penalty |
software | healthy | radar/gap_scorer.py:65 |
_known_penalty |
software | healthy | radar/gap_scorer.py:72 |
_goal_match |
software | healthy | radar/gap_scorer.py:79 |
_momentum |
software | healthy | radar/gap_scorer.py:88 |
score |
software | healthy | radar/gap_scorer.py:126 |
top |
software | healthy | radar/gap_scorer.py:173 |
scrub |
software | healthy | radar/privacy.py:27 |
_digest_line |
software | healthy | radar/skill_extractor.py:40 |
_build_digest |
software | healthy | radar/skill_extractor.py:45 |
_est_tokens |
software | healthy | radar/skill_extractor.py:49 |
_chunk_by_tokens |
software | healthy | radar/skill_extractor.py:54 |
_clean |
software | healthy | radar/skill_extractor.py:76 |
_salvage |
software | healthy | radar/skill_extractor.py:102 |
_extract_chunk |
software | healthy | radar/skill_extractor.py:119 |
_canonical |
software | healthy | radar/skill_extractor.py:132 |
_reduce |
software | healthy | radar/skill_extractor.py:138 |
_is_ambiguous |
software | healthy | radar/skill_extractor.py:160 |
_term_pattern |
software | healthy | radar/skill_extractor.py:164 |
_surfaces_for |
software | healthy | radar/skill_extractor.py:176 |
_haystack |
software | healthy | radar/skill_extractor.py:184 |
_attribute |
software | healthy | radar/skill_extractor.py:188 |
_extract_single_pass |
software | healthy | radar/skill_extractor.py:221 |
extract |
software | healthy | radar/skill_extractor.py:227 |
_discourse_bias |
software | healthy | radar/brief_writer.py:34 |
action_step |
software | healthy | radar/brief_writer.py:68 |
_prior_context |
software | healthy | radar/brief_writer.py:74 |
_dedup_by_url |
software | healthy | radar/brief_writer.py:98 |
_select_sources |
software | healthy | radar/brief_writer.py:111 |
_sources_section |
software | healthy | radar/brief_writer.py:164 |
write |
software | healthy | radar/brief_writer.py:177 |
test_web_clean_strips_jina_header_and_boilerplate |
software | healthy | radar/tests/test_research.py:12 |
test_web_clean_blocked_page_is_empty |
software | healthy | radar/tests/test_research.py:28 |
test_exa_search_no_key_returns_empty |
software | healthy | radar/tests/test_research.py:34 |
test_exa_search_parses_results |
software | healthy | radar/tests/test_research.py:39 |
__enter__ |
software | healthy | radar/tests/test_research.py:49 |
__exit__ |
software | healthy | radar/tests/test_research.py:52 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
requirements-dev.txt |
software | healthy | requirements-dev.txt |
README.md |
software | healthy | README.md |
config.py |
software | healthy | config.py |
.env.example |
software | healthy | .env.example |
pyproject.toml |
software | healthy | pyproject.toml |
LICENSE |
software | healthy | LICENSE |
main.py |
software | healthy | main.py |
requirements.txt |
software | healthy | requirements.txt |
20260608-langchain.md |
software | healthy | briefs/20260608-langchain.md |
20260607-langchain.md |
software | healthy | briefs/20260607-langchain.md |
20260611-agentic-coding.md |
software | healthy | briefs/20260611-agentic-coding.md |
20260613-llm.md |
software | healthy | briefs/20260613-llm.md |
20260614-duckdb.md |
software | healthy | briefs/20260614-duckdb.md |
20260606-claude.md |
software | healthy | briefs/20260606-claude.md |
20260605-duckdb.md |
software | healthy | briefs/20260605-duckdb.md |
20260610-rust-async-await.md |
software | healthy | briefs/20260610-rust-async-await.md |
20260612-react-server-components.md |
software | healthy | briefs/20260612-react-server-components.md |
20260609-postgres.md |
software | healthy | briefs/20260609-postgres.md |
20260615-langchain.md |
software | healthy | briefs/20260615-langchain.md |
__init__.py |
software | healthy | radar/__init__.py |
prompt_loader.py |
software | healthy | radar/prompt_loader.py |
gap_scorer.py |
software | healthy | radar/gap_scorer.py |
privacy.py |
software | healthy | radar/privacy.py |
skill_extractor.py |
software | healthy | radar/skill_extractor.py |
brief_writer.py |
software | healthy | radar/brief_writer.py |
__init__.py |
software | healthy | radar/tests/__init__.py |
test_research.py |
software | healthy | radar/tests/test_research.py |
test_privacy.py |
software | healthy | radar/tests/test_privacy.py |
test_radar.py |
software | healthy | radar/tests/test_radar.py |
__init__.py |
software | healthy | radar/research/__init__.py |
exa.py |
software | healthy | radar/research/exa.py |
base.py |
software | healthy | radar/research/base.py |
web.py |
software | healthy | radar/research/web.py |
synth.py |
software | healthy | radar/research/synth.py |
__init__.py |
software | healthy | dutch/__init__.py |
prompt_loader.py |
software | healthy | dutch/prompt_loader.py |
wordlist.py |
software | healthy | dutch/wordlist.py |
build_wordlist.py |
software | healthy | dutch/build_wordlist.py |
audio.py |
software | healthy | dutch/audio.py |
lesson.py |
software | healthy | dutch/lesson.py |
cloze.py |
software | healthy | dutch/cloze.py |
trainer.py |
software | healthy | dutch/trainer.py |
wordlist.json |
software | healthy | dutch/wordlist.json |
test_dutch.py |
software | healthy | dutch/tests/test_dutch.py |
__init__.py |
software | healthy | dutch/tests/__init__.py |
exp_extraction.py |
software | healthy | scripts/exp_extraction.py |
exp_grounding.py |
software | healthy | scripts/exp_grounding.py |
exp_momentum.py |
software | healthy | scripts/exp_momentum.py |
preview_lesson.py |
software | healthy | scripts/preview_lesson.py |
dutch.html |
software | healthy | dashboard/dutch.html |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
briefs |
software | healthy | briefs |
radar |
software | healthy | radar |
tests |
software | healthy | radar/tests |
research |
software | healthy | radar/research |
dutch |
software | healthy | dutch |
tests |
software | healthy | dutch/tests |
scripts |
software | healthy | scripts |
dashboard |
software | healthy | dashboard |
tests |
software | healthy | dashboard/tests |
delivery |
software | healthy | delivery |
tests |
software | healthy | delivery/tests |
agents |
software | healthy | agents |
tests |
software | healthy | agents/tests |
fixtures |
software | healthy | agents/tests/fixtures |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
plan |
software | healthy | plan |
specs |
software | healthy | specs |
v2 |
software | healthy | specs/v2 |
v6 |
software | healthy | specs/v6 |
v8 |
software | healthy | specs/v8 |
v1 |
software | healthy | specs/v1 |
v7 |
software | healthy | specs/v7 |
v5 |
software | healthy | specs/v5 |
v10 |
software | healthy | specs/v10 |
v9 |
software | healthy | specs/v9 |
v3 |
software | healthy | specs/v3 |
v4 |
software | healthy | specs/v4 |
storage |
software | healthy | storage |
lessons |
software | healthy | storage/lessons |
tests |
software | healthy | storage/tests |
learnx |
software | healthy | learnx |
tests |
software | healthy | learnx/tests |
| Label | Layer | Status | Path |
|---|---|---|---|
_Resp |
software | healthy | radar/tests/test_research.py:48 |
ExaChannel |
software | healthy | radar/research/exa.py:17 |
Channel |
software | healthy | radar/research/base.py:12 |
WebChannel |
software | healthy | radar/research/web.py:48 |
DutchLesson |
software | healthy | dutch/lesson.py:20 |
_CountingChat |
software | healthy | scripts/exp_extraction.py:36 |
_CountingReader |
software | healthy | scripts/exp_grounding.py:59 |
_OkResp |
software | healthy | delivery/tests/test_delivery.py:261 |
_UpdatesResp |
software | healthy | delivery/tests/test_delivery.py:314 |
_FakeResp |
software | healthy | delivery/tests/test_delivery.py:403 |
_Resp |
software | healthy | agents/tests/test_agents.py:144 |
TeachingUnit |
software | healthy | learnx/models.py:12 |
DialogueLine |
software | healthy | learnx/models.py:24 |
RenderedSegment |
software | healthy | learnx/models.py:36 |
| Label | Layer | Status | Path |
|---|---|---|---|
GITHUB_TOKEN |
cicd | healthy | — |
TELEGRAM_BOT_USERNAME |
cicd | healthy | — |
TELEGRAM_CHANNEL_ID |
cicd | healthy | — |
TELEGRAM_BOT_TOKEN |
cicd | healthy | — |
TELEGRAM_CHAT_ID |
cicd | healthy | — |
GMAIL_APP_PASSWORD |
cicd | healthy | — |
TELEGRAM_CHANNEL_BOT_TOKEN |
cicd | healthy | — |
EMAIL_FROM |
cicd | healthy | — |
NVIDIA_API_KEY |
cicd | healthy | — |
DEVTO_API_KEY |
cicd | healthy | — |
EMAIL_TO |
cicd | healthy | — |
WAITLIST_URL |
cicd | healthy | — |
EXA_API_KEY |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
postgres |
data | healthy | config.py |
postgresql |
data | healthy | config.py |
redis |
data | healthy | radar/tests/test_radar.py |
mongodb |
data | healthy | radar/tests/test_radar.py |
sqlite |
data | healthy | storage/trending_history.json |
clickhouse |
data | healthy | storage/trending_history.json |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::aws |
hardware | healthy | config.py |
vps::azure |
hardware | healthy | agents/tests/fixtures/hn_front_page.json |
vps::gcp |
hardware | healthy | agents/tests/fixtures/hn_item.json |
vps::ec2 |
hardware | healthy | storage/seen_skills.json |
vps::digitalocean |
hardware | healthy | storage/seen_skills.json |
| Label | Layer | Status | Path |
|---|---|---|---|
caddy |
network | healthy | storage/seen_skills.json |
nginx |
network | healthy | storage/seen_skills.json |
traefik |
network | healthy | storage/seen_skills.json |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::agents/reddit_agent.py |
security | healthy | agents/reddit_agent.py |
auth::storage/seen_skills.json |
security | healthy | storage/seen_skills.json |
auth::dutch/wordlist.json |
security | healthy | dutch/wordlist.json |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::radar |
cicd | healthy | .github/workflows/radar.yml |
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
gha::pages |
cicd | healthy | .github/workflows/pages.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
radar |
cicd | healthy | .github/workflows/radar.yml |
test |
cicd | healthy | .github/workflows/ci.yml |
deploy |
cicd | healthy | .github/workflows/pages.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-9fc7r_a_ |
software | healthy | /tmp/repobility-clone-9fc7r_a_ |
| Label | Layer | Status | Path |
|---|---|---|---|
kafka |
data | healthy | radar/tests/test_radar.py |
| Label | Layer | Status | Path |
|---|---|---|---|
port:06 |
network | healthy | .github/workflows/radar.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | README.md |
This page is publicly accessible at:
https://repobility.com/scan/3afadb6d-11ab-46cd-a2a8-b71e26d47961/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/3afadb6d-11ab-46cd-a2a8-b71e26d47961/
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.