{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-4+qual-2+sec-2","generated_at":"2026-11-13T23:55:21.605014Z","repo":{"ref":{"host":"github.com","owner":"tj-smith47","name":"shelly-cli"},"default_branch":"master","clone_url":"https://github.com/tj-smith47/shelly-cli.git","html_url":"https://github.com/tj-smith47/shelly-cli","description":"🤖 Cobra CLI tool for Shelly IoT devices.","stars":8,"forks":1,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":36162,"primary_language":"Go","license_spdx":"Apache-2.0","created_at":"2025-12-16T07:22:24Z","pushed_at":"2026-11-13T23:45:12Z","security_policy_url":"https://github.com/tj-smith47/shelly-cli/security/policy","distribution":{"owner_created_at":"2022-10-03T23:14:10Z","owner_type":"User","release_assets":[{"name":"checksums.txt","size":462,"download_count":1,"release_tag":"v0.14.7","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.7/checksums.txt"},{"name":"shelly_0.14.7_source.tar.gz","size":5176280,"download_count":1,"release_tag":"v0.14.7","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.7/shelly_0.14.7_source.tar.gz"},{"name":"shelly_darwin_amd64.tar.gz","size":12895261,"download_count":1,"release_tag":"v0.14.7","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.7/shelly_darwin_amd64.tar.gz"},{"name":"shelly_darwin_amd64.tar.gz.sha256","size":93,"download_count":1,"release_tag":"v0.14.7","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.7/shelly_darwin_amd64.tar.gz.sha256"},{"name":"shelly_darwin_arm64.tar.gz","size":12187791,"download_count":1,"release_tag":"v0.14.7","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.7/shelly_darwin_arm64.tar.gz"},{"name":"shelly_darwin_arm64.tar.gz.sha256","size":93,"download_count":1,"release_tag":"v0.14.7","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.7/shelly_darwin_arm64.tar.gz.sha256"},{"name":"shelly_linux_amd64.tar.gz","size":13202903,"download_count":1,"release_tag":"v0.14.7","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.7/shelly_linux_amd64.tar.gz"},{"name":"shelly_linux_amd64.tar.gz.sha256","size":92,"download_count":1,"release_tag":"v0.14.7","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.7/shelly_linux_amd64.tar.gz.sha256"},{"name":"shelly_linux_arm64.tar.gz","size":12087081,"download_count":1,"release_tag":"v0.14.7","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.7/shelly_linux_arm64.tar.gz"},{"name":"shelly_linux_arm64.tar.gz.sha256","size":92,"download_count":1,"release_tag":"v0.14.7","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.7/shelly_linux_arm64.tar.gz.sha256"},{"name":"shelly_windows_amd64.zip","size":13500986,"download_count":1,"release_tag":"v0.14.7","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.7/shelly_windows_amd64.zip"},{"name":"shelly_windows_amd64.zip.sha256","size":92,"download_count":1,"release_tag":"v0.14.7","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.7/shelly_windows_amd64.zip.sha256"},{"name":"checksums.txt","size":462,"download_count":1,"release_tag":"v0.14.6","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.6/checksums.txt"},{"name":"shelly_0.14.6_source.tar.gz","size":5177497,"download_count":1,"release_tag":"v0.14.6","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.6/shelly_0.14.6_source.tar.gz"},{"name":"shelly_darwin_amd64.tar.gz","size":12894966,"download_count":1,"release_tag":"v0.14.6","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.6/shelly_darwin_amd64.tar.gz"},{"name":"shelly_darwin_amd64.tar.gz.sha256","size":93,"download_count":1,"release_tag":"v0.14.6","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.6/shelly_darwin_amd64.tar.gz.sha256"},{"name":"shelly_darwin_arm64.tar.gz","size":12187647,"download_count":5,"release_tag":"v0.14.6","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.6/shelly_darwin_arm64.tar.gz"},{"name":"shelly_darwin_arm64.tar.gz.sha256","size":93,"download_count":2,"release_tag":"v0.14.6","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.6/shelly_darwin_arm64.tar.gz.sha256"},{"name":"shelly_linux_amd64.tar.gz","size":13203743,"download_count":4,"release_tag":"v0.14.6","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.6/shelly_linux_amd64.tar.gz"},{"name":"shelly_linux_amd64.tar.gz.sha256","size":92,"download_count":1,"release_tag":"v0.14.6","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.6/shelly_linux_amd64.tar.gz.sha256"},{"name":"shelly_linux_arm64.tar.gz","size":12086841,"download_count":1,"release_tag":"v0.14.6","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.6/shelly_linux_arm64.tar.gz"},{"name":"shelly_linux_arm64.tar.gz.sha256","size":92,"download_count":1,"release_tag":"v0.14.6","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.6/shelly_linux_arm64.tar.gz.sha256"},{"name":"shelly_windows_amd64.zip","size":13500875,"download_count":1,"release_tag":"v0.14.6","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.6/shelly_windows_amd64.zip"},{"name":"shelly_windows_amd64.zip.sha256","size":92,"download_count":1,"release_tag":"v0.14.6","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.6/shelly_windows_amd64.zip.sha256"},{"name":"checksums.txt","size":462,"download_count":1,"release_tag":"v0.14.5","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.5/checksums.txt"},{"name":"shelly_0.14.5_source.tar.gz","size":5177365,"download_count":1,"release_tag":"v0.14.5","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.5/shelly_0.14.5_source.tar.gz"},{"name":"shelly_darwin_amd64.tar.gz","size":12894984,"download_count":1,"release_tag":"v0.14.5","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.5/shelly_darwin_amd64.tar.gz"},{"name":"shelly_darwin_amd64.tar.gz.sha256","size":93,"download_count":1,"release_tag":"v0.14.5","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.5/shelly_darwin_amd64.tar.gz.sha256"},{"name":"shelly_darwin_arm64.tar.gz","size":12187657,"download_count":1,"release_tag":"v0.14.5","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.5/shelly_darwin_arm64.tar.gz"},{"name":"shelly_darwin_arm64.tar.gz.sha256","size":93,"download_count":1,"release_tag":"v0.14.5","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.5/shelly_darwin_arm64.tar.gz.sha256"},{"name":"shelly_linux_amd64.tar.gz","size":13203773,"download_count":2,"release_tag":"v0.14.5","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.5/shelly_linux_amd64.tar.gz"},{"name":"shelly_linux_amd64.tar.gz.sha256","size":92,"download_count":1,"release_tag":"v0.14.5","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.5/shelly_linux_amd64.tar.gz.sha256"},{"name":"shelly_linux_arm64.tar.gz","size":12086849,"download_count":1,"release_tag":"v0.14.5","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.5/shelly_linux_arm64.tar.gz"},{"name":"shelly_linux_arm64.tar.gz.sha256","size":92,"download_count":1,"release_tag":"v0.14.5","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.5/shelly_linux_arm64.tar.gz.sha256"},{"name":"shelly_windows_amd64.zip","size":13500867,"download_count":1,"release_tag":"v0.14.5","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.5/shelly_windows_amd64.zip"},{"name":"shelly_windows_amd64.zip.sha256","size":92,"download_count":1,"release_tag":"v0.14.5","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.5/shelly_windows_amd64.zip.sha256"},{"name":"checksums.txt","size":462,"download_count":1,"release_tag":"v0.14.4","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.4/checksums.txt"},{"name":"shelly_0.14.4_source.tar.gz","size":5159046,"download_count":1,"release_tag":"v0.14.4","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.4/shelly_0.14.4_source.tar.gz"},{"name":"shelly_darwin_amd64.tar.gz","size":12855280,"download_count":2,"release_tag":"v0.14.4","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.4/shelly_darwin_amd64.tar.gz"},{"name":"shelly_darwin_amd64.tar.gz.sha256","size":93,"download_count":1,"release_tag":"v0.14.4","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.4/shelly_darwin_amd64.tar.gz.sha256"},{"name":"shelly_darwin_arm64.tar.gz","size":12145861,"download_count":3,"release_tag":"v0.14.4","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.4/shelly_darwin_arm64.tar.gz"},{"name":"shelly_darwin_arm64.tar.gz.sha256","size":93,"download_count":1,"release_tag":"v0.14.4","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.4/shelly_darwin_arm64.tar.gz.sha256"},{"name":"shelly_linux_amd64.tar.gz","size":13169021,"download_count":10,"release_tag":"v0.14.4","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.4/shelly_linux_amd64.tar.gz"},{"name":"shelly_linux_amd64.tar.gz.sha256","size":92,"download_count":4,"release_tag":"v0.14.4","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.4/shelly_linux_amd64.tar.gz.sha256"},{"name":"shelly_linux_arm64.tar.gz","size":12051948,"download_count":3,"release_tag":"v0.14.4","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.4/shelly_linux_arm64.tar.gz"},{"name":"shelly_linux_arm64.tar.gz.sha256","size":92,"download_count":2,"release_tag":"v0.14.4","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.4/shelly_linux_arm64.tar.gz.sha256"},{"name":"shelly_windows_amd64.zip","size":13467384,"download_count":1,"release_tag":"v0.14.4","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.4/shelly_windows_amd64.zip"},{"name":"shelly_windows_amd64.zip.sha256","size":92,"download_count":1,"release_tag":"v0.14.4","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.4/shelly_windows_amd64.zip.sha256"},{"name":"checksums.txt","size":462,"download_count":1,"release_tag":"v0.14.3","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.3/checksums.txt"},{"name":"shelly_0.14.3_source.tar.gz","size":5158976,"download_count":1,"release_tag":"v0.14.3","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.3/shelly_0.14.3_source.tar.gz"},{"name":"shelly_darwin_amd64.tar.gz","size":12855272,"download_count":1,"release_tag":"v0.14.3","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.3/shelly_darwin_amd64.tar.gz"},{"name":"shelly_darwin_amd64.tar.gz.sha256","size":93,"download_count":1,"release_tag":"v0.14.3","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.3/shelly_darwin_amd64.tar.gz.sha256"},{"name":"shelly_darwin_arm64.tar.gz","size":12145844,"download_count":1,"release_tag":"v0.14.3","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.3/shelly_darwin_arm64.tar.gz"},{"name":"shelly_darwin_arm64.tar.gz.sha256","size":93,"download_count":1,"release_tag":"v0.14.3","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.3/shelly_darwin_arm64.tar.gz.sha256"},{"name":"shelly_linux_amd64.tar.gz","size":13168954,"download_count":1,"release_tag":"v0.14.3","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.3/shelly_linux_amd64.tar.gz"},{"name":"shelly_linux_amd64.tar.gz.sha256","size":92,"download_count":1,"release_tag":"v0.14.3","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.3/shelly_linux_amd64.tar.gz.sha256"},{"name":"shelly_linux_arm64.tar.gz","size":12051945,"download_count":1,"release_tag":"v0.14.3","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.3/shelly_linux_arm64.tar.gz"},{"name":"shelly_linux_arm64.tar.gz.sha256","size":92,"download_count":1,"release_tag":"v0.14.3","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.3/shelly_linux_arm64.tar.gz.sha256"},{"name":"shelly_windows_amd64.zip","size":13467390,"download_count":1,"release_tag":"v0.14.3","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.3/shelly_windows_amd64.zip"},{"name":"shelly_windows_amd64.zip.sha256","size":92,"download_count":1,"release_tag":"v0.14.3","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.3/shelly_windows_amd64.zip.sha256"},{"name":"checksums.txt","size":462,"download_count":1,"release_tag":"v0.14.2","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.2/checksums.txt"},{"name":"shelly_0.14.2_source.tar.gz","size":5162544,"download_count":1,"release_tag":"v0.14.2","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.2/shelly_0.14.2_source.tar.gz"},{"name":"shelly_darwin_amd64.tar.gz","size":12855292,"download_count":1,"release_tag":"v0.14.2","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.2/shelly_darwin_amd64.tar.gz"},{"name":"shelly_darwin_amd64.tar.gz.sha256","size":93,"download_count":1,"release_tag":"v0.14.2","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.2/shelly_darwin_amd64.tar.gz.sha256"},{"name":"shelly_darwin_arm64.tar.gz","size":12145873,"download_count":4,"release_tag":"v0.14.2","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.2/shelly_darwin_arm64.tar.gz"},{"name":"shelly_darwin_arm64.tar.gz.sha256","size":93,"download_count":1,"release_tag":"v0.14.2","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.2/shelly_darwin_arm64.tar.gz.sha256"},{"name":"shelly_linux_amd64.tar.gz","size":13168964,"download_count":3,"release_tag":"v0.14.2","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.2/shelly_linux_amd64.tar.gz"},{"name":"shelly_linux_amd64.tar.gz.sha256","size":92,"download_count":1,"release_tag":"v0.14.2","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.2/shelly_linux_amd64.tar.gz.sha256"},{"name":"shelly_linux_arm64.tar.gz","size":12051998,"download_count":1,"release_tag":"v0.14.2","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.2/shelly_linux_arm64.tar.gz"},{"name":"shelly_linux_arm64.tar.gz.sha256","size":92,"download_count":1,"release_tag":"v0.14.2","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.2/shelly_linux_arm64.tar.gz.sha256"},{"name":"shelly_windows_amd64.zip","size":13467387,"download_count":1,"release_tag":"v0.14.2","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.2/shelly_windows_amd64.zip"},{"name":"shelly_windows_amd64.zip.sha256","size":92,"download_count":1,"release_tag":"v0.14.2","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.2/shelly_windows_amd64.zip.sha256"},{"name":"checksums.txt","size":462,"download_count":1,"release_tag":"v0.14.1","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.1/checksums.txt"},{"name":"shelly_0.14.1_source.tar.gz","size":5162630,"download_count":1,"release_tag":"v0.14.1","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.1/shelly_0.14.1_source.tar.gz"},{"name":"shelly_darwin_amd64.tar.gz","size":12855033,"download_count":1,"release_tag":"v0.14.1","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.1/shelly_darwin_amd64.tar.gz"},{"name":"shelly_darwin_amd64.tar.gz.sha256","size":93,"download_count":1,"release_tag":"v0.14.1","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.1/shelly_darwin_amd64.tar.gz.sha256"},{"name":"shelly_darwin_arm64.tar.gz","size":12145514,"download_count":4,"release_tag":"v0.14.1","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.1/shelly_darwin_arm64.tar.gz"},{"name":"shelly_darwin_arm64.tar.gz.sha256","size":93,"download_count":1,"release_tag":"v0.14.1","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.1/shelly_darwin_arm64.tar.gz.sha256"},{"name":"shelly_linux_amd64.tar.gz","size":13170072,"download_count":4,"release_tag":"v0.14.1","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.1/shelly_linux_amd64.tar.gz"},{"name":"shelly_linux_amd64.tar.gz.sha256","size":92,"download_count":1,"release_tag":"v0.14.1","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.1/shelly_linux_amd64.tar.gz.sha256"},{"name":"shelly_linux_arm64.tar.gz","size":12050154,"download_count":1,"release_tag":"v0.14.1","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.1/shelly_linux_arm64.tar.gz"},{"name":"shelly_linux_arm64.tar.gz.sha256","size":92,"download_count":1,"release_tag":"v0.14.1","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.1/shelly_linux_arm64.tar.gz.sha256"},{"name":"shelly_windows_amd64.zip","size":13467146,"download_count":1,"release_tag":"v0.14.1","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.1/shelly_windows_amd64.zip"},{"name":"shelly_windows_amd64.zip.sha256","size":92,"download_count":1,"release_tag":"v0.14.1","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.1/shelly_windows_amd64.zip.sha256"},{"name":"checksums.txt","size":462,"download_count":1,"release_tag":"v0.14.0","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.0/checksums.txt"},{"name":"shelly_0.14.0_source.tar.gz","size":5154467,"download_count":1,"release_tag":"v0.14.0","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.0/shelly_0.14.0_source.tar.gz"},{"name":"shelly_darwin_amd64.tar.gz","size":12863698,"download_count":1,"release_tag":"v0.14.0","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.0/shelly_darwin_amd64.tar.gz"},{"name":"shelly_darwin_amd64.tar.gz.sha256","size":93,"download_count":1,"release_tag":"v0.14.0","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.0/shelly_darwin_amd64.tar.gz.sha256"},{"name":"shelly_darwin_arm64.tar.gz","size":12152719,"download_count":1,"release_tag":"v0.14.0","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.0/shelly_darwin_arm64.tar.gz"},{"name":"shelly_darwin_arm64.tar.gz.sha256","size":93,"download_count":2,"release_tag":"v0.14.0","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.0/shelly_darwin_arm64.tar.gz.sha256"},{"name":"shelly_linux_amd64.tar.gz","size":13177980,"download_count":3,"release_tag":"v0.14.0","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.0/shelly_linux_amd64.tar.gz"},{"name":"shelly_linux_amd64.tar.gz.sha256","size":92,"download_count":2,"release_tag":"v0.14.0","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.0/shelly_linux_amd64.tar.gz.sha256"},{"name":"shelly_linux_arm64.tar.gz","size":12058415,"download_count":1,"release_tag":"v0.14.0","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.0/shelly_linux_arm64.tar.gz"},{"name":"shelly_linux_arm64.tar.gz.sha256","size":92,"download_count":1,"release_tag":"v0.14.0","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.0/shelly_linux_arm64.tar.gz.sha256"},{"name":"shelly_windows_amd64.zip","size":13477021,"download_count":1,"release_tag":"v0.14.0","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.0/shelly_windows_amd64.zip"},{"name":"shelly_windows_amd64.zip.sha256","size":92,"download_count":1,"release_tag":"v0.14.0","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.0/shelly_windows_amd64.zip.sha256"},{"name":"checksums.txt","size":462,"download_count":1,"release_tag":"v0.13.1","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.13.1/checksums.txt"},{"name":"shelly_0.13.1_source.tar.gz","size":5056891,"download_count":1,"release_tag":"v0.13.1","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.13.1/shelly_0.13.1_source.tar.gz"},{"name":"shelly_darwin_amd64.tar.gz","size":12721750,"download_count":1,"release_tag":"v0.13.1","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.13.1/shelly_darwin_amd64.tar.gz"},{"name":"shelly_darwin_amd64.tar.gz.sha256","size":93,"download_count":1,"release_tag":"v0.13.1","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.13.1/shelly_darwin_amd64.tar.gz.sha256"},{"name":"shelly_darwin_arm64.tar.gz","size":12020668,"download_count":3,"release_tag":"v0.13.1","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.13.1/shelly_darwin_arm64.tar.gz"},{"name":"shelly_darwin_arm64.tar.gz.sha256","size":93,"download_count":1,"release_tag":"v0.13.1","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.13.1/shelly_darwin_arm64.tar.gz.sha256"},{"name":"shelly_linux_amd64.tar.gz","size":13028418,"download_count":2,"release_tag":"v0.13.1","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.13.1/shelly_linux_amd64.tar.gz"},{"name":"shelly_linux_amd64.tar.gz.sha256","size":92,"download_count":1,"release_tag":"v0.13.1","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.13.1/shelly_linux_amd64.tar.gz.sha256"},{"name":"shelly_linux_arm64.tar.gz","size":11924606,"download_count":1,"release_tag":"v0.13.1","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.13.1/shelly_linux_arm64.tar.gz"},{"name":"shelly_linux_arm64.tar.gz.sha256","size":92,"download_count":1,"release_tag":"v0.13.1","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.13.1/shelly_linux_arm64.tar.gz.sha256"},{"name":"shelly_windows_amd64.zip","size":13324233,"download_count":1,"release_tag":"v0.13.1","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.13.1/shelly_windows_amd64.zip"},{"name":"shelly_windows_amd64.zip.sha256","size":92,"download_count":1,"release_tag":"v0.13.1","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.13.1/shelly_windows_amd64.zip.sha256"},{"name":"checksums.txt","size":462,"download_count":1,"release_tag":"v0.13.0","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.13.0/checksums.txt"},{"name":"shelly_0.13.0_source.tar.gz","size":5053867,"download_count":1,"release_tag":"v0.13.0","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.13.0/shelly_0.13.0_source.tar.gz"},{"name":"shelly_darwin_amd64.tar.gz","size":12718171,"download_count":2,"release_tag":"v0.13.0","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.13.0/shelly_darwin_amd64.tar.gz"},{"name":"shelly_darwin_amd64.tar.gz.sha256","size":93,"download_count":1,"release_tag":"v0.13.0","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.13.0/shelly_darwin_amd64.tar.gz.sha256"},{"name":"shelly_darwin_arm64.tar.gz","size":12012158,"download_count":1,"release_tag":"v0.13.0","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.13.0/shelly_darwin_arm64.tar.gz"},{"name":"shelly_darwin_arm64.tar.gz.sha256","size":93,"download_count":1,"release_tag":"v0.13.0","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.13.0/shelly_darwin_arm64.tar.gz.sha256"},{"name":"shelly_linux_amd64.tar.gz","size":13025783,"download_count":2,"release_tag":"v0.13.0","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.13.0/shelly_linux_amd64.tar.gz"},{"name":"shelly_linux_amd64.tar.gz.sha256","size":92,"download_count":1,"release_tag":"v0.13.0","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.13.0/shelly_linux_amd64.tar.gz.sha256"},{"name":"shelly_linux_arm64.tar.gz","size":11921504,"download_count":1,"release_tag":"v0.13.0","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.13.0/shelly_linux_arm64.tar.gz"},{"name":"shelly_linux_arm64.tar.gz.sha256","size":92,"download_count":1,"release_tag":"v0.13.0","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.13.0/shelly_linux_arm64.tar.gz.sha256"},{"name":"shelly_windows_amd64.zip","size":13323134,"download_count":1,"release_tag":"v0.13.0","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.13.0/shelly_windows_amd64.zip"},{"name":"shelly_windows_amd64.zip.sha256","size":92,"download_count":1,"release_tag":"v0.13.0","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.13.0/shelly_windows_amd64.zip.sha256"}]}},"commit_sha":"593a9e2bfbb9e436f4830a64d8270dc86239d698","profile":{"lines_by_language":{"Go":492534,"Shell":3270,"PowerShell":270,"JavaScript":68},"files_by_category":{"source":903,"docs":900,"test":811,"other":447,"config":38,"binary":10,"generated":3},"source_lines":178407,"test_lines":317735},"pillars":{"ai_provenance":{"score":97.9,"confidence":0.95,"coverage":1.0,"label":"explicit","breakdown":{"attributed_share":0.979,"suspected_share":0.0133,"estimated_share":0.979,"ai_artifacts":0.0,"flagged_work_units":67.0,"flagged_releases":6.0},"summary":"Explicit AI attribution on 98% of first-party code added; an estimated 98% including velocity signals."},"quality":{"score":89.5,"confidence":0.9,"coverage":1.0,"label":"strong","breakdown":{"complexity":94.7,"duplication":48.4,"lint":99.0,"testing":100.0,"docs":100.0,"type_safety":null,"process":null},"summary":"Code quality is strong: test-to-source ratio 1.78, CI runs tests; 2% of function code in complex or long functions; 12% duplicated lines. Weakest area: duplication."},"security":{"score":64.2,"confidence":0.85,"coverage":1.0,"label":"weak","breakdown":{"secrets":58.7,"sast":97.3,"dependencies":68.2,"ci_actions":0.0,"posture":100.0,"scorecard":null},"summary":"Security posture is weak: 0 possible secret(s) in the tree, 1 only in history; 16 known vulnerabilities in 6 dependencies; 14 high-severity SAST findings; 72 high-severity workflow issues. Weakest area: ci actions."}},"analyzer_results":[{"analyzer":"sec-scorecard","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":"no published OpenSSF Scorecard result for this repo"},{"analyzer":"sec-registry","pillar":"security","status":"ok","tool_version":null,"metrics":{"declared":11.0,"checked":11.0,"missing":0.0,"recent":0.0,"lookup_errors":0.0},"findings":[],"evidence":[],"data":{"phantom":false},"error":null},{"analyzer":"ai-attribution","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"commits":633.0,"attributed_commits":525.0,"attributed_commit_share":0.8293838862559242,"effective_loc":633751.0,"attributed_loc":620473.0,"attributed_loc_share":0.9790485537695404,"tools_detected":1.0},"findings":[],"evidence":[{"kind":"attribution-summary","description":"Claude Code: 525 attributed commits, 620,473 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"593a9e2bfbb9e436f4830a64d8270dc86239d698","url":"https://github.com/tj-smith47/shelly-cli/commit/593a9e2bfbb9e436f4830a64d8270dc86239d698","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"a9d0add683c80d8efd13dc35ac8bd1a7e9414eac","url":"https://github.com/tj-smith47/shelly-cli/commit/a9d0add683c80d8efd13dc35ac8bd1a7e9414eac","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"acc22c2e500e332d62c2e053a35dddd86a70a753","url":"https://github.com/tj-smith47/shelly-cli/commit/acc22c2e500e332d62c2e053a35dddd86a70a753","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"cff7e4035d1f6e199e59b2bd9492073a98591560","url":"https://github.com/tj-smith47/shelly-cli/commit/cff7e4035d1f6e199e59b2bd9492073a98591560","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"6d2918c75ae2aa5670ffd117da3f2e03485eefe0","url":"https://github.com/tj-smith47/shelly-cli/commit/6d2918c75ae2aa5670ffd117da3f2e03485eefe0","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"65d99a91ca23963a96507f63d980e893a511cadd","url":"https://github.com/tj-smith47/shelly-cli/commit/65d99a91ca23963a96507f63d980e893a511cadd","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"e06d725afa7a8e60c53019b0e925683fb8a01a70","url":"https://github.com/tj-smith47/shelly-cli/commit/e06d725afa7a8e60c53019b0e925683fb8a01a70","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"5ca89b4f92c8190df9149b0ee75fb619566f30bc","url":"https://github.com/tj-smith47/shelly-cli/commit/5ca89b4f92c8190df9149b0ee75fb619566f30bc","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"05055fa86957599e62b25e9bf9ef60733be226dd","url":"https://github.com/tj-smith47/shelly-cli/commit/05055fa86957599e62b25e9bf9ef60733be226dd","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"4375751f5a2642e0677b81fccf35bc096e74b1b0","url":"https://github.com/tj-smith47/shelly-cli/commit/4375751f5a2642e0677b81fccf35bc096e74b1b0","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"5402f239fab7514b38219776448835953a69bdf7","url":"https://github.com/tj-smith47/shelly-cli/commit/5402f239fab7514b38219776448835953a69bdf7","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"2c69194f19da39f813935b2f5bfc1e2b255e83fa","url":"https://github.com/tj-smith47/shelly-cli/commit/2c69194f19da39f813935b2f5bfc1e2b255e83fa","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"7e6bd4f2481b73b10cf719dbd05dbca4e060e6f1","url":"https://github.com/tj-smith47/shelly-cli/commit/7e6bd4f2481b73b10cf719dbd05dbca4e060e6f1","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"ee5eb3a42e4131fb2a99a0deb146e1b561ca264d","url":"https://github.com/tj-smith47/shelly-cli/commit/ee5eb3a42e4131fb2a99a0deb146e1b561ca264d","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"0496dbb504c4c3d4714c9ca8225dce19d7e1ef44","url":"https://github.com/tj-smith47/shelly-cli/commit/0496dbb504c4c3d4714c9ca8225dce19d7e1ef44","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"01882485346cf281e55d06190d3f3dac3a19d614","url":"https://github.com/tj-smith47/shelly-cli/commit/01882485346cf281e55d06190d3f3dac3a19d614","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"8c4ab1cd68df3d8cb874b8ed9829f7206bf7966b","url":"https://github.com/tj-smith47/shelly-cli/commit/8c4ab1cd68df3d8cb874b8ed9829f7206bf7966b","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"6bd07d70ac89476be04ee6ccab5d2940535aa0c7","url":"https://github.com/tj-smith47/shelly-cli/commit/6bd07d70ac89476be04ee6ccab5d2940535aa0c7","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"a2f044c75ec16461be32e140fa963efa30436e0c","url":"https://github.com/tj-smith47/shelly-cli/commit/a2f044c75ec16461be32e140fa963efa30436e0c","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"73bc0b77fbe24366fbd6dc193ce375dc6820509f","url":"https://github.com/tj-smith47/shelly-cli/commit/73bc0b77fbe24366fbd6dc193ce375dc6820509f","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"dab0cbd8db2b276c6a7079ddbd58c116af27c2f2","url":"https://github.com/tj-smith47/shelly-cli/commit/dab0cbd8db2b276c6a7079ddbd58c116af27c2f2","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"365a6fc6f6af98eeaa731add932cd66db10fc5ae","url":"https://github.com/tj-smith47/shelly-cli/commit/365a6fc6f6af98eeaa731add932cd66db10fc5ae","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"bade1ab1431b525c792dce51df96c884ec2a362e","url":"https://github.com/tj-smith47/shelly-cli/commit/bade1ab1431b525c792dce51df96c884ec2a362e","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"588728e9e7b5f67c0f387a6bc17a0eca2dfac78c","url":"https://github.com/tj-smith47/shelly-cli/commit/588728e9e7b5f67c0f387a6bc17a0eca2dfac78c","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"af1be7b223e15480ff3300240dba66190a28d3ab","url":"https://github.com/tj-smith47/shelly-cli/commit/af1be7b223e15480ff3300240dba66190a28d3ab","weight":0.9}],"data":{"attributed_loc_by_commit":{"c42c818cbaea5cfbb1d74944321cbf62ccbd8a9b":0,"c614641694b6e5b9e847459b8fdcddc01e999c75":1656,"16b75960b22e7288574c6283fb5757f7fd055246":526,"c3c8cefc64423d85b12db8f1690764e4f6314304":735,"64690da0abc6436f7c532d6d105a0ec0dd445f53":586,"d2e0c2e38cbee21bb0e36c925977164f32dd96b2":1938,"e18728e5d0b878a2f0d75e53bbc415bf85870534":550,"bfbcb8fb22b4ed7c8e2fc0236777d5f78b63b774":1320,"2a2468a4d75c75f8f4ccdfb3cd0bfcc1f01163f8":20187,"0e6d41922fc67de85c0497224507ff87d49f7b1e":62,"27ff40ed536ea0c8397f07226f34c0312e984a77":8,"850f1391549d3fa19d2c57d53d3abb4a69ca3a43":117,"fba6e6562cf28d898ff6e0d6bfcead1ea4ece9b9":0,"cced3015a73f17849db6508e8b7b4d2621980732":0,"7a10173bdbd9276ca1cbbab3e85b516f8235afdc":65,"11980cbda4888e4e53a002c422f8249816cf42ec":485,"45de22dde2ebd8d4f893113c76eb16c4e0d8f882":397,"deeabd26f32c47952caa885d78c30c74739a7da7":3236,"d12d13b3f9c217efdbe8976df6a2723ad096a0e9":975,"aa7164307a5d7c495d87f43c9eb0e0c42e8341a6":1917,"fbb4c6986275ef744e794161d31a275d2fc601be":1155,"aaa7ec2027de78762e8d6ae30a8ac465c872d8a5":312,"ebbe75e81ae1eb656df6fac160fee41489a42761":1950,"5dca15c1c37fc866b7ef8a5c98ee90f4ed604889":1838,"41d131a0bfa27fc7a9028e576438641ca34a16da":1055,"dec76c8cff88f30ff15672ea16c355fe2b06890c":1569,"61411babdce4a05bc2984fd42c8bd497807dddff":234,"69e1f7444e5def80efddb032e200dcce6daf013a":49,"c147f2fc0271445d7f7b8d096d7e4a25a9bd1b7f":598,"6802f64c0cc6debf85deec3c5a1e5895c19ce603":456,"d864edce0277eacbd9a867b43a129386fc69f6ff":1940,"61262656ff8454f928ab94df72e34a7f555cfd50":476,"8f0b9fec86c05958723bfd3622e4af626c42b18d":1471,"77fb6b46edd7c74e5202cf48523d6d848c1f83d4":3232,"2ea84ffbf407e7d7c11bd01a70f3776cc5ff1edb":1648,"dad7d20f0cf4e53d4a8bd8f49f07a6a1c45c93b3":1788,"9522cdb2828c844336ce0a7bf311d310aed80991":1405,"18db138e8a5d431987d51853ca663ecdbcc6ad9f":1878,"f98e1a61e5707c0a168a3109e4cac365f5c0f513":2634,"914b1957a541073b0bd7f1cb3b327696081d6b77":1047,"67827233b7cec0724aa0f045badfe1e1a561fa16":1555,"500575ddea58423341c7a6d1e9489fce404ea394":866,"82d6ea20ba29b2fab260a8c5df04522837c497bf":0,"b45fdc2836303705007e14b9108e59763eefcddb":0,"9068c900c5d6f259baa236010c9a95ce45997fe9":711,"27d71fd572177dc2a6b933ba4146d5bc525d84b1":1834,"caf0765da07e0305a9316f9fcfcce5821f61ac7e":655,"83f3929aca157bd149c92cbc89de1db1eb195036":859,"ecd3c8c66832e06db042c34833b783cc03f97323":2035,"ef2b42f7d40b24445dfa66167008ba4fd67a5cd2":3200,"9446ef2afe64e1e194e708408faae435a4537ea5":1146,"fa80e44beef680ea34a323e1d4e6d805eac439ae":755,"6c99de4ed340cfe8fcb62cb939ee8bfd217c86cf":11,"6e59c1c145161b1e182f0e00a4cee0c4dd516b2b":283,"d182ca55c9f6f5ccbd2ff9b435be48b045b4898e":1558,"f91afad362459b4edeac7cd5f0aa547e3abcc503":1415,"d0b1059f3975b275811826d34672ad8d2d5d306c":787,"c02388946c906197b84643f6ef8efb3136b9e830":1806,"e3d23fddc764dc7e3cdf69205f311224147cc7c7":1305,"64b93de2a4fe5ab2f53edd953c0e914fbc21ea53":24,"861afa99579dda20bfe36ee7ef55db7ef01ee9b5":1468,"932be161e69b71b6a425f04869c3c71aada016ce":2901,"4e6afc14400dd54688c95b16498ec508a969b308":1051,"cb21cff9255fbc060b1a22b122498ce232b067b0":942,"0a0a713b21bd61d851f3ff81299e2288f9d8ebe2":0,"2d760aac864d8b8120e21d5f606fec7a2fee53be":429,"5f71cfac1203778527f52b4ec710e44f78e8d9f3":2343,"01a4fb782d84b38b3b745ab5e7132aaa4649f9b0":0,"b6f06e8432bc472699fa24ec6056a39d535020e8":1162,"8944d7a30c06f7835f1a4915a5429d650d192006":1331,"46381af131c3ab2cb0591bb1e05cd610c42f9d7b":2372,"a39319ed32f9b2e48f62f0d1a4d6291b86db3ff2":0,"851ccac989ce1fd70907bffa1c0b9a56770e3c3e":0,"42c542a70ff7f02137762e97ea636e81006f9b6c":0,"51371a02bb464335922452753ebe751e82b0bbe9":0,"69d73edd95d5fe8f32086883b7167ec1c76eb37a":749,"5ba9f414f984fc8e4c24a1d8c1b889025d510882":57,"b8a1cb270ab8d9841fcab7c21b0b5aab62462a7b":134,"78488752211b7cbe21505121f74515b39715399b":915,"8a37dc2cdca018741d5c1e47f0f1dc1b9f489e5d":2060,"4e7db8e616aa67e0dcd07e8cdfc8baf28bf611a4":75,"6929c042d18f131b482c28781a692ea89f4b56a8":22,"f4d2a92f909f6c81e035f3f38c5b3cf4633cfd4e":0,"9a7d69313aa3ffa1f7558fc4f057c2cc2284999c":6,"61f511af969e102fbea7e91613999d66ebc3b34a":0,"4392bb76c6757bdd09a4e5dd3d7e499447c31d19":785,"382d916bc8ea2ea6d26d5e39212e1312546550e7":538,"e496f6ff92f5449c385abb4489908d8ab3585981":625,"f4d7764ad70dc4c7694c7390f32e62aab10463a4":1269,"bee2ad69dac08bf6e96ce9cb69629ee329f4383e":0,"abaa8b17494d87434d123ee16684a444085852b8":0,"31599c6c4a487b60b243e541f968e031fdc43cf6":0,"985e5887140dcce8d742cf95bb5cc6146e97f0f0":257,"5bc2ba6803bb66fbb2add7bb224ca42191072187":0,"fb596c3f846f4fbb6f2ddc3889e41d5457a5ae0d":914,"004df553c4d43641bd925e15c995cbde56220ffd":2183,"5cb49d8670a57a160b7ecc7207dceda4f2c54d31":460,"4e5501646e12272e4ba4519ba4288a49cb44a967":159,"cbcc6bf90fcc06c27c6705da60b9c904d0cbc2c5":39,"054a4fd9a42e16e90f37af5f93d62d08ed5fdc18":24,"11588230427c761221dedea7de03f1539ff4b97c":127,"2919c9f0d92d2f2fe1fd2e2921dacc640d676f59":22,"0c15b17837ea619e82a9e4a7b408a344fb59ac45":12,"931a1721061feb4d81b363347b9c04e1d614934b":20,"2a00cf8738d24d64393c3fe0e0d68cbaddff517c":2,"a4b20a29f3ebd30bae65f56e9d1c93647dc3bcb3":38,"1ee8b4b3cb98870240bb146d772b7bd5bf86e8e4":29,"016d74be33f45c5ec6b0786ff058adb6b6f35a5d":30,"a6b64ea9c5275edb9cb66d6d2331229ae504cd16":16,"f5c18af4d9c523b9376a0e34764be0653cdc7b11":2,"32c191dbc0c6feedf5c50ba1771132bb8cfa4029":48,"4cc183092b7172d105b2fe86e77a5b19ee3512d2":586,"ba38417a100cb9be43c4420faf843965560acdd2":222,"7bab84eeb40ec6788b657875d78154abad4c60da":167,"f6b42018791438da3116911c46386e579169ead9":145,"cf0c5408bc69409d63be9f6986fa6a51a4ecffc3":497,"d18d516aaeabf00ce9653e3e1a44797d1cd2c3fa":160,"4851039102825d50de73f86c79801f3255a96add":1231,"64a084fcfa4f0e442bc4f4d12ab43c463cc5c85d":0,"5d041eacc1b7281e0bd7ab23160525a297c697e2":95,"17fdd9a786ed0d8cbbd1f8ba61a57c6225e08b6b":0,"449a59cea774ba9c032e45a77ca8f12a7f31db33":821,"727212ce14bad68ab19e29f91116ca1b6c0dd425":414,"d5cc33bc79bafb9aac3ffaa787b1345f48567123":348,"0265b43459a4b36ce48b25d0a9a7e0718490c791":78,"c6ec8b25d97aa0988132f73585f135bd04f3b55d":813,"abef2424e665e266cc14d7de371292317c233f9d":465,"0bc70f90f81b93690350056fa6096f6a3e9f8060":0,"631fcaf52c1ee9e8084288e43838e5c069369326":0,"298039e4717604eabfe0dc59864a92ec22733a44":0,"ea9488021489c250df3cdc21a65a7e70eb48d250":8906,"ed6e6f43325213bc0ca2d52030c5fd579bfbd3f6":680,"7ec72bf9021f1eadb2845058a2c7767e9c39b83a":987,"fd3159b6b71f11fa05bef1238226b699d373c24c":1787,"4e49808a02d4d85002102c35f292827a7ca593cc":13918,"a4bf56d03f75bf7d598eb7cc736db54d9604d226":6427,"a3181638ba405a78e97098662da121a5a258e9cf":3630,"e181b8443745d7109ab47f2cba69eff708fd4821":1818,"a04c84a5b63687c09cf17be7bc9c7b110980bdb7":446,"be66c57cc56f599859b8b82c341c02dc7d16d2e0":507,"4df1c8cc885223fc7118a42a0997df07533e0957":1695,"564663b3b0a78813a1fc894e91aef43e0f31afe7":99,"8eb08ecc71e1df55ca5e4b706de62b4840585c53":376,"be6c1df0e4529f7ad72a83b5a6026a6cc7d60f07":306,"510db295ff5e9a1292dd95609c47d9ba33850140":343,"5b783887d7c41f30599cda7997a608642f2505e1":990,"1ec59ebf6af1e6f59fcb0bf9c03b4e35bdec29b6":946,"3c4bc17a3760aa6f95367336da6d97a582d13e50":585,"ad04643062843723c4c66e5ebaa17ba1de48ed17":512,"4fce4593056c1f14ff6fef8168aede6108a08156":354,"40b733dddd38d4643e675282a84165302dc3250a":36,"992661abf8c783cbfffce6d790d8aeca83c265fe":594,"ef276a91fdc109d851a3513a0a0d3b4d02602d3f":141,"161675c5b3b9dc77e2172dcd482010d5d7e22f0f":521,"213b1bf0b0c9dc485eca92dc1d7256685b78ee98":124,"03754a16979a61f229f4d24f9f646211aa4a78f9":298,"dd54e7655d3caba6326efff233422d895c578559":582,"b04e48d150ed5aea9a1a1df1e64552f00d1b3516":51,"a4ade491de1f2e5f465c5471134b12dfaa5f0b53":84,"d13c8a656bbc14920cd51bcc6aefb32f61131a21":8,"ebb366d6f75394e9a5ba3f6414530860876ea606":797,"3212d07f0b295d03f7e8956e30f0469d12853008":1070,"c926bdcac6f3c50771f83d9ee6ab2c7348a65572":1922,"25ae74585219634a0da13f830640f864ff625465":24,"f696ef65e1220b58551a3a344054e896c3dd2cbf":1126,"26d86d9743c9c926c0ef7dcfa8d8f6663ca3d444":1043,"b207a9f8bce677cd3d919e784467be2fa8b8aa57":2569,"fee69797936d92fc54670fd58dd5113a97a375b1":1188,"eb44682392d10c41c5d9251d7c51c4b1918d2e15":1228,"deb6d716c384a05c1dd8c1717a36498891daa6e4":97,"05a2197e5459b32395092a68880a7c04944b7fdd":139,"9307f4c2c3bc9c9a880398cb55861706bde33a76":176,"00de81c9f91a86734481bf1d2e6d5db2f7ebb67e":315,"ef958a1c6ff9664c6e6b9b254d4685a2cdfebec7":399,"0dca0defdf8d5c288711d30767e9002e175d9210":915,"32d4ef8d1786ab4e643ebe956c9b17b878e029d2":48,"43bba900240b57d572e1d90e416aff52507e5b62":343,"fce7e49378604581d10c0ff0dbf1a01d4ced3ae6":29,"cc5aaa8201bf55ee097f4a192664e24a9184de28":1,"1ea463adf457489fdffe3c7ed0189b1213aa37c4":323,"f292f66eb0c7bd76cc7fc2b5f3ccf0d972bba4e1":264,"d69e9ac133719b988dbc90523f0f00a21a6e75a4":493,"91a1098aed8f8a90531f0a1c0f20fb1e7ebebcc1":208,"d165411f7401b6b547db0d7d798a7b81cb9265c2":198,"4ea0d8469f378fefaf880480572f3f23c573206c":339,"3cbd49350ab72d52fcacd70c2659417a12037d91":189,"aaa903b86bcdd9ccb24c757a91b9281beb1fa109":106,"8afc2d8116cd490809d73c6010d18632e835b08c":14,"53f4c2ab16e823b2fd5720f9fb558f2c2a33375f":8,"1e7e8206e8f240ed8e43083efae99f02c9964835":31,"9364f84a6837bbad88b62b090db7cb599f45d270":27,"5c3f3cb543532bf4b6cfa565814b91c968237ccf":6,"577cc8d0b04c403043c4107097ca75da1579707b":164,"a82af8f92e8d1a14d2319c69e6c4ab0f11734456":280,"936898aa8cf3a29361d168b069841bb08282725a":92,"bb1616b3d538a2a50837c2fca46241a7d3d13b4e":1068,"f60e998b4baaa0e7d6bdc5eb0fc6957c575a4a92":57,"f0fcf10500c052d2a7d97ac66021fbec1c2ec783":53,"6e9b084a54aced6d8c24c4703b43d5187deeba86":445,"12bbe45970cce35de61c3f3d8793f6c423dbce4c":1427,"2e5edba345fd53415af1d16ae214d280cce23db3":2172,"2dc9c23318696caccc58f6c68a815ccae1a7e5e9":1527,"9c6d0d24034cb149ef3ac44d86b1d0d33f7c407d":762,"9e489e0a4aa00a670afb17a48df422f13eb93163":587,"2bf621ee46a8527bb97d098b90427aad22dc3aa7":1173,"e333dc46b650ca75ba2a8a809942eabe15907879":9805,"06bbb97f38e014f401bae7853c10e48b74cc423d":2779,"7e8f41fb71fe07fb9b9bd4f012a8675439cf1571":868,"98398fe88515b59851c20ad65125ebd39cf04d7f":9,"6f05816e4a9685fb21ba3908819eeafe2370e20b":0,"9adceb3d3c6d9d85298f5fcfe75242524b30e29c":1,"a2c9a651d4e9865859ae174689afc97e2f53ba8d":30,"cbf1a2c99f3c43b0e9ad1e066efdb1845e8ba9bf":0,"0e06110b477b277dc6dbd355d5e07cffaa10ad0b":96920,"ca70e03443a5f3c732b9cd7efdbcf0439ae10497":5000,"4d13617bd96f4637958c5cc1de32824e1f557f59":180,"cba853a57b4070bb75d3fba8694cc9ee0acde373":189,"2d129b2ace48685973d6973ab11d84063d2e3f76":46,"49b1edd90ca17a923403e8ffc28f1bb49bd38cd1":986,"5344b25605d0eba7b277f7274f05d7528c5e0d78":23,"c88126a69626d872887565f6d431c4767e6725d2":0,"291907beb986c5794b709e969e7f9b95f87591ba":0,"147a20e9309a7c518705457c89232025c2472a18":0,"327d609b3b24eb3a2a9d5b3500b052a10e3a4459":629,"8c51a75b9dbbdca5c5e048a3ebe6c17a55f046be":376,"326cb684e4a0abeb5889416239a88dd66e84df0c":704,"2691d87ad5d78cf06e60acb48ae5c4e2b4136166":2778,"b064c7729f9a52270c9deef98746563b3d701046":1109,"fa2cda8a2cf1d87b51111ac373d784daa6506743":28,"435149e214967a52844f0bfd589834f6dc3cde68":678,"51237fbce16275b04c992433ee2a4b325c129c03":563,"7b7d6e7f0d5b2f023680100a4f4560b08a7ca58b":1061,"6a0f194a48562e9ae47d55c1eb5d929dab20659d":734,"075642b13563bb9a03e808c755bed3e35197b283":545,"fd876a1fb99bc54755c7cd1133f27499af751cf1":858,"8fd06be38eaf095d4940711adf667316df39c5e0":0,"8e436c473d02f19e5ba7b9dccbdad73b904e9db3":3968,"68af09a5043094cfa7b041dc4ee4cd09ef7c3592":257,"acaf7982da5c60b15f8b6a5dec983df40d7d3575":1439,"e99b596e2592ddac91e088313b38e550e0b9aa57":5384,"767fd4cdc97360bf0b3cff0119f881d6e73e7019":191,"10857defa48946e9dac599ce78133b6d2f564f27":207,"1e52bacbecdbbb81ea683bf7312788cfd7ffdd83":4281,"1c35c16ffc0c1ab0d7574d37d2db0430e4572215":52,"9fe43f72aee39ce82b76f2523521bf5de712c63e":1037,"0ca17d1da4ae425873cfaef60c0a34200d9395f1":88,"40d34dbb47a0dce3630f2a009f70e6e61a2ae9d8":1351,"4c5fc172b3eae8f072f2df6e832e149d7abfb1e5":562,"17a566210300e054aa74463262df62125775ff34":35,"2079c036e9d78fabc6b669bfe78e7c1d82bf4a6a":61,"8dcf4c6b5fae3ee2fa708157842162d4bc34c6b7":238,"8e367484fdb5ce53369d25e6c66a59684463e243":1152,"a4aa37b129c1db0a657278377ddcc1058ae4f88f":853,"53442b0fc82f6fade7533c8a51bed3e8a671e64b":18,"b523d865e2afcdda90aab1be0f153f3f19a25b19":1588,"df6b8381ad8c21a2de9a15a73010b3f5e79b15f1":24796,"36218d28db63301f7f879e109e66203d6fa8d378":569,"91f2564ee88e99e84aa87a6d773516f686f77f74":1011,"6aac3cc1a4a7680009d5fe00ace6d0e4405429f3":11418,"583fcba8f3af0e2a7e0fa2f56076d29d751c3932":22942,"986e98772514802ae3bf77b20e5b6b5fb56a416d":1164,"d9537e84f85510256e171c95005c9b742372ab49":21547,"71958b8bf36db6c7ebc872e8f73dcb72953bc427":725,"9fa11c579a9629da3239bde6fa7e7e4301eb2746":128,"57d6d48dbd237486430167d9db2256012398449b":393,"f4e6bc58047e717cec0e5c6b6460e2e9c212d8b6":138,"a31c41288989838de06d86a82c16561367f0828d":149,"087939b1d32e93f5aaf70d109158c2b444780209":774,"637278b28ce3700ca0e318a6d9e631823cfc951d":140,"780090d05d19ecf1f7a894a31884ea96f6e0ba2d":165,"3ad61260ec45405a9a26b44f6283dc9c2fa712ae":2985,"05d1daa5226f7ea366462e3ee579735934e930dd":448,"324a0f24afbbc5a3a81dd534c1c51727a6ef4efa":910,"be13805a8e09be443b4fdf6f97a3583cee80c174":824,"1bb140696938afd66d33f7de58517edbbba58229":377,"940115605bac78839a6850eabdab9594b194732e":7357,"b09593c4a753a4d3f3882142f6a165cef4664650":996,"7db2a87475896a03050a3380e2256c3d6a3a5b7c":3,"b350777061878ec1470feaad752229add3e9e859":954,"afdc64b39e8bb3d7c35e4b66eb65f69542d79fc2":35735,"fb9a49b9e6902c9a6d36cafe08611e87ecb5448a":769,"3eacfb17a08fe8a9802f8d0ae92384a0c9289e21":1627,"44e94ddaec56a36c41a8d93101320cd5b37726be":998,"6f6bb2068abe4e245b3dd1598175dea178c862c2":37,"fbc78b0ed3375ba5ee436e5f1731f3e96280eb71":58,"4d3574ebca358f4443bda2f802f6f42643e7d6a9":39,"5ed7fe9d097142a3d41f88a294a46b16a4c5c860":0,"10b192dc81688289bf97f841014837423b5edfb1":657,"f735a8c1786bc2081da5941f08482bd1f0b9bc23":715,"8239879fba71f22d375ba7bc52bb7869bbe60de3":789,"72708eddcf928ec49992a720dc6ddd7571c1a200":0,"dd450c7c7628f3c815c5221ebbfc99b213b5d96e":5132,"5080cc3b1a189707fba73e9af20ab6fb3589f122":1298,"be43bfdd7c5b7f7d7916cc0166095f254d4155e0":1199,"2eed68409055216dd811dc853785aab9767f1a22":6522,"689d70bb5a73bad041d60e4fa132b9f1f2de0ea2":1911,"3cef704658455ef5fe0fcef98b4a9bf712312111":10,"7acc2d4661f6d1b6f0527ec75aae99a6d7a5d9e2":88,"c427151de0e915de453a6ff77920717cacf06f40":21,"e7d326aa7528801dc5a860be8e47b2c39c0801b6":215,"d2aa35162ca1a700ca1871382644725f971de218":55,"1093bef79594a8251e7bf3a3a84556b296b5244d":25,"064570c5c2702e181844b149078f4a06b71de887":561,"a8685fc5dbb650c6d534ea1cf669a4bb88515e31":1,"6e60e8d608894b196a7127136071e8fff7036c1a":22,"5142f3ef350a8f07a1f981a916e3eb0b3f095494":7,"dd3431e40a3edd66abccd8f7e1ef1cb183cb3fe2":6,"ca0c7dd1e32f43c6f75c7642eda3ad6a6d727e78":0,"e3cc97303f3fdc6b95ddf15127d99c5c1f3f734d":1648,"7225a0c9a17044b478c63b9beb885768632e3e8d":2,"e70b79f9c7607aabcd7b602904f25ee3e89c02e7":0,"af98c3dbd2cc5acb462571d68312466bf76940a7":0,"d9a2b7b4265ce53c7e3d8bc184948365cecac6e3":171,"7ec457dfcec62096625177e0b0426bc5dbb96db1":169,"1635a9550c9628f85b3fc69f00aa9cc94b5efd27":3,"e031a8e720e1818a9c2977a1600c5de9642c6b8c":656,"e6e3b895da9301bddb3496e0a7075a211d203d3b":411,"43f61b50378855dc6d38408c6638697cb7f6211f":4,"8129b987811d68bee78f414852b9b6369d4123a5":337,"0d643303d6e78600aade83bf3b75b5972532510a":16,"d5052c341f8c02b21a87619978ca5491711f3e3f":65,"5af22b6d7aefe74eca1079716b81752360d00512":27,"919f0fdc49825334f1b8d4788194f5be3917d6e7":78,"acfae35cc545c2c2397242f720af44f4345844d7":145,"d6eed142f0957bfdabc2d4ab0d3ea9526e015775":90,"08b604b757b81730c6b8d75c774a66ad24ad931a":475,"cf568b3184afe204632cb1b74b8c2a5c7403ec69":1367,"c35c883843e5c2280bfc404afb3a5acdee14de2e":243,"014ebd49896d3287341e8b76e640ae9cb58f3770":156,"31b85658554e45f5b0e66af0606f0011a3450cd5":236,"e47031966863b132a79a5fdb8cbf1a2c5bf3f723":352,"4e2a20c763544cf634a66d0a1aeb5d3a97c5d026":55,"6d3a5c0b47c156a69c6947459f831d00e673d975":25,"d73a8484d195086105902acac7c709e3c499fce4":28,"f9aa02a896cc45a2aa8974b7fa4409fccfd616bd":2865,"4149b4d6ef6f6dd5535b7548913a6febd7af1c5a":138,"154ecb81bd6eb98dd208278c05824010b1bd9a6f":3293,"0b774b1488e82d5104b679337f12ffef78a464ab":1370,"0e2b12f7c3af494846d3e1b7fab3168cb710f05e":55,"ceaada21a197c4fc413bf338ffc503aac7607051":713,"fe0afc26318ba75f60ead61b7450e7c3ca9442e6":3032,"b0b72da51c1cae5bc956123d333ca4889e581286":28,"c25b645b26daf9cef5c398b252e6a8ddca435b9e":2128,"27d57164c9675b50b2a61e3041382d20deeb48b9":24,"f848ed03d587b15afadb363349e1dfff6ed7412d":19,"3ae5e819e567e65b3cd6a6d922332ebe8809c7fb":0,"eadc448a210619ba62095dd0bc006c75fa9af3de":369,"95ab1911d187130dd4abcdc9474ed77ac279d434":227,"ed212925b77b7bbda59b02b2c72cf5c87ffdfaeb":0,"14bd7be27c7140ca57d9be777e6271bd331aaaf7":222,"50016eb6ab67bbaf3deb99a64bee6c545aa1a091":1145,"9a0d8dab04152c6b97998d652d19d904acb7be03":1845,"dcc60bb7aa457b53f5b41714078e18ef7346f798":146,"358ac4494961ff493b5e615309eb49aba1e76771":62,"17224d80075f2767e9f942825692b03e9cc7bc1b":151,"2a73ecb4e90cdee00fb8ed2a0b7eb304c4d2b0bf":424,"280adb8801943020b633639f28c22232d6c6cd2c":0,"5acbb3f236aaef718c7cce81d54c64f17b84cead":24,"05fecb6120051335dc021f3259638d6936c9f28f":194,"cd8057067054cce4ca2e1af60b5a0389d818e8f0":492,"331a13cced21d515628db874cfdf1a7c1741f6fe":101,"7e5c43ed6a00be8c03ed004a90c7b31b6bdfbc34":0,"adfce46ae716b547087d4f31410eb901e7fbd98b":1418,"a5d0c1d1e0cbd73ff1ba5a6c1d5e9269dc961829":0,"b4b9db11f17fe6886672de6fa91aef0ac94c8dca":7,"d9a0a58b4b6926c788f20979e7864a2b085a636d":93,"a05003a9d811a94fc185d07f987c144e14d1fb71":228,"3af2fba71a3656901e8c75447f2f679685b68d65":98,"e4e369cafd8beeab02a66b110a2a753bd45a9965":44,"ab75eb60d81f1baa0df54696d86a2c6885b2df42":5,"e53d14f3e340787dbabbb5a489f95dd4b09f24d0":216,"d9be71959c37593ce089c1e73b1f26b51d031365":801,"b9816d71f344401fa74ea0294f07e319f2f739e5":60,"fd238e6b3c4338b7a103185af2ef9b795806f87f":85,"5bac0f03331905b736012d2ac04cd20ce7ab7583":71,"85e2859d5e7e9aaa8360e65aa0d27e737cc9672a":155,"06b4b860b749d09c6d37250e90a291e5eb3fe4b7":33,"5d623e2581cffa0d2cfa1255224dd33c8a1bead9":0,"e5f7063433c1798e75f9e7cf79e08c24c4158136":37,"75f30a28280f24364ad79a01bbce6d520c475c33":595,"3880c34010a018694daf407d8bab97d6b2836d55":338,"8c9ce5dcbf77a6790a4e35ada63c36e8c82a096a":10,"234e34477c1b8e888e108b14ad6eeacb716b834c":8,"39083a26977848b4abda6612fdcc76156b94a885":373,"998662b7b2af8545a214eb0eae10065e0ecf14f2":178,"d576b6f5c575e49081968939afa3906918052d7e":1380,"8464177ff93746501e46bc4cfc9b26d2da265e26":209,"15b8877cbed8981ac51ea2132e45151ad200e54f":7,"6dc54df0084db558f9b1fbd00243c3840e5a5604":8,"30f70d1a3a53b127e412192421f582d399150e83":141,"f87b025aafa2e6cfe5ac89d3c78ee95fad5bba76":1631,"bd0f6635ef99e262590117cc73aa3711b6b4bb07":373,"ebe2b93ed38652e84ea3c21f7dc093e6f57dc24f":9,"5495fcf8682631e75feb5bb63a709dbdac8eebcc":178,"265f087fb48e1188706d02cfd72b93a415354391":273,"cb81a981dd9e1b8edd037b17d8c2eeee1ef1633e":461,"10a5ecaf0de640417d194f7e8fb3ed7905829515":4302,"417a3dd51e669ea1a89af9d0278caf19d9895bbc":1387,"b5c613ab653dcbbf905557d835afc4990a7ef4be":173,"d5f7767535884b4b807dbce3809d84dd52a6f649":0,"acef7d68ca4582e579a1f6e32f8e55e01861aac2":318,"feba0b12c7fe6a03ced1ebaa5e52534277f1ac9f":347,"c9772be00b14de962d2f2c5d03ad0730011f8334":965,"8b0b158fa2abffb348773cee0b01a4b533c8f295":516,"d4611d94ba9df2c74f9ad8507a02a1da9d3df4bb":763,"68fbb01f8b687869a8870569258fe5266cb30649":0,"6bf6e69dafc33a4825c9bed7d264e15c5e88d885":91,"e38e7da6a01cc7a4a688905e4fef0751d95e7f54":2492,"8b8404751e923e92800282cbf3a65d3aada7d8c3":207,"3dbcc99974f05ad54372812ae3c11b6d3202f349":34,"a84b0c91f7a85c336fe704dec4b0d1cbf05f3acf":19,"9d9ad33d8ed3c79a46263708347aa8671c936adc":0,"7dfc464c4b6c52184d344c30a63cc1412eb5c731":2004,"b1c950753742d4b36069e81607eca4bbf189a8e6":2096,"ce7622b28d66ca559998e2ac2bcce86662587a03":1605,"6a6723101509c53856655f1a022a9c677e611343":1465,"27f16091f014d31801493c273d3e6cd0b4d6dda4":1960,"5f5cffc8a66674d16d0504dd172938e6ec7b6b09":3595,"f9b120b03c445eae07e9a58a88823af7e7bb675c":1146,"b20c82ffdbd8bab06e97ba8fb6589ea099c911d1":96,"25cc9d59809ef6daaa23be91e53eabdf8066374b":171,"5ccd0ab0f8634e0715fdd4507fbc79db67f340f6":35,"f626a6d04b3700dc4869b7244df4ed9a74febabc":119,"04e9db98a0263b1bdbb7af9373ed4b28c06afa78":977,"3065a9e66dfa477413bbfb80240bd08871cc3ca6":384,"66318b022427c04e23b4a5da93deaeb7bfd35df9":4171,"e5412637883695cb7793e7ef23ff6d29805728d9":0,"b7a9ad37b34e532fbc73e2c048b3f91948e13645":0,"cbb52b1dcb62d6d373362d5a7f0d1c751e2589fb":3168,"f6fb2ee08756737b7053ca3f678f42410b360789":107,"a1f9a0724e8be9f0867fe3cce3a97444068ff539":203,"33301afbdcf8639e78083ca2ba2404fa591091ce":953,"a7db71afe6e0cb62d0678696f113c473aecf16a8":240,"81044a84610ebf492f1bc882f52f803f49ca18ec":106,"9f6b65226413cae15bdd3e9c001e53066a4d19d2":116,"b760977c7daf21ce3536ab5717cc3ab55f792785":143,"ccb5d6494dafd336faea339e899d5761e0acbbf3":1110,"7b4c7e36b2e2be918c0b83c924b6e5678bbf23a2":79,"593e52dd73593467c5fba47ed4ea6e1a5fc4b5ae":1243,"0074ed96a87c98676f43eaafdd8c584d4d284aaf":81,"0132c8dfc1e222c618e31246a7e2c2bf776f646a":100,"01f140bdea8563b4165ead64cd8ee42571164529":2415,"913703a80c5479b1ae376957386e97a980262f2f":465,"ff0fb073f97441bd9ff74a34e8fd743136246145":52,"7db818197a47f13df8bc4aa0f639b035401e3a3d":0,"685da1d165489b816e5a0f5fd65a4122b09b0bc3":1771,"4a9c9787ed0c6bdea26dffc77cf0901d536797e2":0,"e045a1b1ea1a68838a9cfd28a3b1ba8051ae7e32":0,"5a642f6addc628235f49aae5a49443402a812d59":0,"20b96ca1aac533faaa1fb5d4bd9a48d94c28c5c3":28,"f9143da70b27818afc85635d03da74a9d0fdeb05":3,"e0a3e58dae3924be486ba31bcad48b1bc4bf9be9":107,"05046b096076a06ed95093f3d14d716801a7a9d6":584,"ef0528b3c50b0504f3b4137f63d9985e5db06e6f":173,"68592a5bf0636359c8dcfa9bc9ab668122ece4dd":7,"785e5219f568e3695553e77100cf162c4b192ae6":0,"f479c385d78b53ecaaade5920195a987c21bbf7d":0,"d733bf24e3f2e5f7bb720ff933d394ae31f2b693":36,"17d44cb8192a3c52c8d192bd04a3e9ade697e973":1321,"c41806c98e8030631410fc9266856b4c7293f079":4547,"23f69ad2e446cd8fbdb14e9b926c9db8784b5b51":263,"75eac6205c0a29e7317a9e1cdcd715246b11a981":475,"af03b502134c340b28af37bfb25a217a7e2401cd":0,"8e5b455c5a88ec1c084cc2501dfab15782cde6a6":0,"3d686e81ad3971573c61cffd6a43a3ed074f2867":0,"c2bb1b34a12e6db23962dcaf887f142aff3400a3":203,"31ea71d4e7b8e1f7c0a24c10888fb649be4fd857":1859,"7b856f5d2b2658c174be8244fcf0156ebf232ade":0,"23c0a2b86bc21177ca4c84732e601bad27b09b07":557,"b1c42e7cfe297ee70e13475724c0b8f5bf54f335":315,"60f4eb371c4c5c7092c607c5ac8312571131d531":190,"fc6e7621a9ede27ae9380650e4de642d10c35ed1":2,"4b85ca5aa8b9be1e5c3b98bf16c6c20e1efdff58":378,"3d16acf845e8f343ff2724afdcc878054bfcc981":9,"a6985d968b73a74db30037f598a43e6218129fd0":132,"721522898670b7b87108625d90baab788ce69708":11,"2ee8352f4a5ab732da9064ccc26f6371066237e7":0,"7cd3e967f3dcd9e2ab468e712a9aab4b6cae4a08":1966,"445ffb417e89798add66d44a639f39d1986106f3":155,"5a5f0069aa8a14cfed60125ccf20950eabf5df87":492,"983ae92e0631e3289a72dce866ad2466ec36efd8":0,"7d5e1fccf69c080563b00656b247c56b274c63a0":4,"4a2e8ca84013f17c9b1a3eb6dadb3ce299e2ccb5":46,"8b5b9f4ed9cbc37d363edf69ca38cc5df2e3e53f":604,"b953a17b8bb91c56cf31a3ee4b2b99709cffda9a":0,"940e41eba2b017cf1d8815f056625882aa1b1d98":560,"aca847f48e8bba9bfde813a4054e0a52a9846e5a":68,"0dfd1d3bb5eb4408ab15e5dbb93ca53336c58925":0,"4d900e30f00e7811f1b05a3d8c68ea321fcc60da":26,"e0430560c6fa6b57641f2be5b40d522cdb46d153":36,"9d164a4b47bee6d0aece1f30921fa80c24e97986":76,"93d7463f8bb97ec28c23bc37b1f09f67206242f5":18,"d00451fa99eea3387ce41b0f89e092baf940c887":314,"07e429a897d1b938eae9e9a8b0edee7b8f73e9d1":6,"3ec2fca438687ac8b345b67774c40cfe63d44864":460,"f1cf5f83a491b32548aa7a815c5acbb6ece953d0":181,"d9955353abdc6e208b163afcb25ea9352cada02a":109,"18fbe594953d4cced2b723f7b908b0c694fbef64":209,"4081c249873a2809b510bb673095f8f041b6ee42":21,"aa594b28c76716307640360bfcf0df7b3260673d":665,"af1be7b223e15480ff3300240dba66190a28d3ab":78,"588728e9e7b5f67c0f387a6bc17a0eca2dfac78c":877,"bade1ab1431b525c792dce51df96c884ec2a362e":7,"365a6fc6f6af98eeaa731add932cd66db10fc5ae":169,"dab0cbd8db2b276c6a7079ddbd58c116af27c2f2":253,"73bc0b77fbe24366fbd6dc193ce375dc6820509f":15,"a2f044c75ec16461be32e140fa963efa30436e0c":11,"6bd07d70ac89476be04ee6ccab5d2940535aa0c7":0,"8c4ab1cd68df3d8cb874b8ed9829f7206bf7966b":0,"01882485346cf281e55d06190d3f3dac3a19d614":0,"0496dbb504c4c3d4714c9ca8225dce19d7e1ef44":235,"ee5eb3a42e4131fb2a99a0deb146e1b561ca264d":0,"7e6bd4f2481b73b10cf719dbd05dbca4e060e6f1":0,"2c69194f19da39f813935b2f5bfc1e2b255e83fa":52,"5402f239fab7514b38219776448835953a69bdf7":163,"4375751f5a2642e0677b81fccf35bc096e74b1b0":9989,"05055fa86957599e62b25e9bf9ef60733be226dd":324,"5ca89b4f92c8190df9149b0ee75fb619566f30bc":624,"e06d725afa7a8e60c53019b0e925683fb8a01a70":136,"65d99a91ca23963a96507f63d980e893a511cadd":10713,"6d2918c75ae2aa5670ffd117da3f2e03485eefe0":1665,"cff7e4035d1f6e199e59b2bd9492073a98591560":2462,"acc22c2e500e332d62c2e053a35dddd86a70a753":17,"a9d0add683c80d8efd13dc35ac8bd1a7e9414eac":56,"593a9e2bfbb9e436f4830a64d8270dc86239d698":50},"tools":{"claude-code":{"name":"Claude Code","commits":525,"loc":620473,"first_seen":1765343995,"last_seen":1794612399}},"monthly":{"2025-12":{"loc":449522,"attributed_loc":437725},"2026-01":{"loc":114610,"attributed_loc":114590},"2026-02":{"loc":23948,"attributed_loc":23948},"2026-03":{"loc":36,"attributed_loc":36},"2026-06":{"loc":19138,"attributed_loc":17677},"2026-07":{"loc":0,"attributed_loc":0},"2026-08":{"loc":0,"attributed_loc":0},"2026-09":{"loc":298,"attributed_loc":298},"2026-10":{"loc":23614,"attributed_loc":23614},"2026-11":{"loc":2585,"attributed_loc":2585}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":0.0,"workflow_agents":0.0,"tools_configured":0.0},"findings":[],"evidence":[],"data":{"artifacts":[],"workflows":[],"tools":[]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"work_units":236.0,"flagged_units":67.0,"pre_ai_era_bursts":0.0,"pre_ai_era_measured_loc":0.0,"pre_ai_era_burst_loc":0.0,"measured_loc":398393.0,"flagged_loc":298454.0,"flagged_loc_share":0.7491446887872026,"max_loc_per_hour":24110.2534562212,"median_loc_per_hour":382.64331210191085,"pr_timed_units":0.0,"excluded_import_loc":235358.0},"findings":[],"evidence":[{"kind":"velocity-burst","description":"46,506 lines of first-party code in ~1.9h (24,110 lines/hour, 5 commit session)","ref":"9fa11c579a9629da3239bde6fa7e7e4301eb2746","url":"https://github.com/tj-smith47/shelly-cli/commit/9fa11c579a9629da3239bde6fa7e7e4301eb2746","weight":0.6},{"kind":"velocity-burst","description":"12,998 lines of first-party code in ~2.4h (5,317 lines/hour, 3 commit session)","ref":"6aac3cc1a4a7680009d5fe00ace6d0e4405429f3","url":"https://github.com/tj-smith47/shelly-cli/commit/6aac3cc1a4a7680009d5fe00ace6d0e4405429f3","weight":0.6},{"kind":"velocity-burst","description":"9,545 lines of first-party code in ~2.3h (4,121 lines/hour, 6 commit session)","ref":"ebbe75e81ae1eb656df6fac160fee41489a42761","url":"https://github.com/tj-smith47/shelly-cli/commit/ebbe75e81ae1eb656df6fac160fee41489a42761","weight":0.6},{"kind":"velocity-burst","description":"13,918 lines of first-party code in ~4.0h (3,480 lines/hour, 1 commit session)","ref":"4e49808a02d4d85002102c35f292827a7ca593cc","url":"https://github.com/tj-smith47/shelly-cli/commit/4e49808a02d4d85002102c35f292827a7ca593cc","weight":0.6},{"kind":"velocity-burst","description":"5,083 lines of first-party code in ~1.6h (3,206 lines/hour, 3 commit session)","ref":"68af09a5043094cfa7b041dc4ee4cd09ef7c3592","url":"https://github.com/tj-smith47/shelly-cli/commit/68af09a5043094cfa7b041dc4ee4cd09ef7c3592","weight":0.6},{"kind":"velocity-burst","description":"7,980 lines of first-party code in ~2.6h (3,012 lines/hour, 5 commit session)","ref":"500575ddea58423341c7a6d1e9489fce404ea394","url":"https://github.com/tj-smith47/shelly-cli/commit/500575ddea58423341c7a6d1e9489fce404ea394","weight":0.6},{"kind":"velocity-burst","description":"4,343 lines of first-party code in ~1.5h (2,988 lines/hour, 3 commit session)","ref":"324a0f24afbbc5a3a81dd534c1c51727a6ef4efa","url":"https://github.com/tj-smith47/shelly-cli/commit/324a0f24afbbc5a3a81dd534c1c51727a6ef4efa","weight":0.6},{"kind":"velocity-burst","description":"2,372 lines of first-party code in ~0.8h (2,899 lines/hour, 1 commit session)","ref":"46381af131c3ab2cb0591bb1e05cd610c42f9d7b","url":"https://github.com/tj-smith47/shelly-cli/commit/46381af131c3ab2cb0591bb1e05cd610c42f9d7b","weight":0.6},{"kind":"velocity-burst","description":"3,952 lines of first-party code in ~1.5h (2,584 lines/hour, 2 commit session)","ref":"4e6afc14400dd54688c95b16498ec508a969b308","url":"https://github.com/tj-smith47/shelly-cli/commit/4e6afc14400dd54688c95b16498ec508a969b308","weight":0.6},{"kind":"velocity-burst","description":"14,670 lines of first-party code in ~5.7h (2,577 lines/hour, 8 commit session)","ref":"a2c9a651d4e9865859ae174689afc97e2f53ba8d","url":"https://github.com/tj-smith47/shelly-cli/commit/a2c9a651d4e9865859ae174689afc97e2f53ba8d","weight":0.6},{"kind":"velocity-burst","description":"10,057 lines of first-party code in ~4.1h (2,464 lines/hour, 2 commit session)","ref":"a3181638ba405a78e97098662da121a5a258e9cf","url":"https://github.com/tj-smith47/shelly-cli/commit/a3181638ba405a78e97098662da121a5a258e9cf","weight":0.6},{"kind":"velocity-burst","description":"1,960 lines of first-party code in ~0.9h (2,252 lines/hour, 1 commit session)","ref":"27f16091f014d31801493c273d3e6cd0b4d6dda4","url":"https://github.com/tj-smith47/shelly-cli/commit/27f16091f014d31801493c273d3e6cd0b4d6dda4","weight":0.6},{"kind":"velocity-burst","description":"3,232 lines of first-party code in ~1.6h (2,022 lines/hour, 1 commit session)","ref":"77fb6b46edd7c74e5202cf48523d6d848c1f83d4","url":"https://github.com/tj-smith47/shelly-cli/commit/77fb6b46edd7c74e5202cf48523d6d848c1f83d4","weight":0.6},{"kind":"velocity-burst","description":"11,206 lines of first-party code in ~5.8h (1,940 lines/hour, 9 commit session)","ref":"6c99de4ed340cfe8fcb62cb939ee8bfd217c86cf","url":"https://github.com/tj-smith47/shelly-cli/commit/6c99de4ed340cfe8fcb62cb939ee8bfd217c86cf","weight":0.58212987012987},{"kind":"velocity-burst","description":"3,887 lines of first-party code in ~2.1h (1,817 lines/hour, 3 commit session)","ref":"8f0b9fec86c05958723bfd3622e4af626c42b18d","url":"https://github.com/tj-smith47/shelly-cli/commit/8f0b9fec86c05958723bfd3622e4af626c42b18d","weight":0.5450480394702675}],"data":{"flagged_loc_by_commit":{"c614641694b6e5b9e847459b8fdcddc01e999c75":1656,"16b75960b22e7288574c6283fb5757f7fd055246":526,"c3c8cefc64423d85b12db8f1690764e4f6314304":735,"64690da0abc6436f7c532d6d105a0ec0dd445f53":586,"d2e0c2e38cbee21bb0e36c925977164f32dd96b2":1938,"e18728e5d0b878a2f0d75e53bbc415bf85870534":550,"bfbcb8fb22b4ed7c8e2fc0236777d5f78b63b774":1320,"deeabd26f32c47952caa885d78c30c74739a7da7":3236,"d12d13b3f9c217efdbe8976df6a2723ad096a0e9":975,"aa7164307a5d7c495d87f43c9eb0e0c42e8341a6":1917,"fbb4c6986275ef744e794161d31a275d2fc601be":1155,"aaa7ec2027de78762e8d6ae30a8ac465c872d8a5":312,"ebbe75e81ae1eb656df6fac160fee41489a42761":1950,"4a496a8874c5c94d92055775134998db5cc84e44":31,"41d131a0bfa27fc7a9028e576438641ca34a16da":1055,"d864edce0277eacbd9a867b43a129386fc69f6ff":1940,"61262656ff8454f928ab94df72e34a7f555cfd50":476,"8f0b9fec86c05958723bfd3622e4af626c42b18d":1471,"77fb6b46edd7c74e5202cf48523d6d848c1f83d4":3232,"2ea84ffbf407e7d7c11bd01a70f3776cc5ff1edb":1648,"dad7d20f0cf4e53d4a8bd8f49f07a6a1c45c93b3":1788,"9522cdb2828c844336ce0a7bf311d310aed80991":1405,"18db138e8a5d431987d51853ca663ecdbcc6ad9f":1878,"f98e1a61e5707c0a168a3109e4cac365f5c0f513":2634,"914b1957a541073b0bd7f1cb3b327696081d6b77":1047,"67827233b7cec0724aa0f045badfe1e1a561fa16":1555,"500575ddea58423341c7a6d1e9489fce404ea394":866,"9068c900c5d6f259baa236010c9a95ce45997fe9":711,"27d71fd572177dc2a6b933ba4146d5bc525d84b1":1834,"caf0765da07e0305a9316f9fcfcce5821f61ac7e":655,"83f3929aca157bd149c92cbc89de1db1eb195036":859,"ecd3c8c66832e06db042c34833b783cc03f97323":2035,"ef2b42f7d40b24445dfa66167008ba4fd67a5cd2":3200,"9446ef2afe64e1e194e708408faae435a4537ea5":1146,"fa80e44beef680ea34a323e1d4e6d805eac439ae":755,"6c99de4ed340cfe8fcb62cb939ee8bfd217c86cf":11,"d182ca55c9f6f5ccbd2ff9b435be48b045b4898e":1558,"f91afad362459b4edeac7cd5f0aa547e3abcc503":1415,"d0b1059f3975b275811826d34672ad8d2d5d306c":787,"c02388946c906197b84643f6ef8efb3136b9e830":1806,"932be161e69b71b6a425f04869c3c71aada016ce":2901,"4e6afc14400dd54688c95b16498ec508a969b308":1051,"5f71cfac1203778527f52b4ec710e44f78e8d9f3":2343,"46381af131c3ab2cb0591bb1e05cd610c42f9d7b":2372,"004df553c4d43641bd925e15c995cbde56220ffd":2183,"5cb49d8670a57a160b7ecc7207dceda4f2c54d31":460,"4e5501646e12272e4ba4519ba4288a49cb44a967":159,"cbcc6bf90fcc06c27c6705da60b9c904d0cbc2c5":39,"054a4fd9a42e16e90f37af5f93d62d08ed5fdc18":24,"11588230427c761221dedea7de03f1539ff4b97c":127,"cd3d3b6b77ac89fa20d329254e2b8112088ba58a":49,"ee478d072dd35881e44e5232b6e41fdca87423fe":133,"53bc79374eb7ddbc7c257570b0295c8babf18376":210,"8db466ea0be25e06eac98a87ff7b8b0cfa171791":40,"0f73e1cc6efa3efe448fc96f43be3b00978b0eb5":32,"8f3e8930bdb1a942c5c2a5523d047d822a1a28fd":173,"cb49d94c1c501e83a5e8022dff1e1aab26870b26":33,"05c9663dbbb6154ece6652cc7bef2ace906293cc":34,"3605bd6ba2766fdc2c88f38de4f707abc372fe5a":49,"af9f5debbe3cf03db82fe60d45f07edc22fc66f9":35,"f66fd552604a8649c277a3ed209d9c540844ab43":35,"2845b5b4a32763985f783d32d414c264865d4e8a":21,"3f5bcb7d9a30c42633fce0c26c7a3da056999713":20,"9271c72d0377cb4f66f60b0d9aa47d8e983d69c8":42,"cce50efb358add22a764c45ccf727d57e2da7ef3":41,"0fa2ce387fbc4731b87e7ad045868525e670c973":3,"4c27f23328ba599e81a6e9f07f3bf3629f6778e5":29,"f96f5a73fe7403b4ed660e09b91dc87e2dc314e2":58,"1abaea8f816a7d6b00265b2a95dfa5c2553133e9":90,"118079f6499eca80c75ea8e2e3af40a420e2e49a":5,"9df2b08c917ac460d5b12f16afea59425ab80cc6":38,"2919c9f0d92d2f2fe1fd2e2921dacc640d676f59":22,"0c15b17837ea619e82a9e4a7b408a344fb59ac45":12,"931a1721061feb4d81b363347b9c04e1d614934b":20,"2a00cf8738d24d64393c3fe0e0d68cbaddff517c":2,"4cc183092b7172d105b2fe86e77a5b19ee3512d2":586,"ba38417a100cb9be43c4420faf843965560acdd2":222,"7bab84eeb40ec6788b657875d78154abad4c60da":167,"f6b42018791438da3116911c46386e579169ead9":145,"cf0c5408bc69409d63be9f6986fa6a51a4ecffc3":497,"4851039102825d50de73f86c79801f3255a96add":1231,"7c0cfa19d921dcfdc3778ef45d5d4429e21ed0d4":964,"b379cab9eea979a2fa4dfd8ff5782e08fb84e439":984,"e8fd0aad77668e554d919cb0ccff2dbbee34af5a":974,"ed6e6f43325213bc0ca2d52030c5fd579bfbd3f6":680,"7ec72bf9021f1eadb2845058a2c7767e9c39b83a":987,"fd3159b6b71f11fa05bef1238226b699d373c24c":1787,"82a8c435989279fbc11f052b241463fe6bd6d715":1075,"a9ab8a2bbc9f8222958369e9156988e76ac4669a":790,"4e49808a02d4d85002102c35f292827a7ca593cc":13918,"a4bf56d03f75bf7d598eb7cc736db54d9604d226":6427,"a3181638ba405a78e97098662da121a5a258e9cf":3630,"e181b8443745d7109ab47f2cba69eff708fd4821":1818,"a04c84a5b63687c09cf17be7bc9c7b110980bdb7":446,"be66c57cc56f599859b8b82c341c02dc7d16d2e0":507,"4df1c8cc885223fc7118a42a0997df07533e0957":1695,"fee92064a8eff89c07b529977fe009466e6ca508":819,"564663b3b0a78813a1fc894e91aef43e0f31afe7":99,"8eb08ecc71e1df55ca5e4b706de62b4840585c53":376,"be6c1df0e4529f7ad72a83b5a6026a6cc7d60f07":306,"510db295ff5e9a1292dd95609c47d9ba33850140":343,"5b783887d7c41f30599cda7997a608642f2505e1":990,"1ec59ebf6af1e6f59fcb0bf9c03b4e35bdec29b6":946,"3c4bc17a3760aa6f95367336da6d97a582d13e50":585,"ad04643062843723c4c66e5ebaa17ba1de48ed17":512,"c926bdcac6f3c50771f83d9ee6ab2c7348a65572":1922,"25ae74585219634a0da13f830640f864ff625465":24,"b207a9f8bce677cd3d919e784467be2fa8b8aa57":2569,"fee69797936d92fc54670fd58dd5113a97a375b1":1188,"eb44682392d10c41c5d9251d7c51c4b1918d2e15":1228,"deb6d716c384a05c1dd8c1717a36498891daa6e4":97,"05a2197e5459b32395092a68880a7c04944b7fdd":139,"9307f4c2c3bc9c9a880398cb55861706bde33a76":176,"00de81c9f91a86734481bf1d2e6d5db2f7ebb67e":315,"ef958a1c6ff9664c6e6b9b254d4685a2cdfebec7":399,"0dca0defdf8d5c288711d30767e9002e175d9210":915,"32d4ef8d1786ab4e643ebe956c9b17b878e029d2":48,"43bba900240b57d572e1d90e416aff52507e5b62":343,"fce7e49378604581d10c0ff0dbf1a01d4ced3ae6":29,"cc5aaa8201bf55ee097f4a192664e24a9184de28":1,"1ea463adf457489fdffe3c7ed0189b1213aa37c4":323,"f292f66eb0c7bd76cc7fc2b5f3ccf0d972bba4e1":264,"d69e9ac133719b988dbc90523f0f00a21a6e75a4":493,"91a1098aed8f8a90531f0a1c0f20fb1e7ebebcc1":208,"d165411f7401b6b547db0d7d798a7b81cb9265c2":198,"4ea0d8469f378fefaf880480572f3f23c573206c":339,"aaa903b86bcdd9ccb24c757a91b9281beb1fa109":106,"8afc2d8116cd490809d73c6010d18632e835b08c":14,"53f4c2ab16e823b2fd5720f9fb558f2c2a33375f":8,"1e7e8206e8f240ed8e43083efae99f02c9964835":31,"9364f84a6837bbad88b62b090db7cb599f45d270":27,"5c3f3cb543532bf4b6cfa565814b91c968237ccf":6,"577cc8d0b04c403043c4107097ca75da1579707b":164,"a82af8f92e8d1a14d2319c69e6c4ab0f11734456":280,"936898aa8cf3a29361d168b069841bb08282725a":92,"bb1616b3d538a2a50837c2fca46241a7d3d13b4e":1068,"f60e998b4baaa0e7d6bdc5eb0fc6957c575a4a92":57,"f0fcf10500c052d2a7d97ac66021fbec1c2ec783":53,"2e5edba345fd53415af1d16ae214d280cce23db3":2172,"2dc9c23318696caccc58f6c68a815ccae1a7e5e9":1527,"2bf621ee46a8527bb97d098b90427aad22dc3aa7":1173,"e333dc46b650ca75ba2a8a809942eabe15907879":9805,"06bbb97f38e014f401bae7853c10e48b74cc423d":2779,"7e8f41fb71fe07fb9b9bd4f012a8675439cf1571":868,"98398fe88515b59851c20ad65125ebd39cf04d7f":9,"9527f16647858094cfbb3b90a3dd0dfc27c52ad3":5,"9adceb3d3c6d9d85298f5fcfe75242524b30e29c":1,"a2c9a651d4e9865859ae174689afc97e2f53ba8d":30,"ca70e03443a5f3c732b9cd7efdbcf0439ae10497":5000,"4d13617bd96f4637958c5cc1de32824e1f557f59":180,"cba853a57b4070bb75d3fba8694cc9ee0acde373":189,"8c51a75b9dbbdca5c5e048a3ebe6c17a55f046be":376,"326cb684e4a0abeb5889416239a88dd66e84df0c":704,"098a9846d556f05fe686f9a50ad4eec92102d112":397,"2691d87ad5d78cf06e60acb48ae5c4e2b4136166":2778,"b064c7729f9a52270c9deef98746563b3d701046":1109,"fa2cda8a2cf1d87b51111ac373d784daa6506743":28,"435149e214967a52844f0bfd589834f6dc3cde68":678,"51237fbce16275b04c992433ee2a4b325c129c03":563,"7b7d6e7f0d5b2f023680100a4f4560b08a7ca58b":1061,"6a0f194a48562e9ae47d55c1eb5d929dab20659d":734,"075642b13563bb9a03e808c755bed3e35197b283":545,"fd876a1fb99bc54755c7cd1133f27499af751cf1":858,"8e436c473d02f19e5ba7b9dccbdad73b904e9db3":3968,"68af09a5043094cfa7b041dc4ee4cd09ef7c3592":257,"1e52bacbecdbbb81ea683bf7312788cfd7ffdd83":4281,"9fe43f72aee39ce82b76f2523521bf5de712c63e":1037,"0ca17d1da4ae425873cfaef60c0a34200d9395f1":88,"40d34dbb47a0dce3630f2a009f70e6e61a2ae9d8":1351,"4c5fc172b3eae8f072f2df6e832e149d7abfb1e5":562,"17a566210300e054aa74463262df62125775ff34":35,"2079c036e9d78fabc6b669bfe78e7c1d82bf4a6a":61,"8dcf4c6b5fae3ee2fa708157842162d4bc34c6b7":238,"8e367484fdb5ce53369d25e6c66a59684463e243":1152,"a4aa37b129c1db0a657278377ddcc1058ae4f88f":853,"53442b0fc82f6fade7533c8a51bed3e8a671e64b":18,"36218d28db63301f7f879e109e66203d6fa8d378":569,"91f2564ee88e99e84aa87a6d773516f686f77f74":1011,"6aac3cc1a4a7680009d5fe00ace6d0e4405429f3":11418,"583fcba8f3af0e2a7e0fa2f56076d29d751c3932":22942,"986e98772514802ae3bf77b20e5b6b5fb56a416d":1164,"d9537e84f85510256e171c95005c9b742372ab49":21547,"71958b8bf36db6c7ebc872e8f73dcb72953bc427":725,"9fa11c579a9629da3239bde6fa7e7e4301eb2746":128,"f4e6bc58047e717cec0e5c6b6460e2e9c212d8b6":138,"a31c41288989838de06d86a82c16561367f0828d":149,"087939b1d32e93f5aaf70d109158c2b444780209":774,"637278b28ce3700ca0e318a6d9e631823cfc951d":140,"780090d05d19ecf1f7a894a31884ea96f6e0ba2d":165,"3ad61260ec45405a9a26b44f6283dc9c2fa712ae":2985,"05d1daa5226f7ea366462e3ee579735934e930dd":448,"324a0f24afbbc5a3a81dd534c1c51727a6ef4efa":910,"8239879fba71f22d375ba7bc52bb7869bbe60de3":789,"dd450c7c7628f3c815c5221ebbfc99b213b5d96e":5132,"5080cc3b1a189707fba73e9af20ab6fb3589f122":1298,"be43bfdd7c5b7f7d7916cc0166095f254d4155e0":1199,"a8685fc5dbb650c6d534ea1cf669a4bb88515e31":1,"6e60e8d608894b196a7127136071e8fff7036c1a":22,"5142f3ef350a8f07a1f981a916e3eb0b3f095494":7,"dd3431e40a3edd66abccd8f7e1ef1cb183cb3fe2":6,"e3cc97303f3fdc6b95ddf15127d99c5c1f3f734d":1648,"7225a0c9a17044b478c63b9beb885768632e3e8d":2,"cf568b3184afe204632cb1b74b8c2a5c7403ec69":1367,"e47031966863b132a79a5fdb8cbf1a2c5bf3f723":352,"4e2a20c763544cf634a66d0a1aeb5d3a97c5d026":55,"6d3a5c0b47c156a69c6947459f831d00e673d975":25,"d73a8484d195086105902acac7c709e3c499fce4":28,"f9aa02a896cc45a2aa8974b7fa4409fccfd616bd":2865,"4149b4d6ef6f6dd5535b7548913a6febd7af1c5a":138,"154ecb81bd6eb98dd208278c05824010b1bd9a6f":3293,"0b774b1488e82d5104b679337f12ffef78a464ab":1370,"0e2b12f7c3af494846d3e1b7fab3168cb710f05e":55,"ceaada21a197c4fc413bf338ffc503aac7607051":713,"fe0afc26318ba75f60ead61b7450e7c3ca9442e6":3032,"50016eb6ab67bbaf3deb99a64bee6c545aa1a091":1145,"e38e7da6a01cc7a4a688905e4fef0751d95e7f54":2492,"7dfc464c4b6c52184d344c30a63cc1412eb5c731":2004,"b1c950753742d4b36069e81607eca4bbf189a8e6":2096,"ce7622b28d66ca559998e2ac2bcce86662587a03":1605,"6a6723101509c53856655f1a022a9c677e611343":1465,"27f16091f014d31801493c273d3e6cd0b4d6dda4":1960,"5f5cffc8a66674d16d0504dd172938e6ec7b6b09":3595,"f9b120b03c445eae07e9a58a88823af7e7bb675c":1146,"b20c82ffdbd8bab06e97ba8fb6589ea099c911d1":96,"25cc9d59809ef6daaa23be91e53eabdf8066374b":171,"5ccd0ab0f8634e0715fdd4507fbc79db67f340f6":35,"04e9db98a0263b1bdbb7af9373ed4b28c06afa78":977,"3065a9e66dfa477413bbfb80240bd08871cc3ca6":384,"66318b022427c04e23b4a5da93deaeb7bfd35df9":4171,"cbb52b1dcb62d6d373362d5a7f0d1c751e2589fb":3168,"f6fb2ee08756737b7053ca3f678f42410b360789":107,"01f140bdea8563b4165ead64cd8ee42571164529":2415,"721522898670b7b87108625d90baab788ce69708":11,"7cd3e967f3dcd9e2ab468e712a9aab4b6cae4a08":1966,"445ffb417e89798add66d44a639f39d1986106f3":155,"5a5f0069aa8a14cfed60125ccf20950eabf5df87":492,"d3bbaaa1a79b151b130bab6f70eb25e345b62643":196,"6a9513dbbaeb9de59c6103dcdf50445f9157165c":432,"1c45826a0394eccf9fddc4ffef5cfd467ae15825":323,"3a2ff2049767600bb0105c930cd5590ae231247a":114,"0d721b29d59cfb9548c9ae23888cb6fe8215e8b7":147,"55db344c0b45e20d32d67d9cfb451e1f09f95cb4":21,"940e41eba2b017cf1d8815f056625882aa1b1d98":560,"aca847f48e8bba9bfde813a4054e0a52a9846e5a":68,"4d900e30f00e7811f1b05a3d8c68ea321fcc60da":26,"e0430560c6fa6b57641f2be5b40d522cdb46d153":36,"9d164a4b47bee6d0aece1f30921fa80c24e97986":76,"93d7463f8bb97ec28c23bc37b1f09f67206242f5":18,"d00451fa99eea3387ce41b0f89e092baf940c887":314,"07e429a897d1b938eae9e9a8b0edee7b8f73e9d1":6,"3ec2fca438687ac8b345b67774c40cfe63d44864":460,"f1cf5f83a491b32548aa7a815c5acbb6ece953d0":181,"d9955353abdc6e208b163afcb25ea9352cada02a":109,"cff7e4035d1f6e199e59b2bd9492073a98591560":2462},"excluded_import_commits":["0e06110b477b277dc6dbd355d5e07cffaa10ad0b","10a5ecaf0de640417d194f7e8fb3ed7905829515","2a2468a4d75c75f8f4ccdfb3cd0bfcc1f01163f8","2eed68409055216dd811dc853785aab9767f1a22","4375751f5a2642e0677b81fccf35bc096e74b1b0","65d99a91ca23963a96507f63d980e893a511cadd","940115605bac78839a6850eabdab9594b194732e","afdc64b39e8bb3d7c35e4b66eb65f69542d79fc2","c41806c98e8030631410fc9266856b4c7293f079","df6b8381ad8c21a2de9a15a73010b3f5e79b15f1","e99b596e2592ddac91e088313b38e550e0b9aa57","ea9488021489c250df3cdc21a65a7e70eb48d250"]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"releases":99.0,"flagged_releases":6.0,"max_loc_per_day":39552.0},"findings":[],"evidence":[{"kind":"release-burst","description":"v0.2.2 → v0.3.0: 83,671 lines in 5.72 days (14,636.9 lines/day)","ref":"v0.2.2...v0.3.0","url":"https://github.com/tj-smith47/shelly-cli/compare/v0.2.2...v0.3.0","weight":0.4},{"kind":"release-burst","description":"v0.3.2 → v0.4.0: 16,056 lines in 0.97 days (16,482.4 lines/day)","ref":"v0.3.2...v0.4.0","url":"https://github.com/tj-smith47/shelly-cli/compare/v0.3.2...v0.4.0","weight":0.4},{"kind":"release-burst","description":"v0.4.0 → v0.4.1: 14,387 lines in 0.98 days (14,711.0 lines/day)","ref":"v0.4.0...v0.4.1","url":"https://github.com/tj-smith47/shelly-cli/compare/v0.4.0...v0.4.1","weight":0.4},{"kind":"release-burst","description":"v0.4.1 → v0.5.0: 87,838 lines in 5.85 days (15,020.4 lines/day)","ref":"v0.4.1...v0.5.0","url":"https://github.com/tj-smith47/shelly-cli/compare/v0.4.1...v0.5.0","weight":0.4},{"kind":"release-burst","description":"v0.5.11 → v0.6.0: 21,193 lines in 4.95 days (4,279.5 lines/day)","ref":"v0.5.11...v0.6.0","url":"https://github.com/tj-smith47/shelly-cli/compare/v0.5.11...v0.6.0","weight":0.4},{"kind":"release-burst","description":"v0.7.10 → v0.8.0: 8,700 lines in 1.19 days (7,283.0 lines/day)","ref":"v0.7.10...v0.8.0","url":"https://github.com/tj-smith47/shelly-cli/compare/v0.7.10...v0.8.0","weight":0.4}],"data":{"releases":[{"from":"v0.2.0","to":"v0.2.1","loc":414,"days":0.04,"loc_per_day":9936.0,"flagged":false},{"from":"v0.2.1","to":"v0.2.2","loc":1704,"days":0.63,"loc_per_day":2709.4,"flagged":false},{"from":"v0.2.2","to":"v0.3.0","loc":83671,"days":5.72,"loc_per_day":14636.9,"flagged":true},{"from":"v0.3.0","to":"v0.3.1","loc":5,"days":0.04,"loc_per_day":120.0,"flagged":false},{"from":"v0.3.1","to":"v0.3.2","loc":1,"days":0.04,"loc_per_day":24.0,"flagged":false},{"from":"v0.3.2","to":"v0.4.0","loc":16056,"days":0.97,"loc_per_day":16482.4,"flagged":true},{"from":"v0.4.0","to":"v0.4.1","loc":14387,"days":0.98,"loc_per_day":14711.0,"flagged":true},{"from":"v0.4.1","to":"v0.5.0","loc":87838,"days":5.85,"loc_per_day":15020.4,"flagged":true},{"from":"v0.5.0","to":"v0.5.1","loc":139,"days":0.33,"loc_per_day":416.5,"flagged":false},{"from":"v0.5.1","to":"v0.5.2","loc":856,"days":0.25,"loc_per_day":3489.3,"flagged":false},{"from":"v0.5.2","to":"v0.5.3","loc":23,"days":0.06,"loc_per_day":380.2,"flagged":false},{"from":"v0.5.3","to":"v0.5.4","loc":7,"days":0.04,"loc_per_day":168.0,"flagged":false},{"from":"v0.5.4","to":"v0.5.5","loc":6,"days":0.04,"loc_per_day":144.0,"flagged":false},{"from":"v0.5.5","to":"v0.5.6","loc":1648,"days":0.04,"loc_per_day":39552.0,"flagged":false},{"from":"v0.5.6","to":"v0.5.7","loc":2,"days":0.04,"loc_per_day":48.0,"flagged":false},{"from":"v0.5.7","to":"v0.5.8","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v0.5.8","to":"v0.5.9","loc":0,"days":0.05,"loc_per_day":0.0,"flagged":false},{"from":"v0.5.9","to":"v0.5.10","loc":343,"days":0.25,"loc_per_day":1371.9,"flagged":false},{"from":"v0.5.10","to":"v0.5.11","loc":1829,"days":0.47,"loc_per_day":3854.6,"flagged":false},{"from":"v0.5.11","to":"v0.6.0","loc":21193,"days":4.95,"loc_per_day":4279.5,"flagged":true},{"from":"v0.6.0","to":"v0.6.1","loc":24,"days":0.05,"loc_per_day":523.1,"flagged":false},{"from":"v0.6.1","to":"v0.6.2","loc":2205,"days":1.31,"loc_per_day":1689.6,"flagged":false},{"from":"v0.6.2","to":"v0.6.3","loc":426,"days":0.65,"loc_per_day":660.4,"flagged":false},{"from":"v0.6.3","to":"v0.6.4","loc":1470,"days":1.52,"loc_per_day":969.1,"flagged":false},{"from":"v0.6.4","to":"v0.6.5","loc":632,"days":0.89,"loc_per_day":706.7,"flagged":false},{"from":"v0.6.5","to":"v0.7.0","loc":338,"days":0.83,"loc_per_day":405.0,"flagged":false},{"from":"v0.7.0","to":"v0.7.1","loc":18,"days":0.88,"loc_per_day":20.5,"flagged":false},{"from":"v0.7.1","to":"v0.7.2","loc":373,"days":0.13,"loc_per_day":2969.4,"flagged":false},{"from":"v0.7.2","to":"v0.7.3","loc":1767,"days":1.05,"loc_per_day":1680.3,"flagged":false},{"from":"v0.7.3","to":"v0.7.4","loc":7,"days":0.04,"loc_per_day":168.0,"flagged":false},{"from":"v0.7.4","to":"v0.7.5","loc":149,"days":0.08,"loc_per_day":1834.6,"flagged":false},{"from":"v0.7.5","to":"v0.7.6","loc":4312,"days":1.86,"loc_per_day":2318.8,"flagged":false},{"from":"v0.7.6","to":"v0.7.7","loc":173,"days":0.04,"loc_per_day":4077.3,"flagged":false},{"from":"v0.7.7","to":"v0.7.8","loc":3000,"days":4.22,"loc_per_day":710.7,"flagged":false},{"from":"v0.7.8","to":"v0.7.9","loc":2752,"days":1.69,"loc_per_day":1625.0,"flagged":false},{"from":"v0.7.9","to":"v0.7.10","loc":14292,"days":12.81,"loc_per_day":1115.4,"flagged":false},{"from":"v0.7.10","to":"v0.8.0","loc":8700,"days":1.19,"loc_per_day":7283.0,"flagged":true},{"from":"v0.8.0","to":"v0.8.1","loc":107,"days":0.04,"loc_per_day":2568.0,"flagged":false},{"from":"v0.8.1","to":"v0.8.2","loc":203,"days":0.07,"loc_per_day":3050.3,"flagged":false},{"from":"v0.8.2","to":"v0.8.3","loc":1299,"days":0.36,"loc_per_day":3637.6,"flagged":false},{"from":"v0.8.3","to":"v0.8.4","loc":5752,"days":4.43,"loc_per_day":1297.8,"flagged":false},{"from":"v0.8.4","to":"v0.8.5","loc":52,"days":0.12,"loc_per_day":449.0,"flagged":false},{"from":"v0.8.5","to":"v0.8.6","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v0.8.6","to":"v0.8.7","loc":1771,"days":1.3,"loc_per_day":1358.1,"flagged":false},{"from":"v0.8.7","to":"v0.8.8","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v0.8.8","to":"v0.8.9","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v0.8.9","to":"v0.8.10","loc":28,"days":0.49,"loc_per_day":57.7,"flagged":false},{"from":"v0.8.10","to":"v0.8.11","loc":3,"days":0.09,"loc_per_day":34.6,"flagged":false},{"from":"v0.8.11","to":"v0.8.12","loc":107,"days":0.05,"loc_per_day":2334.0,"flagged":false},{"from":"v0.8.12","to":"v0.8.13","loc":584,"days":0.1,"loc_per_day":6110.1,"flagged":false},{"from":"v0.8.13","to":"v0.8.14","loc":173,"days":0.15,"loc_per_day":1127.4,"flagged":false},{"from":"v0.8.14","to":"v0.8.15","loc":7,"days":0.09,"loc_per_day":76.2,"flagged":false},{"from":"v0.8.15","to":"v0.8.16","loc":0,"days":0.34,"loc_per_day":0.0,"flagged":false},{"from":"v0.8.16","to":"v0.8.17","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v0.8.17","to":"v0.9.0","loc":7872,"days":116.6,"loc_per_day":67.5,"flagged":false},{"from":"v0.9.0","to":"v0.9.1","loc":492,"days":1.53,"loc_per_day":322.0,"flagged":false},{"from":"v0.9.1","to":"v0.9.2","loc":4,"days":0.04,"loc_per_day":96.0,"flagged":false},{"from":"v0.9.2","to":"v0.9.3","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v0.9.3","to":"v0.9.4","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v0.9.4","to":"v0.9.5","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v0.9.5","to":"v0.9.6","loc":0,"days":10.2,"loc_per_day":0.0,"flagged":false},{"from":"v0.9.6","to":"v0.9.7","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v0.9.7","to":"v0.9.8","loc":3737,"days":0.3,"loc_per_day":12570.1,"flagged":false},{"from":"v0.9.8","to":"v0.9.9","loc":230,"days":0.43,"loc_per_day":539.0,"flagged":false},{"from":"v0.9.9","to":"v0.9.10","loc":665,"days":0.13,"loc_per_day":5251.9,"flagged":false},{"from":"v0.9.10","to":"v0.9.11","loc":78,"days":0.13,"loc_per_day":600.2,"flagged":false},{"from":"v0.9.11","to":"v0.10.0","loc":884,"days":1.82,"loc_per_day":487.0,"flagged":false},{"from":"v0.10.0","to":"v0.11.0","loc":422,"days":0.15,"loc_per_day":2831.7,"flagged":false},{"from":"v0.11.0","to":"v0.12.0","loc":200,"days":0.12,"loc_per_day":1711.1,"flagged":false},{"from":"v0.12.0","to":"v0.12.1","loc":43,"days":0.66,"loc_per_day":65.1,"flagged":false},{"from":"v0.12.1","to":"v0.12.2","loc":0,"days":9.88,"loc_per_day":0.0,"flagged":false},{"from":"v0.12.2","to":"v0.12.3","loc":0,"days":4.61,"loc_per_day":0.0,"flagged":false},{"from":"v0.12.3","to":"v0.12.4","loc":0,"days":6.08,"loc_per_day":0.0,"flagged":false},{"from":"v0.12.4","to":"v0.12.5","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v0.12.5","to":"v0.12.6","loc":0,"days":6.67,"loc_per_day":0.0,"flagged":false},{"from":"v0.12.6","to":"v0.12.7","loc":0,"days":10.67,"loc_per_day":0.0,"flagged":false},{"from":"v0.12.7","to":"v0.12.8","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v0.12.8","to":"v0.12.9","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v0.12.9","to":"v0.12.10","loc":0,"days":18.59,"loc_per_day":0.0,"flagged":false},{"from":"v0.12.10","to":"v0.12.11","loc":0,"days":7.31,"loc_per_day":0.0,"flagged":false},{"from":"v0.12.11","to":"v0.12.12","loc":11,"days":10.57,"loc_per_day":1.0,"flagged":false},{"from":"v0.12.12","to":"v0.12.13","loc":0,"days":1.0,"loc_per_day":0.0,"flagged":false},{"from":"v0.12.13","to":"v0.12.14","loc":0,"days":0.77,"loc_per_day":0.0,"flagged":false},{"from":"v0.12.14","to":"v0.12.15","loc":0,"days":0.25,"loc_per_day":0.0,"flagged":false},{"from":"v0.12.15","to":"v0.12.16","loc":235,"days":7.16,"loc_per_day":32.8,"flagged":false},{"from":"v0.12.16","to":"v0.12.17","loc":0,"days":0.32,"loc_per_day":0.0,"flagged":false},{"from":"v0.12.17","to":"v0.12.18","loc":52,"days":0.23,"loc_per_day":226.2,"flagged":false},{"from":"v0.12.18","to":"v0.12.19","loc":163,"days":10.22,"loc_per_day":16.0,"flagged":false},{"from":"v0.12.19","to":"v0.13.0","loc":0,"days":0.8,"loc_per_day":0.0,"flagged":false},{"from":"v0.13.0","to":"v0.13.1","loc":324,"days":0.81,"loc_per_day":399.3,"flagged":false},{"from":"v0.13.1","to":"v0.14.0","loc":760,"days":0.97,"loc_per_day":784.0,"flagged":false},{"from":"v0.14.0","to":"v0.14.1","loc":1665,"days":0.13,"loc_per_day":12839.7,"flagged":false},{"from":"v0.14.1","to":"v0.14.2","loc":0,"days":7.46,"loc_per_day":0.0,"flagged":false},{"from":"v0.14.2","to":"v0.14.3","loc":0,"days":3.92,"loc_per_day":0.0,"flagged":false},{"from":"v0.14.3","to":"v0.14.4","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v0.14.4","to":"v0.14.5","loc":2462,"days":23.76,"loc_per_day":103.6,"flagged":false},{"from":"v0.14.5","to":"v0.14.6","loc":17,"days":0.04,"loc_per_day":408.0,"flagged":false},{"from":"v0.14.6","to":"v0.14.7","loc":56,"days":4.83,"loc_per_day":11.6,"flagged":false},{"from":"v0.14.7","to":"v0.14.8","loc":50,"days":0.23,"loc_per_day":220.7,"flagged":false}]},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":178407.0,"index":0.129,"count:narrated_steps":4.0,"per_kloc:narrated_steps":0.022,"files:narrated_steps":2.0,"count:placeholder":0.0,"per_kloc:placeholder":0.0,"files:placeholder":0.0,"count:emoji_in_code":38.0,"per_kloc:emoji_in_code":0.213,"files:emoji_in_code":23.0,"count:assistant_voice":0.0,"per_kloc:assistant_voice":0.0,"files:assistant_voice":0.0},"findings":[],"evidence":[{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // First, check for new format (directory)","ref":"internal/plugins/loader.go:202","url":"https://github.com/tj-smith47/shelly-cli/blob/593a9e2bfbb9e436f4830a64d8270dc86239d698/internal/plugins/loader.go#L202","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // STEP 1: Determine effective mode from focusState or visibility checks","ref":"internal/tui/app.go:817","url":"https://github.com/tj-smith47/shelly-cli/blob/593a9e2bfbb9e436f4830a64d8270dc86239d698/internal/tui/app.go#L817","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // STEP 2: Get context and convert key to action","ref":"internal/tui/app.go:820","url":"https://github.com/tj-smith47/shelly-cli/blob/593a9e2bfbb9e436f4830a64d8270dc86239d698/internal/tui/app.go#L820","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // STEP 3: Route based on focus mode","ref":"internal/tui/app.go:824","url":"https://github.com/tj-smith47/shelly-cli/blob/593a9e2bfbb9e436f4830a64d8270dc86239d698/internal/tui/app.go#L824","weight":0.0}],"data":{},"error":null},{"analyzer":"sec-secrets","pillar":"security","status":"ok","tool_version":"gitleaks 8.30.1","metrics":{"secrets_current":0.0,"secrets_history":1.0,"secrets_nonprod":9.0,"secrets_low_confidence":2.0},"findings":[{"rule_id":"gitleaks/curl-auth-user","severity":"low","message":"Possible curl-auth-user secret in the current tree (test/docs/example file)","path":"docs/site/content/docs/getting-started/first-device.md","line":188,"fingerprint":"docs/site/content/docs/getting-started/first-device.md:curl-auth-user:188"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":"internal/cmd/cloud/control/control_test.go","line":18,"fingerprint":"internal/cmd/cloud/control/control_test.go:generic-api-key:18"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":"internal/cmd/cloud/devices/devices_test.go","line":20,"fingerprint":"internal/cmd/cloud/devices/devices_test.go:generic-api-key:20"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":"internal/cmd/cloud/authstatus/authstatus_test.go","line":19,"fingerprint":"internal/cmd/cloud/authstatus/authstatus_test.go:generic-api-key:19"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":"internal/shelly/automation/automation_test.go","line":435,"fingerprint":"internal/shelly/automation/automation_test.go:generic-api-key:435"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree","path":"internal/tui/app.go","line":1484,"fingerprint":"internal/tui/app.go:generic-api-key:1484"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree","path":"internal/tui/views/manage.go","line":321,"fingerprint":"internal/tui/views/manage.go:generic-api-key:321"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":"internal/shelly/network/network_test.go","line":1505,"fingerprint":"internal/shelly/network/network_test.go:generic-api-key:1505"},{"rule_id":"gitleaks/curl-auth-user","severity":"medium","message":"Possible curl-auth-user secret in history (commit 541f71daaf); removed from the current tree but still retrievable","path":"search-index.json","line":1,"fingerprint":"541f71daaf392cc19d0dbb9f5c89359c59e7ffc2:search-index.json:curl-auth-user:1"},{"rule_id":"gitleaks/curl-auth-user","severity":"low","message":"Possible curl-auth-user secret in history (commit 74a25f0644); removed from the current tree but still retrievable","path":"docs/getting-started/first-device/index.html","line":75,"fingerprint":"74a25f064456058c07e137f001b002f169c9d629:docs/getting-started/first-device/index.html:curl-auth-user:75"},{"rule_id":"gitleaks/curl-auth-user","severity":"low","message":"Possible curl-auth-user secret in history (commit ca0c7dd1e3); removed from the current tree but still retrievable","path":"docs/site/public/search-index.json","line":1,"fingerprint":"ca0c7dd1e32f43c6f75c7642eda3ad6a6d727e78:docs/site/public/search-index.json:curl-auth-user:1"},{"rule_id":"gitleaks/curl-auth-user","severity":"low","message":"Possible curl-auth-user secret in history (commit e333dc46b6); removed from the current tree but still retrievable","path":"docs/site/public/docs/getting-started/first-device/index.html","line":81,"fingerprint":"e333dc46b650ca75ba2a8a809942eabe15907879:docs/site/public/docs/getting-started/first-device/index.html:curl-auth-user:81"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-sast","pillar":"security","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":23.0,"findings_high":14.0,"findings_medium":9.0,"findings_low":0.0,"weighted_findings":13.8,"scanned_lines":178137.0,"parse_errors":0.0},"findings":[{"rule_id":"opengrep/javascript.lang.security.detect-insecure-websocket","severity":"high","message":"Insecure WebSocket Detected. WebSocket Secure (wss) should be used for all WebSocket connections. [confidence low]","path":"docs/man/shelly-debug-websocket.1","line":20,"fingerprint":"javascript.lang.security.detect-insecure-websocket:docs/man/shelly-debug-websocket.1:20"},{"rule_id":"opengrep/go.lang.security.audit.dangerous-exec-command","severity":"high","message":"Detected non-static command inside Command. Audit the input to 'exec.Command'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute arbitrary code. [confidence low]","path":"internal/cmd/config/edit/edit.go","line":80,"fingerprint":"go.lang.security.audit.dangerous-exec-command:internal/cmd/config/edit/edit.go:80"},{"rule_id":"opengrep/javascript.lang.security.detect-insecure-websocket","severity":"high","message":"Insecure WebSocket Detected. WebSocket Secure (wss) should be used for all WebSocket connections. [confidence low]","path":"internal/cmd/debug/websocket/websocket.go","line":46,"fingerprint":"javascript.lang.security.detect-insecure-websocket:internal/cmd/debug/websocket/websocket.go:46"},{"rule_id":"opengrep/javascript.lang.security.detect-insecure-websocket","severity":"high","message":"Insecure WebSocket Detected. WebSocket Secure (wss) should be used for all WebSocket connections. [confidence low]","path":"internal/cmd/debug/websocket/websocket.go","line":97,"fingerprint":"javascript.lang.security.detect-insecure-websocket:internal/cmd/debug/websocket/websocket.go:97"},{"rule_id":"opengrep/go.lang.security.audit.dangerous-exec-command","severity":"high","message":"Detected non-static command inside Command. Audit the input to 'exec.Command'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute arbitrary code. [confidence low]","path":"internal/config/aliases.go","line":212,"fingerprint":"go.lang.security.audit.dangerous-exec-command:internal/config/aliases.go:212"},{"rule_id":"opengrep/go.lang.security.audit.dangerous-exec-command","severity":"high","message":"Detected non-static command inside Command. Audit the input to 'exec.Command'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute arbitrary code. [confidence low]","path":"internal/plugins/executor.go","line":30,"fingerprint":"go.lang.security.audit.dangerous-exec-command:internal/plugins/executor.go:30"},{"rule_id":"opengrep/go.lang.security.audit.dangerous-exec-command","severity":"high","message":"Detected non-static command inside Command. Audit the input to 'exec.Command'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute arbitrary code. [confidence low]","path":"internal/plugins/executor.go","line":50,"fingerprint":"go.lang.security.audit.dangerous-exec-command:internal/plugins/executor.go:50"},{"rule_id":"opengrep/go.lang.security.audit.dangerous-exec-command","severity":"high","message":"Detected non-static command inside Command. Audit the input to 'exec.Command'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute arbitrary code. [confidence low]","path":"internal/plugins/hooks.go","line":188,"fingerprint":"go.lang.security.audit.dangerous-exec-command:internal/plugins/hooks.go:188"},{"rule_id":"opengrep/go.lang.security.audit.dangerous-exec-command","severity":"high","message":"Detected non-static command inside Command. Audit the input to 'exec.Command'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute arbitrary code. [confidence low]","path":"internal/plugins/loader.go","line":256,"fingerprint":"go.lang.security.audit.dangerous-exec-command:internal/plugins/loader.go:256"},{"rule_id":"opengrep/go.lang.security.audit.dangerous-exec-command","severity":"high","message":"Detected non-static command inside Command. Audit the input to 'exec.Command'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute arbitrary code. [confidence low]","path":"internal/shelly/alert.go","line":341,"fingerprint":"go.lang.security.audit.dangerous-exec-command:internal/shelly/alert.go:341"},{"rule_id":"opengrep/javascript.lang.security.detect-insecure-websocket","severity":"high","message":"Insecure WebSocket Detected. WebSocket Secure (wss) should be used for all WebSocket connections. [confidence low]","path":"internal/shelly/automation/events.go","line":145,"fingerprint":"javascript.lang.security.detect-insecure-websocket:internal/shelly/automation/events.go:145"},{"rule_id":"opengrep/javascript.lang.security.detect-insecure-websocket","severity":"high","message":"Insecure WebSocket Detected. WebSocket Secure (wss) should be used for all WebSocket connections. [confidence low]","path":"internal/shelly/monitoring/snapshot.go","line":174,"fingerprint":"javascript.lang.security.detect-insecure-websocket:internal/shelly/monitoring/snapshot.go:174"},{"rule_id":"opengrep/javascript.lang.security.detect-insecure-websocket","severity":"high","message":"Insecure WebSocket Detected. WebSocket Secure (wss) should be used for all WebSocket connections. [confidence low]","path":"internal/testutil/wsdevice.go","line":22,"fingerprint":"javascript.lang.security.detect-insecure-websocket:internal/testutil/wsdevice.go:22"},{"rule_id":"opengrep/go.lang.security.audit.dangerous-exec-command","severity":"high","message":"Detected non-static command inside Command. Audit the input to 'exec.Command'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute arbitrary code. [confidence low]","path":"internal/tui/components/scripts/editor.go","line":608,"fingerprint":"go.lang.security.audit.dangerous-exec-command:internal/tui/components/scripts/editor.go:608"},{"rule_id":"opengrep/go.lang.security.audit.xss.no-direct-write-to-responsewriter","severity":"medium","message":"Detected directly writing or similar in 'http.ResponseWriter.write()'. This bypasses HTML escaping that prevents cross-site scripting vulnerabilities. Instead, use the 'html/template' package and render data using 'template.Execute()'. [confidence low]","path":"internal/cmd/metrics/prometheus/prometheus.go","line":127,"fingerprint":"go.lang.security.audit.xss.no-direct-write-to-responsewriter:internal/cmd/metrics/prometheus/prometheus.go:127"},{"rule_id":"opengrep/go.lang.security.audit.xss.no-fprintf-to-responsewriter","severity":"medium","message":"Detected 'Fprintf' or similar writing to 'http.ResponseWriter'. This bypasses HTML escaping that prevents cross-site scripting vulnerabilities. Instead, use the 'html/template' package to render data to users. [confidence low]","path":"internal/cmd/metrics/prometheus/prometheus.go","line":133,"fingerprint":"go.lang.security.audit.xss.no-fprintf-to-responsewriter:internal/cmd/metrics/prometheus/prometheus.go:133"},{"rule_id":"opengrep/go.gorilla.security.audit.websocket-missing-origin-check","severity":"medium","message":"The Origin header in the HTTP WebSocket handshake is used to guarantee that the connection accepted by the WebSocket is from a trusted origin domain. Failure to enforce can lead to Cross Site Request Forgery (CSRF). As per \"gorilla/websocket\" documentation: \"A CheckOrigin function should carefully v [confidence medium]","path":"internal/mock/server.go","line":1933,"fingerprint":"go.gorilla.security.audit.websocket-missing-origin-check:internal/mock/server.go:1933"},{"rule_id":"opengrep/go.lang.security.audit.xss.import-text-template","severity":"medium","message":"When working with web applications that involve rendering user-generated  content, it's important to properly escape any HTML content to prevent  Cross-Site Scripting (XSS) attacks. In Go, the `text/template` package does  not automatically escape HTML content, which can leave your application  vuln [confidence low]","path":"internal/output/tmplfmt/template.go","line":8,"fingerprint":"go.lang.security.audit.xss.import-text-template:internal/output/tmplfmt/template.go:8"},{"rule_id":"opengrep/go.lang.security.audit.xss.import-text-template","severity":"medium","message":"When working with web applications that involve rendering user-generated  content, it's important to properly escape any HTML content to prevent  Cross-Site Scripting (XSS) attacks. In Go, the `text/template` package does  not automatically escape HTML content, which can leave your application  vuln [confidence low]","path":"internal/shelly/export/terraform.go","line":6,"fingerprint":"go.lang.security.audit.xss.import-text-template:internal/shelly/export/terraform.go:6"},{"rule_id":"opengrep/go.lang.security.audit.crypto.math-random-used","severity":"medium","message":"Do not use `math/rand`. Use `crypto/rand` instead. [confidence medium]","path":"internal/shelly/quick.go","line":7,"fingerprint":"go.lang.security.audit.crypto.math-random-used:internal/shelly/quick.go:7"},{"rule_id":"opengrep/go.lang.security.audit.crypto.math-random-used","severity":"medium","message":"Do not use `math/rand`. Use `crypto/rand` instead. [confidence medium]","path":"internal/tui/cache/cache.go","line":8,"fingerprint":"go.lang.security.audit.crypto.math-random-used:internal/tui/cache/cache.go:8"},{"rule_id":"opengrep/go.lang.security.audit.xss.no-direct-write-to-responsewriter","severity":"medium","message":"Detected directly writing or similar in 'http.ResponseWriter.write()'. This bypasses HTML escaping that prevents cross-site scripting vulnerabilities. Instead, use the 'html/template' package and render data using 'template.Execute()'. [confidence low]","path":"internal/webhook/server.go","line":109,"fingerprint":"go.lang.security.audit.xss.no-direct-write-to-responsewriter:internal/webhook/server.go:109"},{"rule_id":"opengrep/go.lang.security.audit.xss.no-printf-in-responsewriter","severity":"medium","message":"Detected 'printf' or similar in 'http.ResponseWriter.write()'. This bypasses HTML escaping that prevents cross-site scripting vulnerabilities. Instead, use the 'html/template' package to render data to users. [confidence low]","path":"internal/webhook/server.go","line":109,"fingerprint":"go.lang.security.audit.xss.no-printf-in-responsewriter:internal/webhook/server.go:109"}],"evidence":[],"data":{"rulesets":["go","bash","javascript","dockerfile"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"ok","tool_version":"osv-scanner version: 2.7.1","metrics":{"vulnerable_packages":6.0,"vulnerabilities":16.0,"vulns_critical":0.0,"vulns_high":1.0,"vulns_medium":3.0,"vulns_low":0.0,"vulns_unknown":12.0,"penalty":23.0},"findings":[{"rule_id":"osv/GHSA-r5fr-rjxr-66jc","severity":"high","message":"lodash@4.17.21 (npm) is affected by GHSA-r5fr-rjxr-66jc","path":"docs/site/package-lock.json","line":null,"fingerprint":"lodash@4.17.21 (npm):GHSA-r5fr-rjxr-66jc"},{"rule_id":"osv/GHSA-3g3m-2fjr-6pw4","severity":"medium","message":"glob@13.0.6 (npm) is affected by GHSA-3g3m-2fjr-6pw4","path":"docs/site/package-lock.json","line":null,"fingerprint":"glob@13.0.6 (npm):GHSA-3g3m-2fjr-6pw4"},{"rule_id":"osv/GHSA-xxjr-mmjv-4gpg","severity":"medium","message":"lodash@4.17.21 (npm) is affected by GHSA-xxjr-mmjv-4gpg","path":"docs/site/package-lock.json","line":null,"fingerprint":"lodash@4.17.21 (npm):GHSA-xxjr-mmjv-4gpg"},{"rule_id":"osv/GHSA-g3hv-75wg-m249","severity":"medium","message":"minimatch@10.2.6 (npm) is affected by GHSA-g3hv-75wg-m249","path":"docs/site/package-lock.json","line":null,"fingerprint":"minimatch@10.2.6 (npm):GHSA-g3hv-75wg-m249"},{"rule_id":"osv/GO-2026-5932","severity":"medium","message":"golang.org/x/crypto@0.54.0 (Go) is affected by GO-2026-5932","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.54.0 (Go):GO-2026-5932"},{"rule_id":"osv/GO-2026-6303","severity":"medium","message":"golang.org/x/crypto@0.54.0 (Go) is affected by GO-2026-6303","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.54.0 (Go):GO-2026-6303"},{"rule_id":"osv/GO-2026-6354","severity":"medium","message":"golang.org/x/crypto@0.54.0 (Go) is affected by GO-2026-6354","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.54.0 (Go):GO-2026-6354"},{"rule_id":"osv/GO-2026-6355","severity":"medium","message":"golang.org/x/crypto@0.54.0 (Go) is affected by GO-2026-6355","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.54.0 (Go):GO-2026-6355"},{"rule_id":"osv/GO-2026-6603","severity":"medium","message":"golang.org/x/net@0.56.0 (Go) is affected by GO-2026-6603","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.56.0 (Go):GO-2026-6603"},{"rule_id":"osv/GO-2026-6610","severity":"medium","message":"golang.org/x/net@0.56.0 (Go) is affected by GO-2026-6610","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.56.0 (Go):GO-2026-6610"},{"rule_id":"osv/GO-2026-6611","severity":"medium","message":"golang.org/x/net@0.56.0 (Go) is affected by GO-2026-6611","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.56.0 (Go):GO-2026-6611"},{"rule_id":"osv/GO-2026-6612","severity":"medium","message":"golang.org/x/net@0.56.0 (Go) is affected by GO-2026-6612","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.56.0 (Go):GO-2026-6612"},{"rule_id":"osv/GO-2026-6617","severity":"medium","message":"golang.org/x/net@0.56.0 (Go) is affected by GO-2026-6617","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.56.0 (Go):GO-2026-6617"},{"rule_id":"osv/GO-2026-6860","severity":"medium","message":"golang.org/x/net@0.56.0 (Go) is affected by GO-2026-6860","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.56.0 (Go):GO-2026-6860"},{"rule_id":"osv/GO-2026-6866","severity":"medium","message":"golang.org/x/net@0.56.0 (Go) is affected by GO-2026-6866","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.56.0 (Go):GO-2026-6866"},{"rule_id":"osv/GO-2026-6629","severity":"medium","message":"golang.org/x/text@0.40.0 (Go) is affected by GO-2026-6629","path":"go.mod","line":null,"fingerprint":"golang.org/x/text@0.40.0 (Go):GO-2026-6629"}],"evidence":[],"data":{"ecosystems":["Go","npm"]},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"ok","tool_version":"zizmor 1.32.0","metrics":{"workflows":5.0,"findings":100.0,"findings_high":72.0,"findings_medium":1.0,"findings_low":27.0,"penalty":825.7},"findings":[{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/auto-tag.yml","line":27,"fingerprint":"unpinned-uses:.github/workflows/auto-tag.yml:27"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/auto-tag.yml","line":32,"fingerprint":"unpinned-uses:.github/workflows/auto-tag.yml:32"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/ci.yml","line":11,"fingerprint":"excessive-permissions:.github/workflows/ci.yml:11"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":28,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:28"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":31,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:31"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":37,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:37"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":50,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:50"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":53,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:53"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":59,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:59"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":76,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:76"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":79,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:79"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":85,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:85"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":91,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:91"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":102,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:102"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":105,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:105"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":117,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:117"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":120,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:120"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":126,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:126"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":131,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:131"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/docs.yml","line":34,"fingerprint":"excessive-permissions:.github/workflows/docs.yml:34"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/docs.yml","line":35,"fingerprint":"excessive-permissions:.github/workflows/docs.yml:35"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/docs.yml","line":36,"fingerprint":"excessive-permissions:.github/workflows/docs.yml:36"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/docs.yml","line":58,"fingerprint":"unpinned-uses:.github/workflows/docs.yml:58"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/docs.yml","line":61,"fingerprint":"unpinned-uses:.github/workflows/docs.yml:61"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/docs.yml","line":67,"fingerprint":"unpinned-uses:.github/workflows/docs.yml:67"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/docs.yml","line":148,"fingerprint":"unpinned-uses:.github/workflows/docs.yml:148"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/docs.yml","line":168,"fingerprint":"unpinned-uses:.github/workflows/docs.yml:168"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/docs.yml","line":174,"fingerprint":"unpinned-uses:.github/workflows/docs.yml:174"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/docs.yml","line":199,"fingerprint":"unpinned-uses:.github/workflows/docs.yml:199"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/docs.yml","line":214,"fingerprint":"unpinned-uses:.github/workflows/docs.yml:214"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/docs.yml","line":220,"fingerprint":"unpinned-uses:.github/workflows/docs.yml:220"},{"rule_id":"zizmor/cache-poisoning","severity":"high","message":"runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low]","path":".github/workflows/docs.yml","line":61,"fingerprint":"cache-poisoning:.github/workflows/docs.yml:61"},{"rule_id":"zizmor/cache-poisoning","severity":"high","message":"runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low]","path":".github/workflows/docs.yml","line":174,"fingerprint":"cache-poisoning:.github/workflows/docs.yml:174"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/goreleaser-pro.yml","line":27,"fingerprint":"excessive-permissions:.github/workflows/goreleaser-pro.yml:27"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/goreleaser-pro.yml","line":29,"fingerprint":"excessive-permissions:.github/workflows/goreleaser-pro.yml:29"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/goreleaser-pro.yml","line":69,"fingerprint":"unpinned-uses:.github/workflows/goreleaser-pro.yml:69"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/goreleaser-pro.yml","line":74,"fingerprint":"unpinned-uses:.github/workflows/goreleaser-pro.yml:74"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/goreleaser-pro.yml","line":91,"fingerprint":"unpinned-uses:.github/workflows/goreleaser-pro.yml:91"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/goreleaser-pro.yml","line":105,"fingerprint":"unpinned-uses:.github/workflows/goreleaser-pro.yml:105"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/goreleaser-pro.yml","line":119,"fingerprint":"unpinned-uses:.github/workflows/goreleaser-pro.yml:119"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/goreleaser-pro.yml","line":124,"fingerprint":"unpinned-uses:.github/workflows/goreleaser-pro.yml:124"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/goreleaser-pro.yml","line":130,"fingerprint":"unpinned-uses:.github/workflows/goreleaser-pro.yml:130"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/goreleaser-pro.yml","line":133,"fingerprint":"unpinned-uses:.github/workflows/goreleaser-pro.yml:133"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/goreleaser-pro.yml","line":136,"fingerprint":"unpinned-uses:.github/workflows/goreleaser-pro.yml:136"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/goreleaser-pro.yml","line":143,"fingerprint":"unpinned-uses:.github/workflows/goreleaser-pro.yml:143"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/goreleaser-pro.yml","line":150,"fingerprint":"unpinned-uses:.github/workflows/goreleaser-pro.yml:150"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/goreleaser-pro.yml","line":154,"fingerprint":"unpinned-uses:.github/workflows/goreleaser-pro.yml:154"},{"rule_id":"zizmor/cache-poisoning","severity":"high","message":"runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low]","path":".github/workflows/goreleaser-pro.yml","line":74,"fingerprint":"cache-poisoning:.github/workflows/goreleaser-pro.yml:74"},{"rule_id":"zizmor/cache-poisoning","severity":"high","message":"runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low]","path":".github/workflows/goreleaser-pro.yml","line":124,"fingerprint":"cache-poisoning:.github/workflows/goreleaser-pro.yml:124"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/release.yml","line":30,"fingerprint":"excessive-permissions:.github/workflows/release.yml:30"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/release.yml","line":32,"fingerprint":"excessive-permissions:.github/workflows/release.yml:32"},{"rule_id":"zizmor/dangerous-triggers","severity":"high","message":"use of fundamentally insecure workflow trigger [confidence medium]","path":".github/workflows/release.yml","line":17,"fingerprint":"dangerous-triggers:.github/workflows/release.yml:17"},{"rule_id":"zizmor/template-injection","severity":"high","message":"code injection via template expansion [confidence high]","path":".github/workflows/release.yml","line":59,"fingerprint":"template-injection:.github/workflows/release.yml:59"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":50,"fingerprint":"unpinned-uses:.github/workflows/release.yml:50"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":118,"fingerprint":"unpinned-uses:.github/workflows/release.yml:118"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":123,"fingerprint":"unpinned-uses:.github/workflows/release.yml:123"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":200,"fingerprint":"unpinned-uses:.github/workflows/release.yml:200"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":215,"fingerprint":"unpinned-uses:.github/workflows/release.yml:215"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":218,"fingerprint":"unpinned-uses:.github/workflows/release.yml:218"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":224,"fingerprint":"unpinned-uses:.github/workflows/release.yml:224"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":237,"fingerprint":"unpinned-uses:.github/workflows/release.yml:237"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":240,"fingerprint":"unpinned-uses:.github/workflows/release.yml:240"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":243,"fingerprint":"unpinned-uses:.github/workflows/release.yml:243"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":250,"fingerprint":"unpinned-uses:.github/workflows/release.yml:250"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":276,"fingerprint":"unpinned-uses:.github/workflows/release.yml:276"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":279,"fingerprint":"unpinned-uses:.github/workflows/release.yml:279"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":301,"fingerprint":"unpinned-uses:.github/workflows/release.yml:301"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":372,"fingerprint":"unpinned-uses:.github/workflows/release.yml:372"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":378,"fingerprint":"unpinned-uses:.github/workflows/release.yml:378"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":384,"fingerprint":"unpinned-uses:.github/workflows/release.yml:384"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":390,"fingerprint":"unpinned-uses:.github/workflows/release.yml:390"},{"rule_id":"zizmor/cache-poisoning","severity":"high","message":"runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low]","path":".github/workflows/release.yml","line":123,"fingerprint":"cache-poisoning:.github/workflows/release.yml:123"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence high]","path":".github/workflows/ci.yml","line":12,"fingerprint":"excessive-permissions:.github/workflows/ci.yml:12"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/auto-tag.yml","line":26,"fingerprint":"artipacked:.github/workflows/auto-tag.yml:26"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":27,"fingerprint":"artipacked:.github/workflows/ci.yml:27"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":49,"fingerprint":"artipacked:.github/workflows/ci.yml:49"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":75,"fingerprint":"artipacked:.github/workflows/ci.yml:75"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":101,"fingerprint":"artipacked:.github/workflows/ci.yml:101"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":116,"fingerprint":"artipacked:.github/workflows/ci.yml:116"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/docs.yml","line":57,"fingerprint":"artipacked:.github/workflows/docs.yml:57"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/docs.yml","line":147,"fingerprint":"artipacked:.github/workflows/docs.yml:147"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/docs.yml","line":219,"fingerprint":"artipacked:.github/workflows/docs.yml:219"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/goreleaser-pro.yml","line":68,"fingerprint":"artipacked:.github/workflows/goreleaser-pro.yml:68"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/goreleaser-pro.yml","line":118,"fingerprint":"artipacked:.github/workflows/goreleaser-pro.yml:118"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release.yml","line":49,"fingerprint":"artipacked:.github/workflows/release.yml:49"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release.yml","line":117,"fingerprint":"artipacked:.github/workflows/release.yml:117"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release.yml","line":214,"fingerprint":"artipacked:.github/workflows/release.yml:214"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release.yml","line":275,"fingerprint":"artipacked:.github/workflows/release.yml:275"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/docs.yml","line":101,"fingerprint":"template-injection:.github/workflows/docs.yml:101"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/docs.yml","line":191,"fingerprint":"template-injection:.github/workflows/docs.yml:191"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/docs.yml","line":243,"fingerprint":"template-injection:.github/workflows/docs.yml:243"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/docs.yml","line":244,"fingerprint":"template-injection:.github/workflows/docs.yml:244"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/docs.yml","line":295,"fingerprint":"template-injection:.github/workflows/docs.yml:295"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/release.yml","line":143,"fingerprint":"template-injection:.github/workflows/release.yml:143"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/release.yml","line":297,"fingerprint":"template-injection:.github/workflows/release.yml:297"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/release.yml","line":298,"fingerprint":"template-injection:.github/workflows/release.yml:298"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/release.yml","line":309,"fingerprint":"template-injection:.github/workflows/release.yml:309"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/release.yml","line":310,"fingerprint":"template-injection:.github/workflows/release.yml:310"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/release.yml","line":399,"fingerprint":"template-injection:.github/workflows/release.yml:399"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/release.yml","line":400,"fingerprint":"template-injection:.github/workflows/release.yml:400"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-posture","pillar":"security","status":"ok","tool_version":null,"metrics":{"check:security_policy":1.0,"check:dependency_updates":1.0,"check:signed_commits":1.0,"check:lockfiles":0.0,"signed_commit_share":1.0,"unpinned_manifests":1.0},"findings":[],"evidence":[{"kind":"posture","description":"Security policy: SECURITY.md","ref":"SECURITY.md","url":null,"weight":0.0},{"kind":"posture","description":"Dependency updates: .github/dependabot.yml","ref":".github/dependabot.yml","url":null,"weight":0.0},{"kind":"posture","description":"docs/site/go.mod has no lockfile alongside it (unpinned dependencies)","ref":"docs/site/go.mod","url":null,"weight":0.3}],"data":{},"error":null},{"analyzer":"sec-distribution","pillar":"security","status":"ok","tool_version":null,"metrics":{"signals":1.0,"binary_assets":60.0,"suspicious":0.0},"findings":[],"evidence":[{"kind":"binary-release-asset","description":"release v0.14.7 ships shelly_0.14.7_source.tar.gz (1 downloads)","ref":"shelly_0.14.7_source.tar.gz","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.7/shelly_0.14.7_source.tar.gz","weight":0.0},{"kind":"binary-release-asset","description":"release v0.14.7 ships shelly_darwin_amd64.tar.gz (1 downloads)","ref":"shelly_darwin_amd64.tar.gz","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.7/shelly_darwin_amd64.tar.gz","weight":0.0},{"kind":"binary-release-asset","description":"release v0.14.7 ships shelly_darwin_arm64.tar.gz (1 downloads)","ref":"shelly_darwin_arm64.tar.gz","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.7/shelly_darwin_arm64.tar.gz","weight":0.0},{"kind":"binary-release-asset","description":"release v0.14.7 ships shelly_linux_amd64.tar.gz (1 downloads)","ref":"shelly_linux_amd64.tar.gz","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.7/shelly_linux_amd64.tar.gz","weight":0.0},{"kind":"binary-release-asset","description":"release v0.14.7 ships shelly_linux_arm64.tar.gz (1 downloads)","ref":"shelly_linux_arm64.tar.gz","url":"https://github.com/tj-smith47/shelly-cli/releases/download/v0.14.7/shelly_linux_arm64.tar.gz","weight":0.0}],"data":{"signals":["binary-release-assets"],"suspicious":false,"unusual_traction":false,"metadata":true},"error":null},{"analyzer":"qual-complexity","pillar":"quality","status":"ok","tool_version":"lizard 1.25.1","metrics":{"functions":9294.0,"function_nloc":113703.0,"mean_ccn":2.83,"p90_ccn":6.0,"complex_functions":7.0,"long_functions":8.0,"many_param_functions":15.0,"risky_nloc_share":0.0182},"findings":[],"evidence":[{"kind":"complex-function","description":"handleGen2RPC in internal/mock/server.go: complexity 148, 558 lines","ref":"internal/mock/server.go","url":"https://github.com/tj-smith47/shelly-cli/blob/593a9e2bfbb9e436f4830a64d8270dc86239d698/internal/mock/server.go#L221","weight":1.0},{"kind":"complex-function","description":"run in internal/cmd/cloud/login/login.go: complexity 45, 165 lines","ref":"internal/cmd/cloud/login/login.go","url":"https://github.com/tj-smith47/shelly-cli/blob/593a9e2bfbb9e436f4830a64d8270dc86239d698/internal/cmd/cloud/login/login.go#L108","weight":0.75},{"kind":"complex-function","description":"run in internal/cmd/discover/discover.go: complexity 27, 83 lines","ref":"internal/cmd/discover/discover.go","url":"https://github.com/tj-smith47/shelly-cli/blob/593a9e2bfbb9e436f4830a64d8270dc86239d698/internal/cmd/discover/discover.go#L132","weight":0.45},{"kind":"complex-function","description":"run in internal/cmd/cache/clearcmd/clear.go: complexity 25, 75 lines","ref":"internal/cmd/cache/clearcmd/clear.go","url":"https://github.com/tj-smith47/shelly-cli/blob/593a9e2bfbb9e436f4830a64d8270dc86239d698/internal/cmd/cache/clearcmd/clear.go#L72","weight":0.4166666666666667},{"kind":"complex-function","description":"run in internal/cmd/firmware/update/update.go: complexity 18, 95 lines","ref":"internal/cmd/firmware/update/update.go","url":"https://github.com/tj-smith47/shelly-cli/blob/593a9e2bfbb9e436f4830a64d8270dc86239d698/internal/cmd/firmware/update/update.go#L100","weight":0.3},{"kind":"complex-function","description":"Format in internal/output/format.go: complexity 17, 41 lines","ref":"internal/output/format.go","url":"https://github.com/tj-smith47/shelly-cli/blob/593a9e2bfbb9e436f4830a64d8270dc86239d698/internal/output/format.go#L1018","weight":0.2833333333333333},{"kind":"complex-function","description":"run in internal/cmd/fleet/status/status.go: complexity 16, 51 lines","ref":"internal/cmd/fleet/status/status.go","url":"https://github.com/tj-smith47/shelly-cli/blob/593a9e2bfbb9e436f4830a64d8270dc86239d698/internal/cmd/fleet/status/status.go#L68","weight":0.26666666666666666},{"kind":"complex-function","description":"Go in internal/plugins/scaffold/scaffold.go: complexity 4, 110 lines","ref":"internal/plugins/scaffold/scaffold.go","url":"https://github.com/tj-smith47/shelly-cli/blob/593a9e2bfbb9e436f4830a64d8270dc86239d698/internal/plugins/scaffold/scaffold.go#L120","weight":0.06666666666666667},{"kind":"complex-function","description":"init in internal/cmd/root.go: complexity 3, 152 lines","ref":"internal/cmd/root.go","url":"https://github.com/tj-smith47/shelly-cli/blob/593a9e2bfbb9e436f4830a64d8270dc86239d698/internal/cmd/root.go#L315","weight":0.05},{"kind":"complex-function","description":"New in internal/tui/app.go: complexity 3, 111 lines","ref":"internal/tui/app.go","url":"https://github.com/tj-smith47/shelly-cli/blob/593a9e2bfbb9e436f4830a64d8270dc86239d698/internal/tui/app.go#L200","weight":0.05}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":124385.0,"duplicated_lines":15053.0,"duplicated_share":0.121,"files":903.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: cmd/docgen/main.go:5 and cmd/mangen/main.go:5","ref":"cmd/docgen/main.go","url":"https://github.com/tj-smith47/shelly-cli/blob/593a9e2bfbb9e436f4830a64d8270dc86239d698/cmd/docgen/main.go#L5","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: completions/shelly.bash:367 and completions/shelly.bash:399","ref":"completions/shelly.bash","url":"https://github.com/tj-smith47/shelly-cli/blob/593a9e2bfbb9e436f4830a64d8270dc86239d698/completions/shelly.bash#L367","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: examples/plugins/shelly-tasmota/cmd/control.go:4 and examples/plugins/shelly-tasmota/cmd/status.go:4","ref":"examples/plugins/shelly-tasmota/cmd/control.go","url":"https://github.com/tj-smith47/shelly-cli/blob/593a9e2bfbb9e436f4830a64d8270dc86239d698/examples/plugins/shelly-tasmota/cmd/control.go#L4","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: internal/cache/file.go:161 and internal/cache/file.go:197","ref":"internal/cache/file.go","url":"https://github.com/tj-smith47/shelly-cli/blob/593a9e2bfbb9e436f4830a64d8270dc86239d698/internal/cache/file.go#L161","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: internal/client/client.go:30 and internal/shelly/monitoring/service.go:42","ref":"internal/client/client.go","url":"https://github.com/tj-smith47/shelly-cli/blob/593a9e2bfbb9e436f4830a64d8270dc86239d698/internal/client/client.go#L30","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: internal/client/client.go:31 and internal/shelly/backup/service.go:55","ref":"internal/client/client.go","url":"https://github.com/tj-smith47/shelly-cli/blob/593a9e2bfbb9e436f4830a64d8270dc86239d698/internal/client/client.go#L31","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: internal/client/client.go:335 and internal/utils/device.go:43","ref":"internal/client/client.go","url":"https://github.com/tj-smith47/shelly-cli/blob/593a9e2bfbb9e436f4830a64d8270dc86239d698/internal/client/client.go#L335","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: internal/client/detect.go:83 and internal/client/detect.go:152","ref":"internal/client/detect.go","url":"https://github.com/tj-smith47/shelly-cli/blob/593a9e2bfbb9e436f4830a64d8270dc86239d698/internal/client/detect.go#L83","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: internal/client/light.go:28 and internal/client/rgb.go:28","ref":"internal/client/light.go","url":"https://github.com/tj-smith47/shelly-cli/blob/593a9e2bfbb9e436f4830a64d8270dc86239d698/internal/client/light.go#L28","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: internal/client/rgb.go:32 and internal/client/rgbw.go:33","ref":"internal/client/rgb.go","url":"https://github.com/tj-smith47/shelly-cli/blob/593a9e2bfbb9e436f4830a64d8270dc86239d698/internal/client/rgb.go#L32","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":10.0,"weighted_findings":7.0,"scanned_lines":178137.0,"category:correctness":10.0},"findings":[{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"cmd/docgen/main.go","line":25,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:cmd/docgen/main.go:25"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"cmd/mangen/main.go","line":25,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:cmd/mangen/main.go:25"},{"rule_id":"opengrep/go.lang.correctness.exported_loop_pointer","severity":"medium","message":"`c` is a loop pointer that may be exported from the loop. This pointer is shared between loop iterations, so the exported reference will always point to the last loop value, which is likely unintentional. To fix, copy the pointer to a new pointer within the loop.","path":"internal/term/virtual.go","line":22,"fingerprint":"go.lang.correctness.exported_loop_pointer:internal/term/virtual.go:22"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"internal/testutil/testutil.go","line":217,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:internal/testutil/testutil.go:217"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"internal/tui/components/kvs/model.go","line":667,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:internal/tui/components/kvs/model.go:667"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"internal/tui/components/scripts/editor.go","line":661,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:internal/tui/components/scripts/editor.go:661"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"completions/shelly.bash","line":113,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:completions/shelly.bash:113"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"completions/shelly.bash","line":333,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:completions/shelly.bash:333"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"scripts/audit-conventions.sh","line":60,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/audit-conventions.sh:60"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-command-substitution-in-command","severity":"low","message":"The result of command substitution $(...) or `...`, if unquoted, is split on whitespace or other separators specified by the IFS variable. You should surround it with double quotes to avoid splitting the result.","path":"scripts/migrate-examples.sh","line":323,"fingerprint":"bash.lang.correctness.unquoted-command-substitution-in-command:scripts/migrate-examples.sh:323"}],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":1.0,"check:test_ratio":1.0,"check:ci_present":1.0,"check:ci_runs_tests":1.0,"check:ci_runs_lint":1.0,"check:tests_cochange":1.0,"test_lines":317735.0,"source_lines":178407.0,"test_ratio":1.781,"ci_files":5.0,"cochange_share":0.7244,"cochange_commits":225.0},"findings":[],"evidence":[{"kind":"ci","description":"CI config: .github/workflows/auto-tag.yml","ref":".github/workflows/auto-tag.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/ci.yml","ref":".github/workflows/ci.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/docs.yml","ref":".github/workflows/docs.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/goreleaser-pro.yml","ref":".github/workflows/goreleaser-pro.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/release.yml","ref":".github/workflows/release.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI runs tests (task test)","ref":null,"url":null,"weight":0.0},{"kind":"ci","description":"CI runs linters (golangci-lint)","ref":null,"url":null,"weight":0.0}],"data":{"test_commands":["task test"],"lint_commands":["golangci-lint"]},"error":null},{"analyzer":"qual-docs","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:readme":1.0,"check:license":1.0,"check:contributing":1.0,"check:changelog":1.0,"readme_lines":200.0},"findings":[],"evidence":[{"kind":"docs","description":"README.md","ref":"README.md","url":null,"weight":0.0},{"kind":"docs","description":"LICENSE","ref":"LICENSE","url":null,"weight":0.0},{"kind":"docs","description":"CONTRIBUTING.md","ref":"CONTRIBUTING.md","url":null,"weight":0.0},{"kind":"docs","description":"CHANGELOG.md","ref":"CHANGELOG.md","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"qual-type-safety","pillar":"quality","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"x-blame","pillar":"ai_provenance","status":"ok","tool_version":"git-blame","metrics":{"ai_lines":173017.0,"other_lines":5390.0,"files_blamed":903.0,"blame_failures":0.0,"quality:ai_findings":10.0,"quality:ai_per_kloc":0.058,"quality:other_findings":0.0,"quality:other_per_kloc":0.0,"security:ai_findings":24.0,"security:ai_per_kloc":0.139,"security:other_findings":0.0,"security:other_per_kloc":0.0},"findings":[],"evidence":[],"data":{"sampled":false,"comparable":true},"error":null}],"flags":[]}