https://github.com/RobLe3/iicp-client-python
· scanned 2026-06-15 23:53 UTC (2 months, 3 weeks ago)
69 raw signals (0 security + 69 graph)
Last scanned 2 months, 3 weeks ago · v1 · 56 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 2030 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 |
|---|---|---|---|
_cfg |
software | healthy | tests/test_model_drift_reregister.py:17 |
test_reregister_when_model_list_drifts |
software | healthy | tests/test_model_drift_reregister.py:33 |
capture_register |
software | healthy | tests/test_model_drift_reregister.py:41 |
test_no_reregister_when_model_list_unchanged |
software | healthy | tests/test_model_drift_reregister.py:72 |
test_no_reregister_when_backend_returns_empty |
software | healthy | tests/test_model_drift_reregister.py:96 |
test_no_reregister_when_no_backend_url |
software | healthy | tests/test_model_drift_reregister.py:118 |
_free_port |
software | healthy | tests/test_conformance.py:24 |
test_passes_when_node_id_and_token_set |
software | healthy | tests/test_conformance.py:34 |
test_passes_with_node_id_only_when_token_not_tracked |
software | healthy | tests/test_conformance.py:48 |
test_fails_when_node_id_unset |
software | healthy | tests/test_conformance.py:202 |
do_GET |
software | healthy | tests/test_conformance.py:81 |
log_message |
software | healthy | tests/test_conformance.py:92 |
test_returns_pass_on_complete_schema |
software | healthy | tests/test_conformance.py:97 |
test_returns_fail_when_required_field_missing |
software | healthy | tests/test_conformance.py:112 |
test_returns_fail_when_health_endpoint_returns_500 |
software | healthy | tests/test_conformance.py:127 |
test_returns_fail_when_health_endpoint_absent |
software | healthy | tests/test_conformance.py:141 |
test_skips_for_non_routable_endpoint |
software | healthy | tests/test_conformance.py:151 |
test_returns_pass_when_directory_probe_reports_reachable |
software | healthy | tests/test_conformance.py:165 |
test_returns_fail_when_directory_probe_reports_unreachable |
software | healthy | tests/test_conformance.py:181 |
test_returns_pass_when_node_id_appears_in_nodelist |
software | healthy | tests/test_conformance.py:214 |
test_returns_fail_when_node_id_absent_from_nodelist |
software | healthy | tests/test_conformance.py:239 |
test_runs_all_four_concurrently_and_counts_results |
software | healthy | tests/test_conformance.py:261 |
test_report_as_dict_is_serializable |
software | healthy | tests/test_conformance.py:304 |
_make_ct_response |
software | healthy | tests/test_consumer_token_client.py:17 |
_make_httpx_ctx |
software | healthy | tests/test_consumer_token_client.py:26 |
test_acquire_consumer_token_returns_token_on_201 |
software | healthy | tests/test_consumer_token_client.py:36 |
test_acquire_consumer_token_returns_none_without_node_token |
software | healthy | tests/test_consumer_token_client.py:48 |
test_acquire_consumer_token_caches_valid_token |
software | healthy | tests/test_consumer_token_client.py:56 |
test_acquire_consumer_token_refreshes_expired_token |
software | healthy | tests/test_consumer_token_client.py:70 |
test_acquire_consumer_token_returns_none_on_network_excepti… |
software | healthy | tests/test_consumer_token_client.py:86 |
test_returns_callable |
software | healthy | tests/test_backends.py:18 |
test_chat_completion_happy_path |
software | healthy | tests/test_backends.py:27 |
test_audio_transcribe_posts_multipart_and_returns_text |
software | healthy | tests/test_backends.py:54 |
test_audio_transcribe_rejects_invalid_base64 |
software | healthy | tests/test_backends.py:81 |
test_audio_transcribe_requires_audio_field |
software | healthy | tests/test_backends.py:91 |
test_audio_speech_returns_base64_audio |
software | healthy | tests/test_backends.py:104 |
test_audio_speech_requires_input_field |
software | healthy | tests/test_backends.py:130 |
test_safety_moderate_routes_without_model |
software | healthy | tests/test_backends.py:143 |
test_cli_backend_url_default_is_empty_so_saved_config_appli… |
software | healthy | tests/test_backends.py:172 |
test_cli_backend_api_key_flag_and_env |
software | healthy | tests/test_backends.py:187 |
test_backend_api_key_sets_bearer_header |
software | healthy | tests/test_backends.py:201 |
test_no_api_key_sends_no_auth_header |
software | healthy | tests/test_backends.py:224 |
test_factory_model_is_injected_when_payload_missing |
software | healthy | tests/test_backends.py:242 |
test_task_payload_model_overrides_factory_default |
software | healthy | tests/test_backends.py:260 |
test_completion_intent_routes_to_completions_path |
software | healthy | tests/test_backends.py:279 |
test_embedding_intent_routes_to_embeddings_path |
software | healthy | tests/test_backends.py:295 |
test_unsupported_intent_returns_400 |
software | healthy | tests/test_backends.py:312 |
test_no_model_returns_400 |
software | healthy | tests/test_backends.py:319 |
test_non_dict_payload_returns_400 |
software | healthy | tests/test_backends.py:332 |
test_upstream_500_is_surfaced |
software | healthy | tests/test_backends.py:340 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
TestConfReg01 |
software | healthy | tests/test_conformance.py:33 |
_HealthHandler |
software | healthy | tests/test_conformance.py:75 |
TestConfHealth01 |
software | healthy | tests/test_conformance.py:96 |
TestConfReach01 |
software | healthy | tests/test_conformance.py:150 |
TestConfDisc01 |
software | healthy | tests/test_conformance.py:201 |
TestOrchestrator |
software | healthy | tests/test_conformance.py:259 |
TestFactoryDefaults |
software | healthy | tests/test_backends.py:17 |
TestSelector |
software | healthy | tests/test_backends.py:438 |
TestNoWindows |
software | healthy | tests/test_availability.py:16 |
TestNormalWindow |
software | healthy | tests/test_availability.py:27 |
TestMidnightSpanningWindow |
software | healthy | tests/test_availability.py:43 |
TestClosedWindow |
software | healthy | tests/test_availability.py:54 |
_ServerHandle |
software | healthy | tests/test_serve.py:37 |
TestHealth |
software | healthy | tests/test_serve.py:159 |
TestMetrics |
software | healthy | tests/test_serve.py:214 |
TestTask |
software | healthy | tests/test_serve.py:223 |
TestConcurrencyGate |
software | healthy | tests/test_serve.py:242 |
TestIdempotency |
software | healthy | tests/test_serve.py:260 |
TestNonceReplay |
software | healthy | tests/test_serve.py:376 |
TestTraceparent |
software | healthy | tests/test_serve.py:404 |
TestMakeFrame |
software | healthy | tests/test_relay_worker_client.py:24 |
TestReadFrame |
software | healthy | tests/test_relay_worker_client.py:39 |
TestRelayWorkerClientInit |
software | healthy | tests/test_relay_worker_client.py:73 |
TestHandleCall |
software | healthy | tests/test_relay_worker_client.py:106 |
FakeWriter |
software | healthy | tests/test_relay_worker_client.py:115 |
_ServerHandle |
software | healthy | tests/test_relay_http_poll.py:46 |
TestHttpPollWorkerSession |
software | healthy | tests/test_relay_http_poll.py:140 |
TestRelayHttpPollEndpoints |
software | healthy | tests/test_relay_http_poll.py:186 |
TestRelayAckHttpPort |
software | healthy | tests/test_relay_http_poll.py:308 |
TestNodeWideCors |
software | healthy | tests/test_relay_http_poll.py:326 |
TestSessionCap |
software | healthy | tests/test_relay_http_poll.py:354 |
TestLooksRoutable |
software | healthy | tests/test_nat_detection.py:26 |
TestDetectCgnat |
software | healthy | tests/test_nat_detection.py:67 |
TestProbeExternalIp |
software | healthy | tests/test_nat_detection.py:93 |
TestDetectNatTier0 |
software | healthy | tests/test_nat_detection.py:124 |
TestDetectNatTier1Mocked |
software | healthy | tests/test_nat_detection.py:212 |
TestIpv6Fallback |
software | healthy | tests/test_nat_detection.py:312 |
TestMerge |
software | healthy | tests/test_peer_manager.py:20 |
TestPruneAndRelay |
software | healthy | tests/test_peer_manager.py:45 |
TestVerifyExchange |
software | healthy | tests/test_peer_manager.py:64 |
TestRelayElection |
software | healthy | tests/test_peer_manager.py:82 |
TestTaskRateLimit |
software | healthy | tests/test_task_rate_limit.py:28 |
TestSetup |
software | healthy | tests/test_tunnel.py:46 |
TestInitiation |
software | healthy | tests/test_tunnel.py:59 |
TestTeardown |
software | healthy | tests/test_tunnel.py:74 |
TestSupervision |
software | healthy | tests/test_tunnel.py:83 |
TestCliWiring |
software | healthy | tests/test_tunnel.py:113 |
TestVersionCompare |
software | healthy | tests/test_updater.py:14 |
TestCheckUpdate |
software | healthy | tests/test_updater.py:34 |
TestUpdateCli |
software | healthy | tests/test_updater.py:45 |
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 |
CONTRIBUTING.md |
software | healthy | CONTRIBUTING.md |
Dockerfile |
software | healthy | Dockerfile |
pyproject.toml |
software | healthy | pyproject.toml |
LICENSE |
software | healthy | LICENSE |
CHANGELOG.md |
software | healthy | CHANGELOG.md |
test_model_drift_reregister.py |
software | healthy | tests/test_model_drift_reregister.py |
test_conformance.py |
software | healthy | tests/test_conformance.py |
test_consumer_token_client.py |
software | healthy | tests/test_consumer_token_client.py |
test_backends.py |
software | healthy | tests/test_backends.py |
test_integration.py |
software | healthy | tests/test_integration.py |
test_availability.py |
software | healthy | tests/test_availability.py |
test_iicp_tcp.py |
software | healthy | tests/test_iicp_tcp.py |
test_serve.py |
software | healthy | tests/test_serve.py |
test_relay_worker_client.py |
software | healthy | tests/test_relay_worker_client.py |
__init__.py |
software | healthy | tests/__init__.py |
test_relay_http_poll.py |
software | healthy | tests/test_relay_http_poll.py |
test_nat_detection.py |
software | healthy | tests/test_nat_detection.py |
test_confidentiality.py |
software | healthy | tests/test_confidentiality.py |
test_delegation.py |
software | healthy | tests/test_delegation.py |
test_operator_crypto.py |
software | healthy | tests/test_operator_crypto.py |
test_region_default.py |
software | healthy | tests/test_region_default.py |
test_capabilities.py |
software | healthy | tests/test_capabilities.py |
test_mcp_gateway.py |
software | healthy | tests/test_mcp_gateway.py |
test_peer_manager.py |
software | healthy | tests/test_peer_manager.py |
test_task_rate_limit.py |
software | healthy | tests/test_task_rate_limit.py |
test_serve_address_family.py |
software | healthy | tests/test_serve_address_family.py |
test_tunnel.py |
software | healthy | tests/test_tunnel.py |
test_updater.py |
software | healthy | tests/test_updater.py |
test_register_operator_wiring.py |
software | healthy | tests/test_register_operator_wiring.py |
test_node_hmac_key_regression.py |
software | healthy | tests/test_node_hmac_key_regression.py |
test_concurrency.py |
software | healthy | tests/test_concurrency.py |
test_credits_cli.py |
software | healthy | tests/test_credits_cli.py |
test_current_node_token.py |
software | healthy | tests/test_current_node_token.py |
test_relay_session.py |
software | healthy | tests/test_relay_session.py |
test_operator_identity.py |
software | healthy | tests/test_operator_identity.py |
test_serve_multiplex.py |
software | healthy | tests/test_serve_multiplex.py |
test_cip_policy.py |
software | healthy | tests/test_cip_policy.py |
test_policy_trio.py |
software | healthy | tests/test_policy_trio.py |
test_instance_lock.py |
software | healthy | tests/test_instance_lock.py |
test_node_log.py |
software | healthy | tests/test_node_log.py |
test_client.py |
software | healthy | tests/test_client.py |
test_cli_ux.py |
software | healthy | tests/test_cli_ux.py |
test_pricing.py |
software | healthy | tests/test_pricing.py |
test_operator_rename_cli.py |
software | healthy | tests/test_operator_rename_cli.py |
test_scheduler.py |
software | healthy | tests/test_scheduler.py |
test_cip_integration.py |
software | healthy | tests/proxy/test_cip_integration.py |
test_fallback.py |
software | healthy | tests/proxy/test_fallback.py |
test_selector.py |
software | healthy | tests/proxy/test_selector.py |
test_anthropic_compat.py |
software | healthy | tests/proxy/test_anthropic_compat.py |
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 | README.md |
203.0.113.0 |
network | healthy | tests/test_nat_detection.py |
8.8.8.8 |
network | healthy | tests/test_nat_detection.py |
1.1.1.1 |
network | healthy | tests/test_nat_detection.py |
192.168.1.1 |
network | healthy | tests/test_nat_detection.py |
10.0.0.5 |
network | healthy | tests/test_nat_detection.py |
172.20.0.5 |
network | healthy | tests/test_nat_detection.py |
169.254.5.5 |
network | healthy | tests/test_nat_detection.py |
89.1.216.20 |
network | healthy | tests/test_nat_detection.py |
100.65.0.1 |
network | healthy | tests/test_nat_detection.py |
8.8.8.5 |
network | healthy | tests/test_nat_detection.py |
100.64.5.5 |
network | healthy | tests/test_nat_detection.py |
8.8.8.99 |
network | healthy | tests/test_nat_detection.py |
203.0.113.5 |
network | healthy | tests/test_serve_multiplex.py |
1.2.3.4 |
network | healthy | tests/test_client.py |
1.2.3.1 |
network | healthy | tests/test_client.py |
1.2.3.2 |
network | healthy | tests/test_client.py |
1.2.3.3 |
network | healthy | tests/test_client.py |
1.2.3.5 |
network | healthy | tests/test_client.py |
203.0.113.10 |
network | healthy | tests/proxy/test_address_learning.py |
203.0.113.42 |
network | healthy | tests/proxy/test_address_learning.py |
10.0.0.1 |
network | healthy | tests/proxy/test_address_learning.py |
192.168.1.100 |
network | healthy | tests/proxy/test_router.py |
169.254.169.254 |
network | healthy | tests/proxy/test_router.py |
172.17.0.0 |
network | healthy | src/iicp_client/nat_detection.py |
100.64.0.0 |
network | healthy | src/iicp_client/nat_detection.py |
100.127.255.255 |
network | healthy | src/iicp_client/nat_detection.py |
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
proxy |
software | healthy | tests/proxy |
examples |
software | healthy | examples |
src |
software | healthy | src |
iicp_client |
software | healthy | src/iicp_client |
proxy |
software | healthy | src/iicp_client/proxy |
cip |
software | healthy | src/iicp_client/proxy/cip |
routing |
software | healthy | src/iicp_client/proxy/routing |
auth |
software | healthy | src/iicp_client/proxy/auth |
plugin |
software | healthy | src/iicp_client/proxy/plugin |
network |
software | healthy | src/iicp_client/proxy/network |
ollama_compat |
software | healthy | src/iicp_client/proxy/ollama_compat |
clients |
software | healthy | src/iicp_client/proxy/clients |
anthropic_compat |
software | healthy | src/iicp_client/proxy/anthropic_compat |
openai_compat |
software | healthy | src/iicp_client/proxy/openai_compat |
backends |
software | healthy | src/iicp_client/backends |
| Label | Layer | Status | Path |
|---|---|---|---|
GET /metrics |
api | healthy | src/iicp_client/proxy/main.py |
GET /status |
api | healthy | src/iicp_client/proxy/main.py |
GET /api/version |
api | healthy | src/iicp_client/proxy/ollama_compat/server.py |
GET /api/tags |
api | healthy | src/iicp_client/proxy/ollama_compat/server.py |
POST /api/chat |
api | healthy | src/iicp_client/proxy/ollama_compat/server.py |
POST /api/generate |
api | healthy | src/iicp_client/proxy/ollama_compat/server.py |
GET /v1/models |
api | healthy | src/iicp_client/proxy/anthropic_compat/server.py |
POST /v1/messages |
api | healthy | src/iicp_client/proxy/anthropic_compat/server.py |
POST /v1/chat/completions |
api | healthy | src/iicp_client/proxy/openai_compat/server.py |
| Label | Layer | Status | Path |
|---|---|---|---|
port:8020 |
network | healthy | README.md |
port:128 |
network | healthy | tests/test_serve_address_family.py |
port:9484 |
network | healthy | tests/test_node_log.py |
port:9483 |
network | healthy | tests/proxy/test_compat_routes.py |
port:8765 |
network | healthy | tests/proxy/test_prometheus_metrics.py |
port:8080 |
network | healthy | src/iicp_client/conformance.py |
port:443 |
network | healthy | src/iicp_client/conformance.py |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::aws |
hardware | healthy | tests/proxy/test_router.py |
vps::hetzner |
hardware | healthy | src/iicp_client/nat_detection.py |
vps::digitalocean |
hardware | healthy | src/iicp_client/nat_detection.py |
vps::vultr |
hardware | healthy | src/iicp_client/nat_detection.py |
vps::linode |
hardware | healthy | src/iicp_client/nat_detection.py |
vps::gcp |
hardware | healthy | src/iicp_client/nat_detection.py |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::tests/test_consumer_token_client.py |
security | healthy | tests/test_consumer_token_client.py |
auth::src/iicp_client/types.py |
security | healthy | src/iicp_client/types.py |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-xjohqfw7 |
software | healthy | /tmp/repobility-clone-xjohqfw7 |
| Label | Layer | Status | Path |
|---|---|---|---|
mysql |
data | healthy | src/iicp_client/proxy/network/peer_cache.py |
| Label | Layer | Status | Path |
|---|---|---|---|
loadbalancer |
network | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
image::Dockerfile |
hardware | healthy | Dockerfile |
This page is publicly accessible at:
https://repobility.com/scan/56022714-19ba-477f-be32-3d62b43f4be8/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/56022714-19ba-477f-be32-3d62b43f4be8/
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.