Leaderboard github.com
Caldis/Mos
一个用于在 macOS 上平滑你的鼠标滚动效果或单独设置滚动方向的小工具, 让你的滚轮爽如触控板 | A lightweight tool used to smooth scrolling and set scroll direction independently for your mouse on macOS
AI provenance
24%
explicit
- Confidence
- 95%
- Coverage
- 100%
Estimated share of AI-generated code. Explicit attribution is a lower bound.
Code quality
72/100
adequate
- Confidence
- 90%
- Coverage
- 100%
Complexity, duplication, lint density, tests, CI, docs and review process.
Security
59/100
weak
- Confidence
- 85%
- Coverage
- 100%
Secrets, static analysis, vulnerable dependencies, CI and supply-chain posture.
AI provenance
24% explicit
Explicit AI attribution on 24% of first-party code added; an estimated 24% including velocity signals.
How the score is built
- Explicitly attributed share24%
- Unattributed share in AI-pace bursts7%
- Estimated AI-generated share24%
- AI tool configuration files6
- Work sessions at AI pace5
- Releases at AI pace0
- Coding-style index (1.0+ means possible)1.41
Attributed AI tools
| Tool | Commits | Lines added | First seen | Last seen |
|---|---|---|---|---|
| Claude Code | 353 | 28,317 | 2025-10-06 | 2026-08-20 |
| OpenAI Codex | 15 | 1,872 | 2026-04-26 | 2026-08-20 |
Lines added per month all AI-attributed share
- 2017-0138,025 · 0% AI
- 2017-022,688 · 0% AI
- 2017-03201 · 0% AI
- 2017-060 · 0% AI
- 2017-08254 · 0% AI
- 2017-0910 · 0% AI
- 2017-103,307 · 0% AI
- 2017-11336 · 0% AI
- 2018-029,259 · 0% AI
- 2018-031,096 · 0% AI
- 2018-04645 · 0% AI
- 2018-05177 · 0% AI
- 2018-06110 · 0% AI
- 2018-07350 · 0% AI
- 2018-1120 · 0% AI
- 2019-0192 · 0% AI
- 2019-050 · 0% AI
- 2019-084 · 0% AI
- 2019-090 · 0% AI
- 2019-101,896 · 0% AI
- 2019-11395 · 0% AI
- 2019-1247 · 0% AI
- 2020-03260 · 0% AI
- 2020-044 · 0% AI
- 2020-070 · 0% AI
- 2020-080 · 0% AI
- 2020-098 · 0% AI
- 2020-10245 · 0% AI
- 2020-11675 · 0% AI
- 2020-12621 · 0% AI
- 2021-0142 · 0% AI
- 2021-02252 · 0% AI
- 2021-030 · 0% AI
- 2021-050 · 0% AI
- 2021-068 · 0% AI
- 2022-070 · 0% AI
- 2022-09116 · 0% AI
- 2022-1031 · 0% AI
- 2023-03108 · 0% AI
- 2023-070 · 0% AI
- 2024-050 · 0% AI
- 2024-0719 · 0% AI
- 2024-110 · 0% AI
- 2025-011,597 · 0% AI
- 2025-0278 · 0% AI
- 2025-070 · 0% AI
- 2025-081,158 · 0% AI
- 2025-094,422 · 0% AI
- 2025-102,803 · 4% AI
- 2025-1135 · 0% AI
- 2025-1217 · 6% AI
- 2026-01700 · 0% AI
- 2026-027,379 · 6% AI
- 2026-0312,828 · 74% AI
- 2026-0413,132 · 59% AI
- 2026-057,910 · 0% AI
- 2026-069,280 · 100% AI
- 2026-072,428 · 98% AI
- 2026-08931 · 83% AI
Findings in AI-attributed lines vs the rest
From git blame: 23,114 lines trace to AI-attributed commits, 25,424 to others. Reported, not scored.
| Findings per 1,000 lines | AI-attributed | Other | Ratio |
|---|---|---|---|
| Code quality | 0.30 | 0.16 | 1.93× |
| Security | 0.00 | 0.00 | — |
Evidence by analyzer
Explicit AI attributionok27 items
- Claude Code: 353 attributed commits, 28,317 lines added
- OpenAI Codex: 15 attributed commits, 1,872 lines added
- Claude Code: trailer 'Co-Authored-By: Claude'
- Claude Code: trailer 'Co-Authored-By: Claude'
- Claude Code: trailer 'Co-Authored-By: Claude'
- Claude Code: trailer 'Co-Authored-By: Claude'
- Claude Code: trailer 'Co-Authored-By: Claude'
- Claude Code: trailer 'Co-Authored-By: Claude'
- Claude Code: trailer 'Co-Authored-By: Claude'
- OpenAI Codex: PR branch 'codex/fix-logi-late-slot-takeover'
- Claude Code: trailer 'Co-authored-by: Claude'
- Claude Code: trailer 'Co-authored-by: Claude'
- Claude Code: PR description attribution
- Claude Code: PR description attribution
- Claude Code: PR description attribution
- Claude Code: PR description attribution
- Claude Code: trailer 'Co-Authored-By: Claude'
- Claude Code: trailer 'Co-Authored-By: Claude'
- Claude Code: trailer 'Co-Authored-By: Claude'
- Claude Code: trailer 'Co-Authored-By: Claude'
- Claude Code: trailer 'Co-Authored-By: Claude'
- Claude Code: trailer 'Co-Authored-By: Claude'
- Claude Code: trailer 'Co-Authored-By: Claude'
- Claude Code: trailer 'Co-Authored-By: Claude'
- Claude Code: trailer 'Co-Authored-By: Claude'
- Claude Code: trailer 'Co-Authored-By: Claude'
- Claude Code: trailer 'Co-Authored-By: Claude'
- attributed_commit_share
- 32.7%
- attributed_commits
- 368
- attributed_loc
- 30,189
- attributed_loc_share
- 24.0%
- commits
- 1,127
- effective_loc
- 125,999
- tools_detected
- 2
AI tool configurationok6 items
- .claude/skills (claude-code configuration)
- CLAUDE.md (claude-code configuration)
- AGENTS.md (generic-agent configuration)
- website/public/AGENTS.md (generic-agent configuration)
- .cursorrules (cursor configuration)
- .github/copilot-instructions.md (github-copilot configuration)
- artifacts
- 6
- earliest_adoption
- 2025-08-10
- tools_configured
- 4
- workflow_agents
- 0
Commit velocityok5 items
- 1,388 lines of first-party code in ~0.8h (1,775 lines/hour, 1 commit session)
- 1,218 lines of first-party code in ~1.2h (990 lines/hour, 1 commit session)
- 3,592 lines of first-party code in ~4.0h (898 lines/hour, 1 commit session)
- 2,395 lines of first-party code in ~4.0h (593 lines/hour, 2 commit session)
- 1,554 lines of first-party code in ~2.8h (565 lines/hour, 10 commit session)
- excluded_import_loc
- 44,678
- flagged_loc
- 10,147
- flagged_loc_share
- 12.5%
- flagged_units
- 5
- max_loc_per_hour
- 1,775.06
- measured_loc
- 81,321
- median_loc_per_hour
- 78.53
- pr_timed_units
- 12
- pre_ai_era_burst_loc
- 5,367
- pre_ai_era_bursts
- 2
- pre_ai_era_measured_loc
- 16,349
- work_units
- 366
Release velocityok
- flagged_releases
- 0
- max_loc_per_day
- 936
- releases
- 33
Coding styleok8 items
- step-by-step narration comment: // Step 3: registry added; Step 4: bridge filled in)
- step-by-step narration comment: // Step 1: Discover REPROG
- step-by-step narration comment: // Step 2: Get control count
- step-by-step narration comment: // Step 3: Enumerate divertable controls
- step-by-step narration comment: // Step 4: TEST A - 顺序 divert (等待每个 ACK)
- step-by-step narration comment: // Step 5: 验证 divert 状态 (GetControlReporting, function 2)
- step-by-step narration comment: // Step 6: 捕获按键 (10 秒)
- step-by-step narration comment: // Step 7: Undivert
- count:assistant_voice
- 0
- count:emoji_in_code
- 121
- count:narrated_steps
- 8
- count:placeholder
- 0
- files:assistant_voice
- 0
- files:emoji_in_code
- 15
- files:narrated_steps
- 2
- files:placeholder
- 0
- index
- 1.41
- lines_scanned
- 48,530
- per_kloc:assistant_voice
- 0
- per_kloc:emoji_in_code
- 2.49
- per_kloc:narrated_steps
- 0.17
- per_kloc:placeholder
- 0
Findings in AI-written linesok
- ai_lines
- 23,114
- blame_failures
- 0
- files_blamed
- 269
- other_lines
- 25,424
- quality:ai_findings
- 7
- quality:ai_per_kloc
- 0.30
- quality:other_findings
- 4
- quality:other_per_kloc
- 0.16
- quality:ratio
- 1.93
- security:ai_findings
- 0
- security:ai_per_kloc
- 0
- security:other_findings
- 0
- security:other_per_kloc
- 0
Code quality
72 adequate
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.
How the score is built
- Complexity74
- Duplication79
- Lint and smells97
- Tests and CI36
- Documentation100
- Type safety100
- Review process70
Evidence by analyzer
Complexity (lizard)ok10 items
- handleInputReport in Mos/Logi/Core/LogiDeviceSession.swift: complexity 121, 320 lines
- symbolName in Mos/Shortcut/SystemShortcut.swift: complexity 81, 85 lines
- decodeReport in Mos/Logi/Core/LogiDeviceSession.swift: complexity 75, 153 lines
- StickyNote in website/app/components/Wall/StickyNote.tsx: complexity 50, 188 lines
- scrollEventCallBack in Mos/ScrollCore/ScrollCore.swift: complexity 44, 122 lines
- startObserving in Mos/Logi/Debug/LogiDebugPanel.swift: complexity 38, 121 lines
- WallReview in website/app/components/Wall/WallReview.tsx: complexity 35, 136 lines
- draw in website/app/components/Wall/Starfield.tsx: complexity 30, 80 lines
- WallClient in website/app/wall/wall-client.tsx: complexity 28, 190 lines
- handlePost in website/server/src/features/wall.ts: complexity 28, 54 lines
- complex_functions
- 19
- function_nloc
- 29,350
- functions
- 2,710
- long_functions
- 14
- many_param_functions
- 1
- mean_ccn
- 2.39
- p90_ccn
- 5
- risky_nloc_share
- 10.1%
Duplication (jscpd)ok10 items
- 6+ duplicated lines: Mos/Components/PrimaryButton.swift:17 and Mos/Keys/KeyPreview.swift:33
- 6+ duplicated lines: Mos/Components/Toast/ToastPanel.swift:95 and Mos/Components/Toast/ToastPanel.swift:105
- 6+ duplicated lines: Mos/InputEvent/InputEvent.swift:65 and Mos/Windows/PreferencesWindow/ButtonsView/RecordedEvent.swift:39
- 6+ duplicated lines: Mos/InputEvent/MouseInteractionSessionController.swift:66 and Mos/InputEvent/MouseInteractionSessionController.swift:79
- 6+ duplicated lines: Mos/Keys/KeyPreview.swift:35 and Mos/Windows/PreferencesWindow/ButtonsView/OpenTargetConfigPopover.swift:407
- 6+ duplicated lines: Mos/Keys/KeyPreview.swift:163 and Mos/Keys/KeyPreview.swift:186
- 6+ duplicated lines: Mos/Logi/Core/LogiDeviceSession.swift:511 and Mos/Logi/Core/LogiDeviceSession.swift:753
- 6+ duplicated lines: Mos/Logi/Core/LogiDeviceSession.swift:3989 and tools/hidpp/full-test.swift:248
- 6+ duplicated lines: Mos/Logi/Debug/LogiDebugPanel.swift:922 and Mos/Logi/Debug/LogiDebugPanel.swift:1013
- 6+ duplicated lines: Mos/ScrollCore/ScrollCore.swift:405 and Mos/Windows/MonitorWindow/MonitorViewController.swift:113
- compared_lines
- 36,060
- duplicated_lines
- 1,399
- duplicated_share
- 3.9%
- files
- 269
Lintok
- category:best-practice
- 4
- category:correctness
- 7
- findings
- 11
- scanned_lines
- 48,465
- weighted_findings
- 5.75
Tests and CIok1 item
- CI config: .github/workflows/pages.yml
.github/workflows/pages.yml
- check:ci_present
- yes
- check:ci_runs_lint
- no
- check:ci_runs_tests
- no
- check:has_tests
- yes
- check:test_ratio
- no
- check:tests_cochange
- no
- ci_files
- 1
- cochange_commits
- 236
- cochange_share
- 1.3%
- source_lines
- 48,538
- test_lines
- 160
- test_ratio
- 0.00
Documentationok4 items
- README.md
README.md - LICENSE
LICENSE - CONTRIBUTING.md
CONTRIBUTING.md - CHANGELOG.md
CHANGELOG.md
- check:changelog
- yes
- check:contributing
- yes
- check:license
- yes
- check:readme
- yes
- readme_lines
- 93
Type safetyok1 item
- TypeScript strict type checking: website/server/tsconfig.json
website/server/tsconfig.json
- check:low_escape_density
- yes
- check:strict_config
- yes
- escapes
- 2
- escapes_per_kloc
- 0.17
Security
59 weak
Security posture is weak: 80 known vulnerabilities in 17 dependencies; 7 high-severity workflow issues. Weakest area: dependencies.
How the score is built
- Secrets100
- Static analysis (SAST)100
- Vulnerable dependencies14
- CI workflows24
- Security posture40
- OpenSSF Scorecard39
Evidence by analyzer
OpenSSF Scorecardok13 items
- Scorecard Code-Review: 4/10 (Found 12/30 approved changesets -- score normalized to 4)
- Scorecard Security-Policy: 10/10 (security policy file detected)
- Scorecard Maintained: 10/10 (14 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10)
- Scorecard Token-Permissions: 10/10 (GitHub workflow tokens follow principle of least privilege)
- Scorecard Dangerous-Workflow: 10/10 (no dangerous workflow patterns detected)
- Scorecard Binary-Artifacts: 10/10 (no binaries found in the repo)
- Scorecard CII-Best-Practices: 0/10 (no effort to earn an OpenSSF best practices badge detected)
- Scorecard Pinned-Dependencies: 1/10 (dependency not pinned by hash detected -- score normalized to 1)
- Scorecard License: 9/10 (license file detected)
- Scorecard Fuzzing: 0/10 (project is not fuzzed)
- Scorecard Branch-Protection: 0/10 (branch protection not enabled on development/release branches)
- Scorecard Signed-Releases: 0/10 (Project has not signed or included provenance with any releases.)
- Scorecard SAST: 0/10 (SAST tool is not run on all commits -- score normalized to 0)
- aggregate
- 5.40
- check:Binary-Artifacts
- yes
- check:Branch-Protection
- no
- check:CII-Best-Practices
- no
- check:Code-Review
- yes
- check:Dangerous-Workflow
- yes
- check:Fuzzing
- no
- check:License
- yes
- check:Maintained
- yes
- check:Pinned-Dependencies
- yes
- check:SAST
- no
- check:Security-Policy
- yes
- check:Signed-Releases
- no
- check:Token-Permissions
- yes
Package registriesok
- checked
- 30
- declared
- 30
- lookup_errors
- 0
- missing
- 0
- recent
- 0
Secrets (gitleaks)ok
- secrets_current
- 0
- secrets_history
- 0
- secrets_low_confidence
- 0
- secrets_nonprod
- 0
Static analysis (opengrep)ok
- findings
- 0
- findings_high
- 0
- findings_low
- 0
- findings_medium
- 0
- parse_errors
- 1
- scanned_lines
- 48,465
- weighted_findings
- 0
Dependencies (osv-scanner)ok
- penalty
- 116
- vulnerabilities
- 80
- vulnerable_packages
- 17
- vulns_critical
- 5
- vulns_high
- 37
- vulns_low
- 6
- vulns_medium
- 32
- vulns_unknown
- 0
CI workflows (zizmor)ok
- findings
- 8
- findings_high
- 7
- findings_low
- 1
- findings_medium
- 0
- penalty
- 84.30
- workflows
- 1
Security postureok2 items
- Security policy: SECURITY.md
SECURITY.md - website/archive/v1/package.json has no lockfile alongside it (unpinned dependencies)
website/archive/v1/package.json
- check:dependency_updates
- no
- check:lockfiles
- no
- check:security_policy
- yes
- check:signed_commits
- no
- signed_commit_share
- 7.5%
- unpinned_manifests
- 1
Release downloadsok5 items
- release 4.3.0-beta-20260820.1 ships Mos.Versions.4.3.0-beta-20260820.1.zip (15796 downloads)
- release 4.2.1 ships Mos.Versions.4.2.1-20260531.1.zip (336700 downloads)
- release 4.2.0 ships Mos.Versions.4.2.0-20260505.1.zip (81096 downloads)
- release 4.0.2 ships Mos.Versions.4.0.2-20260308.2.zip (103176 downloads)
- release 4.0.1 ships Mos.Versions.4.0.1-20260308.1.zip (201 downloads)
- binary_assets
- 10
- signals
- 1
- suspicious
- 0
Findings
5 critical44 high36 medium14 low
| Severity | Rule | Location | Message | Tool |
|---|---|---|---|---|
| critical | osv/GHSA-2464-fhr4-w9xw |
website/package-lock.json | [email protected] (npm) is affected by GHSA-2464-fhr4-w9xw | Dependencies (osv-scanner) |
| critical | osv/GHSA-2xp9-vwfh-vxw4 |
website/package-lock.json | [email protected] (npm) is affected by GHSA-2xp9-vwfh-vxw4 | Dependencies (osv-scanner) |
| critical | osv/GHSA-673q-mjm6-r5xr |
website/package-lock.json | [email protected] (npm) is affected by GHSA-673q-mjm6-r5xr | Dependencies (osv-scanner) |
| critical | osv/GHSA-p293-qw3h-jr36 |
website/package-lock.json | [email protected] (npm) is affected by GHSA-p293-qw3h-jr36 | Dependencies (osv-scanner) |
| critical | osv/GHSA-vcvr-r3jv-pc5j |
website/package-lock.json | [email protected] (npm) is affected by GHSA-vcvr-r3jv-pc5j | Dependencies (osv-scanner) |
| high | zizmor/excessive-permissions |
.github/workflows/pages.yml:15 | overly broad permissions [confidence high] | CI workflows (zizmor) |
| high | zizmor/excessive-permissions |
.github/workflows/pages.yml:16 | overly broad permissions [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/pages.yml:28 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/pages.yml:31 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/pages.yml:38 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/pages.yml:59 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/pages.yml:74 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | osv/GHSA-2883-xcg3-v3hh |
website/package-lock.json | [email protected] (npm) is affected by GHSA-2883-xcg3-v3hh | Dependencies (osv-scanner) |
| high | osv/GHSA-28wg-ghj8-5hjv |
website/package-lock.json | [email protected] (npm) is affected by GHSA-28wg-ghj8-5hjv | Dependencies (osv-scanner) |
| high | osv/GHSA-2v37-7h3g-55p8 |
website/package-lock.json | [email protected] (npm) is affected by GHSA-2v37-7h3g-55p8 | Dependencies (osv-scanner) |
| high | osv/GHSA-3jxr-9vmj-r5cp |
website/package-lock.json | [email protected] (npm) is affected by GHSA-3jxr-9vmj-r5cp | Dependencies (osv-scanner) |
| high | osv/GHSA-52cp-r559-cp3m |
website/package-lock.json | [email protected] (npm) is affected by GHSA-52cp-r559-cp3m | Dependencies (osv-scanner) |
| high | osv/GHSA-5p4m-2wfm-xmqj |
website/package-lock.json | [email protected] (npm) is affected by GHSA-5p4m-2wfm-xmqj | Dependencies (osv-scanner) |
| high | osv/GHSA-68fv-2mgg-jv7q |
website/package-lock.json | [email protected] (npm) is affected by GHSA-68fv-2mgg-jv7q | Dependencies (osv-scanner) |
| high | osv/GHSA-6g55-p6wh-862q |
website/package-lock.json | [email protected] (npm) is affected by GHSA-6g55-p6wh-862q | Dependencies (osv-scanner) |
| high | osv/GHSA-6gpp-xcg3-4w24 |
website/package-lock.json | [email protected] (npm) is affected by GHSA-6gpp-xcg3-4w24 | Dependencies (osv-scanner) |
| high | osv/GHSA-6j4f-fj2g-mc7p |
website/package-lock.json | [email protected] (npm) is affected by GHSA-6j4f-fj2g-mc7p | Dependencies (osv-scanner) |
| high | osv/GHSA-73wf-gq98-2v4g |
website/package-lock.json | [email protected] (npm) is affected by GHSA-73wf-gq98-2v4g | Dependencies (osv-scanner) |
| high | osv/GHSA-89xv-2m56-2m9x |
website/package-lock.json | [email protected] (npm) is affected by GHSA-89xv-2m56-2m9x | Dependencies (osv-scanner) |
| high | osv/GHSA-c83g-rgw3-j3cx |
website/package-lock.json | [email protected] (npm) is affected by GHSA-c83g-rgw3-j3cx | Dependencies (osv-scanner) |
| high | osv/GHSA-cjq9-62q9-8jv4 |
website/package-lock.json | [email protected] (npm) is affected by GHSA-cjq9-62q9-8jv4 | Dependencies (osv-scanner) |
| high | osv/GHSA-f88m-g3jw-g9cj |
website/package-lock.json | [email protected] (npm) is affected by GHSA-f88m-g3jw-g9cj; also in website/server/package-lock.json | Dependencies (osv-scanner) |
| high | osv/GHSA-m99w-x7hq-7vfj |
website/package-lock.json | [email protected] (npm) is affected by GHSA-m99w-x7hq-7vfj | Dependencies (osv-scanner) |
| high | osv/GHSA-mh99-v99m-4gvg |
website/package-lock.json | [email protected] (npm) is affected by GHSA-mh99-v99m-4gvg | Dependencies (osv-scanner) |
| high | osv/GHSA-mrhx-c7xc-m3w5 |
website/package-lock.json | [email protected] (npm) is affected by GHSA-mrhx-c7xc-m3w5 | Dependencies (osv-scanner) |
| high | osv/GHSA-p3m5-59mp-jv5r |
website/package-lock.json | [email protected] (npm) is affected by GHSA-p3m5-59mp-jv5r | Dependencies (osv-scanner) |
| high | osv/GHSA-p9j2-gv94-2wf4 |
website/package-lock.json | [email protected] (npm) is affected by GHSA-p9j2-gv94-2wf4 | Dependencies (osv-scanner) |
| high | osv/GHSA-qhr7-859c-m2p7 |
website/package-lock.json | [email protected] (npm) is affected by GHSA-qhr7-859c-m2p7 | Dependencies (osv-scanner) |
| high | osv/GHSA-r28c-9q8g-f849 |
website/package-lock.json | [email protected] (npm) is affected by GHSA-r28c-9q8g-f849 | Dependencies (osv-scanner) |
| high | osv/GHSA-r28c-9q8g-f849 |
website/package-lock.json | [email protected] (npm) is affected by GHSA-r28c-9q8g-f849 | Dependencies (osv-scanner) |
| high | osv/GHSA-rgj7-g3m4-5g8c |
website/package-lock.json | [email protected] (npm) is affected by GHSA-rgj7-g3m4-5g8c; also in website/server/package-lock.json | Dependencies (osv-scanner) |
| high | osv/GHSA-rgw5-rvv9-x895 |
website/package-lock.json | [email protected] (npm) is affected by GHSA-rgw5-rvv9-x895 | Dependencies (osv-scanner) |
| high | osv/GHSA-wq5f-xc86-pv6w |
website/package-lock.json | [email protected] (npm) is affected by GHSA-wq5f-xc86-pv6w; also in website/server/package-lock.json | Dependencies (osv-scanner) |
| high | osv/GHSA-2m5v-pch6-74hx |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-2m5v-pch6-74hx | Dependencies (osv-scanner) |
| high | osv/GHSA-4cwx-7wf7-3272 |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-4cwx-7wf7-3272 | Dependencies (osv-scanner) |
| high | osv/GHSA-4w7w-5xrc-9h26 |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-4w7w-5xrc-9h26 | Dependencies (osv-scanner) |
| high | osv/GHSA-96hv-2xvq-fx4p |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-96hv-2xvq-fx4p | Dependencies (osv-scanner) |
| high | osv/GHSA-hm92-r4w5-c3mj |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-hm92-r4w5-c3mj | Dependencies (osv-scanner) |
| high | osv/GHSA-qrxm-fqhp-jwvm |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-qrxm-fqhp-jwvm | Dependencies (osv-scanner) |
| high | osv/GHSA-rfgv-xxqx-mfg5 |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-rfgv-xxqx-mfg5 | Dependencies (osv-scanner) |
| high | osv/GHSA-vmh5-mc38-953g |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-vmh5-mc38-953g | Dependencies (osv-scanner) |
| high | osv/GHSA-vxpw-j846-p89q |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-vxpw-j846-p89q | Dependencies (osv-scanner) |
| high | osv/GHSA-w293-vg96-wgc3 |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-w293-vg96-wgc3 | Dependencies (osv-scanner) |
| high | osv/GHSA-xjj6-f33q-929c |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-xjj6-f33q-929c | Dependencies (osv-scanner) |
| medium | opengrep/typescript.react.best-practice.react-props-spreading |
website/app/home-client.tsx:180 | 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... | Lint |
| medium | opengrep/typescript.react.best-practice.react-props-spreading |
website/app/home-client.tsx:207 | 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... | Lint |
| medium | opengrep/typescript.react.best-practice.react-props-spreading |
website/app/home-client.tsx:212 | 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... | Lint |
| medium | opengrep/typescript.react.best-practice.react-props-spreading |
website/app/home-client.tsx:236 | 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... | Lint |
| medium | osv/GHSA-39w2-rjm5-chcv |
website/package-lock.json | [email protected] (npm) is affected by GHSA-39w2-rjm5-chcv | Dependencies (osv-scanner) |
| medium | osv/GHSA-4633-3j49-mh5q |
website/package-lock.json | [email protected] (npm) is affected by GHSA-4633-3j49-mh5q | Dependencies (osv-scanner) |
| medium | osv/GHSA-4c39-4ccg-62r3 |
website/package-lock.json | [email protected] (npm) is affected by GHSA-4c39-4ccg-62r3 | Dependencies (osv-scanner) |
| medium | osv/GHSA-4jqv-mc3x-m676 |
website/package-lock.json | [email protected] (npm) is affected by GHSA-4jqv-mc3x-m676 | Dependencies (osv-scanner) |
| medium | osv/GHSA-68g3-v927-f742 |
website/package-lock.json | [email protected] (npm) is affected by GHSA-68g3-v927-f742 | Dependencies (osv-scanner) |
| medium | osv/GHSA-955p-x3mx-jcvp |
website/package-lock.json | [email protected] (npm) is affected by GHSA-955p-x3mx-jcvp | Dependencies (osv-scanner) |
| medium | osv/GHSA-f87g-xv8r-7p7x |
website/package-lock.json | [email protected] (npm) is affected by GHSA-f87g-xv8r-7p7x | Dependencies (osv-scanner) |
| medium | osv/GHSA-fxqj-rqcc-2cmp |
website/package-lock.json | [email protected] (npm) is affected by GHSA-fxqj-rqcc-2cmp | Dependencies (osv-scanner) |
| medium | osv/GHSA-fxqj-rqcc-2cmp |
website/package-lock.json | [email protected] (npm) is affected by GHSA-fxqj-rqcc-2cmp | Dependencies (osv-scanner) |
| medium | osv/GHSA-g3hv-75wg-m249 |
website/package-lock.json | [email protected] (npm) is affected by GHSA-g3hv-75wg-m249 | Dependencies (osv-scanner) |
| medium | osv/GHSA-mcj8-r9mp-w47p |
website/package-lock.json | [email protected] (npm) is affected by GHSA-mcj8-r9mp-w47p | Dependencies (osv-scanner) |
| medium | osv/GHSA-p498-v437-472g |
website/package-lock.json | @humanfs/[email protected] (npm) is affected by GHSA-p498-v437-472g | Dependencies (osv-scanner) |
| medium | osv/GHSA-q2hr-2g5m-vwhr |
website/package-lock.json | [email protected] (npm) is affected by GHSA-q2hr-2g5m-vwhr | Dependencies (osv-scanner) |
| medium | osv/GHSA-q8wf-6r8g-63ch |
website/package-lock.json | [email protected] (npm) is affected by GHSA-q8wf-6r8g-63ch | Dependencies (osv-scanner) |
| medium | osv/GHSA-qx2v-qp2m-jg93 |
website/package-lock.json | [email protected] (npm) is affected by GHSA-qx2v-qp2m-jg93 | Dependencies (osv-scanner) |
| medium | osv/GHSA-rj75-hqrm-r3gf |
website/package-lock.json | [email protected] (npm) is affected by GHSA-rj75-hqrm-r3gf | Dependencies (osv-scanner) |
| medium | osv/GHSA-w5vr-8v7q-w6rv |
website/package-lock.json | [email protected] (npm) is affected by GHSA-w5vr-8v7q-w6rv | Dependencies (osv-scanner) |
| medium | osv/GHSA-w9m9-85wc-3x92 |
website/package-lock.json | [email protected] (npm) is affected by GHSA-w9m9-85wc-3x92 | Dependencies (osv-scanner) |
| medium | osv/GHSA-2jfj-6hjv-fm6j |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-2jfj-6hjv-fm6j | Dependencies (osv-scanner) |
| medium | osv/GHSA-3xpg-4rpp-hhhm |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-3xpg-4rpp-hhhm | Dependencies (osv-scanner) |
| medium | osv/GHSA-4qv8-2p9j-2685 |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-4qv8-2p9j-2685 | Dependencies (osv-scanner) |
| medium | osv/GHSA-55wc-3pg8-jfw6 |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-55wc-3pg8-jfw6 | Dependencies (osv-scanner) |
| medium | osv/GHSA-8xcm-r25x-g524 |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-8xcm-r25x-g524 | Dependencies (osv-scanner) |
| medium | osv/GHSA-9fm3-97px-rjf6 |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-9fm3-97px-rjf6 | Dependencies (osv-scanner) |
| medium | osv/GHSA-f72v-6w45-q472 |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-f72v-6w45-q472 | Dependencies (osv-scanner) |
| medium | osv/GHSA-jr45-8vmc-qm54 |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-jr45-8vmc-qm54 | Dependencies (osv-scanner) |
| medium | osv/GHSA-m8rv-5g2x-5cg5 |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-m8rv-5g2x-5cg5 | Dependencies (osv-scanner) |
| medium | osv/GHSA-p88m-4jfj-68fv |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-p88m-4jfj-68fv | Dependencies (osv-scanner) |
| medium | osv/GHSA-pmjh-fq2x-6v4x |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-pmjh-fq2x-6v4x | Dependencies (osv-scanner) |
| medium | osv/GHSA-pr7r-676h-xcf6 |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-pr7r-676h-xcf6 | Dependencies (osv-scanner) |
| medium | osv/GHSA-rx4f-c7p8-82vq |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-rx4f-c7p8-82vq | Dependencies (osv-scanner) |
| medium | osv/GHSA-v3r7-h72x-cjcm |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-v3r7-h72x-cjcm | Dependencies (osv-scanner) |
| low | opengrep/javascript.lang.correctness.useless-assignment |
website/app/components/Wall/StickyNote.tsx:201 | `el.style.height` is assigned twice; the first assignment is useless | Lint |
| low | opengrep/javascript.lang.correctness.missing-template-string-indicator |
website/app/home-client.tsx:90 | This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'? | Lint |
| low | opengrep/javascript.lang.correctness.missing-template-string-indicator |
website/app/home-client.tsx:90 | This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'? | Lint |
| low | opengrep/javascript.lang.correctness.missing-template-string-indicator |
website/app/layout.tsx:221 | This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'? | Lint |
| low | opengrep/javascript.lang.correctness.missing-template-string-indicator |
website/app/layout.tsx:221 | This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'? | Lint |
| low | opengrep/javascript.lang.correctness.missing-template-string-indicator |
website/app/layout.tsx:231 | This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'? | Lint |
| low | opengrep/javascript.lang.correctness.missing-template-string-indicator |
website/app/layout.tsx:231 | This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'? | Lint |
| low | zizmor/artipacked |
.github/workflows/pages.yml:27 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| low | osv/GHSA-2gqq-gqf2-x968 |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-2gqq-gqf2-x968 | Dependencies (osv-scanner) |
| low | osv/GHSA-35p6-xmwp-9g52 |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-35p6-xmwp-9g52 | Dependencies (osv-scanner) |
| low | osv/GHSA-8436-99hf-9mmv |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-8436-99hf-9mmv | Dependencies (osv-scanner) |
| low | osv/GHSA-g7r4-m6w7-qqqr |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-g7r4-m6w7-qqqr | Dependencies (osv-scanner) |
| low | osv/GHSA-g8m3-5g58-fq7m |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-g8m3-5g58-fq7m | Dependencies (osv-scanner) |
| low | osv/GHSA-r53p-7pc4-xj5r |
website/server/package-lock.json | [email protected] (npm) is affected by GHSA-r53p-7pc4-xj5r | Dependencies (osv-scanner) |
Tools and coverage
Every analyzer that ran on this commit. A failed or skipped tool is a coverage gap: its share of the score is left out and the coverage figure drops.
| Analyzer | Pillar | Status | Version | Findings | Note |
|---|---|---|---|---|---|
| AI tool configuration | AI provenance | ok | signatures-v1 | 0 | |
| Explicit AI attribution | AI provenance | ok | signatures-v1 | 0 | |
| Release velocity | AI provenance | ok | prov-5 | 0 | |
| Coding style | AI provenance | ok | — | 0 | |
| Commit velocity | AI provenance | ok | prov-5 | 0 | |
| Findings in AI-written lines | AI provenance | ok | git-blame | 0 | |
| Complexity (lizard) | Code quality | ok | lizard 1.25.1 | 0 | |
| Documentation | Code quality | ok | — | 0 | |
| Duplication (jscpd) | Code quality | ok | repotrust-dup-w6 | 0 | |
| Lint | Code quality | ok | opengrep 1.33.1; rules f1d2b562b414 | 11 | |
| Tests and CI | Code quality | ok | — | 0 | |
| Type safety | Code quality | ok | — | 0 | |
| CI workflows (zizmor) | Security | ok | zizmor 1.32.0 | 8 | |
| Dependencies (osv-scanner) | Security | ok | osv-scanner version: 2.7.1 | 80 | |
| Release downloads | Security | ok | — | 0 | |
| Security posture | Security | ok | — | 0 | |
| Package registries | Security | ok | — | 0 | |
| Static analysis (opengrep) | Security | ok | opengrep 1.33.1; rules f1d2b562b414 | 0 | |
| OpenSSF Scorecard | Security | ok | scorecard v5.6.0 | 0 | |
| Secrets (gitleaks) | Security | ok | gitleaks 8.30.1 | 0 |
Score history
| Scored | Commit | Scoring | AI provenance | Quality | Security |
|---|---|---|---|---|---|
| 2026-11-14 | 8a2fd112e2af | prov-5+qual-2+sec-2 | 24% | 72 | 59 |
Full text report
- Repository: https://github.com/Caldis/Mos
- Commit:
8a2fd112e2af444c37ca5f65f42e9bd19c08a5c2 - Generated: 2026-11-14T15:16:12+00:00
- Scorer 0.1.0, scoring prov-5+qual-2+sec-2, report schema v2
Scores
| Pillar | Score | Signal | Confidence | Coverage |
|---|---|---|---|---|
| AI provenance (estimated AI-generated share) | 24 | explicit | 95% | 100% |
| Code quality | 72 | adequate | 90% | 100% |
| Security | 59 | weak | 85% | 100% |
AI provenance
Explicit AI attribution on 24% of first-party code added; an estimated 24% including velocity signals.
- Explicitly attributed share (lower bound): 24.0%
- Unattributed share in AI-consistent velocity bursts: 6.8%
- Estimated AI-generated share: 24.0%
| AI tool | Attributed commits | Lines added |
|---|---|---|
| Claude Code | 353 | 28,317 |
| OpenAI Codex | 15 | 1,872 |
- AI tooling configured in repo: claude-code, cursor, generic-agent, github-copilot
Current source lines last changed by AI-attributed commits: 23,114 of 48,538.
| Findings per 1,000 lines | AI-attributed | Other | Ratio |
|---|---|---|---|
| Quality | 0.303 | 0.157 | 1.93x |
| Security | 0.0 | 0.0 | n/a |
- Stylometry index: 1.41 per 1,000 lines (narrated steps 8, placeholders 0, assistant phrasing 0, emoji 121). Reported as a signal, not scored.
| Month | Lines added | Attributed to AI |
|---|---|---|
| 2025-09 | 4,422 | 0% |
| 2025-10 | 2,803 | 4% |
| 2025-11 | 35 | 0% |
| 2025-12 | 17 | 6% |
| 2026-01 | 700 | 0% |
| 2026-02 | 7,379 | 6% |
| 2026-03 | 12,828 | 74% |
| 2026-04 | 13,132 | 59% |
| 2026-05 | 7,910 | 0% |
| 2026-06 | 9,280 | 100% |
| 2026-07 | 2,428 | 98% |
| 2026-08 | 931 | 83% |
Evidence
- Claude Code: trailer 'Co-Authored-By: Claude' (8a2fd112e2af)
- Claude Code: trailer 'Co-Authored-By: Claude' (24f69433ac6a)
- Claude Code: trailer 'Co-Authored-By: Claude' (3490b050be35)
- Claude Code: trailer 'Co-Authored-By: Claude' (a73358005fdd)
- Claude Code: trailer 'Co-Authored-By: Claude' (924529b19778)
- Claude Code: trailer 'Co-Authored-By: Claude' (52d9dd88173d)
- Claude Code: trailer 'Co-Authored-By: Claude' (a6ebddfc2512)
- OpenAI Codex: PR branch 'codex/fix-logi-late-slot-takeover' (40bc1603edf5)
- Claude Code: trailer 'Co-authored-by: Claude' (ce00c3f9ca73)
- Claude Code: trailer 'Co-authored-by: Claude' (452b2e30efd5)
- Claude Code: PR description attribution (5865d7fb28b1)
- Claude Code: PR description attribution (f45e81c3ac26)
- Claude Code: PR description attribution (e5565f3fb2a9)
- Claude Code: PR description attribution (84583a11e938)
- Claude Code: trailer 'Co-Authored-By: Claude' (c48937fe1510)
AI provenance describes how code was produced; it is not a quality judgment. Unless attribution is explicit, these are signals consistent with AI generation, not proof. Squash/rebase workflows, imported code, and rewritten history reduce accuracy.
Code quality
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.
| Area | Score |
|---|---|
| Complexity (lizard) | 74 |
| Duplication | 79 |
| Code smells (Opengrep) | 97 |
| Tests and CI | 36 |
| Documentation | 100 |
| Type safety | 100 |
| Process (Scorecard review/maintenance) | 70 |
- Functions: 2,710; mean complexity 2.4, 90th percentile 5; 19 complex and 14 long functions
- Duplicated lines: 3.9% of 36,060 compared
- Tests: 160 test lines for 48,538 source lines (ratio 0.00); CI test commands: none detected; 1% of recent source commits also change tests
- Docs missing or thin: none
Most complex functions:
- handleInputReport in Mos/Logi/Core/LogiDeviceSession.swift: complexity 121, 320 lines
- symbolName in Mos/Shortcut/SystemShortcut.swift: complexity 81, 85 lines
- decodeReport in Mos/Logi/Core/LogiDeviceSession.swift: complexity 75, 153 lines
- StickyNote in website/app/components/Wall/StickyNote.tsx: complexity 50, 188 lines
- scrollEventCallBack in Mos/ScrollCore/ScrollCore.swift: complexity 44, 122 lines
Security
Security posture is weak: 80 known vulnerabilities in 17 dependencies; 7 high-severity workflow issues. Weakest area: dependencies.
| Area | Score |
|---|---|
| Secrets (gitleaks, tree + history) | 100 |
| Static analysis (Opengrep) | 100 |
| Vulnerable dependencies (OSV) | 14 |
| CI workflows (zizmor) | 24 |
| Posture (policy, updates, signing, lockfiles) | 40 |
| OpenSSF Scorecard | 39 |
-
Known vulnerabilities: 80 in 17 packages (critical 5, high 37, medium 32, low 6)
-
Posture checks passed: security policy; missing: dependency updates, signed commits, lockfiles
-
OpenSSF Scorecard aggregate: 5.4/10 (published 2026-11-09)
Top findings
| Severity | Finding | Location |
|---|---|---|
| critical | osv/GHSA-2464-fhr4-w9xw: [email protected] (npm) is affected by GHSA-2464-fhr4-w9xw |
website/package-lock.json |
| critical | osv/GHSA-2xp9-vwfh-vxw4: [email protected] (npm) is affected by GHSA-2xp9-vwfh-vxw4 |
website/package-lock.json |
| critical | osv/GHSA-673q-mjm6-r5xr: [email protected] (npm) is affected by GHSA-673q-mjm6-r5xr |
website/package-lock.json |
| critical | osv/GHSA-p293-qw3h-jr36: [email protected] (npm) is affected by GHSA-p293-qw3h-jr36 |
website/package-lock.json |
| critical | osv/GHSA-vcvr-r3jv-pc5j: [email protected] (npm) is affected by GHSA-vcvr-r3jv-pc5j |
website/package-lock.json |
| high | osv/GHSA-3jxr-9vmj-r5cp: [email protected] (npm) is affected by GHSA-3jxr-9vmj-r5cp |
website/package-lock.json |
| high | osv/GHSA-6j4f-fj2g-mc7p: [email protected] (npm) is affected by GHSA-6j4f-fj2g-mc7p |
website/package-lock.json |
| high | osv/GHSA-mh99-v99m-4gvg: [email protected] (npm) is affected by GHSA-mh99-v99m-4gvg |
website/package-lock.json |
| high | osv/GHSA-qhr7-859c-m2p7: [email protected] (npm) is affected by GHSA-qhr7-859c-m2p7 |
website/package-lock.json |
| high | osv/GHSA-rgw5-rvv9-x895: [email protected] (npm) is affected by GHSA-rgw5-rvv9-x895 |
website/package-lock.json |
| high | osv/GHSA-73wf-gq98-2v4g: [email protected] (npm) is affected by GHSA-73wf-gq98-2v4g |
website/package-lock.json |
| high | osv/GHSA-c83g-rgw3-j3cx: [email protected] (npm) is affected by GHSA-c83g-rgw3-j3cx |
website/package-lock.json |
| high | osv/GHSA-2883-xcg3-v3hh: [email protected] (npm) is affected by GHSA-2883-xcg3-v3hh |
website/package-lock.json |
| high | osv/GHSA-52cp-r559-cp3m: [email protected] (npm) is affected by GHSA-52cp-r559-cp3m |
website/package-lock.json |
| high | osv/GHSA-5p4m-2wfm-xmqj: [email protected] (npm) is affected by GHSA-5p4m-2wfm-xmqj |
website/package-lock.json |
| high | osv/GHSA-28wg-ghj8-5hjv: [email protected] (npm) is affected by GHSA-28wg-ghj8-5hjv |
website/package-lock.json |
| high | osv/GHSA-2v37-7h3g-55p8: [email protected] (npm) is affected by GHSA-2v37-7h3g-55p8 |
website/package-lock.json |
| high | osv/GHSA-6gpp-xcg3-4w24: [email protected] (npm) is affected by GHSA-6gpp-xcg3-4w24 |
website/package-lock.json |
| high | osv/GHSA-89xv-2m56-2m9x: [email protected] (npm) is affected by GHSA-89xv-2m56-2m9x |
website/package-lock.json |
| high | osv/GHSA-cjq9-62q9-8jv4: [email protected] (npm) is affected by GHSA-cjq9-62q9-8jv4 |
website/package-lock.json |
| high | osv/GHSA-m99w-x7hq-7vfj: [email protected] (npm) is affected by GHSA-m99w-x7hq-7vfj |
website/package-lock.json |
| high | osv/GHSA-p3m5-59mp-jv5r: [email protected] (npm) is affected by GHSA-p3m5-59mp-jv5r |
website/package-lock.json |
| high | osv/GHSA-p9j2-gv94-2wf4: [email protected] (npm) is affected by GHSA-p9j2-gv94-2wf4 |
website/package-lock.json |
| high | osv/GHSA-6g55-p6wh-862q: [email protected] (npm) is affected by GHSA-6g55-p6wh-862q |
website/package-lock.json |
| high | osv/GHSA-r28c-9q8g-f849: [email protected] (npm) is affected by GHSA-r28c-9q8g-f849 |
website/package-lock.json |
Static signals only: the scorer never runs the project's code. Secret findings are pattern matches that were not verified, and secret values are never stored.
Distribution signals
- binary-release-asset: release 4.3.0-beta-20260820.1 ships Mos.Versions.4.3.0-beta-20260820.1.zip (15796 downloads)
- binary-release-asset: release 4.2.1 ships Mos.Versions.4.2.1-20260531.1.zip (336700 downloads)
- binary-release-asset: release 4.2.0 ships Mos.Versions.4.2.0-20260505.1.zip (81096 downloads)
- binary-release-asset: release 4.0.2 ships Mos.Versions.4.0.2-20260308.2.zip (103176 downloads)
- binary-release-asset: release 4.0.1 ships Mos.Versions.4.0.1-20260308.1.zip (201 downloads)
Signals consistent with a repository that exists to distribute a download. They are heuristics, not a verdict; release files were not downloaded or inspected.
Repository profile
- Source lines: 48,538; test lines: 160
| Language | Lines |
|---|---|
| Swift | 35,082 |
| TypeScript | 11,989 |
| JavaScript | 996 |
| Shell | 558 |
| SQL | 73 |