Scan timing: clone 1.27s · analysis 7.01s · 0.9 MB · GitHub API rate-limit (preflight)
https://github.com/JuulLabs/kable
· scanned 2026-06-05 21:55 UTC (1 week, 2 days ago)
· 10 languages
108 raw signals (86 security + 22 graph) 0th percentile · Kotlin · small (2-20K LoC) System graph score 70 (lower by 22)
Last scanned 1 week, 2 days ago · v2 · 54 actionable findings from 2 signal sources. 43 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
40.0 | 0.15 | 6.00 |
security_score |
55.0 | 0.25 | 13.75 |
testing_score |
0.0 | 0.20 | 0.00 |
documentation_score |
65.0 | 0.15 | 9.75 |
practices_score |
77.0 | 0.15 | 11.55 |
code_quality |
72.9 | 0.10 | 7.29 |
| Overall | 1.00 | 48.3 |
All 347 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 |
|---|---|---|---|
README.md |
software | healthy | README.md |
build.gradle.kts |
software | healthy | build.gradle.kts |
build.gradle.kts |
software | healthy | uniffi-plugin/build.gradle.kts |
UniffiKotlinPlugin.kt |
software | healthy | uniffi-plugin/src/main/kotlin/UniffiKotlinPlugin.kt |
ProjectExtensions.kt |
software | healthy | uniffi-plugin/src/main/kotlin/ProjectExtensions.kt |
UniffiTarget.kt |
software | healthy | uniffi-plugin/src/main/kotlin/UniffiTarget.kt |
UniffiOs.kt |
software | healthy | uniffi-plugin/src/main/kotlin/UniffiOs.kt |
Constants.kt |
software | healthy | uniffi-plugin/src/main/kotlin/Constants.kt |
UniffiArch.kt |
software | healthy | uniffi-plugin/src/main/kotlin/UniffiArch.kt |
UniffiKotlinExtension.kt |
software | healthy | uniffi-plugin/src/main/kotlin/UniffiKotlinExtension.kt |
TaskExtensions.kt |
software | healthy | uniffi-plugin/src/main/kotlin/TaskExtensions.kt |
CargoBuildTask.kt |
software | healthy | uniffi-plugin/src/main/kotlin/tasks/CargoBuildTask.kt |
CargoLintTasks.kt |
software | healthy | uniffi-plugin/src/main/kotlin/tasks/CargoLintTasks.kt |
CargoCheckTask.kt |
software | healthy | uniffi-plugin/src/main/kotlin/tasks/CargoCheckTask.kt |
UniffiBindgenTasks.kt |
software | healthy | uniffi-plugin/src/main/kotlin/tasks/UniffiBindgenTasks.kt |
CopyDynamicLibraryResourcesTask.kt |
software | healthy | uniffi-plugin/src/main/kotlin/tasks/CopyDynamicLibraryResou… |
CargoTestTask.kt |
software | healthy | uniffi-plugin/src/main/kotlin/tasks/CargoTestTask.kt |
CargoFormatTask.kt |
software | healthy | uniffi-plugin/src/main/kotlin/tasks/CargoFormatTask.kt |
CargoCleanTask.kt |
software | healthy | uniffi-plugin/src/main/kotlin/tasks/CargoCleanTask.kt |
build.gradle.kts |
software | healthy | kable-log-engine-khronicle/build.gradle.kts |
KhronicleLogEngine.kt |
software | healthy | kable-log-engine-khronicle/src/commonMain/kotlin/logs/Khron… |
libs.versions.toml |
software | healthy | gradle/libs.versions.toml |
build.gradle.kts |
software | healthy | kable-core/build.gradle.kts |
PeripheralBuilder.kt |
software | healthy | kable-core/src/webMain/kotlin/PeripheralBuilder.kt |
Bytes.kt |
software | healthy | kable-core/src/webMain/kotlin/Bytes.kt |
BluetoothLEScanOptions.kt |
software | healthy | kable-core/src/webMain/kotlin/BluetoothLEScanOptions.kt |
BluetoothAdvertisingEventWebBluetoothAdvertisement.kt |
software | healthy | kable-core/src/webMain/kotlin/BluetoothAdvertisingEventWebB… |
Observations.kt |
software | healthy | kable-core/src/webMain/kotlin/Observations.kt |
Uuid.kt |
software | healthy | kable-core/src/webMain/kotlin/Uuid.kt |
WebBluetoothAdvertisement.kt |
software | healthy | kable-core/src/webMain/kotlin/WebBluetoothAdvertisement.kt |
Peripheral.deprecated.kt |
software | healthy | kable-core/src/webMain/kotlin/Peripheral.deprecated.kt |
Options.deprecated.kt |
software | healthy | kable-core/src/webMain/kotlin/Options.deprecated.kt |
BluetoothDeviceWebBluetoothPeripheral.kt |
software | healthy | kable-core/src/webMain/kotlin/BluetoothDeviceWebBluetoothPe… |
BluetoothAvailability.kt |
software | healthy | kable-core/src/webMain/kotlin/BluetoothAvailability.kt |
RequestPeripheral.kt |
software | healthy | kable-core/src/webMain/kotlin/RequestPeripheral.kt |
BluetoothWebBluetoothScanner.kt |
software | healthy | kable-core/src/webMain/kotlin/BluetoothWebBluetoothScanner.… |
ScannerBuilder.kt |
software | healthy | kable-core/src/webMain/kotlin/ScannerBuilder.kt |
OptionsBuilder.kt |
software | healthy | kable-core/src/webMain/kotlin/OptionsBuilder.kt |
WebBluetoothScanner.kt |
software | healthy | kable-core/src/webMain/kotlin/WebBluetoothScanner.kt |
Bluetooth.kt |
software | healthy | kable-core/src/webMain/kotlin/Bluetooth.kt |
WebBluetoothPeripheral.kt |
software | healthy | kable-core/src/webMain/kotlin/WebBluetoothPeripheral.kt |
Connection.kt |
software | healthy | kable-core/src/webMain/kotlin/Connection.kt |
Peripheral.kt |
software | healthy | kable-core/src/webMain/kotlin/Peripheral.kt |
Options.kt |
software | healthy | kable-core/src/webMain/kotlin/Options.kt |
Profile.kt |
software | healthy | kable-core/src/webMain/kotlin/Profile.kt |
Identifier.kt |
software | healthy | kable-core/src/webMain/kotlin/Identifier.kt |
FilterSet.kt |
software | healthy | kable-core/src/webMain/kotlin/FilterSet.kt |
PlatformAdvertisement.kt |
software | healthy | kable-core/src/webMain/kotlin/PlatformAdvertisement.kt |
JsPeripheral.kt |
software | healthy | kable-core/src/webMain/kotlin/JsPeripheral.kt |
BluetoothDescriptorUUID.kt |
software | healthy | kable-core/src/webMain/kotlin/external/BluetoothDescriptorU… |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
uniffi-plugin |
software | healthy | uniffi-plugin |
src |
software | healthy | uniffi-plugin/src |
main |
software | healthy | uniffi-plugin/src/main |
kotlin |
software | healthy | uniffi-plugin/src/main/kotlin |
tasks |
software | healthy | uniffi-plugin/src/main/kotlin/tasks |
kable-log-engine-khronicle |
software | healthy | kable-log-engine-khronicle |
src |
software | healthy | kable-log-engine-khronicle/src |
commonMain |
software | healthy | kable-log-engine-khronicle/src/commonMain |
kotlin |
software | healthy | kable-log-engine-khronicle/src/commonMain/kotlin |
logs |
software | healthy | kable-log-engine-khronicle/src/commonMain/kotlin/logs |
gradle |
software | healthy | gradle |
kable-core |
software | healthy | kable-core |
src |
software | healthy | kable-core/src |
webMain |
software | healthy | kable-core/src/webMain |
kotlin |
software | healthy | kable-core/src/webMain/kotlin |
external |
software | healthy | kable-core/src/webMain/kotlin/external |
interop |
software | healthy | kable-core/src/webMain/kotlin/interop |
logs |
software | healthy | kable-core/src/webMain/kotlin/logs |
bluetooth |
software | healthy | kable-core/src/webMain/kotlin/bluetooth |
commonMain |
software | healthy | kable-core/src/commonMain |
kotlin |
software | healthy | kable-core/src/commonMain/kotlin |
android |
software | healthy | kable-core/src/commonMain/kotlin/android |
coroutines |
software | healthy | kable-core/src/commonMain/kotlin/coroutines |
logs |
software | healthy | kable-core/src/commonMain/kotlin/logs |
bluetooth |
software | healthy | kable-core/src/commonMain/kotlin/bluetooth |
appleMain |
software | healthy | kable-core/src/appleMain |
kotlin |
software | healthy | kable-core/src/appleMain/kotlin |
logs |
software | healthy | kable-core/src/appleMain/kotlin/logs |
bluetooth |
software | healthy | kable-core/src/appleMain/kotlin/bluetooth |
wasmJsMain |
software | healthy | kable-core/src/wasmJsMain |
kotlin |
software | healthy | kable-core/src/wasmJsMain/kotlin |
interop |
software | healthy | kable-core/src/wasmJsMain/kotlin/interop |
appleTest |
software | healthy | kable-core/src/appleTest |
kotlin |
software | healthy | kable-core/src/appleTest/kotlin |
commonTest |
software | healthy | kable-core/src/commonTest |
kotlin |
software | healthy | kable-core/src/commonTest/kotlin |
androidUnitTest |
software | healthy | kable-core/src/androidUnitTest |
kotlin |
software | healthy | kable-core/src/androidUnitTest/kotlin |
com |
software | healthy | kable-core/src/androidUnitTest/kotlin/com |
juul |
software | healthy | kable-core/src/androidUnitTest/kotlin/com/juul |
kable |
software | healthy | kable-core/src/androidUnitTest/kotlin/com/juul/kable |
jvmMain |
software | healthy | kable-core/src/jvmMain |
kotlin |
software | healthy | kable-core/src/jvmMain/kotlin |
com |
software | healthy | kable-core/src/jvmMain/kotlin/com |
juul |
software | healthy | kable-core/src/jvmMain/kotlin/com/juul |
kable |
software | healthy | kable-core/src/jvmMain/kotlin/com/juul/kable |
logs |
software | healthy | kable-core/src/jvmMain/kotlin/com/juul/kable/logs |
btleplug |
software | healthy | kable-core/src/jvmMain/kotlin/com/juul/kable/btleplug |
bluetooth |
software | healthy | kable-core/src/jvmMain/kotlin/com/juul/kable/bluetooth |
webTest |
software | healthy | kable-core/src/webTest |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
label |
cicd | healthy | .github/workflows/version-labels.yml |
signing |
cicd | healthy | .github/workflows/signing.yml |
assemble-rust |
cicd | healthy | .github/workflows/ci.yml |
build |
cicd | healthy | .github/workflows/ci.yml |
update-release-draft |
cicd | healthy | .github/workflows/release-drafter.yml |
build |
cicd | healthy | .github/workflows/pages.yml |
deploy |
cicd | healthy | .github/workflows/pages.yml |
assemble-rust |
cicd | healthy | .github/workflows/publish.yml |
publish |
cicd | healthy | .github/workflows/publish.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::version-labels |
cicd | healthy | .github/workflows/version-labels.yml |
gha::signing |
cicd | healthy | .github/workflows/signing.yml |
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
gha::release-drafter |
cicd | healthy | .github/workflows/release-drafter.yml |
gha::pages |
cicd | healthy | .github/workflows/pages.yml |
gha::publish |
cicd | healthy | .github/workflows/publish.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
GITHUB_TOKEN |
cicd | healthy | — |
OSS_SONATYPE_NEXUS_USERNAME |
cicd | healthy | — |
OSS_SONATYPE_NEXUS_PASSWORD |
cicd | healthy | — |
SIGNING_KEY |
cicd | healthy | — |
SIGNING_PASSWORD |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
password_literal::.github/workflows/signing.yml |
security | healthy | .github/workflows/signing.yml |
password_literal::.github/workflows/publish.yml |
security | healthy | .github/workflows/publish.yml |
password_literal::.github/workflows/publish.yml |
security | healthy | .github/workflows/publish.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-zwcclgwn |
software | healthy | /tmp/repobility-clone-zwcclgwn |
This page is publicly accessible at:
https://repobility.com/scan/f59bd975-9164-43b4-9c40-e5ccd968ad03/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/f59bd975-9164-43b4-9c40-e5ccd968ad03/
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.