{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-5+qual-2+sec-2","generated_at":"2026-11-14T14:52:06.235406Z","repo":{"ref":{"host":"github.com","owner":"mammuth","name":"hoerbert"},"default_branch":"main","clone_url":"https://github.com/mammuth/hoerbert.git","html_url":"https://github.com/mammuth/hoerbert","description":"Hörbert is a TeamSpeak music bot & soundboard","stars":0,"forks":0,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":1990,"primary_language":"Rust","license_spdx":null,"created_at":"2026-10-31T00:07:05Z","pushed_at":"2026-11-14T01:57:37Z","security_policy_url":null,"distribution":{"owner_created_at":"2012-12-25T12:59:19Z","owner_type":"User","release_assets":[]}},"commit_sha":"e4ed4cdc68f21ceef752988c77d245973badcc17","profile":{"lines_by_language":{"Rust":3626,"Svelte":1101,"TypeScript":262,"Python":136,"Shell":14,"JavaScript":2},"files_by_category":{"source":33,"config":12,"other":4,"generated":2,"docs":2,"oversized":1},"source_lines":5141,"test_lines":0},"pillars":{"ai_provenance":{"score":100.0,"confidence":0.85,"coverage":1.0,"label":"explicit","breakdown":{"attributed_share":1.0,"suspected_share":0.0,"estimated_share":1.0,"ai_artifacts":0.0,"flagged_work_units":0.0,"flagged_releases":null,"style_index":1.459},"summary":"Explicit AI attribution on 100% of first-party code added; an estimated 100% including velocity signals."},"quality":{"score":53.1,"confidence":0.9,"coverage":1.0,"label":"weak","breakdown":{"complexity":50.3,"duplication":100.0,"lint":86.4,"testing":15.0,"docs":40.0,"type_safety":40.0,"process":null},"summary":"Code quality is weak: test-to-source ratio 0.00, no CI test run detected; 23% of function code in complex or long functions; 0% duplicated lines. Weakest area: testing."},"security":{"score":75.5,"confidence":0.85,"coverage":1.0,"label":"adequate","breakdown":{"secrets":100.0,"sast":100.0,"dependencies":81.9,"ci_actions":44.0,"posture":0.0,"scorecard":null},"summary":"Security posture is adequate: 4 known vulnerabilities in 4 dependencies; 4 high-severity workflow issues. Weakest area: posture."}},"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":25.0,"checked":25.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":62.0,"attributed_commits":62.0,"attributed_commit_share":1.0,"effective_loc":6681.0,"attributed_loc":6681.0,"attributed_loc_share":1.0,"tools_detected":1.0},"findings":[],"evidence":[{"kind":"attribution-summary","description":"Claude Code: 62 attributed commits, 6,681 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"e4ed4cdc68f21ceef752988c77d245973badcc17","url":"https://github.com/mammuth/hoerbert/commit/e4ed4cdc68f21ceef752988c77d245973badcc17","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"89329aae8584f3a173c08e7d59474ce538a2287e","url":"https://github.com/mammuth/hoerbert/commit/89329aae8584f3a173c08e7d59474ce538a2287e","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"8f82941b30f1354f49cde8ddaee47ec8ea55c26c","url":"https://github.com/mammuth/hoerbert/commit/8f82941b30f1354f49cde8ddaee47ec8ea55c26c","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"7beb64fe389e4e2d25bb85f161064262798e9d27","url":"https://github.com/mammuth/hoerbert/commit/7beb64fe389e4e2d25bb85f161064262798e9d27","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"636c5fe4729de3fd4a47216a6368824a9197ad99","url":"https://github.com/mammuth/hoerbert/commit/636c5fe4729de3fd4a47216a6368824a9197ad99","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"2261e57e298685c6689a92b561221d56a5eec278","url":"https://github.com/mammuth/hoerbert/commit/2261e57e298685c6689a92b561221d56a5eec278","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"6411ea312f2edd6de7904ba2d5986059ede13e4d","url":"https://github.com/mammuth/hoerbert/commit/6411ea312f2edd6de7904ba2d5986059ede13e4d","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"c21d0831ad12f679fa27231ad5165b9ff53d465b","url":"https://github.com/mammuth/hoerbert/commit/c21d0831ad12f679fa27231ad5165b9ff53d465b","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"11276435b5a7eca7527b65ce9adef1d3f65e06bd","url":"https://github.com/mammuth/hoerbert/commit/11276435b5a7eca7527b65ce9adef1d3f65e06bd","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"dc9a35b5a5223cce891131bd3ad356e03b4beba7","url":"https://github.com/mammuth/hoerbert/commit/dc9a35b5a5223cce891131bd3ad356e03b4beba7","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"5b3408f8debecc207e9d1b0fd640c0d49da0087b","url":"https://github.com/mammuth/hoerbert/commit/5b3408f8debecc207e9d1b0fd640c0d49da0087b","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"2d17e1cd885c0a6b18166b028f571d9d0b3f3979","url":"https://github.com/mammuth/hoerbert/commit/2d17e1cd885c0a6b18166b028f571d9d0b3f3979","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"6a4fef75405399e7f2642a6e36fc6bf9e3affbb1","url":"https://github.com/mammuth/hoerbert/commit/6a4fef75405399e7f2642a6e36fc6bf9e3affbb1","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"49cb343439019d2e131a4069fecba2b6ace3c7ae","url":"https://github.com/mammuth/hoerbert/commit/49cb343439019d2e131a4069fecba2b6ace3c7ae","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"db5b49253cf2eedeebca5f4260109b9333ad8942","url":"https://github.com/mammuth/hoerbert/commit/db5b49253cf2eedeebca5f4260109b9333ad8942","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"20393c13ea159d1402b427f0ba93a91c4da5b884","url":"https://github.com/mammuth/hoerbert/commit/20393c13ea159d1402b427f0ba93a91c4da5b884","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"b924910dcbda1ad9eb598379648615ec8c26ccbf","url":"https://github.com/mammuth/hoerbert/commit/b924910dcbda1ad9eb598379648615ec8c26ccbf","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"f5e39c2453055cccb577b2512d5b577f5f164903","url":"https://github.com/mammuth/hoerbert/commit/f5e39c2453055cccb577b2512d5b577f5f164903","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"d69fce4456407045a78d2069b2a5eb79cfc49e1a","url":"https://github.com/mammuth/hoerbert/commit/d69fce4456407045a78d2069b2a5eb79cfc49e1a","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"54f7f7c327fd753299da5e86939b1a5ff653b34c","url":"https://github.com/mammuth/hoerbert/commit/54f7f7c327fd753299da5e86939b1a5ff653b34c","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"a44e505a360af687eede480f7e67836eac83e043","url":"https://github.com/mammuth/hoerbert/commit/a44e505a360af687eede480f7e67836eac83e043","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"456ed59e30a9eab64afd41d1f2432e4e01208c71","url":"https://github.com/mammuth/hoerbert/commit/456ed59e30a9eab64afd41d1f2432e4e01208c71","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"eb8563aeb89ac2889f0b8f5ae15dbcf7035b9a12","url":"https://github.com/mammuth/hoerbert/commit/eb8563aeb89ac2889f0b8f5ae15dbcf7035b9a12","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"ebce8d4dbc2fad5aacf91f4f45c142ad284a9723","url":"https://github.com/mammuth/hoerbert/commit/ebce8d4dbc2fad5aacf91f4f45c142ad284a9723","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"570d4dd766aba6f47791c4dddbcdcec85dbb3802","url":"https://github.com/mammuth/hoerbert/commit/570d4dd766aba6f47791c4dddbcdcec85dbb3802","weight":0.9}],"data":{"attributed_loc_by_commit":{"fa1a99b396b3c6c4bc1414b9e4f8fc89fef8f166":3986,"b6b88200c357b284553700c2e54afa31d8e061ad":2,"c4c380725b351d4758a9c5e78571adb7b6021d46":37,"db888e0dd54a7cbe13197c416cfbe6e624fbd022":2,"073542749d855f082b1d418ea1205736e262cfc8":1,"9c4113646476f2adac910e36b01359cc90ad41f8":59,"38db07b07fca5863810f35b5923d1fef979cd693":21,"f9a496a60192c89ade9c4eb52420ed10a292dd79":1,"f8bc4dfdff19597aaed5f9731abecb37c665da75":55,"2c24e6dfefd3133720529cfd50d079e01c4a6d6a":45,"af30dcf9e46a7eab94e805223793f2452443a370":11,"22bd2cca9480d9546b6dca9cbd7ec1f59e5a2c1b":0,"2817d8602a8631b38afa284746aa9620bbf12a57":3,"363a1c88105d4eafa7b7178341d11f524e9564f3":5,"a36b828a2b3243c761be231fd816b92d752f570c":78,"41f740ba567846911f38fee4b3470876c581681a":14,"602e5f48eae00d6b9fde11c0e895bb5de176554f":60,"dc0c776072d94e15029f4d0d1993b24825c4c0c6":8,"80ee823e844a3e38e8023d82f41ea894754046ec":0,"e18dcdde4760a8c337aa83ddbc3864f2c82a902c":0,"2e3c67dd8f71b30af8ac43dce913cf30b292259a":25,"22cec6d466c486f3748e916a08be22055134e752":8,"ae414eda6f952b10e2eda9138c68d04cf8fea5a6":272,"9daea62bc1d62de53c37917c16ebcf9eac43499f":10,"4b82f468729e03552b53e18ad7490b89d714dae7":30,"192f3153c0b71660f223f36eb3a1e7a9f2233472":2,"a693eb49571031be68f2f634daed0b7d8164d32e":1,"dceac7f58bb3ce01ae9f879703c1c8a3f51c6bb8":1,"d0e717c8f2d3d6cce3e71a27938006b21bf8fdc4":4,"35382b2b738c5d57eb7f7998def229877bcb14c3":1,"b6f48335259cc20dd5d155de8f4f347858164680":16,"93afe7e5a0dee5fc1d05ad126634b9427e73e2d3":18,"a24fc2e251b911482c5afe2709f68ab99f55a8c3":16,"9eccefd0721a4442a6f33f771a148ed65d38a3c4":15,"a5f999c281a73d07067f91ae69e68267fca2c225":238,"8b9d511e2d3fb8cf758bc57adc139fa4f752b925":253,"8c4f82a7b9603748e9f4acb6a5a20505df27d7cd":1,"ebce8d4dbc2fad5aacf91f4f45c142ad284a9723":16,"570d4dd766aba6f47791c4dddbcdcec85dbb3802":3,"eb8563aeb89ac2889f0b8f5ae15dbcf7035b9a12":404,"456ed59e30a9eab64afd41d1f2432e4e01208c71":0,"a44e505a360af687eede480f7e67836eac83e043":200,"54f7f7c327fd753299da5e86939b1a5ff653b34c":7,"d69fce4456407045a78d2069b2a5eb79cfc49e1a":13,"b924910dcbda1ad9eb598379648615ec8c26ccbf":1,"f5e39c2453055cccb577b2512d5b577f5f164903":23,"20393c13ea159d1402b427f0ba93a91c4da5b884":5,"db5b49253cf2eedeebca5f4260109b9333ad8942":4,"49cb343439019d2e131a4069fecba2b6ace3c7ae":231,"6a4fef75405399e7f2642a6e36fc6bf9e3affbb1":15,"2d17e1cd885c0a6b18166b028f571d9d0b3f3979":59,"5b3408f8debecc207e9d1b0fd640c0d49da0087b":170,"dc9a35b5a5223cce891131bd3ad356e03b4beba7":61,"11276435b5a7eca7527b65ce9adef1d3f65e06bd":38,"2261e57e298685c6689a92b561221d56a5eec278":0,"6411ea312f2edd6de7904ba2d5986059ede13e4d":13,"c21d0831ad12f679fa27231ad5165b9ff53d465b":25,"636c5fe4729de3fd4a47216a6368824a9197ad99":5,"7beb64fe389e4e2d25bb85f161064262798e9d27":26,"8f82941b30f1354f49cde8ddaee47ec8ea55c26c":22,"89329aae8584f3a173c08e7d59474ce538a2287e":40,"e4ed4cdc68f21ceef752988c77d245973badcc17":1},"tools":{"claude-code":{"name":"Claude Code","commits":62,"loc":6681,"first_seen":1793402618,"last_seen":1794621455}},"monthly":{"2026-10":{"loc":4758,"attributed_loc":4758},"2026-11":{"loc":1923,"attributed_loc":1923}}},"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":14.0,"flagged_units":0.0,"pre_ai_era_bursts":0.0,"pre_ai_era_measured_loc":0.0,"pre_ai_era_burst_loc":0.0,"measured_loc":2695.0,"flagged_loc":0.0,"flagged_loc_share":0.0,"max_loc_per_hour":198.48993288590603,"median_loc_per_hour":89.17982287254524,"pr_timed_units":0.0,"excluded_import_loc":3986.0},"findings":[],"evidence":[],"data":{"flagged_loc_by_commit":{},"excluded_import_commits":["fa1a99b396b3c6c4bc1414b9e4f8fc89fef8f166"]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":5141.0,"index":1.459,"count:narrated_steps":0.0,"per_kloc:narrated_steps":0.0,"files:narrated_steps":0.0,"count:placeholder":0.0,"per_kloc:placeholder":0.0,"files:placeholder":0.0,"count:emoji_in_code":15.0,"per_kloc:emoji_in_code":2.918,"files:emoji_in_code":7.0,"count:assistant_voice":0.0,"per_kloc:assistant_voice":0.0,"files:assistant_voice":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-secrets","pillar":"security","status":"ok","tool_version":"gitleaks 8.30.1","metrics":{"secrets_current":0.0,"secrets_history":0.0,"secrets_nonprod":0.0,"secrets_low_confidence":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-sast","pillar":"security","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":0.0,"findings_high":0.0,"findings_medium":0.0,"findings_low":0.0,"weighted_findings":0.0,"scanned_lines":5141.0,"parse_errors":0.0},"findings":[],"evidence":[],"data":{"rulesets":["rust","javascript","typescript","python","bash","dockerfile"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"ok","tool_version":"osv-scanner version: 2.7.1","metrics":{"vulnerable_packages":4.0,"vulnerabilities":4.0,"vulns_critical":0.0,"vulns_high":0.0,"vulns_medium":1.0,"vulns_low":0.0,"vulns_unknown":3.0,"penalty":12.0},"findings":[{"rule_id":"osv/RUSTSEC-2026-0150","severity":"medium","message":"audiopus_sys@0.2.2 (crates.io) is affected by RUSTSEC-2026-0150","path":"Cargo.lock","line":null,"fingerprint":"audiopus_sys@0.2.2 (crates.io):RUSTSEC-2026-0150"},{"rule_id":"osv/RUSTSEC-2026-0387","severity":"medium","message":"crypto-bigint@0.5.5 (crates.io) is affected by RUSTSEC-2026-0387","path":"Cargo.lock","line":null,"fingerprint":"crypto-bigint@0.5.5 (crates.io):RUSTSEC-2026-0387"},{"rule_id":"osv/RUSTSEC-2026-0441","severity":"medium","message":"pin-utils@0.1.1 (crates.io) is affected by RUSTSEC-2026-0441","path":"Cargo.lock","line":null,"fingerprint":"pin-utils@0.1.1 (crates.io):RUSTSEC-2026-0441"},{"rule_id":"osv/GHSA-gcqx-w48m-w2h4","severity":"medium","message":"deepmerge@4.3.1 (npm) is affected by GHSA-gcqx-w48m-w2h4","path":"web/package-lock.json","line":null,"fingerprint":"deepmerge@4.3.1 (npm):GHSA-gcqx-w48m-w2h4"}],"evidence":[],"data":{"ecosystems":["crates.io","npm"]},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"ok","tool_version":"zizmor 1.32.0","metrics":{"workflows":1.0,"findings":5.0,"findings_high":4.0,"findings_medium":1.0,"findings_low":0.0,"penalty":49.2},"findings":[{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":20,"fingerprint":"unpinned-uses:.github/workflows/build.yml:20"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":21,"fingerprint":"unpinned-uses:.github/workflows/build.yml:21"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":22,"fingerprint":"unpinned-uses:.github/workflows/build.yml:22"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":27,"fingerprint":"unpinned-uses:.github/workflows/build.yml:27"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/build.yml","line":20,"fingerprint":"artipacked:.github/workflows/build.yml:20"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-posture","pillar":"security","status":"ok","tool_version":null,"metrics":{"check:security_policy":0.0,"check:dependency_updates":0.0,"check:signed_commits":0.0,"check:lockfiles":1.0,"signed_commit_share":0.0161,"unpinned_manifests":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-distribution","pillar":"security","status":"ok","tool_version":null,"metrics":{"signals":0.0,"binary_assets":0.0,"suspicious":0.0},"findings":[],"evidence":[],"data":{"signals":[],"suspicious":false,"unusual_traction":false,"metadata":true},"error":null},{"analyzer":"qual-complexity","pillar":"quality","status":"ok","tool_version":"lizard 1.25.1","metrics":{"functions":188.0,"function_nloc":2587.0,"mean_ccn":4.11,"p90_ccn":8.0,"complex_functions":4.0,"long_functions":4.0,"many_param_functions":0.0,"risky_nloc_share":0.2292},"findings":[],"evidence":[{"kind":"complex-function","description":"handle in src/player.rs: complexity 56, 167 lines","ref":"src/player.rs","url":"https://github.com/mammuth/hoerbert/blob/e4ed4cdc68f21ceef752988c77d245973badcc17/src/player.rs#L359","weight":0.9333333333333333},{"kind":"complex-function","description":"on_tick in src/player.rs: complexity 51, 146 lines","ref":"src/player.rs","url":"https://github.com/mammuth/hoerbert/blob/e4ed4cdc68f21ceef752988c77d245973badcc17/src/player.rs#L824","weight":0.85},{"kind":"complex-function","description":"session in src/ts.rs: complexity 42, 152 lines","ref":"src/ts.rs","url":"https://github.com/mammuth/hoerbert/blob/e4ed4cdc68f21ceef752988c77d245973badcc17/src/ts.rs#L231","weight":0.7},{"kind":"complex-function","description":"handle in src/chat.rs: complexity 37, 128 lines","ref":"src/chat.rs","url":"https://github.com/mammuth/hoerbert/blob/e4ed4cdc68f21ceef752988c77d245973badcc17/src/chat.rs#L75","weight":0.6166666666666667}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":3880.0,"duplicated_lines":0.0,"duplicated_share":0.0,"files":33.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":1.0,"weighted_findings":3.0,"scanned_lines":5141.0,"category:best-practice":1.0},"findings":[{"rule_id":"opengrep/python.lang.best-practice.arbitrary-sleep","severity":"high","message":"time.sleep() call; did you mean to leave this in?","path":"tts/piper_server.py","line":122,"fingerprint":"python.lang.best-practice.arbitrary-sleep:tts/piper_server.py:122"}],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":0.0,"check:test_ratio":0.0,"check:ci_present":1.0,"check:ci_runs_tests":0.0,"check:ci_runs_lint":0.0,"check:tests_cochange":0.0,"test_lines":0.0,"source_lines":5141.0,"test_ratio":0.0,"ci_files":1.0,"cochange_share":0.0,"cochange_commits":59.0},"findings":[],"evidence":[{"kind":"ci","description":"CI config: .github/workflows/build.yml","ref":".github/workflows/build.yml","url":null,"weight":0.0}],"data":{"test_commands":[],"lint_commands":[]},"error":null},{"analyzer":"qual-docs","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:readme":1.0,"check:license":0.0,"check:contributing":0.0,"check:changelog":0.0,"readme_lines":214.0},"findings":[],"evidence":[{"kind":"docs","description":"README.md","ref":"README.md","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"qual-type-safety","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:strict_config":0.0,"check:low_escape_density":1.0,"escapes":2.0,"escapes_per_kloc":2.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"x-blame","pillar":"ai_provenance","status":"ok","tool_version":"git-blame","metrics":{"ai_lines":5141.0,"other_lines":0.0,"files_blamed":33.0,"blame_failures":0.0,"quality:ai_findings":1.0,"quality:ai_per_kloc":0.195,"quality:other_findings":0.0,"security:ai_findings":0.0,"security:ai_per_kloc":0.0,"security:other_findings":0.0},"findings":[],"evidence":[],"data":{"sampled":false,"comparable":false},"error":null}],"flags":["unreviewed-ai-risk"]}