Публічний реєстр
Звіт про здоров'я програмного забезпеченнясхема 0.27.0 · метрики 1.13.0 · 2026-07-27 09:22 UTC

wwood / CoverM

Read alignment statistics for metagenomics

RustGPL-3.0★ 402 зірки⑂ 37 форківз груд. 2017 р.Переглянути на GitHub ↗

wwood/CoverM має індекс здоров’я 58 зі 100, що відповідає смузі «Помірний». Найвищий показник — AI Readiness (75/100), найнижчий — Security (48/100). Останнє оновлення було 17 днів тому. Більшість нещодавньої роботи виконує один учасник.

58
загалом / 100
Помірний

Індекс здоров'я програмного забезпечення

Метрики згруповано у зважені категорії на шкалі 1–100. Загальна оцінка починається як їхнє середнє; коли публічні дані активують Політику юрисдикцій високого ризику, рейтинг коригується й отримує верхню межу 49 («Під ризиком»). Готовність до ШІ не входить до індексу.

58
Відмінний85-100Зразковий; відповідає практично всім перевіреним критеріям
Добрий70-84Здоровий; незначні прогалини
Помірний50-69Прийнятний, але з помітними прогалинами; рекомендовано перевірку
У зоні ризику30-49Суттєві слабкі місця; впровадження потребує обережності
Критичний1-29Серйозні проблеми (покинутий, єдиний мейнтейнер, без базової гігієни)
ЖиттєздатністьСпільнота тавпровадженняСталість таврядуванняІнженернаякістьБезпекаГотовність доШІ

Профіль оцінок

Кожна вісь — окрема категорія. Форма важить більше, ніж середнє: здоровий об'єкт заповнює всю фігуру, тоді як профіль із піками та провалами означає, що сила в одному вимірі маскує ризик в іншому.

Власність

Ben J WoodcroftОсобистий обліковий запис
363 підписники243 публічні репозиторіїз черв. 2008 р.Queensland University of Technology

Цей репозиторій належить особистому обліковому запису. Проєкт з єдиним власником несе більший ризик безперервності, ніж підтримуваний організацією.

Пакетні екосистеми

РеєстрПакетВерсіяЗавантажень / місВерсіїОстання публікація
crates.iocoverm0.8.0401119 днів тому

Метрики за категоріями

Життєздатність

Чи живий проєкт — чи пишеться код і чи виходять релізи?

67Помірний · 22% загального індексу
Як обчислюється оцінка
28.8/36Свіжість push — останній push 17 дн. тому
6.9/36Ритм комітів — 10/52 тижнів із комітами
15.7/18Обсяг комітів — 55 комітів за останній рік
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10
Використані вхідні дані
commits_last_year55
human_commit_share0,94
days_since_last_push17
active_weeks_last_year10
Як обчислюється оцінка
27/27Випускає релізи — опубліковано 13 релізів
36/36Свіжість релізів — останній реліз 19 дн. тому
12.6/27Ритм релізів — реліз кожні ~288,7 дн.
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Використані вхідні дані
releases_count13
latest_release_tagv0.8.0
releases_from_tagsні
days_since_latest_release19
mean_days_between_releases288,7

Спільнота та впровадження

Чи має проєкт користувачів, завантаження, увагу та влаштовані умови для контриб’юторів?

48У зоні ризику · 18% загального індексу
Як обчислюється оцінка
42.2/60Зірки — 402 зірок
13/25Форки — 37 форків
5/15Спостерігачі — 9 спостерігачів
Використані вхідні дані
forks37
stars402
watchers9
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Як обчислюється оцінка
22.5/22.5README
22.5/22.5Ліцензія — визнана ліцензія (GPL-3.0)
0/18Настанови CONTRIBUTING
0/13.5Кодекс поведінки
0/7.2Шаблон issue
0/6.3Шаблон PR
Використані вхідні дані
has_readmeтак
has_licenseтак
has_contributingні
has_issue_templateні
has_code_of_conductні
has_pull_request_templateні
Як обчислюється оцінка
21.5/80Щомісячні завантаження — 40 завантажень/місяць у crates
0/20Залежні пакети в реєстрі — ця екосистема цього не повідомляє
Використані вхідні дані
packagescoverm
dependents
ecosystemscrates
total_downloads16 928
monthly_downloads40
Виключено з оцінювання (немає даних або не застосовно): Залежні пакети в реєстрі. Залишкові ваги перенормовано.

Сталість та врядування

Чи переживе проєкт своїх людей — бас-фактор, реактивність, хто за ним стоїть і як супроводжуються пакети?

58Помірний · 24% загального індексу
Як обчислюється оцінка
9/54Бас-фактор — на 1 контриб’ютор(ів) припадає половина всіх комітів
2.5/22.5Розподіл комітів — головний контриб’ютор — автор 89% комітів
8.1/13.5Широта контриб’юторів — 6 контриб’юторів
10/10OpenSSF Scorecard: Contributors — project has 5 contributing companies or organizations
Використані вхідні дані
bus_factor1
contributors_sampled6
top_contributor_share0,887
Як обчислюється оцінка
33/46.8Вирішення issue — закрито 71% issue
17.3/38.3Прийняття PR — злито 37/82 вирішених PR
0/15OpenSSF Scorecard: Code-Review — Found 1/16 approved changesets -- score normalized to 0
Використані вхідні дані
merged_prs37
open_issues59
closed_issues142
issue_closed_ratio0,706
closed_unmerged_prs45
Як обчислюється оцінка
10/30Підтримка власника — особистий (користувацький) обліковий запис
0/20Верифікований домен — не застосовно до користувацьких облікових записів
18.4/25Охоплення власника — 363 підписників у wwood
25/25Послужний список — 243 публічних репозиторіїв, вік облікового запису ~18 р.
Використані вхідні дані
followers363
owner_typeUser
is_verified
owner_loginwwood
public_repos243
account_age_days6 603
Виключено з оцінювання (немає даних або не застосовно): Верифікований домен. Залишкові ваги перенормовано.

Супровід пакетів

100Відмінний
Як обчислюється оцінка
25/25Опубліковано й доступно — 1 пакет(ів) у crates
35/35Свіжість публікацій — остання публікація 19 дн. тому
20/20Історія версій — 11 опублікованих версій
20/20Не застарілий — активний, не deprecated і не yanked
Використані вхідні дані
packagescoverm
ecosystemscrates
any_deprecatedні
min_days_since_publish19

Інженерна якість

Чи наявні базові інженерні практики та документація?

64Помірний · 20% загального індексу
Як обчислюється оцінка
24/24Процеси CI — 2 процес(ів) CI
24/24Наявні тести
0/16Конфігурація лінтера
0/9.6Pre-commit-хуки
0/6.4.editorconfig
16/20OpenSSF Scorecard: CI-Tests — 5 out of 6 merged PRs checked by a CI test -- score normalized to 8
Використані вхідні дані
has_ciтак
has_testsтак
has_editorconfigні
has_linter_configні
has_precommit_configні

Документація

65Помірний
Як обчислюється оцінка
30/30README
25/25Каталог документації
0/15Сайт документації / домашня сторінка
10/10Опис репозиторію
0/10Теми
0/10Wiki
Використані вхідні дані
topics
has_wikiні
homepage
has_readmeтак
has_docs_dirтак
has_descriptionтак

Безпека

Чи міцні видимі практики безпеки й ланцюга постачання, без непослабленої пов’язаності з юрисдикціями високого ризику?

48У зоні ризику · 16% загального індексу

Стан безпеки

40У зоні ризику
Як обчислюється оцінка
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
2/2.5CI-Tests — 5 out of 6 merged PRs checked by a CI test -- score normalized to 8
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 1/16 approved changesets -- score normalized to 0
2.5/2.5Contributors — project has 5 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Ліцензія — license file detected
7.5/7.5Maintained — 30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — немає даних
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — Project has not signed or included provenance with any releases.
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 13 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated17
scorecard_versionv5.5.0
checks_inconclusive1
scorecard_aggregate4
Виключено з оцінювання (немає даних або не застосовно): packaging. Залишкові ваги перенормовано.
Як обчислюється оцінка
24.7/35Прямі залежності без відомих сповіщень — уражено 2: ansi_term 0.12.1 (unknown), tempdir 0.3.7 (unknown)
0/25Непрямі залежності без відомих сповіщень — транзитивний набір не відокремлюється від залежностей розробки й тестування в цьому обсязі
34.8/40Немає задавнених сповіщень — 2 пакет(ів) зі сповіщеннями без реакції понад 90 дн.; найдавніше опубліковано 3 085 дн. тому
Використані вхідні дані
sourceosv
advisories18
affected_packages13
assessed_packages255
unassessed_packages0
affected_by_severitycritical 2, low 1, unknown 10
direct_affected_packages2
Виключено з оцінювання (немає даних або не застосовно): Непрямі залежності без відомих сповіщень. Залишкові ваги перенормовано. Звірено 255 резолвлених залежностей із OSV. Цей репозиторій не публікує пакета, який резолвить індекс, тож натомість оцінено граф залежностей репозиторію. Цей граф змішує закріплені версії для розробки й тестування зі справді постачаними залежностями, тож оцінюються лише задекларовані runtime-залежності; транзитивні знахідки подаються як контекст і в оцінку не входять. Досяжність не аналізується.

Готовність до ШІ

Наскільки репозиторій оснащений для розробки та супроводу за участі ШІ-агентів? Незалежний, експериментальний бейдж — вага 0.0, тож він подається окремо і не впливає на загальний індекс здоров'я.

75Добрий · 0% загального індексу
Як обчислюється оцінка
45/45Інструкції для агентів — AGENTS.md
0/15Машиночитана документація (llms.txt)
28.4/40Читабельна історія комітів — намір зазначено у 50 з 94 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share0,532
agent_instruction_filesAGENTS.md
agent_instruction_max_bytes289
Як обчислюється оцінка
12.6/18Розгортання однією командою — Cargo.toml (домовленість інструментарію, без раннера задач)
22/22Автоматизовані тести
0/11Конфігурація лінтера / форматера
11/11Статична перевірка типів — Rust (статично типізована)
10/10Відтворюване середовище — lockfile
10/10Підтверджена практика роботи з агентами — 9 з останніх 100 комітів створено агентом або з його зазначенням
5/8Автоматизоване супроводження — автоматизацію залежностей налаштовано, але у вибірці комітів її не видно
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Використані вхідні дані
has_nixні
has_testsтак
lockfilesCargo.lock
has_dockerfileні
typed_languageтак
bootstrap_files
has_devcontainerні
has_linter_configні
typecheck_configs
agent_commit_share0,09
toolchain_manifestsCargo.toml
dependency_bot_commit_share0
Як обчислюється оцінка
45/45Типізований код — Rust (статично типізована)
44.5/55Керовані розміри файлів — 4/21 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languageRust
largest_source_bytes157 623
source_files_sampled21
oversized_source_files4

Ключові факти

402зірок GitHub
6контриб'юторів
55комітів за останні 12 місяців
17днів від останнього пушу
13релізів
1бас-фактор
59відкритих issue
crates.ioпакетних екосистем

Попередження щодо збору даних

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

Докладніше

Історія зірок і форків 0 ★ / 37 ⇿
0Зірки
37Форки
5Релізи

Коли додано кожну зірку й форк — зібрано з GitHub і згруповано за днями. Кумулятивне зростання розміщено просто над денними додаваннями, з яких воно складається, тож їх видно одне проти одного: рівномірне органічне накопичення виглядає зовсім інакше, ніж різкий короткочасний сплеск. Там, де цю різницю можна виміряти, її подано як автентичність росту.

01325383722019-122023-022026-04
Мажорні 0Мінорні 4Патчі 1

Кожна точка охоплює 6 днів.

OpenSSF Scorecard 4.0 / 10
4.0сукупно

Незалежна, не прив'язана до інструментів оцінка безпеки від відкритого проєкту OpenSSF Scorecard. Кожна перевірка винагороджує практику безпеки, а не інструмент конкретного постачальника. Перевірки, які Scorecard не зміг визначити, позначено н/д і виключено з оцінки безпеки (вони ніколи не зараховуються як нуль).Scorecard v5.5.0 · 2026-07-27 09:22 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
8CI-Tests5 out of 6 merged PRs checked by a CI test -- score normalized to 8
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 1/16 approved changesets -- score normalized to 0
10Contributorsproject has 5 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10
н/дPackagingpackaging workflow not detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities13 existing vulnerabilities detected
Прямі залежності 20
РеєстрПакетОбмеження версіїМаніфест
crates.iobio2.0.*Cargo.toml
crates.iorust-htslib0.46.*Cargo.toml
crates.ioclap4.*Cargo.toml
crates.ioclap_complete4.*Cargo.toml
crates.iolog0.4.*Cargo.toml
crates.ioenv_logger0.11.*Cargo.toml
crates.ionix0.29.*Cargo.toml
crates.iotempdir0.3.*Cargo.toml
crates.iotempfile3.*Cargo.toml
crates.ioansi_term0.12Cargo.toml
crates.iolazy_static1.4.0Cargo.toml
crates.iorand0.8.*Cargo.toml
crates.ioserde1.0Cargo.toml
crates.ioversion-compare0.2.0Cargo.toml
crates.iobird_tool_utils>=0.5.2, <0.6.0Cargo.toml
crates.iogalahCargo.toml
crates.iobird_tool_utils-man0.4.0Cargo.toml
crates.ioroff0.2.*Cargo.toml
crates.ioneedletail0.7.*Cargo.toml
crates.iocsv1.*Cargo.toml
Усі залежності 255

Повний розв'язаний набір залежностей із графа залежностей GitHub: 23 прямих і 232 непрямих (транзитивних) пакетів. Транзитивне замикання є повним, коли в репозиторії закомічено lockfile.

РеєстрПакетВерсіяЗв'язок
crates.ioansi_term0.12.1пряма
crates.iobio2.0.3пряма
crates.iobird_tool_utils0.5.2пряма
crates.iobird_tool_utils-man0.4.0пряма
crates.ioclap4.6.1пряма
crates.ioclap_complete4.6.6пряма
crates.iocsv1.4.0пряма
crates.ioenv_logger0.10.2пряма
crates.ioenv_logger0.11.11пряма
crates.iogalah0.5.2пряма
crates.iolazy_static1.5.0пряма
crates.iolog0.4.33пряма
crates.ioneedletail0.7.3пряма
crates.ionix0.29.0пряма
crates.iorand0.4.6пряма
crates.iorand0.8.6пряма
crates.ioroff0.1.0пряма
crates.ioroff0.2.2пряма
crates.iorust-htslib0.46.0пряма
crates.ioserde1.0.228пряма
crates.iotempdir0.3.7пряма
crates.iotempfile3.27.0пряма
crates.ioversion-compare0.2.1пряма
crates.ioaddr2line0.25.1непряма
crates.ioadler22.0.1непряма
crates.ioaho-corasick1.1.4непряма
crates.ioanstream1.0.0непряма
crates.ioanstyle1.0.14непряма
crates.ioanstyle-parse1.0.0непряма
crates.ioanstyle-query1.1.5непряма
crates.ioanstyle-wincon3.0.11непряма
crates.ioanyhow1.0.103непряма
crates.ioapprox0.5.1непряма
crates.ioassert_cli0.6.3непряма
crates.ioautocfg1.5.1непряма
crates.iobacktrace0.3.76непряма
crates.iobincode1.3.3непряма
crates.iobio-types1.0.4непряма
crates.iobit-set0.8.0непряма
crates.iobit-vec0.8.0непряма
crates.iobitflags1.3.2непряма
crates.iobitflags2.13.0непряма
crates.iobuffer-redux1.1.0непряма
crates.iobv0.11.1непряма
crates.iobytecount0.6.9непряма
crates.iobytemuck1.25.0непряма
crates.iobyteorder1.5.0непряма
crates.iobzip20.6.1непряма
crates.iocapnp0.14.11непряма
crates.iocargo-husky1.5.0непряма
crates.iocc1.2.65непряма
crates.iocfg-if1.0.4непряма
crates.iocfg_aliases0.2.1непряма
crates.iocheckm0.3.0непряма
crates.ioclap_builder4.6.0непряма
crates.ioclap_lex1.1.0непряма
crates.iocmake0.1.58непряма
crates.iocolorchoice1.0.5непряма
crates.iocolored1.9.4непряма
crates.ioconcurrent-queue2.5.0непряма
crates.iocrc32fast1.5.0непряма
crates.iocrossbeam-deque0.8.6непряма
crates.iocrossbeam-epoch0.9.18непряма
crates.iocrossbeam-utils0.8.21непряма
crates.iocsv-core0.1.13непряма
crates.iocustom_derive0.1.7непряма
crates.iodefmt1.1.0непряма
crates.iodefmt-macros1.1.0непряма
crates.iodefmt-parser1.0.0непряма
crates.ioderive-new0.5.9непряма
crates.ioderive-new0.6.0непряма
crates.iodifference2.0.0непряма
crates.iodisjoint0.8.0непряма
crates.iodisplaydoc0.2.6непряма
crates.ioeditdistancek1.0.2непряма
crates.ioeither1.16.0непряма
crates.ioenum-map2.7.3непряма
crates.ioenum-map-derive0.17.0непряма
crates.ioenv_filter2.0.0непряма
crates.ioenvironment0.1.1непряма
crates.ioequivalent1.0.2непряма
crates.ioerrno0.3.14непряма
crates.iofailure0.1.8непряма
crates.iofailure_derive0.1.8непряма
crates.iofastrand2.4.1непряма
crates.iofeature-probe0.1.1непряма
crates.iofinch0.6.3непряма
crates.iofind-msvc-tools0.1.9непряма
crates.iofixedbitset0.4.2непряма
crates.ioflate21.1.9непряма
crates.ioform_urlencoded1.2.2непряма
crates.iofs-utils1.1.4непряма
crates.iofuchsia-cprng0.1.1непряма
crates.iofxhash0.2.1непряма
crates.iogetrandom0.2.17непряма
crates.iogetrandom0.3.4непряма
crates.iogetrandom0.4.3непряма
crates.iogimli0.32.3непряма
crates.ioglob0.3.3непряма
crates.iohashbrown0.17.1непряма
crates.ioheck0.5.0непряма
crates.iohermit-abi0.5.2непряма
crates.iohome0.5.12непряма
crates.iohts-sys2.2.0непряма
crates.iohumantime2.3.0непряма
crates.ioicu_collections2.2.0непряма
crates.ioicu_locale_core2.2.0непряма
crates.ioicu_normalizer2.2.0непряма
crates.ioicu_normalizer_data2.2.0непряма
crates.ioicu_properties2.2.0непряма
crates.ioicu_properties_data2.2.0непряма
crates.ioicu_provider2.2.0непряма
crates.ioidna1.1.0непряма
crates.ioidna_adapter1.2.2непряма
crates.ioieee7540.2.6непряма
crates.ioindexmap2.14.0непряма
crates.iois-terminal0.4.17непряма
crates.iois_terminal_polyfill1.70.2непряма
crates.ioitertools0.13.0непряма
crates.ioitertools-num0.1.3непряма
crates.ioitoa1.0.18непряма
crates.iojiff0.2.31непряма
crates.iojiff-static0.2.31непряма
crates.iojobserver0.1.34непряма
crates.iolibbz2-rs-sys0.2.5непряма
crates.iolibc0.2.186непряма
crates.ioliblzma0.3.6непряма
crates.ioliblzma-sys0.3.13непряма
crates.iolibm0.2.16непряма
crates.iolibz-sys1.1.29непряма
crates.iolinear-map1.2.0непряма
crates.iolinux-raw-sys0.12.1непряма
crates.iolinux-raw-sys0.4.15непряма
crates.iolitemap0.8.2непряма
crates.iomatrixmultiply0.3.10непряма
crates.iomemchr2.8.2непряма
crates.iomemmap0.7.0непряма
crates.iominiz_oxide0.8.9непряма
crates.iomultimap0.10.1непряма
crates.iomurmurhash30.0.5непряма
crates.ionalgebra0.32.6непряма
crates.ionalgebra-macros0.2.2непряма
crates.iondarray0.16.1непряма
crates.ionewtype_derive0.1.6непряма
crates.ionum-complex0.4.6непряма
crates.ionum-integer0.1.46непряма
crates.ionum-rational0.4.2непряма
crates.ionum-traits0.2.19непряма
crates.ioobject0.37.3непряма
crates.ioonce_cell1.21.4непряма
crates.ioonce_cell_polyfill1.70.2непряма
crates.ioordered-float4.6.0непряма
crates.iopaste1.0.15непряма
crates.iopercent-encoding2.3.2непряма
crates.iopetgraph0.6.5непряма
crates.iopkg-config0.3.33непряма
crates.ioportable-atomic1.13.1непряма
crates.ioportable-atomic-util0.2.7непряма
crates.iopotential_utf0.1.5непряма
crates.ioppv-lite860.2.21непряма
crates.ioproc-macro-error-attr22.0.0непряма
crates.ioproc-macro-error22.0.1непряма
crates.ioproc-macro21.0.106непряма
crates.ioquick-error1.2.3непряма
crates.ioquote1.0.46непряма
crates.ior-efi5.3.0непряма
crates.ior-efi6.0.0непряма
crates.iorand_chacha0.3.1непряма
crates.iorand_core0.3.1непряма
crates.iorand_core0.4.2непряма
crates.iorand_core0.6.4непряма
crates.iorand_distr0.4.3непряма
crates.iorawpointer0.2.1непряма
crates.iorayon1.12.0непряма
crates.iorayon-core1.13.0непряма
crates.iordrand0.4.0непряма
crates.ioregex1.12.4непряма
crates.ioregex-automata0.4.14непряма
crates.ioregex-syntax0.8.11непряма
crates.ioremove_dir_all0.5.3непряма
crates.iorustc-demangle0.1.27непряма
crates.iorustc_version0.1.7непряма
crates.iorustix0.38.44непряма
crates.iorustix1.1.4непряма
crates.iorustversion1.0.22непряма
crates.ioryu1.0.23непряма
crates.iosafe_arch0.7.4непряма
crates.iosemver0.1.20непряма
crates.ioserde_core1.0.228непряма
crates.ioserde_derive1.0.228непряма
crates.ioserde_json1.0.150непряма
crates.ioshlex2.0.1непряма
crates.iosimba0.8.1непряма
crates.iosimd-adler320.3.9непряма
crates.iosmallvec1.15.2непряма
crates.iostable_deref_trait1.2.1непряма
crates.iostatrs0.17.1непряма
crates.iostrsim0.11.1непряма
crates.iostrum0.26.3непряма
crates.iostrum_macros0.26.4непряма
crates.iosyn1.0.109непряма
crates.iosyn2.0.118непряма
crates.iosynstructure0.12.6непряма
crates.iosynstructure0.13.2непряма
crates.iotermcolor1.4.1непряма
crates.iothiserror1.0.69непряма
crates.iothiserror2.0.18непряма
crates.iothiserror-impl1.0.69непряма
crates.iothiserror-impl2.0.18непряма
crates.iotinystr0.8.3непряма
crates.iotriple_accel0.4.0непряма
crates.iotypenum1.20.1непряма
crates.iounicode-ident1.0.24непряма
crates.iounicode-xid0.2.6непряма
crates.iourl2.5.8непряма
crates.ioutf8_iter1.0.4непряма
crates.ioutf8parse0.2.2непряма
crates.iovcpkg0.2.15непряма
crates.iovec_map0.8.2непряма
crates.iowasi0.11.1+wasi-snapshot-preview1непряма
crates.iowasip21.0.4+wasi-0.2.12непряма
crates.iowhich6.0.3непряма
crates.iowide0.7.33непряма
crates.iowinapi0.3.9непряма
crates.iowinapi-i686-pc-windows-gnu0.4.0непряма
crates.iowinapi-util0.1.11непряма
crates.iowinapi-x86_64-pc-windows-gnu0.4.0непряма
crates.iowindows-link0.2.1непряма
crates.iowindows-sys0.59.0непряма
crates.iowindows-sys0.61.2непряма
crates.iowindows-targets0.52.6непряма
crates.iowindows_aarch64_gnullvm0.52.6непряма
crates.iowindows_aarch64_msvc0.52.6непряма
crates.iowindows_i686_gnu0.52.6непряма
crates.iowindows_i686_gnullvm0.52.6непряма
crates.iowindows_i686_msvc0.52.6непряма
crates.iowindows_x86_64_gnu0.52.6непряма
crates.iowindows_x86_64_gnullvm0.52.6непряма
crates.iowindows_x86_64_msvc0.52.6непряма
crates.iowinsafe0.0.19непряма
crates.iowit-bindgen0.57.1непряма
crates.iowriteable0.6.3непряма
crates.ioyoke0.8.3непряма
crates.ioyoke-derive0.8.2непряма
crates.iozerocopy0.8.52непряма
crates.iozerocopy-derive0.8.52непряма
crates.iozerofrom0.1.8непряма
crates.iozerofrom-derive0.1.7непряма
crates.iozerotrie0.2.4непряма
crates.iozerovec0.11.6непряма
crates.iozerovec-derive0.11.3непряма
crates.iozmij1.0.21непряма
crates.iozstd0.13.3непряма
crates.iozstd-safe7.2.4непряма
crates.iozstd-sys2.0.16+zstd.1.5.7непряма
Сповіщення про залежності 13

Цей репозиторій не публікує пакета, який розпізнає індекс, тож оцінено його власний граф залежностей — 255 пакетів, серед яких є й піниї розробки та тестування, що ніколи не постачаються: 13 мають відомі сповіщення, з них 2 прямі.

ПакетВерсіяЗв'язокКритичністьСповіщеньВиправлено в
capnp0.14.11непрямакритична20.24.0
failure0.1.8непрямакритична4
remove_dir_all0.5.3непряманизька20.8.0
ansi_term0.12.1пряманевідома1
tempdir0.3.7пряманевідома1
bincode1.3.3непряманевідома1
crossbeam-epoch0.9.18непряманевідома10.9.20
custom_derive0.1.7непряманевідома1
difference2.0.0непряманевідома1
fxhash0.2.1непряманевідома1
memmap0.7.0непряманевідома10.7.1-0
paste1.0.15непряманевідома1
proc-macro-error22.0.1непряманевідома1

Сповіщення означає, що версія, записана в графі залежностей, потрапляє в уражений діапазон. Досяжність не аналізується, а граф містить піниї розробки й тестування — знахідка може стосуватися інструментів, а не поставленого коду.

Звіт у форматі JSON машиночитний
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 72341,
      "has_wiki": false,
      "homepage": null,
      "languages": {
        "R": 1561,
        "Rust": 772338,
        "Shell": 1485,
        "Python": 1547
      },
      "pushed_at": "2026-07-10T08:21:53Z",
      "created_at": "2017-12-23T11:43:13Z",
      "owner_type": "User",
      "updated_at": "2026-07-24T10:25:47Z",
      "description": "Read alignment statistics for metagenomics",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "GPL-3.0",
      "default_branch": "main",
      "license_spdx_raw": "GPL-3.0",
      "primary_language": "Rust",
      "significant_languages": [
        "Rust"
      ]
    },
    "owner": {
      "blog": "https://research.qut.edu.au/cmr/team/ben-woodcroft",
      "name": "Ben J Woodcroft",
      "type": "User",
      "login": "wwood",
      "company": "Queensland University of Technology",
      "location": "Brisbane, Australia",
      "followers": 363,
      "avatar_url": "https://avatars.githubusercontent.com/u/15348?v=4",
      "created_at": "2008-06-28T03:57:02Z",
      "is_verified": null,
      "public_repos": 243,
      "account_age_days": 6603
    },
    "license": {
      "state": "standard",
      "spdx_id": "GPL-3.0",
      "raw_spdx": "GPL-3.0",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.8.0",
          "kind": "minor",
          "published_at": "2026-07-08T03:37:16Z"
        },
        {
          "tag": "v0.7.0",
          "kind": "minor",
          "published_at": "2024-01-19T03:42:31Z"
        },
        {
          "tag": "v0.6.1",
          "kind": "patch",
          "published_at": "2021-02-24T21:27:38Z"
        },
        {
          "tag": "v0.6.0",
          "kind": "minor",
          "published_at": "2020-12-10T21:48:20Z"
        },
        {
          "tag": "v0.5.0",
          "kind": "minor",
          "published_at": "2020-08-31T23:33:46Z"
        },
        {
          "tag": "v0.4.0",
          "kind": "minor",
          "published_at": "2020-02-20T22:26:43Z"
        },
        {
          "tag": "v0.3.2",
          "kind": "patch",
          "published_at": "2019-12-14T06:13:30Z"
        },
        {
          "tag": "v0.3.1",
          "kind": "patch",
          "published_at": "2019-11-15T00:50:59Z"
        },
        {
          "tag": "v0.3.0",
          "kind": "minor",
          "published_at": "2019-10-11T01:26:09Z"
        },
        {
          "tag": "v0.2.0-alpha7",
          "kind": "prerelease",
          "published_at": "2019-05-28T02:31:31Z"
        },
        {
          "tag": "v0.2.0-alpha6",
          "kind": "prerelease",
          "published_at": "2019-03-24T01:25:12Z"
        },
        {
          "tag": "v0.2.0-alpha4",
          "kind": "prerelease",
          "published_at": "2019-02-09T13:33:05Z"
        },
        {
          "tag": "v0.2.0-alpha3",
          "kind": "prerelease",
          "published_at": "2019-01-06T23:11:39Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "5501168b14381040e069957fc6d919ce7fd773a7",
          "body": "fix strobealign log error",
          "is_bot": false,
          "headline": "Merge pull request #302 from wwood/strobealign-fix",
          "author_name": "Ben J Woodcroft",
          "author_login": "wwood",
          "committed_at": "2026-07-10T08:21:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6e2701c1150471bcc1b53b17927c986d2dfe1884",
          "body": null,
          "is_bot": false,
          "headline": "fix strobealign log error",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2026-07-10T02:23:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2e5e6c780ec49a1b84f51d870f320ce819a76738",
          "body": "…32gv\n\nUpdate finch to 0.6.3 and needletail to 0.7",
          "is_bot": false,
          "headline": "Merge pull request #301 from wwood/claude/finch-needletail-updates-r6…",
          "author_name": "Ben J Woodcroft",
          "author_login": "wwood",
          "committed_at": "2026-07-09T02:09:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5edb965c64d907e3f091809d95eea5d0e4aab98d",
          "body": "finch 0.6.3 requires needletail ^0.7, and needletail carries a\n`links = \"lzma\"` native library, so only one needletail major version\ncan exist in the dependency tree. Move coverm's direct needletail\ndependency from 0.5.* to 0.7.* to match.\n\ngalah is the other consumer of finch/needletail in the tree\n[…]\nnd finch 0.6.*) until a galah release with needletail\n0.7 is published.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01RgeCVEEvbQV5aZR6yST5FU",
          "is_bot": false,
          "headline": "Update finch to 0.6.3 and needletail to 0.7",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-09T01:35:01Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "2714a8e01b57ae735c112e8dbda0b4e0bdc989e8",
          "body": null,
          "is_bot": false,
          "headline": "improve changelog",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2026-07-08T04:10:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3caffdd476992753f53e504e68dce3993e538521",
          "body": null,
          "is_bot": false,
          "headline": "remove windows platform",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2026-07-08T03:22:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "528a7bbe9458988129950f3d18d38282beb8cd50",
          "body": null,
          "is_bot": false,
          "headline": "Release v0.8.0",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2026-07-08T03:08:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "08a3590151e0da49ec83c18cad3f4e381a287568",
          "body": null,
          "is_bot": false,
          "headline": "add demo to exclude",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2026-07-08T03:07:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6d5a893038dea306e291854005759af3549cfbcb",
          "body": null,
          "is_bot": false,
          "headline": "add Cargo.lock",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2026-07-08T02:56:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6821736b0e26d1bb4418840f5cdb51bb68f4adaf",
          "body": null,
          "is_bot": false,
          "headline": "change lto to true in profile.dist",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2026-07-08T02:41:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bc7a26b7f40c6790e41c22c808922dc1df97836b",
          "body": null,
          "is_bot": false,
          "headline": "setup dist and add changelog",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2026-07-08T02:31:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "30b3acdc935ee8e9c8969763df519a4ca0c82e89",
          "body": "…th minimap2.",
          "is_bot": false,
          "headline": "makedb: Improve suggested usage in print, standardise rammap usage wi…",
          "author_name": "Ben Woodcroft",
          "author_login": "wwood",
          "committed_at": "2026-07-07T08:04:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "349930937c3f3a68705e1681f52141016ecb2e9a",
          "body": "galah: Adjust for 0.5.2",
          "is_bot": false,
          "headline": "Merge pull request #299 from wwood/galah_adjust",
          "author_name": "Ben J Woodcroft",
          "author_login": "wwood",
          "committed_at": "2026-07-07T04:57:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8e624608adef31ad09ae8d1b93ab4e5538d9e326",
          "body": "… source",
          "is_bot": true,
          "headline": "Fix manually_check_args_at_runtime to accept --run-checkm2 as quality…",
          "author_name": "copilot-swe-agent[bot]",
          "author_login": "Copilot",
          "committed_at": "2026-07-07T04:47:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f9ef832d10c4ec55e8a8afc481b33a155c0a75fc",
          "body": "- Remove harmful `.value_delimiter(' ')` on --dereplication-reference-genomes\n  which would incorrectly split single space-containing paths.\n- Actually wire --dereplication-reference-genomes / -list through to\n  generate_galah_clusterer instead of always passing None, mirroring\n  galah's own referen\n[…]\ning CheckM\n  report is supplied, so makedb --run-checkm2 actually runs.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01RLvd19g5t8McWNE8nyTS5x",
          "is_bot": false,
          "headline": "galah: Address PR review comments on 0.5.2 adjustment",
          "author_name": "Ben Woodcroft",
          "author_login": "wwood",
          "committed_at": "2026-07-07T03:51:25Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "51d222523fc60dc5f1517a92f84397324b080ac7",
          "body": null,
          "is_bot": false,
          "headline": "galah: Adjust for 0.5.2",
          "author_name": "Ben Woodcroft",
          "author_login": "wwood",
          "committed_at": "2026-07-07T02:29:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2c488a391c4a610b905eeed60ac206840e94b2b7",
          "body": null,
          "is_bot": false,
          "headline": "makedb: Add further flags. Fix various docs and bugs.",
          "author_name": "Ben Woodcroft",
          "author_login": "wwood",
          "committed_at": "2026-07-07T00:14:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d1caaf974de98588b76631f6901a38acc318508e",
          "body": null,
          "is_bot": false,
          "headline": "ARCHITECTURE.md: New file.",
          "author_name": "Ben Woodcroft",
          "author_login": "wwood",
          "committed_at": "2026-07-06T03:32:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ad0f131024c862ba930bcbdc76250b86d3a44b05",
          "body": "…-ebc0a1\n\nAdd makedb mode to pre-generate mapping databases, and gff",
          "is_bot": false,
          "headline": "Merge pull request #293 from wwood/claude/per-gene-coverage-reporting…",
          "author_name": "Ben J Woodcroft",
          "author_login": "wwood",
          "committed_at": "2026-07-06T03:16:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "899a5cc35e932d1f32b2da73d576d927f4103c7f",
          "body": null,
          "is_bot": true,
          "headline": "Merge main into makedb branch",
          "author_name": "copilot-swe-agent[bot]",
          "author_login": "Copilot",
          "committed_at": "2026-07-06T02:14:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cff2fe3488430a33704d14a73d78b1e5abf1766c",
          "body": "Add minibwa as a mapper",
          "is_bot": false,
          "headline": "Merge pull request #295 from wwood/minibwa",
          "author_name": "Ben J Woodcroft",
          "author_login": "wwood",
          "committed_at": "2026-07-06T02:08:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7bd614ea7ad476c33510beb6c43cea8310c9d947",
          "body": null,
          "is_bot": true,
          "headline": "Use visible alias for rammap params option",
          "author_name": "copilot-swe-agent[bot]",
          "author_login": "Copilot",
          "committed_at": "2026-07-06T01:58:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "edc2b1f40f4dee5b4ec628b9d2ebe1ce77c2c81f",
          "body": null,
          "is_bot": true,
          "headline": "Clarify rammap single-end test comment",
          "author_name": "copilot-swe-agent[bot]",
          "author_login": "Copilot",
          "committed_at": "2026-07-06T01:56:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3bf83ab192676c7cf5740a79d3b2302a595d9815",
          "body": null,
          "is_bot": true,
          "headline": "Apply rustfmt to merged mapper branches",
          "author_name": "copilot-swe-agent[bot]",
          "author_login": "Copilot",
          "committed_at": "2026-07-06T01:53:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2ad557312120d0ca8a683207db46f100fb389aff",
          "body": null,
          "is_bot": true,
          "headline": "Merge origin/main and resolve mapper conflicts",
          "author_name": "copilot-swe-agent[bot]",
          "author_login": "Copilot",
          "committed_at": "2026-07-06T01:53:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5222aba4ab101387e8029195896a4bf4a5011cd4",
          "body": "Commit the rammap linux-64 conda package (1.1.1, build hfa8f182_0) into\nthe frozen lockfile so `pixi run --frozen` installs it in the locked CI\njob, matching how strobealign and bwa-mem2 are pinned. Package hash and\nmetadata taken from the bioconda repodata and verified against the\ndownloaded artifa\n[…]\nndency, libgcc >=14, is already satisfied by libgcc 15.1.0 in the lock.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01D4S2TfmfT9BsYgJF5VDz81",
          "is_bot": false,
          "headline": "Add rammap to pixi.lock",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-06T01:46:10Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "ab03e9ba3bd270951cbf975439d44128da155696",
          "body": "rammap's `sr` preset enables fragment mode, which pulls read pairs from a\nsingle input file (this is how rammap maps interleaved reads). For\ngenuinely single-end input (`--single`) that would incorrectly consume\nthe file as interleaved pairs and drop an odd trailing read. Pass\n`--frag no` for ReadFo\n[…]\nmode behaviour.\n\nAdd a single-end rammap smoke test covering this path.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01D4S2TfmfT9BsYgJF5VDz81",
          "is_bot": false,
          "headline": "Map single-end reads correctly with rammap",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-06T01:46:10Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8af37a01ea58576dac69b226c802317ac8be6646",
          "body": "rammap, like bwa-mem2 and strobealign, is only installed on linux-64 (it\nis not available for osx via bioconda). The macOS CI jobs already skip\nthe bwa_mem2 and strobealign tests for this reason; add rammap to that\nskip list so test_make_rammap does not fail for a missing executable.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01D4S2TfmfT9BsYgJF5VDz81",
          "is_bot": false,
          "headline": "Skip rammap tests on macOS CI",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-06T01:46:10Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "97d41cb421dc517ce82f487b8d6ce143031efab9",
          "body": "rammap (https://github.com/jwanglab/rammap) is a pure-Rust,\nminimap2-compatible read mapper available on Bioconda. Wire it in as a\nnew `--mapper rammap` choice alongside the existing mappers.\n\n- Add MappingProgram::RAMMAP and handle it in every mapping-program match\n  (command construction, index ma\n[…]\n dependency\n  list, and pixi test environment; add a `make` smoke test.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01D4S2TfmfT9BsYgJF5VDz81",
          "is_bot": false,
          "headline": "Add rammap as a mapping option",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-06T01:46:10Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "a344ba8fd47ea2a187ea5e5109e52a8d8dc85107",
          "body": null,
          "is_bot": false,
          "headline": "remove minibwa-index arg - not needed",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2026-07-01T01:49:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "060e0569f82a310ad60282747507e2d4d533ca94",
          "body": null,
          "is_bot": false,
          "headline": "add minibwa-use-index arg",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2026-07-01T01:26:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "22e8edb2d299a7a8c10b702b80b8f08040679d64",
          "body": null,
          "is_bot": false,
          "headline": "fix macos tests",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2026-07-01T00:56:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cc8d8a3c8e8f1b7795005530bd01de14990d241b",
          "body": null,
          "is_bot": false,
          "headline": "remove dashing again",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2026-07-01T00:56:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2d21de1771c6fe7e58f2af9106bf07aa5a551d28",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into minibwa",
          "author_name": "Samuel Aroney",
          "author_login": "AroneyS",
          "committed_at": "2026-07-01T00:49:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "feec618cdf0fb8b8fab73c236c5429d2debf6ba8",
          "body": "Update strobealign index to format version 5 for strobealign 0.17.0",
          "is_bot": false,
          "headline": "Merge pull request #296 from wwood/claude/update-strobealign-db-7hos5n",
          "author_name": "Samuel Aroney",
          "author_login": "AroneyS",
          "committed_at": "2026-07-01T00:47:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fab6c51d598a393b54def3c6e9e0ffa3295ee11a",
          "body": "Instead of storing a version-specific strobealign index in git (which\nbreaks whenever strobealign is upgraded to a format that's incompatible\nwith the stored file), generate the index at runtime before the test\nruns. This way the index always matches the currently-installed\nstrobealign version.\n\nAls\n[…]\npendency conflict with\ndashing 0.4.0 over zlib version requirements).\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01BUkWFEp9YRYAVwvVDFudGU",
          "is_bot": false,
          "headline": "Fix strobealign pregenerated index test to be version-agnostic",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-06-26T03:25:43Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "5da16a4d5f0b0abcbcc9e63cfe0b5b7797ac99fc",
          "body": "Regenerated tests/data/7seqs.fna.r100.sti using strobealign 0.17.0, which\nwrites index format version 5. The old index was version 3, incompatible\nwith strobealign >=0.17.0, causing test_strobealign_pregenerated_index to fail.\n\nAlso bumped the minimum strobealign version in pixi.toml to >=0.17.0 to\nmatch the index format.\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01BUkWFEp9YRYAVwvVDFudGU",
          "is_bot": false,
          "headline": "Update strobealign index to format version 5 for strobealign 0.17.0",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-06-26T03:05:55Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "b6b6d29b33e0e3739ae277e7ac9c11f21bcf13bf",
          "body": "Integrate minibwa (https://github.com/lh3/minibwa) as a `-p minibwa`\nmapping option, modelled on the existing BWA integration since minibwa is\nBWT-based and requires a pre-built index.\n\n- Index: `minibwa index [-t N] <ref.fa> <out.prefix>` (prefix is a\n  positional argument, not `-p`), producing `.l\n[…]\n was only an optional\ngalah precluster method (skani is the default).\n\nAdd assert_cli tests for coupled-read mapping and interleaved rejection.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Add minibwa as a mapper",
          "author_name": "Ben Woodcroft",
          "author_login": "wwood",
          "committed_at": "2026-06-20T05:18:43Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "0b5233a56ddd22083e989cdee924d3167fbffb42",
          "body": "When using --gff with --genome-fasta-files, CoverM concatenates the\nreferences and renames contigs to genome<separator>contig, but the\nGenomesAndContigs map is built from the original (un-prefixed) contig\nIDs. Consulting that map first dropped every feature as unassigned.\n\nResolve the genome using t\n[…]\narator ('~') is set, so genes now\nresolve via the prefixed contig name as documented.\n\nAdd a regression test mapping to --genome-fasta-directory with a GFF that\nuses the generated genome~contig names.",
          "is_bot": false,
          "headline": "genes: Fix genome resolution for generated concatenated references",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-06-11T23:17:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ead1bd1deb5372eeef663fa8c7b0677b4f4e81cb",
          "body": "When --gff is given, report the contig each feature lies on as an extra\noutput column, and in genome mode also report the genome. The genome is\nresolved from the genome definition supplied on the command line (genome\nFASTAs, --genome-definition or --separator), and features on contigs not\nassigned t\n[…]\ngenome] entry columns.\n- Pad the synthesised relative_abundance \"unmapped\" row to keep columns\n  aligned when entries carry the extra leading columns.\n- Update help text, README and tests accordingly.",
          "is_bot": false,
          "headline": "genes: Report contig (and genome in genome mode) columns",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-06-11T12:31:28Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "95435c143d164436f6c537d8cb65964bad3e548f",
          "body": "Extend the per-gene coverage feature to `coverm genome`. When `--gff` is\nsupplied, coverage is reported once per gene/feature (using the chosen\nmethod(s)) rather than once per genome, reusing the same gene_coverage\nimplementation as `coverm contig`.\n\n- Add --gff/--gff-feature-type to the genome subc\n[…]\n gene_coverage when --gff is set, and label the\n  output column \"Gene\".\n- Document the feature (including the genome~contig renaming caveat) in the\n  full help and README, and add an integration test.",
          "is_bot": false,
          "headline": "genome: Support per-gene coverage via --gff",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-06-11T12:11:41Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5eb83f23049679e96eae37ef989854d2e2bea624",
          "body": "Add a new `--gff` option to `coverm contig` that reports coverage once per\ngene/feature (using the chosen coverage method(s)) rather than once per\ncontig. The user supplies a GFF (or GTF) file defining the features.\n\nPer-gene coverage is computed by slicing the per-contig pileup for each\nfeature's c\n[…]\n_base, anir) a read is assigned to a feature when its leftmost\nmapped position falls within the feature's coordinates. An optional\n`--gff-feature-type` restricts reporting to features of a given type.",
          "is_bot": false,
          "headline": "contig: Add --gff option to report coverage per gene",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-06-10T21:02:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4d5a1360caae9986c54b6d2363e8991e564f83c9",
          "body": "Address two review comments on PR #290:\n\n- makedb no longer calls check_reference_existence, which for BWA inspects\n  pre-existing index files beside the input reference. That made it impossible\n  to build, say, a bwa-mem database from a FASTA that already had a bwa-mem2\n  index next to it (the part\n[…]\nhe selected thread count to 'strobealign --create-index' via -t, so\n  'coverm makedb -p strobealign -t N' actually indexes with N threads, matching\n  the minimap2 path and the --threads documentation.",
          "is_bot": false,
          "headline": "makedb: validate FASTA directly and honor --threads for strobealign",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-06-10T10:28:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "33dee59d56491b3d2f1076be9e65d96b0b9d32df",
          "body": "Replace the is_none()/unwrap() pattern for max_score with a match, which\nclippy's unnecessary_unwrap lint flagged. Behaviour is unchanged: a strictly\nlower score is a loser, an equal score is a tie (pushed), and otherwise (no\nprevious winner, or a strictly higher score) it becomes the new sole winner.\n\nAlso apply rustfmt to the makedb code added in earlier commits. Together this\nlets the cargo-husky pre-commit hook (clippy -D warnings and rustfmt --check)\npass without --no-verify.",
          "is_bot": false,
          "headline": "Fix clippy unnecessary_unwrap in shard_bam_reader; apply rustfmt",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-06-10T08:53:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5b42c87d8f1c13b241b5a9d36bcbad473f1e9499",
          "body": "Previously 'coverm makedb' rejected strobealign because its index is\nread-length specific and must reside alongside the reference FASTA. Both\nconstraints can be satisfied:\n\n- The read length can be set with --strobealign-params '-r <length>', or\n  estimated by passing an example reads file (strobeal\n[…]\n coverm\ncontig, and document the strobealign workflow.\n\n(--no-verify: the pre-commit clippy hook fails on a pre-existing unrelated\nwarning in src/shard_bam_reader.rs under the current clippy version.)",
          "is_bot": false,
          "headline": "makedb: support strobealign databases via --strobealign-params",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-06-10T08:45:24Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7d25dade6cb56c4fad5e279e7175cb9df1d5b3c2",
          "body": "Add a new 'coverm makedb' subcommand that builds persistent mapping\nindexes (databases) from reference genome or contig FASTA files, so they\ncan be reused across multiple 'coverm contig'/'coverm genome' runs\nwithout re-indexing.\n\nThe kind of database is selected with --mapper, and multiple --mapper\n\n[…]\nEADME and release.sh\n  doc generation.\n\nNote: --no-verify used because the pre-commit clippy hook fails on a\npre-existing unrelated warning in src/shard_bam_reader.rs under the\ncurrent clippy version.",
          "is_bot": false,
          "headline": "Add makedb mode to pre-generate mapping databases",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-06-10T07:57:40Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "789b2f064655129cf321fbda31a57edd4be2afbb",
          "body": null,
          "is_bot": false,
          "headline": "Fixed broken bioconda link",
          "author_name": "Jack Hagen",
          "author_login": "ThisIsNotANamepng",
          "committed_at": "2026-04-08T23:41:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b75eb6c90b00af4e8fdd6c691efdcc299e8c887c",
          "body": null,
          "is_bot": false,
          "headline": "README: Update run dev command to use release mode",
          "author_name": "Ben J Woodcroft",
          "author_login": "wwood",
          "committed_at": "2026-01-16T22:05:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "55f5b15011dba4b8f54cde1fb58c01c10aa0a2f7",
          "body": null,
          "is_bot": false,
          "headline": "pixi: Make coverm a project so it can be a source package.",
          "author_name": "Ben Woodcroft",
          "author_login": "wwood",
          "committed_at": "2026-01-13T22:22:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "64a42cc1b46bdd089e062e0215aea62730966820",
          "body": "Suggested by: Steven Robbins.",
          "is_bot": false,
          "headline": "coverm: Add -p minimap2-lr-hq option.",
          "author_name": "Ben Woodcroft",
          "author_login": "wwood",
          "committed_at": "2026-01-09T03:33:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f835439452a3c12fd1732b9a7b8347c7c0e71ee4",
          "body": null,
          "is_bot": false,
          "headline": "AGENTS.md: Initial effort.",
          "author_name": "Ben J Woodcroft",
          "author_login": "wwood",
          "committed_at": "2026-01-09T03:20:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c91a9b923da819cee8515ba249b413adc8289edb",
          "body": "…ory (#266)\n\n* Refactor BAM cache path helper\n\n* Revert generated docs\n\n* Rename BAM cache flags\n\n* test: cover cache directory legacy flag in genome",
          "is_bot": false,
          "headline": "Add option to name cached BAM outputs, rename --bam-file-cache-direct…",
          "author_name": "Ben J Woodcroft",
          "author_login": "wwood",
          "committed_at": "2025-08-23T00:45:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "426a917845cce11cdd0b2f7418b245013fe254e1",
          "body": null,
          "is_bot": false,
          "headline": "fmt: Apply it.",
          "author_name": "Ben Woodcroft",
          "author_login": "wwood",
          "committed_at": "2025-07-29T00:52:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7399404cdc6ee9861fb46635035c112c211919df",
          "body": null,
          "is_bot": false,
          "headline": "clippy: Apply it.",
          "author_name": "Ben Woodcroft",
          "author_login": "wwood",
          "committed_at": "2025-07-29T00:52:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2d64a05aa242d7adba35f0ed3afbb6733890e246",
          "body": "Reported by: @sarehaghababaee\nhttps://github.com/wwood/CoverM/discussions/263",
          "is_bot": false,
          "headline": "genome: Do not require checkm-tab-table when min-completeness.",
          "author_name": "Ben Woodcroft",
          "author_login": "wwood",
          "committed_at": "2025-07-29T00:51:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "249e882e441ecb773cda9a2f300ea91e5ba361c8",
          "body": null,
          "is_bot": false,
          "headline": "test: filter: Towards large header BAM inputs.",
          "author_name": "Ben Woodcroft",
          "author_login": "wwood",
          "committed_at": "2025-07-23T01:26:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2bc226b258d72f564c74292d6cee22bfcce8c419",
          "body": null,
          "is_bot": false,
          "headline": "add tolerance to no zeros tests",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2025-07-22T06:58:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "86ce10df5be3380de7db33d4a0b9c596afaae27b",
          "body": null,
          "is_bot": false,
          "headline": "update galah to include contig clustering",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2025-07-22T04:07:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7eb2a26890507e8a67721936ff98d89c297c6612",
          "body": null,
          "is_bot": false,
          "headline": "update pixi.lock",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2025-07-22T04:07:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "06ad7633c9a59107355c37eb80cb74d5694b04b3",
          "body": null,
          "is_bot": false,
          "headline": "restrict minimap to below v2.29",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2025-07-22T04:07:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8d9e547f7c28810ce1f26d3986cdfcf34d5b73c1",
          "body": null,
          "is_bot": false,
          "headline": "add osx-arm64 to supported platforms",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2025-07-22T04:07:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "252d4fa8238004458b0c482ae90d8b82ecafec49",
          "body": null,
          "is_bot": false,
          "headline": "switch to proper pixi platform defined dependencies",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2025-07-22T04:07:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ee2c1330aa6926efac48f0ea6a2c8df4506a7e42",
          "body": null,
          "is_bot": false,
          "headline": "fix test envs",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2025-07-22T04:07:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f7b670d79460d1b4937d8dd2ed4ec19717c54093",
          "body": null,
          "is_bot": false,
          "headline": "switch to pixi",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2025-07-22T04:07:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a40ff65d1419a75f8862828d831b204ff61cc406",
          "body": null,
          "is_bot": false,
          "headline": "fix clippy",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2025-07-22T04:07:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9f9118aac39eb1a7ecf22220acc330d9e856a70e",
          "body": "* Fix ANIr example and add test\n\n* Fix ANIr calculation\n\n* fix unused assignment warning",
          "is_bot": false,
          "headline": "Add ANIr coverage method (#258)",
          "author_name": "Ben J Woodcroft",
          "author_login": "wwood",
          "committed_at": "2025-07-17T05:59:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e062091b0263172648332e7c591a5603def049a6",
          "body": null,
          "is_bot": false,
          "headline": "README: Clarify rpkm/tpm is for contigs/genomes, not genes. Fixed #248.",
          "author_name": "Ben Woodcroft",
          "author_login": "wwood",
          "committed_at": "2025-05-01T02:53:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e67a92f621c02c71bcd0a781f226f8836fbddcde",
          "body": null,
          "is_bot": false,
          "headline": "update citation to match github docs (#251)",
          "author_name": "Samuel Aroney",
          "author_login": "AroneyS",
          "committed_at": "2025-04-29T23:44:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4a425fb280b85cdaf1a100f8f933172360226578",
          "body": "* update citation\n\n* update citation with more info",
          "is_bot": false,
          "headline": "update citation (#250)",
          "author_name": "Samuel Aroney",
          "author_login": "AroneyS",
          "committed_at": "2025-04-28T23:29:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9214faa29a96d35a8fe09d309c594a94819993c0",
          "body": null,
          "is_bot": false,
          "headline": "tests: Harden.",
          "author_name": "Ben Woodcroft",
          "author_login": "wwood",
          "committed_at": "2025-03-28T04:08:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8a9a89fa1a631bda345ca98d209c9f28231ceb6a",
          "body": null,
          "is_bot": false,
          "headline": "test: Add one for #295.",
          "author_name": "Ben Woodcroft",
          "author_login": "wwood",
          "committed_at": "2025-03-28T03:23:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "74e217600edb199562e5e8d8f6f50850dbc04255",
          "body": "Update demo",
          "is_bot": false,
          "headline": "Merge pull request #240 from wwood/add-demo",
          "author_name": "Ben J Woodcroft",
          "author_login": "wwood",
          "committed_at": "2025-03-25T06:43:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9325ef517baa603f1a4e3064bcecc51de0511bc5",
          "body": null,
          "is_bot": false,
          "headline": "add markdown tables for outputs",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2025-03-24T01:21:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ccc2eed4b7aaa2548099a0d09107e920198a3f1f",
          "body": null,
          "is_bot": false,
          "headline": "rewording",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2025-03-23T23:51:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "81be1c595fa1f09f96b78f2fb88040aa71fe3a2a",
          "body": null,
          "is_bot": false,
          "headline": "remove coverage from \"coverage metrics\"",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2025-03-23T23:49:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9ecc745a942bf20779b47c2b07df6b44e26f6ae5",
          "body": null,
          "is_bot": false,
          "headline": "put user into demo folder",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2025-03-23T23:49:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d42696d7334c2018090db4f9af0772118ad63fe7",
          "body": null,
          "is_bot": false,
          "headline": "move demo before calculation methods",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2025-03-23T23:47:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d8a21393b2e8a61c67499f812ad3a8b16ce8b07b",
          "body": null,
          "is_bot": false,
          "headline": "add more details to the demo",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2025-02-28T01:58:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "25ea3ca74c4f675a61dc7c37ce61ad34a3945799",
          "body": "Add demo",
          "is_bot": false,
          "headline": "Merge pull request #239 from wwood/add-demo",
          "author_name": "Samuel Aroney",
          "author_login": "AroneyS",
          "committed_at": "2025-02-27T02:56:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "93a2549c033ea82b8bc33d528887ae85f46bd94e",
          "body": null,
          "is_bot": false,
          "headline": "demo: add more details",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2025-02-27T02:55:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8964a2aa1326e369d2d2513718ab44d9253ae6b0",
          "body": null,
          "is_bot": false,
          "headline": "add demo content and walkthrough",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2025-02-26T04:32:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e8cd947a9aa17b47f7cca7cb2b19f53e87e64a94",
          "body": null,
          "is_bot": false,
          "headline": "README.md: Add citation.",
          "author_name": "Ben Woodcroft",
          "author_login": "wwood",
          "committed_at": "2025-01-28T00:54:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eb27cfb31a7bb7ce2375f6bc3cb22b1d65ab3afb",
          "body": "Add arxiv doi",
          "is_bot": false,
          "headline": "Merge pull request #237 from wwood/AroneyS-patch-2",
          "author_name": "Ben J Woodcroft",
          "author_login": "wwood",
          "committed_at": "2025-01-28T00:34:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "38bee0f2ef6e4bb83d671d4af937d55246b21819",
          "body": "add strobealign to dependencies",
          "is_bot": false,
          "headline": "Merge pull request #235 from wwood/update-readme",
          "author_name": "Ben J Woodcroft",
          "author_login": "wwood",
          "committed_at": "2025-01-28T00:33:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "04ff45c963227637a0048b786cc5568aa0706e60",
          "body": null,
          "is_bot": false,
          "headline": "Add arxiv doi",
          "author_name": "Samuel Aroney",
          "author_login": "AroneyS",
          "committed_at": "2025-01-27T22:25:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5e3c9cf5aeb8e10f973c21997e5365046b693fcd",
          "body": "Fixes #108\nReported by: @LvbBo",
          "is_bot": false,
          "headline": "genomes_and_contigs: Improve error message for non-unique contig names.",
          "author_name": "Ben Woodcroft",
          "author_login": "wwood",
          "committed_at": "2025-01-25T21:42:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "946ff4b17af520521d4133359a471cf9921e7112",
          "body": "Update title",
          "is_bot": false,
          "headline": "Merge pull request #236 from wwood/AroneyS-patch-1",
          "author_name": "Ben J Woodcroft",
          "author_login": "wwood",
          "committed_at": "2025-01-14T00:38:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f60206fe31653fff5c8ea5bf017b5fd9be828e93",
          "body": null,
          "is_bot": false,
          "headline": "Update CITATION.cff",
          "author_name": "Samuel Aroney",
          "author_login": "AroneyS",
          "committed_at": "2025-01-14T00:34:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e782c997bfe5538497391066df43661fcc52206b",
          "body": null,
          "is_bot": false,
          "headline": "add \"one of\"",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2024-12-18T23:25:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "83588d7366a09609a19eb2062072e5c194d64d01",
          "body": null,
          "is_bot": false,
          "headline": "add strobealign to dependencies",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2024-12-18T05:05:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e9938d35847b97e3ece5c1721b50c8a07e500e81",
          "body": "fix dereplication docs",
          "is_bot": false,
          "headline": "Merge pull request #231 from wwood/fix-docs",
          "author_name": "Ben J Woodcroft",
          "author_login": "wwood",
          "committed_at": "2024-12-05T03:50:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "446e4250f6645c1119ec812a8b21a63154151660",
          "body": null,
          "is_bot": false,
          "headline": "fix skani case",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2024-12-05T02:51:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "38618c543b1cf88741c5bdebd33ca067940395d6",
          "body": null,
          "is_bot": false,
          "headline": "fix dereplication docs",
          "author_name": "AroneyS",
          "author_login": "AroneyS",
          "committed_at": "2024-12-05T01:10:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cb7b4583e9ae0e05b547ee5ad34afcbec63aad2d",
          "body": "Strobealign aemb",
          "is_bot": false,
          "headline": "Merge pull request #225 from wwood/strobealign-aemb",
          "author_name": "Ben J Woodcroft",
          "author_login": "wwood",
          "committed_at": "2024-10-22T23:27:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "31e28b4eac3d9dba7fc7f546fe00518da60ff36b",
          "body": null,
          "is_bot": false,
          "headline": "test: Fix syntax.",
          "author_name": "Ben Woodcroft",
          "author_login": "wwood",
          "committed_at": "2024-10-22T23:23:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "74f99d118de897c0d626cf478dac3bd9ba48c753",
          "body": null,
          "is_bot": false,
          "headline": "Cargo.toml: Downgrade htslib to 0.46.",
          "author_name": "Ben Woodcroft",
          "author_login": "wwood",
          "committed_at": "2024-10-22T23:09:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a5ea22030179e4730406666d6a5946e4443eb9eb",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into strobealign-aemb",
          "author_name": "Ben J Woodcroft",
          "author_login": "wwood",
          "committed_at": "2024-10-22T22:58:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f3855fd17699848bc496a20f8c0a17a22f68af9b",
          "body": "Reported by: Hongyu Duan.",
          "is_bot": false,
          "headline": "lib: Accept u32 NM tags.",
          "author_name": "Ben Woodcroft",
          "author_login": "wwood",
          "committed_at": "2024-10-22T22:37:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0829d962a0c9008fc63eb67a1dde384e341ab706",
          "body": null,
          "is_bot": false,
          "headline": "strobealign: Adjust for v4 databases.",
          "author_name": "Ben Woodcroft",
          "author_login": "wwood",
          "committed_at": "2024-10-06T21:54:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f93e739395373420f3f089180cb3ad8b4e8ff14e",
          "body": "Fixes #219.\n\nSuggested by: @SDmetagenomics.",
          "is_bot": false,
          "headline": "mapq filtering: Implement it.",
          "author_name": "Ben Woodcroft",
          "author_login": "wwood",
          "committed_at": "2024-10-06T21:54:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 13,
      "commits_last_year": 55,
      "latest_release_at": "2026-07-08T03:37:16Z",
      "latest_release_tag": "v0.8.0",
      "releases_from_tags": false,
      "days_since_last_push": 17,
      "active_weeks_last_year": 10,
      "days_since_latest_release": 19,
      "mean_days_between_releases": 288.7
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 42,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "coverm",
          "exists": true,
          "license": "GPL-3.0",
          "keywords": [],
          "ecosystem": "crates",
          "matches_repo": true,
          "registry_url": "https://crates.io/crates/coverm",
          "is_deprecated": false,
          "latest_version": "0.8.0",
          "repository_url": "https://github.com/wwood/CoverM",
          "versions_count": 11,
          "total_downloads": 16928,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 40,
          "first_published_at": "2019-03-24T01:51:41.729243Z",
          "latest_published_at": "2026-07-08T03:08:36.708976Z",
          "latest_version_yanked": false,
          "days_since_latest_publish": 19
        }
      ]
    },
    "popularity": {
      "forks": 37,
      "stars": 402,
      "watchers": 9,
      "fork_history": {
        "days": [
          {
            "date": "2019-12-29",
            "count": 1
          },
          {
            "date": "2020-02-23",
            "count": 1
          },
          {
            "date": "2020-04-03",
            "count": 1
          },
          {
            "date": "2020-04-11",
            "count": 1
          },
          {
            "date": "2020-05-21",
            "count": 1
          },
          {
            "date": "2020-05-23",
            "count": 1
          },
          {
            "date": "2021-01-14",
            "count": 1
          },
          {
            "date": "2021-09-23",
            "count": 1
          },
          {
            "date": "2021-10-13",
            "count": 1
          },
          {
            "date": "2021-11-11",
            "count": 1
          },
          {
            "date": "2021-12-16",
            "count": 1
          },
          {
            "date": "2022-01-19",
            "count": 1
          },
          {
            "date": "2022-02-26",
            "count": 1
          },
          {
            "date": "2022-04-06",
            "count": 1
          },
          {
            "date": "2022-04-10",
            "count": 1
          },
          {
            "date": "2022-06-27",
            "count": 1
          },
          {
            "date": "2022-10-27",
            "count": 1
          },
          {
            "date": "2022-10-29",
            "count": 1
          },
          {
            "date": "2023-02-22",
            "count": 1
          },
          {
            "date": "2023-04-22",
            "count": 1
          },
          {
            "date": "2023-04-26",
            "count": 1
          },
          {
            "date": "2023-08-31",
            "count": 1
          },
          {
            "date": "2024-01-16",
            "count": 1
          },
          {
            "date": "2024-01-23",
            "count": 1
          },
          {
            "date": "2024-01-24",
            "count": 1
          },
          {
            "date": "2024-08-26",
            "count": 1
          },
          {
            "date": "2024-09-23",
            "count": 1
          },
          {
            "date": "2024-10-25",
            "count": 1
          },
          {
            "date": "2025-01-25",
            "count": 1
          },
          {
            "date": "2025-02-03",
            "count": 1
          },
          {
            "date": "2025-03-04",
            "count": 1
          },
          {
            "date": "2025-04-10",
            "count": 1
          },
          {
            "date": "2025-06-26",
            "count": 1
          },
          {
            "date": "2025-12-10",
            "count": 1
          },
          {
            "date": "2026-01-19",
            "count": 1
          },
          {
            "date": "2026-04-08",
            "count": 1
          },
          {
            "date": "2026-04-17",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 37,
        "total_forks": 37
      },
      "star_history": null,
      "open_issues_and_prs": 68
    },
    "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": [],
      "toolchain_manifests": [
        "Cargo.toml"
      ],
      "largest_source_bytes": 157623,
      "source_files_sampled": 21,
      "oversized_source_files": 4,
      "agent_instruction_files": [
        "AGENTS.md"
      ],
      "agent_instruction_max_bytes": 289
    },
    "dependencies": {
      "manifests": [
        "Cargo.toml"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "capnp",
            "direct": false,
            "version": "0.14.11",
            "severity": "critical",
            "ecosystem": "crates",
            "cvss_score": 9.8,
            "advisory_ids": [
              "GHSA-5w5r-mf82-595p",
              "RUSTSEC-2025-0143"
            ],
            "fixed_version": "0.24.0",
            "advisory_count": 2,
            "oldest_advisory_days": 214
          },
          {
            "name": "failure",
            "direct": false,
            "version": "0.1.8",
            "severity": "critical",
            "ecosystem": "crates",
            "cvss_score": 9.8,
            "advisory_ids": [
              "GHSA-jq66-xh47-j9f3",
              "GHSA-r98r-j25q-rmpr",
              "RUSTSEC-2019-0036",
              "RUSTSEC-2020-0036"
            ],
            "fixed_version": null,
            "advisory_count": 4,
            "oldest_advisory_days": 2447
          },
          {
            "name": "remove_dir_all",
            "direct": false,
            "version": "0.5.3",
            "severity": "low",
            "ecosystem": "crates",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-mc8h-8q98-g5hr",
              "RUSTSEC-2023-0018"
            ],
            "fixed_version": "0.8.0",
            "advisory_count": 2,
            "oldest_advisory_days": 1248
          },
          {
            "name": "ansi_term",
            "direct": true,
            "version": "0.12.1",
            "severity": "unknown",
            "ecosystem": "crates",
            "cvss_score": null,
            "advisory_ids": [
              "RUSTSEC-2021-0139"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 1803
          },
          {
            "name": "tempdir",
            "direct": true,
            "version": "0.3.7",
            "severity": "unknown",
            "ecosystem": "crates",
            "cvss_score": null,
            "advisory_ids": [
              "RUSTSEC-2018-0017"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 3085
          },
          {
            "name": "bincode",
            "direct": false,
            "version": "1.3.3",
            "severity": "unknown",
            "ecosystem": "crates",
            "cvss_score": null,
            "advisory_ids": [
              "RUSTSEC-2025-0141"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 222
          },
          {
            "name": "crossbeam-epoch",
            "direct": false,
            "version": "0.9.18",
            "severity": "unknown",
            "ecosystem": "crates",
            "cvss_score": null,
            "advisory_ids": [
              "RUSTSEC-2026-0204"
            ],
            "fixed_version": "0.9.20",
            "advisory_count": 1,
            "oldest_advisory_days": 20
          },
          {
            "name": "custom_derive",
            "direct": false,
            "version": "0.1.7",
            "severity": "unknown",
            "ecosystem": "crates",
            "cvss_score": null,
            "advisory_ids": [
              "RUSTSEC-2025-0058"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 322
          },
          {
            "name": "difference",
            "direct": false,
            "version": "2.0.0",
            "severity": "unknown",
            "ecosystem": "crates",
            "cvss_score": null,
            "advisory_ids": [
              "RUSTSEC-2020-0095"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 2044
          },
          {
            "name": "fxhash",
            "direct": false,
            "version": "0.2.1",
            "severity": "unknown",
            "ecosystem": "crates",
            "cvss_score": null,
            "advisory_ids": [
              "RUSTSEC-2025-0057"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 324
          },
          {
            "name": "memmap",
            "direct": false,
            "version": "0.7.0",
            "severity": "unknown",
            "ecosystem": "crates",
            "cvss_score": null,
            "advisory_ids": [
              "RUSTSEC-2020-0077"
            ],
            "fixed_version": "0.7.1-0",
            "advisory_count": 1,
            "oldest_advisory_days": 2062
          },
          {
            "name": "paste",
            "direct": false,
            "version": "1.0.15",
            "severity": "unknown",
            "ecosystem": "crates",
            "cvss_score": null,
            "advisory_ids": [
              "RUSTSEC-2024-0436"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 657
          },
          {
            "name": "proc-macro-error2",
            "direct": false,
            "version": "2.0.1",
            "severity": "unknown",
            "ecosystem": "crates",
            "cvss_score": null,
            "advisory_ids": [
              "RUSTSEC-2026-0173"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 49
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "low": 1,
          "unknown": 10,
          "critical": 2
        },
        "advisory_count": 18,
        "affected_count": 13,
        "assessed_count": 255,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 2
      },
      "ecosystems": [
        "crates"
      ],
      "dependencies": [
        {
          "name": "bio",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "2.0.*"
        },
        {
          "name": "rust-htslib",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.46.*"
        },
        {
          "name": "clap",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "4.*"
        },
        {
          "name": "clap_complete",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "4.*"
        },
        {
          "name": "log",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.4.*"
        },
        {
          "name": "env_logger",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.11.*"
        },
        {
          "name": "nix",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.29.*"
        },
        {
          "name": "tempdir",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.3.*"
        },
        {
          "name": "tempfile",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "3.*"
        },
        {
          "name": "ansi_term",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.12"
        },
        {
          "name": "lazy_static",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.4.0"
        },
        {
          "name": "rand",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.8.*"
        },
        {
          "name": "serde",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0"
        },
        {
          "name": "version-compare",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.2.0"
        },
        {
          "name": "bird_tool_utils",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": ">=0.5.2, <0.6.0"
        },
        {
          "name": "galah",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "bird_tool_utils-man",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.4.0"
        },
        {
          "name": "roff",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.2.*"
        },
        {
          "name": "needletail",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.7.*"
        },
        {
          "name": "csv",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.*"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "ansi_term",
            "direct": true,
            "version": "0.12.1",
            "ecosystem": "crates"
          },
          {
            "name": "bio",
            "direct": true,
            "version": "2.0.3",
            "ecosystem": "crates"
          },
          {
            "name": "bird_tool_utils",
            "direct": true,
            "version": "0.5.2",
            "ecosystem": "crates"
          },
          {
            "name": "bird_tool_utils-man",
            "direct": true,
            "version": "0.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "clap",
            "direct": true,
            "version": "4.6.1",
            "ecosystem": "crates"
          },
          {
            "name": "clap_complete",
            "direct": true,
            "version": "4.6.6",
            "ecosystem": "crates"
          },
          {
            "name": "csv",
            "direct": true,
            "version": "1.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "env_logger",
            "direct": true,
            "version": "0.10.2",
            "ecosystem": "crates"
          },
          {
            "name": "env_logger",
            "direct": true,
            "version": "0.11.11",
            "ecosystem": "crates"
          },
          {
            "name": "galah",
            "direct": true,
            "version": "0.5.2",
            "ecosystem": "crates"
          },
          {
            "name": "lazy_static",
            "direct": true,
            "version": "1.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "log",
            "direct": true,
            "version": "0.4.33",
            "ecosystem": "crates"
          },
          {
            "name": "needletail",
            "direct": true,
            "version": "0.7.3",
            "ecosystem": "crates"
          },
          {
            "name": "nix",
            "direct": true,
            "version": "0.29.0",
            "ecosystem": "crates"
          },
          {
            "name": "rand",
            "direct": true,
            "version": "0.4.6",
            "ecosystem": "crates"
          },
          {
            "name": "rand",
            "direct": true,
            "version": "0.8.6",
            "ecosystem": "crates"
          },
          {
            "name": "roff",
            "direct": true,
            "version": "0.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "roff",
            "direct": true,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "rust-htslib",
            "direct": true,
            "version": "0.46.0",
            "ecosystem": "crates"
          },
          {
            "name": "serde",
            "direct": true,
            "version": "1.0.228",
            "ecosystem": "crates"
          },
          {
            "name": "tempdir",
            "direct": true,
            "version": "0.3.7",
            "ecosystem": "crates"
          },
          {
            "name": "tempfile",
            "direct": true,
            "version": "3.27.0",
            "ecosystem": "crates"
          },
          {
            "name": "version-compare",
            "direct": true,
            "version": "0.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "addr2line",
            "direct": false,
            "version": "0.25.1",
            "ecosystem": "crates"
          },
          {
            "name": "adler2",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "crates"
          },
          {
            "name": "aho-corasick",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "crates"
          },
          {
            "name": "anstream",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "anstyle",
            "direct": false,
            "version": "1.0.14",
            "ecosystem": "crates"
          },
          {
            "name": "anstyle-parse",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "anstyle-query",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "crates"
          },
          {
            "name": "anstyle-wincon",
            "direct": false,
            "version": "3.0.11",
            "ecosystem": "crates"
          },
          {
            "name": "anyhow",
            "direct": false,
            "version": "1.0.103",
            "ecosystem": "crates"
          },
          {
            "name": "approx",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "crates"
          },
          {
            "name": "assert_cli",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "crates"
          },
          {
            "name": "autocfg",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "crates"
          },
          {
            "name": "backtrace",
            "direct": false,
            "version": "0.3.76",
            "ecosystem": "crates"
          },
          {
            "name": "bincode",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "crates"
          },
          {
            "name": "bio-types",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "crates"
          },
          {
            "name": "bit-set",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "crates"
          },
          {
            "name": "bit-vec",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "crates"
          },
          {
            "name": "bitflags",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "bitflags",
            "direct": false,
            "version": "2.13.0",
            "ecosystem": "crates"
          },
          {
            "name": "buffer-redux",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "bv",
            "direct": false,
            "version": "0.11.1",
            "ecosystem": "crates"
          },
          {
            "name": "bytecount",
            "direct": false,
            "version": "0.6.9",
            "ecosystem": "crates"
          },
          {
            "name": "bytemuck",
            "direct": false,
            "version": "1.25.0",
            "ecosystem": "crates"
          },
          {
            "name": "byteorder",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "bzip2",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "crates"
          },
          {
            "name": "capnp",
            "direct": false,
            "version": "0.14.11",
            "ecosystem": "crates"
          },
          {
            "name": "cargo-husky",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "cc",
            "direct": false,
            "version": "1.2.65",
            "ecosystem": "crates"
          },
          {
            "name": "cfg-if",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "crates"
          },
          {
            "name": "cfg_aliases",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "checkm",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "clap_builder",
            "direct": false,
            "version": "4.6.0",
            "ecosystem": "crates"
          },
          {
            "name": "clap_lex",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "cmake",
            "direct": false,
            "version": "0.1.58",
            "ecosystem": "crates"
          },
          {
            "name": "colorchoice",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "crates"
          },
          {
            "name": "colored",
            "direct": false,
            "version": "1.9.4",
            "ecosystem": "crates"
          },
          {
            "name": "concurrent-queue",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "crc32fast",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "crossbeam-deque",
            "direct": false,
            "version": "0.8.6",
            "ecosystem": "crates"
          },
          {
            "name": "crossbeam-epoch",
            "direct": false,
            "version": "0.9.18",
            "ecosystem": "crates"
          },
          {
            "name": "crossbeam-utils",
            "direct": false,
            "version": "0.8.21",
            "ecosystem": "crates"
          },
          {
            "name": "csv-core",
            "direct": false,
            "version": "0.1.13",
            "ecosystem": "crates"
          },
          {
            "name": "custom_derive",
            "direct": false,
            "version": "0.1.7",
            "ecosystem": "crates"
          },
          {
            "name": "defmt",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "defmt-macros",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "defmt-parser",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "derive-new",
            "direct": false,
            "version": "0.5.9",
            "ecosystem": "crates"
          },
          {
            "name": "derive-new",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "crates"
          },
          {
            "name": "difference",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "disjoint",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "crates"
          },
          {
            "name": "displaydoc",
            "direct": false,
            "version": "0.2.6",
            "ecosystem": "crates"
          },
          {
            "name": "editdistancek",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "crates"
          },
          {
            "name": "either",
            "direct": false,
            "version": "1.16.0",
            "ecosystem": "crates"
          },
          {
            "name": "enum-map",
            "direct": false,
            "version": "2.7.3",
            "ecosystem": "crates"
          },
          {
            "name": "enum-map-derive",
            "direct": false,
            "version": "0.17.0",
            "ecosystem": "crates"
          },
          {
            "name": "env_filter",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "environment",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "equivalent",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "crates"
          },
          {
            "name": "errno",
            "direct": false,
            "version": "0.3.14",
            "ecosystem": "crates"
          },
          {
            "name": "failure",
            "direct": false,
            "version": "0.1.8",
            "ecosystem": "crates"
          },
          {
            "name": "failure_derive",
            "direct": false,
            "version": "0.1.8",
            "ecosystem": "crates"
          },
          {
            "name": "fastrand",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "feature-probe",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "finch",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "crates"
          },
          {
            "name": "find-msvc-tools",
            "direct": false,
            "version": "0.1.9",
            "ecosystem": "crates"
          },
          {
            "name": "fixedbitset",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "crates"
          },
          {
            "name": "flate2",
            "direct": false,
            "version": "1.1.9",
            "ecosystem": "crates"
          },
          {
            "name": "form_urlencoded",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "fs-utils",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "crates"
          },
          {
            "name": "fuchsia-cprng",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "fxhash",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "getrandom",
            "direct": false,
            "version": "0.2.17",
            "ecosystem": "crates"
          },
          {
            "name": "getrandom",
            "direct": false,
            "version": "0.3.4",
            "ecosystem": "crates"
          },
          {
            "name": "getrandom",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "crates"
          },
          {
            "name": "gimli",
            "direct": false,
            "version": "0.32.3",
            "ecosystem": "crates"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "0.3.3",
            "ecosystem": "crates"
          },
          {
            "name": "hashbrown",
            "direct": false,
            "version": "0.17.1",
            "ecosystem": "crates"
          },
          {
            "name": "heck",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "hermit-abi",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "crates"
          },
          {
            "name": "home",
            "direct": false,
            "version": "0.5.12",
            "ecosystem": "crates"
          },
          {
            "name": "hts-sys",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "humantime",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "icu_collections",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "icu_locale_core",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "icu_normalizer",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "icu_normalizer_data",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "icu_properties",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "icu_properties_data",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "icu_provider",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "idna",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "idna_adapter",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "ieee754",
            "direct": false,
            "version": "0.2.6",
            "ecosystem": "crates"
          },
          {
            "name": "indexmap",
            "direct": false,
            "version": "2.14.0",
            "ecosystem": "crates"
          },
          {
            "name": "is-terminal",
            "direct": false,
            "version": "0.4.17",
            "ecosystem": "crates"
          },
          {
            "name": "is_terminal_polyfill",
            "direct": false,
            "version": "1.70.2",
            "ecosystem": "crates"
          },
          {
            "name": "itertools",
            "direct": false,
            "version": "0.13.0",
            "ecosystem": "crates"
          },
          {
            "name": "itertools-num",
            "direct": false,
            "version": "0.1.3",
            "ecosystem": "crates"
          },
          {
            "name": "itoa",
            "direct": false,
            "version": "1.0.18",
            "ecosystem": "crates"
          },
          {
            "name": "jiff",
            "direct": false,
            "version": "0.2.31",
            "ecosystem": "crates"
          },
          {
            "name": "jiff-static",
            "direct": false,
            "version": "0.2.31",
            "ecosystem": "crates"
          },
          {
            "name": "jobserver",
            "direct": false,
            "version": "0.1.34",
            "ecosystem": "crates"
          },
          {
            "name": "libbz2-rs-sys",
            "direct": false,
            "version": "0.2.5",
            "ecosystem": "crates"
          },
          {
            "name": "libc",
            "direct": false,
            "version": "0.2.186",
            "ecosystem": "crates"
          },
          {
            "name": "liblzma",
            "direct": false,
            "version": "0.3.6",
            "ecosystem": "crates"
          },
          {
            "name": "liblzma-sys",
            "direct": false,
            "version": "0.3.13",
            "ecosystem": "crates"
          },
          {
            "name": "libm",
            "direct": false,
            "version": "0.2.16",
            "ecosystem": "crates"
          },
          {
            "name": "libz-sys",
            "direct": false,
            "version": "1.1.29",
            "ecosystem": "crates"
          },
          {
            "name": "linear-map",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "linux-raw-sys",
            "direct": false,
            "version": "0.12.1",
            "ecosystem": "crates"
          },
          {
            "name": "linux-raw-sys",
            "direct": false,
            "version": "0.4.15",
            "ecosystem": "crates"
          },
          {
            "name": "litemap",
            "direct": false,
            "version": "0.8.2",
            "ecosystem": "crates"
          },
          {
            "name": "matrixmultiply",
            "direct": false,
            "version": "0.3.10",
            "ecosystem": "crates"
          },
          {
            "name": "memchr",
            "direct": false,
            "version": "2.8.2",
            "ecosystem": "crates"
          },
          {
            "name": "memmap",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "crates"
          },
          {
            "name": "miniz_oxide",
            "direct": false,
            "version": "0.8.9",
            "ecosystem": "crates"
          },
          {
            "name": "multimap",
            "direct": false,
            "version": "0.10.1",
            "ecosystem": "crates"
          },
          {
            "name": "murmurhash3",
            "direct": false,
            "version": "0.0.5",
            "ecosystem": "crates"
          },
          {
            "name": "nalgebra",
            "direct": false,
            "version": "0.32.6",
            "ecosystem": "crates"
          },
          {
            "name": "nalgebra-macros",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "ndarray",
            "direct": false,
            "version": "0.16.1",
            "ecosystem": "crates"
          },
          {
            "name": "newtype_derive",
            "direct": false,
            "version": "0.1.6",
            "ecosystem": "crates"
          },
          {
            "name": "num-complex",
            "direct": false,
            "version": "0.4.6",
            "ecosystem": "crates"
          },
          {
            "name": "num-integer",
            "direct": false,
            "version": "0.1.46",
            "ecosystem": "crates"
          },
          {
            "name": "num-rational",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "crates"
          },
          {
            "name": "num-traits",
            "direct": false,
            "version": "0.2.19",
            "ecosystem": "crates"
          },
          {
            "name": "object",
            "direct": false,
            "version": "0.37.3",
            "ecosystem": "crates"
          },
          {
            "name": "once_cell",
            "direct": false,
            "version": "1.21.4",
            "ecosystem": "crates"
          },
          {
            "name": "once_cell_polyfill",
            "direct": false,
            "version": "1.70.2",
            "ecosystem": "crates"
          },
          {
            "name": "ordered-float",
            "direct": false,
            "version": "4.6.0",
            "ecosystem": "crates"
          },
          {
            "name": "paste",
            "direct": false,
            "version": "1.0.15",
            "ecosystem": "crates"
          },
          {
            "name": "percent-encoding",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "petgraph",
            "direct": false,
            "version": "0.6.5",
            "ecosystem": "crates"
          },
          {
            "name": "pkg-config",
            "direct": false,
            "version": "0.3.33",
            "ecosystem": "crates"
          },
          {
            "name": "portable-atomic",
            "direct": false,
            "version": "1.13.1",
            "ecosystem": "crates"
          },
          {
            "name": "portable-atomic-util",
            "direct": false,
            "version": "0.2.7",
            "ecosystem": "crates"
          },
          {
            "name": "potential_utf",
            "direct": false,
            "version": "0.1.5",
            "ecosystem": "crates"
          },
          {
            "name": "ppv-lite86",
            "direct": false,
            "version": "0.2.21",
            "ecosystem": "crates"
          },
          {
            "name": "proc-macro-error-attr2",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "proc-macro-error2",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "crates"
          },
          {
            "name": "proc-macro2",
            "direct": false,
            "version": "1.0.106",
            "ecosystem": "crates"
          },
          {
            "name": "quick-error",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "crates"
          },
          {
            "name": "quote",
            "direct": false,
            "version": "1.0.46",
            "ecosystem": "crates"
          },
          {
            "name": "r-efi",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "r-efi",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "rand_chacha",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "crates"
          },
          {
            "name": "rand_core",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "crates"
          },
          {
            "name": "rand_core",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "crates"
          },
          {
            "name": "rand_core",
            "direct": false,
            "version": "0.6.4",
            "ecosystem": "crates"
          },
          {
            "name": "rand_distr",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "crates"
          },
          {
            "name": "rawpointer",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "rayon",
            "direct": false,
            "version": "1.12.0",
            "ecosystem": "crates"
          },
          {
            "name": "rayon-core",
            "direct": false,
            "version": "1.13.0",
            "ecosystem": "crates"
          },
          {
            "name": "rdrand",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "regex",
            "direct": false,
            "version": "1.12.4",
            "ecosystem": "crates"
          },
          {
            "name": "regex-automata",
            "direct": false,
            "version": "0.4.14",
            "ecosystem": "crates"
          },
          {
            "name": "regex-syntax",
            "direct": false,
            "version": "0.8.11",
            "ecosystem": "crates"
          },
          {
            "name": "remove_dir_all",
            "direct": false,
            "version": "0.5.3",
            "ecosystem": "crates"
          },
          {
            "name": "rustc-demangle",
            "direct": false,
            "version": "0.1.27",
            "ecosystem": "crates"
          },
          {
            "name": "rustc_version",
            "direct": false,
            "version": "0.1.7",
            "ecosystem": "crates"
          },
          {
            "name": "rustix",
            "direct": false,
            "version": "0.38.44",
            "ecosystem": "crates"
          },
          {
            "name": "rustix",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "crates"
          },
          {
            "name": "rustversion",
            "direct": false,
            "version": "1.0.22",
            "ecosystem": "crates"
          },
          {
            "name": "ryu",
            "direct": false,
            "version": "1.0.23",
            "ecosystem": "crates"
          },
          {
            "name": "safe_arch",
            "direct": false,
            "version": "0.7.4",
            "ecosystem": "crates"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "0.1.20",
            "ecosystem": "crates"
          },
          {
            "name": "serde_core",
            "direct": false,
            "version": "1.0.228",
            "ecosystem": "crates"
          },
          {
            "name": "serde_derive",
            "direct": false,
            "version": "1.0.228",
            "ecosystem": "crates"
          },
          {
            "name": "serde_json",
            "direct": false,
            "version": "1.0.150",
            "ecosystem": "crates"
          },
          {
            "name": "shlex",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "crates"
          },
          {
            "name": "simba",
            "direct": false,
            "version": "0.8.1",
            "ecosystem": "crates"
          },
          {
            "name": "simd-adler32",
            "direct": false,
            "version": "0.3.9",
            "ecosystem": "crates"
          },
          {
            "name": "smallvec",
            "direct": false,
            "version": "1.15.2",
            "ecosystem": "crates"
          },
          {
            "name": "stable_deref_trait",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "statrs",
            "direct": false,
            "version": "0.17.1",
            "ecosystem": "crates"
          },
          {
            "name": "strsim",
            "direct": false,
            "version": "0.11.1",
            "ecosystem": "crates"
          },
          {
            "name": "strum",
            "direct": false,
            "version": "0.26.3",
            "ecosystem": "crates"
          },
          {
            "name": "strum_macros",
            "direct": false,
            "version": "0.26.4",
            "ecosystem": "crates"
          },
          {
            "name": "syn",
            "direct": false,
            "version": "1.0.109",
            "ecosystem": "crates"
          },
          {
            "name": "syn",
            "direct": false,
            "version": "2.0.118",
            "ecosystem": "crates"
          },
          {
            "name": "synstructure",
            "direct": false,
            "version": "0.12.6",
            "ecosystem": "crates"
          },
          {
            "name": "synstructure",
            "direct": false,
            "version": "0.13.2",
            "ecosystem": "crates"
          },
          {
            "name": "termcolor",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "thiserror",
            "direct": false,
            "version": "1.0.69",
            "ecosystem": "crates"
          },
          {
            "name": "thiserror",
            "direct": false,
            "version": "2.0.18",
            "ecosystem": "crates"
          },
          {
            "name": "thiserror-impl",
            "direct": false,
            "version": "1.0.69",
            "ecosystem": "crates"
          },
          {
            "name": "thiserror-impl",
            "direct": false,
            "version": "2.0.18",
            "ecosystem": "crates"
          },
          {
            "name": "tinystr",
            "direct": false,
            "version": "0.8.3",
            "ecosystem": "crates"
          },
          {
            "name": "triple_accel",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "typenum",
            "direct": false,
            "version": "1.20.1",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-ident",
            "direct": false,
            "version": "1.0.24",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-xid",
            "direct": false,
            "version": "0.2.6",
            "ecosystem": "crates"
          },
          {
            "name": "url",
            "direct": false,
            "version": "2.5.8",
            "ecosystem": "crates"
          },
          {
            "name": "utf8_iter",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "crates"
          },
          {
            "name": "utf8parse",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "vcpkg",
            "direct": false,
            "version": "0.2.15",
            "ecosystem": "crates"
          },
          {
            "name": "vec_map",
            "direct": false,
            "version": "0.8.2",
            "ecosystem": "crates"
          },
          {
            "name": "wasi",
            "direct": false,
            "version": "0.11.1+wasi-snapshot-preview1",
            "ecosystem": "crates"
          },
          {
            "name": "wasip2",
            "direct": false,
            "version": "1.0.4+wasi-0.2.12",
            "ecosystem": "crates"
          },
          {
            "name": "which",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "crates"
          },
          {
            "name": "wide",
            "direct": false,
            "version": "0.7.33",
            "ecosystem": "crates"
          },
          {
            "name": "winapi",
            "direct": false,
            "version": "0.3.9",
            "ecosystem": "crates"
          },
          {
            "name": "winapi-i686-pc-windows-gnu",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "winapi-util",
            "direct": false,
            "version": "0.1.11",
            "ecosystem": "crates"
          },
          {
            "name": "winapi-x86_64-pc-windows-gnu",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "windows-link",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "windows-sys",
            "direct": false,
            "version": "0.59.0",
            "ecosystem": "crates"
          },
          {
            "name": "windows-sys",
            "direct": false,
            "version": "0.61.2",
            "ecosystem": "crates"
          },
          {
            "name": "windows-targets",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_aarch64_gnullvm",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_aarch64_msvc",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_i686_gnu",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_i686_gnullvm",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_i686_msvc",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_x86_64_gnu",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_x86_64_gnullvm",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_x86_64_msvc",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "winsafe",
            "direct": false,
            "version": "0.0.19",
            "ecosystem": "crates"
          },
          {
            "name": "wit-bindgen",
            "direct": false,
            "version": "0.57.1",
            "ecosystem": "crates"
          },
          {
            "name": "writeable",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "crates"
          },
          {
            "name": "yoke",
            "direct": false,
            "version": "0.8.3",
            "ecosystem": "crates"
          },
          {
            "name": "yoke-derive",
            "direct": false,
            "version": "0.8.2",
            "ecosystem": "crates"
          },
          {
            "name": "zerocopy",
            "direct": false,
            "version": "0.8.52",
            "ecosystem": "crates"
          },
          {
            "name": "zerocopy-derive",
            "direct": false,
            "version": "0.8.52",
            "ecosystem": "crates"
          },
          {
            "name": "zerofrom",
            "direct": false,
            "version": "0.1.8",
            "ecosystem": "crates"
          },
          {
            "name": "zerofrom-derive",
            "direct": false,
            "version": "0.1.7",
            "ecosystem": "crates"
          },
          {
            "name": "zerotrie",
            "direct": false,
            "version": "0.2.4",
            "ecosystem": "crates"
          },
          {
            "name": "zerovec",
            "direct": false,
            "version": "0.11.6",
            "ecosystem": "crates"
          },
          {
            "name": "zerovec-derive",
            "direct": false,
            "version": "0.11.3",
            "ecosystem": "crates"
          },
          {
            "name": "zmij",
            "direct": false,
            "version": "1.0.21",
            "ecosystem": "crates"
          },
          {
            "name": "zstd",
            "direct": false,
            "version": "0.13.3",
            "ecosystem": "crates"
          },
          {
            "name": "zstd-safe",
            "direct": false,
            "version": "7.2.4",
            "ecosystem": "crates"
          },
          {
            "name": "zstd-sys",
            "direct": false,
            "version": "2.0.16+zstd.1.5.7",
            "ecosystem": "crates"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 255,
        "direct_count": 23,
        "indirect_count": 232
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 9,
        "merged_prs": 37,
        "open_issues": 59,
        "closed_ratio": 0.706,
        "closed_issues": 142,
        "closed_unmerged_prs": 45
      },
      "bus_factor": 1,
      "bot_contributors": 3,
      "top_contributors": [
        {
          "type": "User",
          "login": "wwood",
          "commits": 566,
          "avatar_url": "https://avatars.githubusercontent.com/u/15348?v=4"
        },
        {
          "type": "User",
          "login": "AroneyS",
          "commits": 48,
          "avatar_url": "https://avatars.githubusercontent.com/u/41124903?v=4"
        },
        {
          "type": "User",
          "login": "claude",
          "commits": 15,
          "avatar_url": "https://avatars.githubusercontent.com/u/81847?v=4"
        },
        {
          "type": "User",
          "login": "lavafroth",
          "commits": 4,
          "avatar_url": "https://avatars.githubusercontent.com/u/107522312?v=4"
        },
        {
          "type": "User",
          "login": "rhysnewell",
          "commits": 4,
          "avatar_url": "https://avatars.githubusercontent.com/u/42852939?v=4"
        },
        {
          "type": "User",
          "login": "ThisIsNotANamepng",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/74005486?v=4"
        }
      ],
      "contributors_sampled": 6,
      "top_contributor_share": 0.887
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "release.yml",
        "test-coverm.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "Cargo.lock"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 8,
            "reason": "5 out of 6 merged PRs checked by a CI test -- score normalized to 8",
            "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/16 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 5 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 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 3 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": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": 0,
            "reason": "Project has not signed or included provenance with any releases.",
            "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": 0,
            "reason": "13 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "5501168b14381040e069957fc6d919ce7fd773a7",
        "ran_at": "2026-07-27T09:22:15Z",
        "aggregate_score": 4,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-10T08:23:47Z",
      "oldest_open_prs": [
        {
          "number": 267,
          "created_at": "2025-08-23T09:59:54Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 268,
          "created_at": "2025-08-23T11:59:54Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 272,
          "created_at": "2025-09-02T07:33:28Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 284,
          "created_at": "2026-01-09T03:18:42Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 288,
          "created_at": "2026-03-16T09:34:14Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 291,
          "created_at": "2026-06-10T20:54:33Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 292,
          "created_at": "2026-06-10T20:56:51Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 294,
          "created_at": "2026-06-19T23:03:36Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 298,
          "created_at": "2026-07-02T11:44:19Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-07-10T08:21:41Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 16,
          "created_at": "2019-12-12T03:25:04Z",
          "last_comment_at": "2025-12-08T04:19:58Z",
          "last_comment_author": "diego00012138"
        },
        {
          "number": 20,
          "created_at": "2020-02-07T01:37:48Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 25,
          "created_at": "2020-04-07T12:49:52Z",
          "last_comment_at": "2020-12-17T11:48:26Z",
          "last_comment_author": "apcamargo"
        },
        {
          "number": 52,
          "created_at": "2021-01-06T11:22:34Z",
          "last_comment_at": "2023-03-20T13:00:06Z",
          "last_comment_author": "jakobnissen"
        },
        {
          "number": 66,
          "created_at": "2021-04-29T16:40:53Z",
          "last_comment_at": "2021-05-14T01:04:42Z",
          "last_comment_author": "ZongzhiWu"
        },
        {
          "number": 68,
          "created_at": "2021-05-10T16:24:11Z",
          "last_comment_at": "2021-05-19T03:54:49Z",
          "last_comment_author": "jianshu93"
        },
        {
          "number": 69,
          "created_at": "2021-05-12T14:10:30Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 71,
          "created_at": "2021-05-18T20:36:58Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 75,
          "created_at": "2021-06-26T11:21:17Z",
          "last_comment_at": "2021-06-28T03:44:40Z",
          "last_comment_author": "wwood"
        },
        {
          "number": 76,
          "created_at": "2021-07-02T18:45:18Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 94,
          "created_at": "2021-11-09T17:14:13Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 101,
          "created_at": "2022-01-26T02:00:29Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 106,
          "created_at": "2022-02-26T03:35:45Z",
          "last_comment_at": "2022-03-08T02:47:52Z",
          "last_comment_author": "jianshu93"
        },
        {
          "number": 121,
          "created_at": "2022-06-27T21:45:46Z",
          "last_comment_at": "2022-07-19T04:47:25Z",
          "last_comment_author": "rhysnewell"
        },
        {
          "number": 124,
          "created_at": "2022-07-14T19:05:38Z",
          "last_comment_at": "2022-10-11T09:21:29Z",
          "last_comment_author": "wwood"
        },
        {
          "number": 126,
          "created_at": "2022-08-02T07:24:15Z",
          "last_comment_at": "2023-07-11T14:43:42Z",
          "last_comment_author": "Somebodyatthdoor"
        },
        {
          "number": 127,
          "created_at": "2022-08-03T01:29:36Z",
          "last_comment_at": "2023-09-01T15:43:30Z",
          "last_comment_author": "faylward"
        },
        {
          "number": 133,
          "created_at": "2022-09-21T07:26:23Z",
          "last_comment_at": "2022-11-03T15:04:21Z",
          "last_comment_author": "earlylifemicro-lab"
        },
        {
          "number": 138,
          "created_at": "2022-11-01T12:32:06Z",
          "last_comment_at": "2022-11-02T12:52:12Z",
          "last_comment_author": "linlin0026"
        },
        {
          "number": 144,
          "created_at": "2022-12-14T18:22:28Z",
          "last_comment_at": "2022-12-17T11:29:49Z",
          "last_comment_author": "B-1991-ing"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/wwood/CoverM",
    "host": "github.com",
    "name": "CoverM",
    "owner": "wwood"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 58,
      "inputs": {
        "security": 48,
        "vitality": 67,
        "community": 48,
        "governance": 58,
        "engineering": 64
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "moderate",
        "name": "Vitality",
        "value": 67,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 61,
            "inputs": {
              "commits_last_year": 55,
              "human_commit_share": 0.94,
              "days_since_last_push": 17,
              "active_weeks_last_year": 10
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 17 days ago",
                "points": 28.8,
                "status": "partial",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 17
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "10/52 weeks with commits",
                "points": 6.9,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 10
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "55 commits in the last year",
                "points": 15.7,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 55
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "good",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 76,
            "inputs": {
              "releases_count": 13,
              "latest_release_tag": "v0.8.0",
              "releases_from_tags": false,
              "days_since_latest_release": 19,
              "mean_days_between_releases": 288.7
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "13 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 13
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 19 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 19
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~288.7 days",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 288.7
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "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": 17,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 17 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 17
                    }
                  }
                ],
                "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": 48,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "moderate",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 60,
            "inputs": {
              "forks": 37,
              "stars": 402,
              "watchers": 9,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "402 stars",
                "points": 42.2,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 402
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "37 forks",
                "points": 13,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 37
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "9 watchers",
                "points": 5,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 9
                    }
                  }
                ],
                "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 (GPL-3.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "GPL-3.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": "critical",
            "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": 27,
            "inputs": {
              "packages": [
                "coverm"
              ],
              "dependents": null,
              "ecosystems": "crates",
              "total_downloads": 16928,
              "monthly_downloads": 40
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "40 downloads/month across crates",
                "points": 21.5,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 40,
                      "ecosystems": "crates"
                    }
                  }
                ],
                "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": 58,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "at_risk",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 30,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 6,
              "top_contributor_share": 0.887
            },
            "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 89% of commits",
                "points": 2.5,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 89
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "6 contributors",
                "points": 8.1,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 6
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 5 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "moderate",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "merged_prs": 37,
              "open_issues": 59,
              "closed_issues": 142,
              "issue_closed_ratio": 0.706,
              "closed_unmerged_prs": 45
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "71% of issues closed",
                "points": 33,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 71
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "37/82 decided PRs merged",
                "points": 17.3,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 37,
                      "decided": 82
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 1/16 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "verified_domain"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 67,
            "inputs": {
              "followers": 363,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "wwood",
              "public_repos": 243,
              "account_age_days": 6603
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "personal (user) account",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_personal",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": "not applicable to user accounts",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_applicable_to_user_accounts",
                    "params": {}
                  }
                ],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "363 followers of wwood",
                "points": 18.4,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 363,
                      "login": "wwood"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "243 public repos, account ~18 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 243
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 18
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "coverm"
              ],
              "ecosystems": "crates",
              "any_deprecated": false,
              "min_days_since_publish": 19
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on crates",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "crates"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 19 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 19
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "11 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 11
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "moderate",
        "name": "Engineering Quality",
        "value": 64,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 64,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "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": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "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": "5 out of 6 merged PRs checked by a CI test -- score normalized to 8",
                "points": 16,
                "status": "partial",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 65,
            "inputs": {
              "topics": [],
              "has_wiki": false,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": true,
              "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": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "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": "at_risk",
        "name": "Security",
        "value": 48,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Packaging. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "packaging"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 40,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 17,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 1,
              "scorecard_aggregate": 4
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "5 out of 6 merged PRs checked by a CI test -- score normalized to 8",
                "points": 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/16 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 5 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "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 3 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 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "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": "13 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "good",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 255 resolved dependencies against OSV. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 255
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 79,
            "inputs": {
              "source": "osv",
              "advisories": 18,
              "affected_packages": 13,
              "assessed_packages": 255,
              "unassessed_packages": 0,
              "affected_by_severity": "critical 2, low 1, unknown 10",
              "direct_affected_packages": 2
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "2 affected: ansi_term 0.12.1 (unknown), tempdir 0.3.7 (unknown)",
                "points": 24.7,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 2,
                      "packages": "ansi_term 0.12.1 (unknown), tempdir 0.3.7 (unknown)"
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "2 advisory-carrying package(s) unaddressed past 90 days; oldest published 3085 days ago",
                "points": 34.8,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_stale",
                    "params": {
                      "days": 90,
                      "count": 2,
                      "oldest": 3085
                    }
                  }
                ],
                "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": 255,
              "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": 3
            },
            "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": 75,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "good",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 73,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.532,
              "agent_instruction_files": [
                "AGENTS.md"
              ],
              "agent_instruction_max_bytes": 289
            },
            "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": "50 of 94 human commits state their intent (structured subject or explanatory body)",
                "points": 28.4,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 50,
                      "sampled": 94
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "good",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 71,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "Cargo.lock"
              ],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0.09,
              "toolchain_manifests": [
                "Cargo.toml"
              ],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "Cargo.toml (toolchain convention, no task runner)",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "toolchain_convention",
                    "params": {
                      "files": "Cargo.toml"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "Rust (statically typed)",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Rust"
                    }
                  }
                ],
                "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": "dependency automation configured, none observed in the sampled commits",
                "points": 5,
                "status": "partial",
                "details": [
                  {
                    "code": "dependency_bot_config_only",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "primary_language": "Rust",
              "largest_source_bytes": 157623,
              "source_files_sampled": 21,
              "oversized_source_files": 4
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Rust (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Rust"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "4/21 source files over 60KB",
                "points": 44.5,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 21,
                      "oversized": 4
                    }
                  }
                ],
                "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-27T09:22:40.844638Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/w/wwood/CoverM.svg",
  "full_name": "wwood/CoverM",
  "license_state": "standard",
  "license_spdx": "GPL-3.0"
}

Оцінки — це сигнали, а не гарантії. Вони відображають публічно видимі практики на GitHub — це не аудит коду й не гарантія безпеки.

Відсутні дані виключаються, а ваги перенормовуються — нуль за відсутність ніколи не ставиться. Методологія версіонована й відкрита: метрики v1.13.0, схема v0.27.0 — повна методологія · вікі метрик.

Як окремий результат виглядає на тлі всього реєстру: сукупна статистикаcrates.io.