Public record
Software health reportschema 0.27.0 · metrics 2.5.0 · 2026-07-31 11:17 UTC

DePasqualeOrg / mlx-audio-plus

Python tools for text to speech (TTS), speech to text (STT), and speech to speech (STS) powered by MLX

PythonMIT★ 44 stars⑂ 6 forkssince Nov 2025forkView on GitHub ↗

DePasqualeOrg/mlx-audio-plus holds a health index of 53 out of 100, placing it in the Moderate band. It scores highest on Vitality (64/100) and lowest on Community & Adoption (29/100). It was last updated 82 days ago. 2 contributors account for most of its recent work.

53
overall / 100
Moderate

Software health index

Metrics are grouped into weighted categories on one standardized 1–100 scale. Overall starts as their weighted mean, calibrated against the distribution of the public record so bands carry percentile meaning; when public evidence triggers the High-Risk Jurisdiction Policy, the rating is adjusted and receives an At Risk ceiling of 34.

53
Exceptional93-100The record's top tier (≈ top 5%); essentially all checked criteria met
Excellent80-92Strong across the board; minor gaps
Good65-79Healthy; gaps are limited and manageable
Moderate50-64Acceptable with notable gaps; review recommended
Weak35-49Material weaknesses across several areas
At Risk20-34Significant weaknesses; adoption warrants caution
Critical1-19Severe problems (abandoned, single-maintainer, no hygiene)
VitalityCommunity &AdoptionSustainability &GovernanceEngineeringQualitySecurityAI Readiness

Score profile

Each axis is a category. The shape matters more than the average — a healthy subject fills the whole shape, while a spike-and-crater profile means strength in one dimension is masking risk in another.

The weighted overall 52 is calibrated to 53 on the published index scale (record calibration 2026-08-02).

Ownership

AnthonyPersonal account
0 followers189 public repossince Jan 2017

This repository is owned by a personal account. A single-owner project carries more continuity risk than an organization-backed one.

Package ecosystems

RegistryPackageVersionDownloads / moVersionsLast publish
PyPImlx-audio-plus0.1.8-9203 days ago

Metrics by category

Vitality

Is the project alive — is code being written and are releases shipping?

64Moderate · 21% of overall
How it's scored
18/36Push recency — last push 82 days ago
18/36Commit cadence — 26/52 weeks with commits
18/18Commit volume — 194 commits in the last year
1/10OpenSSF Scorecard: Maintained — 1 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 1
Inputs used
commits_last_year194
human_commit_share1
days_since_last_push82
active_weeks_last_year26
How it's scored
27/27Ships releases — 9 releases published
16.2/36Release recency — latest release 203 days ago
27/27Release cadence — a release every ~4.3 days
0/10OpenSSF Scorecard: Signed-Releases — no data
Inputs used
releases_count9
latest_release_tagv0.1.8
releases_from_tagsno
days_since_latest_release203
mean_days_between_releases4.3
Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.

Community & Adoption

Does the project have users, downloads, attention, and a welcoming setup for contributors?

29At Risk · 17% of overall
How it's scored
26.5/60Stars — 44 stars
5.8/25Forks — 6 forks
0/15Watchers — 1 watchers
Inputs used
forks6
stars44
watchers1
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
How it's scored
0/22.5README
22.5/22.5License — recognized license (MIT)
0/18CONTRIBUTING guide
0/13.5Code of conduct
0/7.2Issue template
0/6.3PR template
Inputs used
has_readmeno
has_licenseno
readme_badges
has_contributingno
has_issue_templateno
has_code_of_conductno
readme_badge_services
has_pull_request_templateno

Sustainability & Governance

Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?

63Moderate · 23% of overall
How it's scored
25.2/54Bus factor — 2 contributor(s) cover half of all commits
13.6/22.5Commit distribution — top contributor authored 39% of commits
13.5/13.5Contributor breadth — 39 contributors
10/10OpenSSF Scorecard: Contributors — project has 5 contributing companies or organizations
Inputs used
bus_factor2
contributors_sampled39
top_contributor_share0.394
How it's scored
42/42Issue resolution — 100% of issues closed
10/30PR acceptance — 1/3 decided PRs merged
0/13Newcomer PR acceptance — no first-time contributor's PR decided in 30d
0/15OpenSSF Scorecard: Code-Review — Found 0/30 approved changesets -- score normalized to 0
Inputs used
merged_prs1
open_issues0
closed_issues1
prs_merged_7d
prs_decided_7d
prs_merged_30d
prs_decided_30d
issue_closed_ratio1
closed_unmerged_prs2
first_time_authors_30d
first_time_prs_merged_30d
first_time_prs_decided_30d
Excluded from scoring (no data or not applicable): newcomer_pr_acceptance. Remaining weights renormalized.
How it's scored
10/30Ownership backing — personal (user) account
0/20Verified domain — not applicable to user accounts
0/25Owner reach — 0 followers of DePasqualeOrg
25/25Track record — 189 public repos, account ~9 yr old
Inputs used
followers0
owner_typeUser
is_verified
owner_loginDePasqualeOrg
public_repos189
account_age_days3,469
Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.
How it's scored
25/25Published & resolvable — 1 package(s) on pypi
26/35Publish recency — latest publish 203 days ago
20/20Version history — 9 published versions
20/20Not deprecated — active, not deprecated or yanked
Inputs used
packagesmlx-audio-plus
ecosystemspypi
any_deprecatedno
min_days_since_publish203

Engineering Quality

Are baseline engineering and documentation practices in place?

58Moderate · 19% of overall
How it's scored
24/24CI workflows — 2 workflow(s)
24/24Tests present
16/16Linter config
9.6/9.6Pre-commit hooks
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — 0 out of 1 merged PRs checked by a CI test -- score normalized to 0
Inputs used
has_ciyes
has_testsyes
has_editorconfigno
has_linter_configyes
has_precommit_configyes
How it's scored
0/30README
25/25Documentation directory
0/15Documentation / homepage site
0/10Repository description
10/10Topics — 12 topics
0/10Wiki
Inputs used
topicsai, audio, machine-learning, mlx, python, speech-to-speech, speech-to-text, sst, sts, text-to-speech, tts, macos
has_wikino
homepage
has_readmeno
has_docs_diryes
has_descriptionno

Security

Are visible security and supply-chain practices strong, without unresolved high-risk jurisdiction exposure?

39Weak · 16% of overall
How it's scored
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
0/2.5CI-Tests — 0 out of 1 merged PRs checked by a CI test -- score normalized to 0
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/30 approved changesets -- score normalized to 0
2.5/2.5Contributors — project has 5 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5License — license file detected
0.8/7.5Maintained — 1 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 1
0/5Packaging — no data
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — no data
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Inputs used
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate3.3
Excluded from scoring (no data or not applicable): packaging, signed_releases. Remaining weights renormalized.
How it's scored
8.1/35Direct dependencies free of known advisories — 1 affected: transformers 4.57.6 (critical 9.6)
25/25Indirect dependencies free of known advisories — no indirect dependency carries a known advisory
32.3/40No advisories left outstanding — 1 advisory-carrying package(s) unaddressed past 90 days; oldest published 219 days ago
Inputs used
sourceosv
advisories7
affected_packages1
assessed_packages50
unassessed_packages0
affected_by_severitycritical 1
direct_affected_packages1
Matched the pypi:mlx-audio-plus@0.1.8 runtime dependency closure — what installing the published package pulls in — 50 packages. Reachability is not analyzed.

AI Readiness

How well is the repo equipped to be developed and maintained with AI coding agents? Carries a deliberately small weight (4%): agent tooling is a real maintenance signal, but a repository with none can still reach 100/100.

56Moderate · 4% of overall
How it's scored
45/45Agent instructions — .claude/CLAUDE.md, AGENTS.md
0/15Machine-readable docs (llms.txt)
40/40Legible commit history — 79 of 100 human commits state their intent (structured subject or explanatory body)
Inputs used
has_llms_txtno
legible_history_share0.79
agent_instruction_files.claude/CLAUDE.md, AGENTS.md
agent_instruction_max_bytes1,892
How it's scored
0/18One-command bootstrap
22/22Automated tests
11/11Lint / format config
0/11Static type checking
0/10Reproducible environment
8/10Demonstrated agent practice — 4 of the last 100 commits agent-authored or agent-credited
0/8Automated maintenance — no automated dependency updates observed
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Inputs used
has_nixno
has_testsyes
lockfiles
has_dockerfileno
typed_languageno
bootstrap_files
has_devcontainerno
has_linter_configyes
typecheck_configs
agent_commit_share0.04
toolchain_manifests
dependency_bot_commit_share0
How it's scored
0/45Type-checkable code — Python without a type-check config
54.6/55Manageable file sizes — 3/390 source files over 60KB
Inputs used
primary_languagePython
largest_source_bytes119,408
source_files_sampled390
oversized_source_files3
How it's scored
0/40API schema (OpenAPI/GraphQL/proto)
0/20MCP server
40/40Runnable examples — examples
Inputs used
example_dirsexamples
has_mcp_signalno
api_schema_files

Key facts

44GitHub stars
39contributors
194commits, last 12 months
82days since last push
9releases
2bus factor
0open issues
PyPIpackage ecosystems

Data collection warnings

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • Community profile unavailable
  • GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

More detail

Star and fork history 0 ★ / 6 ⇿
0Stars
6Forks
2Releases

When each star and fork was added, collected from GitHub and bucketed by day. Cumulative growth sits directly above the daily additions it is made of, so the two read against each other: steady organic accretion looks nothing like an abrupt, short-lived burst. Where that difference is measurable, it is reported as growth authenticity.

123456612025-122026-032026-07
Major 0Minor 0Patch 2
OpenSSF Scorecard 3.3 / 10
3.3aggregate

Independent, tool-agnostic security assessment from the open-source OpenSSF Scorecard. Each check rewards a security practice, not a specific vendor's tool. Checks Scorecard could not determine are marked n/a and excluded from the security score (never counted as zero).Scorecard v5.5.0 · 2026-07-31 11:17 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
0CI-Tests0 out of 1 merged PRs checked by a CI test -- score normalized to 0
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/30 approved changesets -- score normalized to 0
10Contributorsproject has 5 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
1Maintained1 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 1
n/aPackagingpackaging workflow not detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
n/aSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
10Vulnerabilities0 existing vulnerabilities detected
Direct dependencies 12
RegistryPackageVersion constraintManifest
PyPImlx>=0.25.2pyproject.toml
PyPInumpy>=1.26.4pyproject.toml
PyPIhuggingface_hub>=0.27.0pyproject.toml
PyPItransformers>=4.49.0,<5.0.0pyproject.toml
PyPIhf_transferpyproject.toml
PyPImlx-lm>=0.18.0,<0.30.0pyproject.toml
PyPItqdm>=4.67.1pyproject.toml
PyPIsounddevice>=0.5.1pyproject.toml
PyPIsoundfile>=0.13.1pyproject.toml
PyPIpyloudnorm>=0.1.1pyproject.toml
PyPIlibrosa==0.11.0pyproject.toml
PyPIprotobuf>=6.33.5pyproject.toml
All dependencies not collected

The resolved dependency set could not be collected for this report: GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

Dependency advisories 1

Installing pypi:mlx-audio-plus@0.1.8 pulls in 50 packages, direct and transitive: 1 carry known advisories, of which 1 are direct dependencies.

PackageVersionRelationSeverityAdvisoriesFixed in
transformers4.57.6directcritical75.5.0

An advisory means the version recorded in the dependency graph falls inside an advisory’s affected range. Reachability is not analysed, and the graph includes development and test pins — a finding may concern tooling rather than shipped software.

Raw JSON report machine-readable
{
  "data": {
    "repo": {
      "topics": [
        "ai",
        "audio",
        "machine-learning",
        "mlx",
        "python",
        "speech-to-speech",
        "speech-to-text",
        "sst",
        "sts",
        "text-to-speech",
        "tts",
        "macos"
      ],
      "is_fork": true,
      "size_kb": 2861,
      "has_wiki": false,
      "homepage": null,
      "languages": {
        "Shell": 6694,
        "Python": 3716903
      },
      "pushed_at": "2026-05-09T17:11:09Z",
      "created_at": "2025-11-24T15:52:02Z",
      "owner_type": "User",
      "updated_at": "2026-07-29T14:02:46Z",
      "description": "Python tools for text to speech (TTS), speech to text (STT), and speech to speech (STS) powered by MLX",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "Python",
      "significant_languages": [
        "Python"
      ]
    },
    "owner": {
      "blog": null,
      "name": "Anthony",
      "type": "User",
      "login": "DePasqualeOrg",
      "company": null,
      "location": null,
      "followers": 0,
      "avatar_url": "https://avatars.githubusercontent.com/u/25420077?v=4",
      "created_at": "2017-01-29T18:52:13Z",
      "is_verified": null,
      "public_repos": 189,
      "account_age_days": 3469
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": false
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.1.8",
          "kind": "patch",
          "published_at": "2026-01-08T23:31:22Z"
        },
        {
          "tag": "v0.1.7",
          "kind": "patch",
          "published_at": "2025-12-22T17:41:47Z"
        },
        {
          "tag": "v0.1.6",
          "kind": "patch",
          "published_at": "2025-12-17T07:57:34Z"
        },
        {
          "tag": "v0.1.5",
          "kind": "patch",
          "published_at": "2025-12-16T21:42:47Z"
        },
        {
          "tag": "v0.1.4",
          "kind": "patch",
          "published_at": "2025-12-14T14:27:40Z"
        },
        {
          "tag": "v0.1.3",
          "kind": "patch",
          "published_at": "2025-12-11T16:48:38Z"
        },
        {
          "tag": "v0.1.2",
          "kind": "patch",
          "published_at": "2025-12-09T19:02:29Z"
        },
        {
          "tag": "v0.1.1",
          "kind": "patch",
          "published_at": "2025-12-05T22:31:33Z"
        },
        {
          "tag": "v0.1.0",
          "kind": "minor",
          "published_at": "2025-12-05T22:31:10Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "4c9ec6a8489e790b5ba8964ab1f1d63150476f9f",
          "body": null,
          "is_bot": false,
          "headline": "Fix FunASR",
          "author_name": "Anthony DePasquale",
          "author_login": "DePasqualeOrg",
          "committed_at": "2026-05-09T17:10:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a6dfaa2c2dc84876b5dbad8007ecd47099060acc",
          "body": null,
          "is_bot": false,
          "headline": "Improve TTS generate helper compatibility and seeding",
          "author_name": "Anthony DePasquale",
          "author_login": "DePasqualeOrg",
          "committed_at": "2026-04-10T12:49:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ce39134c9d9c6dfc6e7449c31227d281dea67be1",
          "body": null,
          "is_bot": false,
          "headline": "Align CosyVoice3 MLX implementation with original PyTorch",
          "author_name": "Anthony DePasquale",
          "author_login": "DePasqualeOrg",
          "committed_at": "2026-04-10T12:48:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8dca3a148b9da170b739ed17c5bcea0727d7d40a",
          "body": null,
          "is_bot": false,
          "headline": "Fix CosyVoice3 text formatting for all inference modes (#3)",
          "author_name": "Anthony",
          "author_login": "DePasqualeOrg",
          "committed_at": "2026-02-28T19:05:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e11f6e57ca2cecf7aab72590469bec7f775c3b0e",
          "body": null,
          "is_bot": false,
          "headline": "Remove mlx-audio[all] dependency from core dependencies",
          "author_name": "Anthony DePasquale",
          "author_login": "DePasqualeOrg",
          "committed_at": "2026-02-28T18:18:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e4b483bbae4e0cd5d10bde046191b6d7e87825f1",
          "body": null,
          "is_bot": false,
          "headline": "Update Claude context",
          "author_name": "Anthony DePasquale",
          "author_login": "DePasqualeOrg",
          "committed_at": "2026-02-28T15:20:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2b6e85014023897e6b5bdad51071249a1b30f62e",
          "body": "The fork's tokenizer.py was missing the MTLTokenizer class and\nmultilingual text processing helpers that upstream added for\nChatterbox multilingual support.",
          "is_bot": false,
          "headline": "Sync Chatterbox tokenizer with upstream",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-02-28T15:20:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9117e9c2dabdfc22ae4b02ec31bfeb39b708d45a",
          "body": "The module was renamed from s3 to s3tokenizer but the test import\nwasn't updated.",
          "is_bot": false,
          "headline": "Fix S3TokenizerV2 test import path",
          "author_name": "Anthony DePasquale",
          "author_login": "DePasqualeOrg",
          "committed_at": "2026-02-28T15:20:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dd6e0128235d84c4f515123558b91c4874140021",
          "body": null,
          "is_bot": false,
          "headline": "Add Echo TTS. (#525)",
          "author_name": "Lucas Newman",
          "author_login": "lucasnewman",
          "committed_at": "2026-02-28T13:05:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9c4c38786c7e90e9bcb68688c5250700dc467ada",
          "body": "… (#522)",
          "is_bot": false,
          "headline": "feat(stt): add system_prompt parameter to Qwen3ASR generation methods…",
          "author_name": "chris-schra",
          "author_login": "chris-schra",
          "committed_at": "2026-02-28T13:05:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "10c42cce46be794976a56c52dfc3270cf1305a94",
          "body": null,
          "is_bot": false,
          "headline": "fix: replace 4 bare excepts with except Exception (#521)",
          "author_name": "Sense_wang",
          "author_login": "haosenwang1018",
          "committed_at": "2026-02-28T13:05:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6be7380a5257cc39747ab51039d3fdd1cef4979e",
          "body": "* refactor(whisper): update model instantiation and loading process\n\n- Changed model instantiation to use `cls` instead of `Model` for better clarity.\n- Added a post-load hook to the model loading process to enhance functionality.\n- Updated error message in `generate_audio` to clarify requirements for STT model input.\n- Refactored STT model loading to streamline the process when `ref_text` is missing.\n\n* fix tests",
          "is_bot": false,
          "headline": "Refactor(whisper): update model instantiation and loading process (#514)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-02-28T13:05:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9e51f37e3dbff41bac2df72c40d981ebcccfdf9d",
          "body": "…essing (#510)\n\n* fix(vibevoice-asr): add audio resampling and normalization to preprocessing\n\nThe VibeVoice ASR model requires 24 kHz input audio normalized to -25 dB FS,\nmatching the official PyTorch pipeline. Previously, when users passed raw\nwaveform arrays (e.g. loaded via librosa at 16 kHz), t\n[…]\n diarization accuracy.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>\nCo-authored-by: Prince Canuma <prince.gdt@gmail.com>",
          "is_bot": false,
          "headline": "fix(vibevoice-asr): add audio resampling and normalization to preproc…",
          "author_name": "sikaro",
          "author_login": "bellkjtt",
          "committed_at": "2026-02-28T13:05:53Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1067b50f656ab5afc527dacc192f313d9c5e122b",
          "body": "* Add Smart Turn v3 semantic VAD.\n\n* Formatting.\n\n* Add license information.",
          "is_bot": false,
          "headline": "Add Smart Turn v3 semantic VAD (#511)",
          "author_name": "Lucas Newman",
          "author_login": "lucasnewman",
          "committed_at": "2026-02-28T13:05:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3ac2b24d2ed00d477357cebafd53bfa85690f2b9",
          "body": "…ject dependencies (#497)\n\n- Added protobuf version 6.33.5 to the dependencies in pyproject.toml.\n- Updated protobuf version in uv.lock to 6.33.5, including new source URLs for the package.",
          "is_bot": false,
          "headline": "chore: update protobuf dependency to version 6.33.5 and add it to pro…",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-02-28T13:03:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "03990a6b952d2842ce40a0af4b764129facdd17b",
          "body": "* Add sortformer\n\n* add vad module\n\n* udpate readme\n\n* update readme with vis\n\n* add generate stream\n\n* add realtime api\n\n* add prebult chunks to generate_stream\n\n* Enhance `generate_stream` functionality with support for processing audio from a list of chunks and real-time streaming. Update README \n[…]\nessing in `Model` class to consistently use `mx.array` instead of `numpy.ndarray`\n\n* fix dtype promotion\n\n* add tests\n\n* Delete sortformer-v2.1-mlx/README.md\n\n* add memory considerations for streaming",
          "is_bot": false,
          "headline": "[VAD / Diarization] Add sortformer  (#493)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-02-28T13:03:12Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "319f86407d495e3ca5426c9d1caeff907e3a81a0",
          "body": "* Add Voxtral Mini 4B Realtime (mistralai/Voxtral-Mini-4B-Realtime-2602) STT model\n\nImplements the Voxtral Realtime streaming speech-to-text model:\n- 0.6B causal audio encoder (32 layers, RoPE, sliding window=750)\n- 3.4B GQA decoder (26 layers, 32Q/8KV heads, sliding window=8192)\n- Adaptive RMSNorm \n[…]\n optimized performance\n\n* feat: remove convert script for Voxtral Realtime model\n\n---------\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>\nCo-authored-by: Olivier Chafik <ochafik@google.com>",
          "is_bot": false,
          "headline": "feat: Add support for Voxtral Mini 4B Realtime  (#487)",
          "author_name": "Shreyas Karnik",
          "author_login": "shreyaskarnik",
          "committed_at": "2026-02-28T13:03:08Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "962ff5ef030ffe659f9c2bf588772d55d9397946",
          "body": "…format (#488)\n\n* fix: update STT transcription parameters and preserve original audio format\n\n* fix: add audio data URL handling for playback in transcription viewer\n\n* fix: set default max_tokens value and add UI controls for adjustment\n\n* fix: update max_tokens to 1024 in transcription settings and adjust audio format handling\n\n* Update server.py to revert from wav to mp3\n\n---------\n\nCo-authored-by: Prince Canuma <prince.gdt@gmail.com>",
          "is_bot": false,
          "headline": "fix: update STT transcription parameters and preserve original audio …",
          "author_name": "Shreyas Karnik",
          "author_login": "shreyaskarnik",
          "committed_at": "2026-02-28T13:02:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a46cc6204e848723745b6bcdc046fd4f6c4ecaff",
          "body": "…(#484)\n\n* Enable streaming /v1/audio/speech server endpoint with raw/pcm data.\n\n* refactor streaming implementation\n\nCo-Authored-By: orbitalquark <70453897+orbitalquark@users.noreply.github.com>\n\n* Ensure proper handling of audio chunks and raise an error if no audio is generated when not streaming.\n\n---------\n\nCo-authored-by: Prince Canuma <prince.gdt@gmail.com>",
          "is_bot": false,
          "headline": "Enable streaming /v1/audio/speech server endpoint with raw/pcm data. …",
          "author_name": "orbitalquark",
          "author_login": "orbitalquark",
          "committed_at": "2026-02-28T13:01:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0d5a7f0b7bbafe74510a5ed3b39cf2c7c6ec4537",
          "body": "…#489)\n\nThe Chinese G2P (misaki.zh.ZHG2P) returns a plain string, while the\npipeline expects a tuple from `self.g2p(chunk)` and tries to unpack it\nas `ps, _ = self.g2p(chunk)`. This causes a ValueError for all Chinese\nTTS generation:\n\n  ValueError: too many values to unpack (expected 2)\n\nCheck the r\n[…]\nk) and string returns (Chinese).\n\nCo-authored-by: botdev <botdev@botdevdeMacBook-Air.local>\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>\nCo-authored-by: Prince Canuma <prince.gdt@gmail.com>",
          "is_bot": false,
          "headline": "fix(kokoro): handle non-tuple return from Chinese ZHG2P in pipeline (…",
          "author_name": "bitking",
          "author_login": "smartchainark",
          "committed_at": "2026-02-28T13:01:52Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "b1808bea10ff4f6ad45840695b61003abf41a70b",
          "body": null,
          "is_bot": false,
          "headline": "Properly slice cache for each segment. (#486)",
          "author_name": "Lucas Newman",
          "author_login": "lucasnewman",
          "committed_at": "2026-02-28T13:01:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cf70c84e4887adff49514dbfec90575a334410fe",
          "body": "* fix soprano decoder and config loading\n\nCo-Authored-By: solarpunkin <solarpunkin@users.noreply.github.com>\n\n* bump version\n\n* format\n\n* fix tests\n\n---------\n\nCo-authored-by: solarpunkin <solarpunkin@users.noreply.github.com>",
          "is_bot": false,
          "headline": "[Soprano] Fix decoder and config loading (v1 and v1.1) (#480)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-02-28T12:59:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e09a58cfd5b5a282a42afa838ead93b169df71fc",
          "body": "* ran isort and black precommit\n\n* chore: add dev formatter config",
          "is_bot": false,
          "headline": "Formatting fix and add to pyproject.toml (#475)",
          "author_name": "Michael",
          "author_login": "mnoukhov",
          "committed_at": "2026-02-28T12:59:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "87eb11ddd7be08ab7d3a6a6860b72b156b9115cf",
          "body": "* feat(stt): add support for MedASR (Lasr architecture)\n\n* feat(stt): add support for MedASR (Lasr architecture)\n\nThis commit adds full support for the MedASR model (Lasr architecture) to mlx-audio.\n\nChanges:\n- Added  implementation (LasrEncoder, LasrForCTC).\n- Updated  and  to support  model type.\n\n[…]\n_ctc, remove convert.py in favor of sanitize method, update example\n\n---------\n\nCo-authored-by: Jeonghyun Lee <sigjhl@Jeonghyuns-MacBook-Pro.local>\nCo-authored-by: Prince Canuma <prince.gdt@gmail.com>",
          "is_bot": false,
          "headline": "feat(stt): add support for MedASR (Lasr architecture) (#376)",
          "author_name": "sigjhl",
          "author_login": "sigjhl",
          "committed_at": "2026-02-28T12:59:18Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6e24b602ba57af67bad4b32ef8e32733f82e2f90",
          "body": null,
          "is_bot": false,
          "headline": "Fix voice matching for Pocket TTS. (#477)",
          "author_name": "Lucas Newman",
          "author_login": "lucasnewman",
          "committed_at": "2026-02-28T12:59:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b93f21d75cabf1402a9916bf3a6849e5fdf7613e",
          "body": "* Use shared model cache resolution for SAM-Audio\n\n* cleanup code using get_model_path\n\nadd specific Gated Excpetion to give warning about requesting access to\nfacebook/sam_audio\n\n---------\n\nCo-authored-by: Prince Canuma <prince.gdt@gmail.com>",
          "is_bot": false,
          "headline": "Use shared model cache resolution for SAM-Audio (#468)",
          "author_name": "Michael",
          "author_login": "mnoukhov",
          "committed_at": "2026-02-28T12:59:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a5ba63f6cad7fc12b74f0019c70c9e1f18ca380c",
          "body": null,
          "is_bot": false,
          "headline": "Fix noise shape for short separate_long (#467)",
          "author_name": "Michael",
          "author_login": "mnoukhov",
          "committed_at": "2026-02-28T12:59:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b6e3247f6819483fd3c1c1158d92e2d1ce8cad84",
          "body": "Co-authored-by: Prince Canuma <prince.gdt@gmail.com>",
          "is_bot": false,
          "headline": "Enable streaming for Qwen3-TTS when ICL mode is enabled. (#466)",
          "author_name": "orbitalquark",
          "author_login": "orbitalquark",
          "committed_at": "2026-02-28T12:59:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "63348fd87ad7ad6d3bb304674468a6b3330b6a26",
          "body": "* fix long audio processing\n\n* Add token tracking and performance metrics to transcription generation\n\n* qwen3asr fix total tokens\n\n* format",
          "is_bot": false,
          "headline": "Fix ALMs max tokens and chunking (#474)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-02-28T12:59:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c7fe57473fb85c99735c77f02b45ea5d99eea086",
          "body": null,
          "is_bot": false,
          "headline": "Restore encoder_config to preserve voice clone accents. (#461)",
          "author_name": "orbitalquark",
          "author_login": "orbitalquark",
          "committed_at": "2026-02-28T12:58:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "18b21e9651d3d840ca0a9b096d49a264fe3dff58",
          "body": "* Add python-multipart dependency to pyproject.toml for multipart form handling\n\n* Refactor tokenizer usage in Whisper model files\n\n- Removed direct imports and references to the Tokenizer class in favor of using model methods for tokenizer retrieval.\n- Updated function signatures to accept a generi\n[…]\nrnal logic to reflect the new parameter names, ensuring proper handling of audio chunk durations.\n- Adjusted test cases to align with the updated parameter names, maintaining test integrity.\n\n* format",
          "is_bot": false,
          "headline": "Fix server (STT, TTS) (#460)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-02-28T12:58:08Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "10470ee9e8f6618978bd0d6387422e84c21b3f9f",
          "body": "* fix chatterbox load\n\n* format",
          "is_bot": false,
          "headline": "Fix chatterbox load (#455)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-02-28T12:55:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4970740aa66ae91040f1f1c12d5f0ff7bb19f132",
          "body": "* Add Qwen3-ASR model and configurations\n\n- Introduced Qwen3-ASR model with audio encoder and transformer layers.\n- Added configuration classes for audio encoder, text decoder, and model settings.\n- Updated generate_transcription function to print segment text for debugging.\n- Enhanced model remappi\n[…]\nerstanding of the expected behavior for both aligned and non-aligned weights.\n- Removed redundant variable assignments to streamline the test code, improving maintainability and readability.\n\n* format",
          "is_bot": false,
          "headline": "Add Qwen3-ASR (#454)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-02-28T12:55:21Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3e9a3389d217dec303dc1e7dc56df77dfa07c075",
          "body": null,
          "is_bot": false,
          "headline": "Update pyproject.toml for poetry support.",
          "author_name": "Lucas Newman",
          "author_login": "lucasnewman",
          "committed_at": "2026-02-28T12:52:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "acebc0c9842ce4fda610ac01354cc21544669c09",
          "body": "* Refactor audio utilities for volume normalization and random segment selection\n\n* support loading reference audio from file paths or mx.array\n\n* remove old examples\n\n* Allowing reference audio to be loaded from file paths or mx.array across tts\n\n* migrate to tfmx v5\n\n* revert\n\n* Refactor audio dec\n[…]\nor Qwen3 TTS model to track calls to speech_tokenizer.decode instead of streaming_decode\n\n* Add tests for Qwen3 TTS streaming decode behavior, including tracking of decode calls and chunk size control",
          "is_bot": false,
          "headline": "Refactor audio load (#445)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-02-28T12:29:01Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ff8d7453cc3c517e1e18bfb89fe0b4f8019ce643",
          "body": "* Update mel spectrogram padding calculation in Qwen3-TTS to align with PyTorch standards\n\n* Increase context size in Qwen3-TTS model for smoother audio transitions, improving decoding accuracy with minimal error.\n\n* Refactor text embedding handlingg\n\n- Updated the text embedding retrieval process t\n[…]\nhe deprecation of loading models from pretrained weights directly.\n\n* remove unused\n\n* Replaced custom sampling implementations with utility functions from `mlx_lm.sample_utils`\n\n* format\n\n* fix tests",
          "is_bot": false,
          "headline": "[Qwen3-TTS] Fix some Custom Voices producing silence with 0.6B (#444)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-02-28T12:28:58Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "83084f2f003f887f803a74fbbb106434523d8a47",
          "body": "* Fix: improve import error hadling\n\n* Update mlx_audio/utils.py\n\n---------\n\nCo-authored-by: Prince Canuma <prince.gdt@gmail.com>",
          "is_bot": false,
          "headline": "Fix: improve import error hadling (#443)",
          "author_name": "zer0",
          "author_login": "reinexworldc",
          "committed_at": "2026-02-28T12:28:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7d956f7975323d0dc6f678af4f4ef6a501caf72f",
          "body": "* Enhance Qwen3-TTS model with streaming audio decoding and memory optimizations\n\n- Implemented streaming decoding in the speech tokenizer to handle long sequences with reduced memory usage, yielding audio chunks as they're decoded.\n- Updated the audio decoding process in the Model class to utilize \n[…]\n\n- Updated GenerationResult to include streaming state indicators for better tracking of audio chunks.\n\n* Increase context size for smoother audio transitions in Qwen3-TTS streaming model\n\n* fix tests",
          "is_bot": false,
          "headline": "Qwen3-TTS: Add streaming and optimise peak usage (#435)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-02-28T12:28:52Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c12a8cbde91d95ac132edbe14e19b38cc37ea66e",
          "body": "…arkers (#432)\n\n- Adjusted Python version resolution markers to include support for versions 3.11 and 3.13.\n- Updated numpy dependency versions based on Python version markers, introducing version 2.3.5 for Python 3.11 and above, while retaining version 2.2.6 for earlier versions.\n- Updated scipy an\n[…]\nencies similarly to align with the new numpy versioning strategy.\n- Incremented huggingface-hub version to 1.3.3 and setuptools to 80.10.1, ensuring compatibility with the latest package requirements.",
          "is_bot": false,
          "headline": "Update uv.lock to reflect dependency version changes and resolution m…",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-31T07:02:25Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c876966368dc8aa22e55c24ca9c68d9e944d898a",
          "body": "…ing (#431)\n\n- Removed `setuptools-scm` from the build requirements in `pyproject.toml`.\n- Changed license format to a simpler string representation.\n- Updated the GitHub Actions workflow to use the latest version tag for the PyPI publish action and corrected the parameter name from `packages_dir` to `packages-dir`.",
          "is_bot": false,
          "headline": "Update pyproject.toml and GitHub Actions workflow for package publish…",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-31T07:02:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "74b88ac857f336b16294cf54736196ab3da66238",
          "body": null,
          "is_bot": false,
          "headline": "Move audio path/format prints under verbose flag (#429)",
          "author_name": "Wlad Paiva",
          "author_login": "wladpaiva",
          "committed_at": "2026-01-31T07:02:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6f1d01def48e93256996ffbedd9641fae4712d77",
          "body": "…#428)",
          "is_bot": false,
          "headline": "Update MANIFEST.in to remove leading dot from requirements.txt path (…",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-31T07:02:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d5906058cbb49a9957506e2b7fcbc1731914ff5b",
          "body": "* Refactor audio input handling in transcription methods to support multiple formats\n\n- Updated the `generate_transcription` and `Model` class methods to accept audio input as either a file path (str/Path) or an audio waveform (mx.array).\n- Enhanced documentation to clarify the expected input types \n[…]\nc1` to `5.0.0rc3` and `mlx-lm` version from `0.30.2` to `0.30.5` for improved compatibility.\n- Updated `uv.lock` to reflect the new dependency versions and added upload timestamps for package sources.",
          "is_bot": false,
          "headline": "Fix stt array io (#426)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-31T07:02:20Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "09f7c1268889ad6892e3d99772338b8854810370",
          "body": "* Fix convert skipping subdirs\n\n* Add model_quant_predicate method to Qwen3-TTS and update apply_quantization logic to handle dictionary results. This enhances quantization control and improves model-specific predicate handling.\n\n* Addd ICL voice cloning support and improve audio processing [Qwen3-T\n[…]\ndicate for clarity.\n- Consolidated the logic for loading tokenizer weights by utilizing mx.load, improving efficiency.\n- Ensured proper evaluation of speech_tokenizer parameters after loading weights.",
          "is_bot": false,
          "headline": "Fix qwen3 tts quants (silence in VC and word precision) (#407)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-31T07:02:12Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6b41a8742c03e3ebadd5547f0a4e1e7d9c20f2a0",
          "body": "…rs from quantization (#398)\n\nCo-authored-by: Prince Canuma <prince.gdt@gmail.com>",
          "is_bot": false,
          "headline": "fix: Add model_quant_predicate to Qwen3-TTS to exclude embedding laye…",
          "author_name": "Aron Homberg",
          "author_login": "kyr0",
          "committed_at": "2026-01-31T07:02:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "33e64f230189aecf0f8a5bafe1ae8b956096a042",
          "body": "…udio  (#417)\n\n* Manual depthwise conv1d via accumulation over kernel positions.\n\n        Avoids the Metal depthwise_conv_1d kernel which may not be available\n        on all Apple Silicon hardware. Accumulates one kernel position at a\n        time to avoid materializing a large [B, T_out, K, C] tens\n[…]\n- Introduced a prefill step size parameter to optimize memory usage during token generation.\n- Updated progress bars for both encoding and generation processes to improve user experience and feedback.",
          "is_bot": false,
          "headline": "[VibeVoice-ASR] Fix Metal kernel crash and optimize memory for long a…",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-31T07:02:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "790901a08717f64cba0b6a832c778e6bbb8bee92",
          "body": "Signed-off-by: Salman Muin Kayser Chishti <13schishti@gmail.com>",
          "is_bot": false,
          "headline": "Upgrade GitHub Actions to latest versions (#419)",
          "author_name": "Salman Chishti",
          "author_login": "salmanmkc",
          "committed_at": "2026-01-31T07:02:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a982744f914cb4a05bfa6172ffaa3e9a6ab89457",
          "body": "Signed-off-by: Salman Muin Kayser Chishti <13schishti@gmail.com>",
          "is_bot": false,
          "headline": "Upgrade GitHub Actions for Node 24 compatibility (#418)",
          "author_name": "Salman Chishti",
          "author_login": "salmanmkc",
          "committed_at": "2026-01-31T07:02:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "db84261ffe852257a10c874c65697c9f14ebfce0",
          "body": "* Enhance README with installation and usage examples\n\nAdded installation instructions for pip and uv tool, and included voice cloning example with Qwen-TTS.\n\n* Move voice cloning to be with the rest of the qwen3-tts part\n\nRemoved redundant voice cloning section and retained relevant information.\n\n* Move Qwen3-tts instructions to its own README\n\n* Correct speaker names in Qwen3-tts README\n\n---------\n\nCo-authored-by: Prince Canuma <prince.gdt@gmail.com>",
          "is_bot": false,
          "headline": "Enhance README with installation and usage examples (#404)",
          "author_name": "Rahim Nathwani",
          "author_login": "rahimnathwani",
          "committed_at": "2026-01-31T07:02:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "65a2e05edb1624732b20bef8e9e6469c1f0953a2",
          "body": "…406)",
          "is_bot": false,
          "headline": "Fix issue of ref_audio not loading prior to inference with server. (#…",
          "author_name": "byMAR.CO",
          "author_login": "BuffMcBigHuge",
          "committed_at": "2026-01-31T07:02:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f272c912dc9f941500136d92bbaa6ff3121aff59",
          "body": null,
          "is_bot": false,
          "headline": "Unify Mimi implementation. (#403)",
          "author_name": "Lucas Newman",
          "author_login": "lucasnewman",
          "committed_at": "2026-01-31T07:02:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "be484555d5bda99f55cad403500f428de0a837e0",
          "body": null,
          "is_bot": false,
          "headline": "Fix Whisper",
          "author_name": "Anthony DePasquale",
          "author_login": "DePasqualeOrg",
          "committed_at": "2026-01-24T08:10:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3092c5d533e759a660ad864a2e82461acd32d42f",
          "body": null,
          "is_bot": false,
          "headline": "Fix VibeVoice sanitization",
          "author_name": "Anthony DePasquale",
          "author_login": "DePasqualeOrg",
          "committed_at": "2026-01-24T07:58:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1b2ae0b6c7241746e1ac433bb7340b5f30a437ab",
          "body": null,
          "is_bot": false,
          "headline": "Update TTS commands in README to include language code option (#401)",
          "author_name": "Rudolf Olah",
          "author_login": "rudolfolah",
          "committed_at": "2026-01-24T07:49:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "df70ce3b3cd8f0eda12f34d437ecc2f740c9ca8b",
          "body": "* Add unit tests for Qwen3-TTS reflect padding and mel spectrogram functionality\n\n* Enhance mel spectrogram tests in Qwen3-TTS\n\n- Introduced new tests to verify mel spectrogram output with center padding and slaney normalization.\n- Added checks for expected output shapes and values for various input\n[…]\nroduces correct boundary frame values and that a 1kHz sine wave activates the appropriate mel bins.\n- Updated existing tests to improve clarity and accuracy in verifying mel spectrogram functionality.",
          "is_bot": false,
          "headline": "Qwen3-TTS speaker embedding tests (#396)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-24T07:49:13Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e73d7e5fe21644a260a78903cc24594ee99ae490",
          "body": "* Add vibevoice ASR\n\n* format\n\n* Refactor file copying logic in copy_model_files to exclude specific model files and remove redundant code for supporting file copying.\n\n* Refactor tokenizer usage in VibeVoice ASR model to standardize access and improve clarity. Introduce model_quant_predicate for qu\n[…]\narity and consistency. Add new test initialization file.\n\n* Add speaker_id to JSON output in save_as_json function\n\n* Add comprehensive unit tests for VibeVoice ASR model\n\n* format\n\n* update gitignore",
          "is_bot": false,
          "headline": "Add Vibevoice ASR (#389)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-24T07:49:13Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "166332095a0e3f4774e53075f80456f34f36064a",
          "body": "* Fix mel filters\n\n* Refactor speaker encoder to implement reflect padding",
          "is_bot": false,
          "headline": "Fix Qwen3-TTS Base Voice Cloning (#394)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-24T07:49:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "787dfd5673e88ed17eefd040b1c13555907537c4",
          "body": "* Refactor causal padding logic in CausalTransposeConv1d. Trim from the right for causal behavior instead of using left and right padding calculations.\n\n* Update package versions in uv.lock\n\n- Bump mlx-audio version from 0.3.0rc1 to 0.3.0.\n- Change mlx-lm version specifier from ==0.30.2 to >=0.30.2.\n- Update transformers version specifier from ==5.0.0rc1 to >=5.0.0rc1.",
          "is_bot": false,
          "headline": "Fix Qwen3-TTS tail artifacts (#391)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-24T07:49:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c652a6251e7bc6f0f09a9927061d2eecd83b8190",
          "body": "* Fix speaker embedding extraction in Qwen3-TTS model to ensure correct input shape for speaker IDs\n\n* bump version",
          "is_bot": false,
          "headline": "Fix speaker embedding extraction in Qwen3-TTS model  (#390)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-24T07:49:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bea96bbd032b8f071e30b33fc13313df6c67eb80",
          "body": "* Add qwen3-tts\n\n* add custom generate and fix loading logic\n\n* fix loading\n\n* fix talker\n\n* update readme\n\n* refactor\n\n* refactor naming to qwen3_tts\n\n* Add 'instruct' parameter to audio generation functions for enhanced voice customization\n\n* Update README to reflect changes in model loading from \n[…]\no 'load_model'\n\n* Add numba dependency to pyproject.toml and uv.lock for librosa compatibility\n\n* add tests\n\n* Add 'instruct' parameter to generate_audio function for improved audio generation control",
          "is_bot": false,
          "headline": "Add Qwen3-TTS (#388)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-24T07:48:56Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fcb1ffd9e3cd09d0abd2e8459f5d5f402d97c540",
          "body": "* Add output path parameter to generate_audio function\n\n- Introduced an optional output_path argument to specify the directory for saving audio files.\n- Updated documentation to include output_path in the function signature and argument parsing.\n- Implemented logic to create the output directory if it does not exist.\n\n* unpin mlx-lm and tfms\n\n* Update README to include example for saving audio to a specific directory",
          "is_bot": false,
          "headline": "Update generate output path (#385)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-24T07:48:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2a282e04ecaeadbcad3f0b3eb8e00d8e0f3564fb",
          "body": null,
          "is_bot": false,
          "headline": "add streaming decoding to snac and orpheus (#384)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-24T07:48:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "43e12d80b59d4d236eb72cb05441d4aa07aff45f",
          "body": null,
          "is_bot": false,
          "headline": "Refactor model path retrieval in get_model_path",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-24T07:48:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7c5d9a9d276fbf0fb7aefd8e8f26d85b113a5702",
          "body": "* Enhance audio file support by adding M4A/AAC decoding using ffmpeg. Update read function to utilize ffmpeg for M4A/AAC formats while maintaining miniaudio for other formats. Improve error handling for ffmpeg availability and provide installation instructions.\n\n* Enhance transcription functionality\n[…]\nracking during audio chunk processing.\n- Introduced a verbose parameter to toggle progress display in the Model class.\n\n* fix stream logs\n\n* fix stream segments\n\n* remove text printing\n\n* bump version",
          "is_bot": false,
          "headline": "Fix STT stream (#382)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-24T07:47:57Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "10b42ca4f02bda4c8f1f1446a002d9fc38cdc433",
          "body": null,
          "is_bot": false,
          "headline": "Add Pocket TTS model (#381)",
          "author_name": "Lucas Newman",
          "author_login": "lucasnewman",
          "committed_at": "2026-01-24T07:47:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8a7d41d0235aab79ecd47224c97345225aedb809",
          "body": "* replace soundfile with miniaudio + ffmpeg\n\n* bump version\n\n* fix tests",
          "is_bot": false,
          "headline": "Replace soundfile with miniaudio + ffmpeg (#379)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-24T07:47:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fd2d21d9c8a2f1a0b27c7ee68a565405a9ac4bc1",
          "body": null,
          "is_bot": false,
          "headline": "fix  lang codes kokoro (#380)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-24T07:47:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c305532338877513cb7f34868972e231b2fbea20",
          "body": null,
          "is_bot": false,
          "headline": "update lfm readme (#377)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-24T07:47:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ca1978af20347b70468d671849e3f5f9e84b26f0",
          "body": "* add lfm2-audio (tts, llm working)\n\n* Added 'normalized' parameter to the istft function to allow for window squared (COLA) normalization.\n\n* fix conformer and detokenizer\n\n* fix slide mask\n\n* Refactor audio decoding\n\n* Add sample_rate property and refactor weight loading in LFM2AudioModel\n\n* Add s\n[…]\nformat\n\n* Remove unused input projection in AudioHead class for improved performance and clarity.\n\n* Remove test script for allclose comparison\n\n* add tests\n\n* format\n\n* fix readme gen\n\n* bump version",
          "is_bot": false,
          "headline": "Add lfm2 audio (#370)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-24T07:47:33Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5c81de3fc196d3b7471c659b52db528bf6c51969",
          "body": "* Remove loguru dependency from TTS and replace logger with print statement in Kokoro model for language pipeline creation.\n\n* Remove omegaconf dependency and update configuration loading to use YAML in file utilities.\n\n* Refactor tokenizer initialization and input handling in Spark model\n\n- Remove \n[…]\nor weights to ensure MLX compatibility.\n\n* Update default Whisper model to 'whisper-tiny-asr-fp16' and 'whisper-large-v3-turbo-asr-fp16' across multiple files for improved performance and consistency.",
          "is_bot": false,
          "headline": "Refactor load (#374)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-24T07:47:25Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fa70fd8235b072882df43359c87ccc63e13a48ec",
          "body": "* Remove loguru dependency from TTS and replace logger with print statement in Kokoro model for language pipeline creation.\n\n* Remove omegaconf dependency and update configuration loading to use YAML in file utilities.\n\n* Refactor tokenizer initialization and input handling in Spark model\n\n- Remove \n[…]\nock\n\n* fix quant\n\n* Add model evaluation state in Voxtral class\n\n- Set model parameters to evaluation mode after loading weights.\n- Ensure proper handling of model evaluation for improved performance.",
          "is_bot": false,
          "headline": "Remove extra deps (#373)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-24T07:44:29Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4d94f10e49950154842518d0ad1e238f749bbb9f",
          "body": null,
          "is_bot": false,
          "headline": "Create CONTRIBUTING.md",
          "author_name": "Anthony DePasquale",
          "author_login": "DePasqualeOrg",
          "committed_at": "2026-01-24T07:37:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a8e07b4f870a5a2e9349cefdb80edaebefb0d221",
          "body": null,
          "is_bot": false,
          "headline": "Publish v0.1.8",
          "author_name": "Anthony DePasquale",
          "author_login": "DePasqualeOrg",
          "committed_at": "2026-01-08T23:28:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f7a6587f6240f8ae350754a36893a85386289625",
          "body": null,
          "is_bot": false,
          "headline": "Fix CosyVoice 3 streaming",
          "author_name": "Anthony DePasquale",
          "author_login": "DePasqualeOrg",
          "committed_at": "2026-01-08T23:28:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3281ae520f2ea684acf81c2f240490d7f6c7bf87",
          "body": "…#321)\"\n\nThis reverts commit f66335662c44581baa1c79c96fdf0baccd2ffb50.",
          "is_bot": false,
          "headline": "Revert \"feat(stt): add AlignAtt streaming transcription for Whisper (…",
          "author_name": "Anthony DePasquale",
          "author_login": "DePasqualeOrg",
          "committed_at": "2026-01-08T23:28:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a56e541c8452744a4c82dd9a2e9004dfb18d3b44",
          "body": "ignore uv.lock",
          "is_bot": false,
          "headline": "pin all deps as core (#366)",
          "author_name": "Anthony DePasquale",
          "author_login": "DePasqualeOrg",
          "committed_at": "2026-01-08T23:28:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b4d5e428e71d9520325c62782599623d0730f581",
          "body": "…s (#364)\n\n* Refactor voice loading in KokoroPipeline to support .safetensors files and check cache first\n\n* fix tests\n\n* remove debug statement\n\n* Update README.md to enhance library description and features",
          "is_bot": false,
          "headline": "Refactor voice loading in KokoroPipeline to support .safetensors file…",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-08T23:28:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "45d83bdfcfc8d8ed5bd6a81bce61d32b64b395ec",
          "body": "* revert default response format to mp3\n\n* fix tests",
          "is_bot": false,
          "headline": "revert default response format to mp3 (#356)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-08T23:28:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b248fec16c6e499d1a55d274f50b6b0146a75c84",
          "body": "* fix(generate.py): correct model_type attribute access for normalization logic\n\n* refactor(tts): streamline input preparation for voice cloning\n\n* streaming support\n\n* fix tests",
          "is_bot": false,
          "headline": "Fix model type, refactor orpheus style models (#358)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-08T23:28:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5cdafcb555934a74c47f46991e89216c36fbd201",
          "body": "* accept customizable kernel sizes for depthwise and input convolutions\n\n* add soprano\n\n* fix inference and loading\n\n* ensuring decoder weights are converted to float32\n\n* add tests\n\n* remove duplicate\n\n* remove torch decoder weights loading\n\n* formatting",
          "is_bot": false,
          "headline": "Add Soprano (#359)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-08T23:28:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9a7cfa1a81c910e8e30d39967f52f96b60193ef2",
          "body": "* refactor(SAMAudio): simplify from_pretrained method by removing dtype parameter and associated casting logic\n\n* add basic streaming\n\n* fix streaming and add write to file callback\n\n* support generator mode and improve documentation\n\n* Improve SeparationResult class to support batch and streaming\n\n\n[…]\no accept file paths.\n\n* - Updated attention mask handling in `T5TextEncoder` to align with PyTorch conventions.\n- Improved comments in `Attention` class to clarify key padding mask usage.\n\n* fix tests",
          "is_bot": false,
          "headline": "Add streaming and refactor Sam Audio API (#360)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-08T23:28:06Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "32af5567df4c322dc429d6a0fc7dc7c4954089c2",
          "body": null,
          "is_bot": false,
          "headline": "use chatterbox MTLTokenizer for multilingual. (#362)",
          "author_name": "Litmudoc",
          "author_login": "litmudoc",
          "committed_at": "2026-01-08T23:28:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "008bf4cd84dc1eb62d253fb0e67ff0a2559c0898",
          "body": "* Add MossFormer2 SE speech enhancement model\n\n- 48kHz speech enhancement\n- 30x real-time on base M4 (fp32)\n- Supports fp32, fp16, int8, int6, int4 precision\n- 55.3M parameters\n\n* Add Contributions.md\n\n* Rename from processor to model\n\n* Refactor STFT\n\n* Update fbank.py\n\n* Infer precision from confi\n[…]\npy from mossformer2_se\n- Update model.py to use dsp functions directly\n- Add torchaudio comparison tests (verified: deltas diff < 1e-7)\n\n---------\n\nCo-authored-by: Prince Canuma <prince.gdt@gmail.com>",
          "is_bot": false,
          "headline": "Add MossFormer2 SE (Speech Enhancement) (#351)",
          "author_name": "Dmitry Starkov",
          "author_login": "starkdmi",
          "committed_at": "2026-01-08T23:28:05Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9fbe47967661c32ec4211277ccc6fd9100d2519f",
          "body": "…t.toml (#355)\n\n- Changed required Python version from 3.9 to 3.10.\n- Added new dependencies: tqdm, sounddevice, soundfile, and pyloudnorm.\n- Removed sounddevice, soundfile, tqdm, and mistral-common[audio] from the TTS dependencies section.\n- Updated optional STT dependencies to include mistral-common[audio].",
          "is_bot": false,
          "headline": "chore: update Python version requirement and dependencies in pyprojec…",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-08T23:28:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "48a94b08daecb6dc8af644ad1171d505419fd5a0",
          "body": "* Allow using DACVAE as a codec independent of SAM Audio model.\n\n* Fix tests.\n\n---------\n\nCo-authored-by: Prince Canuma <prince.gdt@gmail.com>",
          "is_bot": false,
          "headline": "Allow using DACVAE as a codec independent of SAM Audio model (#357)",
          "author_name": "Lucas Newman",
          "author_login": "lucasnewman",
          "committed_at": "2026-01-08T23:28:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d09390cd4881f45febc28575be4ae0b09be497b3",
          "body": null,
          "is_bot": false,
          "headline": "fix stft args (#354)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-08T23:28:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f9056dac5f565d9620b75a5366a20b4abc278304",
          "body": "Implements low-latency streaming transcription using the AlignAtt algorithm,\nwhich monitors cross-attention weights to determine when decoded tokens are\nstable enough to emit.\n\nFeatures:\n- StreamingConfig: Configure frame_threshold, min_chunk_duration, emit_partial\n- StreamingResult: Rich result wit\n[…]\nulates mel spectrograms across chunks (up to 30s window)\nand uses cross-attention alignment heads to decide when tokens are stable.\n\nReference: https://arxiv.org/abs/2211.00895 (SimulMT with AlignAtt)",
          "is_bot": false,
          "headline": "feat(stt): add AlignAtt streaming transcription for Whisper (#321)",
          "author_name": "Aleksandr Beshkenadze",
          "author_login": "beshkenadze",
          "committed_at": "2026-01-08T23:28:05Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "afbdc39bb4eab97af8e04a403cb839e184528c1b",
          "body": null,
          "is_bot": false,
          "headline": "Remove loguru reconfiguration on Kokoro import (#348)",
          "author_name": "joshwhiton",
          "author_login": "joshwhiton",
          "committed_at": "2026-01-08T23:28:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "89e666aa747489fff9f7b680f874553b93cb26a1",
          "body": "* fix: Add missing mlx-lm dependency\n\nmlx-lm is imported throughout the codebase but not declared in\npyproject.toml, causing ModuleNotFoundError for users:\n\n- convert.py: quantize_model, dequantize_model, save_model\n- TTS models: LlamaModel, Qwen2/3Model, KVCache, stream_generate, make_sampler\n- STT\n[…]\npyproject.toml\n\n---------\n\nCo-authored-by: joshwhiton <joshwhiton@users.noreply.github.com>\nCo-authored-by: Claude Opus 4.5 <noreply@anthropic.com>\nCo-authored-by: Prince Canuma <prince.gdt@gmail.com>",
          "is_bot": false,
          "headline": "fix: Add missing mlx-lm dependency (#344)",
          "author_name": "joshwhiton",
          "author_login": "joshwhiton",
          "committed_at": "2026-01-01T08:02:28Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "81174557cdd8e88c81dd3c84f2b16a0103fdcccb",
          "body": "* update gitignore\n\n* add sam audio\n\n* move to sts\n\n* load safetensors\n\n* Add T5 model components and weight sanitization\n\n* Refactor Watermark model\n\n* add ode chunking to lower memory (50 is best) and tests\n\n* bump version\n\n* fix separate_long\n\n* update readme\n\n* fix missing chunk start\n\n* reduce test load\n\n* Validate step size in SAMAudio model and update README with detailed step size options",
          "is_bot": false,
          "headline": "Add Sam Audio (#338)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2026-01-01T08:02:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f2cf761fee7b5efcc9be1b5a1a0756ab19aab09c",
          "body": "* fix mapping\n\n* add exaggeration\n\n* fix mapping\n\n* add support for string",
          "is_bot": false,
          "headline": "Fix marvis, chatterbox and args (#342)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2025-12-29T07:36:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fbea3339dcda1ad61f75fe801444a94bff763e22",
          "body": null,
          "is_bot": false,
          "headline": "Add maya1 fixes to Llama (#340)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2025-12-29T07:36:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8d008159d6402b8b84666a0ef3c3bbdf4dfc3234",
          "body": "* refactor glmasr\n\n* Refactor rope and audio embedding handling\n\n* add rope traditional\n\n* Add STTOutput dataclass to base model and refactor glmasr and voxtral to use it\n\n* revert save order\n\n* add  better logging for LM style ASR\n\n* fix tests",
          "is_bot": false,
          "headline": "Refactor GLMASR and improve LM style ASR logging (#332)",
          "author_name": "Prince Canuma",
          "author_login": null,
          "committed_at": "2025-12-29T07:36:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "25554c27c0b64e077837514a6fd6e1d9b169643f",
          "body": null,
          "is_bot": false,
          "headline": "Improve publish script",
          "author_name": "Anthony DePasquale",
          "author_login": "DePasqualeOrg",
          "committed_at": "2025-12-22T19:24:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9d023e0d75a42cebfd1b602a56056a5f4f42bbf2",
          "body": null,
          "is_bot": false,
          "headline": "Fix pyproject.toml",
          "author_name": "Anthony DePasquale",
          "author_login": "DePasqualeOrg",
          "committed_at": "2025-12-22T19:24:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b5e553a5ee29c8051f3aa0ed4a6e14a0db7c105e",
          "body": null,
          "is_bot": false,
          "headline": "Publish v0.1.7",
          "author_name": "Anthony DePasquale",
          "author_login": "DePasqualeOrg",
          "committed_at": "2025-12-22T14:56:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5803d1ad3091e5dedd5f2faf05aa6ab1c34dce9f",
          "body": null,
          "is_bot": false,
          "headline": "Optimize Chatterbox Turbo",
          "author_name": "Anthony DePasquale",
          "author_login": "DePasqualeOrg",
          "committed_at": "2025-12-22T14:30:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dd5e93214c3b0524ceace7e2dbd9c58dbd5bfddf",
          "body": null,
          "is_bot": false,
          "headline": "Clean up Chatterbox Turbo",
          "author_name": "Anthony DePasquale",
          "author_login": "DePasqualeOrg",
          "committed_at": "2025-12-22T14:30:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "76c46cf74e8136c062fc490e7261a13e631c1f67",
          "body": null,
          "is_bot": false,
          "headline": "Add Chatterbox Turbo conversion script",
          "author_name": "Anthony DePasquale",
          "author_login": "DePasqualeOrg",
          "committed_at": "2025-12-22T14:30:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "16cb7d73f43ee5b90bd582da1366a8bdf0715f49",
          "body": "- Use separate conversion scripts for S3 tokenizer\n- Use default Hugging Face Hub cache",
          "is_bot": false,
          "headline": "Update conversion scripts",
          "author_name": "Anthony DePasquale",
          "author_login": "DePasqualeOrg",
          "committed_at": "2025-12-22T14:30:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 9,
      "commits_last_year": 194,
      "latest_release_at": "2026-01-08T23:31:22Z",
      "latest_release_tag": "v0.1.8",
      "releases_from_tags": false,
      "days_since_last_push": 82,
      "active_weeks_last_year": 26,
      "days_since_latest_release": 203,
      "mean_days_between_releases": 4.3
    },
    "community": {
      "has_readme": false,
      "has_license": false,
      "has_description": false,
      "has_contributing": false,
      "health_percentage": null,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "mlx-audio-plus",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "License :: OSI Approved :: MIT License",
            "Operating System :: OS Independent",
            "Programming Language :: Python :: 3"
          ],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/mlx-audio-plus/",
          "is_deprecated": false,
          "latest_version": "0.1.8",
          "repository_url": "https://github.com/DePasqualeOrg/mlx-audio-plus",
          "versions_count": 9,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": "2025-12-04T17:35:10.374289Z",
          "latest_published_at": "2026-01-08T23:23:43.707301Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 203
        }
      ]
    },
    "popularity": {
      "forks": 6,
      "stars": 44,
      "watchers": 1,
      "fork_history": {
        "days": [
          {
            "date": "2025-12-20",
            "count": 1
          },
          {
            "date": "2025-12-31",
            "count": 1
          },
          {
            "date": "2026-01-06",
            "count": 1
          },
          {
            "date": "2026-02-27",
            "count": 1
          },
          {
            "date": "2026-05-09",
            "count": 1
          },
          {
            "date": "2026-07-06",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 6,
        "total_forks": 6
      },
      "star_history": null,
      "open_issues_and_prs": 0
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [],
      "largest_source_bytes": 119408,
      "source_files_sampled": 390,
      "oversized_source_files": 3,
      "agent_instruction_files": [
        ".claude/CLAUDE.md",
        "AGENTS.md"
      ],
      "agent_instruction_max_bytes": 1892
    },
    "dependencies": {
      "manifests": [
        "pyproject.toml"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [
          {
            "name": "transformers",
            "direct": true,
            "version": "4.57.6",
            "severity": "critical",
            "ecosystem": "pypi",
            "cvss_score": 9.6,
            "advisory_ids": [
              "GHSA-29pf-2h5f-8g72",
              "GHSA-69w3-r845-3855",
              "GHSA-fgcw-684q-jj6r",
              "PYSEC-2025-217",
              "PYSEC-2026-2288",
              "PYSEC-2026-2289",
              "PYSEC-2026-2290"
            ],
            "fixed_version": "5.5.0",
            "advisory_count": 7,
            "oldest_advisory_days": 219
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "critical": 1
        },
        "advisory_count": 7,
        "affected_count": 1,
        "assessed_count": 50,
        "malicious_count": 0,
        "assessed_package": "pypi:mlx-audio-plus@0.1.8",
        "unassessed_count": 0,
        "direct_affected_count": 1
      },
      "ecosystems": [
        "pypi"
      ],
      "dependencies": [
        {
          "name": "mlx",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.25.2"
        },
        {
          "name": "numpy",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.26.4"
        },
        {
          "name": "huggingface_hub",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.27.0"
        },
        {
          "name": "transformers",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=4.49.0,<5.0.0"
        },
        {
          "name": "hf_transfer",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "mlx-lm",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.18.0,<0.30.0"
        },
        {
          "name": "tqdm",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=4.67.1"
        },
        {
          "name": "sounddevice",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.5.1"
        },
        {
          "name": "soundfile",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.13.1"
        },
        {
          "name": "pyloudnorm",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.1.1"
        },
        {
          "name": "librosa",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "==0.11.0"
        },
        {
          "name": "protobuf",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=6.33.5"
        }
      ],
      "all_dependencies": {
        "error": "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
        "source": null,
        "packages": [],
        "collected": false,
        "truncated": false,
        "total_count": null,
        "direct_count": null,
        "indirect_count": null
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 1,
        "open_issues": 0,
        "closed_ratio": 1,
        "closed_issues": 1,
        "closed_unmerged_prs": 2
      },
      "bus_factor": 2,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "Blaizzy",
          "commits": 122,
          "avatar_url": "https://avatars.githubusercontent.com/u/23445657?v=4"
        },
        {
          "type": "User",
          "login": "DePasqualeOrg",
          "commits": 69,
          "avatar_url": "https://avatars.githubusercontent.com/u/25420077?v=4"
        },
        {
          "type": "User",
          "login": "lucasnewman",
          "commits": 55,
          "avatar_url": "https://avatars.githubusercontent.com/u/30198451?v=4"
        },
        {
          "type": "User",
          "login": "ivanfioravanti",
          "commits": 8,
          "avatar_url": "https://avatars.githubusercontent.com/u/1069210?v=4"
        },
        {
          "type": "User",
          "login": "beshkenadze",
          "commits": 7,
          "avatar_url": "https://avatars.githubusercontent.com/u/167288?v=4"
        },
        {
          "type": "User",
          "login": "rudrankriyam",
          "commits": 6,
          "avatar_url": "https://avatars.githubusercontent.com/u/30552772?v=4"
        },
        {
          "type": "User",
          "login": "senstella",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/203319295?v=4"
        },
        {
          "type": "User",
          "login": "joshwhiton",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/217690071?v=4"
        },
        {
          "type": "User",
          "login": "orbitalquark",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/70453897?v=4"
        },
        {
          "type": "User",
          "login": "mnoukhov",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/3391297?v=4"
        }
      ],
      "contributors_sampled": 39,
      "top_contributor_share": 0.394
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "python-publish.yml",
        "tests.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": true
    },
    "security_signals": {
      "lockfiles": [],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 0,
            "reason": "0 out of 1 merged PRs checked by a CI test -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 0/30 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 5 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 1,
            "reason": "1 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 1",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 10,
            "reason": "0 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "4c9ec6a8489e790b5ba8964ab1f1d63150476f9f",
        "ran_at": "2026-07-31T11:17:25Z",
        "aggregate_score": 3.3,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-05-09T17:11:10Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": "2026-02-28T19:05:19Z",
      "ci_last_conclusion": null,
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/DePasqualeOrg/mlx-audio-plus",
    "host": "github.com",
    "name": "mlx-audio-plus",
    "owner": "DePasqualeOrg"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": "The weighted overall 52 is calibrated to 53 on the published index scale (record calibration 2026-08-02).",
      "notes": [
        {
          "code": "overall_calibration",
          "params": {
            "raw": 52,
            "calibrated": 53,
            "calibration": "2026-08-02"
          }
        }
      ],
      "value": 53,
      "inputs": {
        "security": 39,
        "vitality": 64,
        "community": 29,
        "governance": 63,
        "calibration": "2026-08-02",
        "engineering": 58,
        "ai_readiness": 56,
        "weighted_overall_raw": 52
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "moderate",
        "name": "Vitality",
        "value": 64,
        "weight": 0.21,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "commits_last_year": 194,
              "human_commit_share": 1,
              "days_since_last_push": 82,
              "active_weeks_last_year": 26
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 82 days ago",
                "points": 18,
                "status": "partial",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 82
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "26/52 weeks with commits",
                "points": 18,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 26
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "194 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 194
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "1 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 1",
                "points": 1,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "good",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 78,
            "inputs": {
              "releases_count": 9,
              "latest_release_tag": "v0.1.8",
              "releases_from_tags": false,
              "days_since_latest_release": 203,
              "mean_days_between_releases": 4.3
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "9 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 9
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 203 days ago",
                "points": 16.2,
                "status": "partial",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 203
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~4.3 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 4.3
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "exceptional",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 87,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 87 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 87
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "at_risk",
        "name": "Community & Adoption",
        "value": 29,
        "weight": 0.17,
        "metrics": [
          {
            "key": "popularity",
            "band": "at_risk",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 32,
            "inputs": {
              "forks": 6,
              "stars": 44,
              "watchers": 1,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "44 stars",
                "points": 26.5,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 44
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "6 forks",
                "points": 5.8,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 6
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "1 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "at_risk",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 25,
            "inputs": {
              "has_readme": false,
              "has_license": false,
              "readme_badges": null,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "readme_badge_services": [],
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 63,
        "weight": 0.23,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "moderate",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 62,
            "inputs": {
              "bus_factor": 2,
              "contributors_sampled": 39,
              "top_contributor_share": 0.394
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "2 contributor(s) cover half of all commits",
                "points": 25.2,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 39% of commits",
                "points": 13.6,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 39
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "39 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 39
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 5 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "moderate",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Newcomer PR acceptance. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "newcomer_pr_acceptance"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 60,
            "inputs": {
              "merged_prs": 1,
              "open_issues": 0,
              "closed_issues": 1,
              "prs_merged_7d": null,
              "prs_decided_7d": null,
              "prs_merged_30d": null,
              "prs_decided_30d": null,
              "issue_closed_ratio": 1,
              "closed_unmerged_prs": 2,
              "first_time_authors_30d": null,
              "first_time_prs_merged_30d": null,
              "first_time_prs_decided_30d": null
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "100% of issues closed",
                "points": 42,
                "status": "met",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 42
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "1/3 decided PRs merged",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 1,
                      "decided": 3
                    }
                  }
                ],
                "max_points": 30
              },
              {
                "key": "newcomer_pr_acceptance",
                "name": "Newcomer PR acceptance",
                "detail": "no first-time contributor's PR decided in 30d",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_newcomer_prs",
                    "params": {
                      "days": 30
                    }
                  }
                ],
                "max_points": 13
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "weak",
            "name": "Ownership & stewardship",
            "note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "verified_domain"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 44,
            "inputs": {
              "followers": 0,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "DePasqualeOrg",
              "public_repos": 189,
              "account_age_days": 3469
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "personal (user) account",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_personal",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": "not applicable to user accounts",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_applicable_to_user_accounts",
                    "params": {}
                  }
                ],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "0 followers of DePasqualeOrg",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 0,
                      "login": "DePasqualeOrg"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "189 public repos, account ~9 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 189
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 9
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 91,
            "inputs": {
              "packages": [
                "mlx-audio-plus"
              ],
              "ecosystems": "pypi",
              "any_deprecated": false,
              "min_days_since_publish": 203
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on pypi",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "pypi"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 203 days ago",
                "points": 26,
                "status": "partial",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 203
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "9 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 9
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "moderate",
        "name": "Engineering Quality",
        "value": 58,
        "weight": 0.19,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "good",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 74,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": true,
              "has_precommit_config": true
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "2 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 16,
                "status": "met",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 9.6,
                "status": "met",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "0 out of 1 merged PRs checked by a CI test -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "weak",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 35,
            "inputs": {
              "topics": [
                "ai",
                "audio",
                "machine-learning",
                "mlx",
                "python",
                "speech-to-speech",
                "speech-to-text",
                "sst",
                "sts",
                "text-to-speech",
                "tts",
                "macos"
              ],
              "has_wiki": false,
              "homepage": null,
              "has_readme": false,
              "has_docs_dir": true,
              "has_description": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "12 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 12
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "weak",
        "name": "Security",
        "value": 39,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "packaging",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 33,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 3.3
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "0 out of 1 merged PRs checked by a CI test -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 5 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "1 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 1",
                "points": 0.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "0 existing vulnerabilities detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "good",
            "name": "Dependency advisories",
            "note": "Matched the pypi:mlx-audio-plus@0.1.8 runtime dependency closure — what installing the published package pulls in — 50 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "pypi:mlx-audio-plus@0.1.8",
                  "assessed": 50
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 65,
            "inputs": {
              "source": "osv",
              "advisories": 7,
              "affected_packages": 1,
              "assessed_packages": 50,
              "unassessed_packages": 0,
              "affected_by_severity": "critical 1",
              "direct_affected_packages": 1
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "1 affected: transformers 4.57.6 (critical 9.6)",
                "points": 8.1,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 1,
                      "packages": "transformers 4.57.6 (critical 9.6)"
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "no indirect dependency carries a known advisory",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "no_indirect_advisories",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "1 advisory-carrying package(s) unaddressed past 90 days; oldest published 219 days ago",
                "points": 32.3,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_stale",
                    "params": {
                      "days": 90,
                      "count": 1,
                      "oldest": 219
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "exceptional",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 50,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "exceptional",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "commit_weight_rule": {
                "min_commits": 50,
                "min_commit_share": 0.1
              },
              "review_only_matches": 0,
              "below_threshold_exposures": [],
              "assessed_self_published_locations": 9
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "moderate",
        "name": "AI Readiness",
        "value": 56,
        "weight": 0.04,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "excellent",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.79,
              "agent_instruction_files": [
                ".claude/CLAUDE.md",
                "AGENTS.md"
              ],
              "agent_instruction_max_bytes": 1892
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": ".claude/CLAUDE.md, AGENTS.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".claude/CLAUDE.md, AGENTS.md"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "79 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 79,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "weak",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 41,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": false,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [],
              "agent_commit_share": 0.04,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 11,
                "status": "met",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "4 of the last 100 commits agent-authored or agent-credited",
                "points": 8,
                "status": "partial",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 4,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "moderate",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "primary_language": "Python",
              "largest_source_bytes": 119408,
              "source_files_sampled": 390,
              "oversized_source_files": 3
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Python without a type-check config",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_typecheck_config_language",
                    "params": {
                      "language": "Python"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "3/390 source files over 60KB",
                "points": 54.6,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 390,
                      "oversized": 3
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "weak",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "examples"
              ],
              "has_mcp_signal": false,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "examples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "examples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? Carries a deliberately small weight: agent tooling is a real maintenance signal, but its absence must never gate the top of the scale (calibration saturates at raw 91, so 100/100 remains reachable with AI Readiness at zero)."
      }
    ],
    "classification": {
      "top": [
        "library"
      ],
      "labels": [
        "library"
      ],
      "scores": {
        "library": 6
      },
      "primary": "library",
      "evidence": [
        {
          "tier": "distribution",
          "label": "library",
          "source": "registry:pypi",
          "weight": 6
        }
      ],
      "artifacts": [],
      "confidence": "medium",
      "host_extension": false,
      "runs_as_process": false,
      "consumed_by_code": true
    },
    "metrics_version": "2.5.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "Community profile unavailable",
    "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-31T11:17:42.784474Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/d/DePasqualeOrg/mlx-audio-plus.svg",
  "full_name": "DePasqualeOrg/mlx-audio-plus",
  "license_state": "standard",
  "license_spdx": "MIT"
}

Scores are signals, not warranties. They reflect publicly visible practices on GitHub — not a code audit, and not a security guarantee.

Missing data is excluded and weights renormalized, never scored as zero. Methodology is versioned and open: metrics v2.5.0, schema v0.27.0 — full methodology · metrics wiki.

How one result sits in the wider record: aggregate statisticsPyPI.