{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-5+qual-2+sec-2","generated_at":"2026-11-14T15:16:12.449424Z","repo":{"ref":{"host":"github.com","owner":"Caldis","name":"Mos"},"default_branch":"master","clone_url":"https://github.com/Caldis/Mos.git","html_url":"https://github.com/Caldis/Mos","description":"一个用于在 macOS 上平滑你的鼠标滚动效果或单独设置滚动方向的小工具, 让你的滚轮爽如触控板  |  A lightweight tool used to smooth scrolling and set scroll direction independently for your mouse on macOS","stars":21917,"forks":711,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":83129,"primary_language":"Swift","license_spdx":"NOASSERTION","created_at":"2017-01-27T12:12:48Z","pushed_at":"2026-10-25T16:30:07Z","security_policy_url":"https://github.com/Caldis/Mos/security/policy","distribution":{"owner_created_at":"2013-02-11T05:33:30Z","owner_type":"User","release_assets":[{"name":"Mos.Versions.4.3.0-beta-20260820.1.zip","size":11727082,"download_count":15796,"release_tag":"4.3.0-beta-20260820.1","url":"https://github.com/Caldis/Mos/releases/download/4.3.0-beta-20260820.1/Mos.Versions.4.3.0-beta-20260820.1.zip"},{"name":"Mos.Versions.4.2.1-20260531.1.zip","size":12127893,"download_count":336700,"release_tag":"4.2.1","url":"https://github.com/Caldis/Mos/releases/download/4.2.1/Mos.Versions.4.2.1-20260531.1.zip"},{"name":"Mos.Versions.4.2.0-20260505.1.zip","size":12114928,"download_count":81096,"release_tag":"4.2.0","url":"https://github.com/Caldis/Mos/releases/download/4.2.0/Mos.Versions.4.2.0-20260505.1.zip"},{"name":"Mos.Versions.4.0.2-20260308.2.zip","size":11313875,"download_count":103176,"release_tag":"4.0.2","url":"https://github.com/Caldis/Mos/releases/download/4.0.2/Mos.Versions.4.0.2-20260308.2.zip"},{"name":"Mos.Versions.4.0.1-20260308.1.zip","size":11313837,"download_count":201,"release_tag":"4.0.1","url":"https://github.com/Caldis/Mos/releases/download/4.0.1/Mos.Versions.4.0.1-20260308.1.zip"},{"name":"Mos.Versions.4.0.0-20260220.1.zip","size":11334806,"download_count":29120,"release_tag":"4.0.0","url":"https://github.com/Caldis/Mos/releases/download/4.0.0/Mos.Versions.4.0.0-20260220.1.zip"},{"name":"Mos.Versions.4.0.0-beta-20260201.1.zip","size":11351142,"download_count":6139,"release_tag":"4.0.0-beta-20260201.1","url":"https://github.com/Caldis/Mos/releases/download/4.0.0-beta-20260201.1/Mos.Versions.4.0.0-beta-20260201.1.zip"},{"name":"Mos.Versions.4.0.0-beta-1201-123826.zip","size":10377113,"download_count":7520,"release_tag":"4.0.0-beta-1201","url":"https://github.com/Caldis/Mos/releases/download/4.0.0-beta-1201/Mos.Versions.4.0.0-beta-1201-123826.zip"},{"name":"Mos.Versions.4.0.0-beta-1105-100331.zip","size":7969195,"download_count":3079,"release_tag":"4.0.0-beta-1105","url":"https://github.com/Caldis/Mos/releases/download/4.0.0-beta-1105/Mos.Versions.4.0.0-beta-1105-100331.zip"},{"name":"Mos.Versions.4.0.0-beta-1102-221754.zip","size":7909226,"download_count":692,"release_tag":"4.0.0-beta-1102","url":"https://github.com/Caldis/Mos/releases/download/4.0.0-beta-1102/Mos.Versions.4.0.0-beta-1102-221754.zip"}]}},"commit_sha":"8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2","profile":{"lines_by_language":{"Swift":35082,"TypeScript":11989,"JavaScript":996,"Shell":558,"SQL":73},"files_by_category":{"source":269,"binary":139,"docs":111,"other":88,"config":63,"vendored":10,"oversized":4,"test":4,"generated":2},"source_lines":48538,"test_lines":160},"pillars":{"ai_provenance":{"score":24.0,"confidence":0.95,"coverage":1.0,"label":"explicit","breakdown":{"attributed_share":0.2396,"suspected_share":0.0682,"estimated_share":0.2396,"ai_artifacts":6.0,"flagged_work_units":5.0,"flagged_releases":0.0,"style_index":1.411},"summary":"Explicit AI attribution on 24% of first-party code added; an estimated 24% including velocity signals."},"quality":{"score":72.1,"confidence":0.9,"coverage":1.0,"label":"adequate","breakdown":{"complexity":73.8,"duplication":79.2,"lint":97.1,"testing":35.7,"docs":100.0,"type_safety":100.0,"process":70.0},"summary":"Code quality is adequate: test-to-source ratio 0.00, no CI test run detected; 10% of function code in complex or long functions; 4% duplicated lines. Weakest area: testing."},"security":{"score":59.4,"confidence":0.85,"coverage":1.0,"label":"weak","breakdown":{"secrets":100.0,"sast":100.0,"dependencies":14.5,"ci_actions":24.5,"posture":40.0,"scorecard":38.8},"summary":"Security posture is weak: 80 known vulnerabilities in 17 dependencies; 7 high-severity workflow issues. Weakest area: dependencies."}},"analyzer_results":[{"analyzer":"sec-scorecard","pillar":"security","status":"ok","tool_version":"scorecard v5.6.0","metrics":{"aggregate":5.4,"check:Code-Review":4.0,"check:Security-Policy":10.0,"check:Maintained":10.0,"check:Token-Permissions":10.0,"check:Dangerous-Workflow":10.0,"check:Binary-Artifacts":10.0,"check:CII-Best-Practices":0.0,"check:Pinned-Dependencies":1.0,"check:License":9.0,"check:Fuzzing":0.0,"check:Branch-Protection":0.0,"check:Signed-Releases":0.0,"check:SAST":0.0},"findings":[],"evidence":[{"kind":"scorecard-check","description":"Scorecard Code-Review: 4/10 (Found 12/30 approved changesets -- score normalized to 4)","ref":"Code-Review","url":"https://scorecard.dev/viewer/?uri=github.com/Caldis/Mos","weight":0.6},{"kind":"scorecard-check","description":"Scorecard Security-Policy: 10/10 (security policy file detected)","ref":"Security-Policy","url":"https://scorecard.dev/viewer/?uri=github.com/Caldis/Mos","weight":0.0},{"kind":"scorecard-check","description":"Scorecard Maintained: 10/10 (14 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10)","ref":"Maintained","url":"https://scorecard.dev/viewer/?uri=github.com/Caldis/Mos","weight":0.0},{"kind":"scorecard-check","description":"Scorecard Token-Permissions: 10/10 (GitHub workflow tokens follow principle of least privilege)","ref":"Token-Permissions","url":"https://scorecard.dev/viewer/?uri=github.com/Caldis/Mos","weight":0.0},{"kind":"scorecard-check","description":"Scorecard Dangerous-Workflow: 10/10 (no dangerous workflow patterns detected)","ref":"Dangerous-Workflow","url":"https://scorecard.dev/viewer/?uri=github.com/Caldis/Mos","weight":0.0},{"kind":"scorecard-check","description":"Scorecard Binary-Artifacts: 10/10 (no binaries found in the repo)","ref":"Binary-Artifacts","url":"https://scorecard.dev/viewer/?uri=github.com/Caldis/Mos","weight":0.0},{"kind":"scorecard-check","description":"Scorecard CII-Best-Practices: 0/10 (no effort to earn an OpenSSF best practices badge detected)","ref":"CII-Best-Practices","url":"https://scorecard.dev/viewer/?uri=github.com/Caldis/Mos","weight":1.0},{"kind":"scorecard-check","description":"Scorecard Pinned-Dependencies: 1/10 (dependency not pinned by hash detected -- score normalized to 1)","ref":"Pinned-Dependencies","url":"https://scorecard.dev/viewer/?uri=github.com/Caldis/Mos","weight":0.9},{"kind":"scorecard-check","description":"Scorecard License: 9/10 (license file detected)","ref":"License","url":"https://scorecard.dev/viewer/?uri=github.com/Caldis/Mos","weight":0.1},{"kind":"scorecard-check","description":"Scorecard Fuzzing: 0/10 (project is not fuzzed)","ref":"Fuzzing","url":"https://scorecard.dev/viewer/?uri=github.com/Caldis/Mos","weight":1.0},{"kind":"scorecard-check","description":"Scorecard Branch-Protection: 0/10 (branch protection not enabled on development/release branches)","ref":"Branch-Protection","url":"https://scorecard.dev/viewer/?uri=github.com/Caldis/Mos","weight":1.0},{"kind":"scorecard-check","description":"Scorecard Signed-Releases: 0/10 (Project has not signed or included provenance with any releases.)","ref":"Signed-Releases","url":"https://scorecard.dev/viewer/?uri=github.com/Caldis/Mos","weight":1.0},{"kind":"scorecard-check","description":"Scorecard SAST: 0/10 (SAST tool is not run on all commits -- score normalized to 0)","ref":"SAST","url":"https://scorecard.dev/viewer/?uri=github.com/Caldis/Mos","weight":1.0}],"data":{"date":"2026-11-09","commit":"8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2","matches_head":true},"error":null},{"analyzer":"sec-registry","pillar":"security","status":"ok","tool_version":null,"metrics":{"declared":30.0,"checked":30.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":1127.0,"attributed_commits":368.0,"attributed_commit_share":0.32653061224489793,"effective_loc":125999.0,"attributed_loc":30189.0,"attributed_loc_share":0.23959713965983856,"tools_detected":2.0},"findings":[],"evidence":[{"kind":"attribution-summary","description":"Claude Code: 353 attributed commits, 28,317 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attribution-summary","description":"OpenAI Codex: 15 attributed commits, 1,872 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2","url":"https://github.com/Caldis/Mos/commit/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"24f69433ac6a78f71d38005dbf64a43fb071aede","url":"https://github.com/Caldis/Mos/commit/24f69433ac6a78f71d38005dbf64a43fb071aede","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"3490b050be35532ae09e2567773a81059022a74b","url":"https://github.com/Caldis/Mos/commit/3490b050be35532ae09e2567773a81059022a74b","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"a73358005fddc38f94e60c341c5526cef837d178","url":"https://github.com/Caldis/Mos/commit/a73358005fddc38f94e60c341c5526cef837d178","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"924529b19778abe10765565b42fd0a0fcd8f1b93","url":"https://github.com/Caldis/Mos/commit/924529b19778abe10765565b42fd0a0fcd8f1b93","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"52d9dd88173d16f39581c950ce2afe78e48b2838","url":"https://github.com/Caldis/Mos/commit/52d9dd88173d16f39581c950ce2afe78e48b2838","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"a6ebddfc251261e4661f2a4b51383c630d5fc60e","url":"https://github.com/Caldis/Mos/commit/a6ebddfc251261e4661f2a4b51383c630d5fc60e","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: PR branch 'codex/fix-logi-late-slot-takeover'","ref":"40bc1603edf5dab9669f63bbd05526e8ed150c84","url":"https://github.com/Caldis/Mos/commit/40bc1603edf5dab9669f63bbd05526e8ed150c84","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: Claude'","ref":"ce00c3f9ca739a11a5e93dcca32d39795771af46","url":"https://github.com/Caldis/Mos/commit/ce00c3f9ca739a11a5e93dcca32d39795771af46","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: Claude'","ref":"452b2e30efd5f40ce673c62a9e9824a73f956a1c","url":"https://github.com/Caldis/Mos/commit/452b2e30efd5f40ce673c62a9e9824a73f956a1c","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: PR description attribution","ref":"5865d7fb28b1e1144568dc5a1615912e4bce4294","url":"https://github.com/Caldis/Mos/commit/5865d7fb28b1e1144568dc5a1615912e4bce4294","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: PR description attribution","ref":"f45e81c3ac26db20904d7cf3886b678dd7784891","url":"https://github.com/Caldis/Mos/commit/f45e81c3ac26db20904d7cf3886b678dd7784891","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: PR description attribution","ref":"e5565f3fb2a90881d8d6b3b2c492ed2a36a469e3","url":"https://github.com/Caldis/Mos/commit/e5565f3fb2a90881d8d6b3b2c492ed2a36a469e3","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: PR description attribution","ref":"84583a11e93848d70c2e72cab10376ff99885b90","url":"https://github.com/Caldis/Mos/commit/84583a11e93848d70c2e72cab10376ff99885b90","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"c48937fe1510eda5e50f56c0d47c271e4c13d9db","url":"https://github.com/Caldis/Mos/commit/c48937fe1510eda5e50f56c0d47c271e4c13d9db","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"a104489ec2a216f6afb7fde05ba6d8db39dba9a1","url":"https://github.com/Caldis/Mos/commit/a104489ec2a216f6afb7fde05ba6d8db39dba9a1","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"bc4bb4f43af2e2ebbc109cb127d6adb0c19d096f","url":"https://github.com/Caldis/Mos/commit/bc4bb4f43af2e2ebbc109cb127d6adb0c19d096f","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"688d113fdeb1fe755f23b5d7ca413858cd5c6155","url":"https://github.com/Caldis/Mos/commit/688d113fdeb1fe755f23b5d7ca413858cd5c6155","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"ac9ac8b62865ab464e2fbf59ea8ef8729f2b570e","url":"https://github.com/Caldis/Mos/commit/ac9ac8b62865ab464e2fbf59ea8ef8729f2b570e","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"3516001472cbc3db502e227d1061fb89a560fd95","url":"https://github.com/Caldis/Mos/commit/3516001472cbc3db502e227d1061fb89a560fd95","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"e66e8ec55a58804192d516bbb883d8b3681257bf","url":"https://github.com/Caldis/Mos/commit/e66e8ec55a58804192d516bbb883d8b3681257bf","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"aa5d47c2479eaa8abec0a270f70b56c578c75401","url":"https://github.com/Caldis/Mos/commit/aa5d47c2479eaa8abec0a270f70b56c578c75401","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"79e267c673e345b3220e19103685ad6a150a98cd","url":"https://github.com/Caldis/Mos/commit/79e267c673e345b3220e19103685ad6a150a98cd","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"0ac7d08c412786d36fbef69ddd4a15752f1ec7d6","url":"https://github.com/Caldis/Mos/commit/0ac7d08c412786d36fbef69ddd4a15752f1ec7d6","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"f3d489eb08c4dd89441424d1b100e881a3cd2b66","url":"https://github.com/Caldis/Mos/commit/f3d489eb08c4dd89441424d1b100e881a3cd2b66","weight":0.9}],"data":{"attributed_loc_by_commit":{"732de1cad9d552e91ff7f27234d184206e08f471":101,"1c6ef5c4a15872a5c4537d5fa9fb5ecf79f13259":1,"f9abec516150729ded16ff19948c244e4001bc93":2,"b8afcfc1c1d8677b5dc6382475553543033339aa":0,"425dd6c486691ef2e415481085265448ff7c16fd":0,"be9b7c8220cd335f1ac143d2c38a7f52a56a2085":0,"9d2a02d3a32c1c471e0010bef5c018dbd7cafd24":0,"bc5ec8e7084935e5df88e85f16c3284f4acdf52a":111,"ce6f40b141b5c16d566098633e257711259bd371":286,"b6e6169eb90c42d647047c6e38fd19001cfcf10c":4,"b2fc5f2b70191d445df4eb90fecd9444740c28bd":30,"5155ca51008db07b33cfed7254f54373c30ac7f9":1,"677d2051c31c41f99cfa66967b0202cb89e2635e":5,"0bec993ec254097299b1ac95ca01e37f88c926d7":4,"fea61de7e41113ce8cb9e8e736ae55ba1e998713":0,"2c668c562de94d40a3b4b0b164ea87a86f24064e":0,"72adcf812d1f74a73573be96942a5eb73a8c0579":0,"c3cd9ac1d9d11e323ebdda635e73f6cfeef02e84":0,"351d61aac4aeb917b5f21b685525ea7f40e919da":7,"80c0ed94271f3b1a20d0cbb01daa5f41816e19e0":0,"a80e0b97a014e5f6f0cbb01b04cf0be18c468105":0,"827c0bfb713b76132bf66049f48ceec71b03eab4":0,"3b712feb882d8765568c53abc943ce9a96c2dd1d":0,"675567b8c4ca6bc7095b37aa5297031e47a19fb4":0,"beb7cb6999dedebc13f1f6fa931ec72162506832":0,"283cc0451ef05267d45dd5fb15a38446c328ff46":184,"05b89a419942146782d8fb905c91990c61938439":42,"4b7c199cd6b09a574a86088c09f42c001d3d9bcc":37,"5fdff6a71b53119e164ab2cbfdf5214d51ad8940":3,"276411c05077646874cec3294ac3218ad3a6fa8c":6,"856f6e769388cffbcb4615710f1db20e9ab28aad":53,"c2b727a5f5524fd0b28ba4504d2bad934e5a6074":3,"7ec36550ece1cde35fb5e316b372796b3bf12831":1,"c246c9a70ea7938d43fae74b4a9e43672d5c9f60":126,"3922e54add8af26853b42d757a44d6064de1046f":270,"f3d5b3059e02949104141503f4d3af43e6b55fe4":5,"09de0c075a2c07c552f4a0508a46c813b70bc4fd":7,"d4706fc424366a2f458d448be3755aa9aa40ef47":1,"3c4307c08e6743dc74add5e2d81ee2ffb54ae397":362,"47d2a98e68a475800a823b2ec585dceb1e2fea8e":6,"4ae97d1435e68ee26437cd56543ca8b95a323b7e":9,"b09b724becb630023ad8de8bf76729405a850923":9,"3ff799c7ea051faad13a26aa1122db544e8ae9d3":113,"3f9947b37f801ef1cf14a0b084d92237f136e5c3":27,"3931e666910156645e4b5b4d59ca4895cccfc154":7,"27f69a3a9d28ad0c6957f0257494279f2dd009a0":109,"0795881aee06936d02ee378e19ddde5e29cc009e":50,"bd3c431e4498410186b0deac36a84d0ff4fa324c":25,"a9c6e7a3960e08cd002120eb8e92b6876ae2e71a":2,"ea68419a61fa7c3a45fba2178987437be7eee969":19,"d22d1dbdc3646e8072fd3b7e42c4ee6ccb2f30c6":592,"433d063bff8734f970b85f1105abf3bc8fde955a":18,"277549fddabe543d0779f8dd14f39f7446e9381b":17,"5a1564a31bce5f12ff3984bbd55b1319fa709307":29,"358da28872a153f883e04b77ac69be7dc6dd04d5":46,"ca2a3c0827ee65f4dfecca2a7fcae3de2424bbfc":6,"47a510dd310d9434acc711cf1d3cce7699c7faa6":85,"bd108239854f5afef8ba1ad7d744f61f012fe57d":4,"b5d95dfe71d20c3cd2810bd469e94ff05c5fca3d":12,"4d67dee0b5c19960fc68616f56ab7a1e36143132":4,"4482ecce1136a1c5bb24feb08e187ddff716bd5d":93,"eed6870f4165d82a7e799ee159f78211182bbaa0":7,"839bcf171c93e384eab6b6802a063dd917bc5c86":54,"26d587c67638aa6443dbcd30f858d1c595ecacfb":2,"05f4202901f08f345edbab68038cdea795f65304":36,"65d8ecc82725ebcca4823787007b63315d4de108":30,"d579689bfc8d658d22616b701d6226c01ded46c3":9,"14b3d4257dc4d305b5c8aadfe16caada4a94460f":2,"50b7652ea03c11337969c333f37420bc165bd270":54,"afb16a0c28f25a1754f3b9e1e75679f034e93025":28,"b6f62d8500ba496d87445a6d06258080ef7c421c":34,"ac72ebd15b79b6325f998c114ba70e8a1d00bb42":144,"bdbcd170792aa620216287818b113a69a6954e48":1,"6434b9672a36b2b1a241d680f45056d7c235489d":79,"ce585e605f7972264eabb786daaf3e9487b66ae2":1,"c8e5d99ceafb6d6c0a089766a98c91df2fa595e1":0,"3cb2fd24c41c22f380ee21936129d23e6b09b79e":1,"15121ac44dc2892bf6e2d4f92a6c4368fd447a52":0,"fa26b6e085b6297c8cb57ab1b1b96fe837b982d8":1,"5d3046cf66f8a0646fdd10801688fee7345b2406":1,"bcde84f7dc6c4b809a1b786be07676b59a6afa56":0,"2135e2a50e87bb18f22ddedd8385654cc42fec56":0,"23ab1bac75660739ca72b2b555d41cd4015a5a24":5,"f01807d7897d2fe2a2daf5a48c8b478893e2915f":36,"fa00aa47179e78755acaf764a0692bf1bc69655b":3,"4a35317cd87921103edc44fb5bceff87096f8ad3":1,"56ce44e0e29403f1c2da1c92695abf5f6220e780":0,"0df183604434acb8fb09611e289fffa166649a4a":1,"75d2760823f8c2a06b7884f4d75b6ad4c01c38f0":51,"d9e60551f23d0c3eb68eaa5753f99e1adef3559a":1,"600df0f832e21d8736e739fe59d7d7519aaf3340":5,"6b9e76686b6228cb317f80a1964345a67c04b7f2":17,"90198aaaffa2e52276238cc1562317067a0b6ad9":156,"0366a8dd4f7eff0020d4cbd356327d57a5841c2d":47,"14a8528d1b335982b37997bfada337d25acebc7c":8,"18a3fda85e00363503db391a790c07c16bc5a85a":7,"541fc4771df8d4963caf66234a5636e67cb5e04b":6,"1390e267e79868e1cceef735e8e9b8e9773cc520":410,"a637fd7a57778a262aed20c6990e6b60f8b886c4":8,"4a51547fc9ed25d52ec67c3fca829952162b6df0":95,"4b29311a6fc76ef4709cd845fad0bc4680693edb":3,"e01f8a3432bed4e32ccc8fa0d3b3b75d2c72f42f":6,"5a7c2f6bf766cdddeb0e9b932c7f709357d58db9":22,"ee88dcd9d56e52845a47442abe34b93eb36c667d":172,"20db66182bc2ee5c36c1d2a37c9995148c6645a5":486,"9e8a599724ad7251970d62c0a7589b69037e2f5d":196,"bc0cbcc1f0fb0959c7c1b05a60d80d5f7df885fa":0,"bd1970beb0cef5800661ff404f68c24ad57d4f40":0,"b8b38267ab07a108052d3c65026d8771d451d749":0,"4b4cc2655c650f698aae48b6ed9accbbb3624f13":0,"02519963a214588d643b9fb4ab0ebafa6145e7dd":1080,"5fadf4d7e57784d17d3ae73c281ed794160df299":0,"a9fe6dfe0fa1d29c4fc4abe9d462c186b9b402f3":0,"9bd750d5182372ce20d4e712731381287de63a5a":1218,"6a1ded74d5d2068602610bd1f969ba0baa8fdcaf":44,"f6802dd0009f7199bf838af4ee4024e6adb6b34d":16,"aad2422f4ef0ac8660db7c6abb97a5b8046db698":0,"73300563cec8bdadfbff31fb1ef0abe9e99e53dc":0,"45ed6ccdff69cdb2bad7cfb75485cfa0efefabc7":23,"657745ac1cac3d44a42bfdd7345f6a8a563edee7":62,"fe9d0b338c76f51d5ecbcea6c9357430f277bb34":19,"8638e75317d572df81ccd6e738d87515202b4eae":1750,"6ccd4742681d7e6f80108ce7660e6d2f74786a35":479,"6cbfe343cef6a87644ab913d903c83b3f3ea3645":43,"157a9a5daad2ec32dc1b397f196b0abbff561a13":12,"50758827f94cf258347589c3a849e771a79146ea":26,"cf8994d50c4eeaf76070a31a52e9dd8958654a9a":0,"8fbd2fe985dd58aebffb4361c1e94d5f5e36fdac":4,"bf17755c5ccf4e8091f9b2c2763293d3ffa1ca54":4,"0d9e41482c35246f333c01b84807bb17845ce949":4,"8d031263605648919d5429aeb724c21ea34db568":10,"4bb9a705ce186acb2afd9a8742a572f45e7e20ff":0,"4baa1e1c2de7a7d7466569006186a9b1608f579d":6,"61c132222bbd6f4d53310a1f8dc6c3e21e0941d0":7,"944b7ca7aea4d2022d8f2993b66dd8566fe31ef8":9,"b7365ff4e74f94e7bdfccf0a9a8d71d455b349bd":0,"f521cca59ecf82a6b449dffb35208d24c99c8543":4,"6c732673b0ac868ab5cf43c6c840bc1ed4c73c8f":67,"27b6279392d27225abee3a242ed5100ff0dc7a65":0,"7cd10fd00942d149eed1d2d8a4c537e091a3d4d1":155,"13f8104dcb3a55c007c31c942f943b5e0bc5f665":51,"75caf53afb4e89eb0d45b902b36810955fb15d72":147,"463abc006be25a278132b221a663dcc9976c0ec0":11,"067939e11050655fd59563139a3bc1d0203d9e2a":155,"78bc8967d41ff0d4f35ae6587acb28ec6c9b5a49":18,"111c6a09a603618b9c54eaf44e69d9c520f78c31":112,"0ec2e7d6a513a6d35c1ad12ddca13a084d94f858":10,"675ee25163317075669bec4a0d141a4ae41cd007":4,"c389b72f706a2e1ecf2ccc6846a42849b8a0bffe":4,"280d7e2746420e990a33c6daa9d3cf48f0701e28":57,"c3734e6cadcdb1c5c6b0206b959f69cc6166e729":47,"fb6bc125fc48a7ada3a69c1cba8a91b420c9cc1f":40,"946ab6709600a6eb68bb74d2548b0bd4c8c3419c":82,"f5d274a87b23c09664e33db1b9b5d7776b295625":11,"4e3e0301f8bee9672e4cd976af50deb17f1ab1f8":8,"6134fe2c1fe7fca87f3e6b8b7dd7db5050264a13":24,"283c79bab029c1c2559cccb6d59621614eac7d47":5,"1024924168f58796d7b3dafcdb13bfcc7d9861f3":1,"ba2a542858e047d3fc4ba9eb515fe1976b8e409d":55,"4343bdf7921bfff1e06df8808d4088d3d3d0b889":9,"6cb8448e9c3be060fb9a927c75b40c2085d9a657":101,"493db5bea417a8d30c7f019d28fbeca0bf0074f0":0,"7524884040410af6353203d8f5fcca0b8f612dde":534,"2c624129af552e10ded7ca6b846355a36599f408":3,"7051438aed2afc814fe61a3268742c5906f62922":12,"f39d129cc3650a76b7c097d1ae82f1a813be8862":69,"613ea3179307e38291aab2619c468e8eda35acc4":80,"961359a8e824582f2c7cd3e448ba44ee3cec38e9":7,"49c5b6d141830c6c8e2672766b3a3905797c35c3":9,"7014a5f252b65ae9ec51bb4bfd668a7a5efc643d":44,"867daa53d4c9c0e79494849d56352e5707c0de73":12,"69ed2367213036f618d53f0eb47cb545e01e5336":569,"fde40abef25aae04fc2189218d6f77bb9ece394e":40,"195908a06c7973a0f18698ae079d1ece64181eef":8,"b49c0af117d062aff283d344489793ce72425bd5":394,"71497805f4b9d7edd99eba3496288ff6aea88ae9":0,"68535f8b049a8f8b535dfd4d5e6c0ea8683a1177":0,"0983d563a9b2c0b924030469c2eafc5ea56d0133":0,"79f70905046b1ea8f9681728e95c701550b183b4":0,"0bca526c99c4a6a14181556612cfd2cf3fb31458":0,"8a0eb3af35804db6cfd6e5feba7638d1d8f82c50":0,"c7283397792b97938ef669dfb0488117b1520833":13,"84518f089352409bb143bc1a64bf10a53752f669":22,"8eeca5e114974d8b98cea964f194e7d8c6076e63":4,"1863f54f3689a2bcad5bba52490ac05a5b44c44f":36,"d9b18d6a69c9ffd160019c9ec37bd438da3345a4":0,"89e9c16723108e4488ab185aaca2d91c3abedfa7":251,"fa6a0718cdf1a2682607b0a67601aee85ef06ed6":0,"e10b464749c54643c5c8b65b951fc4325dfc8560":22,"7a2549af90a3b008a942afce86611089adef5f52":39,"13b3f540ce19344ee55bcb43ceb1e823c2f9b347":0,"588f625806a8b853adfcf54d8e6aaa7663c0b9a8":36,"77728280396756f5c05433c4423d3acea5cdca4d":132,"4d6ad922ebab28bc4437145a6937b94dae43a783":6,"5cc1f1d86b5d5debea7c7e8d19d5585d34569b84":3,"243af16a26daef0507207e220d318deefdbca727":12,"fbeda474f247a28c433caca9ade4ec8fbbd08542":10,"06edee70007a9915845417b0f5d80769862c2425":6,"c1a999b68d690049f61df3559d2c11bc684fffb1":31,"8bc6ed9eb43f231fcefe04a0c2f919af54d40d84":2,"bc6fa815991f5a9ca90b2baa91a48aa1855bc711":17,"ee7868c0a7d98de92e63c1e02c0f6a6486a98c42":132,"383aa7953932e9cd8e0b884c9322ebd68e56579d":15,"6dbc007d49b278f7c0e16106e933496a68b96786":22,"ef0f26130ed8340dfc3370782bb093288727e9a5":11,"38aab3bcf01658bb2ac63ee9d8d7e605140f9dd0":8,"9be24baa7be4be32fba67c41aad5fa2d789a2c05":102,"385de6d442b2018c68767d2f9af808d1779340f1":10,"54988ed864a699e0b7a8cc9a2fef916d1ea95d92":10,"80f4784f6000882d02d330908c5b1f0cc15bab15":61,"5a1e1aabc465e70e87cd9a1268d4c5f8e9bafbbf":48,"ea5af78363f402b3e183a55cc161190f966c1fa5":77,"b496ca0ae9370b0a62eb2f3ad53c66f2d8f8300b":0,"73d392be31ae2758b7fa7dcba89456d5ee12160b":1,"d7ea1b57ec76c0b7f03441ce353b14fec5dcb43b":4,"e3811ecb3291c3ab0c1ff75107289dfffda19af8":52,"35d325d7a7491da59cb5040e0130b583abdc4494":0,"8ffdd44dd4f5e9d510e718e1412c06be64b93468":33,"d8fb4c123376e0a571263f73b7ddd389398cfb71":42,"a04d3fd06dc7cf939746bcbf456c67d151b708ba":69,"16dad66b0d0ae6eb0a05d328797f8b4dd697e11f":104,"ab05421146d34cb3a17249213891d6e394ddc36e":61,"86a23312ba96690397b1adadd23b317bcd93c49d":8,"355003bcab02564715e38765f98472b1d4a0a999":0,"aa614de7d08abc3bc9ff9aa078cb8d8b9080b5fe":81,"a40efdffd252de0df32be9c2ff6405b50d2d990d":136,"53c11faa7f491c967313f1fb3f1a4e54b37141bc":141,"006bb4064361388396e6b8534ea7899b35329b4c":0,"e4edb5231aeb1ed2ca5c2aad1dd1291b1160178a":0,"6155fb9c0b9b6c04267880d3f5a8c7e3134d3299":176,"755530c8bb908d56f2a3dceb8deec59d5c1304c7":107,"00c61474dc86bb5b03e7f1554bcb5d9a2722f9a5":115,"e7a966f348faf6725f85a2e1b890799a18cd7582":90,"64425c5767a4b0dce40441f3e64dba9635afd651":104,"e59bbfbb710ee2fd3cd216b336e02a199a8074b9":41,"0aa2c2fd7b2a3d42d3b76ef8c556635f8d7737d3":159,"3646f89665d0a538857e476abbf2a6a96ddf34b1":38,"89f012480e3e21d98130d7f265b844141f35df2c":240,"64583079910fa26951ae1de3eb082d59b69cfe6c":252,"25ea95292de46a8e31bc66980f74e3dd7829211f":119,"249835c9cc315e0ebeedf58c06ecd841dbf60efe":96,"555ca9d6df5623c98a5b2ad47a312aa44b2f6903":242,"e54f7911b269d3421c4d20316eb331f4137f080f":231,"b244bd704947a3a74af86973970f17e328d3cc85":190,"665379df84f40aaf99ba567caf51024aab1cc4c8":3,"33ee2652b906d7d8ca18533eee76d4ab61d80ce7":18,"5f6d6fcfab86ffbe1257c7ad17e3badb09c26b34":4,"4ca9bb7a715ed47922b8050fe9f4e1443812934e":130,"7289bc51e7e923b2b8b7c1f1211aeb2ba4061d27":36,"f1ae29ff3058843ec3bf688b8b4a4a02ca7c9266":70,"3c8eaeebdf41aa11349b70bc9fd839c0cf5a470f":34,"9a923f59a511501a9480e54254a5c90e2cbbac1a":0,"90d6fc1c92e357c9a188caabd7e90ff3c18f21db":197,"5831767e8c22f3abbaa3a922edf749486eefbee9":160,"333e59a399d041d47566c2174fdb8943e07cda1f":82,"5e5df7275e4d4fb1d1edafd4604859eb0d91274a":24,"32f1bcae5f567bd175c9e822f32147ec5746d1af":433,"2beeb0f17dfeec08b5342bde7c301fc2b71e7a20":0,"82ce1bb388b97966fb83338ac8495319c87c001d":766,"a194cb0e7404260c03dc2994a34006bfb4b5e44e":0,"0f39e97394d6c76c9be155923ccbbfd021b8725c":0,"3be75a2193a89950ca7f54ef161d076c67fffe8f":342,"b64988165b9058bd09614a59573ead13d2a6be61":240,"6c419a6ebdbd63ce060cb9594acafa9c8bc3d3a5":238,"f337d8cbf2bcbb943cb30e8fc77e3c8d236342aa":3,"8df84dcaade71b399ac361aadc5141ac3b31ce91":231,"8b160003161d8bd74e42978fd8f1e89905143093":0,"8b0fc02c6f9c5c54e213b406bb783055152487d6":0,"04a5d078b991b96cabf5dfc29748beb283752154":2,"0cd35146407007169a65712f934fa52cad7de2d8":9,"0fad40f0468b1ff7b21701542d8591ab5005a539":2,"2e031fbafacb8fd35c388b7c22c9cdb17b46436e":24,"000f8d8215ff3aa88a3087f775c618e91903a8fa":42,"aae95f2a6c496272297210be6efd5b6305912b2d":66,"48eb6d2237132aaa89f8deb4a661c860fda502c6":51,"75c1f3cbbe7b2a32cd99c2cc524c2be690425f42":7,"0e90fa18059ded537a72e6e927b20f1377b4c8aa":0,"31d591cf93b86939e517928d4bd5db288ca63f5d":1273,"42541f477a78469ddfe431c1bfb8b55350584c3c":48,"c5b4d460c36380b784f650688840626801ce9b8a":70,"478dda7114895d3bbd697cff30bd3d52dcc78fb4":141,"1bc2439812fc1149a57e094c704ba0f419006faf":53,"06fb5dc5a45c26a9e7a5126883a92fcc776548b6":5,"208f922ee795960d62d25f32a11b5f76812e87cc":22,"351c5bf4480771bf4d115bcc03c57f73b44b8e02":434,"180750dc0efb76be441fbed7dcf6817e1af6368b":0,"e88a861e3ef039f1d8bdb0985fbee63c3c5a9f9d":12,"c1c532036453bd86d7b2f2dbfe0fe8737c42977e":0,"6fcba8c5d12946bb64cf06ed216d9505813eaddf":3,"749d4a43efc0481912620f0b17b67959bde16f65":108,"9769a7f065ff5cef5e1c6a5f5fea120a98ab3c88":1,"087ec32bb8006ad90fd74cde3b4b60598f51d80a":18,"9754c98339d3a9b2716a11169739dd7298817e5a":3,"8411c423628052b525981464712d08cd52f393d2":7,"b35293b127e6d2791107f34e91c9dd071b113f3a":27,"30c29599236c8ac7662ff2375b36812520801362":39,"4d866db65dae378a5de469b91963f27df9fe5800":405,"d7c4f1a9f5b93b64ce72384a99eab6adc9f58ee3":164,"06a2ff484c9441ec4c69befd4c04814c1abfdf22":4,"5840ddd2c8c8b53ed5f9e58ce60cb61029954db6":18,"35296ca8a5fad80602944044275bf27dc69e47cd":66,"9fed6d4e0c681da52e6e9b3548afbf9535f30426":299,"58c3bc2f91bb3d7c7d10df4c90d86347157e11be":660,"82c10d195754409f01c7e79ae24e6cfcef301066":0,"ebf0e7d832b2154636c8bf6dfe94cbb48fda5057":0,"f1fb2b2a990a2484c2749af45610274073ea6557":0,"a52a0d0f1f2ae6bbaff6d7bc763fb9beb6f62c75":3,"7f39a15fc4ac4c07a568af0a8832b5ef4022ad14":200,"5ec2afbe3955fd40c549edc5c8db054d7a00b599":25,"d967403f7a15ac5c06978bbf8220b4157c0911de":53,"bd4eaadeb4a127f4d20b7fa9715a593e46db0259":0,"13a2e8e7a0bf8ab6ab2592aa1859ffbc8d0b3788":16,"c458f00c3c1c924e63d13f9d09c6226c344af191":0,"fe19977a0ecaed8e0c36bf8219c673fb05f88390":36,"6d9d2a980cebc114c853206f6356497d8724de81":914,"440ecbbbd45167ec020c4a2d68874faafa10243b":96,"3c330da4352fa9e454bacfa8782bfa2182e775d8":39,"38e5b7471661856c7161227eda4eba3107ef31de":62,"6aac533d1f74550ef6b33018bc1ef9b55e892bbe":147,"85366348c789e320f48b32470f2f27b1f93ec48e":4,"abe66ae004a2896166e14b06809febae916c299b":19,"3df79c2c01fad459e591678315e23cb1b60e108b":4,"c6fff0eabc4a892c349c2690232ee5ff8c370d9e":46,"f39eec69e3c9b6e053bacec9ed0fb3ad6362e4a3":31,"f29e50bd12d6266cce00a59fc0906886e6230b31":24,"af0941c40956c66ea847bf59c1e8d92941afe819":15,"7205adc7af8aa983dba992e312ba79776953617c":66,"e801978046bbe94a748c14b58c79b820eb5e41d0":40,"9bcac63dd1ae8db92ac1d144df6c9166361084f5":19,"cef209786fa1c731eedbd96f4261586fe3c51cc3":57,"e273a0329f6ad70094da923d3dafef65938f724e":18,"1b4508e01ae5b0c1cd063526cb41903c7b7a47c2":20,"095cd39e52fd058ea5e8aaf95945dd1cb20aa104":26,"f570dfe76c8c0ebe7123cf2c0f41d6575f0f763d":311,"b95f94bf524493b60470e3a9e62235c8c49e7537":41,"82600bcb7a5c92ee513fd002aaa6ccbac021452c":13,"530e1c7403518ed34ec4d6c29101dff5812410c6":25,"cfd6d0997093dc5c91760de7c8b00f2d186c03e4":36,"23d70838e6c46f1e53c1000f652d3614c5219abb":286,"f23c1cc16607abd273a0cd999de5092ea5f3c33c":32,"59ef65004cc004ac1f421034b972015fdb7a0146":0,"0f95d9ed92b1b772692cf508eca583536658d095":0,"c901b39df7ed224d48732afd3e6d2b4d38d4fe94":0,"f3d489eb08c4dd89441424d1b100e881a3cd2b66":65,"0ac7d08c412786d36fbef69ddd4a15752f1ec7d6":16,"79e267c673e345b3220e19103685ad6a150a98cd":76,"aa5d47c2479eaa8abec0a270f70b56c578c75401":0,"e66e8ec55a58804192d516bbb883d8b3681257bf":1,"3516001472cbc3db502e227d1061fb89a560fd95":61,"ac9ac8b62865ab464e2fbf59ea8ef8729f2b570e":0,"688d113fdeb1fe755f23b5d7ca413858cd5c6155":475,"a104489ec2a216f6afb7fde05ba6d8db39dba9a1":71,"bc4bb4f43af2e2ebbc109cb127d6adb0c19d096f":69,"c48937fe1510eda5e50f56c0d47c271e4c13d9db":1757,"84583a11e93848d70c2e72cab10376ff99885b90":0,"e5565f3fb2a90881d8d6b3b2c492ed2a36a469e3":0,"f45e81c3ac26db20904d7cf3886b678dd7784891":36,"5865d7fb28b1e1144568dc5a1615912e4bce4294":49,"452b2e30efd5f40ce673c62a9e9824a73f956a1c":180,"ce00c3f9ca739a11a5e93dcca32d39795771af46":179,"40bc1603edf5dab9669f63bbd05526e8ed150c84":69,"a6ebddfc251261e4661f2a4b51383c630d5fc60e":0,"52d9dd88173d16f39581c950ce2afe78e48b2838":0,"924529b19778abe10765565b42fd0a0fcd8f1b93":0,"a73358005fddc38f94e60c341c5526cef837d178":251,"3490b050be35532ae09e2567773a81059022a74b":0,"8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2":11,"24f69433ac6a78f71d38005dbf64a43fb071aede":0},"tools":{"claude-code":{"name":"Claude Code","commits":353,"loc":28317,"first_seen":1759728774,"last_seen":1787244150},"openai-codex":{"name":"OpenAI Codex","commits":15,"loc":1872,"first_seen":1777205571,"last_seen":1787239040}},"monthly":{"2017-01":{"loc":38025,"attributed_loc":0},"2017-02":{"loc":2688,"attributed_loc":0},"2017-03":{"loc":201,"attributed_loc":0},"2017-06":{"loc":0,"attributed_loc":0},"2017-08":{"loc":254,"attributed_loc":0},"2017-09":{"loc":10,"attributed_loc":0},"2017-10":{"loc":3307,"attributed_loc":0},"2017-11":{"loc":336,"attributed_loc":0},"2018-02":{"loc":9259,"attributed_loc":0},"2018-03":{"loc":1096,"attributed_loc":0},"2018-04":{"loc":645,"attributed_loc":0},"2018-05":{"loc":177,"attributed_loc":0},"2018-06":{"loc":110,"attributed_loc":0},"2018-07":{"loc":350,"attributed_loc":0},"2018-11":{"loc":20,"attributed_loc":0},"2019-01":{"loc":92,"attributed_loc":0},"2019-05":{"loc":0,"attributed_loc":0},"2019-08":{"loc":4,"attributed_loc":0},"2019-09":{"loc":0,"attributed_loc":0},"2019-10":{"loc":1896,"attributed_loc":0},"2019-11":{"loc":395,"attributed_loc":0},"2019-12":{"loc":47,"attributed_loc":0},"2020-03":{"loc":260,"attributed_loc":0},"2020-04":{"loc":4,"attributed_loc":0},"2020-07":{"loc":0,"attributed_loc":0},"2020-08":{"loc":0,"attributed_loc":0},"2020-09":{"loc":8,"attributed_loc":0},"2020-10":{"loc":245,"attributed_loc":0},"2020-11":{"loc":675,"attributed_loc":0},"2020-12":{"loc":621,"attributed_loc":0},"2021-01":{"loc":42,"attributed_loc":0},"2021-02":{"loc":252,"attributed_loc":0},"2021-03":{"loc":0,"attributed_loc":0},"2021-05":{"loc":0,"attributed_loc":0},"2021-06":{"loc":8,"attributed_loc":0},"2022-07":{"loc":0,"attributed_loc":0},"2022-09":{"loc":116,"attributed_loc":0},"2022-10":{"loc":31,"attributed_loc":0},"2023-03":{"loc":108,"attributed_loc":0},"2023-07":{"loc":0,"attributed_loc":0},"2024-05":{"loc":0,"attributed_loc":0},"2024-07":{"loc":19,"attributed_loc":0},"2024-11":{"loc":0,"attributed_loc":0},"2025-01":{"loc":1597,"attributed_loc":0},"2025-02":{"loc":78,"attributed_loc":0},"2025-07":{"loc":0,"attributed_loc":0},"2025-08":{"loc":1158,"attributed_loc":0},"2025-09":{"loc":4422,"attributed_loc":0},"2025-10":{"loc":2803,"attributed_loc":101},"2025-11":{"loc":35,"attributed_loc":0},"2025-12":{"loc":17,"attributed_loc":1},"2026-01":{"loc":700,"attributed_loc":0},"2026-02":{"loc":7379,"attributed_loc":433},"2026-03":{"loc":12828,"attributed_loc":9512},"2026-04":{"loc":13132,"attributed_loc":7692},"2026-05":{"loc":7910,"attributed_loc":24},"2026-06":{"loc":9280,"attributed_loc":9279},"2026-07":{"loc":2428,"attributed_loc":2372},"2026-08":{"loc":931,"attributed_loc":775}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":6.0,"workflow_agents":0.0,"tools_configured":4.0,"earliest_adoption":1754819821.0},"findings":[],"evidence":[{"kind":"ai-artifact","description":".claude/skills (claude-code configuration)","ref":".claude/skills","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/.claude/skills","weight":0.5},{"kind":"ai-artifact","description":"CLAUDE.md (claude-code configuration)","ref":"CLAUDE.md","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/CLAUDE.md","weight":0.5},{"kind":"ai-artifact","description":"AGENTS.md (generic-agent configuration)","ref":"AGENTS.md","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/AGENTS.md","weight":0.5},{"kind":"ai-artifact","description":"website/public/AGENTS.md (generic-agent configuration)","ref":"website/public/AGENTS.md","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/website/public/AGENTS.md","weight":0.5},{"kind":"ai-artifact","description":".cursorrules (cursor configuration)","ref":".cursorrules","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/.cursorrules","weight":0.5},{"kind":"ai-artifact","description":".github/copilot-instructions.md (github-copilot configuration)","ref":".github/copilot-instructions.md","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/.github/copilot-instructions.md","weight":0.5}],"data":{"artifacts":[{"tool":"claude-code","path":".claude/skills","added_at":1771784595},{"tool":"claude-code","path":"CLAUDE.md","added_at":1754819821},{"tool":"generic-agent","path":"AGENTS.md","added_at":1777911319},{"tool":"generic-agent","path":"website/public/AGENTS.md","added_at":1778329716},{"tool":"cursor","path":".cursorrules","added_at":1778329314},{"tool":"github-copilot","path":".github/copilot-instructions.md","added_at":1777911319}],"workflows":[],"tools":["claude-code","cursor","generic-agent","github-copilot"]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-5","metrics":{"work_units":366.0,"flagged_units":5.0,"pre_ai_era_bursts":2.0,"pre_ai_era_measured_loc":16349.0,"pre_ai_era_burst_loc":5367.0,"measured_loc":81321.0,"flagged_loc":10147.0,"flagged_loc_share":0.12477711784163992,"max_loc_per_hour":1775.0621669626998,"median_loc_per_hour":78.52641783809985,"pr_timed_units":12.0,"excluded_import_loc":44678.0},"findings":[],"evidence":[{"kind":"velocity-burst","description":"1,388 lines of first-party code in ~0.8h (1,775 lines/hour, 1 commit session)","ref":"309a8a9f66415f1f97d8af179a81862a57ee4be6","url":"https://github.com/Caldis/Mos/commit/309a8a9f66415f1f97d8af179a81862a57ee4be6","weight":0.5325186500888099},{"kind":"velocity-burst","description":"1,218 lines of first-party code in ~1.2h (990 lines/hour, 1 commit session)","ref":"9bd750d5182372ce20d4e712731381287de63a5a","url":"https://github.com/Caldis/Mos/commit/9bd750d5182372ce20d4e712731381287de63a5a","weight":0.29700609618424023},{"kind":"velocity-burst","description":"3,592 lines of first-party code in ~4.0h (898 lines/hour, 1 commit session)","ref":"2a573bee5d7781981ef4858a2d9f0b96bb28ec41","url":"https://github.com/Caldis/Mos/commit/2a573bee5d7781981ef4858a2d9f0b96bb28ec41","weight":0.2694},{"kind":"velocity-burst","description":"2,395 lines of first-party code in ~4.0h (593 lines/hour, 2 commit session)","ref":"e86040647095889656b24e3a4d4eae8aae287883","url":"https://github.com/Caldis/Mos/commit/e86040647095889656b24e3a4d4eae8aae287883","weight":0.17801789401238813},{"kind":"velocity-burst","description":"1,554 lines of first-party code in ~2.8h (565 lines/hour, 10 commit session)","ref":"bdbcd170792aa620216287818b113a69a6954e48","url":"https://github.com/Caldis/Mos/commit/bdbcd170792aa620216287818b113a69a6954e48","weight":0.16945880452342488}],"data":{"flagged_loc_by_commit":{"309a8a9f66415f1f97d8af179a81862a57ee4be6":1388,"c64b768e3bcf2cc349825d268a51abe6e4574d1e":2386,"e86040647095889656b24e3a4d4eae8aae287883":9,"05f4202901f08f345edbab68038cdea795f65304":36,"65d8ecc82725ebcca4823787007b63315d4de108":30,"d579689bfc8d658d22616b701d6226c01ded46c3":9,"cb06d8478911b3c32bc06b1acd09bc1d8593bc6c":1216,"14b3d4257dc4d305b5c8aadfe16caada4a94460f":2,"50b7652ea03c11337969c333f37420bc165bd270":54,"afb16a0c28f25a1754f3b9e1e75679f034e93025":28,"b6f62d8500ba496d87445a6d06258080ef7c421c":34,"ac72ebd15b79b6325f998c114ba70e8a1d00bb42":144,"bdbcd170792aa620216287818b113a69a6954e48":1,"9bd750d5182372ce20d4e712731381287de63a5a":1218,"2a573bee5d7781981ef4858a2d9f0b96bb28ec41":3592},"excluded_import_commits":["463ea9f1310bd023f4dceb7aa86fdaabef4add2c","eb044415cd9a39e8ade7554a702aed74cd067097"]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-5","metrics":{"releases":33.0,"flagged_releases":0.0,"max_loc_per_day":936.0},"findings":[],"evidence":[],"data":{"releases":[{"from":"1.0","to":"1.0.0","loc":2560,"days":9.02,"loc_per_day":283.7,"flagged":false},{"from":"1.0.0","to":"1.3.0","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"1.3.0","to":"1.3.1","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"1.3.1","to":"1.4.0","loc":374,"days":4.12,"loc_per_day":90.8,"flagged":false},{"from":"1.4.0","to":"1.4.1","loc":72,"days":0.96,"loc_per_day":74.9,"flagged":false},{"from":"1.4.1","to":"1.4.2","loc":39,"days":0.04,"loc_per_day":936.0,"flagged":false},{"from":"1.4.2","to":"1.4.4","loc":8,"days":11.01,"loc_per_day":0.7,"flagged":false},{"from":"1.4.4","to":"1.5.0","loc":262,"days":30.93,"loc_per_day":8.5,"flagged":false},{"from":"1.5.0","to":"1.6.0","loc":202,"days":148.97,"loc_per_day":1.4,"flagged":false},{"from":"1.6.0","to":"1.6.1","loc":67,"days":12.64,"loc_per_day":5.3,"flagged":false},{"from":"1.6.1","to":"1.7.0","loc":3641,"days":64.2,"loc_per_day":56.7,"flagged":false},{"from":"1.7.0","to":"2.0.0","loc":1664,"days":140.26,"loc_per_day":11.9,"flagged":false},{"from":"2.0.0","to":"2.2.0","loc":957,"days":11.63,"loc_per_day":82.3,"flagged":false},{"from":"2.2.0","to":"2.2.2","loc":49,"days":34.35,"loc_per_day":1.4,"flagged":false},{"from":"2.2.2","to":"2.2.6","loc":287,"days":23.66,"loc_per_day":12.1,"flagged":false},{"from":"2.2.6","to":"2.3.0","loc":350,"days":37.33,"loc_per_day":9.4,"flagged":false},{"from":"2.3.0","to":"2.4.0-beta","loc":20,"days":118.64,"loc_per_day":0.2,"flagged":false},{"from":"2.4.0-beta","to":"3.1.0","loc":2698,"days":554.28,"loc_per_day":4.9,"flagged":false},{"from":"3.1.0","to":"3.3.1","loc":1770,"days":282.76,"loc_per_day":6.3,"flagged":false},{"from":"3.3.1","to":"3.3.2","loc":8,"days":0.95,"loc_per_day":8.4,"flagged":false},{"from":"3.3.2","to":"3.4.0","loc":189,"days":568.48,"loc_per_day":0.3,"flagged":false},{"from":"3.4.0","to":"3.4.1","loc":10,"days":25.59,"loc_per_day":0.4,"flagged":false},{"from":"3.4.1","to":"3.5.0","loc":153,"days":826.08,"loc_per_day":0.2,"flagged":false},{"from":"3.5.0","to":"4.0.0-beta-1102","loc":10005,"days":294.37,"loc_per_day":34.0,"flagged":false},{"from":"4.0.0-beta-1102","to":"4.0.0-beta-1105","loc":83,"days":3.33,"loc_per_day":25.0,"flagged":false},{"from":"4.0.0-beta-1105","to":"4.0.0-beta-1201","loc":8,"days":26.1,"loc_per_day":0.3,"flagged":false},{"from":"4.0.0-beta-1201","to":"4.0.0-beta-20260201.1","loc":1267,"days":62.55,"loc_per_day":20.3,"flagged":false},{"from":"4.0.0-beta-20260201.1","to":"4.0.0","loc":5862,"days":18.0,"loc_per_day":325.7,"flagged":false},{"from":"4.0.0","to":"4.0.1","loc":1276,"days":16.0,"loc_per_day":79.8,"flagged":false},{"from":"4.0.1","to":"4.0.2","loc":24,"days":0.88,"loc_per_day":27.2,"flagged":false},{"from":"4.0.2","to":"4.2.0","loc":30693,"days":57.16,"loc_per_day":537.0,"flagged":false},{"from":"4.2.0","to":"4.2.1","loc":2836,"days":26.85,"loc_per_day":105.6,"flagged":false},{"from":"4.2.1","to":"4.3.0-beta-20260820.1","loc":12377,"days":81.05,"loc_per_day":152.7,"flagged":false}]},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":48530.0,"index":1.411,"count:narrated_steps":8.0,"per_kloc:narrated_steps":0.165,"files:narrated_steps":2.0,"count:placeholder":0.0,"per_kloc:placeholder":0.0,"files:placeholder":0.0,"count:emoji_in_code":121.0,"per_kloc:emoji_in_code":2.493,"files:emoji_in_code":15.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: //                                  Step 3: registry added; Step 4: bridge filled in)","ref":"Mos/Logi/LogiCenter.swift:11","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/Mos/Logi/LogiCenter.swift#L11","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 1: Discover REPROG","ref":"tools/hidpp/divert-debug.swift:48","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/tools/hidpp/divert-debug.swift#L48","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 2: Get control count","ref":"tools/hidpp/divert-debug.swift:55","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/tools/hidpp/divert-debug.swift#L55","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 3: Enumerate divertable controls","ref":"tools/hidpp/divert-debug.swift:61","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/tools/hidpp/divert-debug.swift#L61","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 4: TEST A - 顺序 divert (等待每个 ACK)","ref":"tools/hidpp/divert-debug.swift:76","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/tools/hidpp/divert-debug.swift#L76","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 5: 验证 divert 状态 (GetControlReporting, function 2)","ref":"tools/hidpp/divert-debug.swift:84","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/tools/hidpp/divert-debug.swift#L84","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 6: 捕获按键 (10 秒)","ref":"tools/hidpp/divert-debug.swift:97","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/tools/hidpp/divert-debug.swift#L97","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 7: Undivert","ref":"tools/hidpp/divert-debug.swift:125","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/tools/hidpp/divert-debug.swift#L125","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":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":48465.0,"parse_errors":1.0},"findings":[],"evidence":[],"data":{"rulesets":["swift","typescript","javascript","bash"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"ok","tool_version":"osv-scanner version: 2.7.1","metrics":{"vulnerable_packages":17.0,"vulnerabilities":80.0,"vulns_critical":5.0,"vulns_high":37.0,"vulns_medium":32.0,"vulns_low":6.0,"vulns_unknown":0.0,"penalty":116.0},"findings":[{"rule_id":"osv/GHSA-2464-fhr4-w9xw","severity":"critical","message":"next@16.2.7 (npm) is affected by GHSA-2464-fhr4-w9xw","path":"website/package-lock.json","line":null,"fingerprint":"next@16.2.7 (npm):GHSA-2464-fhr4-w9xw"},{"rule_id":"osv/GHSA-2xp9-vwfh-vxw4","severity":"critical","message":"next@16.2.7 (npm) is affected by GHSA-2xp9-vwfh-vxw4","path":"website/package-lock.json","line":null,"fingerprint":"next@16.2.7 (npm):GHSA-2xp9-vwfh-vxw4"},{"rule_id":"osv/GHSA-673q-mjm6-r5xr","severity":"critical","message":"next@16.2.7 (npm) is affected by GHSA-673q-mjm6-r5xr","path":"website/package-lock.json","line":null,"fingerprint":"next@16.2.7 (npm):GHSA-673q-mjm6-r5xr"},{"rule_id":"osv/GHSA-p293-qw3h-jr36","severity":"critical","message":"next@16.2.7 (npm) is affected by GHSA-p293-qw3h-jr36","path":"website/package-lock.json","line":null,"fingerprint":"next@16.2.7 (npm):GHSA-p293-qw3h-jr36"},{"rule_id":"osv/GHSA-vcvr-r3jv-pc5j","severity":"critical","message":"next@16.2.7 (npm) is affected by GHSA-vcvr-r3jv-pc5j","path":"website/package-lock.json","line":null,"fingerprint":"next@16.2.7 (npm):GHSA-vcvr-r3jv-pc5j"},{"rule_id":"osv/GHSA-3jxr-9vmj-r5cp","severity":"high","message":"brace-expansion@5.0.6 (npm) is affected by GHSA-3jxr-9vmj-r5cp","path":"website/package-lock.json","line":null,"fingerprint":"brace-expansion@5.0.6 (npm):GHSA-3jxr-9vmj-r5cp"},{"rule_id":"osv/GHSA-6j4f-fj2g-mc7p","severity":"high","message":"brace-expansion@5.0.6 (npm) is affected by GHSA-6j4f-fj2g-mc7p","path":"website/package-lock.json","line":null,"fingerprint":"brace-expansion@5.0.6 (npm):GHSA-6j4f-fj2g-mc7p"},{"rule_id":"osv/GHSA-mh99-v99m-4gvg","severity":"high","message":"brace-expansion@5.0.6 (npm) is affected by GHSA-mh99-v99m-4gvg","path":"website/package-lock.json","line":null,"fingerprint":"brace-expansion@5.0.6 (npm):GHSA-mh99-v99m-4gvg"},{"rule_id":"osv/GHSA-qhr7-859c-m2p7","severity":"high","message":"brace-expansion@5.0.6 (npm) is affected by GHSA-qhr7-859c-m2p7","path":"website/package-lock.json","line":null,"fingerprint":"brace-expansion@5.0.6 (npm):GHSA-qhr7-859c-m2p7"},{"rule_id":"osv/GHSA-rgw5-rvv9-x895","severity":"high","message":"brace-expansion@5.0.6 (npm) is affected by GHSA-rgw5-rvv9-x895","path":"website/package-lock.json","line":null,"fingerprint":"brace-expansion@5.0.6 (npm):GHSA-rgw5-rvv9-x895"},{"rule_id":"osv/GHSA-73wf-gq98-2v4g","severity":"high","message":"browserslist@4.28.1 (npm) is affected by GHSA-73wf-gq98-2v4g","path":"website/package-lock.json","line":null,"fingerprint":"browserslist@4.28.1 (npm):GHSA-73wf-gq98-2v4g"},{"rule_id":"osv/GHSA-c83g-rgw3-j3cx","severity":"high","message":"browserslist@4.28.1 (npm) is affected by GHSA-c83g-rgw3-j3cx","path":"website/package-lock.json","line":null,"fingerprint":"browserslist@4.28.1 (npm):GHSA-c83g-rgw3-j3cx"},{"rule_id":"osv/GHSA-2883-xcg3-v3hh","severity":"high","message":"js-yaml@4.2.0 (npm) is affected by GHSA-2883-xcg3-v3hh","path":"website/package-lock.json","line":null,"fingerprint":"js-yaml@4.2.0 (npm):GHSA-2883-xcg3-v3hh"},{"rule_id":"osv/GHSA-52cp-r559-cp3m","severity":"high","message":"js-yaml@4.2.0 (npm) is affected by GHSA-52cp-r559-cp3m","path":"website/package-lock.json","line":null,"fingerprint":"js-yaml@4.2.0 (npm):GHSA-52cp-r559-cp3m"},{"rule_id":"osv/GHSA-5p4m-2wfm-xmqj","severity":"high","message":"js-yaml@4.2.0 (npm) is affected by GHSA-5p4m-2wfm-xmqj","path":"website/package-lock.json","line":null,"fingerprint":"js-yaml@4.2.0 (npm):GHSA-5p4m-2wfm-xmqj"},{"rule_id":"osv/GHSA-28wg-ghj8-5hjv","severity":"high","message":"nanoid@3.3.12 (npm) is affected by GHSA-28wg-ghj8-5hjv","path":"website/package-lock.json","line":null,"fingerprint":"nanoid@3.3.12 (npm):GHSA-28wg-ghj8-5hjv"},{"rule_id":"osv/GHSA-2v37-7h3g-55p8","severity":"high","message":"nanoid@3.3.12 (npm) is affected by GHSA-2v37-7h3g-55p8","path":"website/package-lock.json","line":null,"fingerprint":"nanoid@3.3.12 (npm):GHSA-2v37-7h3g-55p8"},{"rule_id":"osv/GHSA-6gpp-xcg3-4w24","severity":"high","message":"next@16.2.7 (npm) is affected by GHSA-6gpp-xcg3-4w24","path":"website/package-lock.json","line":null,"fingerprint":"next@16.2.7 (npm):GHSA-6gpp-xcg3-4w24"},{"rule_id":"osv/GHSA-89xv-2m56-2m9x","severity":"high","message":"next@16.2.7 (npm) is affected by GHSA-89xv-2m56-2m9x","path":"website/package-lock.json","line":null,"fingerprint":"next@16.2.7 (npm):GHSA-89xv-2m56-2m9x"},{"rule_id":"osv/GHSA-cjq9-62q9-8jv4","severity":"high","message":"next@16.2.7 (npm) is affected by GHSA-cjq9-62q9-8jv4","path":"website/package-lock.json","line":null,"fingerprint":"next@16.2.7 (npm):GHSA-cjq9-62q9-8jv4"},{"rule_id":"osv/GHSA-m99w-x7hq-7vfj","severity":"high","message":"next@16.2.7 (npm) is affected by GHSA-m99w-x7hq-7vfj","path":"website/package-lock.json","line":null,"fingerprint":"next@16.2.7 (npm):GHSA-m99w-x7hq-7vfj"},{"rule_id":"osv/GHSA-p3m5-59mp-jv5r","severity":"high","message":"next@16.2.7 (npm) is affected by GHSA-p3m5-59mp-jv5r","path":"website/package-lock.json","line":null,"fingerprint":"next@16.2.7 (npm):GHSA-p3m5-59mp-jv5r"},{"rule_id":"osv/GHSA-p9j2-gv94-2wf4","severity":"high","message":"next@16.2.7 (npm) is affected by GHSA-p9j2-gv94-2wf4","path":"website/package-lock.json","line":null,"fingerprint":"next@16.2.7 (npm):GHSA-p9j2-gv94-2wf4"},{"rule_id":"osv/GHSA-6g55-p6wh-862q","severity":"high","message":"postcss@8.4.31 (npm) is affected by GHSA-6g55-p6wh-862q","path":"website/package-lock.json","line":null,"fingerprint":"postcss@8.4.31 (npm):GHSA-6g55-p6wh-862q"},{"rule_id":"osv/GHSA-r28c-9q8g-f849","severity":"high","message":"postcss@8.4.31 (npm) is affected by GHSA-r28c-9q8g-f849","path":"website/package-lock.json","line":null,"fingerprint":"postcss@8.4.31 (npm):GHSA-r28c-9q8g-f849"},{"rule_id":"osv/GHSA-r28c-9q8g-f849","severity":"high","message":"postcss@8.5.15 (npm) is affected by GHSA-r28c-9q8g-f849","path":"website/package-lock.json","line":null,"fingerprint":"postcss@8.5.15 (npm):GHSA-r28c-9q8g-f849"},{"rule_id":"osv/GHSA-f88m-g3jw-g9cj","severity":"high","message":"sharp@0.34.5 (npm) is affected by GHSA-f88m-g3jw-g9cj; also in website/server/package-lock.json","path":"website/package-lock.json","line":null,"fingerprint":"sharp@0.34.5 (npm):GHSA-f88m-g3jw-g9cj"},{"rule_id":"osv/GHSA-rgj7-g3m4-5g8c","severity":"high","message":"sharp@0.34.5 (npm) is affected by GHSA-rgj7-g3m4-5g8c; also in website/server/package-lock.json","path":"website/package-lock.json","line":null,"fingerprint":"sharp@0.34.5 (npm):GHSA-rgj7-g3m4-5g8c"},{"rule_id":"osv/GHSA-wq5f-xc86-pv6w","severity":"high","message":"sharp@0.34.5 (npm) is affected by GHSA-wq5f-xc86-pv6w; also in website/server/package-lock.json","path":"website/package-lock.json","line":null,"fingerprint":"sharp@0.34.5 (npm):GHSA-wq5f-xc86-pv6w"},{"rule_id":"osv/GHSA-68fv-2mgg-jv7q","severity":"high","message":"source-map-js@1.2.1 (npm) is affected by GHSA-68fv-2mgg-jv7q","path":"website/package-lock.json","line":null,"fingerprint":"source-map-js@1.2.1 (npm):GHSA-68fv-2mgg-jv7q"},{"rule_id":"osv/GHSA-mrhx-c7xc-m3w5","severity":"high","message":"zod@4.3.6 (npm) is affected by GHSA-mrhx-c7xc-m3w5","path":"website/package-lock.json","line":null,"fingerprint":"zod@4.3.6 (npm):GHSA-mrhx-c7xc-m3w5"},{"rule_id":"osv/GHSA-2m5v-pch6-74hx","severity":"high","message":"undici@7.24.8 (npm) is affected by GHSA-2m5v-pch6-74hx","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-2m5v-pch6-74hx"},{"rule_id":"osv/GHSA-4cwx-7wf7-3272","severity":"high","message":"undici@7.24.8 (npm) is affected by GHSA-4cwx-7wf7-3272","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-4cwx-7wf7-3272"},{"rule_id":"osv/GHSA-4w7w-5xrc-9h26","severity":"high","message":"undici@7.24.8 (npm) is affected by GHSA-4w7w-5xrc-9h26","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-4w7w-5xrc-9h26"},{"rule_id":"osv/GHSA-hm92-r4w5-c3mj","severity":"high","message":"undici@7.24.8 (npm) is affected by GHSA-hm92-r4w5-c3mj","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-hm92-r4w5-c3mj"},{"rule_id":"osv/GHSA-qrxm-fqhp-jwvm","severity":"high","message":"undici@7.24.8 (npm) is affected by GHSA-qrxm-fqhp-jwvm","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-qrxm-fqhp-jwvm"},{"rule_id":"osv/GHSA-rfgv-xxqx-mfg5","severity":"high","message":"undici@7.24.8 (npm) is affected by GHSA-rfgv-xxqx-mfg5","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-rfgv-xxqx-mfg5"},{"rule_id":"osv/GHSA-vmh5-mc38-953g","severity":"high","message":"undici@7.24.8 (npm) is affected by GHSA-vmh5-mc38-953g","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-vmh5-mc38-953g"},{"rule_id":"osv/GHSA-vxpw-j846-p89q","severity":"high","message":"undici@7.24.8 (npm) is affected by GHSA-vxpw-j846-p89q","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-vxpw-j846-p89q"},{"rule_id":"osv/GHSA-w293-vg96-wgc3","severity":"high","message":"undici@7.24.8 (npm) is affected by GHSA-w293-vg96-wgc3","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-w293-vg96-wgc3"},{"rule_id":"osv/GHSA-xjj6-f33q-929c","severity":"high","message":"undici@7.24.8 (npm) is affected by GHSA-xjj6-f33q-929c","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-xjj6-f33q-929c"},{"rule_id":"osv/GHSA-96hv-2xvq-fx4p","severity":"high","message":"ws@8.20.1 (npm) is affected by GHSA-96hv-2xvq-fx4p","path":"website/server/package-lock.json","line":null,"fingerprint":"ws@8.20.1 (npm):GHSA-96hv-2xvq-fx4p"},{"rule_id":"osv/GHSA-p498-v437-472g","severity":"medium","message":"@humanfs/node@0.16.7 (npm) is affected by GHSA-p498-v437-472g","path":"website/package-lock.json","line":null,"fingerprint":"@humanfs/node@0.16.7 (npm):GHSA-p498-v437-472g"},{"rule_id":"osv/GHSA-w5vr-8v7q-w6rv","severity":"medium","message":"baseline-browser-mapping@2.10.0 (npm) is affected by GHSA-w5vr-8v7q-w6rv","path":"website/package-lock.json","line":null,"fingerprint":"baseline-browser-mapping@2.10.0 (npm):GHSA-w5vr-8v7q-w6rv"},{"rule_id":"osv/GHSA-q2hr-2g5m-vwhr","severity":"medium","message":"brace-expansion@5.0.6 (npm) is affected by GHSA-q2hr-2g5m-vwhr","path":"website/package-lock.json","line":null,"fingerprint":"brace-expansion@5.0.6 (npm):GHSA-q2hr-2g5m-vwhr"},{"rule_id":"osv/GHSA-g3hv-75wg-m249","severity":"medium","message":"minimatch@10.2.4 (npm) is affected by GHSA-g3hv-75wg-m249","path":"website/package-lock.json","line":null,"fingerprint":"minimatch@10.2.4 (npm):GHSA-g3hv-75wg-m249"},{"rule_id":"osv/GHSA-39w2-rjm5-chcv","severity":"medium","message":"next@16.2.7 (npm) is affected by GHSA-39w2-rjm5-chcv","path":"website/package-lock.json","line":null,"fingerprint":"next@16.2.7 (npm):GHSA-39w2-rjm5-chcv"},{"rule_id":"osv/GHSA-4633-3j49-mh5q","severity":"medium","message":"next@16.2.7 (npm) is affected by GHSA-4633-3j49-mh5q","path":"website/package-lock.json","line":null,"fingerprint":"next@16.2.7 (npm):GHSA-4633-3j49-mh5q"},{"rule_id":"osv/GHSA-4c39-4ccg-62r3","severity":"medium","message":"next@16.2.7 (npm) is affected by GHSA-4c39-4ccg-62r3","path":"website/package-lock.json","line":null,"fingerprint":"next@16.2.7 (npm):GHSA-4c39-4ccg-62r3"},{"rule_id":"osv/GHSA-4jqv-mc3x-m676","severity":"medium","message":"next@16.2.7 (npm) is affected by GHSA-4jqv-mc3x-m676","path":"website/package-lock.json","line":null,"fingerprint":"next@16.2.7 (npm):GHSA-4jqv-mc3x-m676"},{"rule_id":"osv/GHSA-68g3-v927-f742","severity":"medium","message":"next@16.2.7 (npm) is affected by GHSA-68g3-v927-f742","path":"website/package-lock.json","line":null,"fingerprint":"next@16.2.7 (npm):GHSA-68g3-v927-f742"},{"rule_id":"osv/GHSA-955p-x3mx-jcvp","severity":"medium","message":"next@16.2.7 (npm) is affected by GHSA-955p-x3mx-jcvp","path":"website/package-lock.json","line":null,"fingerprint":"next@16.2.7 (npm):GHSA-955p-x3mx-jcvp"},{"rule_id":"osv/GHSA-f87g-xv8r-7p7x","severity":"medium","message":"next@16.2.7 (npm) is affected by GHSA-f87g-xv8r-7p7x","path":"website/package-lock.json","line":null,"fingerprint":"next@16.2.7 (npm):GHSA-f87g-xv8r-7p7x"},{"rule_id":"osv/GHSA-mcj8-r9mp-w47p","severity":"medium","message":"next@16.2.7 (npm) is affected by GHSA-mcj8-r9mp-w47p","path":"website/package-lock.json","line":null,"fingerprint":"next@16.2.7 (npm):GHSA-mcj8-r9mp-w47p"},{"rule_id":"osv/GHSA-q8wf-6r8g-63ch","severity":"medium","message":"next@16.2.7 (npm) is affected by GHSA-q8wf-6r8g-63ch","path":"website/package-lock.json","line":null,"fingerprint":"next@16.2.7 (npm):GHSA-q8wf-6r8g-63ch"},{"rule_id":"osv/GHSA-fxqj-rqcc-2cmp","severity":"medium","message":"postcss@8.4.31 (npm) is affected by GHSA-fxqj-rqcc-2cmp","path":"website/package-lock.json","line":null,"fingerprint":"postcss@8.4.31 (npm):GHSA-fxqj-rqcc-2cmp"},{"rule_id":"osv/GHSA-qx2v-qp2m-jg93","severity":"medium","message":"postcss@8.4.31 (npm) is affected by GHSA-qx2v-qp2m-jg93","path":"website/package-lock.json","line":null,"fingerprint":"postcss@8.4.31 (npm):GHSA-qx2v-qp2m-jg93"},{"rule_id":"osv/GHSA-fxqj-rqcc-2cmp","severity":"medium","message":"postcss@8.5.15 (npm) is affected by GHSA-fxqj-rqcc-2cmp","path":"website/package-lock.json","line":null,"fingerprint":"postcss@8.5.15 (npm):GHSA-fxqj-rqcc-2cmp"},{"rule_id":"osv/GHSA-rj75-hqrm-r3gf","severity":"medium","message":"postcss-selector-parser@6.1.2 (npm) is affected by GHSA-rj75-hqrm-r3gf","path":"website/package-lock.json","line":null,"fingerprint":"postcss-selector-parser@6.1.2 (npm):GHSA-rj75-hqrm-r3gf"},{"rule_id":"osv/GHSA-w9m9-85wc-3x92","severity":"medium","message":"postcss-selector-parser@6.1.2 (npm) is affected by GHSA-w9m9-85wc-3x92","path":"website/package-lock.json","line":null,"fingerprint":"postcss-selector-parser@6.1.2 (npm):GHSA-w9m9-85wc-3x92"},{"rule_id":"osv/GHSA-2jfj-6hjv-fm6j","severity":"medium","message":"undici@7.24.8 (npm) is affected by GHSA-2jfj-6hjv-fm6j","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-2jfj-6hjv-fm6j"},{"rule_id":"osv/GHSA-3xpg-4rpp-hhhm","severity":"medium","message":"undici@7.24.8 (npm) is affected by GHSA-3xpg-4rpp-hhhm","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-3xpg-4rpp-hhhm"},{"rule_id":"osv/GHSA-4qv8-2p9j-2685","severity":"medium","message":"undici@7.24.8 (npm) is affected by GHSA-4qv8-2p9j-2685","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-4qv8-2p9j-2685"},{"rule_id":"osv/GHSA-55wc-3pg8-jfw6","severity":"medium","message":"undici@7.24.8 (npm) is affected by GHSA-55wc-3pg8-jfw6","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-55wc-3pg8-jfw6"},{"rule_id":"osv/GHSA-8xcm-r25x-g524","severity":"medium","message":"undici@7.24.8 (npm) is affected by GHSA-8xcm-r25x-g524","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-8xcm-r25x-g524"},{"rule_id":"osv/GHSA-9fm3-97px-rjf6","severity":"medium","message":"undici@7.24.8 (npm) is affected by GHSA-9fm3-97px-rjf6","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-9fm3-97px-rjf6"},{"rule_id":"osv/GHSA-f72v-6w45-q472","severity":"medium","message":"undici@7.24.8 (npm) is affected by GHSA-f72v-6w45-q472","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-f72v-6w45-q472"},{"rule_id":"osv/GHSA-jr45-8vmc-qm54","severity":"medium","message":"undici@7.24.8 (npm) is affected by GHSA-jr45-8vmc-qm54","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-jr45-8vmc-qm54"},{"rule_id":"osv/GHSA-m8rv-5g2x-5cg5","severity":"medium","message":"undici@7.24.8 (npm) is affected by GHSA-m8rv-5g2x-5cg5","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-m8rv-5g2x-5cg5"},{"rule_id":"osv/GHSA-p88m-4jfj-68fv","severity":"medium","message":"undici@7.24.8 (npm) is affected by GHSA-p88m-4jfj-68fv","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-p88m-4jfj-68fv"},{"rule_id":"osv/GHSA-pmjh-fq2x-6v4x","severity":"medium","message":"undici@7.24.8 (npm) is affected by GHSA-pmjh-fq2x-6v4x","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-pmjh-fq2x-6v4x"},{"rule_id":"osv/GHSA-pr7r-676h-xcf6","severity":"medium","message":"undici@7.24.8 (npm) is affected by GHSA-pr7r-676h-xcf6","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-pr7r-676h-xcf6"},{"rule_id":"osv/GHSA-rx4f-c7p8-82vq","severity":"medium","message":"undici@7.24.8 (npm) is affected by GHSA-rx4f-c7p8-82vq","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-rx4f-c7p8-82vq"},{"rule_id":"osv/GHSA-v3r7-h72x-cjcm","severity":"medium","message":"undici@7.24.8 (npm) is affected by GHSA-v3r7-h72x-cjcm","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-v3r7-h72x-cjcm"},{"rule_id":"osv/GHSA-g7r4-m6w7-qqqr","severity":"low","message":"esbuild@0.27.3 (npm) is affected by GHSA-g7r4-m6w7-qqqr","path":"website/server/package-lock.json","line":null,"fingerprint":"esbuild@0.27.3 (npm):GHSA-g7r4-m6w7-qqqr"},{"rule_id":"osv/GHSA-2gqq-gqf2-x968","severity":"low","message":"undici@7.24.8 (npm) is affected by GHSA-2gqq-gqf2-x968","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-2gqq-gqf2-x968"},{"rule_id":"osv/GHSA-35p6-xmwp-9g52","severity":"low","message":"undici@7.24.8 (npm) is affected by GHSA-35p6-xmwp-9g52","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-35p6-xmwp-9g52"},{"rule_id":"osv/GHSA-8436-99hf-9mmv","severity":"low","message":"undici@7.24.8 (npm) is affected by GHSA-8436-99hf-9mmv","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-8436-99hf-9mmv"},{"rule_id":"osv/GHSA-g8m3-5g58-fq7m","severity":"low","message":"undici@7.24.8 (npm) is affected by GHSA-g8m3-5g58-fq7m","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-g8m3-5g58-fq7m"},{"rule_id":"osv/GHSA-r53p-7pc4-xj5r","severity":"low","message":"undici@7.24.8 (npm) is affected by GHSA-r53p-7pc4-xj5r","path":"website/server/package-lock.json","line":null,"fingerprint":"undici@7.24.8 (npm):GHSA-r53p-7pc4-xj5r"}],"evidence":[],"data":{"ecosystems":["npm"]},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"ok","tool_version":"zizmor 1.32.0","metrics":{"workflows":1.0,"findings":8.0,"findings_high":7.0,"findings_medium":0.0,"findings_low":1.0,"penalty":84.3},"findings":[{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/pages.yml","line":15,"fingerprint":"excessive-permissions:.github/workflows/pages.yml:15"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/pages.yml","line":16,"fingerprint":"excessive-permissions:.github/workflows/pages.yml:16"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/pages.yml","line":28,"fingerprint":"unpinned-uses:.github/workflows/pages.yml:28"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/pages.yml","line":31,"fingerprint":"unpinned-uses:.github/workflows/pages.yml:31"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/pages.yml","line":38,"fingerprint":"unpinned-uses:.github/workflows/pages.yml:38"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/pages.yml","line":59,"fingerprint":"unpinned-uses:.github/workflows/pages.yml:59"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/pages.yml","line":74,"fingerprint":"unpinned-uses:.github/workflows/pages.yml:74"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/pages.yml","line":27,"fingerprint":"artipacked:.github/workflows/pages.yml:27"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-posture","pillar":"security","status":"ok","tool_version":null,"metrics":{"check:security_policy":1.0,"check:dependency_updates":0.0,"check:signed_commits":0.0,"check:lockfiles":0.0,"signed_commit_share":0.075,"unpinned_manifests":1.0},"findings":[],"evidence":[{"kind":"posture","description":"Security policy: SECURITY.md","ref":"SECURITY.md","url":null,"weight":0.0},{"kind":"posture","description":"website/archive/v1/package.json has no lockfile alongside it (unpinned dependencies)","ref":"website/archive/v1/package.json","url":null,"weight":0.3}],"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 4.3.0-beta-20260820.1 ships Mos.Versions.4.3.0-beta-20260820.1.zip (15796 downloads)","ref":"Mos.Versions.4.3.0-beta-20260820.1.zip","url":"https://github.com/Caldis/Mos/releases/download/4.3.0-beta-20260820.1/Mos.Versions.4.3.0-beta-20260820.1.zip","weight":0.0},{"kind":"binary-release-asset","description":"release 4.2.1 ships Mos.Versions.4.2.1-20260531.1.zip (336700 downloads)","ref":"Mos.Versions.4.2.1-20260531.1.zip","url":"https://github.com/Caldis/Mos/releases/download/4.2.1/Mos.Versions.4.2.1-20260531.1.zip","weight":0.0},{"kind":"binary-release-asset","description":"release 4.2.0 ships Mos.Versions.4.2.0-20260505.1.zip (81096 downloads)","ref":"Mos.Versions.4.2.0-20260505.1.zip","url":"https://github.com/Caldis/Mos/releases/download/4.2.0/Mos.Versions.4.2.0-20260505.1.zip","weight":0.0},{"kind":"binary-release-asset","description":"release 4.0.2 ships Mos.Versions.4.0.2-20260308.2.zip (103176 downloads)","ref":"Mos.Versions.4.0.2-20260308.2.zip","url":"https://github.com/Caldis/Mos/releases/download/4.0.2/Mos.Versions.4.0.2-20260308.2.zip","weight":0.0},{"kind":"binary-release-asset","description":"release 4.0.1 ships Mos.Versions.4.0.1-20260308.1.zip (201 downloads)","ref":"Mos.Versions.4.0.1-20260308.1.zip","url":"https://github.com/Caldis/Mos/releases/download/4.0.1/Mos.Versions.4.0.1-20260308.1.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":2710.0,"function_nloc":29350.0,"mean_ccn":2.39,"p90_ccn":5.0,"complex_functions":19.0,"long_functions":14.0,"many_param_functions":1.0,"risky_nloc_share":0.1013},"findings":[],"evidence":[{"kind":"complex-function","description":"handleInputReport in Mos/Logi/Core/LogiDeviceSession.swift: complexity 121, 320 lines","ref":"Mos/Logi/Core/LogiDeviceSession.swift","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/Mos/Logi/Core/LogiDeviceSession.swift#L3193","weight":1.0},{"kind":"complex-function","description":"symbolName in Mos/Shortcut/SystemShortcut.swift: complexity 81, 85 lines","ref":"Mos/Shortcut/SystemShortcut.swift","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/Mos/Shortcut/SystemShortcut.swift#L68","weight":1.0},{"kind":"complex-function","description":"decodeReport in Mos/Logi/Core/LogiDeviceSession.swift: complexity 75, 153 lines","ref":"Mos/Logi/Core/LogiDeviceSession.swift","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/Mos/Logi/Core/LogiDeviceSession.swift#L2134","weight":1.0},{"kind":"complex-function","description":"StickyNote in website/app/components/Wall/StickyNote.tsx: complexity 50, 188 lines","ref":"website/app/components/Wall/StickyNote.tsx","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/website/app/components/Wall/StickyNote.tsx#L141","weight":0.8333333333333334},{"kind":"complex-function","description":"scrollEventCallBack in Mos/ScrollCore/ScrollCore.swift: complexity 44, 122 lines","ref":"Mos/ScrollCore/ScrollCore.swift","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/Mos/ScrollCore/ScrollCore.swift#L53","weight":0.7333333333333333},{"kind":"complex-function","description":"startObserving in Mos/Logi/Debug/LogiDebugPanel.swift: complexity 38, 121 lines","ref":"Mos/Logi/Debug/LogiDebugPanel.swift","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/Mos/Logi/Debug/LogiDebugPanel.swift#L2150","weight":0.6333333333333333},{"kind":"complex-function","description":"WallReview in website/app/components/Wall/WallReview.tsx: complexity 35, 136 lines","ref":"website/app/components/Wall/WallReview.tsx","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/website/app/components/Wall/WallReview.tsx#L59","weight":0.5833333333333334},{"kind":"complex-function","description":"draw in website/app/components/Wall/Starfield.tsx: complexity 30, 80 lines","ref":"website/app/components/Wall/Starfield.tsx","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/website/app/components/Wall/Starfield.tsx#L191","weight":0.5},{"kind":"complex-function","description":"WallClient in website/app/wall/wall-client.tsx: complexity 28, 190 lines","ref":"website/app/wall/wall-client.tsx","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/website/app/wall/wall-client.tsx#L75","weight":0.4666666666666667},{"kind":"complex-function","description":"handlePost in website/server/src/features/wall.ts: complexity 28, 54 lines","ref":"website/server/src/features/wall.ts","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/website/server/src/features/wall.ts#L105","weight":0.4666666666666667}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":36060.0,"duplicated_lines":1399.0,"duplicated_share":0.0388,"files":269.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: Mos/Components/PrimaryButton.swift:17 and Mos/Keys/KeyPreview.swift:33","ref":"Mos/Components/PrimaryButton.swift","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/Mos/Components/PrimaryButton.swift#L17","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: Mos/Components/Toast/ToastPanel.swift:95 and Mos/Components/Toast/ToastPanel.swift:105","ref":"Mos/Components/Toast/ToastPanel.swift","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/Mos/Components/Toast/ToastPanel.swift#L95","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: Mos/InputEvent/InputEvent.swift:65 and Mos/Windows/PreferencesWindow/ButtonsView/RecordedEvent.swift:39","ref":"Mos/InputEvent/InputEvent.swift","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/Mos/InputEvent/InputEvent.swift#L65","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: Mos/InputEvent/MouseInteractionSessionController.swift:66 and Mos/InputEvent/MouseInteractionSessionController.swift:79","ref":"Mos/InputEvent/MouseInteractionSessionController.swift","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/Mos/InputEvent/MouseInteractionSessionController.swift#L66","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: Mos/Keys/KeyPreview.swift:35 and Mos/Windows/PreferencesWindow/ButtonsView/OpenTargetConfigPopover.swift:407","ref":"Mos/Keys/KeyPreview.swift","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/Mos/Keys/KeyPreview.swift#L35","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: Mos/Keys/KeyPreview.swift:163 and Mos/Keys/KeyPreview.swift:186","ref":"Mos/Keys/KeyPreview.swift","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/Mos/Keys/KeyPreview.swift#L163","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: Mos/Logi/Core/LogiDeviceSession.swift:511 and Mos/Logi/Core/LogiDeviceSession.swift:753","ref":"Mos/Logi/Core/LogiDeviceSession.swift","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/Mos/Logi/Core/LogiDeviceSession.swift#L511","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: Mos/Logi/Core/LogiDeviceSession.swift:3989 and tools/hidpp/full-test.swift:248","ref":"Mos/Logi/Core/LogiDeviceSession.swift","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/Mos/Logi/Core/LogiDeviceSession.swift#L3989","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: Mos/Logi/Debug/LogiDebugPanel.swift:922 and Mos/Logi/Debug/LogiDebugPanel.swift:1013","ref":"Mos/Logi/Debug/LogiDebugPanel.swift","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/Mos/Logi/Debug/LogiDebugPanel.swift#L922","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: Mos/ScrollCore/ScrollCore.swift:405 and Mos/Windows/MonitorWindow/MonitorViewController.swift:113","ref":"Mos/ScrollCore/ScrollCore.swift","url":"https://github.com/Caldis/Mos/blob/8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2/Mos/ScrollCore/ScrollCore.swift#L405","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":11.0,"weighted_findings":5.75,"scanned_lines":48465.0,"category:best-practice":4.0,"category:correctness":7.0},"findings":[{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"website/app/home-client.tsx","line":180,"fingerprint":"typescript.react.best-practice.react-props-spreading:website/app/home-client.tsx:180"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"website/app/home-client.tsx","line":207,"fingerprint":"typescript.react.best-practice.react-props-spreading:website/app/home-client.tsx:207"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"website/app/home-client.tsx","line":212,"fingerprint":"typescript.react.best-practice.react-props-spreading:website/app/home-client.tsx:212"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"website/app/home-client.tsx","line":236,"fingerprint":"typescript.react.best-practice.react-props-spreading:website/app/home-client.tsx:236"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`el.style.height` is assigned twice; the first assignment is useless","path":"website/app/components/Wall/StickyNote.tsx","line":201,"fingerprint":"javascript.lang.correctness.useless-assignment:website/app/components/Wall/StickyNote.tsx:201"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"website/app/home-client.tsx","line":90,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:website/app/home-client.tsx:90"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"website/app/home-client.tsx","line":90,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:website/app/home-client.tsx:90"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"website/app/layout.tsx","line":221,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:website/app/layout.tsx:221"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"website/app/layout.tsx","line":221,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:website/app/layout.tsx:221"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"website/app/layout.tsx","line":231,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:website/app/layout.tsx:231"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"website/app/layout.tsx","line":231,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:website/app/layout.tsx:231"}],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":1.0,"check:test_ratio":0.0066,"check:ci_present":1.0,"check:ci_runs_tests":0.0,"check:ci_runs_lint":0.0,"check:tests_cochange":0.0508,"test_lines":160.0,"source_lines":48538.0,"test_ratio":0.0033,"ci_files":1.0,"cochange_share":0.0127,"cochange_commits":236.0},"findings":[],"evidence":[{"kind":"ci","description":"CI config: .github/workflows/pages.yml","ref":".github/workflows/pages.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":1.0,"check:changelog":1.0,"readme_lines":93.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":"ok","tool_version":null,"metrics":{"check:strict_config":1.0,"check:low_escape_density":1.0,"escapes":2.0,"escapes_per_kloc":0.169},"findings":[],"evidence":[{"kind":"typing","description":"TypeScript strict type checking: website/server/tsconfig.json","ref":"website/server/tsconfig.json","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"x-blame","pillar":"ai_provenance","status":"ok","tool_version":"git-blame","metrics":{"ai_lines":23114.0,"other_lines":25424.0,"files_blamed":269.0,"blame_failures":0.0,"quality:ai_findings":7.0,"quality:ai_per_kloc":0.303,"quality:other_findings":4.0,"quality:other_per_kloc":0.157,"quality:ratio":1.93,"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":true},"error":null}],"flags":[]}