https://github.com/w2444866290-dev/clawbot
· scanned 2026-06-16 00:53 UTC (2 months, 1 week ago)
24 raw signals (0 security + 24 graph)
Last scanned 2 months, 1 week ago · v1 · 17 actionable findings from 1 signal source. 7 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 644 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 |
|---|---|---|---|
test_initialize_and_tools_list |
software | healthy | tests/test_approval_mcp.py:8 |
test_tools_call_denies_when_daemon_unreachable |
software | healthy | tests/test_approval_mcp.py:20 |
test_missing_url_denies |
software | healthy | tests/test_approval_mcp.py:39 |
test_unknown_notification_ignored |
software | healthy | tests/test_approval_mcp.py:45 |
root |
software | healthy | tests/test_workspace.py:12 |
test_user_dir_created_with_template_seed |
software | healthy | tests/test_workspace.py:21 |
test_user_claude_md_evolves_independently |
software | healthy | tests/test_workspace.py:30 |
test_seed_skipped_when_template_missing |
software | healthy | tests/test_workspace.py:41 |
test_user_dirs_are_distinct_per_user |
software | healthy | tests/test_workspace.py:48 |
_legacy_root |
software | healthy | tests/test_workspace.py:58 |
test_migrate_moves_legacy_files_to_first_allowed_user |
software | healthy | tests/test_workspace.py:66 |
test_migrate_idempotent_when_users_has_content |
software | healthy | tests/test_workspace.py:82 |
test_migrate_skips_when_allowlist_empty |
software | healthy | tests/test_workspace.py:93 |
test_migrate_noop_on_fresh_root |
software | healthy | tests/test_workspace.py:100 |
test_migrate_noop_when_root_missing |
software | healthy | tests/test_workspace.py:106 |
test_empty_allowlist_denies_everyone |
software | healthy | tests/test_guard.py:6 |
test_allowlisted_open_id_passes |
software | healthy | tests/test_guard.py:13 |
_collect_component_tags |
software | healthy | tests/test_card_schema.py:73 |
_all_cards |
software | healthy | tests/test_card_schema.py:98 |
test_every_card_tag_is_legal_2_0 |
software | healthy | tests/test_card_schema.py:130 |
test_no_removed_1_0_tags_anywhere |
software | healthy | tests/test_card_schema.py:147 |
test_card_coverage_count |
software | healthy | tests/test_card_schema.py:155 |
make_service |
software | healthy | tests/test_approval.py:11 |
on_request |
software | healthy | tests/test_approval.py:12 |
test_timeout_denies |
software | healthy | tests/test_approval.py:19 |
test_approve_allows_with_original_input |
software | healthy | tests/test_approval.py:26 |
approve_later |
software | healthy | tests/test_approval.py:45 |
test_no_timeout_waits_until_resolved |
software | healthy | tests/test_approval.py:40 |
test_deny_with_message |
software | healthy | tests/test_approval.py:55 |
deny_later |
software | healthy | tests/test_approval.py:59 |
test_resolve_unknown_request_returns_false |
software | healthy | tests/test_approval.py:70 |
test_cancel_all_resolves_pending_as_deny |
software | healthy | tests/test_approval.py:75 |
test_cancel_all_empty_is_noop |
software | healthy | tests/test_approval.py:94 |
test_on_request_failure_denies |
software | healthy | tests/test_approval.py:99 |
boom |
software | healthy | tests/test_approval.py:100 |
http_service |
software | healthy | tests/test_approval.py:109 |
test_http_roundtrip_approve |
software | healthy | tests/test_approval.py:117 |
approver |
software | healthy | tests/test_approval.py:120 |
test_http_rejects_bad_token |
software | healthy | tests/test_approval.py:140 |
test_first_try_success_no_retry |
software | healthy | tests/test_sender.py:8 |
op |
software | healthy | tests/test_sender.py:35 |
test_recovers_after_transient_failures |
software | healthy | tests/test_sender.py:19 |
test_exhausts_retries_and_raises_last_error |
software | healthy | tests/test_sender.py:32 |
test_default_delays_are_1_2_4 |
software | healthy | tests/test_sender.py:44 |
test_console_sender_react_prints_stub |
software | healthy | tests/test_sender.py:50 |
test_lark_react_is_best_effort_on_failure |
software | healthy | tests/test_sender.py:58 |
_boom |
software | healthy | tests/test_sender.py:64 |
__init__ |
software | healthy | tests/test_feishu_reader.py:31 |
start |
software | healthy | tests/test_feishu_reader.py:40 |
stop |
software | healthy | tests/test_feishu_reader.py:54 |
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 |
config.example.yaml |
software | healthy | config.example.yaml |
.env.example |
software | healthy | .env.example |
pyproject.toml |
software | healthy | pyproject.toml |
requirements.txt |
software | healthy | requirements.txt |
test_approval_mcp.py |
software | healthy | tests/test_approval_mcp.py |
test_workspace.py |
software | healthy | tests/test_workspace.py |
test_guard.py |
software | healthy | tests/test_guard.py |
test_card_schema.py |
software | healthy | tests/test_card_schema.py |
test_approval.py |
software | healthy | tests/test_approval.py |
test_sender.py |
software | healthy | tests/test_sender.py |
test_feishu_reader.py |
software | healthy | tests/test_feishu_reader.py |
test_commands.py |
software | healthy | tests/test_commands.py |
test_config.py |
software | healthy | tests/test_config.py |
test_taskqueue.py |
software | healthy | tests/test_taskqueue.py |
test_renderer.py |
software | healthy | tests/test_renderer.py |
test_proxycheck.py |
software | healthy | tests/test_proxycheck.py |
test_app.py |
software | healthy | tests/test_app.py |
test_stream_parser.py |
software | healthy | tests/test_stream_parser.py |
test_reader_mcp.py |
software | healthy | tests/test_reader_mcp.py |
test_gateway.py |
software | healthy | tests/test_gateway.py |
test_state.py |
software | healthy | tests/test_state.py |
tech-design.md |
software | healthy | docs/tech-design.md |
CLAUDE.md |
software | healthy | workspace/CLAUDE.md |
clawbot-emotes.html |
software | healthy | assets/avatar/clawbot-emotes.html |
README.md |
software | healthy | .claude/skills/clawd-emotes/README.md |
SKILL.md |
software | healthy | .claude/skills/clawd-emotes/SKILL.md |
LICENSE |
software | healthy | .claude/skills/clawd-emotes/LICENSE |
export_gif.js |
software | healthy | .claude/skills/clawd-emotes/scripts/export_gif.js |
export_transparent.js |
software | healthy | .claude/skills/clawd-emotes/scripts/export_transparent.js |
check.py |
software | healthy | .claude/skills/clawd-emotes/scripts/check.py |
prop-recipes.md |
software | healthy | .claude/skills/clawd-emotes/references/prop-recipes.md |
anatomy.md |
software | healthy | .claude/skills/clawd-emotes/references/anatomy.md |
card-template.html |
software | healthy | .claude/skills/clawd-emotes/assets/card-template.html |
clawd-festivals.html |
software | healthy | .claude/skills/clawd-emotes/examples/clawd-festivals.html |
clawd-hobbies.html |
software | healthy | .claude/skills/clawd-emotes/examples/clawd-hobbies.html |
clawd-daily.html |
software | healthy | .claude/skills/clawd-emotes/examples/clawd-daily.html |
feishu_reader.py |
software | healthy | clawbot/feishu_reader.py |
__init__.py |
software | healthy | clawbot/__init__.py |
sender.py |
software | healthy | clawbot/sender.py |
commands.py |
software | healthy | clawbot/commands.py |
approval_mcp.py |
software | healthy | clawbot/approval_mcp.py |
guard.py |
software | healthy | clawbot/guard.py |
config.py |
software | healthy | clawbot/config.py |
app.py |
software | healthy | clawbot/app.py |
gateway.py |
software | healthy | clawbot/gateway.py |
renderer.py |
software | healthy | clawbot/renderer.py |
reader_mcp.py |
software | healthy | clawbot/reader_mcp.py |
workspace.py |
software | healthy | clawbot/workspace.py |
taskqueue.py |
software | healthy | clawbot/taskqueue.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
StubFeishu |
software | healthy | tests/test_feishu_reader.py:28 |
FakeSender |
software | healthy | tests/test_renderer.py:32 |
FlakySender |
software | healthy | tests/test_renderer.py:429 |
FakeChecker |
software | healthy | tests/test_proxycheck.py:22 |
FlakyChecker |
software | healthy | tests/test_proxycheck.py:156 |
StubSender |
software | healthy | tests/test_app.py:23 |
CardFailingSender |
software | healthy | tests/test_app.py:51 |
ReactFailingSender |
software | healthy | tests/test_app.py:439 |
AllFailingSender |
software | healthy | tests/test_app.py:495 |
Handler |
software | healthy | tests/test_reader_mcp.py:75 |
_ExplodingMention |
software | healthy | tests/test_gateway.py:76 |
ReaderError |
software | healthy | clawbot/feishu_reader.py:55 |
TokenStore |
software | healthy | clawbot/feishu_reader.py:62 |
ReaderCache |
software | healthy | clawbot/feishu_reader.py:120 |
FeishuReaderService |
software | healthy | clawbot/feishu_reader.py:330 |
SendError |
software | healthy | clawbot/sender.py:25 |
Sender |
software | healthy | clawbot/sender.py:55 |
LarkSender |
software | healthy | clawbot/sender.py:73 |
ConsoleSender |
software | healthy | clawbot/sender.py:206 |
CommandContext |
software | healthy | clawbot/commands.py:39 |
Guard |
software | healthy | clawbot/guard.py:10 |
ConfigError |
software | healthy | clawbot/config.py:16 |
FeishuConfig |
software | healthy | clawbot/config.py:163 |
ClaudeConfig |
software | healthy | clawbot/config.py:170 |
ProxyCheckConfig |
software | healthy | clawbot/config.py:180 |
ApprovalConfig |
software | healthy | clawbot/config.py:197 |
FeishuReaderConfig |
software | healthy | clawbot/config.py:203 |
RenderConfig |
software | healthy | clawbot/config.py:226 |
Config |
software | healthy | clawbot/config.py:233 |
ClawbotApp |
software | healthy | clawbot/app.py:52 |
Gateway |
software | healthy | clawbot/gateway.py:138 |
ToolCall |
software | healthy | clawbot/renderer.py:213 |
ProgressCard |
software | healthy | clawbot/renderer.py:399 |
WorkspaceManager |
software | healthy | clawbot/workspace.py:23 |
SerialQueue |
software | healthy | clawbot/taskqueue.py:17 |
ProxyCheckResult |
software | healthy | clawbot/proxycheck.py:19 |
ProxyChecker |
software | healthy | clawbot/proxycheck.py:25 |
ApprovalRequest |
software | healthy | clawbot/approval.py:32 |
ApprovalService |
software | healthy | clawbot/approval.py:45 |
StreamEvent |
software | healthy | clawbot/runner.py:35 |
RunResult |
software | healthy | clawbot/runner.py:146 |
ClaudeRunner |
software | healthy | clawbot/runner.py:165 |
StateStore |
software | healthy | clawbot/state.py:31 |
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
docs |
software | healthy | docs |
workspace |
software | healthy | workspace |
assets |
software | healthy | assets |
avatar |
software | healthy | assets/avatar |
.claude |
software | healthy | .claude |
skills |
software | healthy | .claude/skills |
clawd-emotes |
software | healthy | .claude/skills/clawd-emotes |
scripts |
software | healthy | .claude/skills/clawd-emotes/scripts |
references |
software | healthy | .claude/skills/clawd-emotes/references |
assets |
software | healthy | .claude/skills/clawd-emotes/assets |
examples |
software | healthy | .claude/skills/clawd-emotes/examples |
clawbot |
software | healthy | clawbot |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::README.md |
security | healthy | README.md |
auth::clawbot/app.py |
security | healthy | clawbot/app.py |
auth::tests/test_feishu_reader.py |
security | healthy | tests/test_feishu_reader.py |
auth::clawbot/feishu_reader.py |
security | healthy | clawbot/feishu_reader.py |
auth::clawbot/config.py |
security | healthy | clawbot/config.py |
auth::config.example.yaml |
security | healthy | config.example.yaml |
auth::tests/test_gateway.py |
security | healthy | tests/test_gateway.py |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | README.md |
1.2.3.4 |
network | healthy | config.example.yaml |
47.178.0.221 |
network | healthy | tests/test_card_schema.py |
8.8.8.8 |
network | healthy | tests/test_proxycheck.py |
| Label | Layer | Status | Path |
|---|---|---|---|
messages |
data | healthy | clawbot/feishu_reader.py |
fetched_windows |
data | healthy | clawbot/feishu_reader.py |
quota |
data | healthy | clawbot/feishu_reader.py |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-avp44d3b |
software | healthy | /tmp/repobility-clone-avp44d3b |
| Label | Layer | Status | Path |
|---|---|---|---|
sqlite |
data | healthy | config.example.yaml |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | .claude/skills/clawd-emotes/scripts/check.py |
This page is publicly accessible at:
https://repobility.com/scan/4da73a2b-ff5b-48c7-b8bc-bf12ee7434f1/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/4da73a2b-ff5b-48c7-b8bc-bf12ee7434f1/
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.