{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-5+qual-2+sec-2","generated_at":"2026-11-14T14:52:04.513747Z","repo":{"ref":{"host":"github.com","owner":"fmflurry","name":"myna"},"default_branch":"main","clone_url":"https://github.com/fmflurry/myna.git","html_url":"https://github.com/fmflurry/myna","description":"Local-first AI meeting recorder and summarizer. On-device STT (Parakeet-TDT) and summarization (Qwen2.5). No cloud.","stars":5,"forks":2,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":4042,"primary_language":"TypeScript","license_spdx":"MIT","created_at":"2026-08-28T07:41:15Z","pushed_at":"2026-11-04T21:13:36Z","security_policy_url":null,"distribution":{"owner_created_at":"2019-02-09T23:47:57Z","owner_type":"User","release_assets":[{"name":"latest.json","size":1283,"download_count":11,"release_tag":"v0.6.3","url":"https://github.com/fmflurry/myna/releases/download/v0.6.3/latest.json"},{"name":"Myna.app.tar.gz","size":15311650,"download_count":1,"release_tag":"v0.6.3","url":"https://github.com/fmflurry/myna/releases/download/v0.6.3/Myna.app.tar.gz"},{"name":"Myna.app.tar.gz.sig","size":400,"download_count":1,"release_tag":"v0.6.3","url":"https://github.com/fmflurry/myna/releases/download/v0.6.3/Myna.app.tar.gz.sig"},{"name":"Myna_0.6.3_aarch64.dmg","size":14911017,"download_count":2,"release_tag":"v0.6.3","url":"https://github.com/fmflurry/myna/releases/download/v0.6.3/Myna_0.6.3_aarch64.dmg"},{"name":"Myna_0.6.3_x64-setup.exe","size":10015499,"download_count":0,"release_tag":"v0.6.3","url":"https://github.com/fmflurry/myna/releases/download/v0.6.3/Myna_0.6.3_x64-setup.exe"},{"name":"Myna_0.6.3_x64-setup.exe.sig","size":412,"download_count":0,"release_tag":"v0.6.3","url":"https://github.com/fmflurry/myna/releases/download/v0.6.3/Myna_0.6.3_x64-setup.exe.sig"},{"name":"Myna_0.6.3_x64_en-US.msi","size":14143488,"download_count":0,"release_tag":"v0.6.3","url":"https://github.com/fmflurry/myna/releases/download/v0.6.3/Myna_0.6.3_x64_en-US.msi"},{"name":"Myna_0.6.3_x64_en-US.msi.sig","size":412,"download_count":0,"release_tag":"v0.6.3","url":"https://github.com/fmflurry/myna/releases/download/v0.6.3/Myna_0.6.3_x64_en-US.msi.sig"},{"name":"latest.json","size":1283,"download_count":112,"release_tag":"v0.6.2","url":"https://github.com/fmflurry/myna/releases/download/v0.6.2/latest.json"},{"name":"Myna.app.tar.gz","size":15301149,"download_count":2,"release_tag":"v0.6.2","url":"https://github.com/fmflurry/myna/releases/download/v0.6.2/Myna.app.tar.gz"},{"name":"Myna.app.tar.gz.sig","size":400,"download_count":0,"release_tag":"v0.6.2","url":"https://github.com/fmflurry/myna/releases/download/v0.6.2/Myna.app.tar.gz.sig"},{"name":"Myna_0.6.2_aarch64.dmg","size":14901635,"download_count":2,"release_tag":"v0.6.2","url":"https://github.com/fmflurry/myna/releases/download/v0.6.2/Myna_0.6.2_aarch64.dmg"},{"name":"Myna_0.6.2_x64-setup.exe","size":10007820,"download_count":3,"release_tag":"v0.6.2","url":"https://github.com/fmflurry/myna/releases/download/v0.6.2/Myna_0.6.2_x64-setup.exe"},{"name":"Myna_0.6.2_x64-setup.exe.sig","size":412,"download_count":1,"release_tag":"v0.6.2","url":"https://github.com/fmflurry/myna/releases/download/v0.6.2/Myna_0.6.2_x64-setup.exe.sig"},{"name":"Myna_0.6.2_x64_en-US.msi","size":14127104,"download_count":2,"release_tag":"v0.6.2","url":"https://github.com/fmflurry/myna/releases/download/v0.6.2/Myna_0.6.2_x64_en-US.msi"},{"name":"Myna_0.6.2_x64_en-US.msi.sig","size":412,"download_count":0,"release_tag":"v0.6.2","url":"https://github.com/fmflurry/myna/releases/download/v0.6.2/Myna_0.6.2_x64_en-US.msi.sig"},{"name":"Myna.app.tar.gz","size":15301004,"download_count":1,"release_tag":"v0.6.1","url":"https://github.com/fmflurry/myna/releases/download/v0.6.1/Myna.app.tar.gz"},{"name":"Myna.app.tar.gz.sig","size":400,"download_count":0,"release_tag":"v0.6.1","url":"https://github.com/fmflurry/myna/releases/download/v0.6.1/Myna.app.tar.gz.sig"},{"name":"Myna_0.6.1_aarch64.dmg","size":14901266,"download_count":1,"release_tag":"v0.6.1","url":"https://github.com/fmflurry/myna/releases/download/v0.6.1/Myna_0.6.1_aarch64.dmg"},{"name":"Myna.app.tar.gz","size":15300528,"download_count":1,"release_tag":"v0.6.0","url":"https://github.com/fmflurry/myna/releases/download/v0.6.0/Myna.app.tar.gz"},{"name":"Myna.app.tar.gz.sig","size":400,"download_count":1,"release_tag":"v0.6.0","url":"https://github.com/fmflurry/myna/releases/download/v0.6.0/Myna.app.tar.gz.sig"},{"name":"Myna_0.6.0_aarch64.dmg","size":14900585,"download_count":1,"release_tag":"v0.6.0","url":"https://github.com/fmflurry/myna/releases/download/v0.6.0/Myna_0.6.0_aarch64.dmg"},{"name":"latest.json","size":719,"download_count":8,"release_tag":"v0.5.0","url":"https://github.com/fmflurry/myna/releases/download/v0.5.0/latest.json"},{"name":"Myna.app.tar.gz","size":15294529,"download_count":2,"release_tag":"v0.5.0","url":"https://github.com/fmflurry/myna/releases/download/v0.5.0/Myna.app.tar.gz"},{"name":"Myna.app.tar.gz.sig","size":400,"download_count":1,"release_tag":"v0.5.0","url":"https://github.com/fmflurry/myna/releases/download/v0.5.0/Myna.app.tar.gz.sig"},{"name":"Myna_0.5.0_aarch64.dmg","size":14895471,"download_count":1,"release_tag":"v0.5.0","url":"https://github.com/fmflurry/myna/releases/download/v0.5.0/Myna_0.5.0_aarch64.dmg"},{"name":"latest.json","size":719,"download_count":68,"release_tag":"v0.4.2","url":"https://github.com/fmflurry/myna/releases/download/v0.4.2/latest.json"},{"name":"Myna.app.tar.gz","size":15293689,"download_count":11,"release_tag":"v0.4.2","url":"https://github.com/fmflurry/myna/releases/download/v0.4.2/Myna.app.tar.gz"},{"name":"Myna.app.tar.gz.sig","size":400,"download_count":2,"release_tag":"v0.4.2","url":"https://github.com/fmflurry/myna/releases/download/v0.4.2/Myna.app.tar.gz.sig"},{"name":"Myna_0.4.2_aarch64.dmg","size":14894546,"download_count":4,"release_tag":"v0.4.2","url":"https://github.com/fmflurry/myna/releases/download/v0.4.2/Myna_0.4.2_aarch64.dmg"},{"name":"latest.json","size":719,"download_count":39,"release_tag":"v0.4.1","url":"https://github.com/fmflurry/myna/releases/download/v0.4.1/latest.json"},{"name":"Myna.app.tar.gz","size":15291842,"download_count":3,"release_tag":"v0.4.1","url":"https://github.com/fmflurry/myna/releases/download/v0.4.1/Myna.app.tar.gz"},{"name":"Myna.app.tar.gz.sig","size":400,"download_count":1,"release_tag":"v0.4.1","url":"https://github.com/fmflurry/myna/releases/download/v0.4.1/Myna.app.tar.gz.sig"},{"name":"Myna_0.4.1_aarch64.dmg","size":14892048,"download_count":3,"release_tag":"v0.4.1","url":"https://github.com/fmflurry/myna/releases/download/v0.4.1/Myna_0.4.1_aarch64.dmg"},{"name":"latest.json","size":719,"download_count":13,"release_tag":"v0.4.0","url":"https://github.com/fmflurry/myna/releases/download/v0.4.0/latest.json"},{"name":"Myna.app.tar.gz","size":15289390,"download_count":2,"release_tag":"v0.4.0","url":"https://github.com/fmflurry/myna/releases/download/v0.4.0/Myna.app.tar.gz"},{"name":"Myna.app.tar.gz.sig","size":400,"download_count":1,"release_tag":"v0.4.0","url":"https://github.com/fmflurry/myna/releases/download/v0.4.0/Myna.app.tar.gz.sig"},{"name":"Myna_0.4.0_aarch64.dmg","size":14888927,"download_count":2,"release_tag":"v0.4.0","url":"https://github.com/fmflurry/myna/releases/download/v0.4.0/Myna_0.4.0_aarch64.dmg"},{"name":"latest.json","size":719,"download_count":38,"release_tag":"v0.3.1","url":"https://github.com/fmflurry/myna/releases/download/v0.3.1/latest.json"},{"name":"Myna.app.tar.gz","size":15170342,"download_count":1,"release_tag":"v0.3.1","url":"https://github.com/fmflurry/myna/releases/download/v0.3.1/Myna.app.tar.gz"},{"name":"Myna.app.tar.gz.sig","size":400,"download_count":1,"release_tag":"v0.3.1","url":"https://github.com/fmflurry/myna/releases/download/v0.3.1/Myna.app.tar.gz.sig"},{"name":"Myna_0.3.1_aarch64.dmg","size":14772043,"download_count":1,"release_tag":"v0.3.1","url":"https://github.com/fmflurry/myna/releases/download/v0.3.1/Myna_0.3.1_aarch64.dmg"},{"name":"latest.json","size":719,"download_count":17,"release_tag":"v0.3.0","url":"https://github.com/fmflurry/myna/releases/download/v0.3.0/latest.json"},{"name":"Myna.app.tar.gz","size":15164046,"download_count":5,"release_tag":"v0.3.0","url":"https://github.com/fmflurry/myna/releases/download/v0.3.0/Myna.app.tar.gz"},{"name":"Myna.app.tar.gz.sig","size":400,"download_count":1,"release_tag":"v0.3.0","url":"https://github.com/fmflurry/myna/releases/download/v0.3.0/Myna.app.tar.gz.sig"},{"name":"Myna_0.3.0_aarch64.dmg","size":14767488,"download_count":1,"release_tag":"v0.3.0","url":"https://github.com/fmflurry/myna/releases/download/v0.3.0/Myna_0.3.0_aarch64.dmg"}]}},"commit_sha":"7356f23c8815c526a2ce706aa798ec1975bf16f3","profile":{"lines_by_language":{"Rust":51719,"TypeScript":49220,"Shell":1781,"PowerShell":766,"JavaScript":45},"files_by_category":{"source":322,"test":259,"other":84,"binary":62,"docs":43,"config":38,"generated":3},"source_lines":56404,"test_lines":47127},"pillars":{"ai_provenance":{"score":0.9,"confidence":0.65,"coverage":1.0,"label":"possible","breakdown":{"attributed_share":0.0089,"suspected_share":0.4377,"estimated_share":0.0089,"ai_artifacts":2.0,"flagged_work_units":10.0,"flagged_releases":1.0,"style_index":0.115},"summary":"Weak signals consistent with AI-assisted development. 2 commit(s) carry explicit AI attribution, too few to characterize the codebase."},"quality":{"score":90.0,"confidence":0.9,"coverage":1.0,"label":"strong","breakdown":{"complexity":79.3,"duplication":77.8,"lint":99.8,"testing":100.0,"docs":85.0,"type_safety":100.0,"process":null},"summary":"Code quality is strong: test-to-source ratio 0.84, CI runs tests; 8% of function code in complex or long functions; 4% duplicated lines. Weakest area: duplication."},"security":{"score":48.4,"confidence":0.85,"coverage":1.0,"label":"poor","breakdown":{"secrets":100.0,"sast":88.9,"dependencies":1.7,"ci_actions":2.7,"posture":0.0,"scorecard":null},"summary":"Security posture is poor: 103 known vulnerabilities in 43 dependencies; 19 high-severity workflow issues. Weakest area: posture."}},"analyzer_results":[{"analyzer":"sec-scorecard","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":"no published OpenSSF Scorecard result for this repo"},{"analyzer":"sec-registry","pillar":"security","status":"ok","tool_version":null,"metrics":{"declared":50.0,"checked":50.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":133.0,"attributed_commits":2.0,"attributed_commit_share":0.015037593984962405,"effective_loc":107589.0,"attributed_loc":956.0,"attributed_loc_share":0.00888566675031834,"tools_detected":1.0},"findings":[],"evidence":[{"kind":"attribution-summary","description":"Cursor agent: 2 attributed commits, 956 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attributed-commit","description":"Cursor agent: trailer 'Co-authored-by: Cursor Agent'","ref":"7356f23c8815c526a2ce706aa798ec1975bf16f3","url":"https://github.com/fmflurry/myna/commit/7356f23c8815c526a2ce706aa798ec1975bf16f3","weight":0.9},{"kind":"attributed-commit","description":"Cursor agent: trailer 'Co-authored-by: Cursor Agent'","ref":"cedfaf3499285afe75b5ffbbc16a030963bf5ba0","url":"https://github.com/fmflurry/myna/commit/cedfaf3499285afe75b5ffbbc16a030963bf5ba0","weight":0.9}],"data":{"attributed_loc_by_commit":{"cedfaf3499285afe75b5ffbbc16a030963bf5ba0":956,"7356f23c8815c526a2ce706aa798ec1975bf16f3":0},"tools":{"cursor":{"name":"Cursor agent","commits":2,"loc":956,"first_seen":1793746813,"last_seen":1793826810}},"monthly":{"2026-08":{"loc":57926,"attributed_loc":0},"2026-09":{"loc":48684,"attributed_loc":0},"2026-10":{"loc":23,"attributed_loc":0},"2026-11":{"loc":956,"attributed_loc":956}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":2.0,"workflow_agents":0.0,"tools_configured":1.0,"earliest_adoption":1787664930.0},"findings":[],"evidence":[{"kind":"ai-artifact","description":".claude/settings.json (claude-code configuration)","ref":".claude/settings.json","url":"https://github.com/fmflurry/myna/blob/7356f23c8815c526a2ce706aa798ec1975bf16f3/.claude/settings.json","weight":0.5},{"kind":"ai-artifact","description":"CLAUDE.md (claude-code configuration)","ref":"CLAUDE.md","url":"https://github.com/fmflurry/myna/blob/7356f23c8815c526a2ce706aa798ec1975bf16f3/CLAUDE.md","weight":0.5}],"data":{"artifacts":[{"tool":"claude-code","path":".claude/settings.json","added_at":1787940474},{"tool":"claude-code","path":"CLAUDE.md","added_at":1787664930}],"workflows":[],"tools":["claude-code"]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"work_units":29.0,"flagged_units":10.0,"pre_ai_era_bursts":0.0,"pre_ai_era_measured_loc":0.0,"pre_ai_era_burst_loc":0.0,"measured_loc":57634.0,"flagged_loc":47090.0,"flagged_loc_share":0.8170524343269597,"max_loc_per_hour":2993.163455562461,"median_loc_per_hour":278.3605321006389,"pr_timed_units":1.0,"excluded_import_loc":49955.0},"findings":[],"evidence":[{"kind":"velocity-burst","description":"12,040 lines of first-party code in ~4.0h (2,993 lines/hour, 11 commit session)","ref":"a3eca80a1e7428d51e27f5067dd5e31f0f0699db","url":"https://github.com/fmflurry/myna/commit/a3eca80a1e7428d51e27f5067dd5e31f0f0699db","weight":0.6},{"kind":"velocity-burst","description":"9,879 lines of first-party code in ~4.0h (2,466 lines/hour, 6 commit session)","ref":"0d1a16a9fbf3cf6fd0f49012f733b78c342225d5","url":"https://github.com/fmflurry/myna/commit/0d1a16a9fbf3cf6fd0f49012f733b78c342225d5","weight":0.6},{"kind":"velocity-burst","description":"7,410 lines of first-party code in ~4.2h (1,779 lines/hour, 13 commit session)","ref":"97659c82bd9f9b0dca2a83c758c4beb3ccc34424","url":"https://github.com/fmflurry/myna/commit/97659c82bd9f9b0dca2a83c758c4beb3ccc34424","weight":0.5337334933973589},{"kind":"velocity-burst","description":"1,380 lines of first-party code in ~0.9h (1,518 lines/hour, 3 commit session)","ref":"6c29c35aa5f957b48c01cffd6276127350cdbff0","url":"https://github.com/fmflurry/myna/commit/6c29c35aa5f957b48c01cffd6276127350cdbff0","weight":0.4555012224938876},{"kind":"velocity-burst","description":"2,094 lines of first-party code in ~2.0h (1,038 lines/hour, 1 commit session)","ref":"88aee17dfc0e1bd0f99deb010c0318dd98ce030d","url":"https://github.com/fmflurry/myna/commit/88aee17dfc0e1bd0f99deb010c0318dd98ce030d","weight":0.31146123123536706},{"kind":"velocity-burst","description":"3,298 lines of first-party code in ~3.4h (974 lines/hour, 8 commit session)","ref":"24536b4ebf3df9303a3a0fa4d3e8ebb31fcb7465","url":"https://github.com/fmflurry/myna/commit/24536b4ebf3df9303a3a0fa4d3e8ebb31fcb7465","weight":0.2923374917925148},{"kind":"velocity-burst","description":"3,733 lines of first-party code in ~4.0h (933 lines/hour, 1 commit session)","ref":"6675a2945bdb07cdf7fc7f34de38a4c18093bf29","url":"https://github.com/fmflurry/myna/commit/6675a2945bdb07cdf7fc7f34de38a4c18093bf29","weight":0.279975},{"kind":"velocity-burst","description":"1,899 lines of first-party code in ~2.4h (778 lines/hour, 1 commit session)","ref":"8267bb1c3bc822c71af463b7bb520bb5d387ca85","url":"https://github.com/fmflurry/myna/commit/8267bb1c3bc822c71af463b7bb520bb5d387ca85","weight":0.23348360655737704},{"kind":"velocity-burst","description":"3,010 lines of first-party code in ~4.0h (752 lines/hour, 1 commit session)","ref":"b2b26ebd893ed27ebaa440138a90573bd59c9106","url":"https://github.com/fmflurry/myna/commit/b2b26ebd893ed27ebaa440138a90573bd59c9106","weight":0.22574999999999998},{"kind":"velocity-burst","description":"2,347 lines of first-party code in ~4.0h (587 lines/hour, 1 commit session)","ref":"ca1e87244a2230959be6cbfe5bd3c5b74276de74","url":"https://github.com/fmflurry/myna/commit/ca1e87244a2230959be6cbfe5bd3c5b74276de74","weight":0.176025}],"data":{"flagged_loc_by_commit":{"e7b1ee0341abc8e4cc8c766dbec7ea00d7edd5b3":794,"0a3d9a9436c04c27574b012d0cd2b4a78d42faa6":2316,"8b8134a658f5c4f9bc44e188ea796ea485989a13":1435,"31b94de3d755c04d3dd0dfe26a86ff9e5d3df8bb":4466,"acdb6c9cde7702ae644ca2d4c373c012e7743b68":457,"0d1a16a9fbf3cf6fd0f49012f733b78c342225d5":411,"54a05c53b7c979490553ddcc12f286360fd14741":823,"dfa500bf8d15d006e6f06109cafb4d3d4b254f75":83,"6c29c35aa5f957b48c01cffd6276127350cdbff0":474,"779902923f52adf549cb1ee3ae88156a095e69d3":568,"a760c3239fc5711a0c6b24a0c3870c067bba9d01":585,"945463ba21b23b400430949883bfe338f852b370":370,"47a9dfcf36bd17be423314eb697423800f417027":819,"97092f607f56c9f7308aeed78b8bb72ddfdd1ce1":741,"0037d324c2bc1bbf24b4ebdf1ac3efdbcd21a915":521,"1d28be9a28faba82768274a930f39deb0a75f5e2":205,"45694707697a3106a20e966f84eb61b925d07fdd":3157,"4bf981e7f5408523293008dc82df3604d0f2eac5":4,"4c0109f236a374d2c14c70fdd2a9ebd560406811":1,"882c22ed89d59625465686f68a83ab36c57f4f62":3,"3ada3f5b8ca9ba3713ad85fe494efdf703584bdc":322,"97659c82bd9f9b0dca2a83c758c4beb3ccc34424":114,"8e52a16a873f0f771dd5e62144712bf4a201b75c":642,"98538793dd25c4f4745a7897cb2e34b5ac8d7430":1785,"78b20f004fbcb50ba9dafcfd183100e0f03be5d9":893,"ba870b704e449c93ac077c74da8d79966ba33f93":1646,"37753e2ad256e568aaccdca82f3c3a7a5f017b63":846,"ba49b10f54decdee385a1e2690c02b6af4e9d23c":1036,"20c661afc4a3e617d4a7391829ec7e02eb69cff0":87,"ef96e2ee2b319ea6d85a90c5d52fa533033e332b":15,"da880e955af3a9637c658b7e7fa03253d8357957":2430,"5fc47abb0b791e167560d1dcf805f2f88dcec952":1799,"a3eca80a1e7428d51e27f5067dd5e31f0f0699db":861,"11c876c9a9b47bcdebe36412a8bd403bc71e5c1d":386,"c079b77c8bc8e58ff0cfb34aa469097252c67819":176,"000d7a40674d0e31a09e74bfd98860e79119029d":34,"c0168f5cc42d8d743678b1f713930cc7e16ff6da":13,"38e45b2221e91f265e77df1a01f4361ebeeb4f53":1207,"b8d077436251bf246792d56ab9e1ed39e3dcd031":1006,"3d0b91166e9f6119ba3a356b08ff24881ef0e3a2":238,"24536b4ebf3df9303a3a0fa4d3e8ebb31fcb7465":238,"6675a2945bdb07cdf7fc7f34de38a4c18093bf29":3733,"88aee17dfc0e1bd0f99deb010c0318dd98ce030d":2094,"8267bb1c3bc822c71af463b7bb520bb5d387ca85":1899,"b2b26ebd893ed27ebaa440138a90573bd59c9106":3010,"ca1e87244a2230959be6cbfe5bd3c5b74276de74":2347},"excluded_import_commits":["4f04253e63bfb6d0638b68a53433fbbb059692f2","7b7c8c74415682b62f2ed5f9b084730e2981101a","8208fce11aae9c2d7ea9f9debf7fa0a6dc21068b","83d94f39ef9266c2f3993443b45de59454928b96","b176b4e2b698ed50e0c92338575aa7da5aba6f42","cfd0ab73083b2d4fb699f87c90090491091498f0","fa14417017475c7988bcace6b460a421c8d7edcc"]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"releases":17.0,"flagged_releases":1.0,"max_loc_per_day":23151.3},"findings":[],"evidence":[{"kind":"release-burst","description":"v0.1.0 → v0.2.0: 6,279 lines in 0.68 days (9,265.5 lines/day)","ref":"v0.1.0...v0.2.0","url":"https://github.com/fmflurry/myna/compare/v0.1.0...v0.2.0","weight":0.4}],"data":{"releases":[{"from":"v0.1.0","to":"v0.2.0","loc":6279,"days":0.68,"loc_per_day":9265.5,"flagged":true},{"from":"v0.2.0","to":"v0.2.1","loc":1899,"days":0.08,"loc_per_day":23151.3,"flagged":false},{"from":"v0.2.1","to":"v0.2.2","loc":1073,"days":0.21,"loc_per_day":5093.0,"flagged":false},{"from":"v0.2.2","to":"v0.2.3","loc":201,"days":1.27,"loc_per_day":157.9,"flagged":false},{"from":"v0.2.3","to":"v0.2.4","loc":38,"days":0.04,"loc_per_day":912.0,"flagged":false},{"from":"v0.2.4","to":"v0.2.5","loc":188,"days":0.04,"loc_per_day":4512.0,"flagged":false},{"from":"v0.2.5","to":"v0.2.6","loc":56,"days":0.26,"loc_per_day":217.3,"flagged":false},{"from":"v0.2.6","to":"v0.3.0","loc":3010,"days":2.51,"loc_per_day":1201.0,"flagged":false},{"from":"v0.3.0","to":"v0.3.1","loc":743,"days":0.1,"loc_per_day":7705.6,"flagged":false},{"from":"v0.3.1","to":"v0.4.0","loc":2347,"days":1.5,"loc_per_day":1564.1,"flagged":false},{"from":"v0.4.0","to":"v0.4.1","loc":951,"days":0.86,"loc_per_day":1103.5,"flagged":false},{"from":"v0.4.1","to":"v0.4.2","loc":212,"days":13.71,"loc_per_day":15.5,"flagged":false},{"from":"v0.4.2","to":"v0.5.0","loc":583,"days":6.36,"loc_per_day":91.6,"flagged":false},{"from":"v0.5.0","to":"v0.6.0","loc":1415,"days":1.07,"loc_per_day":1326.3,"flagged":false},{"from":"v0.6.0","to":"v0.6.1","loc":8,"days":0.04,"loc_per_day":192.0,"flagged":false},{"from":"v0.6.1","to":"v0.6.2","loc":10,"days":0.04,"loc_per_day":240.0,"flagged":false},{"from":"v0.6.2","to":"v0.6.3","loc":956,"days":34.83,"loc_per_day":27.4,"flagged":false}]},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":56404.0,"index":0.115,"count:narrated_steps":3.0,"per_kloc:narrated_steps":0.053,"files:narrated_steps":1.0,"count:placeholder":0.0,"per_kloc:placeholder":0.0,"files:placeholder":0.0,"count:emoji_in_code":7.0,"per_kloc:emoji_in_code":0.124,"files:emoji_in_code":4.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 1: merge among clusters that have a centroid.","ref":"crates/myna-stt/src/cluster_merge.rs:274","url":"https://github.com/fmflurry/myna/blob/7356f23c8815c526a2ce706aa798ec1975bf16f3/crates/myna-stt/src/cluster_merge.rs#L274","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 2: per-group duration-weighted centroid + total duration.","ref":"crates/myna-stt/src/cluster_merge.rs:299","url":"https://github.com/fmflurry/myna/blob/7356f23c8815c526a2ce706aa798ec1975bf16f3/crates/myna-stt/src/cluster_merge.rs#L299","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 3: absorb short groups, then compose.","ref":"crates/myna-stt/src/cluster_merge.rs:320","url":"https://github.com/fmflurry/myna/blob/7356f23c8815c526a2ce706aa798ec1975bf16f3/crates/myna-stt/src/cluster_merge.rs#L320","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":75.0,"findings_high":0.0,"findings_medium":0.0,"findings_low":75.0,"weighted_findings":18.75,"scanned_lines":55638.0,"parse_errors":2.0},"findings":[{"rule_id":"opengrep/rust.lang.security.current-exe","severity":"low","message":"current_exe should not be used for security operations. From the docs: \"The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change the output arbitrarily.\" [confidence high]","path":"app/src-tauri/src/commands/update_install.rs","line":239,"fingerprint":"rust.lang.security.current-exe:app/src-tauri/src/commands/update_install.rs:239"},{"rule_id":"opengrep/rust.lang.security.args","severity":"low","message":"args should not be used for security operations. From the docs: \"The first element is traditionally the path of the executable, but it can be set to arbitrary text, and might not even exist. This means this property should not be relied upon for security purposes.\" [confidence high]","path":"app/src-tauri/src/commands/update_install.rs","line":242,"fingerprint":"rust.lang.security.args:app/src-tauri/src/commands/update_install.rs:242"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-coreaudio-tap/src/process.rs","line":84,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-coreaudio-tap/src/process.rs:84"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-coreaudio-tap/src/process.rs","line":246,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-coreaudio-tap/src/process.rs:246"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-coreaudio-tap/src/process.rs","line":277,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-coreaudio-tap/src/process.rs:277"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-coreaudio-tap/src/process.rs","line":296,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-coreaudio-tap/src/process.rs:296"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-coreaudio-tap/src/tap.rs","line":123,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-coreaudio-tap/src/tap.rs:123"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-coreaudio-tap/src/tap.rs","line":145,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-coreaudio-tap/src/tap.rs:145"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-coreaudio-tap/src/tap.rs","line":150,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-coreaudio-tap/src/tap.rs:150"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-coreaudio-tap/src/tap.rs","line":178,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-coreaudio-tap/src/tap.rs:178"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-coreaudio-tap/src/tap.rs","line":189,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-coreaudio-tap/src/tap.rs:189"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-coreaudio-tap/src/tap.rs","line":197,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-coreaudio-tap/src/tap.rs:197"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-coreaudio-tap/src/tap.rs","line":229,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-coreaudio-tap/src/tap.rs:229"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-coreaudio-tap/src/tap.rs","line":237,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-coreaudio-tap/src/tap.rs:237"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-coreaudio-tap/src/tap.rs","line":243,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-coreaudio-tap/src/tap.rs:243"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-coreaudio-tap/src/tap.rs","line":255,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-coreaudio-tap/src/tap.rs:255"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-coreaudio-tap/src/tap.rs","line":276,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-coreaudio-tap/src/tap.rs:276"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-coreaudio-tap/src/tap.rs","line":306,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-coreaudio-tap/src/tap.rs:306"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-coreaudio-tap/src/tap.rs","line":394,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-coreaudio-tap/src/tap.rs:394"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-coreaudio-tap/src/tap.rs","line":429,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-coreaudio-tap/src/tap.rs:429"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-coreaudio-tap/src/tap.rs","line":488,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-coreaudio-tap/src/tap.rs:488"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-coreaudio-tap/src/tap.rs","line":492,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-coreaudio-tap/src/tap.rs:492"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-coreaudio-tap/src/tap.rs","line":502,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-coreaudio-tap/src/tap.rs:502"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-coreaudio-tap/src/tap.rs","line":506,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-coreaudio-tap/src/tap.rs:506"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-coreaudio-tap/src/tap.rs","line":618,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-coreaudio-tap/src/tap.rs:618"},{"rule_id":"opengrep/rust.lang.security.args-os","severity":"low","message":"args_os should not be used for security operations. From the docs: \"The first element is traditionally the path of the executable, but it can be set to arbitrary text, and might not even exist. This means this property should not be relied upon for security purposes.\" [confidence high]","path":"crates/myna-stt/src/main.rs","line":14,"fingerprint":"rust.lang.security.args-os:crates/myna-stt/src/main.rs:14"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":72,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:72"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":88,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:88"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":103,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:103"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":128,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:128"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":134,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:134"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":135,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:135"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":146,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:146"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":152,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:152"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":153,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:153"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":154,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:154"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":155,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:155"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":246,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:246"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":248,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:248"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":250,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:250"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":252,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:252"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":257,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:257"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":259,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:259"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":269,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:269"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":280,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:280"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":311,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:311"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":315,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:315"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":322,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:322"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":336,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:336"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":348,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:348"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":356,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:356"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":364,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:364"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":376,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:376"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":397,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:397"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/lib.rs","line":401,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/lib.rs:401"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/main.rs","line":52,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/main.rs:52"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/main.rs","line":86,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/main.rs:86"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/main.rs","line":101,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/main.rs:101"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/main.rs","line":124,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/main.rs:124"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/main.rs","line":128,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/main.rs:128"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/main.rs","line":129,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/main.rs:129"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/main.rs","line":130,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/main.rs:130"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/main.rs","line":131,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/main.rs:131"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/main.rs","line":132,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/main.rs:132"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/main.rs","line":141,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/main.rs:141"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/main.rs","line":151,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/main.rs:151"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/main.rs","line":158,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/main.rs:158"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/main.rs","line":159,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/main.rs:159"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/main.rs","line":161,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/main.rs:161"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/main.rs","line":175,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/main.rs:175"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/main.rs","line":189,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/main.rs:189"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/main.rs","line":204,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/main.rs:204"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/main.rs","line":210,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/main.rs:210"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/main.rs","line":216,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/main.rs:216"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"crates/myna-wasapi-probe/src/main.rs","line":223,"fingerprint":"rust.lang.security.unsafe-usage:crates/myna-wasapi-probe/src/main.rs:223"}],"evidence":[],"data":{"rulesets":["rust","typescript","javascript","bash"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"ok","tool_version":"osv-scanner version: 2.7.1","metrics":{"vulnerable_packages":43.0,"vulnerabilities":103.0,"vulns_critical":6.0,"vulns_high":28.0,"vulns_medium":48.0,"vulns_low":9.0,"vulns_unknown":12.0,"penalty":245.0},"findings":[{"rule_id":"osv/RUSTSEC-2026-0369","severity":"critical","message":"zip@4.6.1 (crates.io) is affected by RUSTSEC-2026-0369","path":"Cargo.lock","line":null,"fingerprint":"zip@4.6.1 (crates.io):RUSTSEC-2026-0369"},{"rule_id":"osv/GHSA-m665-v7pm-7grj","severity":"critical","message":"zip@4.6.1 (crates.io) is affected by GHSA-m665-v7pm-7grj","path":"Cargo.lock","line":null,"fingerprint":"zip@4.6.1 (crates.io):GHSA-m665-v7pm-7grj"},{"rule_id":"osv/GHSA-67c8-pqhq-4rmx","severity":"critical","message":"piscina@5.2.0 (npm) is affected by GHSA-67c8-pqhq-4rmx","path":"ui/package-lock.json","line":null,"fingerprint":"piscina@5.2.0 (npm):GHSA-67c8-pqhq-4rmx"},{"rule_id":"osv/GHSA-jqcg-44mw-7w3h","severity":"critical","message":"proxy-addr@2.0.7 (npm) is affected by GHSA-jqcg-44mw-7w3h","path":"ui/package-lock.json","line":null,"fingerprint":"proxy-addr@2.0.7 (npm):GHSA-jqcg-44mw-7w3h"},{"rule_id":"osv/GHSA-5gmw-xhrv-c9v3","severity":"critical","message":"tinypool@1.1.1 (npm) is affected by GHSA-5gmw-xhrv-c9v3","path":"ui/package-lock.json","line":null,"fingerprint":"tinypool@1.1.1 (npm):GHSA-5gmw-xhrv-c9v3"},{"rule_id":"osv/GHSA-85c8-ppgw-ccpr","severity":"critical","message":"tinypool@1.1.1 (npm) is affected by GHSA-85c8-ppgw-ccpr","path":"ui/package-lock.json","line":null,"fingerprint":"tinypool@1.1.1 (npm):GHSA-85c8-ppgw-ccpr"},{"rule_id":"osv/RUSTSEC-2026-0367","severity":"high","message":"zip@4.6.1 (crates.io) is affected by RUSTSEC-2026-0367","path":"Cargo.lock","line":null,"fingerprint":"zip@4.6.1 (crates.io):RUSTSEC-2026-0367"},{"rule_id":"osv/GHSA-q7v9-x93c-xqv3","severity":"high","message":"zip@4.6.1 (crates.io) is affected by RUSTSEC-2026-0429, GHSA-q7v9-x93c-xqv3","path":"Cargo.lock","line":null,"fingerprint":"zip@4.6.1 (crates.io):GHSA-q7v9-x93c-xqv3"},{"rule_id":"osv/GHSA-gfr2-rv44-r23c","severity":"high","message":"markdown-it@14.3.0 (npm) is affected by GHSA-gfr2-rv44-r23c","path":"package-lock.json","line":null,"fingerprint":"markdown-it@14.3.0 (npm):GHSA-gfr2-rv44-r23c"},{"rule_id":"osv/GHSA-r7fv-28h4-cvq7","severity":"high","message":"markdown-it@14.3.0 (npm) is affected by GHSA-r7fv-28h4-cvq7","path":"package-lock.json","line":null,"fingerprint":"markdown-it@14.3.0 (npm):GHSA-r7fv-28h4-cvq7"},{"rule_id":"osv/GHSA-7w5x-hrqm-74c2","severity":"high","message":"smol-toml@1.7.0 (npm) is affected by GHSA-7w5x-hrqm-74c2","path":"package-lock.json","line":null,"fingerprint":"smol-toml@1.7.0 (npm):GHSA-7w5x-hrqm-74c2"},{"rule_id":"osv/GHSA-62vg-58rm-qff7","severity":"high","message":"@angular/router@20.3.29 (npm) is affected by GHSA-62vg-58rm-qff7","path":"ui/package-lock.json","line":null,"fingerprint":"@angular/router@20.3.29 (npm):GHSA-62vg-58rm-qff7"},{"rule_id":"osv/GHSA-ff3f-86qr-9cv3","severity":"high","message":"@angular/router@20.3.29 (npm) is affected by GHSA-ff3f-86qr-9cv3","path":"ui/package-lock.json","line":null,"fingerprint":"@angular/router@20.3.29 (npm):GHSA-ff3f-86qr-9cv3"},{"rule_id":"osv/GHSA-22jm-h49p-29qw","severity":"high","message":"@modelcontextprotocol/sdk@1.30.0 (npm) is affected by GHSA-22jm-h49p-29qw","path":"ui/package-lock.json","line":null,"fingerprint":"@modelcontextprotocol/sdk@1.30.0 (npm):GHSA-22jm-h49p-29qw"},{"rule_id":"osv/GHSA-46jr-4wx8-v453","severity":"high","message":"@modelcontextprotocol/sdk@1.30.0 (npm) is affected by GHSA-46jr-4wx8-v453","path":"ui/package-lock.json","line":null,"fingerprint":"@modelcontextprotocol/sdk@1.30.0 (npm):GHSA-46jr-4wx8-v453"},{"rule_id":"osv/GHSA-6qxp-vccf-f47h","severity":"high","message":"@modelcontextprotocol/sdk@1.30.0 (npm) is affected by GHSA-6qxp-vccf-f47h","path":"ui/package-lock.json","line":null,"fingerprint":"@modelcontextprotocol/sdk@1.30.0 (npm):GHSA-6qxp-vccf-f47h"},{"rule_id":"osv/GHSA-f897-62hf-6gxq","severity":"high","message":"@modelcontextprotocol/sdk@1.30.0 (npm) is affected by GHSA-f897-62hf-6gxq","path":"ui/package-lock.json","line":null,"fingerprint":"@modelcontextprotocol/sdk@1.30.0 (npm):GHSA-f897-62hf-6gxq"},{"rule_id":"osv/GHSA-27r3-jxmh-p828","severity":"high","message":"body-parser@2.3.0 (npm) is affected by GHSA-27r3-jxmh-p828","path":"ui/package-lock.json","line":null,"fingerprint":"body-parser@2.3.0 (npm):GHSA-27r3-jxmh-p828"},{"rule_id":"osv/GHSA-6j4f-fj2g-mc7p","severity":"high","message":"brace-expansion@1.1.18 (npm) is affected by GHSA-6j4f-fj2g-mc7p","path":"ui/package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.18 (npm):GHSA-6j4f-fj2g-mc7p"},{"rule_id":"osv/GHSA-qhr7-859c-m2p7","severity":"high","message":"brace-expansion@1.1.18 (npm) is affected by GHSA-qhr7-859c-m2p7","path":"ui/package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.18 (npm):GHSA-qhr7-859c-m2p7"},{"rule_id":"osv/GHSA-6j4f-fj2g-mc7p","severity":"high","message":"brace-expansion@2.1.4 (npm) is affected by GHSA-6j4f-fj2g-mc7p","path":"ui/package-lock.json","line":null,"fingerprint":"brace-expansion@2.1.4 (npm):GHSA-6j4f-fj2g-mc7p"},{"rule_id":"osv/GHSA-qhr7-859c-m2p7","severity":"high","message":"brace-expansion@2.1.4 (npm) is affected by GHSA-qhr7-859c-m2p7","path":"ui/package-lock.json","line":null,"fingerprint":"brace-expansion@2.1.4 (npm):GHSA-qhr7-859c-m2p7"},{"rule_id":"osv/GHSA-6j4f-fj2g-mc7p","severity":"high","message":"brace-expansion@5.0.9 (npm) is affected by GHSA-6j4f-fj2g-mc7p","path":"ui/package-lock.json","line":null,"fingerprint":"brace-expansion@5.0.9 (npm):GHSA-6j4f-fj2g-mc7p"},{"rule_id":"osv/GHSA-qhr7-859c-m2p7","severity":"high","message":"brace-expansion@5.0.9 (npm) is affected by GHSA-qhr7-859c-m2p7","path":"ui/package-lock.json","line":null,"fingerprint":"brace-expansion@5.0.9 (npm):GHSA-qhr7-859c-m2p7"},{"rule_id":"osv/GHSA-58mr-gqgx-xq4g","severity":"high","message":"fast-uri@3.1.6 (npm) is affected by GHSA-58mr-gqgx-xq4g","path":"ui/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.6 (npm):GHSA-58mr-gqgx-xq4g"},{"rule_id":"osv/GHSA-qw65-cvwx-89v3","severity":"high","message":"fast-uri@3.1.6 (npm) is affected by GHSA-qw65-cvwx-89v3","path":"ui/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.6 (npm):GHSA-qw65-cvwx-89v3"},{"rule_id":"osv/GHSA-2883-xcg3-v3hh","severity":"high","message":"js-yaml@4.3.1 (npm) is affected by GHSA-2883-xcg3-v3hh","path":"ui/package-lock.json","line":null,"fingerprint":"js-yaml@4.3.1 (npm):GHSA-2883-xcg3-v3hh"},{"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":"ui/package-lock.json","line":null,"fingerprint":"source-map-js@1.2.1 (npm):GHSA-68fv-2mgg-jv7q"},{"rule_id":"osv/GHSA-2m5v-pch6-74hx","severity":"high","message":"undici@6.28.0 (npm) is affected by GHSA-2m5v-pch6-74hx","path":"ui/package-lock.json","line":null,"fingerprint":"undici@6.28.0 (npm):GHSA-2m5v-pch6-74hx"},{"rule_id":"osv/GHSA-qrxm-fqhp-jwvm","severity":"high","message":"undici@6.28.0 (npm) is affected by GHSA-qrxm-fqhp-jwvm","path":"ui/package-lock.json","line":null,"fingerprint":"undici@6.28.0 (npm):GHSA-qrxm-fqhp-jwvm"},{"rule_id":"osv/GHSA-rfgv-xxqx-mfg5","severity":"high","message":"undici@6.28.0 (npm) is affected by GHSA-rfgv-xxqx-mfg5","path":"ui/package-lock.json","line":null,"fingerprint":"undici@6.28.0 (npm):GHSA-rfgv-xxqx-mfg5"},{"rule_id":"osv/GHSA-xjj6-f33q-929c","severity":"high","message":"undici@6.28.0 (npm) is affected by GHSA-xjj6-f33q-929c","path":"ui/package-lock.json","line":null,"fingerprint":"undici@6.28.0 (npm):GHSA-xjj6-f33q-929c"},{"rule_id":"osv/GHSA-587h-7wmj-h5pm","severity":"high","message":"vite@7.3.6 (npm) is affected by GHSA-587h-7wmj-h5pm","path":"ui/package-lock.json","line":null,"fingerprint":"vite@7.3.6 (npm):GHSA-587h-7wmj-h5pm"},{"rule_id":"osv/GHSA-mrhx-c7xc-m3w5","severity":"high","message":"zod@4.1.13 (npm) is affected by GHSA-mrhx-c7xc-m3w5","path":"ui/package-lock.json","line":null,"fingerprint":"zod@4.1.13 (npm):GHSA-mrhx-c7xc-m3w5"},{"rule_id":"osv/GHSA-wrw7-89jp-8q8g","severity":"medium","message":"glib@0.18.5 (crates.io) is affected by RUSTSEC-2024-0429, GHSA-wrw7-89jp-8q8g","path":"Cargo.lock","line":null,"fingerprint":"glib@0.18.5 (crates.io):GHSA-wrw7-89jp-8q8g"},{"rule_id":"osv/RUSTSEC-2024-0370","severity":"medium","message":"proc-macro-error@1.0.4 (crates.io) is affected by RUSTSEC-2024-0370","path":"Cargo.lock","line":null,"fingerprint":"proc-macro-error@1.0.4 (crates.io):RUSTSEC-2024-0370"},{"rule_id":"osv/RUSTSEC-2026-0486","severity":"medium","message":"rustix@1.1.4 (crates.io) is affected by RUSTSEC-2026-0486","path":"Cargo.lock","line":null,"fingerprint":"rustix@1.1.4 (crates.io):RUSTSEC-2026-0486"},{"rule_id":"osv/GHSA-2mjx-qc3c-rqvc","severity":"medium","message":"rustls@0.23.43 (crates.io) is affected by RUSTSEC-2026-0285, GHSA-2mjx-qc3c-rqvc","path":"Cargo.lock","line":null,"fingerprint":"rustls@0.23.43 (crates.io):GHSA-2mjx-qc3c-rqvc"},{"rule_id":"osv/GHSA-c8m5-c952-6cm4","severity":"medium","message":"rustls@0.23.43 (crates.io) is affected by RUSTSEC-2026-0346, GHSA-c8m5-c952-6cm4","path":"Cargo.lock","line":null,"fingerprint":"rustls@0.23.43 (crates.io):GHSA-c8m5-c952-6cm4"},{"rule_id":"osv/RUSTSEC-2026-0382","severity":"medium","message":"rustls-webpki@0.103.15 (crates.io) is affected by RUSTSEC-2026-0382","path":"Cargo.lock","line":null,"fingerprint":"rustls-webpki@0.103.15 (crates.io):RUSTSEC-2026-0382"},{"rule_id":"osv/RUSTSEC-2026-0386","severity":"medium","message":"tokio@1.53.1 (crates.io) is affected by RUSTSEC-2026-0386","path":"Cargo.lock","line":null,"fingerprint":"tokio@1.53.1 (crates.io):RUSTSEC-2026-0386"},{"rule_id":"osv/RUSTSEC-2025-0081","severity":"medium","message":"unic-char-property@0.9.0 (crates.io) is affected by RUSTSEC-2025-0081","path":"Cargo.lock","line":null,"fingerprint":"unic-char-property@0.9.0 (crates.io):RUSTSEC-2025-0081"},{"rule_id":"osv/RUSTSEC-2025-0075","severity":"medium","message":"unic-char-range@0.9.0 (crates.io) is affected by RUSTSEC-2025-0075","path":"Cargo.lock","line":null,"fingerprint":"unic-char-range@0.9.0 (crates.io):RUSTSEC-2025-0075"},{"rule_id":"osv/RUSTSEC-2025-0080","severity":"medium","message":"unic-common@0.9.0 (crates.io) is affected by RUSTSEC-2025-0080","path":"Cargo.lock","line":null,"fingerprint":"unic-common@0.9.0 (crates.io):RUSTSEC-2025-0080"},{"rule_id":"osv/RUSTSEC-2025-0100","severity":"medium","message":"unic-ucd-ident@0.9.0 (crates.io) is affected by RUSTSEC-2025-0100","path":"Cargo.lock","line":null,"fingerprint":"unic-ucd-ident@0.9.0 (crates.io):RUSTSEC-2025-0100"},{"rule_id":"osv/RUSTSEC-2025-0098","severity":"medium","message":"unic-ucd-version@0.9.0 (crates.io) is affected by RUSTSEC-2025-0098","path":"Cargo.lock","line":null,"fingerprint":"unic-ucd-version@0.9.0 (crates.io):RUSTSEC-2025-0098"},{"rule_id":"osv/RUSTSEC-2026-0383","severity":"medium","message":"webpki-root-certs@1.0.9 (crates.io) is affected by RUSTSEC-2026-0383","path":"Cargo.lock","line":null,"fingerprint":"webpki-root-certs@1.0.9 (crates.io):RUSTSEC-2026-0383"},{"rule_id":"osv/RUSTSEC-2026-0381","severity":"medium","message":"webpki-roots@1.0.9 (crates.io) is affected by RUSTSEC-2026-0381","path":"Cargo.lock","line":null,"fingerprint":"webpki-roots@1.0.9 (crates.io):RUSTSEC-2026-0381"},{"rule_id":"osv/RUSTSEC-2026-0368","severity":"medium","message":"zip@4.6.1 (crates.io) is affected by RUSTSEC-2026-0368","path":"Cargo.lock","line":null,"fingerprint":"zip@4.6.1 (crates.io):RUSTSEC-2026-0368"},{"rule_id":"osv/GHSA-8hxf-qr8p-62x4","severity":"medium","message":"zip@4.6.1 (crates.io) is affected by GHSA-8hxf-qr8p-62x4","path":"Cargo.lock","line":null,"fingerprint":"zip@4.6.1 (crates.io):GHSA-8hxf-qr8p-62x4"},{"rule_id":"osv/GHSA-r3ph-w7gj-g6xm","severity":"medium","message":"js-yaml@5.2.2 (npm) is affected by GHSA-r3ph-w7gj-g6xm","path":"package-lock.json","line":null,"fingerprint":"js-yaml@5.2.2 (npm):GHSA-r3ph-w7gj-g6xm"},{"rule_id":"osv/GHSA-253c-mchw-3w2r","severity":"medium","message":"markdown-it@14.3.0 (npm) is affected by GHSA-253c-mchw-3w2r","path":"package-lock.json","line":null,"fingerprint":"markdown-it@14.3.0 (npm):GHSA-253c-mchw-3w2r"},{"rule_id":"osv/GHSA-r4xh-jqrq-34v2","severity":"medium","message":"smol-toml@1.7.0 (npm) is affected by GHSA-r4xh-jqrq-34v2","path":"package-lock.json","line":null,"fingerprint":"smol-toml@1.7.0 (npm):GHSA-r4xh-jqrq-34v2"},{"rule_id":"osv/GHSA-jfgx-762w-99vr","severity":"medium","message":"@angular/common@20.3.29 (npm) is affected by GHSA-jfgx-762w-99vr","path":"ui/package-lock.json","line":null,"fingerprint":"@angular/common@20.3.29 (npm):GHSA-jfgx-762w-99vr"},{"rule_id":"osv/GHSA-jpvv-r467-5p4w","severity":"medium","message":"@hono/node-server@2.1.1 (npm) is affected by GHSA-jpvv-r467-5p4w","path":"ui/package-lock.json","line":null,"fingerprint":"@hono/node-server@2.1.1 (npm):GHSA-jpvv-r467-5p4w"},{"rule_id":"osv/GHSA-qv5m-9pm6-hqp3","severity":"medium","message":"@hono/node-server@2.1.1 (npm) is affected by GHSA-qv5m-9pm6-hqp3","path":"ui/package-lock.json","line":null,"fingerprint":"@hono/node-server@2.1.1 (npm):GHSA-qv5m-9pm6-hqp3"},{"rule_id":"osv/GHSA-rmxm-3fg6-px4f","severity":"medium","message":"@hono/node-server@2.1.1 (npm) is affected by GHSA-rmxm-3fg6-px4f","path":"ui/package-lock.json","line":null,"fingerprint":"@hono/node-server@2.1.1 (npm):GHSA-rmxm-3fg6-px4f"},{"rule_id":"osv/GHSA-6prh-2h8m-c8cw","severity":"medium","message":"@modelcontextprotocol/sdk@1.30.0 (npm) is affected by GHSA-6prh-2h8m-c8cw","path":"ui/package-lock.json","line":null,"fingerprint":"@modelcontextprotocol/sdk@1.30.0 (npm):GHSA-6prh-2h8m-c8cw"},{"rule_id":"osv/GHSA-rvq5-wwqv-78pq","severity":"medium","message":"@modelcontextprotocol/sdk@1.30.0 (npm) is affected by GHSA-rvq5-wwqv-78pq","path":"ui/package-lock.json","line":null,"fingerprint":"@modelcontextprotocol/sdk@1.30.0 (npm):GHSA-rvq5-wwqv-78pq"},{"rule_id":"osv/GHSA-82fw-gwwq-j7x9","severity":"medium","message":"@vitest/mocker@3.2.7 (npm) is affected by GHSA-82fw-gwwq-j7x9","path":"ui/package-lock.json","line":null,"fingerprint":"@vitest/mocker@3.2.7 (npm):GHSA-82fw-gwwq-j7x9"},{"rule_id":"osv/GHSA-qxg6-89mg-rqv8","severity":"medium","message":"@vitest/mocker@3.2.7 (npm) is affected by GHSA-qxg6-89mg-rqv8","path":"ui/package-lock.json","line":null,"fingerprint":"@vitest/mocker@3.2.7 (npm):GHSA-qxg6-89mg-rqv8"},{"rule_id":"osv/GHSA-q2hr-2g5m-vwhr","severity":"medium","message":"brace-expansion@1.1.18 (npm) is affected by GHSA-q2hr-2g5m-vwhr","path":"ui/package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.18 (npm):GHSA-q2hr-2g5m-vwhr"},{"rule_id":"osv/GHSA-q2hr-2g5m-vwhr","severity":"medium","message":"brace-expansion@2.1.4 (npm) is affected by GHSA-q2hr-2g5m-vwhr","path":"ui/package-lock.json","line":null,"fingerprint":"brace-expansion@2.1.4 (npm):GHSA-q2hr-2g5m-vwhr"},{"rule_id":"osv/GHSA-q2hr-2g5m-vwhr","severity":"medium","message":"brace-expansion@5.0.9 (npm) is affected by GHSA-q2hr-2g5m-vwhr","path":"ui/package-lock.json","line":null,"fingerprint":"brace-expansion@5.0.9 (npm):GHSA-q2hr-2g5m-vwhr"},{"rule_id":"osv/GHSA-hrr3-gc8f-f4qj","severity":"medium","message":"fast-uri@3.1.6 (npm) is affected by GHSA-hrr3-gc8f-f4qj","path":"ui/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.6 (npm):GHSA-hrr3-gc8f-f4qj"},{"rule_id":"osv/GHSA-w74x-v6f9-j3xg","severity":"medium","message":"fast-uri@3.1.6 (npm) is affected by GHSA-w74x-v6f9-j3xg","path":"ui/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.6 (npm):GHSA-w74x-v6f9-j3xg"},{"rule_id":"osv/GHSA-wjr9-j795-jxcr","severity":"medium","message":"fast-uri@3.1.6 (npm) is affected by GHSA-wjr9-j795-jxcr","path":"ui/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.6 (npm):GHSA-wjr9-j795-jxcr"},{"rule_id":"osv/GHSA-3g3m-2fjr-6pw4","severity":"medium","message":"glob@13.0.6 (npm) is affected by GHSA-3g3m-2fjr-6pw4","path":"ui/package-lock.json","line":null,"fingerprint":"glob@13.0.6 (npm):GHSA-3g3m-2fjr-6pw4"},{"rule_id":"osv/GHSA-46wx-v44x-9hh2","severity":"medium","message":"hono@4.13.4 (npm) is affected by GHSA-46wx-v44x-9hh2","path":"ui/package-lock.json","line":null,"fingerprint":"hono@4.13.4 (npm):GHSA-46wx-v44x-9hh2"},{"rule_id":"osv/GHSA-4h7h-rv7c-7m2v","severity":"medium","message":"hono@4.13.4 (npm) is affected by GHSA-4h7h-rv7c-7m2v","path":"ui/package-lock.json","line":null,"fingerprint":"hono@4.13.4 (npm):GHSA-4h7h-rv7c-7m2v"},{"rule_id":"osv/GHSA-4m76-xfj5-7975","severity":"medium","message":"hono@4.13.4 (npm) is affected by GHSA-4m76-xfj5-7975","path":"ui/package-lock.json","line":null,"fingerprint":"hono@4.13.4 (npm):GHSA-4m76-xfj5-7975"},{"rule_id":"osv/GHSA-5r4p-p66f-jhc7","severity":"medium","message":"hono@4.13.4 (npm) is affected by GHSA-5r4p-p66f-jhc7","path":"ui/package-lock.json","line":null,"fingerprint":"hono@4.13.4 (npm):GHSA-5r4p-p66f-jhc7"},{"rule_id":"osv/GHSA-crvj-82cr-hjcx","severity":"medium","message":"hono@4.13.4 (npm) is affected by GHSA-crvj-82cr-hjcx","path":"ui/package-lock.json","line":null,"fingerprint":"hono@4.13.4 (npm):GHSA-crvj-82cr-hjcx"},{"rule_id":"osv/GHSA-g6gw-c38x-mqfc","severity":"medium","message":"hono@4.13.4 (npm) is affected by GHSA-g6gw-c38x-mqfc","path":"ui/package-lock.json","line":null,"fingerprint":"hono@4.13.4 (npm):GHSA-g6gw-c38x-mqfc"},{"rule_id":"osv/GHSA-gqvv-2mrq-wpjv","severity":"medium","message":"hono@4.13.4 (npm) is affected by GHSA-gqvv-2mrq-wpjv","path":"ui/package-lock.json","line":null,"fingerprint":"hono@4.13.4 (npm):GHSA-gqvv-2mrq-wpjv"},{"rule_id":"osv/GHSA-h7mg-cq63-vhpq","severity":"medium","message":"hono@4.13.4 (npm) is affected by GHSA-h7mg-cq63-vhpq","path":"ui/package-lock.json","line":null,"fingerprint":"hono@4.13.4 (npm):GHSA-h7mg-cq63-vhpq"},{"rule_id":"osv/GHSA-hxh3-vqpv-xpqv","severity":"medium","message":"hono@4.13.4 (npm) is affected by GHSA-hxh3-vqpv-xpqv","path":"ui/package-lock.json","line":null,"fingerprint":"hono@4.13.4 (npm):GHSA-hxh3-vqpv-xpqv"},{"rule_id":"osv/GHSA-2vr4-cq9g-pvrc","severity":"medium","message":"ip-address@10.5.0 (npm) is affected by GHSA-2vr4-cq9g-pvrc","path":"ui/package-lock.json","line":null,"fingerprint":"ip-address@10.5.0 (npm):GHSA-2vr4-cq9g-pvrc"},{"rule_id":"osv/GHSA-h3mg-xc3c-68pw","severity":"medium","message":"ip-address@10.5.0 (npm) is affected by GHSA-h3mg-xc3c-68pw","path":"ui/package-lock.json","line":null,"fingerprint":"ip-address@10.5.0 (npm):GHSA-h3mg-xc3c-68pw"},{"rule_id":"osv/GHSA-j6r3-76f7-8jcv","severity":"medium","message":"ip-address@10.5.0 (npm) is affected by GHSA-j6r3-76f7-8jcv","path":"ui/package-lock.json","line":null,"fingerprint":"ip-address@10.5.0 (npm):GHSA-j6r3-76f7-8jcv"},{"rule_id":"osv/GHSA-rpw4-54j3-4h4q","severity":"medium","message":"ip-address@10.5.0 (npm) is affected by GHSA-rpw4-54j3-4h4q","path":"ui/package-lock.json","line":null,"fingerprint":"ip-address@10.5.0 (npm):GHSA-rpw4-54j3-4h4q"},{"rule_id":"osv/GHSA-rxp7-6hxx-x8q5","severity":"medium","message":"ip-address@10.5.0 (npm) is affected by GHSA-rxp7-6hxx-x8q5","path":"ui/package-lock.json","line":null,"fingerprint":"ip-address@10.5.0 (npm):GHSA-rxp7-6hxx-x8q5"},{"rule_id":"osv/GHSA-g3hv-75wg-m249","severity":"medium","message":"minimatch@10.2.6 (npm) is affected by GHSA-g3hv-75wg-m249","path":"ui/package-lock.json","line":null,"fingerprint":"minimatch@10.2.6 (npm):GHSA-g3hv-75wg-m249"},{"rule_id":"osv/GHSA-g3hv-75wg-m249","severity":"medium","message":"minimatch@9.0.9 (npm) is affected by GHSA-g3hv-75wg-m249","path":"ui/package-lock.json","line":null,"fingerprint":"minimatch@9.0.9 (npm):GHSA-g3hv-75wg-m249"},{"rule_id":"osv/GHSA-4mjr-xmp4-gh2g","severity":"medium","message":"qs@6.15.3 (npm) is affected by GHSA-4mjr-xmp4-gh2g","path":"ui/package-lock.json","line":null,"fingerprint":"qs@6.15.3 (npm):GHSA-4mjr-xmp4-gh2g"},{"rule_id":"osv/GHSA-6pq8-jhm2-2vcw","severity":"medium","message":"qs@6.15.3 (npm) is affected by GHSA-6pq8-jhm2-2vcw","path":"ui/package-lock.json","line":null,"fingerprint":"qs@6.15.3 (npm):GHSA-6pq8-jhm2-2vcw"},{"rule_id":"osv/GHSA-x5fp-wj9c-mxmx","severity":"medium","message":"qs@6.15.3 (npm) is affected by GHSA-x5fp-wj9c-mxmx","path":"ui/package-lock.json","line":null,"fingerprint":"qs@6.15.3 (npm):GHSA-x5fp-wj9c-mxmx"},{"rule_id":"osv/GHSA-3wwx-pv8p-q78v","severity":"medium","message":"undici@6.28.0 (npm) is affected by GHSA-3wwx-pv8p-q78v","path":"ui/package-lock.json","line":null,"fingerprint":"undici@6.28.0 (npm):GHSA-3wwx-pv8p-q78v"},{"rule_id":"osv/GHSA-4qv8-2p9j-2685","severity":"medium","message":"undici@6.28.0 (npm) is affected by GHSA-4qv8-2p9j-2685","path":"ui/package-lock.json","line":null,"fingerprint":"undici@6.28.0 (npm):GHSA-4qv8-2p9j-2685"},{"rule_id":"osv/GHSA-9fm3-97px-rjf6","severity":"medium","message":"undici@6.28.0 (npm) is affected by GHSA-9fm3-97px-rjf6","path":"ui/package-lock.json","line":null,"fingerprint":"undici@6.28.0 (npm):GHSA-9fm3-97px-rjf6"},{"rule_id":"osv/GHSA-698v-4r3x-3vcv","severity":"medium","message":"vite@7.3.6 (npm) is affected by GHSA-698v-4r3x-3vcv","path":"ui/package-lock.json","line":null,"fingerprint":"vite@7.3.6 (npm):GHSA-698v-4r3x-3vcv"},{"rule_id":"osv/GHSA-r825-w8mm-5pxw","severity":"medium","message":"vite@7.3.6 (npm) is affected by GHSA-r825-w8mm-5pxw","path":"ui/package-lock.json","line":null,"fingerprint":"vite@7.3.6 (npm):GHSA-r825-w8mm-5pxw"},{"rule_id":"osv/GHSA-rq7h-c2jc-7f22","severity":"medium","message":"vite@7.3.6 (npm) is affected by GHSA-rq7h-c2jc-7f22","path":"ui/package-lock.json","line":null,"fingerprint":"vite@7.3.6 (npm):GHSA-rq7h-c2jc-7f22"},{"rule_id":"osv/GHSA-82fw-gwwq-j7x9","severity":"medium","message":"vitest@3.2.7 (npm) is affected by GHSA-82fw-gwwq-j7x9","path":"ui/package-lock.json","line":null,"fingerprint":"vitest@3.2.7 (npm):GHSA-82fw-gwwq-j7x9"},{"rule_id":"osv/GHSA-h2v8-394m-p7vv","severity":"low","message":"rustls@0.23.43 (crates.io) is affected by RUSTSEC-2026-0348, GHSA-h2v8-394m-p7vv","path":"Cargo.lock","line":null,"fingerprint":"rustls@0.23.43 (crates.io):GHSA-h2v8-394m-p7vv"},{"rule_id":"osv/GHSA-w44r-93j7-qv28","severity":"low","message":"rustls@0.23.43 (crates.io) is affected by RUSTSEC-2026-0349, GHSA-w44r-93j7-qv28","path":"Cargo.lock","line":null,"fingerprint":"rustls@0.23.43 (crates.io):GHSA-w44r-93j7-qv28"},{"rule_id":"osv/GHSA-238p-pmpm-9mq7","severity":"low","message":"katex@0.16.47 (npm) is affected by GHSA-238p-pmpm-9mq7","path":"package-lock.json","line":null,"fingerprint":"katex@0.16.47 (npm):GHSA-238p-pmpm-9mq7"},{"rule_id":"osv/GHSA-vfgh-jcmw-g37q","severity":"low","message":"markdown-it@14.3.0 (npm) is affected by GHSA-vfgh-jcmw-g37q","path":"package-lock.json","line":null,"fingerprint":"markdown-it@14.3.0 (npm):GHSA-vfgh-jcmw-g37q"},{"rule_id":"osv/GHSA-333x-w4r6-6crp","severity":"low","message":"fast-uri@3.1.6 (npm) is affected by GHSA-333x-w4r6-6crp","path":"ui/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.6 (npm):GHSA-333x-w4r6-6crp"},{"rule_id":"osv/GHSA-xhq7-xmqj-769h","severity":"low","message":"fast-uri@3.1.6 (npm) is affected by GHSA-xhq7-xmqj-769h","path":"ui/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.6 (npm):GHSA-xhq7-xmqj-769h"},{"rule_id":"osv/GHSA-3gg2-335m-rxc6","severity":"low","message":"hono@4.13.4 (npm) is affected by GHSA-3gg2-335m-rxc6","path":"ui/package-lock.json","line":null,"fingerprint":"hono@4.13.4 (npm):GHSA-3gg2-335m-rxc6"},{"rule_id":"osv/GHSA-r53p-7pc4-xj5r","severity":"low","message":"undici@6.28.0 (npm) is affected by GHSA-r53p-7pc4-xj5r","path":"ui/package-lock.json","line":null,"fingerprint":"undici@6.28.0 (npm):GHSA-r53p-7pc4-xj5r"},{"rule_id":"osv/GHSA-9jrq-w75r-8gcw","severity":"low","message":"vite@7.3.6 (npm) is affected by GHSA-9jrq-w75r-8gcw","path":"ui/package-lock.json","line":null,"fingerprint":"vite@7.3.6 (npm):GHSA-9jrq-w75r-8gcw"}],"evidence":[],"data":{"ecosystems":["crates.io","npm"]},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"ok","tool_version":"zizmor 1.32.0","metrics":{"workflows":2.0,"findings":26.0,"findings_high":19.0,"findings_medium":4.0,"findings_low":3.0,"penalty":216.0},"findings":[{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":23,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:23"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":26,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:26"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":29,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:29"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":69,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:69"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/release.yml","line":18,"fingerprint":"excessive-permissions:.github/workflows/release.yml:18"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":35,"fingerprint":"unpinned-uses:.github/workflows/release.yml:35"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":38,"fingerprint":"unpinned-uses:.github/workflows/release.yml:38"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":41,"fingerprint":"unpinned-uses:.github/workflows/release.yml:41"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":46,"fingerprint":"unpinned-uses:.github/workflows/release.yml:46"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":151,"fingerprint":"unpinned-uses:.github/workflows/release.yml:151"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":160,"fingerprint":"unpinned-uses:.github/workflows/release.yml:160"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":169,"fingerprint":"unpinned-uses:.github/workflows/release.yml:169"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":179,"fingerprint":"unpinned-uses:.github/workflows/release.yml:179"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":198,"fingerprint":"unpinned-uses:.github/workflows/release.yml:198"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":201,"fingerprint":"unpinned-uses:.github/workflows/release.yml:201"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":207,"fingerprint":"unpinned-uses:.github/workflows/release.yml:207"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":222,"fingerprint":"unpinned-uses:.github/workflows/release.yml:222"},{"rule_id":"zizmor/cache-poisoning","severity":"high","message":"runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low]","path":".github/workflows/release.yml","line":41,"fingerprint":"cache-poisoning:.github/workflows/release.yml:41"},{"rule_id":"zizmor/cache-poisoning","severity":"high","message":"runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low]","path":".github/workflows/release.yml","line":46,"fingerprint":"cache-poisoning:.github/workflows/release.yml:46"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":22,"fingerprint":"artipacked:.github/workflows/ci.yml:22"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":68,"fingerprint":"artipacked:.github/workflows/ci.yml:68"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release.yml","line":34,"fingerprint":"artipacked:.github/workflows/release.yml:34"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release.yml","line":197,"fingerprint":"artipacked:.github/workflows/release.yml:197"},{"rule_id":"zizmor/superfluous-actions","severity":"info","message":"action functionality is already included by the runner [confidence high]","path":".github/workflows/release.yml","line":169,"fingerprint":"superfluous-actions:.github/workflows/release.yml:169"},{"rule_id":"zizmor/superfluous-actions","severity":"info","message":"action functionality is already included by the runner [confidence high]","path":".github/workflows/release.yml","line":179,"fingerprint":"superfluous-actions:.github/workflows/release.yml:179"},{"rule_id":"zizmor/superfluous-actions","severity":"info","message":"action functionality is already included by the runner [confidence high]","path":".github/workflows/release.yml","line":222,"fingerprint":"superfluous-actions:.github/workflows/release.yml:222"}],"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":0.0,"signed_commit_share":0.015,"unpinned_manifests":6.0},"findings":[],"evidence":[{"kind":"posture","description":"app/src-tauri/Cargo.toml has no lockfile alongside it (unpinned dependencies)","ref":"app/src-tauri/Cargo.toml","url":null,"weight":0.3},{"kind":"posture","description":"crates/myna-audio/Cargo.toml has no lockfile alongside it (unpinned dependencies)","ref":"crates/myna-audio/Cargo.toml","url":null,"weight":0.3},{"kind":"posture","description":"crates/myna-coreaudio-tap/Cargo.toml has no lockfile alongside it (unpinned dependencies)","ref":"crates/myna-coreaudio-tap/Cargo.toml","url":null,"weight":0.3},{"kind":"posture","description":"crates/myna-llm/Cargo.toml has no lockfile alongside it (unpinned dependencies)","ref":"crates/myna-llm/Cargo.toml","url":null,"weight":0.3},{"kind":"posture","description":"crates/myna-stt/Cargo.toml has no lockfile alongside it (unpinned dependencies)","ref":"crates/myna-stt/Cargo.toml","url":null,"weight":0.3},{"kind":"posture","description":"crates/myna-wasapi-probe/Cargo.toml has no lockfile alongside it (unpinned dependencies)","ref":"crates/myna-wasapi-probe/Cargo.toml","url":null,"weight":0.3}],"data":{},"error":null},{"analyzer":"sec-distribution","pillar":"security","status":"ok","tool_version":null,"metrics":{"signals":1.0,"binary_assets":24.0,"suspicious":0.0},"findings":[],"evidence":[{"kind":"binary-release-asset","description":"release v0.6.3 ships Myna.app.tar.gz (1 downloads)","ref":"Myna.app.tar.gz","url":"https://github.com/fmflurry/myna/releases/download/v0.6.3/Myna.app.tar.gz","weight":0.0},{"kind":"binary-release-asset","description":"release v0.6.3 ships Myna_0.6.3_aarch64.dmg (2 downloads)","ref":"Myna_0.6.3_aarch64.dmg","url":"https://github.com/fmflurry/myna/releases/download/v0.6.3/Myna_0.6.3_aarch64.dmg","weight":0.0},{"kind":"binary-release-asset","description":"release v0.6.3 ships Myna_0.6.3_x64-setup.exe (0 downloads)","ref":"Myna_0.6.3_x64-setup.exe","url":"https://github.com/fmflurry/myna/releases/download/v0.6.3/Myna_0.6.3_x64-setup.exe","weight":0.0},{"kind":"binary-release-asset","description":"release v0.6.3 ships Myna_0.6.3_x64_en-US.msi (0 downloads)","ref":"Myna_0.6.3_x64_en-US.msi","url":"https://github.com/fmflurry/myna/releases/download/v0.6.3/Myna_0.6.3_x64_en-US.msi","weight":0.0},{"kind":"binary-release-asset","description":"release v0.6.2 ships Myna.app.tar.gz (2 downloads)","ref":"Myna.app.tar.gz","url":"https://github.com/fmflurry/myna/releases/download/v0.6.2/Myna.app.tar.gz","weight":0.0}],"data":{"signals":["binary-release-assets"],"suspicious":false,"unusual_traction":false,"metadata":true},"error":null},{"analyzer":"qual-complexity","pillar":"quality","status":"ok","tool_version":"lizard 1.25.1","metrics":{"functions":2969.0,"function_nloc":28078.0,"mean_ccn":2.04,"p90_ccn":4.0,"complex_functions":6.0,"long_functions":5.0,"many_param_functions":5.0,"risky_nloc_share":0.0775},"findings":[],"evidence":[{"kind":"complex-function","description":"wav_duration_sec in app/src-tauri/src/commands/meetings.rs: complexity 23, 49 lines","ref":"app/src-tauri/src/commands/meetings.rs","url":"https://github.com/fmflurry/myna/blob/7356f23c8815c526a2ce706aa798ec1975bf16f3/app/src-tauri/src/commands/meetings.rs#L224","weight":0.38333333333333336},{"kind":"complex-function","description":"run_retranscribe in app/src-tauri/src/commands/import.rs: complexity 19, 99 lines","ref":"app/src-tauri/src/commands/import.rs","url":"https://github.com/fmflurry/myna/blob/7356f23c8815c526a2ce706aa798ec1975bf16f3/app/src-tauri/src/commands/import.rs#L266","weight":0.31666666666666665},{"kind":"complex-function","description":"validate_judge_output in app/src-tauri/src/diarize_judge.rs: complexity 19, 75 lines","ref":"app/src-tauri/src/diarize_judge.rs","url":"https://github.com/fmflurry/myna/blob/7356f23c8815c526a2ce706aa798ec1975bf16f3/app/src-tauri/src/diarize_judge.rs#L114","weight":0.31666666666666665},{"kind":"complex-function","description":"attach_system_audio_to_ring in crates/myna-audio/src/capture.rs: complexity 19, 81 lines","ref":"crates/myna-audio/src/capture.rs","url":"https://github.com/fmflurry/myna/blob/7356f23c8815c526a2ce706aa798ec1975bf16f3/crates/myna-audio/src/capture.rs#L1001","weight":0.31666666666666665},{"kind":"complex-function","description":"migrate_data_root_with_test_options in app/src-tauri/src/commands/storage.rs: complexity 18, 43 lines","ref":"app/src-tauri/src/commands/storage.rs","url":"https://github.com/fmflurry/myna/blob/7356f23c8815c526a2ce706aa798ec1975bf16f3/app/src-tauri/src/commands/storage.rs#L373","weight":0.3},{"kind":"complex-function","description":"move_entry in app/src-tauri/src/commands/storage.rs: complexity 16, 43 lines","ref":"app/src-tauri/src/commands/storage.rs","url":"https://github.com/fmflurry/myna/blob/7356f23c8815c526a2ce706aa798ec1975bf16f3/app/src-tauri/src/commands/storage.rs#L499","weight":0.26666666666666666},{"kind":"complex-function","description":"strip_verbatim_prefix in app/src-tauri/src/model_init.rs: complexity 9, 1006 lines","ref":"app/src-tauri/src/model_init.rs","url":"https://github.com/fmflurry/myna/blob/7356f23c8815c526a2ce706aa798ec1975bf16f3/app/src-tauri/src/model_init.rs#L213","weight":0.15},{"kind":"complex-function","description":"buildScreenshotFacade in ui/src/app/screenshot/screenshot-facade.stub.ts: complexity 7, 119 lines","ref":"ui/src/app/screenshot/screenshot-facade.stub.ts","url":"https://github.com/fmflurry/myna/blob/7356f23c8815c526a2ce706aa798ec1975bf16f3/ui/src/app/screenshot/screenshot-facade.stub.ts#L46","weight":0.11666666666666667},{"kind":"complex-function","description":"load_returns_default_when_preferences_file_is_truncated in app/src-tauri/src/update_prefs.rs: complexity 3, 203 lines","ref":"app/src-tauri/src/update_prefs.rs","url":"https://github.com/fmflurry/myna/blob/7356f23c8815c526a2ce706aa798ec1975bf16f3/app/src-tauri/src/update_prefs.rs#L222","weight":0.05},{"kind":"complex-function","description":"load_returns_default_when_preferences_file_is_truncated in app/src-tauri/src/template_prefs.rs: complexity 2, 300 lines","ref":"app/src-tauri/src/template_prefs.rs","url":"https://github.com/fmflurry/myna/blob/7356f23c8815c526a2ce706aa798ec1975bf16f3/app/src-tauri/src/template_prefs.rs#L226","weight":0.03333333333333333}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":41172.0,"duplicated_lines":1719.0,"duplicated_share":0.0418,"files":322.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: app/src-tauri/src/commands/export.rs:275 and app/src-tauri/src/commands/summary.rs:746","ref":"app/src-tauri/src/commands/export.rs","url":"https://github.com/fmflurry/myna/blob/7356f23c8815c526a2ce706aa798ec1975bf16f3/app/src-tauri/src/commands/export.rs#L275","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: app/src-tauri/src/commands/folders.rs:225 and app/src-tauri/src/commands/placement.rs:190","ref":"app/src-tauri/src/commands/folders.rs","url":"https://github.com/fmflurry/myna/blob/7356f23c8815c526a2ce706aa798ec1975bf16f3/app/src-tauri/src/commands/folders.rs#L225","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: app/src-tauri/src/commands/import.rs:146 and app/src-tauri/src/commands/import.rs:986","ref":"app/src-tauri/src/commands/import.rs","url":"https://github.com/fmflurry/myna/blob/7356f23c8815c526a2ce706aa798ec1975bf16f3/app/src-tauri/src/commands/import.rs#L146","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: app/src-tauri/src/commands/import.rs:964 and app/src-tauri/src/commands/recording.rs:142","ref":"app/src-tauri/src/commands/import.rs","url":"https://github.com/fmflurry/myna/blob/7356f23c8815c526a2ce706aa798ec1975bf16f3/app/src-tauri/src/commands/import.rs#L964","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: app/src-tauri/src/commands/import.rs:1078 and crates/myna-stt/src/wav.rs:205","ref":"app/src-tauri/src/commands/import.rs","url":"https://github.com/fmflurry/myna/blob/7356f23c8815c526a2ce706aa798ec1975bf16f3/app/src-tauri/src/commands/import.rs#L1078","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: app/src-tauri/src/commands/import.rs:1168 and crates/myna-stt/src/transcript.rs:397","ref":"app/src-tauri/src/commands/import.rs","url":"https://github.com/fmflurry/myna/blob/7356f23c8815c526a2ce706aa798ec1975bf16f3/app/src-tauri/src/commands/import.rs#L1168","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: app/src-tauri/src/commands/import.rs:1170 and crates/myna-stt/src/relabel.rs:400","ref":"app/src-tauri/src/commands/import.rs","url":"https://github.com/fmflurry/myna/blob/7356f23c8815c526a2ce706aa798ec1975bf16f3/app/src-tauri/src/commands/import.rs#L1170","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: app/src-tauri/src/commands/import.rs:1784 and app/src-tauri/src/commands/summary.rs:1106","ref":"app/src-tauri/src/commands/import.rs","url":"https://github.com/fmflurry/myna/blob/7356f23c8815c526a2ce706aa798ec1975bf16f3/app/src-tauri/src/commands/import.rs#L1784","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: app/src-tauri/src/commands/meetings.rs:128 and app/src-tauri/src/commands/meetings.rs:1024","ref":"app/src-tauri/src/commands/meetings.rs","url":"https://github.com/fmflurry/myna/blob/7356f23c8815c526a2ce706aa798ec1975bf16f3/app/src-tauri/src/commands/meetings.rs#L128","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: app/src-tauri/src/commands/models.rs:284 and app/src-tauri/src/commands/models.rs:303","ref":"app/src-tauri/src/commands/models.rs","url":"https://github.com/fmflurry/myna/blob/7356f23c8815c526a2ce706aa798ec1975bf16f3/app/src-tauri/src/commands/models.rs#L284","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":2.0,"weighted_findings":0.5,"scanned_lines":55638.0,"category:correctness":2.0},"findings":[{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`el.style.height` is assigned twice; the first assignment is useless","path":"ui/src/app/modules/meetings/presentation/components/editable-segment/editable-segment.component.ts","line":95,"fingerprint":"javascript.lang.correctness.useless-assignment:ui/src/app/modules/meetings/presentation/components/editable-segment/editable-segment.component.ts:95"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`el.style.height` is assigned twice; the first assignment is useless","path":"ui/src/app/modules/meetings/presentation/components/summary-panel/summary-panel.component.ts","line":235,"fingerprint":"javascript.lang.correctness.useless-assignment:ui/src/app/modules/meetings/presentation/components/summary-panel/summary-panel.component.ts:235"}],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":1.0,"check:test_ratio":1.0,"check:ci_present":1.0,"check:ci_runs_tests":1.0,"check:ci_runs_lint":1.0,"check:tests_cochange":1.0,"test_lines":47127.0,"source_lines":56404.0,"test_ratio":0.8355,"ci_files":2.0,"cochange_share":0.6386,"cochange_commits":83.0},"findings":[],"evidence":[{"kind":"ci","description":"CI config: .github/workflows/ci.yml","ref":".github/workflows/ci.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/release.yml","ref":".github/workflows/release.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI runs tests (go test, cargo test)","ref":null,"url":null,"weight":0.0},{"kind":"ci","description":"CI runs linters (clippy, cargo fmt, shellcheck)","ref":null,"url":null,"weight":0.0}],"data":{"test_commands":["go test","cargo test"],"lint_commands":["clippy","cargo fmt","shellcheck"]},"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":1.0,"readme_lines":212.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":"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":0.0,"escapes_per_kloc":0.0},"findings":[],"evidence":[{"kind":"typing","description":"TypeScript strict type checking: ui/tsconfig.json","ref":"ui/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":953.0,"other_lines":55451.0,"files_blamed":322.0,"blame_failures":0.0,"quality:ai_findings":0.0,"quality:ai_per_kloc":0.0,"quality:other_findings":2.0,"quality:other_per_kloc":0.036,"quality:ratio":0.0,"security:ai_findings":0.0,"security:ai_per_kloc":0.0,"security:other_findings":75.0,"security:other_per_kloc":1.353,"security:ratio":0.0},"findings":[],"evidence":[],"data":{"sampled":false,"comparable":true},"error":null}],"flags":[]}