{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-4+qual-2+sec-2","generated_at":"2026-11-13T23:57:39.482493Z","repo":{"ref":{"host":"github.com","owner":"rayhatfield","name":"mac-media-keys"},"default_branch":"main","clone_url":"https://github.com/rayhatfield/mac-media-keys.git","html_url":"https://github.com/rayhatfield/mac-media-keys","description":"macOS menu bar app to forward media keys to a specific application","stars":43,"forks":3,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":583,"primary_language":"Swift","license_spdx":"MIT","created_at":"2026-02-05T23:31:59Z","pushed_at":"2026-09-01T14:57:20Z","security_policy_url":null,"distribution":{"owner_created_at":"2011-11-01T03:59:40Z","owner_type":"User","release_assets":[{"name":"MacMediaKeys-1.1.4.zip","size":297414,"download_count":511,"release_tag":"v1.1.4","url":"https://github.com/rayhatfield/mac-media-keys/releases/download/v1.1.4/MacMediaKeys-1.1.4.zip"},{"name":"MacMediaKeys-1.1.3.zip","size":296669,"download_count":218,"release_tag":"v1.1.3","url":"https://github.com/rayhatfield/mac-media-keys/releases/download/v1.1.3/MacMediaKeys-1.1.3.zip"},{"name":"MacMediaKeys-1.1.2.zip","size":286576,"download_count":25,"release_tag":"v1.1.2","url":"https://github.com/rayhatfield/mac-media-keys/releases/download/v1.1.2/MacMediaKeys-1.1.2.zip"},{"name":"MacMediaKeys-1.1.1.zip","size":258077,"download_count":8,"release_tag":"v1.1.1","url":"https://github.com/rayhatfield/mac-media-keys/releases/download/v1.1.1/MacMediaKeys-1.1.1.zip"},{"name":"MacMediaKeys-1.1.0.zip","size":307047,"download_count":153,"release_tag":"v1.1.0","url":"https://github.com/rayhatfield/mac-media-keys/releases/download/v1.1.0/MacMediaKeys-1.1.0.zip"},{"name":"MacMediaKeys-1.0.9.zip","size":241422,"download_count":29,"release_tag":"v1.0.9","url":"https://github.com/rayhatfield/mac-media-keys/releases/download/v1.0.9/MacMediaKeys-1.0.9.zip"},{"name":"MacMediaKeys-1.0.8.zip","size":242542,"download_count":3,"release_tag":"v1.0.8","url":"https://github.com/rayhatfield/mac-media-keys/releases/download/v1.0.8/MacMediaKeys-1.0.8.zip"},{"name":"MacMediaKeys-1.0.7.zip","size":237027,"download_count":3,"release_tag":"v1.0.7","url":"https://github.com/rayhatfield/mac-media-keys/releases/download/v1.0.7/MacMediaKeys-1.0.7.zip"},{"name":"MacMediaKeys-1.0.6.zip","size":235726,"download_count":13,"release_tag":"v1.0.6","url":"https://github.com/rayhatfield/mac-media-keys/releases/download/v1.0.6/MacMediaKeys-1.0.6.zip"},{"name":"MacMediaKeys-v1.0.5.zip","size":266548,"download_count":18,"release_tag":"v1.0.5","url":"https://github.com/rayhatfield/mac-media-keys/releases/download/v1.0.5/MacMediaKeys-v1.0.5.zip"}]}},"commit_sha":"3a6d73e2a1ef4049bdcb3e9c0c9f8f4fd955ae9f","profile":{"lines_by_language":{"Swift":2493,"Shell":136,"JavaScript":20},"files_by_category":{"source":13,"binary":8,"other":7,"config":5,"docs":4},"source_lines":2649,"test_lines":0},"pillars":{"ai_provenance":{"score":87.9,"confidence":0.83,"coverage":1.0,"label":"explicit","breakdown":{"attributed_share":0.8791,"suspected_share":0.0,"estimated_share":0.8791,"ai_artifacts":4.0,"flagged_work_units":0.0,"flagged_releases":0.0},"summary":"Explicit AI attribution on 88% of first-party code added; an estimated 88% including velocity signals."},"quality":{"score":65.4,"confidence":0.9,"coverage":1.0,"label":"adequate","breakdown":{"complexity":79.9,"duplication":95.7,"lint":100.0,"testing":15.0,"docs":65.0,"type_safety":null,"process":null},"summary":"Code quality is adequate: test-to-source ratio 0.00, no CI test run detected; 7% of function code in complex or long functions; 1% duplicated lines. Weakest area: testing."},"security":{"score":80.8,"confidence":0.85,"coverage":1.0,"label":"adequate","breakdown":{"secrets":100.0,"sast":100.0,"dependencies":null,"ci_actions":77.1,"posture":0.0,"scorecard":null},"summary":"Security posture is adequate: 1 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":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":"no registry dependencies declared"},{"analyzer":"ai-attribution","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"commits":51.0,"attributed_commits":26.0,"attributed_commit_share":0.5098039215686274,"effective_loc":2985.0,"attributed_loc":2624.0,"attributed_loc_share":0.8790619765494138,"tools_detected":1.0},"findings":[],"evidence":[{"kind":"attribution-summary","description":"Claude Code: 26 attributed commits, 2,624 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"3a6d73e2a1ef4049bdcb3e9c0c9f8f4fd955ae9f","url":"https://github.com/rayhatfield/mac-media-keys/commit/3a6d73e2a1ef4049bdcb3e9c0c9f8f4fd955ae9f","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"b0d00ef003f7bf34df66fa0a1e6fa2a01c15cd3a","url":"https://github.com/rayhatfield/mac-media-keys/commit/b0d00ef003f7bf34df66fa0a1e6fa2a01c15cd3a","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"be2dc3a830eb15e5214b9aedb651b2229454e23e","url":"https://github.com/rayhatfield/mac-media-keys/commit/be2dc3a830eb15e5214b9aedb651b2229454e23e","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"612f32227c97acad2e665d833dc21c56e0940874","url":"https://github.com/rayhatfield/mac-media-keys/commit/612f32227c97acad2e665d833dc21c56e0940874","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"712eda7351a2f0d733fcb51327bf92be662832bf","url":"https://github.com/rayhatfield/mac-media-keys/commit/712eda7351a2f0d733fcb51327bf92be662832bf","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"97b94e9886f3f749e78ebf40d5e6b655b1f97d16","url":"https://github.com/rayhatfield/mac-media-keys/commit/97b94e9886f3f749e78ebf40d5e6b655b1f97d16","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"e4eedb2e4272706e068df36c1ff415172bd2a037","url":"https://github.com/rayhatfield/mac-media-keys/commit/e4eedb2e4272706e068df36c1ff415172bd2a037","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"b8ec74c72c211f3722dc482b15ff3e2e3e24d434","url":"https://github.com/rayhatfield/mac-media-keys/commit/b8ec74c72c211f3722dc482b15ff3e2e3e24d434","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"c096ad72e00c7367b51d44befa65c12de3871db1","url":"https://github.com/rayhatfield/mac-media-keys/commit/c096ad72e00c7367b51d44befa65c12de3871db1","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"ab56a470271c37880eb2d24026cba786f5724a5e","url":"https://github.com/rayhatfield/mac-media-keys/commit/ab56a470271c37880eb2d24026cba786f5724a5e","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"30b73f87d085a7a2a6bddd38065dfe8771d8027a","url":"https://github.com/rayhatfield/mac-media-keys/commit/30b73f87d085a7a2a6bddd38065dfe8771d8027a","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"f55e3a1526a4dc62e34baed28bc7649deb4d81c3","url":"https://github.com/rayhatfield/mac-media-keys/commit/f55e3a1526a4dc62e34baed28bc7649deb4d81c3","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"cf247220fd1728bdacc9d8232916057e9bf91ee9","url":"https://github.com/rayhatfield/mac-media-keys/commit/cf247220fd1728bdacc9d8232916057e9bf91ee9","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"ad73e5db0574e68cbcdf8c974eca00583927938a","url":"https://github.com/rayhatfield/mac-media-keys/commit/ad73e5db0574e68cbcdf8c974eca00583927938a","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"45f2a0a65309d6b3bf0caf3ba0d41ace8962bc6d","url":"https://github.com/rayhatfield/mac-media-keys/commit/45f2a0a65309d6b3bf0caf3ba0d41ace8962bc6d","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"dc94e31e22326da42751df7ca9bd48306609a0e2","url":"https://github.com/rayhatfield/mac-media-keys/commit/dc94e31e22326da42751df7ca9bd48306609a0e2","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"083bba3b2d3e3230cf7223dd545bc00656af786e","url":"https://github.com/rayhatfield/mac-media-keys/commit/083bba3b2d3e3230cf7223dd545bc00656af786e","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"31a96855233c3bb40e83f0eafb5d5e47acdfc5c3","url":"https://github.com/rayhatfield/mac-media-keys/commit/31a96855233c3bb40e83f0eafb5d5e47acdfc5c3","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"4c6629ba810ea0f8de548d4326a6680946a7397e","url":"https://github.com/rayhatfield/mac-media-keys/commit/4c6629ba810ea0f8de548d4326a6680946a7397e","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"e3b754ac9e6bdf32a1e180e49e85522c5f74992f","url":"https://github.com/rayhatfield/mac-media-keys/commit/e3b754ac9e6bdf32a1e180e49e85522c5f74992f","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"e99d960f548e1a43a88a74458bbf2da60dd7d9a4","url":"https://github.com/rayhatfield/mac-media-keys/commit/e99d960f548e1a43a88a74458bbf2da60dd7d9a4","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"f189a820323bb68b87af59ed3fbc8fdf40422cd0","url":"https://github.com/rayhatfield/mac-media-keys/commit/f189a820323bb68b87af59ed3fbc8fdf40422cd0","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"44c17f40658d95a73d109ecc53ff0af332c2357c","url":"https://github.com/rayhatfield/mac-media-keys/commit/44c17f40658d95a73d109ecc53ff0af332c2357c","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"1d493394e7ff62ebfb852b789f2e45a40af95f4f","url":"https://github.com/rayhatfield/mac-media-keys/commit/1d493394e7ff62ebfb852b789f2e45a40af95f4f","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"cc7002f070d9f2d0253872f81f7584eacbc8f745","url":"https://github.com/rayhatfield/mac-media-keys/commit/cc7002f070d9f2d0253872f81f7584eacbc8f745","weight":0.9}],"data":{"attributed_loc_by_commit":{"57145d9bb7e54b20525030a8ef5b74bb48c4c4ee":999,"cc7002f070d9f2d0253872f81f7584eacbc8f745":0,"1d493394e7ff62ebfb852b789f2e45a40af95f4f":121,"44c17f40658d95a73d109ecc53ff0af332c2357c":20,"f189a820323bb68b87af59ed3fbc8fdf40422cd0":0,"e99d960f548e1a43a88a74458bbf2da60dd7d9a4":0,"e3b754ac9e6bdf32a1e180e49e85522c5f74992f":21,"4c6629ba810ea0f8de548d4326a6680946a7397e":38,"31a96855233c3bb40e83f0eafb5d5e47acdfc5c3":0,"083bba3b2d3e3230cf7223dd545bc00656af786e":15,"dc94e31e22326da42751df7ca9bd48306609a0e2":29,"45f2a0a65309d6b3bf0caf3ba0d41ace8962bc6d":97,"ad73e5db0574e68cbcdf8c974eca00583927938a":0,"cf247220fd1728bdacc9d8232916057e9bf91ee9":43,"f55e3a1526a4dc62e34baed28bc7649deb4d81c3":102,"30b73f87d085a7a2a6bddd38065dfe8771d8027a":26,"ab56a470271c37880eb2d24026cba786f5724a5e":136,"c096ad72e00c7367b51d44befa65c12de3871db1":531,"b8ec74c72c211f3722dc482b15ff3e2e3e24d434":75,"e4eedb2e4272706e068df36c1ff415172bd2a037":15,"97b94e9886f3f749e78ebf40d5e6b655b1f97d16":2,"712eda7351a2f0d733fcb51327bf92be662832bf":155,"612f32227c97acad2e665d833dc21c56e0940874":139,"be2dc3a830eb15e5214b9aedb651b2229454e23e":0,"b0d00ef003f7bf34df66fa0a1e6fa2a01c15cd3a":38,"3a6d73e2a1ef4049bdcb3e9c0c9f8f4fd955ae9f":22},"tools":{"claude-code":{"name":"Claude Code","commits":26,"loc":2624,"first_seen":1770334185,"last_seen":1788274582}},"monthly":{"2026-02":{"loc":1142,"attributed_loc":1140},"2026-05":{"loc":178,"attributed_loc":59},"2026-06":{"loc":526,"attributed_loc":286},"2026-07":{"loc":1079,"attributed_loc":1079},"2026-08":{"loc":38,"attributed_loc":38},"2026-09":{"loc":22,"attributed_loc":22}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":4.0,"workflow_agents":0.0,"tools_configured":1.0,"earliest_adoption":1784923169.0},"findings":[],"evidence":[{"kind":"ai-artifact","description":".claude/skills/release-mac-media-keys/SKILL.md (claude-code configuration)","ref":".claude/skills/release-mac-media-keys/SKILL.md","url":"https://github.com/rayhatfield/mac-media-keys/blob/3a6d73e2a1ef4049bdcb3e9c0c9f8f4fd955ae9f/.claude/skills/release-mac-media-keys/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/release-mac-media-keys/release.sh (claude-code configuration)","ref":".claude/skills/release-mac-media-keys/release.sh","url":"https://github.com/rayhatfield/mac-media-keys/blob/3a6d73e2a1ef4049bdcb3e9c0c9f8f4fd955ae9f/.claude/skills/release-mac-media-keys/release.sh","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/run-mac-media-keys/SKILL.md (claude-code configuration)","ref":".claude/skills/run-mac-media-keys/SKILL.md","url":"https://github.com/rayhatfield/mac-media-keys/blob/3a6d73e2a1ef4049bdcb3e9c0c9f8f4fd955ae9f/.claude/skills/run-mac-media-keys/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/run-mac-media-keys/smoke.sh (claude-code configuration)","ref":".claude/skills/run-mac-media-keys/smoke.sh","url":"https://github.com/rayhatfield/mac-media-keys/blob/3a6d73e2a1ef4049bdcb3e9c0c9f8f4fd955ae9f/.claude/skills/run-mac-media-keys/smoke.sh","weight":0.5}],"data":{"artifacts":[{"tool":"claude-code","path":".claude/skills/release-mac-media-keys/SKILL.md","added_at":1784923169},{"tool":"claude-code","path":".claude/skills/release-mac-media-keys/release.sh","added_at":1784923169},{"tool":"claude-code","path":".claude/skills/run-mac-media-keys/SKILL.md","added_at":1784923169},{"tool":"claude-code","path":".claude/skills/run-mac-media-keys/smoke.sh","added_at":1784923169}],"workflows":[],"tools":["claude-code"]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"work_units":20.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":2985.0,"flagged_loc":0.0,"flagged_loc_share":0.0,"max_loc_per_hour":575.9566134377825,"median_loc_per_hour":38.75,"pr_timed_units":0.0,"excluded_import_loc":0.0},"findings":[],"evidence":[],"data":{"flagged_loc_by_commit":{},"excluded_import_commits":[]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"releases":14.0,"flagged_releases":0.0,"max_loc_per_day":9182.0},"findings":[],"evidence":[],"data":{"releases":[{"from":"v1.0.0","to":"v1.0.1","loc":121,"days":3.16,"loc_per_day":38.3,"flagged":false},{"from":"v1.0.1","to":"v1.0.2","loc":20,"days":7.66,"loc_per_day":2.6,"flagged":false},{"from":"v1.0.2","to":"v1.0.3","loc":2,"days":3.72,"loc_per_day":0.5,"flagged":false},{"from":"v1.0.3","to":"v1.0.4","loc":59,"days":89.09,"loc_per_day":0.7,"flagged":false},{"from":"v1.0.4","to":"v1.0.5","loc":163,"days":14.18,"loc_per_day":11.5,"flagged":false},{"from":"v1.0.5","to":"v1.0.6","loc":97,"days":1.84,"loc_per_day":52.6,"flagged":false},{"from":"v1.0.6","to":"v1.0.7","loc":43,"days":5.1,"loc_per_day":8.4,"flagged":false},{"from":"v1.0.7","to":"v1.0.8","loc":102,"days":0.84,"loc_per_day":122.1,"flagged":false},{"from":"v1.0.8","to":"v1.0.9","loc":19,"days":0.11,"loc_per_day":170.8,"flagged":false},{"from":"v1.0.9","to":"v1.1.0","loc":221,"days":3.99,"loc_per_day":55.3,"flagged":false},{"from":"v1.1.0","to":"v1.1.1","loc":26,"days":39.05,"loc_per_day":0.7,"flagged":false},{"from":"v1.1.1","to":"v1.1.2","loc":759,"days":0.08,"loc_per_day":9182.0,"flagged":false},{"from":"v1.1.2","to":"v1.1.3","loc":294,"days":4.13,"loc_per_day":71.2,"flagged":false},{"from":"v1.1.3","to":"v1.1.4","loc":60,"days":34.58,"loc_per_day":1.7,"flagged":false}]},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":2649.0,"index":0.0,"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":0.0,"per_kloc:emoji_in_code":0.0,"files:emoji_in_code":0.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":2649.0,"parse_errors":1.0},"findings":[],"evidence":[],"data":{"rulesets":["swift","bash","javascript"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"ok","tool_version":"zizmor 1.32.0","metrics":{"workflows":1.0,"findings":7.0,"findings_high":1.0,"findings_medium":2.0,"findings_low":4.0,"penalty":15.6},"findings":[{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/update-homebrew-cask.yml","line":48,"fingerprint":"unpinned-uses:.github/workflows/update-homebrew-cask.yml:48"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/update-homebrew-cask.yml","line":47,"fingerprint":"artipacked:.github/workflows/update-homebrew-cask.yml:47"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/update-homebrew-cask.yml","line":14,"fingerprint":"excessive-permissions:.github/workflows/update-homebrew-cask.yml:14"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/update-homebrew-cask.yml","line":44,"fingerprint":"template-injection:.github/workflows/update-homebrew-cask.yml:44"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/update-homebrew-cask.yml","line":57,"fingerprint":"template-injection:.github/workflows/update-homebrew-cask.yml:57"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/update-homebrew-cask.yml","line":58,"fingerprint":"template-injection:.github/workflows/update-homebrew-cask.yml:58"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/update-homebrew-cask.yml","line":70,"fingerprint":"template-injection:.github/workflows/update-homebrew-cask.yml:70"}],"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.2157,"unpinned_manifests":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-distribution","pillar":"security","status":"ok","tool_version":null,"metrics":{"signals":1.0,"binary_assets":10.0,"suspicious":0.0},"findings":[],"evidence":[{"kind":"binary-release-asset","description":"release v1.1.4 ships MacMediaKeys-1.1.4.zip (511 downloads)","ref":"MacMediaKeys-1.1.4.zip","url":"https://github.com/rayhatfield/mac-media-keys/releases/download/v1.1.4/MacMediaKeys-1.1.4.zip","weight":0.0},{"kind":"binary-release-asset","description":"release v1.1.3 ships MacMediaKeys-1.1.3.zip (218 downloads)","ref":"MacMediaKeys-1.1.3.zip","url":"https://github.com/rayhatfield/mac-media-keys/releases/download/v1.1.3/MacMediaKeys-1.1.3.zip","weight":0.0},{"kind":"binary-release-asset","description":"release v1.1.2 ships MacMediaKeys-1.1.2.zip (25 downloads)","ref":"MacMediaKeys-1.1.2.zip","url":"https://github.com/rayhatfield/mac-media-keys/releases/download/v1.1.2/MacMediaKeys-1.1.2.zip","weight":0.0},{"kind":"binary-release-asset","description":"release v1.1.1 ships MacMediaKeys-1.1.1.zip (8 downloads)","ref":"MacMediaKeys-1.1.1.zip","url":"https://github.com/rayhatfield/mac-media-keys/releases/download/v1.1.1/MacMediaKeys-1.1.1.zip","weight":0.0},{"kind":"binary-release-asset","description":"release v1.1.0 ships MacMediaKeys-1.1.0.zip (153 downloads)","ref":"MacMediaKeys-1.1.0.zip","url":"https://github.com/rayhatfield/mac-media-keys/releases/download/v1.1.0/MacMediaKeys-1.1.0.zip","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":126.0,"function_nloc":1602.0,"mean_ccn":2.7,"p90_ccn":5.0,"complex_functions":2.0,"long_functions":0.0,"many_param_functions":0.0,"risky_nloc_share":0.0749},"findings":[],"evidence":[{"kind":"complex-function","description":"handleEvent in MacMediaKeys/MediaKeyTap.swift: complexity 20, 62 lines","ref":"MacMediaKeys/MediaKeyTap.swift","url":"https://github.com/rayhatfield/mac-media-keys/blob/3a6d73e2a1ef4049bdcb3e9c0c9f8f4fd955ae9f/MacMediaKeys/MediaKeyTap.swift#L155","weight":0.3333333333333333},{"kind":"complex-function","description":"sendKeystrokeToApp in MacMediaKeys/MediaController.swift: complexity 17, 58 lines","ref":"MacMediaKeys/MediaController.swift","url":"https://github.com/rayhatfield/mac-media-keys/blob/3a6d73e2a1ef4049bdcb3e9c0c9f8f4fd955ae9f/MacMediaKeys/MediaController.swift#L235","weight":0.2833333333333333}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":1893.0,"duplicated_lines":14.0,"duplicated_share":0.0074,"files":13.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: MacMediaKeys/AboutWindow.swift:121 and MacMediaKeys/ConfigureAppsWindow.swift:116","ref":"MacMediaKeys/AboutWindow.swift","url":"https://github.com/rayhatfield/mac-media-keys/blob/3a6d73e2a1ef4049bdcb3e9c0c9f8f4fd955ae9f/MacMediaKeys/AboutWindow.swift#L121","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":0.0,"weighted_findings":0.0,"scanned_lines":2649.0},"findings":[],"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":2649.0,"test_ratio":0.0,"ci_files":1.0,"cochange_share":0.0,"cochange_commits":25.0},"findings":[],"evidence":[{"kind":"ci","description":"CI config: .github/workflows/update-homebrew-cask.yml","ref":".github/workflows/update-homebrew-cask.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":1.0,"check:contributing":0.0,"check:changelog":0.0,"readme_lines":80.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}],"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":2325.0,"other_lines":324.0,"files_blamed":13.0,"blame_failures":0.0,"quality:ai_findings":0.0,"quality:ai_per_kloc":0.0,"quality:other_findings":0.0,"quality:other_per_kloc":0.0,"security:ai_findings":0.0,"security:ai_per_kloc":0.0,"security:other_findings":0.0,"security:other_per_kloc":0.0},"findings":[],"evidence":[],"data":{"sampled":false,"comparable":false},"error":null}],"flags":[]}