https://github.com/TylorSTYLE/ChunChuGwan
· scanned 2026-06-16 00:44 UTC (2 months, 1 week ago)
146 raw signals (0 security + 146 graph)
Last scanned 2 months, 1 week ago · v1 · 125 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 1826 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 |
|---|---|---|---|
archive_env |
software | healthy | tests/test_optimize.py:20 |
_store_resource |
software | healthy | tests/test_optimize.py:32 |
_age |
software | healthy | tests/test_optimize.py:36 |
_seed_snapshot |
software | healthy | tests/test_optimize.py:43 |
test_backfill_scans_page_html |
software | healthy | tests/test_optimize.py:62 |
test_backfill_marks_missing_dir_indexed |
software | healthy | tests/test_optimize.py:78 |
test_sweep_deletes_old_orphans_keeps_recent |
software | healthy | tests/test_optimize.py:86 |
test_sweep_skipped_until_backfill_complete |
software | healthy | tests/test_optimize.py:99 |
test_pending_counts |
software | healthy | tests/test_optimize.py:108 |
test_styles_externalized_from_gz |
software | healthy | tests/test_optimize.py:119 |
test_styles_pass_marks_snapshot_without_extractable |
software | healthy | tests/test_optimize.py:151 |
tmp_db |
software | healthy | tests/test_roles.py:10 |
client |
software | healthy | tests/test_roles.py:21 |
_login |
software | healthy | tests/test_roles.py:35 |
_user |
software | healthy | tests/test_roles.py:41 |
test_create_user_default_role_is_viewer |
software | healthy | tests/test_roles.py:49 |
test_create_user_rejects_unknown_role |
software | healthy | tests/test_roles.py:55 |
test_set_role_and_validation |
software | healthy | tests/test_roles.py:61 |
test_set_role_refuses_founder |
software | healthy | tests/test_roles.py:70 |
test_viewer_cannot_trigger_archive |
software | healthy | tests/test_roles.py:80 |
_seed_error_log |
software | healthy | tests/test_roles.py:90 |
test_viewer_cannot_retry_log |
software | healthy | tests/test_roles.py:99 |
test_archiver_sees_retry_button |
software | healthy | tests/test_roles.py:108 |
test_viewer_cannot_manage_schedule |
software | healthy | tests/test_roles.py:115 |
test_viewer_sees_schedules_readonly |
software | healthy | tests/test_roles.py:128 |
test_archiver_can_manage_schedule |
software | healthy | tests/test_roles.py:138 |
test_archiver_can_trigger_archive |
software | healthy | tests/test_roles.py:151 |
test_archiver_has_no_admin_menus |
software | healthy | tests/test_roles.py:165 |
test_blocked_user_cannot_login |
software | healthy | tests/test_roles.py:176 |
test_blocked_user_existing_session_rejected |
software | healthy | tests/test_roles.py:182 |
test_withdraw_user_db |
software | healthy | tests/test_roles.py:197 |
test_withdrawn_user_cannot_login |
software | healthy | tests/test_roles.py:212 |
test_withdrawn_user_existing_session_rejected |
software | healthy | tests/test_roles.py:218 |
test_withdrawn_email_cannot_signup_or_invite |
software | healthy | tests/test_roles.py:230 |
test_withdrawn_role_cannot_be_assigned |
software | healthy | tests/test_roles.py:245 |
test_withdrawn_user_role_cannot_be_changed |
software | healthy | tests/test_roles.py:255 |
test_admin_delete_requires_email_confirmation |
software | healthy | tests/test_roles.py:271 |
test_admin_delete_user_frees_email |
software | healthy | tests/test_roles.py:287 |
test_admin_delete_refuses_founder_and_self |
software | healthy | tests/test_roles.py:321 |
test_admin_delete_requires_admin_and_existing_user |
software | healthy | tests/test_roles.py:346 |
test_users_page_admin_only |
software | healthy | tests/test_roles.py:362 |
test_admin_changes_role |
software | healthy | tests/test_roles.py:376 |
test_role_change_rejects_invalid_and_missing |
software | healthy | tests/test_roles.py:386 |
test_founder_role_cannot_be_changed |
software | healthy | tests/test_roles.py:397 |
test_blocking_user_invalidates_sessions |
software | healthy | tests/test_roles.py:410 |
test_admin_changes_display_name |
software | healthy | tests/test_roles.py:424 |
test_name_change_rejects_invalid_and_missing |
software | healthy | tests/test_roles.py:442 |
test_name_change_requires_admin |
software | healthy | tests/test_roles.py:456 |
test_admin_force_logout |
software | healthy | tests/test_roles.py:464 |
test_force_logout_requires_admin |
software | healthy | tests/test_roles.py:478 |
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 |
Dockerfile |
software | healthy | Dockerfile |
compose.example.yaml |
software | healthy | compose.example.yaml |
pyproject.toml |
software | healthy | pyproject.toml |
LICENSE |
software | healthy | LICENSE |
docker-entrypoint.sh |
software | healthy | docker-entrypoint.sh |
test_optimize.py |
software | healthy | tests/test_optimize.py |
test_roles.py |
software | healthy | tests/test_roles.py |
test_storage.py |
software | healthy | tests/test_storage.py |
test_extract.py |
software | healthy | tests/test_extract.py |
test_capture.py |
software | healthy | tests/test_capture.py |
test_db.py |
software | healthy | tests/test_db.py |
conftest.py |
software | healthy | tests/conftest.py |
test_trackers.py |
software | healthy | tests/test_trackers.py |
test_logs.py |
software | healthy | tests/test_logs.py |
test_api_keys.py |
software | healthy | tests/test_api_keys.py |
test_network_tags.py |
software | healthy | tests/test_network_tags.py |
test_insecure_tls.py |
software | healthy | tests/test_insecure_tls.py |
test_https_upgrade.py |
software | healthy | tests/test_https_upgrade.py |
test_resource_refs.py |
software | healthy | tests/test_resource_refs.py |
test_sites.py |
software | healthy | tests/test_sites.py |
test_resources.py |
software | healthy | tests/test_resources.py |
test_config.py |
software | healthy | tests/test_config.py |
test_oidc.py |
software | healthy | tests/test_oidc.py |
test_netcheck.py |
software | healthy | tests/test_netcheck.py |
test_i18n.py |
software | healthy | tests/test_i18n.py |
test_crawler.py |
software | healthy | tests/test_crawler.py |
test_cli.py |
software | healthy | tests/test_cli.py |
test_rules.py |
software | healthy | tests/test_rules.py |
test_deletion.py |
software | healthy | tests/test_deletion.py |
test_auth.py |
software | healthy | tests/test_auth.py |
test_passkey.py |
software | healthy | tests/test_passkey.py |
test_backup.py |
software | healthy | tests/test_backup.py |
test_audit_log.py |
software | healthy | tests/test_audit_log.py |
test_system_logs.py |
software | healthy | tests/test_system_logs.py |
test_documents.py |
software | healthy | tests/test_documents.py |
test_signup_settings.py |
software | healthy | tests/test_signup_settings.py |
test_invites.py |
software | healthy | tests/test_invites.py |
test_certs.py |
software | healthy | tests/test_certs.py |
test_worker.py |
software | healthy | tests/test_worker.py |
test_differ.py |
software | healthy | tests/test_differ.py |
test_crawl_web.py |
software | healthy | tests/test_crawl_web.py |
test_scheduler.py |
software | healthy | tests/test_scheduler.py |
test_system.py |
software | healthy | tests/test_system.py |
test_web.py |
software | healthy | tests/test_web.py |
board_list_meta.html |
software | healthy | tests/fixtures/board_list_meta.html |
article.html |
software | healthy | tests/fixtures/article.html |
board_list.html |
software | healthy | tests/fixtures/board_list.html |
DASHBOARD.md |
software | healthy | docs/DASHBOARD.md |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
GET /pages |
api | healthy | chunchugwan/web/api_routes.py |
GET /pages/{page_id} |
api | healthy | chunchugwan/web/api_routes.py |
GET /snapshots/{snapshot_id} |
api | healthy | chunchugwan/web/api_routes.py |
GET /snapshots/{snapshot_id}/file/{name} |
api | healthy | chunchugwan/web/api_routes.py |
POST /archive |
api | healthy | chunchugwan/web/api_routes.py |
GET /healthz |
api | healthy | chunchugwan/web/app.py |
GET /favicon.svg |
api | healthy | chunchugwan/web/app.py |
GET /archives |
api | healthy | chunchugwan/web/app.py |
GET /sites/{site_id} |
api | healthy | chunchugwan/web/app.py |
POST /sites/{site_id}/failed/{log_id}/retry |
api | healthy | chunchugwan/web/app.py |
POST /sites/{site_id}/crawl-failed/{crawl_page_id}/retry |
api | healthy | chunchugwan/web/app.py |
GET /sites/{site_id}/certificates/{cert_id}.pem |
api | healthy | chunchugwan/web/app.py |
POST /sites/{site_id}/export |
api | healthy | chunchugwan/web/app.py |
POST /sites/{site_id}/delete |
api | healthy | chunchugwan/web/app.py |
GET /archive/active |
api | healthy | chunchugwan/web/app.py |
GET / |
api | healthy | chunchugwan/web/app.py |
GET /dashboard |
api | healthy | chunchugwan/web/app.py |
GET /page/{page_id} |
api | healthy | chunchugwan/web/app.py |
POST /page/{page_id}/schedule |
api | healthy | chunchugwan/web/app.py |
POST /page/{page_id}/schedule/next-run |
api | healthy | chunchugwan/web/app.py |
POST /page/{page_id}/schedule/delete |
api | healthy | chunchugwan/web/app.py |
GET /schedules |
api | healthy | chunchugwan/web/app.py |
GET /snapshot/{snapshot_id} |
api | healthy | chunchugwan/web/app.py |
GET /snapshot/{snapshot_id}/file/{name} |
api | healthy | chunchugwan/web/app.py |
GET /snapshot/{snapshot_id}/doc/{name} |
api | healthy | chunchugwan/web/app.py |
GET /documents |
api | healthy | chunchugwan/web/app.py |
GET /document/{sha256}/{name} |
api | healthy | chunchugwan/web/app.py |
GET /resource/{name} |
api | healthy | chunchugwan/web/app.py |
GET /diff/{page_id} |
api | healthy | chunchugwan/web/app.py |
GET /diff/{page_id}/shotdiff |
api | healthy | chunchugwan/web/app.py |
GET /logs |
api | healthy | chunchugwan/web/app.py |
GET /archive/new |
api | healthy | chunchugwan/web/app.py |
POST /page/{page_id}/rearchive |
api | healthy | chunchugwan/web/app.py |
POST /logs/{log_id}/retry |
api | healthy | chunchugwan/web/app.py |
POST /page/{page_id}/delete |
api | healthy | chunchugwan/web/app.py |
POST /snapshot/{snapshot_id}/delete |
api | healthy | chunchugwan/web/app.py |
GET /crawls |
api | healthy | chunchugwan/web/app.py |
GET /crawls/{crawl_id} |
api | healthy | chunchugwan/web/app.py |
GET /crawls/{crawl_id}/status |
api | healthy | chunchugwan/web/app.py |
POST /crawls/{crawl_id}/cancel |
api | healthy | chunchugwan/web/app.py |
POST /crawls/{crawl_id}/retry |
api | healthy | chunchugwan/web/app.py |
POST /crawls/{crawl_id}/pages/{crawl_page_id}/retry |
api | healthy | chunchugwan/web/app.py |
POST /crawl-schedules/{schedule_id} |
api | healthy | chunchugwan/web/app.py |
POST /crawl-schedules/{schedule_id}/next-run |
api | healthy | chunchugwan/web/app.py |
POST /crawl-schedules/{schedule_id}/delete |
api | healthy | chunchugwan/web/app.py |
GET /crawl/{crawl_id}/goto |
api | healthy | chunchugwan/web/app.py |
GET /setup |
api | healthy | chunchugwan/web/auth_routes.py |
POST /setup |
api | healthy | chunchugwan/web/auth_routes.py |
GET /login |
api | healthy | chunchugwan/web/auth_routes.py |
POST /login |
api | healthy | chunchugwan/web/auth_routes.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
_QuietHandler |
software | healthy | tests/test_capture.py:30 |
_AttachmentHandler |
software | healthy | tests/test_capture.py:260 |
_HangingImageHandler |
software | healthy | tests/test_capture.py:294 |
_PollingHandler |
software | healthy | tests/test_capture.py:343 |
_QuietHandler |
software | healthy | tests/test_trackers.py:37 |
FakePage |
software | healthy | tests/test_resource_refs.py:165 |
FakeAuthenticator |
software | healthy | tests/test_passkey.py:31 |
_DocHandler |
software | healthy | tests/test_documents.py:76 |
JobRegistry |
software | healthy | chunchugwan/worker.py:25 |
SnapshotMeta |
software | healthy | chunchugwan/storage.py:22 |
ImportResult |
software | healthy | chunchugwan/backup.py:49 |
DueResult |
software | healthy | chunchugwan/scheduler.py:159 |
TextDiff |
software | healthy | chunchugwan/differ.py:18 |
CaptureResult |
software | healthy | chunchugwan/capture.py:269 |
BrowserSession |
software | healthy | chunchugwan/capture.py:292 |
CaptureError |
software | healthy | chunchugwan/capture.py:751 |
CaptureConnectError |
software | healthy | chunchugwan/capture.py:755 |
CaptureDownloadError |
software | healthy | chunchugwan/capture.py:759 |
CrawlStep |
software | healthy | chunchugwan/crawler.py:298 |
ScheduleStep |
software | healthy | chunchugwan/crawler.py:490 |
CompactStats |
software | healthy | chunchugwan/resources.py:378 |
CompactRunResult |
software | healthy | chunchugwan/resources.py:499 |
DeleteResult |
software | healthy | chunchugwan/deletion.py:26 |
DeleteSiteResult |
software | healthy | chunchugwan/deletion.py:84 |
DBLogHandler |
software | healthy | chunchugwan/system_log.py:32 |
OptimizeResult |
software | healthy | chunchugwan/optimize.py:41 |
ArchiveOutcome |
software | healthy | chunchugwan/pipeline.py:27 |
_RunLog |
software | healthy | chunchugwan/pipeline.py:44 |
DirectDownload |
software | healthy | chunchugwan/documents.py:245 |
DocCompactStats |
software | healthy | chunchugwan/documents.py:423 |
ArchiveRequest |
software | healthy | chunchugwan/web/api_routes.py:160 |
| Label | Layer | Status | Path |
|---|---|---|---|
network_tags |
data | healthy | chunchugwan/db.py |
sites |
data | healthy | chunchugwan/db.py |
site_certificates |
data | healthy | chunchugwan/db.py |
pages |
data | healthy | chunchugwan/db.py |
snapshots |
data | healthy | chunchugwan/db.py |
checks |
data | healthy | chunchugwan/db.py |
snapshot_resources |
data | healthy | chunchugwan/db.py |
snapshot_documents |
data | healthy | chunchugwan/db.py |
schedules |
data | healthy | chunchugwan/db.py |
crawls |
data | healthy | chunchugwan/db.py |
crawl_pages |
data | healthy | chunchugwan/db.py |
crawl_schedules |
data | healthy | chunchugwan/db.py |
archive_logs |
data | healthy | chunchugwan/db.py |
system_logs |
data | healthy | chunchugwan/db.py |
users |
data | healthy | chunchugwan/db.py |
identities |
data | healthy | chunchugwan/db.py |
webauthn_credentials |
data | healthy | chunchugwan/db.py |
sessions |
data | healthy | chunchugwan/db.py |
invites |
data | healthy | chunchugwan/db.py |
api_keys |
data | healthy | chunchugwan/db.py |
settings |
data | healthy | chunchugwan/db.py |
oidc_states |
data | healthy | chunchugwan/db.py |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | README.md |
192.168.0.10 |
network | healthy | tests/test_network_tags.py |
10.0.0.2 |
network | healthy | tests/test_network_tags.py |
192.168.0.11 |
network | healthy | tests/test_network_tags.py |
10.0.0.0 |
network | healthy | tests/test_network_tags.py |
192.168.0.5 |
network | healthy | tests/test_sites.py |
127.8.9.10 |
network | healthy | tests/test_netcheck.py |
10.1.2.3 |
network | healthy | tests/test_netcheck.py |
172.16.5.5 |
network | healthy | tests/test_netcheck.py |
169.254.1.1 |
network | healthy | tests/test_netcheck.py |
8.8.8.8 |
network | healthy | tests/test_netcheck.py |
1.1.1.1 |
network | healthy | tests/test_netcheck.py |
192.168.0.1 |
network | healthy | tests/test_netcheck.py |
192.168.1.7 |
network | healthy | tests/test_netcheck.py |
93.184.216.34 |
network | healthy | tests/test_netcheck.py |
10.0.0.5 |
network | healthy | tests/test_netcheck.py |
136.0.0.0 |
network | healthy | chunchugwan/config.py |
127.0.0.0 |
network | healthy | chunchugwan/netcheck.py |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::tests/test_auth.py |
security | healthy | tests/test_auth.py |
auth::chunchugwan/db.py |
security | healthy | chunchugwan/db.py |
auth::chunchugwan/config.py |
security | healthy | chunchugwan/config.py |
auth::chunchugwan/web/system_routes.py |
security | healthy | chunchugwan/web/system_routes.py |
auth::chunchugwan/web/templates/login.html |
security | healthy | chunchugwan/web/templates/login.html |
auth::chunchugwan/oidc.py |
security | healthy | chunchugwan/oidc.py |
auth::chunchugwan/web/templates/users.html |
security | healthy | chunchugwan/web/templates/users.html |
auth::chunchugwan/web/auth_routes.py |
security | healthy | chunchugwan/web/auth_routes.py |
auth::chunchugwan/web/i18n.py |
security | healthy | chunchugwan/web/i18n.py |
auth::chunchugwan/web/app.py |
security | healthy | chunchugwan/web/app.py |
auth::tests/test_oidc.py |
security | healthy | tests/test_oidc.py |
auth::CLAUDE.md |
security | healthy | CLAUDE.md |
auth::chunchugwan/cli.py |
security | healthy | chunchugwan/cli.py |
auth::README.md |
security | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
fixtures |
software | healthy | tests/fixtures |
docs |
software | healthy | docs |
chunchugwan |
software | healthy | chunchugwan |
web |
software | healthy | chunchugwan/web |
templates |
software | healthy | chunchugwan/web/templates |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
| Label | Layer | Status | Path |
|---|---|---|---|
build |
cicd | healthy | .github/workflows/docker.yml |
merge |
cicd | healthy | .github/workflows/docker.yml |
smoke |
cicd | healthy | .github/workflows/docker.yml |
promote |
cicd | healthy | .github/workflows/docker.yml |
test |
cicd | healthy | .github/workflows/ci.yml |
release |
cicd | healthy | .github/workflows/release.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
GITHUB_TOKEN |
cicd | healthy | — |
IMAGE |
cicd | healthy | — |
RELEASE_TOKEN |
cicd | healthy | — |
PLATFORM_SLUG |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
password_literal::README.md |
security | healthy | README.md |
password_literal::compose.example.yaml |
security | healthy | compose.example.yaml |
password_literal::tests/test_signup_settings.py |
security | healthy | tests/test_signup_settings.py |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::docker |
cicd | healthy | .github/workflows/docker.yml |
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
gha::release |
cicd | healthy | .github/workflows/release.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-ww0hy_w6 |
software | healthy | /tmp/repobility-clone-ww0hy_w6 |
| Label | Layer | Status | Path |
|---|---|---|---|
sqlite |
data | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
port:8765 |
network | healthy | Dockerfile |
| Label | Layer | Status | Path |
|---|---|---|---|
image::Dockerfile |
hardware | healthy | Dockerfile |
This page is publicly accessible at:
https://repobility.com/scan/a611ab73-d500-41e2-b35f-feee6961fd6e/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/a611ab73-d500-41e2-b35f-feee6961fd6e/
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.