https://github.com/sonichi/sutando
· scanned 2026-06-16 00:17 UTC (2 months, 2 weeks ago)
245 raw signals (0 security + 245 graph)
Last scanned 2 months, 2 weeks ago · v1 · 232 actionable findings from 1 signal source. 13 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 3028 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 |
|---|---|---|---|
default |
software | healthy | tests/discord-bridge-reply-directive.test.py:31 |
__init__ |
software | healthy | tests/discord-bridge-reply-directive.test.py:94 |
event |
software | healthy | tests/discord-bridge-reply-directive.test.py:42 |
get_channel |
software | healthy | tests/discord-bridge-reply-directive.test.py:43 |
load_bridge |
software | healthy | tests/discord-bridge-reply-directive.test.py:72 |
send |
software | healthy | tests/discord-bridge-reply-directive.test.py:97 |
_run_one_poll_iteration |
software | healthy | tests/discord-bridge-reply-directive.test.py:111 |
case_a_directive_present_constructs_reference |
software | healthy | tests/discord-bridge-reply-directive.test.py:140 |
case_b_no_directive_no_reference |
software | healthy | tests/discord-bridge-reply-directive.test.py:168 |
case_c_directive_only_first_chunk |
software | healthy | tests/discord-bridge-reply-directive.test.py:182 |
main |
software | healthy | tests/discord-bridge-reply-directive.test.py:202 |
_non_comment_lines |
software | healthy | tests/cwd-lint.test.py:39 |
_scan_files |
software | healthy | tests/cwd-lint.test.py:56 |
check_ts_cwd |
software | healthy | tests/cwd-lint.test.py:74 |
check_py_cwd |
software | healthy | tests/cwd-lint.test.py:96 |
sanity_checks |
software | healthy | tests/cwd-lint.test.py:113 |
presenterOn |
software | healthy | tests/voice-mode-resolver.test.ts:presenterOn |
presenterOff |
software | healthy | tests/voice-mode-resolver.test.ts:presenterOff |
must |
software | healthy | tests/voice-mode-resolver.test.ts:must |
default |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:48 |
__init__ |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:165 |
event |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:60 |
get_channel |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:61 |
fetch_channel |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:62 |
load_bridge |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:103 |
send |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:131 |
get_member |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:145 |
fetch_member |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:147 |
_install_mock_client |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:172 |
case_a_plain_text |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:184 |
case_b_single_ref |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:191 |
case_c_multiple_refs |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:199 |
case_d_malformed_ignored |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:207 |
case_e_empty |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:215 |
case_f_no_refs_returns_false |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:224 |
case_g_guild_origin_with_config |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:233 |
case_h_dm_origin_resolves_via_referenced_channel |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:251 |
case_i_no_escalation_channel_returns_true_no_post |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:272 |
case_j_no_target_guild_resolvable |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:285 |
case_k_dm_origin_target_guild_not_mod_active |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:297 |
case_l_dm_origin_referenced_channel_wrong_type |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:321 |
case_n_dm_origin_sender_not_member_rejected |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:344 |
case_o_fetch_member_forbidden_silent |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:375 |
case_p_fetch_member_http_exception_silent |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:397 |
case_q_extract_user_id_mentions_excludes_roles |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:418 |
case_r_role_mention_in_escalation_ccs_does_not_crash |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:439 |
case_m_guild_origin_unaffected_by_dm_gates |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:462 |
main |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:483 |
test_returns_sorted_keys |
software | healthy | tests/vault-skill.test.py:34 |
test_empty_when_no_manifest |
software | healthy | tests/vault-skill.test.py:40 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
CHANGELOG-PENDING.md |
software | healthy | CHANGELOG-PENDING.md |
README.md |
software | healthy | README.md |
CLAUDE.md |
software | healthy | CLAUDE.md |
CLA.md |
software | healthy | CLA.md |
package.json |
software | healthy | package.json |
CONTRIBUTING.md |
software | healthy | CONTRIBUTING.md |
package-lock.json |
software | healthy | package-lock.json |
pnpm-workspace.yaml |
software | healthy | pnpm-workspace.yaml |
.env.example |
software | healthy | .env.example |
tsconfig.json |
software | healthy | tsconfig.json |
KNOWN_ISSUES.md |
software | healthy | KNOWN_ISSUES.md |
LICENSE |
software | healthy | LICENSE |
requirements.txt |
software | healthy | requirements.txt |
SECURITY.md |
software | healthy | SECURITY.md |
CHANGELOG.md |
software | healthy | CHANGELOG.md |
discord-bridge-reply-directive.test.py |
software | healthy | tests/discord-bridge-reply-directive.test.py |
cwd-lint.test.py |
software | healthy | tests/cwd-lint.test.py |
voice-mode-resolver.test.ts |
software | healthy | tests/voice-mode-resolver.test.ts |
discord-bridge-discord-state-detection.test.py |
software | healthy | tests/discord-bridge-discord-state-detection.test.py |
vault-skill.test.py |
software | healthy | tests/vault-skill.test.py |
discord-bridge-state-prefetch.test.py |
software | healthy | tests/discord-bridge-state-prefetch.test.py |
slack-bridge-allowlist.test.py |
software | healthy | tests/slack-bridge-allowlist.test.py |
audio-transcribe-skill.test.py |
software | healthy | tests/audio-transcribe-skill.test.py |
health-check-stuck-loop.test.py |
software | healthy | tests/health-check-stuck-loop.test.py |
tmux-status.test.ts |
software | healthy | tests/tmux-status.test.ts |
open-file-app-param.test.ts |
software | healthy | tests/open-file-app-param.test.ts |
util-paths-memory-dir.test.ts |
software | healthy | tests/util-paths-memory-dir.test.ts |
reminders-due-today.test.py |
software | healthy | tests/reminders-due-today.test.py |
env-loader.test.py |
software | healthy | tests/env-loader.test.py |
discord-bridge-allowlist.test.py |
software | healthy | tests/discord-bridge-allowlist.test.py |
discord-voice-tier.test.ts |
software | healthy | tests/discord-voice-tier.test.ts |
reminders-error-exit.test.py |
software | healthy | tests/reminders-error-exit.test.py |
task-bridge-isvoice.test.ts |
software | healthy | tests/task-bridge-isvoice.test.ts |
get-core-status-tool.test.ts |
software | healthy | tests/get-core-status-tool.test.ts |
twilio-signature.test.ts |
software | healthy | tests/twilio-signature.test.ts |
discord-bridge-mod-server-config.test.py |
software | healthy | tests/discord-bridge-mod-server-config.test.py |
inline-tools-presenter-gate.test.ts |
software | healthy | tests/inline-tools-presenter-gate.test.ts |
telegram-bridge-channel-redirect-guard.test.py |
software | healthy | tests/telegram-bridge-channel-redirect-guard.test.py |
slack-bridge-access.test.py |
software | healthy | tests/slack-bridge-access.test.py |
discord-bridge-mod-judge-trackers.test.py |
software | healthy | tests/discord-bridge-mod-judge-trackers.test.py |
voice-agent-key-format.test.ts |
software | healthy | tests/voice-agent-key-format.test.ts |
quota-burn-rate.test.py |
software | healthy | tests/quota-burn-rate.test.py |
start-cli-model-pin.test.py |
software | healthy | tests/start-cli-model-pin.test.py |
proactive-channel-redirect-loud-failure.test.py |
software | healthy | tests/proactive-channel-redirect-loud-failure.test.py |
discord-bridge-mod-judge-buffer.test.py |
software | healthy | tests/discord-bridge-mod-judge-buffer.test.py |
task-archive.test.py |
software | healthy | tests/task-archive.test.py |
inline-tools-press-key-app-escape.test.ts |
software | healthy | tests/inline-tools-press-key-app-escape.test.ts |
discord-bridge-thread-seed-owner-notice.test.py |
software | healthy | tests/discord-bridge-thread-seed-owner-notice.test.py |
dm-result-send-dm.test.py |
software | healthy | tests/dm-result-send-dm.test.py |
discord-bridge-delivery-sentinel.test.py |
software | healthy | tests/discord-bridge-delivery-sentinel.test.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
_Intents |
software | healthy | tests/discord-bridge-reply-directive.test.py:29 |
_Client |
software | healthy | tests/discord-bridge-reply-directive.test.py:38 |
_AllowedMentions |
software | healthy | tests/discord-bridge-reply-directive.test.py:46 |
_MessageReference |
software | healthy | tests/discord-bridge-reply-directive.test.py:50 |
_DMChannel |
software | healthy | tests/discord-bridge-reply-directive.test.py:58 |
_MockChannel |
software | healthy | tests/discord-bridge-reply-directive.test.py:93 |
_Intents |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:46 |
_Client |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:55 |
_AllowedMentions |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:65 |
_DMChannel |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:69 |
_DiscordException |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:78 |
_HTTPException |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:79 |
_NotFound |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:80 |
_Forbidden |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:81 |
_MockChannel |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:124 |
_MockGuild |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:135 |
_MockMember |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:158 |
_MockMessage |
software | healthy | tests/discord-bridge-discord-state-detection.test.py:164 |
TestListVaultKeys |
software | healthy | tests/vault-skill.test.py:33 |
TestGetVaultKey |
software | healthy | tests/vault-skill.test.py:51 |
TestRegisterKey |
software | healthy | tests/vault-skill.test.py:65 |
TestStoreRegistersKey |
software | healthy | tests/vault-skill.test.py:89 |
TestVaultCliList |
software | healthy | tests/vault-skill.test.py:115 |
TestVaultCliGet |
software | healthy | tests/vault-skill.test.py:132 |
TestVaultCliEnv |
software | healthy | tests/vault-skill.test.py:147 |
_Intents |
software | healthy | tests/discord-bridge-state-prefetch.test.py:43 |
_Client |
software | healthy | tests/discord-bridge-state-prefetch.test.py:52 |
_AllowedMentions |
software | healthy | tests/discord-bridge-state-prefetch.test.py:66 |
_DMChannel |
software | healthy | tests/discord-bridge-state-prefetch.test.py:70 |
_DiscordException |
software | healthy | tests/discord-bridge-state-prefetch.test.py:73 |
_HTTPException |
software | healthy | tests/discord-bridge-state-prefetch.test.py:74 |
_NotFound |
software | healthy | tests/discord-bridge-state-prefetch.test.py:75 |
_Forbidden |
software | healthy | tests/discord-bridge-state-prefetch.test.py:76 |
_MockMessage |
software | healthy | tests/discord-bridge-state-prefetch.test.py:124 |
_MockHistoryIterator |
software | healthy | tests/discord-bridge-state-prefetch.test.py:133 |
_MockChannel |
software | healthy | tests/discord-bridge-state-prefetch.test.py:150 |
_SlowHistory |
software | healthy | tests/discord-bridge-state-prefetch.test.py:382 |
_SlowChannel |
software | healthy | tests/discord-bridge-state-prefetch.test.py:390 |
_StubApp |
software | healthy | tests/slack-bridge-allowlist.test.py:40 |
TestSkillMimeFilter |
software | healthy | tests/audio-transcribe-skill.test.py:57 |
TestSkillCLI |
software | healthy | tests/audio-transcribe-skill.test.py:113 |
TestBridgeHelperSlack |
software | healthy | tests/audio-transcribe-skill.test.py:140 |
TestBridgeHelperDiscord |
software | healthy | tests/audio-transcribe-skill.test.py:171 |
TestBridgeHelperTelegram |
software | healthy | tests/audio-transcribe-skill.test.py:190 |
TestIsdueTodayOrOverdue |
software | healthy | tests/reminders-due-today.test.py:33 |
TestDueTodayFlag |
software | healthy | tests/reminders-due-today.test.py:60 |
TestRemindersErrorExit |
software | healthy | tests/reminders-error-exit.test.py:29 |
_Intents |
software | healthy | tests/discord-bridge-mod-server-config.test.py:25 |
_Client |
software | healthy | tests/discord-bridge-mod-server-config.test.py:34 |
_DMChannel |
software | healthy | tests/discord-bridge-mod-server-config.test.py:47 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
_helpers |
software | healthy | tests/_helpers |
docs |
software | healthy | docs |
adr |
software | healthy | docs/adr |
community-use-cases |
software | healthy | docs/community-use-cases |
scripts |
software | healthy | scripts |
skills |
software | healthy | skills |
self-diagnose |
software | healthy | skills/self-diagnose |
scripts |
software | healthy | skills/self-diagnose/scripts |
macos-use |
software | healthy | skills/macos-use |
scripts |
software | healthy | skills/macos-use/scripts |
startup |
software | healthy | skills/startup |
db-browser |
software | healthy | skills/db-browser |
x-twitter |
software | healthy | skills/x-twitter |
electron-overlay-dimming |
software | healthy | skills/electron-overlay-dimming |
deal-finder |
software | healthy | skills/deal-finder |
state |
software | healthy | skills/deal-finder/state |
scripts |
software | healthy | skills/deal-finder/scripts |
email-find |
software | healthy | skills/email-find |
discord-voice |
software | healthy | skills/discord-voice |
scripts |
software | healthy | skills/discord-voice/scripts |
overlay-apps |
software | healthy | skills/overlay-apps |
scripts |
software | healthy | skills/overlay-apps/scripts |
app |
software | healthy | skills/overlay-apps/app |
open-sutando-ref |
software | healthy | skills/open-sutando-ref |
scripts |
software | healthy | skills/open-sutando-ref/scripts |
voice-agent-test-harness |
software | healthy | skills/voice-agent-test-harness |
scripts |
software | healthy | skills/voice-agent-test-harness/scripts |
examples |
software | healthy | skills/voice-agent-test-harness/examples |
gemini-tts |
software | healthy | skills/gemini-tts |
scripts |
software | healthy | skills/gemini-tts/scripts |
ag2-relay |
software | healthy | skills/ag2-relay |
claude-router |
software | healthy | skills/claude-router |
scripts |
software | healthy | skills/claude-router/scripts |
call-diagnostics |
software | healthy | skills/call-diagnostics |
scripts |
software | healthy | skills/call-diagnostics/scripts |
claude-codex |
software | healthy | skills/claude-codex |
scripts |
software | healthy | skills/claude-codex/scripts |
task-progress |
software | healthy | skills/task-progress |
scripts |
software | healthy | skills/task-progress/scripts |
openai-tts |
software | healthy | skills/openai-tts |
scripts |
software | healthy | skills/openai-tts/scripts |
make-viral-video |
software | healthy | skills/make-viral-video |
scripts |
software | healthy | skills/make-viral-video/scripts |
context-drop |
software | healthy | skills/context-drop |
Sources |
software | healthy | skills/context-drop/Sources |
ax-read |
software | healthy | skills/context-drop/Sources/ax-read |
zoom |
software | healthy | skills/zoom |
macos-tools |
software | healthy | skills/macos-tools |
scripts |
software | healthy | skills/macos-tools/scripts |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | tests/dashboard-default-loopback.test.py |
127.0.0.0 |
network | healthy | tests/agent-api-ssrf-ipv4-mapped-ipv6.test.py |
10.0.0.0 |
network | healthy | tests/agent-api-ssrf-ipv4-mapped-ipv6.test.py |
10.0.0.5 |
network | healthy | tests/agent-api-ssrf-ipv4-mapped-ipv6.test.py |
1.1.1.1 |
network | healthy | tests/agent-api-ssrf-ipv4-mapped-ipv6.test.py |
192.168.1.42 |
network | healthy | tests/phone-conversation-loopback-guard.test.ts |
172.16.0.0 |
network | healthy | src/agent-api.py |
192.168.0.0 |
network | healthy | src/agent-api.py |
169.254.169.254 |
network | healthy | src/agent-api.py |
169.254.0.0 |
network | healthy | src/agent-api.py |
100.64.0.0 |
network | healthy | src/agent-api.py |
198.18.0.0 |
network | healthy | src/agent-api.py |
224.0.0.0 |
network | healthy | src/agent-api.py |
240.0.0.0 |
network | healthy | src/agent-api.py |
| Label | Layer | Status | Path |
|---|---|---|---|
port:9900 |
network | healthy | .env.example |
port:18081 |
network | healthy | tests/agent-state-endpoint.test.ts |
port:19900 |
network | healthy | tests/agent-state-endpoint.test.ts |
port:05 |
network | healthy | scripts/test-pr435.sh |
port:7845 |
network | healthy | scripts/poc-codeql-33-cmd-injection.sh |
port:15 |
network | healthy | skills/screen-companion/configs/guided-setup.yaml |
port:42 |
network | healthy | skills/screen-companion/configs/guided-setup.yaml |
port:443 |
network | healthy | skills/quota-tracker/scripts/credential-proxy.ts |
port:7846 |
network | healthy | skills/quota-tracker/scripts/credential-proxy.ts |
port:02 |
network | healthy | .github/workflows/regen-wire-list.yml |
port:37 |
network | healthy | .github/workflows/regen-wire-list.yml |
port:7844 |
network | healthy | src/dashboard.py |
port:7843 |
network | healthy | src/agent-api.py |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::skills/screen-companion/tools.ts |
security | healthy | skills/screen-companion/tools.ts |
auth::skills/quota-tracker/scripts/credential-proxy.ts |
security | healthy | skills/quota-tracker/scripts/credential-proxy.ts |
auth::scripts/regen-wire-list.py |
security | healthy | scripts/regen-wire-list.py |
auth::skills/quota-tracker/SKILL.md |
security | healthy | skills/quota-tracker/SKILL.md |
auth::skills/gws-gmail-voice/tools.ts |
security | healthy | skills/gws-gmail-voice/tools.ts |
auth::src/slack-bridge.py |
security | healthy | src/slack-bridge.py |
auth::src/secret_scanner.py |
security | healthy | src/secret_scanner.py |
auth::src/browser-tools.ts |
security | healthy | src/browser-tools.ts |
auth::README.md |
security | healthy | README.md |
auth::skills/screen-companion/configs/guided-setup.yaml |
security | healthy | skills/screen-companion/configs/guided-setup.yaml |
auth::tests/secret-scanner.test.py |
security | healthy | tests/secret-scanner.test.py |
| Label | Layer | Status | Path |
|---|---|---|---|
sessions |
data | healthy | scripts/import-session-metrics.py |
tool_calls |
data | healthy | scripts/import-session-metrics.py |
session_events |
data | healthy | scripts/import-session-metrics.py |
conversation |
data | healthy | scripts/import-conversation-log.py |
agents |
data | healthy | skills/agent-registry/scripts/registry-service.py |
| Label | Layer | Status | Path |
|---|---|---|---|
/tmp/nonexistent.txt |
frontend | healthy | tests/open-file-app-param.test.ts |
/tmp/x.py |
frontend | healthy | tests/open-file-app-param.test.ts |
/tmp/__nonexistent_for_test_560__ |
frontend | healthy | tests/open-file-app-param.test.ts |
/media-stream |
frontend | healthy | skills/phone-conversation/scripts/conversation-server.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::codeql |
cicd | healthy | .github/workflows/codeql.yml |
gha::regen-wire-list |
cicd | healthy | .github/workflows/regen-wire-list.yml |
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
gha::cla-recheck-on-push |
cicd | healthy | .github/workflows/cla-recheck-on-push.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
analyze |
cicd | healthy | .github/workflows/codeql.yml |
regen |
cicd | healthy | .github/workflows/regen-wire-list.yml |
typecheck-and-test |
cicd | healthy | .github/workflows/ci.yml |
recheck |
cicd | healthy | .github/workflows/cla-recheck-on-push.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::gcp |
hardware | healthy | package-lock.json |
vps::aws |
hardware | healthy | tests/vault-intercept.test.py |
vps::ec2 |
hardware | healthy | src/web-client.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
postgres |
data | healthy | tests/friction-detector-pending-questions.test.py |
sqlite |
data | healthy | tests/friction-detector-pending-questions.test.py |
| Label | Layer | Status | Path |
|---|---|---|---|
github_token::tests/secret-scanner.test.py |
security | healthy | tests/secret-scanner.test.py |
slack_token::tests/health-check-notify-slack.test.py |
security | healthy | tests/health-check-notify-slack.test.py |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-uou2dlj2 |
software | healthy | /tmp/repobility-clone-uou2dlj2 |
| Label | Layer | Status | Path |
|---|---|---|---|
nginx |
network | healthy | src/web-client.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | skills/subscription-scanner/SKILL.md |
| Label | Layer | Status | Path |
|---|---|---|---|
YOUTUBE_API_KEY |
cicd | healthy | — |
This page is publicly accessible at:
https://repobility.com/scan/8d024ed4-4963-4be7-bdaa-fec2d2a9ad17/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/8d024ed4-4963-4be7-bdaa-fec2d2a9ad17/
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.