https://github.com/zkl202310-code/Japanese-writing-coach
· scanned 2026-06-16 01:13 UTC (2 months, 1 week ago)
36 raw signals (0 security + 36 graph)
Last scanned 2 months, 1 week ago · v1 · 35 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 189 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_db |
software | healthy | database.py:27 |
q |
software | healthy | database.py:35 |
_ensure_column |
software | healthy | database.py:40 |
init_db |
software | healthy | database.py:50 |
create_session |
software | healthy | database.py:122 |
update_session |
software | healthy | database.py:134 |
get_session |
software | healthy | database.py:145 |
save_error_records |
software | healthy | database.py:154 |
get_user_history |
software | healthy | database.py:171 |
get_user_stats |
software | healthy | database.py:208 |
_num |
software | healthy | database.py:236 |
save_email_session |
software | healthy | database.py:246 |
get_email_session |
software | healthy | database.py:269 |
get_email_history |
software | healthy | database.py:279 |
get_email_stats |
software | healthy | database.py:318 |
get_client |
software | healthy | llm_client.py:10 |
chat |
software | healthy | llm_client.py:20 |
chat_json |
software | healthy | llm_client.py:33 |
ping |
software | healthy | llm_client.py:47 |
_get_ocr_client |
software | healthy | llm_client.py:71 |
vision_ocr |
software | healthy | llm_client.py:94 |
get_topics |
software | healthy | data_loader.py:6 |
lifespan |
software | healthy | main.py:37 |
llm_error_handler |
software | healthy | main.py:55 |
safe_json |
software | healthy | main.py:88 |
fmt_reasons |
software | healthy | main.py:99 |
root |
software | healthy | main.py:106 |
health |
software | healthy | main.py:111 |
get_topic |
software | healthy | main.py:158 |
review_plan |
software | healthy | main.py:167 |
r |
software | healthy | main.py:170 |
get_socratic |
software | healthy | main.py:210 |
correct_draft |
software | healthy | main.py:237 |
get_reflection |
software | healthy | main.py:269 |
get_model_essay |
software | healthy | main.py:292 |
history |
software | healthy | main.py:321 |
_check_owner |
software | healthy | main.py:332 |
history_essay_detail |
software | healthy | main.py:340 |
ocr |
software | healthy | main.py:365 |
email_context |
software | healthy | main.py:409 |
email_correct |
software | healthy | main.py:414 |
history_email_detail |
software | healthy | main.py:443 |
email_model |
software | healthy | main.py:462 |
getUserId |
software | healthy | static/app.js:getUserId |
topicReqHTML |
software | healthy | static/app.js:topicReqHTML |
timerEls |
software | healthy | static/app.js:timerEls |
fmtClock |
software | healthy | static/app.js:fmtClock |
clearTimerIv |
software | healthy | static/app.js:clearTimerIv |
renderTimer |
software | healthy | static/app.js:renderTimer |
tickTimer |
software | healthy | static/app.js:tickTimer |
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 | healthy | main.py |
GET /api/health |
api | healthy | main.py |
GET /api/topic |
api | healthy | main.py |
POST /api/plan/review |
api | healthy | main.py |
POST /api/draft/socratic |
api | healthy | main.py |
POST /api/draft/correct |
api | healthy | main.py |
POST /api/reflection |
api | healthy | main.py |
POST /api/model-essay |
api | healthy | main.py |
GET /api/history |
api | healthy | main.py |
GET /api/history/essay/{session_id} |
api | healthy | main.py |
POST /api/ocr |
api | healthy | main.py |
POST /api/email/correct |
api | healthy | main.py |
GET /api/history/email/{session_id} |
api | healthy | main.py |
POST /api/email/model |
api | healthy | main.py |
| Label | Layer | Status | Path |
|---|---|---|---|
database.py |
software | healthy | database.py |
prompts.py |
software | healthy | prompts.py |
README.md |
software | healthy | README.md |
run.sh |
software | healthy | run.sh |
Procfile |
software | healthy | Procfile |
llm_client.py |
software | healthy | llm_client.py |
data_loader.py |
software | healthy | data_loader.py |
.env.example |
software | healthy | .env.example |
main.py |
software | healthy | main.py |
requirements.txt |
software | healthy | requirements.txt |
index.html |
software | healthy | static/index.html |
app.js |
software | healthy | static/app.js |
style.css |
software | healthy | static/style.css |
| Label | Layer | Status | Path |
|---|---|---|---|
OCRUnavailable |
software | healthy | llm_client.py:81 |
PlanRequest |
software | healthy | main.py:67 |
DraftRequest |
software | healthy | main.py:76 |
SessionRequest |
software | healthy | main.py:82 |
OCRRequest |
software | healthy | main.py:360 |
EmailCorrectRequest |
software | healthy | main.py:392 |
EmailModelRequest |
software | healthy | main.py:402 |
| Label | Layer | Status | Path |
|---|---|---|---|
postgres |
data | healthy | database.py |
sqlite |
data | healthy | database.py |
postgresql |
data | healthy | database.py |
| Label | Layer | Status | Path |
|---|---|---|---|
writing_sessions |
data | healthy | database.py |
error_records |
data | healthy | database.py |
email_sessions |
data | healthy | database.py |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-50a3so92 |
software | healthy | /tmp/repobility-clone-50a3so92 |
| Label | Layer | Status | Path |
|---|---|---|---|
static |
software | healthy | static |
This page is publicly accessible at:
https://repobility.com/scan/f9d28d3e-f7aa-4cd9-902f-32e38b551a3a/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/f9d28d3e-f7aa-4cd9-902f-32e38b551a3a/
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.