Public record
Software health reportschema 0.27.0 · metrics 1.13.0 · 2026-07-27 22:41 UTC

open-audio-stack / open-audio-stack-core

Common package shared across Open Audio Stack compatible registries, command-line tools, apps and websites for handling installing DAW VST plugin dependencies.

TypeScriptCC0-1.0★ 7 stars⑂ 1 forksince Oct 2024View on GitHub ↗

open-audio-stack/open-audio-stack-core holds a health index of 63 out of 100, placing it in the Moderate band. It scores highest on Vitality (81/100) and lowest on Community & Adoption (38/100). It was last updated 5 days ago. A single contributor accounts for most of its recent work.

63
overall / 100
Moderate

Software health index

Metrics are grouped into weighted categories on one standardized 1–100 scale. Overall starts as their weighted mean; when public evidence triggers the High-Risk Jurisdiction Policy, the rating is adjusted and receives an At risk ceiling of 49. AI Readiness sits outside the overall score.

63
Excellent85-100Exemplary; meets essentially all checked criteria
Good70-84Healthy; minor gaps
Moderate50-69Acceptable with notable gaps; review recommended
At risk30-49Significant weaknesses; adoption warrants caution
Critical1-29Severe 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.

Ownership

Open Audio StackOrganization
23 followers4 public repossince Oct 2024

This repository is backed by an organization — shared, accountable stewardship that can outlive any single maintainer.

Package ecosystems

RegistryPackageVersionDownloads / moVersionsLast publishTags
npm@open-audio-stack/core0.1.554,123786 days agoopenaudiostackpluginpackagemanager

Metrics by category

Vitality

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

81Good · 22% of overall
How it's scored
36/36Push recency — last push 5 days ago
11.8/36Commit cadence — 17/52 weeks with commits
18/18Commit volume — 103 commits in the last year
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10
Inputs used
commits_last_year103
human_commit_share0.95
days_since_last_push5
active_weeks_last_year17
How it's scored
16.2/27Ships releases — 79 version tags (no GitHub releases)
36/36Release recency — latest release 6 days ago
27/27Release cadence — a release every ~25.4 days
0/10OpenSSF Scorecard: Signed-Releases — no data
Inputs used
releases_count79
latest_release_tagv0.1.55
releases_from_tagsyes
days_since_latest_release6
mean_days_between_releases25.4
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?

38At risk · 18% of overall
How it's scored
12.6/60Stars — 7 stars
0/25Forks — 1 forks
0/15Watchers — 1 watchers
Inputs used
forks1
stars7
watchers1
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
How it's scored
22.5/22.5README
22.5/22.5License — recognized license (CC0-1.0)
0/18CONTRIBUTING guide
0/13.5Code of conduct
0/7.2Issue template
0/6.3PR template
Inputs used
has_readmeyes
has_licenseyes
has_contributingno
has_issue_templateno
has_code_of_conductno
has_pull_request_templateno
How it's scored
48.2/80Monthly downloads — 4,123 downloads/month across npm
0/20Registry dependents — not reported by this ecosystem
Inputs used
packages@open-audio-stack/core
dependents
ecosystemsnpm
total_downloads
monthly_downloads4,123
Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.

Sustainability & Governance

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

55Moderate · 24% of overall
How it's scored
9/54Bus factor — 1 contributor(s) cover half of all commits
0.1/22.5Commit distribution — top contributor authored 100% of commits
2.7/13.5Contributor breadth — 2 contributors
6/10OpenSSF Scorecard: Contributors — project has 2 contributing companies or organizations -- score normalized to 6
Inputs used
bus_factor1
contributors_sampled2
top_contributor_share0.997
How it's scored
32.7/46.8Issue resolution — 70% of issues closed
35.3/38.3PR acceptance — 48/52 decided PRs merged
0/15OpenSSF Scorecard: Code-Review — Found 1/11 approved changesets -- score normalized to 0
Inputs used
merged_prs48
open_issues6
closed_issues14
issue_closed_ratio0.7
closed_unmerged_prs4
How it's scored
30/30Ownership backing — organization-owned
0/20Verified domain
9.9/25Owner reach — 23 followers of open-audio-stack
8.7/25Track record — 4 public repos, account ~1 yr old
Inputs used
followers23
owner_typeOrganization
is_verified
owner_loginopen-audio-stack
public_repos4
account_age_days651
How it's scored
25/25Published & resolvable — 1 package(s) on npm
35/35Publish recency — latest publish 6 days ago
20/20Version history — 78 published versions
20/20Not deprecated — active, not deprecated or yanked
Inputs used
packages@open-audio-stack/core
ecosystemsnpm
any_deprecatedno
min_days_since_publish6

Engineering Quality

Are baseline engineering and documentation practices in place?

75Good · 20% of overall
How it's scored
24/24CI workflows — 2 workflow(s)
24/24Tests present
16/16Linter config — eslint.config.js
0/9.6Pre-commit hooks
0/6.4.editorconfig
18/20OpenSSF Scorecard: CI-Tests — 11 out of 12 merged PRs checked by a CI test -- score normalized to 9
Inputs used
has_ciyes
has_testsyes
has_editorconfigno
has_linter_configyes
has_precommit_configno

Documentation

65Moderate
How it's scored
30/30README
0/25Documentation directory
15/15Documentation / homepage site — https://www.npmjs.com/package/@open-audio-stack/core
10/10Repository description
10/10Topics — 3 topics
0/10Wiki
Inputs used
topicsaudio-plugin, management-system, open-source
has_wikino
homepagehttps://www.npmjs.com/package/@open-audio-stack/core
has_readmeyes
has_docs_dirno
has_descriptionyes

Security

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

66Moderate · 16% of overall
How it's scored
7.5/7.5Binary-Artifacts — no binaries found in the repo
2.2/7.5Branch-Protection — branch protection is not maximal on development and all release branches
2.2/2.5CI-Tests — 11 out of 12 merged PRs checked by a CI test -- score normalized to 9
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 1/11 approved changesets -- score normalized to 0
1.5/2.5Contributors — project has 2 contributing companies or organizations -- score normalized to 6
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5License — license file detected
7.5/7.5Maintained — 30 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — no data
2.5/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 5
4.5/5SAST — SAST tool is not run on all commits -- score normalized to 9
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
6/7.5Vulnerabilities — 2 existing vulnerabilities detected
Inputs used
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate5.8
Excluded from scoring (no data or not applicable): packaging, signed_releases. Remaining weights renormalized.
How it's scored
35/35Direct dependencies free of known advisories — no direct dependency carries a known advisory
25/25Indirect dependencies free of known advisories — no indirect dependency carries a known advisory
0/40No advisories left outstanding — no advisory carries a publication date
Inputs used
sourceosv
advisories0
affected_packages0
assessed_packages74
unassessed_packages0
affected_by_severitynone
direct_affected_packages0
Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the npm:@open-audio-stack/core@0.1.55 runtime dependency closure — what installing the published package pulls in — 74 packages. Reachability is not analyzed.

AI Readiness

How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score.

79Good · 0% of overall
How it's scored
45/45Agent instructions — AGENTS.md
0/15Machine-readable docs (llms.txt)
24.7/40Legible commit history — 44 of 95 human commits state their intent (structured subject or explanatory body)
Inputs used
has_llms_txtno
legible_history_share0.463
agent_instruction_filesAGENTS.md
agent_instruction_max_bytes2,343
How it's scored
0/18One-command bootstrap
22/22Automated tests
11/11Lint / format config — eslint.config.js
11/11Static type checking — tsconfig.json
10/10Reproducible environment — lockfile
10/10Demonstrated agent practice — 9 of the last 100 commits agent-authored or agent-credited
8/8Automated maintenance — 5 of the last 100 commits are automated dependency updates
5/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 5
Inputs used
has_nixno
has_testsyes
lockfilespackage-lock.json
has_dockerfileno
typed_languageyes
bootstrap_files
has_devcontainerno
has_linter_configyes
typecheck_configstsconfig.json
agent_commit_share0.09
toolchain_manifests
dependency_bot_commit_share0.05
How it's scored
45/45Type-checkable code — TypeScript (statically typed)
55/55Manageable file sizes — 0/65 source files over 60KB
Inputs used
primary_languageTypeScript
largest_source_bytes24,306
source_files_sampled65
oversized_source_files0

Key facts

7GitHub stars
2contributors
103commits, last 12 months
5days since last push
79releases
1bus factor
6open issues
npmpackage ecosystems

Data collection warnings

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token

More detail

OpenSSF Scorecard 5.8 / 10
5.8aggregate

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-27 22:41 UTC

10Binary-Artifactsno binaries found in the repo
3Branch-Protectionbranch protection is not maximal on development and all release branches
9CI-Tests11 out of 12 merged PRs checked by a CI test -- score normalized to 9
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 1/11 approved changesets -- score normalized to 0
6Contributorsproject has 2 contributing companies or organizations -- score normalized to 6
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10
n/aPackagingpackaging workflow not detected
5Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 5
9SASTSAST tool is not run on all commits -- score normalized to 9
0Security-Policysecurity policy file not detected
n/aSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
8Vulnerabilities2 existing vulnerabilities detected
Direct dependencies 13
RegistryPackageVersion constraintManifest
npm@vscode/sudo-prompt^9.3.1package.json
npm7zip-min^1.4.5package.json
npmadm-zip^0.6.0package.json
npmchalk^5.3.0package.json
npmfs-extra^11.2.0package.json
npmglob^11.0.0package.json
npminquirer^12.4.1package.json
npmjs-yaml^4.1.0package.json
npmmime-types^3.0.2package.json
npmsemver^7.6.3package.json
npmslugify^1.6.6package.json
npmtar^7.4.3package.json
npmzod^3.25.49package.json
All dependencies 310

Full resolved dependency set from the GitHub dependency graph: 15 direct and 295 indirect (transitive) packages. The transitive closure is complete when the repository commits a lockfile.

RegistryPackageVersionRelation
npm7zip-min1.4.5direct
npm@vscode/sudo-prompt9.3.2direct
npmadm-zip0.6.0direct
npmchalk4.1.2direct
npmchalk5.6.2direct
npmfs-extra11.3.6direct
npmglob10.5.0direct
npmglob11.1.0direct
npminquirer12.11.1direct
npmjs-yaml4.3.0direct
npmmime-types3.0.2direct
npmsemver7.8.5direct
npmslugify1.6.9direct
npmtar7.5.20direct
npmzod3.25.76direct
npm7zip-bin5.1.1indirect
npm@ampproject/remapping2.3.0indirect
npm@babel/helper-string-parser7.29.7indirect
npm@babel/helper-validator-identifier7.29.7indirect
npm@babel/parser7.29.7indirect
npm@babel/types7.29.7indirect
npm@bcoe/v8-coverage1.0.2indirect
npm@esbuild/aix-ppc640.28.1indirect
npm@esbuild/android-arm0.28.1indirect
npm@esbuild/android-arm640.28.1indirect
npm@esbuild/android-x640.28.1indirect
npm@esbuild/darwin-arm640.28.1indirect
npm@esbuild/darwin-x640.28.1indirect
npm@esbuild/freebsd-arm640.28.1indirect
npm@esbuild/freebsd-x640.28.1indirect
npm@esbuild/linux-arm0.28.1indirect
npm@esbuild/linux-arm640.28.1indirect
npm@esbuild/linux-ia320.28.1indirect
npm@esbuild/linux-loong640.28.1indirect
npm@esbuild/linux-mips64el0.28.1indirect
npm@esbuild/linux-ppc640.28.1indirect
npm@esbuild/linux-riscv640.28.1indirect
npm@esbuild/linux-s390x0.28.1indirect
npm@esbuild/linux-x640.28.1indirect
npm@esbuild/netbsd-arm640.28.1indirect
npm@esbuild/netbsd-x640.28.1indirect
npm@esbuild/openbsd-arm640.28.1indirect
npm@esbuild/openbsd-x640.28.1indirect
npm@esbuild/openharmony-arm640.28.1indirect
npm@esbuild/sunos-x640.28.1indirect
npm@esbuild/win32-arm640.28.1indirect
npm@esbuild/win32-ia320.28.1indirect
npm@esbuild/win32-x640.28.1indirect
npm@eslint-community/eslint-utils4.9.1indirect
npm@eslint-community/regexpp4.12.2indirect
npm@eslint/config-array0.21.2indirect
npm@eslint/config-helpers0.4.2indirect
npm@eslint/core0.17.0indirect
npm@eslint/eslintrc3.3.6indirect
npm@eslint/js9.39.5indirect
npm@eslint/object-schema2.1.7indirect
npm@eslint/plugin-kit0.4.1indirect
npm@humanfs/core0.19.2indirect
npm@humanfs/node0.16.8indirect
npm@humanfs/types0.15.0indirect
npm@humanwhocodes/module-importer1.0.1indirect
npm@humanwhocodes/retry0.4.3indirect
npm@inquirer/ansi1.0.2indirect
npm@inquirer/checkbox4.3.2indirect
npm@inquirer/confirm5.1.21indirect
npm@inquirer/core10.3.2indirect
npm@inquirer/editor4.2.23indirect
npm@inquirer/expand4.0.23indirect
npm@inquirer/external-editor1.0.3indirect
npm@inquirer/figures1.0.15indirect
npm@inquirer/input4.3.1indirect
npm@inquirer/number3.0.23indirect
npm@inquirer/password4.0.23indirect
npm@inquirer/prompts7.10.1indirect
npm@inquirer/rawlist4.1.11indirect
npm@inquirer/search3.2.2indirect
npm@inquirer/select4.4.2indirect
npm@inquirer/type3.0.10indirect
npm@isaacs/cliui8.0.2indirect
npm@isaacs/cliui9.0.0indirect
npm@isaacs/fs-minipass4.0.1indirect
npm@istanbuljs/schema0.1.6indirect
npm@jridgewell/gen-mapping0.3.13indirect
npm@jridgewell/resolve-uri3.1.2indirect
npm@jridgewell/sourcemap-codec1.5.5indirect
npm@jridgewell/trace-mapping0.3.31indirect
npm@pkgjs/parseargs0.11.0indirect
npm@rollup/rollup-android-arm-eabi4.62.2indirect
npm@rollup/rollup-android-arm644.62.2indirect
npm@rollup/rollup-darwin-arm644.62.2indirect
npm@rollup/rollup-darwin-x644.62.2indirect
npm@rollup/rollup-freebsd-arm644.62.2indirect
npm@rollup/rollup-freebsd-x644.62.2indirect
npm@rollup/rollup-linux-arm-gnueabihf4.62.2indirect
npm@rollup/rollup-linux-arm-musleabihf4.62.2indirect
npm@rollup/rollup-linux-arm64-gnu4.62.2indirect
npm@rollup/rollup-linux-arm64-musl4.62.2indirect
npm@rollup/rollup-linux-loong64-gnu4.62.2indirect
npm@rollup/rollup-linux-loong64-musl4.62.2indirect
npm@rollup/rollup-linux-ppc64-gnu4.62.2indirect
npm@rollup/rollup-linux-ppc64-musl4.62.2indirect
npm@rollup/rollup-linux-riscv64-gnu4.62.2indirect
npm@rollup/rollup-linux-riscv64-musl4.62.2indirect
npm@rollup/rollup-linux-s390x-gnu4.62.2indirect
npm@rollup/rollup-linux-x64-gnu4.62.2indirect
npm@rollup/rollup-linux-x64-musl4.62.2indirect
npm@rollup/rollup-openbsd-x644.62.2indirect
npm@rollup/rollup-openharmony-arm644.62.2indirect
npm@rollup/rollup-win32-arm64-msvc4.62.2indirect
npm@rollup/rollup-win32-ia32-msvc4.62.2indirect
npm@rollup/rollup-win32-x64-gnu4.62.2indirect
npm@rollup/rollup-win32-x64-msvc4.62.2indirect
npm@types/7zip-min1.3.3indirect
npm@types/adm-zip0.5.8indirect
npm@types/chai5.2.3indirect
npm@types/deep-eql4.0.2indirect
npm@types/estree1.0.9indirect
npm@types/fs-extra11.0.4indirect
npm@types/js-yaml4.0.9indirect
npm@types/json-schema7.0.15indirect
npm@types/jsonfile6.1.4indirect
npm@types/mime-types3.0.1indirect
npm@types/node22.20.1indirect
npm@types/semver7.7.1indirect
npm@typescript-eslint/eslint-plugin8.64.0indirect
npm@typescript-eslint/parser8.64.0indirect
npm@typescript-eslint/project-service8.64.0indirect
npm@typescript-eslint/scope-manager8.64.0indirect
npm@typescript-eslint/tsconfig-utils8.64.0indirect
npm@typescript-eslint/type-utils8.64.0indirect
npm@typescript-eslint/types8.64.0indirect
npm@typescript-eslint/typescript-estree8.64.0indirect
npm@typescript-eslint/utils8.64.0indirect
npm@typescript-eslint/visitor-keys8.64.0indirect
npm@vitest/coverage-v83.2.7indirect
npm@vitest/expect3.2.7indirect
npm@vitest/mocker3.2.7indirect
npm@vitest/pretty-format3.2.7indirect
npm@vitest/runner3.2.7indirect
npm@vitest/snapshot3.2.7indirect
npm@vitest/spy3.2.7indirect
npm@vitest/utils3.2.7indirect
npmacorn8.17.0indirect
npmacorn-jsx5.3.2indirect
npmajv6.15.0indirect
npmansi-regex5.0.1indirect
npmansi-regex6.2.2indirect
npmansi-styles4.3.0indirect
npmansi-styles6.2.3indirect
npmargparse2.0.1indirect
npmassertion-error2.0.1indirect
npmast-v8-to-istanbul0.3.12indirect
npmbalanced-match1.0.2indirect
npmbalanced-match4.0.4indirect
npmbrace-expansion1.1.16indirect
npmbrace-expansion2.1.2indirect
npmbrace-expansion5.0.7indirect
npmcac6.7.14indirect
npmcallsites3.1.0indirect
npmchai5.3.3indirect
npmchardet2.2.0indirect
npmcheck-error2.1.3indirect
npmchownr3.0.0indirect
npmcli-width4.1.0indirect
npmcolor-convert2.0.1indirect
npmcolor-name1.1.4indirect
npmconcat-map0.0.1indirect
npmcross-spawn7.0.6indirect
npmdebug4.4.3indirect
npmdeep-eql5.0.2indirect
npmdeep-is0.1.4indirect
npmeastasianwidth0.2.0indirect
npmemoji-regex8.0.0indirect
npmemoji-regex9.2.2indirect
npmes-module-lexer1.7.0indirect
npmesbuild0.28.1indirect
npmescape-string-regexp4.0.0indirect
npmeslint9.39.5indirect
npmeslint-scope8.4.0indirect
npmeslint-visitor-keys3.4.3indirect
npmeslint-visitor-keys4.2.1indirect
npmeslint-visitor-keys5.0.1indirect
npmespree10.4.0indirect
npmesquery1.7.0indirect
npmesrecurse4.3.0indirect
npmestraverse5.3.0indirect
npmestree-walker3.0.3indirect
npmesutils2.0.3indirect
npmexpect-type1.4.0indirect
npmfast-deep-equal3.1.3indirect
npmfast-json-stable-stringify2.1.0indirect
npmfast-levenshtein2.0.6indirect
npmfdir6.5.0indirect
npmfile-entry-cache8.0.0indirect
npmfind-up5.0.0indirect
npmflat-cache4.0.1indirect
npmflatted3.4.2indirect
npmforeground-child3.3.1indirect
npmfsevents2.3.3indirect
npmglob-parent6.0.2indirect
npmglobals14.0.0indirect
npmglobals15.15.0indirect
npmgraceful-fs4.2.11indirect
npmhas-flag4.0.0indirect
npmhtml-escaper2.0.2indirect
npmiconv-lite0.7.3indirect
npmignore5.3.2indirect
npmignore7.0.6indirect
npmimport-fresh3.3.1indirect
npmimurmurhash0.1.4indirect
npmis-extglob2.1.1indirect
npmis-fullwidth-code-point3.0.0indirect
npmis-glob4.0.3indirect
npmisexe2.0.0indirect
npmistanbul-lib-coverage3.2.2indirect
npmistanbul-lib-report3.0.1indirect
npmistanbul-lib-source-maps5.0.6indirect
npmistanbul-reports3.2.0indirect
npmjackspeak3.4.3indirect
npmjackspeak4.2.3indirect
npmjs-tokens10.0.0indirect
npmjs-tokens9.0.1indirect
npmjson-buffer3.0.1indirect
npmjson-schema-traverse0.4.1indirect
npmjson-stable-stringify-without-jsonify1.0.1indirect
npmjsonfile6.2.1indirect
npmkeyv4.5.4indirect
npmlevn0.4.1indirect
npmlocate-path6.0.0indirect
npmlodash.merge4.6.2indirect
npmloupe3.2.1indirect
npmlru-cache10.4.3indirect
npmlru-cache11.5.2indirect
npmmagic-string0.30.21indirect
npmmagicast0.3.5indirect
npmmake-dir4.0.0indirect
npmmime-db1.54.0indirect
npmminimatch10.2.5indirect
npmminimatch3.1.5indirect
npmminimatch9.0.9indirect
npmminipass7.1.3indirect
npmminizlib3.1.0indirect
npmms2.1.3indirect
npmmute-stream2.0.0indirect
npmnanoid3.3.16indirect
npmnatural-compare1.4.0indirect
npmoptionator0.9.4indirect
npmp-limit3.1.0indirect
npmp-locate5.0.0indirect
npmpackage-json-from-dist1.0.1indirect
npmparent-module1.0.1indirect
npmpath-exists4.0.0indirect
npmpath-key3.1.1indirect
npmpath-scurry1.11.1indirect
npmpath-scurry2.0.2indirect
npmpathe2.0.3indirect
npmpathval2.0.1indirect
npmpicocolors1.1.1indirect
npmpicomatch4.0.5indirect
npmpostcss8.5.19indirect
npmprelude-ls1.2.1indirect
npmprettier3.9.5indirect
npmpunycode2.3.1indirect
npmresolve-from4.0.0indirect
npmrollup4.62.2indirect
npmrun-async4.0.6indirect
npmrxjs7.8.2indirect
npmsafer-buffer2.1.2indirect
npmshebang-command2.0.0indirect
npmshebang-regex3.0.0indirect
npmsiginfo2.0.0indirect
npmsignal-exit4.1.0indirect
npmsource-map-js1.2.1indirect
npmstackback0.0.2indirect
npmstd-env3.10.0indirect
npmstring-width4.2.3indirect
npmstring-width5.1.2indirect
npmstrip-ansi6.0.1indirect
npmstrip-ansi7.2.0indirect
npmstrip-json-comments3.1.1indirect
npmstrip-literal3.1.0indirect
npmsupports-color7.2.0indirect
npmtest-exclude7.0.2indirect
npmtinybench2.9.0indirect
npmtinyexec0.3.2indirect
npmtinyglobby0.2.17indirect
npmtinypool1.1.1indirect
npmtinyrainbow2.0.0indirect
npmtinyspy4.0.4indirect
npmts-api-utils2.5.0indirect
npmtslib2.8.1indirect
npmtsx4.23.1indirect
npmtype-check0.4.0indirect
npmtypescript5.9.3indirect
npmtypescript-eslint8.64.0indirect
npmundici-types6.21.0indirect
npmuniversalify2.0.1indirect
npmuri-js4.4.1indirect
npmvite7.3.6indirect
npmvite-node3.2.4indirect
npmvitest3.2.7indirect
npmwhich2.0.2indirect
npmwhy-is-node-running2.3.0indirect
npmword-wrap1.2.5indirect
npmwrap-ansi6.2.0indirect
npmwrap-ansi7.0.0indirect
npmwrap-ansi8.1.0indirect
npmyallist5.0.0indirect
npmyocto-queue0.1.0indirect
npmyoctocolors-cjs2.1.3indirect
Dependency advisories 0

Installing npm:@open-audio-stack/core@0.1.55 pulls in 74 packages, direct and transitive: 0 carry known advisories, of which 0 are direct dependencies.

No known advisories affect the assessed dependencies.

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": [
        "audio-plugin",
        "management-system",
        "open-source"
      ],
      "is_fork": false,
      "size_kb": 615,
      "has_wiki": false,
      "homepage": "https://www.npmjs.com/package/@open-audio-stack/core",
      "languages": {
        "JavaScript": 452,
        "TypeScript": 188590
      },
      "pushed_at": "2026-07-22T00:34:53Z",
      "created_at": "2024-10-14T05:05:23Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-22T00:34:58Z",
      "description": "Common package shared across Open Audio Stack compatible registries, command-line tools, apps and websites for handling installing DAW VST plugin dependencies.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "CC0-1.0",
      "default_branch": "main",
      "license_spdx_raw": "CC0-1.0",
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript"
      ]
    },
    "owner": {
      "blog": "https://github.com/open-audio-stack",
      "name": "Open Audio Stack",
      "type": "Organization",
      "login": "open-audio-stack",
      "company": null,
      "location": null,
      "followers": 23,
      "avatar_url": "https://avatars.githubusercontent.com/u/184897286?v=4",
      "created_at": "2024-10-14T04:40:41Z",
      "is_verified": null,
      "public_repos": 4,
      "account_age_days": 651
    },
    "license": {
      "state": "standard",
      "spdx_id": "CC0-1.0",
      "raw_spdx": "CC0-1.0",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.1.55",
          "kind": "patch",
          "published_at": "2026-07-21T03:01:06Z"
        },
        {
          "tag": "v0.1.54",
          "kind": "patch",
          "published_at": "2026-07-20T06:03:53Z"
        },
        {
          "tag": "v0.1.53",
          "kind": "patch",
          "published_at": "2026-07-19T03:52:29Z"
        },
        {
          "tag": "v0.1.52",
          "kind": "patch",
          "published_at": "2026-07-16T05:40:15Z"
        },
        {
          "tag": "v0.1.50",
          "kind": "patch",
          "published_at": "2026-04-10T04:33:28Z"
        },
        {
          "tag": "v0.1.49",
          "kind": "patch",
          "published_at": "2025-12-29T15:40:44Z"
        },
        {
          "tag": "v0.1.48",
          "kind": "patch",
          "published_at": "2025-12-28T23:03:41Z"
        },
        {
          "tag": "v0.1.47",
          "kind": "patch",
          "published_at": "2025-12-18T05:06:12Z"
        },
        {
          "tag": "v0.1.46",
          "kind": "patch",
          "published_at": "2025-12-11T06:20:21Z"
        },
        {
          "tag": "v0.1.45",
          "kind": "patch",
          "published_at": "2025-12-04T06:32:20Z"
        },
        {
          "tag": "v0.1.44",
          "kind": "patch",
          "published_at": "2025-12-02T06:49:49Z"
        },
        {
          "tag": "v0.1.43",
          "kind": "patch",
          "published_at": "2025-11-28T23:19:54Z"
        },
        {
          "tag": "v0.1.42",
          "kind": "patch",
          "published_at": "2025-11-27T23:28:04Z"
        },
        {
          "tag": "v0.1.41",
          "kind": "patch",
          "published_at": "2025-11-27T05:03:58Z"
        },
        {
          "tag": "v0.1.40",
          "kind": "patch",
          "published_at": "2025-11-27T00:11:25Z"
        },
        {
          "tag": "v0.1.39",
          "kind": "patch",
          "published_at": "2025-11-26T22:29:24Z"
        },
        {
          "tag": "v0.1.38",
          "kind": "patch",
          "published_at": "2025-11-25T04:56:57Z"
        },
        {
          "tag": "v0.1.37",
          "kind": "patch",
          "published_at": "2025-08-01T05:30:29Z"
        },
        {
          "tag": "v0.1.36",
          "kind": "patch",
          "published_at": "2025-06-04T18:50:17Z"
        },
        {
          "tag": "v0.1.35",
          "kind": "patch",
          "published_at": "2025-06-03T15:25:49Z"
        },
        {
          "tag": "v0.1.34",
          "kind": "patch",
          "published_at": "2025-06-03T15:18:19Z"
        },
        {
          "tag": "v0.1.33",
          "kind": "patch",
          "published_at": "2025-06-03T13:51:15Z"
        },
        {
          "tag": "v0.1.32",
          "kind": "patch",
          "published_at": "2025-04-25T23:56:09Z"
        },
        {
          "tag": "v0.1.31",
          "kind": "patch",
          "published_at": "2025-04-20T03:26:40Z"
        },
        {
          "tag": "v0.1.30",
          "kind": "patch",
          "published_at": "2025-04-19T15:58:45Z"
        },
        {
          "tag": "v0.1.29",
          "kind": "patch",
          "published_at": "2025-04-05T04:29:45Z"
        },
        {
          "tag": "v0.1.28",
          "kind": "patch",
          "published_at": "2025-04-02T05:01:30Z"
        },
        {
          "tag": "v0.1.27",
          "kind": "patch",
          "published_at": "2025-03-29T05:13:47Z"
        },
        {
          "tag": "v0.1.26",
          "kind": "patch",
          "published_at": "2025-03-29T05:12:03Z"
        },
        {
          "tag": "v0.1.25",
          "kind": "patch",
          "published_at": "2025-03-27T05:34:38Z"
        },
        {
          "tag": "v0.1.24",
          "kind": "patch",
          "published_at": "2025-03-24T05:35:49Z"
        },
        {
          "tag": "v0.1.23",
          "kind": "patch",
          "published_at": "2025-03-23T22:23:41Z"
        },
        {
          "tag": "v0.1.22",
          "kind": "patch",
          "published_at": "2025-03-15T02:42:43Z"
        },
        {
          "tag": "v0.1.21",
          "kind": "patch",
          "published_at": "2025-03-13T02:54:25Z"
        },
        {
          "tag": "v0.1.20",
          "kind": "patch",
          "published_at": "2025-03-12T03:11:08Z"
        },
        {
          "tag": "v0.1.19",
          "kind": "patch",
          "published_at": "2025-02-20T06:35:03Z"
        },
        {
          "tag": "v0.1.18",
          "kind": "patch",
          "published_at": "2025-02-18T05:26:09Z"
        },
        {
          "tag": "v0.1.17",
          "kind": "patch",
          "published_at": "2025-02-17T05:28:08Z"
        },
        {
          "tag": "v0.1.16",
          "kind": "patch",
          "published_at": "2025-02-16T04:40:28Z"
        },
        {
          "tag": "v0.1.15",
          "kind": "patch",
          "published_at": "2025-02-16T04:28:55Z"
        },
        {
          "tag": "v0.1.14",
          "kind": "patch",
          "published_at": "2025-02-15T22:19:06Z"
        },
        {
          "tag": "v0.1.13",
          "kind": "patch",
          "published_at": "2025-02-12T04:36:37Z"
        },
        {
          "tag": "v0.1.12",
          "kind": "patch",
          "published_at": "2025-02-12T04:21:37Z"
        },
        {
          "tag": "v0.1.11",
          "kind": "patch",
          "published_at": "2025-02-12T04:10:27Z"
        },
        {
          "tag": "v0.1.10",
          "kind": "patch",
          "published_at": "2025-02-04T04:21:43Z"
        },
        {
          "tag": "v0.1.9",
          "kind": "patch",
          "published_at": "2025-02-01T06:55:42Z"
        },
        {
          "tag": "v0.1.8",
          "kind": "patch",
          "published_at": "2025-02-01T04:00:11Z"
        },
        {
          "tag": "v0.1.7",
          "kind": "patch",
          "published_at": "2025-02-01T03:51:34Z"
        },
        {
          "tag": "v0.1.6",
          "kind": "patch",
          "published_at": "2025-01-31T04:50:12Z"
        },
        {
          "tag": "v0.1.5",
          "kind": "patch",
          "published_at": "2025-01-29T05:34:21Z"
        },
        {
          "tag": "v0.1.4",
          "kind": "patch",
          "published_at": "2025-01-28T05:18:06Z"
        },
        {
          "tag": "v0.1.3",
          "kind": "patch",
          "published_at": "2025-01-28T05:09:02Z"
        },
        {
          "tag": "v0.1.2",
          "kind": "patch",
          "published_at": "2025-01-27T04:43:07Z"
        },
        {
          "tag": "v0.1.1",
          "kind": "patch",
          "published_at": "2025-01-26T23:59:33Z"
        },
        {
          "tag": "v0.1.0",
          "kind": "minor",
          "published_at": "2025-01-25T05:56:35Z"
        },
        {
          "tag": "v0.0.24",
          "kind": "patch",
          "published_at": "2024-12-20T05:39:24Z"
        },
        {
          "tag": "v0.0.23",
          "kind": "patch",
          "published_at": "2024-12-10T05:28:05Z"
        },
        {
          "tag": "v0.0.22",
          "kind": "patch",
          "published_at": "2024-12-02T04:17:01Z"
        },
        {
          "tag": "v0.0.21",
          "kind": "patch",
          "published_at": "2024-12-01T22:09:33Z"
        },
        {
          "tag": "v0.0.20",
          "kind": "patch",
          "published_at": "2024-12-01T06:31:24Z"
        },
        {
          "tag": "v0.0.19",
          "kind": "patch",
          "published_at": "2024-12-01T06:10:20Z"
        },
        {
          "tag": "v0.0.18",
          "kind": "patch",
          "published_at": "2024-11-28T00:09:01Z"
        },
        {
          "tag": "v0.0.17",
          "kind": "patch",
          "published_at": "2024-11-27T23:12:03Z"
        },
        {
          "tag": "v0.0.16",
          "kind": "patch",
          "published_at": "2024-11-19T06:22:18Z"
        },
        {
          "tag": "v0.0.15",
          "kind": "patch",
          "published_at": "2024-11-18T04:39:07Z"
        },
        {
          "tag": "v0.0.14",
          "kind": "patch",
          "published_at": "2024-11-15T05:29:06Z"
        },
        {
          "tag": "v0.0.13",
          "kind": "patch",
          "published_at": "2024-11-13T04:38:46Z"
        },
        {
          "tag": "v0.0.12",
          "kind": "patch",
          "published_at": "2024-11-13T04:33:10Z"
        },
        {
          "tag": "v0.0.11",
          "kind": "patch",
          "published_at": "2024-11-13T04:11:46Z"
        },
        {
          "tag": "v0.0.10",
          "kind": "patch",
          "published_at": "2024-11-12T06:18:55Z"
        },
        {
          "tag": "v0.0.9",
          "kind": "patch",
          "published_at": "2024-11-11T03:41:41Z"
        },
        {
          "tag": "v0.0.8",
          "kind": "patch",
          "published_at": "2024-11-10T04:10:15Z"
        },
        {
          "tag": "v0.0.7",
          "kind": "patch",
          "published_at": "2024-11-09T06:07:13Z"
        },
        {
          "tag": "v0.0.6",
          "kind": "patch",
          "published_at": "2024-11-09T04:47:38Z"
        },
        {
          "tag": "v0.0.5",
          "kind": "patch",
          "published_at": "2024-11-07T05:23:39Z"
        },
        {
          "tag": "v0.0.4",
          "kind": "patch",
          "published_at": "2024-10-31T04:59:51Z"
        },
        {
          "tag": "v0.0.3",
          "kind": "patch",
          "published_at": "2024-10-30T05:21:57Z"
        },
        {
          "tag": "v0.0.2",
          "kind": "patch",
          "published_at": "2024-10-30T04:27:05Z"
        },
        {
          "tag": "v0.0.1",
          "kind": "patch",
          "published_at": "2024-10-23T05:38:43Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "85dcf263d59d1640c5ad2cc24f21abce6c055314",
          "body": "refactor: remove Node.js setup steps from release workflow and stream…",
          "is_bot": false,
          "headline": "Merge pull request #81 from open-audio-stack/feature/remove-node-version",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-22T00:34:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2a0998d354b22c8a85977d3762b08100691ef92a",
          "body": "Manager/ManagerLocal tests sync against the real registry, whose\n`downloads` field changes continuously and is only set when > 0.\nCompare fixtures against results with `downloads` omitted on both\nsides rather than asserting a point-in-time snapshot of it.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "test: exclude live download counts from fixture comparisons",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-22T00:26:44Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "584fe2d378241b907e0c35f82ba4a3f302819b99",
          "body": "…line test steps",
          "is_bot": false,
          "headline": "refactor: remove Node.js setup steps from release workflow and stream…",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-22T00:09:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7baeafd0ab08c25c4d8965332b591b866cc9fa04",
          "body": "…ds-fields\n\nfeat: add attested and downloads fields to File/Package types",
          "is_bot": false,
          "headline": "Merge pull request #80 from open-audio-stack/feature/attested-downloa…",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-21T03:01:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "405ba09af40ccae3e121b5a49b30e0530a2f669d",
          "body": null,
          "is_bot": false,
          "headline": "0.1.55",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-21T03:01:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "34c5eb259cecc5662677f164965eafacd8f64b2e",
          "body": "Supports two new registry signals discussed alongside the recent\nsecurity fixes:\n\n- `attested?: boolean` on FileInterface - whether a file has a GitHub\n  Artifact Attestation linking it back to the CI run/commit that built\n  it. Computed once at import time (registry/fetch.ts, in a follow-up\n  PR) s\n[…]\ne\nfollow-up PR for that verification.\n\nNo behavior change for existing consumers: both fields are optional\nand additive to the existing schema.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: add attested and downloads fields to File/Package types",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-21T02:53:56Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "887271e8d3d4c7ac13d6ab77a73007930dfb3358",
          "body": "…evated-install\n\nfix: eliminate command injection in elevated install/uninstall paths",
          "is_bot": false,
          "headline": "Merge pull request #79 from open-audio-stack/fix/command-injection-el…",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-20T06:04:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "35039e901c411a89bf9c05a8bae4eb9a1c3c60fa",
          "body": null,
          "is_bot": false,
          "headline": "0.1.54",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-20T06:03:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2f0271248193d6f6c48f68c7e36dbe232c521966",
          "body": "… slip)\n\narchiveExtract() had two paths with no containment check on where an\narchive entry actually lands relative to the intended extraction\ndirectory:\n\n- The zip Windows-fallback loop (used when adm-zip's own extractAllTo\n  throws ENOENT due to special characters in filenames) built\n  destination\n[…]\n\nwrite, making a genuinely malicious fixture impractical to build.\n\nVerified: build, lint, and full test suite (167/167, up from 165) all\npass.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix: reject archive entries that escape the extraction directory (zip…",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-20T06:02:05Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "35cf2f6295b93552f64aea19b2834d1cbe78f3c9",
          "body": "file.ts previously built shell command strings (via template literals)\nfor every installer format and passed them to execSync/sudo-prompt,\nwhich both invoke a shell. Since installer file paths and the elevated\nCLI's slug/version/type arguments ultimately originate from\ncommunity-submitted registry m\n[…]\nJSON key with no user\n  action required beyond running \"install all\".\n\nVerified: build, lint, and full test suite (165/165) all pass\nunchanged.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix: eliminate command injection in elevated install/uninstall paths",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-20T05:44:08Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8ea81855b10279c7c1d853ded65534a64636a63c",
          "body": "docs: clarify who Open Audio Stack is for",
          "is_bot": false,
          "headline": "Merge pull request #78 from open-audio-stack/docs/clarify-audience",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-20T04:51:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa0ca07d5facf0eec00ce6bc812fd61cb1b86b99",
          "body": "Add a \"Who is this for\" section to the README clarifying that the\nprimary audience is audio software developers integrating the library,\nand the secondary audience is their customers (musicians and producers).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs: clarify who Open Audio Stack is for",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-20T04:49:07Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "a216e36c33417fec29e83e28b64295052f2a0313",
          "body": "0.1.53",
          "is_bot": false,
          "headline": "Merge pull request #77 from open-audio-stack/feature/bump-release",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-19T03:54:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eecdb6acf76d8e38445f23df5e68f1051c754df7",
          "body": null,
          "is_bot": false,
          "headline": "0.1.53",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-19T03:52:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c2a59e2f7ae23eeb29e75a1a7f3315152f144a9a",
          "body": "…npm_and_yarn-3605eba9ff\n\nBump adm-zip from 0.5.18 to 0.6.0 in the npm_and_yarn group across 1 directory",
          "is_bot": false,
          "headline": "Merge pull request #76 from open-audio-stack/dependabot/npm_and_yarn/…",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-18T04:20:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c7634a65b8071575e229aae61caf5350f01cd927",
          "body": "Bumps the npm_and_yarn group with 1 update in the / directory: [adm-zip](https://github.com/cthackers/adm-zip).\n\n\nUpdates `adm-zip` from 0.5.18 to 0.6.0\n- [Release notes](https://github.com/cthackers/adm-zip/releases)\n- [Changelog](https://github.com/cthackers/adm-zip/blob/master/history.md)\n- [Comm\n[…]\nated-dependencies:\n- dependency-name: adm-zip\n  dependency-version: 0.6.0\n  dependency-type: direct:production\n  dependency-group: npm_and_yarn\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump adm-zip in the npm_and_yarn group across 1 directory",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-18T03:34:16Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "54819a9eb7207796037ef756a7e27132789b492c",
          "body": "…e-lts\n\nFix release workflow so npm trusted publishing actually works",
          "is_bot": false,
          "headline": "Merge pull request #75 from open-audio-stack/fix/release-workflow-nod…",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-16T05:40:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "202b5fc6568378a1250334e8961e8e6a7046a99b",
          "body": "The v0.1.52 release published its tarball successfully but then failed\nwith a 404 on the registry PUT. This repo publishes via npm's OIDC\nTrusted Publishing (permissions.id-token: write, no NPM_TOKEN secret),\nwhich requires npm CLI >=11.5.1. Node 20's bundled npm (10.8.2)\ndoesn't support it, so with\n[…]\n entirely.\n\nBump node-version to 'lts/*' so the runner is new enough to install a\ntrusted-publishing-capable npm, and restore the upgrade step.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Bump release workflow to Node LTS to support npm trusted publishing",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-16T05:34:29Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "b14d30c005043ae569a6d326b4204694a6f282e1",
          "body": "0.1.52",
          "is_bot": false,
          "headline": "Merge pull request #74 from open-audio-stack/release/0.1.52",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-16T05:19:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eb498688e73f8dc9b7dbf9c66ff3500af85c7c0f",
          "body": null,
          "is_bot": false,
          "headline": "0.1.52",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-16T05:16:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8b7397fb6fc0cb1c5705c9b5a1818c6fc34ebb4a",
          "body": "…-engine\n\nFix release workflow EBADENGINE failure",
          "is_bot": false,
          "headline": "Merge pull request #73 from open-audio-stack/fix/release-workflow-npm…",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-16T05:14:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2291f9223dbe6eae3bd7b5ab1b278dbb0b1a34ed",
          "body": "The release job pinned Node to v20 but also ran `npm install -g\nnpm@latest`, which now requires Node ^22.22.2 || ^24.15.0 || >=26.0.0.\nThat mismatch broke every release run with EBADENGINE.\n\nNode 20's bundled npm (10.8.2) is already well above what's needed for\n`npm ci`/`npm publish`, including provenance via the existing\n`id-token: write` permission (requires npm >=9.5), so the upgrade step\nserved no purpose and is removed.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Remove forced npm upgrade step from release workflow",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-16T05:04:51Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "72bc636ea1a4cd25e14c7ae8afaa053ba3e63b13",
          "body": "…ivity\n\nFix case-sensitivity bug in file-format validation",
          "is_bot": false,
          "headline": "Merge pull request #71 from open-audio-stack/fix/appimage-case-sensit…",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-16T05:02:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "59cb1b51310a234b56450b6c9698dd7e2071ecfd",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into fix/appimage-case-sensitivity",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-16T05:02:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a0e2cdb99af2dbd496d5f3eba77c7f6d392cb902",
          "body": "…-dep\n\nFix @types/node peer-dependency conflict causing ERESOLVE warning",
          "is_bot": false,
          "headline": "Merge pull request #72 from open-audio-stack/fix/types-node-vite-peer…",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-16T04:56:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3881a3800e999fe96d2afe1b1433d0209c886974",
          "body": null,
          "is_bot": false,
          "headline": "0.1.51",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-16T04:55:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7126b93dbe4f4408f990bad4022554178458454e",
          "body": "npm install warned with ERESOLVE overriding peer dependency: vite@7.3.6\n(pulled in transitively via vitest) requires @types/node \"^20.19.0 ||\n>=22.12.0\" as a peer, but the root project pinned @types/node to\n^22.7.8, which falls in the gap between those ranges.\n\nBump @types/node to ^22.15.0 so it sat\n[…]\nissue no longer reproduces with\nthe updated dependency tree), which is removed since it now fails\nthe build as an unused suppression directive.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Fix @types/node peer-dependency conflict and vite hoisting",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-16T04:53:46Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "79b673ea7ebf781623a58c2d65d89a291ca03701",
          "body": null,
          "is_bot": false,
          "headline": "Implement feature X to enhance user experience and optimize performance",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-16T04:40:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e1ac347a1cdd8bcf84d298232e4dccf56c41e015",
          "body": "pathGetExt() extracts a raw substring after the last '.' with no case\nnormalization. Since FileFormat enum values are lowercase (e.g.\nFileFormat.AppImage = \"appimage\"), a URL ending in the conventional\n\".AppImage\" casing (used by virtually all AppImage releases) produced\next = \"AppImage\", which neve\n[…]\nhanging pathGetExt() itself, since its existing test asserts raw\nsubstring behavior and no other call sites were found that need\nnormalization.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Fix case-sensitivity bug in file-format validation",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-07-16T04:36:49Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "82c41cbc81dcaa6fb35bd350ae269f6d6aa72178",
          "body": "Add link to view all added plugins",
          "is_bot": false,
          "headline": "Merge pull request #68 from RustoMCSpit/patch-3",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-06-29T20:26:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "102e4be98659978a8ca0ab6a572a1bcc272e9f33",
          "body": "Added link to view all added plugins in README.",
          "is_bot": false,
          "headline": "Add link to view all added plugins",
          "author_name": "Adam",
          "author_login": "RustoMCSpit",
          "committed_at": "2026-06-28T15:17:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3364666d74d24dbd10255a4d066419010c220146",
          "body": "Feature/changes length",
          "is_bot": false,
          "headline": "Merge pull request #66 from open-audio-stack/feature/changes-length",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-04-10T04:33:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6d064938816c5eefadacf0b1ae6b44f20c41f98a",
          "body": null,
          "is_bot": false,
          "headline": "0.1.50",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-04-10T04:33:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a24a714a457cef3640135ecc1156ce4c4120cc2c",
          "body": null,
          "is_bot": false,
          "headline": "Increase changes field max to 512 characters.",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-04-10T04:24:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "921157b8209ed35bd2a7904276fe9af541d87bbe",
          "body": null,
          "is_bot": false,
          "headline": "npm audit fixes",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-04-10T04:23:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "953f26bedc20306458964253cc59efee36ab2ee9",
          "body": "…itecture\n\nAdd arm64ec architecture support",
          "is_bot": false,
          "headline": "Merge pull request #61 from open-audio-stack/feature/add-arm64ec-arch…",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-04-09T03:37:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d63fd9574fc95f3d0d82f4ac1112abb97d78d93c",
          "body": "…npm_and_yarn-86c0509402\n\nBump @isaacs/brace-expansion from 5.0.0 to 5.0.1 in the npm_and_yarn group across 1 directory",
          "is_bot": false,
          "headline": "Merge pull request #63 from open-audio-stack/dependabot/npm_and_yarn/…",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-02-04T04:44:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cd7ada16fa6beffefd5c8aed4c31b25ad308d810",
          "body": "Bumps the npm_and_yarn group with 1 update in the / directory: @isaacs/brace-expansion.\n\n\nUpdates `@isaacs/brace-expansion` from 5.0.0 to 5.0.1\n\n---\nupdated-dependencies:\n- dependency-name: \"@isaacs/brace-expansion\"\n  dependency-version: 5.0.1\n  dependency-type: indirect\n  dependency-group: npm_and_yarn\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump @isaacs/brace-expansion",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-02-03T20:55:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b55e5a3a0f109790fd708e39f507ae57592c1d51",
          "body": "…npm_and_yarn-c2faeb1381\n\nBump tar from 7.5.4 to 7.5.7 in the npm_and_yarn group across 1 directory",
          "is_bot": false,
          "headline": "Merge pull request #62 from open-audio-stack/dependabot/npm_and_yarn/…",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-01-29T20:44:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eafe3f8c5041a30c5c0af6254305d0e85075db53",
          "body": "Bumps the npm_and_yarn group with 1 update in the / directory: [tar](https://github.com/isaacs/node-tar).\n\n\nUpdates `tar` from 7.5.4 to 7.5.7\n- [Release notes](https://github.com/isaacs/node-tar/releases)\n- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)\n- [Commits](https://gi\n[…]\n\nupdated-dependencies:\n- dependency-name: tar\n  dependency-version: 7.5.7\n  dependency-type: direct:production\n  dependency-group: npm_and_yarn\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump tar in the npm_and_yarn group across 1 directory",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-01-29T14:01:58Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5665eb460fcf52117bd3ac11e0f4f6c53cf70e39",
          "body": "…cation",
          "is_bot": false,
          "headline": "[feature] Add arm64ec architecture support and update Manager specifi…",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-01-27T06:38:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "35b9c111c059bb3b5d5eec9c8ed806541b0d3ec1",
          "body": "Feature/agent",
          "is_bot": false,
          "headline": "Merge pull request #60 from open-audio-stack/feature/agent",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-01-24T05:37:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c6d133d0f91592754625d231aaef8bc47cfdab67",
          "body": null,
          "is_bot": false,
          "headline": "Update README.md",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-01-24T05:35:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4dd9bc0b7c01ad26b9f7f6eb414183c3ecf8229b",
          "body": null,
          "is_bot": false,
          "headline": "Update README.md",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-01-24T05:34:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7cb869175e3d3fb600b14288b2840340dca2aa22",
          "body": null,
          "is_bot": false,
          "headline": "Add AGENTS.md",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-01-24T05:32:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9404e051d5dc5e6754f59d90ea89205b27034a5a",
          "body": "…npm_and_yarn-a17bed1a3b\n\nBump tar from 7.5.3 to 7.5.4 in the npm_and_yarn group across 1 directory",
          "is_bot": false,
          "headline": "Merge pull request #59 from open-audio-stack/dependabot/npm_and_yarn/…",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-01-22T01:31:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9c42751a01c4126ec5720447a626055deee7a31b",
          "body": "Bumps the npm_and_yarn group with 1 update in the / directory: [tar](https://github.com/isaacs/node-tar).\n\n\nUpdates `tar` from 7.5.3 to 7.5.4\n- [Release notes](https://github.com/isaacs/node-tar/releases)\n- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)\n- [Commits](https://gi\n[…]\n\nupdated-dependencies:\n- dependency-name: tar\n  dependency-version: 7.5.4\n  dependency-type: direct:production\n  dependency-group: npm_and_yarn\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump tar in the npm_and_yarn group across 1 directory",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-01-21T21:19:40Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "91c6be52a298ebd9cc34ed1f8b1b9d7c455bfbae",
          "body": "…npm_and_yarn-bb754c2437\n\nBump tar from 7.4.3 to 7.5.3 in the npm_and_yarn group across 1 directory",
          "is_bot": false,
          "headline": "Merge pull request #58 from open-audio-stack/dependabot/npm_and_yarn/…",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2026-01-17T16:28:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "de3e324b391bfe49b4d82f46d7da48aa2a93fa32",
          "body": "Bumps the npm_and_yarn group with 1 update in the / directory: [tar](https://github.com/isaacs/node-tar).\n\n\nUpdates `tar` from 7.4.3 to 7.5.3\n- [Release notes](https://github.com/isaacs/node-tar/releases)\n- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)\n- [Commits](https://gi\n[…]\n\nupdated-dependencies:\n- dependency-name: tar\n  dependency-version: 7.5.3\n  dependency-type: direct:production\n  dependency-group: npm_and_yarn\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump tar in the npm_and_yarn group across 1 directory",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-01-17T14:15:33Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f270dd61c565fd615f499df426f385b4dfb4e9e8",
          "body": "…t-categories\n\nRemove server-side code from Manager.listPackages() method",
          "is_bot": false,
          "headline": "Merge pull request #57 from open-audio-stack/feature/effect-instrumen…",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-29T15:44:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dd973f8511303f487272c80f212a2513f5b81afe",
          "body": null,
          "is_bot": false,
          "headline": "0.1.49",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-29T15:40:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aed2fbca315c1cd7d04f3b48a6b24dd2c16c667a",
          "body": null,
          "is_bot": false,
          "headline": "Remove server-side code from Manager.listPackages() method",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-29T15:19:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "249fbc865ca1fb88672b5b67543a4df834231702",
          "body": "…t-categories\n\nDerive plugin categories from VST3 SDK",
          "is_bot": false,
          "headline": "Merge pull request #56 from open-audio-stack/feature/effect-instrumen…",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-28T23:04:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f7b91807b40315374db3399dee6aed0453375bd2",
          "body": null,
          "is_bot": false,
          "headline": "0.1.48",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-28T23:03:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8a3f4b410724f94aa044317cdaadc58447d188c5",
          "body": null,
          "is_bot": false,
          "headline": "Derive plugin categories from VST3 SDK",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-28T22:59:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a8feca22e48f6f4e25935fa6e759ec3b85e229c4",
          "body": "Fix/install issues",
          "is_bot": false,
          "headline": "Merge pull request #55 from open-audio-stack/fix/install-issues",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-18T05:07:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "721bcd1c777659507350758d0a9439dcc1159730",
          "body": null,
          "is_bot": false,
          "headline": "0.1.47",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-18T05:06:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bf48ae19cec0982311bdbbeb3fcb33b2ba6dd716",
          "body": null,
          "is_bot": false,
          "headline": "Specification clarify registry versioning and open command",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-18T04:56:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "07aaf03b60bfc25e8db4e48a13b86946de1c9d24",
          "body": null,
          "is_bot": false,
          "headline": "Fix app install with executable permissions",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-18T04:12:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a159ec7b5fb2f903a2b0a5266540034346fa8aad",
          "body": null,
          "is_bot": false,
          "headline": "open() path should match install() path based on package type.",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-11T06:34:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f3eda318a0d7f6cbab7b5a2536ee6088398a3e02",
          "body": null,
          "is_bot": false,
          "headline": "0.1.46",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-11T06:20:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8469e15802ef98eb443234fabeb2388099d3c43c",
          "body": "…ctories",
          "is_bot": false,
          "headline": "For apps/projects/presets, move entire directory without type subdire…",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-11T06:17:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cfddc27c3705e3ed071d1c4c4b52597a430cc475",
          "body": null,
          "is_bot": false,
          "headline": "Mime type checks, Tar extensions, zips containing installers",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-10T06:40:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3543c4f365d5f34f7a1ab6a3e86f058f7284bf0a",
          "body": null,
          "is_bot": false,
          "headline": "Fixes for returning and catching errors",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-06T00:26:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "853395a3aadebc8432cecb8f8c12aa631d85649c",
          "body": "…-errors\n\n0.1.45",
          "is_bot": false,
          "headline": "Merge pull request #54 from open-audio-stack/fix/admin-nested-process…",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-04T06:33:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "81606aa28105c95a1e4395d0b2abefd25aba190a",
          "body": null,
          "is_bot": false,
          "headline": "0.1.45",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-04T06:32:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0498affa81c00b50e63c4177172288b9e6d333f5",
          "body": "…-errors\n\nReturn status from nested admin process as JSON. Fix issue with 7z ex…",
          "is_bot": false,
          "headline": "Merge pull request #53 from open-audio-stack/fix/admin-nested-process…",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-04T06:31:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ff3739fafe35dac05df2d3744e0e81ee167cf64d",
          "body": "…traction",
          "is_bot": false,
          "headline": "Return status from nested admin process as JSON. Fix issue with 7z ex…",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-04T06:29:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "307aba72326092b6b776c88d8437f4090a329993",
          "body": "Remove audit level",
          "is_bot": false,
          "headline": "Merge pull request #52 from open-audio-stack/feature/release-action",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-03T05:22:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "14b2d6ff9ecc13540e6bf38f7974ce0de7ddde23",
          "body": null,
          "is_bot": false,
          "headline": "Remove audit level",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-03T05:21:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cbff9bddd6c6c1f033c0c8e632125c439ebc2b02",
          "body": "Dedupe GitHub actions",
          "is_bot": false,
          "headline": "Merge pull request #51 from open-audio-stack/feature/release-action",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-03T05:12:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ef5bd8d0658c30ee10478beeab60d54a15e220fd",
          "body": null,
          "is_bot": false,
          "headline": "Dedupe GitHub actions",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-03T05:06:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "45610d7c387150211fae2372195eb3719bf3ba0a",
          "body": "Trusted publishing for npm packages",
          "is_bot": false,
          "headline": "Merge pull request #50 from open-audio-stack/feature/release-action",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-03T04:50:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "51e65c91ebfb1c70e1e7ecc024921268b54c870d",
          "body": null,
          "is_bot": false,
          "headline": "Trusted publishing for npm packages",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-03T04:48:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "34d3f2bddebfb03d78625f97864fc90948ff9840",
          "body": "Prefer DEB over RPM",
          "is_bot": false,
          "headline": "Merge pull request #49 from open-audio-stack/fix/package-filter-bug",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-02T06:50:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "34d231a6f7b563a6e39ec5cca1a5739c5425d252",
          "body": null,
          "is_bot": false,
          "headline": "0.1.44",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-02T06:49:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a69d69e01bdb14aca16f0076c810e79e9b306fa4",
          "body": null,
          "is_bot": false,
          "headline": "Prefer DEB over RPM",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-12-02T06:48:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8ae3f2627d0480139a9c081bd8cae77f2a666c2a",
          "body": "Feature/apps",
          "is_bot": false,
          "headline": "Merge pull request #48 from open-audio-stack/feature/apps",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-11-28T23:33:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b6937c6b7fb0be1ad4a7c4a8555c640848e64ea3",
          "body": null,
          "is_bot": false,
          "headline": "0.1.43",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-11-28T23:19:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c165b7ee607b5a2b1ae61c3f8f8b3987dc1babc5",
          "body": "…packages. Throw errors when returning.",
          "is_bot": false,
          "headline": "List compatible packages by default. Prevent installing incompatible …",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-11-28T23:18:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0df7f329097a865631753a2746ed3ac86a31b141",
          "body": null,
          "is_bot": false,
          "headline": "Apps open fixes to allow for options",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-11-28T04:13:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fa331281c6d78deda43e0a1271fe75c68ea3641b",
          "body": "Feature/apps",
          "is_bot": false,
          "headline": "Merge pull request #47 from open-audio-stack/feature/apps",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-11-27T23:29:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dc8776335d84f0df405381c1d48dcbbd0135e888",
          "body": null,
          "is_bot": false,
          "headline": "0.1.42",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-11-27T23:28:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d6c0c7807ecd1d4b8e965fa1f4eb6e1a1e02641e",
          "body": null,
          "is_bot": false,
          "headline": "Make apps executable, support MacOS .app bundles  fix bug with apps path",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-11-27T23:26:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d223f30c09062a9d72919ea66c6703acc0aed45b",
          "body": null,
          "is_bot": false,
          "headline": "0.1.41",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-11-27T05:03:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0036d489d16663b006c13a35fdc606227466bf99",
          "body": null,
          "is_bot": false,
          "headline": "Correct specification debug > log and fix bug with open command dir",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-11-27T05:02:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "903ae608472300e0dc2bd66d0b4295d322af9130",
          "body": "Initial support for Registry type apps",
          "is_bot": false,
          "headline": "Merge pull request #45 from open-audio-stack/feature/apps",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-11-27T00:15:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "633bb288e51aa03f4e9464f14978a4172342d277",
          "body": null,
          "is_bot": false,
          "headline": "0.1.40",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-11-27T00:11:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c88d3b70a897bb6640f67dc90cce139882fa1b69",
          "body": null,
          "is_bot": false,
          "headline": "Spec update",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-11-27T00:11:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "896e364d615a48cf3f96619219fd7508d33c618c",
          "body": null,
          "is_bot": false,
          "headline": "Move 'open' filed to file-level, make 'audio' field optional.",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-11-27T00:09:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6348156fa4a891f34e6c210d750217e7cc1832e2",
          "body": null,
          "is_bot": false,
          "headline": "0.1.39",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-11-26T22:29:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f577cdb7d98d1480f7af279435c195ef29379395",
          "body": null,
          "is_bot": false,
          "headline": "Initial support for Registry type apps",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-11-26T22:23:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b3c256a01f1f6ff89dd6673878db02bd09292634",
          "body": "Fix/installed status",
          "is_bot": false,
          "headline": "Merge pull request #44 from open-audio-stack/fix/installed-status",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-11-25T05:01:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "36f175e831142487cff4011af9f98e35c2eacaee",
          "body": null,
          "is_bot": false,
          "headline": "0.1.38",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-11-25T04:56:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "613afba46f171a73e3ea07b6dc8e06b53dfcf32a",
          "body": "…aiting correctly.",
          "is_bot": false,
          "headline": "Fix bug with installed status and admin child process commands not aw…",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-11-25T04:56:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fb10f0f20114ca774b07d033f02263948b2891da",
          "body": "npm audit fixes",
          "is_bot": false,
          "headline": "Merge pull request #43 from open-audio-stack/fix/npm-audit",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-11-25T00:28:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "31a8f30d407845449af5471fdc8bf2cdbed27f59",
          "body": null,
          "is_bot": false,
          "headline": "Upgrade typescript and eslint versions",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-11-25T00:26:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2400a0b9bcdb26f6d88634f5b10225dc4d7f3c02",
          "body": null,
          "is_bot": false,
          "headline": "npm audit fixes",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-11-25T00:22:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c86032f659f883f05d652187878a91e12a7ec2f3",
          "body": "…names\n\nFix/extract special filenames",
          "is_bot": false,
          "headline": "Merge pull request #42 from open-audio-stack/fix/extract-special-file…",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-10-01T03:54:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f898c0a74743b29a3566cb22721e6ed282cae6d4",
          "body": null,
          "is_bot": false,
          "headline": "Remove returns and linebreaks from filenames",
          "author_name": "Kim T",
          "author_login": "kmturley",
          "committed_at": "2025-10-01T03:46:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 79,
      "commits_last_year": 103,
      "latest_release_at": "2026-07-21T03:01:06Z",
      "latest_release_tag": "v0.1.55",
      "releases_from_tags": true,
      "days_since_last_push": 5,
      "active_weeks_last_year": 17,
      "days_since_latest_release": 6,
      "mean_days_between_releases": 25.4
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 50,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "@open-audio-stack/core",
          "exists": true,
          "license": "cc0-1.0",
          "keywords": [
            "open",
            "audio",
            "stack",
            "plugin",
            "package",
            "manager"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@open-audio-stack/core",
          "is_deprecated": false,
          "latest_version": "0.1.55",
          "repository_url": "https://github.com/open-audio-stack/open-audio-stack-core",
          "versions_count": 78,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 4123,
          "first_published_at": "2024-10-23T05:39:18.060000Z",
          "latest_published_at": "2026-07-21T03:01:40.127000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 6
        }
      ]
    },
    "popularity": {
      "forks": 1,
      "stars": 7,
      "watchers": 1,
      "fork_history": {
        "days": [
          {
            "date": "2026-04-09",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 1,
        "total_forks": 1
      },
      "star_history": null,
      "open_issues_and_prs": 6
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 24306,
      "source_files_sampled": 65,
      "oversized_source_files": 0,
      "agent_instruction_files": [
        "AGENTS.md"
      ],
      "agent_instruction_max_bytes": 2343
    },
    "dependencies": {
      "manifests": [
        "package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 74,
        "malicious_count": 0,
        "assessed_package": "npm:@open-audio-stack/core@0.1.55",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [
        {
          "name": "@vscode/sudo-prompt",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^9.3.1"
        },
        {
          "name": "7zip-min",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.4.5"
        },
        {
          "name": "adm-zip",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.6.0"
        },
        {
          "name": "chalk",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.3.0"
        },
        {
          "name": "fs-extra",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^11.2.0"
        },
        {
          "name": "glob",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^11.0.0"
        },
        {
          "name": "inquirer",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^12.4.1"
        },
        {
          "name": "js-yaml",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.1.0"
        },
        {
          "name": "mime-types",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.0.2"
        },
        {
          "name": "semver",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^7.6.3"
        },
        {
          "name": "slugify",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.6.6"
        },
        {
          "name": "tar",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^7.4.3"
        },
        {
          "name": "zod",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.25.49"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "7zip-min",
            "direct": true,
            "version": "1.4.5",
            "ecosystem": "npm"
          },
          {
            "name": "@vscode/sudo-prompt",
            "direct": true,
            "version": "9.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "adm-zip",
            "direct": true,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": true,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": true,
            "version": "5.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "fs-extra",
            "direct": true,
            "version": "11.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": true,
            "version": "10.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": true,
            "version": "11.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "inquirer",
            "direct": true,
            "version": "12.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": true,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-types",
            "direct": true,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": true,
            "version": "7.8.5",
            "ecosystem": "npm"
          },
          {
            "name": "slugify",
            "direct": true,
            "version": "1.6.9",
            "ecosystem": "npm"
          },
          {
            "name": "tar",
            "direct": true,
            "version": "7.5.20",
            "ecosystem": "npm"
          },
          {
            "name": "zod",
            "direct": true,
            "version": "3.25.76",
            "ecosystem": "npm"
          },
          {
            "name": "7zip-bin",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@ampproject/remapping",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@bcoe/v8-coverage",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/aix-ppc64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ia32",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-loong64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-mips64el",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ppc64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-riscv64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-s390x",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openharmony-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/sunos-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-ia32",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/eslint-utils",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/regexpp",
            "direct": false,
            "version": "4.12.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/config-array",
            "direct": false,
            "version": "0.21.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/config-helpers",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/core",
            "direct": false,
            "version": "0.17.0",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/eslintrc",
            "direct": false,
            "version": "3.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/js",
            "direct": false,
            "version": "9.39.5",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/object-schema",
            "direct": false,
            "version": "2.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/plugin-kit",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/core",
            "direct": false,
            "version": "0.19.2",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/node",
            "direct": false,
            "version": "0.16.8",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/types",
            "direct": false,
            "version": "0.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/module-importer",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/retry",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/ansi",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/checkbox",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/confirm",
            "direct": false,
            "version": "5.1.21",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/core",
            "direct": false,
            "version": "10.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/editor",
            "direct": false,
            "version": "4.2.23",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/expand",
            "direct": false,
            "version": "4.0.23",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/external-editor",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/figures",
            "direct": false,
            "version": "1.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/input",
            "direct": false,
            "version": "4.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/number",
            "direct": false,
            "version": "3.0.23",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/password",
            "direct": false,
            "version": "4.0.23",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/prompts",
            "direct": false,
            "version": "7.10.1",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/rawlist",
            "direct": false,
            "version": "4.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/search",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/select",
            "direct": false,
            "version": "4.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/type",
            "direct": false,
            "version": "3.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "@isaacs/cliui",
            "direct": false,
            "version": "8.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@isaacs/cliui",
            "direct": false,
            "version": "9.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@isaacs/fs-minipass",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@istanbuljs/schema",
            "direct": false,
            "version": "0.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/gen-mapping",
            "direct": false,
            "version": "0.3.13",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/resolve-uri",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.31",
            "ecosystem": "npm"
          },
          {
            "name": "@pkgjs/parseargs",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm-eabi",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm64",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-arm64",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-x64",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-arm64",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-x64",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-gnueabihf",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-musleabihf",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-gnu",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-musl",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-gnu",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-musl",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-gnu",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-musl",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-gnu",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-musl",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-s390x-gnu",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-gnu",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-musl",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openbsd-x64",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openharmony-arm64",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-arm64-msvc",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-ia32-msvc",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-gnu",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-msvc",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/7zip-min",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/adm-zip",
            "direct": false,
            "version": "0.5.8",
            "ecosystem": "npm"
          },
          {
            "name": "@types/chai",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/deep-eql",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/fs-extra",
            "direct": false,
            "version": "11.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/js-yaml",
            "direct": false,
            "version": "4.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/json-schema",
            "direct": false,
            "version": "7.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "@types/jsonfile",
            "direct": false,
            "version": "6.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mime-types",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "22.20.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/semver",
            "direct": false,
            "version": "7.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/eslint-plugin",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/parser",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/project-service",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/scope-manager",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/tsconfig-utils",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/type-utils",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/types",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/typescript-estree",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/utils",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/visitor-keys",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/coverage-v8",
            "direct": false,
            "version": "3.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/expect",
            "direct": false,
            "version": "3.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/mocker",
            "direct": false,
            "version": "3.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/pretty-format",
            "direct": false,
            "version": "3.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/runner",
            "direct": false,
            "version": "3.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/snapshot",
            "direct": false,
            "version": "3.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/spy",
            "direct": false,
            "version": "3.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/utils",
            "direct": false,
            "version": "3.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.17.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-jsx",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "6.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "6.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "assertion-error",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ast-v8-to-istanbul",
            "direct": false,
            "version": "0.3.12",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.16",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "cac",
            "direct": false,
            "version": "6.7.14",
            "ecosystem": "npm"
          },
          {
            "name": "callsites",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "chai",
            "direct": false,
            "version": "5.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "chardet",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "check-error",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "chownr",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cli-width",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "concat-map",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "deep-eql",
            "direct": false,
            "version": "5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "deep-is",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "eastasianwidth",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "9.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "es-module-lexer",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "9.39.5",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-scope",
            "direct": false,
            "version": "8.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "3.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "4.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "espree",
            "direct": false,
            "version": "10.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "esquery",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "esrecurse",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "esutils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "expect-type",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-json-stable-stringify",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-levenshtein",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "file-entry-cache",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "flat-cache",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "flatted",
            "direct": false,
            "version": "3.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "foreground-child",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "14.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "15.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "html-escaper",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "import-fresh",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "imurmurhash",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-extglob",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-glob",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-coverage",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-report",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-source-maps",
            "direct": false,
            "version": "5.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-reports",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "jackspeak",
            "direct": false,
            "version": "3.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "jackspeak",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "10.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "9.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-buffer",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-stable-stringify-without-jsonify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "jsonfile",
            "direct": false,
            "version": "6.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "keyv",
            "direct": false,
            "version": "4.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "levn",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.merge",
            "direct": false,
            "version": "4.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "loupe",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "10.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "11.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.21",
            "ecosystem": "npm"
          },
          {
            "name": "magicast",
            "direct": false,
            "version": "0.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "make-dir",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-db",
            "direct": false,
            "version": "1.54.0",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "10.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "9.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "minizlib",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "mute-stream",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.16",
            "ecosystem": "npm"
          },
          {
            "name": "natural-compare",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "optionator",
            "direct": false,
            "version": "0.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "package-json-from-dist",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parent-module",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-exists",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-scurry",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-scurry",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "pathe",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "pathval",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.19",
            "ecosystem": "npm"
          },
          {
            "name": "prelude-ls",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "prettier",
            "direct": false,
            "version": "3.9.5",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "rollup",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "run-async",
            "direct": false,
            "version": "4.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "rxjs",
            "direct": false,
            "version": "7.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-command",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-regex",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "siginfo",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "stackback",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "std-env",
            "direct": false,
            "version": "3.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-json-comments",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-literal",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "test-exclude",
            "direct": false,
            "version": "7.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "tinybench",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.17",
            "ecosystem": "npm"
          },
          {
            "name": "tinypool",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "tinyrainbow",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyspy",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "ts-api-utils",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "tsx",
            "direct": false,
            "version": "4.23.1",
            "ecosystem": "npm"
          },
          {
            "name": "type-check",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "5.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "typescript-eslint",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "6.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "universalify",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "uri-js",
            "direct": false,
            "version": "4.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "7.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "vite-node",
            "direct": false,
            "version": "3.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "3.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "why-is-node-running",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "word-wrap",
            "direct": false,
            "version": "1.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "6.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "yocto-queue",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "yoctocolors-cjs",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 310,
        "direct_count": 15,
        "indirect_count": 295
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 48,
        "open_issues": 6,
        "closed_ratio": 0.7,
        "closed_issues": 14,
        "closed_unmerged_prs": 4
      },
      "bus_factor": 1,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "kmturley",
          "commits": 318,
          "avatar_url": "https://avatars.githubusercontent.com/u/1710493?v=4"
        },
        {
          "type": "User",
          "login": "RustoMCSpit",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/134429563?v=4"
        }
      ],
      "contributors_sampled": 2,
      "top_contributor_share": 0.997
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "release.yml",
        "test.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [
        "eslint.config.js"
      ],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "package-lock.json"
      ],
      "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": 3,
            "reason": "branch protection is not maximal on development and all release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 9,
            "reason": "11 out of 12 merged PRs checked by a CI test -- score normalized to 9",
            "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 1/11 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 6,
            "reason": "project has 2 contributing companies or organizations -- score normalized to 6",
            "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": 10,
            "reason": "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": 10,
            "reason": "30 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10",
            "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": 5,
            "reason": "dependency not pinned by hash detected -- score normalized to 5",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 9,
            "reason": "SAST tool is not run on all commits -- score normalized to 9",
            "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": 8,
            "reason": "2 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "85dcf263d59d1640c5ad2cc24f21abce6c055314",
        "ran_at": "2026-07-27T22:41:28Z",
        "aggregate_score": 5.8,
        "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-07-27T11:45:05Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": "2026-07-22T00:34:53Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 27,
          "created_at": "2025-02-01T00:38:13Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 38,
          "created_at": "2025-07-03T11:10:18Z",
          "last_comment_at": "2025-07-09T04:28:59Z",
          "last_comment_author": "kmturley"
        },
        {
          "number": 39,
          "created_at": "2025-07-18T23:10:57Z",
          "last_comment_at": "2025-07-25T03:51:17Z",
          "last_comment_author": "baconpaul"
        },
        {
          "number": 40,
          "created_at": "2025-07-19T23:36:34Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 46,
          "created_at": "2025-11-26T22:45:03Z",
          "last_comment_at": "2025-11-27T04:47:22Z",
          "last_comment_author": "atsushieno"
        },
        {
          "number": 69,
          "created_at": "2026-07-08T20:50:13Z",
          "last_comment_at": "2026-07-09T00:15:35Z",
          "last_comment_author": "kmturley"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/open-audio-stack/open-audio-stack-core",
    "host": "github.com",
    "name": "open-audio-stack-core",
    "owner": "open-audio-stack"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 63,
      "inputs": {
        "security": 66,
        "vitality": 81,
        "community": 38,
        "governance": 55,
        "engineering": 75
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "good",
        "name": "Vitality",
        "value": 81,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "good",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 76,
            "inputs": {
              "commits_last_year": 103,
              "human_commit_share": 0.95,
              "days_since_last_push": 5,
              "active_weeks_last_year": 17
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 5 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "17/52 weeks with commits",
                "points": 11.8,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 17
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "103 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 103
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "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": 88,
            "inputs": {
              "releases_count": 79,
              "latest_release_tag": "v0.1.55",
              "releases_from_tags": true,
              "days_since_latest_release": 6,
              "mean_days_between_releases": 25.4
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "79 version tags (no GitHub releases)",
                "points": 16.2,
                "status": "partial",
                "details": [
                  {
                    "code": "version_tags_no_releases",
                    "params": {
                      "count": 79
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 6 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 6
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~25.4 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 25.4
                    }
                  }
                ],
                "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": "excellent",
            "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": 5,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 5 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "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": 38,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 13,
            "inputs": {
              "forks": 1,
              "stars": 7,
              "watchers": 1,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "7 stars",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 7
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "1 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "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": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (CC0-1.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "CC0-1.0"
                    }
                  }
                ],
                "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
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "moderate",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 60,
            "inputs": {
              "packages": [
                "@open-audio-stack/core"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 4123
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "4,123 downloads/month across npm",
                "points": 48.2,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 4123,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 55,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 18,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 2,
              "top_contributor_share": 0.997
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 100% of commits",
                "points": 0.1,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "2 contributors",
                "points": 2.7,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 2 contributing companies or organizations -- score normalized to 6",
                "points": 6,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "moderate",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 68,
            "inputs": {
              "merged_prs": 48,
              "open_issues": 6,
              "closed_issues": 14,
              "issue_closed_ratio": 0.7,
              "closed_unmerged_prs": 4
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "70% of issues closed",
                "points": 32.7,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 70
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "48/52 decided PRs merged",
                "points": 35.3,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 48,
                      "decided": 52
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 1/11 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "at_risk",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 49,
            "inputs": {
              "followers": 23,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "open-audio-stack",
              "public_repos": 4,
              "account_age_days": 651
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "23 followers of open-audio-stack",
                "points": 9.9,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 23,
                      "login": "open-audio-stack"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "4 public repos, account ~1 yr old",
                "points": 8.7,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 4
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 1
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "@open-audio-stack/core"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 6
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 6 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 6
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "78 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 78
                    }
                  }
                ],
                "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": "good",
        "name": "Engineering Quality",
        "value": 75,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "good",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 82,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "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": "eslint.config.js",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "eslint.config.js"
                    }
                  }
                ],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "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": "11 out of 12 merged PRs checked by a CI test -- score normalized to 9",
                "points": 18,
                "status": "partial",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 65,
            "inputs": {
              "topics": [
                "audio-plugin",
                "management-system",
                "open-source"
              ],
              "has_wiki": false,
              "homepage": "https://www.npmjs.com/package/@open-audio-stack/core",
              "has_readme": true,
              "has_docs_dir": false,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://www.npmjs.com/package/@open-audio-stack/core",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "3 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "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": "moderate",
        "name": "Security",
        "value": 66,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "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": 58,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 5.8
            },
            "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 is not maximal on development and all release branches",
                "points": 2.2,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "11 out of 12 merged PRs checked by a CI test -- score normalized to 9",
                "points": 2.2,
                "status": "partial",
                "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 1/11 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 2 contributing companies or organizations -- score normalized to 6",
                "points": 1.5,
                "status": "partial",
                "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": "update tool detected",
                "points": 7.5,
                "status": "met",
                "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": "30 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "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 5",
                "points": 2.5,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 9",
                "points": 4.5,
                "status": "partial",
                "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": "2 existing vulnerabilities detected",
                "points": 6,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "excellent",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the npm:@open-audio-stack/core@0.1.55 runtime dependency closure — what installing the published package pulls in — 74 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "npm:@open-audio-stack/core@0.1.55",
                  "assessed": 74
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 0,
              "affected_packages": 0,
              "assessed_packages": 74,
              "unassessed_packages": 0,
              "affected_by_severity": "none",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "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": "no advisory carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "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": 74,
              "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": "excellent",
            "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"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 2
            },
            "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": "good",
        "name": "AI Readiness",
        "value": 79,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "good",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 70,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.463,
              "agent_instruction_files": [
                "AGENTS.md"
              ],
              "agent_instruction_max_bytes": 2343
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "AGENTS.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "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": "44 of 95 human commits state their intent (structured subject or explanatory body)",
                "points": 24.7,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 44,
                      "sampled": 95
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "good",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 77,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "package-lock.json"
              ],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "tsconfig.json"
              ],
              "agent_commit_share": 0.09,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.05
            },
            "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": "eslint.config.js",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "eslint.config.js"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "9 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 9,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "5 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 5,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 5",
                "points": 5,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "TypeScript",
              "largest_source_bytes": 24306,
              "source_files_sampled": 65,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "TypeScript (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "TypeScript"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/65 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 65,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-27T22:41:43.215306Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/o/open-audio-stack/open-audio-stack-core.svg",
  "full_name": "open-audio-stack/open-audio-stack-core",
  "license_state": "standard",
  "license_spdx": "CC0-1.0"
}

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 v1.13.0, schema v0.27.0 — full methodology · metrics wiki.

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