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

zephyrproject-rtos / zephyr

Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.

CApache-2.0★ 15 965 зірок⑂ 9 592 форкиз трав. 2016 р.Переглянути на GitHub ↗

zephyrproject-rtos/zephyr має індекс здоров’я 91 зі 100, що відповідає смузі «Відмінний». Найвищий показник — Vitality (96/100), найнижчий — Security (77/100). Останнє оновлення — сьогодні. Більшість нещодавньої роботи виконують 17 учасників.

91
загалом / 100
Відмінний

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

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

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

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

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

Власність

Zephyr ProjectОрганізація
2 556 підписників179 публічних репозиторіївз трав. 2016 р.

За цим репозиторієм стоїть організація — спільна, підзвітна опіка, здатна пережити будь-якого окремого мейнтейнера.

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

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

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

96Відмінний · 22% загального індексу
Як обчислюється оцінка
36/36Свіжість push — останній push 0 дн. тому
36/36Ритм комітів — 52/52 тижнів із комітами
18/18Обсяг комітів — 24 528 комітів за останній рік
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10
Використані вхідні дані
commits_last_year24 528
human_commit_share1
days_since_last_push0
active_weeks_last_year52
Як обчислюється оцінка
27/27Випускає релізи — опубліковано 100 релізів
36/36Свіжість релізів — останній реліз 29 дн. тому
27/27Ритм релізів — реліз кожні ~10,2 дн.
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Використані вхідні дані
releases_count100
latest_release_tagv4.3.1
releases_from_tagsні
days_since_latest_release29
mean_days_between_releases10,2

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

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

93Відмінний · 18% загального індексу
Як обчислюється оцінка
60/60Зірки — 15 965 зірок
25/25Форки — 9 592 форків
14.5/15Спостерігачі — 408 спостерігачів
Використані вхідні дані
forks9 592
stars15 965
watchers408
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Як обчислюється оцінка
22.5/22.5README
22.5/22.5Ліцензія — визнана ліцензія (Apache-2.0)
18/18Настанови CONTRIBUTING
13.5/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ні

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

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

90Відмінний · 24% загального індексу
Як обчислюється оцінка
54/54Бас-фактор — на 17 контриб’ютор(ів) припадає половина всіх комітів
20.6/22.5Розподіл комітів — головний контриб’ютор — автор 8% комітів
13.5/13.5Широта контриб’юторів — 100 контриб’юторів
10/10OpenSSF Scorecard: Contributors — project has 24 contributing companies or organizations
Використані вхідні дані
bus_factor17
contributors_sampled100
top_contributor_share0,085
Як обчислюється оцінка
43.2/46.8Вирішення issue — закрито 92% issue
31.9/38.3Прийняття PR — злито 67 615/81 001 вирішених PR
15/15OpenSSF Scorecard: Code-Review — all changesets reviewed
Використані вхідні дані
merged_prs67 615
open_issues2 160
closed_issues26 690
issue_closed_ratio0,925
closed_unmerged_prs13 386
Як обчислюється оцінка
30/30Підтримка власника — у власності організації
0/20Верифікований домен
24.5/25Охоплення власника — 2 556 підписників у zephyrproject-rtos
25/25Послужний список — 179 публічних репозиторіїв, вік облікового запису ~10 р.
Використані вхідні дані
followers2 556
owner_typeOrganization
is_verified
owner_loginzephyrproject-rtos
public_repos179
account_age_days3 708

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

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

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

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

100Відмінний
Як обчислюється оцінка
30/30README
25/25Каталог документації
15/15Сайт документації / домашня сторінка — https://docs.zephyrproject.org
10/10Опис репозиторію
10/10Теми — 12 тем
10/10Wiki
Використані вхідні дані
topicsrtos, iot, embedded, real-time, mcu, microcontroller, zephyr, zephyr-rtos, zephyros, bluetooth, bluetooth-le, embedded-c
has_wikiтак
homepagehttps://docs.zephyrproject.org
has_readmeтак
has_docs_dirтак
has_descriptionтак

Безпека

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

77Добрий · 16% загального індексу
Як обчислюється оцінка
7.5/7.5Binary-Artifacts — no binaries found in the repo
3.8/7.5Branch-Protection — branch protection is not maximal on development and all release branches
2.5/2.5CI-Tests — 1 out of 1 merged PRs checked by a CI test -- score normalized to 10
2.5/2.5CII-Best-Practices — badge detected: Gold
7.5/7.5Code-Review — all changesets reviewed
2.5/2.5Contributors — project has 24 contributing companies or organizations
0/10Dangerous-Workflow — dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
5/5Fuzzing — project is 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 — немає даних
5/5Pinned-Dependencies — all dependencies are pinned
5/5SAST — SAST tool is run on all commits
5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — Project has not signed or included provenance with any releases.
7.5/7.5Token-Permissions — GitHub workflow tokens follow principle of least privilege
0/7.5Vulnerabilities — 22 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated17
scorecard_versionv5.5.0
checks_inconclusive1
scorecard_aggregate7,1
Виключено з оцінювання (немає даних або не застосовно): packaging. Залишкові ваги перенормовано.
Як обчислюється оцінка
35/35Прямі залежності без відомих сповіщень — жодна пряма залежність не має відомих сповіщень
0/25Непрямі залежності без відомих сповіщень — транзитивний набір не відокремлюється від залежностей розробки й тестування в цьому обсязі
0/40Немає задавнених сповіщень — жодне сповіщення не має дати публікації
Використані вхідні дані
sourceosv
advisories12
affected_packages4
assessed_packages276
unassessed_packages65
affected_by_severityhigh 2, moderate 1, low 1
direct_affected_packages0
Виключено з оцінювання (немає даних або не застосовно): Непрямі залежності без відомих сповіщень, Немає задавнених сповіщень. Залишкові ваги перенормовано. Звірено 276 резолвлених залежностей із OSV. 65 не вдалося оцінити — немає резолвленої версії, непідтримувана екосистема або поза межами звітованого переліку пакетів. Цей репозиторій не публікує пакета, який резолвить індекс, тож натомість оцінено граф залежностей репозиторію. Цей граф змішує закріплені версії для розробки й тестування зі справді постачаними залежностями, тож оцінюються лише задекларовані runtime-залежності; транзитивні знахідки подаються як контекст і в оцінку не входять. Досяжність не аналізується.

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

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

90Відмінний · 0% загального індексу
Як обчислюється оцінка
45/45Інструкції для агентів — .github/copilot-instructions.md
0/15Машиночитана документація (llms.txt)
40/40Читабельна історія комітів — намір зазначено у 100 з 100 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share1
agent_instruction_files.github/copilot-instructions.md
agent_instruction_max_bytes8 483
Як обчислюється оцінка
18/18Розгортання однією командою — doc/Makefile, samples/application_development/external_lib/mylib/Makefile, scripts/native_simulator/Makefile
22/22Автоматизовані тести
11/11Конфігурація лінтера / форматера — .ruff.toml, tox.ini
11/11Статична перевірка типів — scripts/pylib/twister/twisterlib/py.typed
10/10Відтворюване середовище — Dockerfile, lockfile
0/10Підтверджена практика роботи з агентами — серед останніх 100 комітів немає створених агентом
5/8Автоматизоване супроводження — автоматизацію залежностей налаштовано, але у вибірці комітів її не видно
10/10OpenSSF Scorecard: Pinned-Dependencies — all dependencies are pinned
Використані вхідні дані
has_nixні
has_testsтак
lockfilespackage-lock.json
has_dockerfileтак
typed_languageтак
bootstrap_filesdoc/Makefile, samples/application_development/external_lib/mylib/Makefile, scripts/native_simulator/Makefile
has_devcontainerні
has_linter_configтак
typecheck_configsscripts/pylib/twister/twisterlib/py.typed
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0
Як обчислюється оцінка
45/45Типізований код — C (статично типізована)
54.1/55Керовані розміри файлів — 219/13 859 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languageC
largest_source_bytes671 249
source_files_sampled13 859
oversized_source_files219
Як обчислюється оцінка
40/40Схема API (OpenAPI/GraphQL/proto) — samples/modules/nanopb/src/simple.proto
20/20Сервер MCP
40/40Придатні до запуску приклади — demos, notebooks, samples
Використані вхідні дані
example_dirsdemos, notebooks, samples
has_mcp_signalтак
api_schema_filessamples/modules/nanopb/src/simple.proto

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

15 965зірок GitHub
100контриб'юторів
24 528комітів за останні 12 місяців
0днів від останнього пушу
100релізів
17бас-фактор
2 160відкритих issue
npm, PyPIпакетних екосистем

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

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • File tree truncated by GitHub API; file-based signals may be incomplete

Докладніше

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

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

Показано лише найновішу історію — цей репозиторій перевищує вікно збору, тож найраніша історія не захоплена.

8 4008 6008 8009 0009 2009 4009 6009 592152026-022026-052026-07
Мажорні 0Мінорні 1Патчі 4
OpenSSF Scorecard 7.1 / 10
7.1сукупно

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

10Binary-Artifactsno binaries found in the repo
5Branch-Protectionbranch protection is not maximal on development and all release branches
10CI-Tests1 out of 1 merged PRs checked by a CI test -- score normalized to 10
10CII-Best-Practicesbadge detected: Gold
10Code-Reviewall changesets reviewed
10Contributorsproject has 24 contributing companies or organizations
0Dangerous-Workflowdangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
10Fuzzingproject is 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
10Pinned-Dependenciesall dependencies are pinned
10SASTSAST tool is run on all commits
10Security-Policysecurity policy file detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
10Token-PermissionsGitHub workflow tokens follow principle of least privilege
0Vulnerabilities22 existing vulnerabilities detected
Прямі залежності 1
РеєстрПакетОбмеження версіїМаніфест
npmdts-linter^0.5.1scripts/ci/package.json
Усі залежності 341

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

РеєстрПакетВерсіяЗв'язок
npmdts-linter0.5.1пряма
npm@antfu/install-pkg1.1.0непряма
npm@braintree/sanitize-url7.1.2непряма
npm@chevrotain/types11.1.2непряма
npm@iconify/types2.0.0непряма
npm@iconify/utils3.1.0непряма
npm@mermaid-js/parser1.1.1непряма
npm@types/d37.4.3непряма
npm@types/d3-array3.2.2непряма
npm@types/d3-axis3.0.6непряма
npm@types/d3-brush3.0.6непряма
npm@types/d3-chord3.0.6непряма
npm@types/d3-color3.1.3непряма
npm@types/d3-contour3.0.6непряма
npm@types/d3-delaunay6.0.4непряма
npm@types/d3-dispatch3.0.7непряма
npm@types/d3-drag3.0.7непряма
npm@types/d3-dsv3.0.7непряма
npm@types/d3-ease3.0.2непряма
npm@types/d3-fetch3.0.7непряма
npm@types/d3-force3.0.10непряма
npm@types/d3-format3.0.4непряма
npm@types/d3-geo3.1.0непряма
npm@types/d3-hierarchy3.1.7непряма
npm@types/d3-interpolate3.0.4непряма
npm@types/d3-path3.1.1непряма
npm@types/d3-polygon3.0.2непряма
npm@types/d3-quadtree3.0.6непряма
npm@types/d3-random3.0.3непряма
npm@types/d3-scale4.0.9непряма
npm@types/d3-scale-chromatic3.1.0непряма
npm@types/d3-selection3.0.11непряма
npm@types/d3-shape3.1.8непряма
npm@types/d3-time3.0.4непряма
npm@types/d3-time-format4.0.3непряма
npm@types/d3-timer3.0.2непряма
npm@types/d3-transition3.0.9непряма
npm@types/d3-zoom3.0.8непряма
npm@types/geojson7946.0.16непряма
npm@types/trusted-types2.0.7непряма
npm@upsetjs/venn.js2.0.0непряма
npmacorn8.16.0непряма
npmcommander7.2.0непряма
npmcommander8.3.0непряма
npmconfbox0.1.8непряма
npmcose-base1.0.3непряма
npmcose-base2.2.0непряма
npmcytoscape3.33.2непряма
npmcytoscape-cose-bilkent4.1.0непряма
npmcytoscape-fcose2.2.0непряма
npmd37.9.0непряма
npmd3-array2.12.1непряма
npmd3-array3.2.4непряма
npmd3-axis3.0.0непряма
npmd3-brush3.0.0непряма
npmd3-chord3.0.1непряма
npmd3-color3.1.0непряма
npmd3-contour4.0.2непряма
npmd3-delaunay6.0.4непряма
npmd3-dispatch3.0.1непряма
npmd3-drag3.0.0непряма
npmd3-dsv3.0.1непряма
npmd3-ease3.0.1непряма
npmd3-fetch3.0.1непряма
npmd3-force3.0.0непряма
npmd3-format3.1.2непряма
npmd3-geo3.1.1непряма
npmd3-hierarchy3.1.2непряма
npmd3-interpolate3.0.1непряма
npmd3-path1.0.9непряма
npmd3-path3.1.0непряма
npmd3-polygon3.0.1непряма
npmd3-quadtree3.0.1непряма
npmd3-random3.0.1непряма
npmd3-sankey0.12.3непряма
npmd3-scale4.0.2непряма
npmd3-scale-chromatic3.1.0непряма
npmd3-selection3.0.0непряма
npmd3-shape1.3.7непряма
npmd3-shape3.2.0непряма
npmd3-time3.1.0непряма
npmd3-time-format4.1.0непряма
npmd3-timer3.0.1непряма
npmd3-transition3.0.1непряма
npmd3-zoom3.0.0непряма
npmdagre-d3-es7.0.14непряма
npmdayjs1.11.20непряма
npmdelaunator5.1.0непряма
npmdevicetree-language-server0.9.4непряма
npmdompurify3.4.11непряма
npmes-toolkit1.46.1непряма
npmhachure-fill0.5.2непряма
npmiconv-lite0.6.3непряма
npminternmap1.0.1непряма
npminternmap2.0.3непряма
npmkatex0.16.45непряма
npmkhroma2.1.0непряма
npmlayout-base1.0.2непряма
npmlayout-base2.0.1непряма
npmlodash-es4.18.1непряма
npmmarked16.4.2непряма
npmmermaid11.15.0непряма
npmmlly1.8.2непряма
npmpackage-manager-detector1.6.0непряма
npmpath-data-parser0.1.0непряма
npmpathe2.0.3непряма
npmpkg-types1.3.1непряма
npmpoints-on-curve0.2.0непряма
npmpoints-on-path0.2.1непряма
npmrobust-predicates3.0.3непряма
npmroughjs4.6.6непряма
npmrw1.3.3непряма
npmsafer-buffer2.1.2непряма
npmstylis4.4.0непряма
npmtinyexec1.1.1непряма
npmts-dedent2.2.0непряма
npmufo1.6.3непряма
npmuuid14.0.0непряма
PyPIalabaster1.0.0непряма
PyPIanyio4.14.0непряма
PyPIanytreeнепряма
PyPIanytree2.13.0непряма
PyPIarrow1.4.0непряма
PyPIast-serialize0.5.0непряма
PyPIastroid4.0.4непряма
PyPIattrs26.1.0непряма
PyPIawscli1.45.36непряма
PyPIbabel2.18.0непряма
PyPIbeartype0.22.9непряма
PyPIboolean-py5.0непряма
PyPIbotocore1.43.36непряма
PyPIcachetools7.1.4непряма
PyPIcanopenнепряма
PyPIcanopen2.4.1непряма
PyPIcborнепряма
PyPIcertifi2026.6.17непряма
PyPIcffi2.0.0непряма
PyPIcharset-normalizer3.4.7непряма
PyPIclang-formatнепряма
PyPIclang-format22.1.5непряма
PyPIclick8.4.1непряма
PyPIcoapthon3непряма
PyPIcoloramaнепряма
PyPIcolorama0.4.6непряма
PyPIcoverageнепряма
PyPIcoverxygen1.8.1непряма
PyPIcryptography49.0.0непряма
PyPIdill0.4.1непряма
PyPIdistlib0.4.3непряма
PyPIdocopt0.6.2непряма
PyPIdocutils0.19непряма
PyPIdocutils0.22.4непряма
PyPIdoxmlparser1.17.0непряма
PyPIelastic-transport8.17.1непряма
PyPIelasticsearch8.19.3непряма
PyPIexceptiongroup1.3.1непряма
PyPIfilelock3.29.4непряма
PyPIgcovrнепряма
PyPIgcovr6.0непряма
PyPIgitdb4.0.12непряма
PyPIgitlint-coreнепряма
PyPIgitlint-core0.19.1непряма
PyPIgitpythonнепряма
PyPIgitpython3.1.50непряма
PyPIgraphvizнепряма
PyPIgrpcio-toolsнепряма
PyPIh110.16.0непряма
PyPIhalo0.0.31непряма
PyPIhtml5rdf1.2.1непряма
PyPIidna3.18непряма
PyPIijson3.5.0непряма
PyPIimagesize2.0.0непряма
PyPIiniconfig2.3.0непряма
PyPIintelhexнепряма
PyPIintelhex2.3.0непряма
PyPIisort8.0.1непряма
PyPIjinja23.1.6непряма
PyPIjmespath1.1.0непряма
PyPIjsonschemaнепряма
PyPIjsonschema4.26.0непряма
PyPIjsonschema-specifications2025.9.1непряма
PyPIjunit2htmlнепряма
PyPIjunit2html31.1.4непряма
PyPIjunitparserнепряма
PyPIjunitparser5.0.1непряма
PyPIlibrt0.11.0непряма
PyPIlicense-expression30.4.4непряма
PyPIlog-symbols0.0.14непряма
PyPIlogic2-automationнепряма
PyPIlpc-checksumнепряма
PyPIlxmlнепряма
PyPIlxml6.1.1непряма
PyPImarkupsafe3.0.3непряма
PyPImccabe0.7.0непряма
PyPImypyнепряма
PyPImypy2.1.0непряма
PyPImypy-extensions1.1.0непряма
PyPInatsortнепряма
PyPInatsort8.4.0непряма
PyPInumpyнепряма
PyPIopencv-pythonнепряма
PyPIowlrl7.1.4непряма
PyPIpackagingнепряма
PyPIpackaging26.2непряма
PyPIpathspec1.1.1непряма
PyPIpatoolнепряма
PyPIpillowнепряма
PyPIplatformdirs4.10.0непряма
PyPIplotlyнепряма
PyPIpluggy1.6.0непряма
PyPIplyнепряма
PyPIply3.11непряма
PyPIpolib1.2.0непряма
PyPIprettytable3.18.0непряма
PyPIprotobufнепряма
PyPIpsutilнепряма
PyPIpsutil7.2.2непряма
PyPIpyasn10.6.3непряма
PyPIpycparser3.0непряма
PyPIpyelftoolsнепряма
PyPIpyelftools0.33непряма
PyPIpygithubнепряма
PyPIpygithub2.9.1непряма
PyPIpygments2.20.0непряма
PyPIpyjwt2.13.0непряма
PyPIpykwalifyнепряма
PyPIpykwalify1.8.0непряма
PyPIpylink-squareнепряма
PyPIpylintнепряма
PyPIpylint4.0.6непряма
PyPIpynacl1.6.2непряма
PyPIpyocdнепряма
PyPIpyparsing3.3.2непряма
PyPIpyproject-api1.10.1непряма
PyPIpyrtcmнепряма
PyPIpyserialнепряма
PyPIpyserial3.5непряма
PyPIpyshacl0.31.0непряма
PyPIpytestнепряма
PyPIpytest9.1.1непряма
PyPIpython-canнепряма
PyPIpython-can4.6.1непряма
PyPIpython-dateutil2.9.0.post0непряма
PyPIpython-debian1.1.1непряма
PyPIpython-discovery1.4.2непряма
PyPIpython-dotenvнепряма
PyPIpython-dotenv1.2.2непряма
PyPIpython-magicнепряма
PyPIpython-magic0.4.27непряма
PyPIpython-magic-binнепряма
PyPIpython-magic-bin0.4.14непряма
PyPIpyubx2непряма
PyPIpyusbнепряма
PyPIpyyamlнепряма
PyPIpyyaml6.0.3непряма
PyPIrdflib7.6.0непряма
PyPIreferencing0.37.0непряма
PyPIregex2026.5.9непряма
PyPIrequestsнепряма
PyPIrequests2.34.2непряма
PyPIreuseнепряма
PyPIreuse6.2.0непряма
PyPIroman-numerals4.1.0непряма
PyPIrpds-py2026.5.1непряма
PyPIrsa4.7.2непряма
PyPIruamel-yaml0.19.1непряма
PyPIruff0.14.2непряма
PyPIs3transfer0.19.0непряма
PyPIsemantic-version2.10.0непряма
PyPIsemverнепряма
PyPIsetuptoolsнепряма
PyPIsetuptools82.0.1непряма
PyPIsh2.3.0непряма
PyPIsix1.17.0непряма
PyPIsmmap5.0.3непряма
PyPIsnowballstemmer3.1.1непряма
PyPIspdx-python-modelнепряма
PyPIspdx-toolsнепряма
PyPIspdx-tools0.8.5непряма
PyPIspdx3-validateнепряма
PyPIspdx3-validate0.0.5непряма
PyPIsphinx9.1.0непряма
PyPIsphinx-autobuild2025.8.25непряма
PyPIsphinx-copybutton0.5.2непряма
PyPIsphinx-last-updated-by-git0.3.8непряма
PyPIsphinx-lintнепряма
PyPIsphinx-lint1.0.2непряма
PyPIsphinx-notfound-page1.1.0непряма
PyPIsphinx-rtd-themeнепряма
PyPIsphinx-rtd-theme3.1.0непряма
PyPIsphinx-sitemap2.9.0непряма
PyPIsphinx-tabs3.5.0непряма
PyPIsphinx-togglebutton0.4.5непряма
PyPIsphinxcontrib-applehelp2.0.0непряма
PyPIsphinxcontrib-devhelp2.0.0непряма
PyPIsphinxcontrib-htmlhelp2.1.0непряма
PyPIsphinxcontrib-jquery4.1непряма
PyPIsphinxcontrib-jsmath1.0.1непряма
PyPIsphinxcontrib-mermaid2.0.2непряма
PyPIsphinxcontrib-programoutput0.20непряма
PyPIsphinxcontrib-qthelp2.0.0непряма
PyPIsphinxcontrib-serializinghtml2.0.0непряма
PyPIsphinxcontrib-svg2pdfconverter2.1.0непряма
PyPIspinners0.0.24непряма
PyPIspsdkнепряма
PyPIstarlette1.3.1непряма
PyPItabulateнепряма
PyPItabulate0.10.0непряма
PyPItermcolor3.3.0непряма
PyPItomli-w1.2.0непряма
PyPItomlkit0.15.0непряма
PyPItox4.56.0непряма
PyPItqdmнепряма
PyPItqdm4.68.3непряма
PyPItree-sitterнепряма
PyPItree-sitter0.25.2непряма
PyPItree-sitter-cmakeнепряма
PyPItree-sitter-cmake0.7.2.post1непряма
PyPItyping-extensions4.15.0непряма
PyPItzdata2026.2непряма
PyPIunidiffнепряма
PyPIunidiff0.7.5непряма
PyPIuritools6.1.2непряма
PyPIurllib32.7.0непряма
PyPIuvicorn0.49.0непряма
PyPIverminнепряма
PyPIvermin1.8.0непряма
PyPIvirtualenv21.5.1непряма
PyPIwatchfiles1.2.0непряма
PyPIwcwidth0.8.1непряма
PyPIwebsockets16.0непряма
PyPIwestнепряма
PyPIwest1.4.0непряма
PyPIwest1.5.0непряма
PyPIwheel0.47.0непряма
PyPIwindows-cursesнепряма
PyPIwrapt1.17.3непряма
PyPIxlsxwriter3.2.9непряма
PyPIxmltodict1.0.4непряма
PyPIyamllintнепряма
PyPIyamllint1.38.0непряма
Сповіщення про залежності 4

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

ПакетВерсіяЗв'язокКритичністьСповіщеньВиправлено в
gitpython3.1.50непрямависока43.1.52
pyasn10.6.3непрямависока50.6.4
setuptools82.0.1непрямапомірна283.0.0
dompurify3.4.11непряманизька13.4.12

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

Звіт у форматі JSON машиночитний
{
  "data": {
    "repo": {
      "topics": [
        "rtos",
        "iot",
        "embedded",
        "real-time",
        "mcu",
        "microcontroller",
        "zephyr",
        "zephyr-rtos",
        "zephyros",
        "bluetooth",
        "bluetooth-le",
        "embedded-c"
      ],
      "is_fork": false,
      "size_kb": 903407,
      "has_wiki": true,
      "homepage": "https://docs.zephyrproject.org",
      "languages": {
        "C": 120971728,
        "C++": 228104,
        "CSS": 9659,
        "ECL": 46632,
        "GDB": 1683,
        "Tcl": 16936,
        "HTML": 22788,
        "NASL": 2210,
        "Pawn": 2342,
        "Perl": 223187,
        "Raku": 321,
        "Roff": 149,
        "SmPL": 43251,
        "CMake": 3702547,
        "COBOL": 2161,
        "Forth": 2404,
        "PLSQL": 164,
        "Shell": 677733,
        "Pascal": 11279,
        "Prolog": 10927,
        "Python": 6315159,
        "BitBake": 2446,
        "Cadence": 1701,
        "Haskell": 603,
        "Assembly": 676211,
        "Makefile": 6467,
        "Batchfile": 760,
        "FreeBASIC": 888,
        "PureBasic": 13414,
        "FreeMarker": 982,
        "JavaScript": 32853,
        "PostScript": 308,
        "PowerShell": 2180,
        "TypeScript": 258,
        "Vim Script": 423,
        "EmberScript": 848,
        "JetBrains MPS": 3059,
        "Linker Script": 1196116,
        "RobotFramework": 2430,
        "Witcher Script": 1066
      },
      "pushed_at": "2026-07-22T14:40:44Z",
      "created_at": "2016-05-26T17:54:19Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-22T14:33:28Z",
      "description": "Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "Apache-2.0",
      "default_branch": "main",
      "license_spdx_raw": "Apache-2.0",
      "primary_language": "C",
      "significant_languages": [
        "C"
      ]
    },
    "owner": {
      "blog": "https://www.zephyrproject.org",
      "name": "Zephyr Project",
      "type": "Organization",
      "login": "zephyrproject-rtos",
      "company": null,
      "location": null,
      "followers": 2556,
      "avatar_url": "https://avatars.githubusercontent.com/u/19595895?v=4",
      "created_at": "2016-05-26T17:49:00Z",
      "is_verified": null,
      "public_repos": 179,
      "account_age_days": 3708
    },
    "license": {
      "state": "standard",
      "spdx_id": "Apache-2.0",
      "raw_spdx": "Apache-2.0",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v4.3.1",
          "kind": "patch",
          "published_at": "2026-06-23T12:27:28Z"
        },
        {
          "tag": "v4.3.1-rc1",
          "kind": "prerelease",
          "published_at": "2026-06-13T07:08:30Z"
        },
        {
          "tag": "v4.4.1",
          "kind": "patch",
          "published_at": "2026-06-10T18:06:45Z"
        },
        {
          "tag": "v4.4.1-rc1",
          "kind": "prerelease",
          "published_at": "2026-06-03T21:23:41Z"
        },
        {
          "tag": "v4.4.0",
          "kind": "minor",
          "published_at": "2026-04-14T21:33:16Z"
        },
        {
          "tag": "v4.4.0-rc3",
          "kind": "prerelease",
          "published_at": "2026-04-08T20:33:53Z"
        },
        {
          "tag": "v4.4.0-rc2",
          "kind": "prerelease",
          "published_at": "2026-04-02T21:06:28Z"
        },
        {
          "tag": "v3.7.2",
          "kind": "patch",
          "published_at": "2026-03-31T19:09:36Z"
        },
        {
          "tag": "v4.4.0-rc1",
          "kind": "prerelease",
          "published_at": "2026-03-24T23:16:10Z"
        },
        {
          "tag": "v4.2.2",
          "kind": "patch",
          "published_at": "2026-03-23T16:05:02Z"
        },
        {
          "tag": "v3.7.2-rc2",
          "kind": "prerelease",
          "published_at": "2026-03-14T12:19:10Z"
        },
        {
          "tag": "v4.3.0",
          "kind": "minor",
          "published_at": "2025-11-13T19:56:12Z"
        },
        {
          "tag": "v4.3.0-rc3",
          "kind": "prerelease",
          "published_at": "2025-11-08T14:43:55Z"
        },
        {
          "tag": "v4.3.0-rc2",
          "kind": "prerelease",
          "published_at": "2025-11-01T14:49:19Z"
        },
        {
          "tag": "v4.3.0-rc1",
          "kind": "prerelease",
          "published_at": "2025-10-25T14:38:11Z"
        },
        {
          "tag": "v4.2.1",
          "kind": "patch",
          "published_at": "2025-10-07T22:55:23Z"
        },
        {
          "tag": "v4.2.0",
          "kind": "minor",
          "published_at": "2025-07-19T01:11:16Z"
        },
        {
          "tag": "v4.2.0-rc3",
          "kind": "prerelease",
          "published_at": "2025-07-12T01:08:48Z"
        },
        {
          "tag": "v4.2.0-rc2",
          "kind": "prerelease",
          "published_at": "2025-07-08T17:30:19Z"
        },
        {
          "tag": "v4.2.0-rc1",
          "kind": "prerelease",
          "published_at": "2025-06-28T06:51:55Z"
        },
        {
          "tag": "v4.1.0",
          "kind": "minor",
          "published_at": "2025-03-07T18:18:05Z"
        },
        {
          "tag": "v3.7.1",
          "kind": "patch",
          "published_at": "2024-11-22T00:18:32Z"
        },
        {
          "tag": "v4.0.0",
          "kind": "major",
          "published_at": "2024-11-16T05:19:19Z"
        },
        {
          "tag": "v3.7.1-rc1",
          "kind": "prerelease",
          "published_at": "2024-11-12T22:33:08Z"
        },
        {
          "tag": "v4.0.0-rc3",
          "kind": "prerelease",
          "published_at": "2024-11-09T10:54:39Z"
        },
        {
          "tag": "v4.0.0-rc2",
          "kind": "prerelease",
          "published_at": "2024-11-02T22:11:52Z"
        },
        {
          "tag": "v4.0.0-rc1",
          "kind": "prerelease",
          "published_at": "2024-10-29T14:39:23Z"
        },
        {
          "tag": "v3.7.0",
          "kind": "minor",
          "published_at": "2024-07-26T13:59:09Z"
        },
        {
          "tag": "v3.7.0-rc3",
          "kind": "prerelease",
          "published_at": "2024-07-13T20:58:45Z"
        },
        {
          "tag": "v3.7.0-rc2",
          "kind": "prerelease",
          "published_at": "2024-06-29T13:06:37Z"
        },
        {
          "tag": "v3.7.0-rc1",
          "kind": "prerelease",
          "published_at": "2024-06-15T23:58:12Z"
        },
        {
          "tag": "v2.7.6",
          "kind": "patch",
          "published_at": "2024-03-01T22:49:48Z"
        },
        {
          "tag": "v3.6.0",
          "kind": "minor",
          "published_at": "2024-02-24T04:23:14Z"
        },
        {
          "tag": "v3.5.0",
          "kind": "minor",
          "published_at": "2023-10-20T10:33:24Z"
        },
        {
          "tag": "v3.5.0-rc3",
          "kind": "prerelease",
          "published_at": "2023-10-14T09:02:07Z"
        },
        {
          "tag": "v3.5.0-rc2",
          "kind": "prerelease",
          "published_at": "2023-10-06T18:03:13Z"
        },
        {
          "tag": "v3.5.0-rc1",
          "kind": "prerelease",
          "published_at": "2023-10-01T17:41:57Z"
        },
        {
          "tag": "v3.4.0",
          "kind": "minor",
          "published_at": "2023-06-16T17:16:35Z"
        },
        {
          "tag": "v3.4.0-rc3",
          "kind": "prerelease",
          "published_at": "2023-06-16T16:16:25Z"
        },
        {
          "tag": "v3.4.0-rc2",
          "kind": "prerelease",
          "published_at": "2023-06-05T01:45:51Z"
        },
        {
          "tag": "v2.7.5",
          "kind": "patch",
          "published_at": "2023-06-01T15:31:21Z"
        },
        {
          "tag": "v3.4.0-rc1",
          "kind": "prerelease",
          "published_at": "2023-05-28T23:25:31Z"
        },
        {
          "tag": "v3.3.0",
          "kind": "minor",
          "published_at": "2023-02-19T04:45:51Z"
        },
        {
          "tag": "v2.7.4",
          "kind": "patch",
          "published_at": "2022-12-23T02:25:12Z"
        },
        {
          "tag": "v3.2.0",
          "kind": "minor",
          "published_at": "2022-09-30T18:26:59Z"
        },
        {
          "tag": "v3.2.0-rc3",
          "kind": "prerelease",
          "published_at": "2022-09-23T20:14:34Z"
        },
        {
          "tag": "v3.2.0-rc2",
          "kind": "prerelease",
          "published_at": "2022-09-16T21:11:22Z"
        },
        {
          "tag": "v2.7.3",
          "kind": "patch",
          "published_at": "2022-08-22T18:06:03Z"
        },
        {
          "tag": "zephyr-v3.1.0",
          "kind": "other",
          "published_at": "2022-06-05T11:26:40Z"
        },
        {
          "tag": "v2.7.2",
          "kind": "patch",
          "published_at": "2022-04-22T16:49:13Z"
        },
        {
          "tag": "v2.7.2-rc1",
          "kind": "prerelease",
          "published_at": "2022-04-15T11:24:40Z"
        },
        {
          "tag": "zephyr-v3.0.0",
          "kind": "other",
          "published_at": "2022-02-21T23:17:49Z"
        },
        {
          "tag": "v3.0.0-rc3",
          "kind": "prerelease",
          "published_at": "2022-02-11T23:29:04Z"
        },
        {
          "tag": "v3.0.0-rc2",
          "kind": "prerelease",
          "published_at": "2022-02-11T23:28:40Z"
        },
        {
          "tag": "v3.0.0-rc1",
          "kind": "prerelease",
          "published_at": "2022-01-25T16:29:56Z"
        },
        {
          "tag": "zephyr-v2.7.1",
          "kind": "other",
          "published_at": "2021-12-15T18:54:50Z"
        },
        {
          "tag": "v1.14.3",
          "kind": "patch",
          "published_at": "2021-11-16T13:10:02Z"
        },
        {
          "tag": "zephyr-v2.7.0",
          "kind": "other",
          "published_at": "2021-10-17T02:10:53Z"
        },
        {
          "tag": "v2.7.0-rc5",
          "kind": "prerelease",
          "published_at": "2021-10-12T18:47:05Z"
        },
        {
          "tag": "v2.7.0-rc4",
          "kind": "prerelease",
          "published_at": "2021-10-02T11:16:15Z"
        },
        {
          "tag": "v2.7.0-rc3",
          "kind": "prerelease",
          "published_at": "2021-09-27T18:28:55Z"
        },
        {
          "tag": "v2.7.0-rc2",
          "kind": "prerelease",
          "published_at": "2021-09-18T00:57:47Z"
        },
        {
          "tag": "v2.7.0-rc1",
          "kind": "prerelease",
          "published_at": "2021-09-03T19:50:06Z"
        },
        {
          "tag": "v2.6.1-rc1",
          "kind": "prerelease",
          "published_at": "2021-08-03T20:21:00Z"
        },
        {
          "tag": "v2.5.1-rc1",
          "kind": "prerelease",
          "published_at": "2021-08-03T20:20:23Z"
        },
        {
          "tag": "v1.14.3-rc1",
          "kind": "prerelease",
          "published_at": "2021-08-03T20:23:25Z"
        },
        {
          "tag": "zephyr-v2.6.0",
          "kind": "other",
          "published_at": "2021-06-04T22:09:52Z"
        },
        {
          "tag": "v2.6.0-rc3",
          "kind": "prerelease",
          "published_at": "2021-06-02T13:18:22Z"
        },
        {
          "tag": "v2.6.0-rc2",
          "kind": "prerelease",
          "published_at": "2021-06-01T21:17:42Z"
        },
        {
          "tag": "v2.6.0-rc1",
          "kind": "prerelease",
          "published_at": "2021-05-10T00:14:28Z"
        },
        {
          "tag": "zephyr-v2.5.0",
          "kind": "other",
          "published_at": "2021-02-14T15:14:35Z"
        },
        {
          "tag": "v2.5.0-rc4",
          "kind": "prerelease",
          "published_at": "2021-02-12T12:33:38Z"
        },
        {
          "tag": "v2.5.0-rc3",
          "kind": "prerelease",
          "published_at": "2021-02-07T16:32:12Z"
        },
        {
          "tag": "v2.5.0-rc2",
          "kind": "prerelease",
          "published_at": "2021-02-03T05:13:18Z"
        },
        {
          "tag": "v2.5.0-rc1",
          "kind": "prerelease",
          "published_at": "2021-01-24T22:25:32Z"
        },
        {
          "tag": "zephyr-v2.4.0",
          "kind": "other",
          "published_at": "2020-09-27T20:43:21Z"
        },
        {
          "tag": "v2.4.0-rc3",
          "kind": "prerelease",
          "published_at": "2020-09-24T23:11:23Z"
        },
        {
          "tag": "v2.4.0-rc2",
          "kind": "prerelease",
          "published_at": "2020-09-19T15:39:27Z"
        },
        {
          "tag": "v2.4.0-rc1",
          "kind": "prerelease",
          "published_at": "2020-09-05T19:53:40Z"
        },
        {
          "tag": "zephyr-v2.3.0",
          "kind": "other",
          "published_at": "2020-06-05T20:07:33Z"
        },
        {
          "tag": "v2.3.0-rc2",
          "kind": "prerelease",
          "published_at": "2020-06-03T22:02:45Z"
        },
        {
          "tag": "zephyr-v2.2.1",
          "kind": "other",
          "published_at": "2020-05-29T09:09:25Z"
        },
        {
          "tag": "v2.3.0-rc1",
          "kind": "prerelease",
          "published_at": "2020-05-10T17:00:03Z"
        },
        {
          "tag": "v1.14.2",
          "kind": "patch",
          "published_at": "2020-04-20T01:24:45Z"
        },
        {
          "tag": "zephyr-v2.2.0",
          "kind": "other",
          "published_at": "2020-03-10T09:00:36Z"
        },
        {
          "tag": "v2.2.0-rc3",
          "kind": "prerelease",
          "published_at": "2020-02-29T19:27:06Z"
        },
        {
          "tag": "v2.2.0-rc2",
          "kind": "prerelease",
          "published_at": "2020-02-25T20:43:42Z"
        },
        {
          "tag": "v2.2.0-rc1",
          "kind": "prerelease",
          "published_at": "2020-02-08T18:35:01Z"
        },
        {
          "tag": "zephyr-v2.1.0",
          "kind": "other",
          "published_at": "2019-12-09T03:15:46Z"
        },
        {
          "tag": "v2.1.0-rc3",
          "kind": "prerelease",
          "published_at": "2019-12-04T04:38:55Z"
        },
        {
          "tag": "v2.1.0-rc2",
          "kind": "prerelease",
          "published_at": "2019-11-28T01:51:42Z"
        },
        {
          "tag": "v2.1.0-rc1",
          "kind": "prerelease",
          "published_at": "2019-11-11T02:04:23Z"
        },
        {
          "tag": "zephyr-v1.14.1",
          "kind": "other",
          "published_at": "2019-10-06T16:45:27Z"
        },
        {
          "tag": "v1.14.1-rc3",
          "kind": "prerelease",
          "published_at": "2019-10-06T14:53:35Z"
        },
        {
          "tag": "zephyr-v2.0.0",
          "kind": "other",
          "published_at": "2019-09-06T23:53:16Z"
        },
        {
          "tag": "v2.0.0-rc3",
          "kind": "prerelease",
          "published_at": "2019-09-04T07:47:28Z"
        },
        {
          "tag": "v2.0.0-rc2",
          "kind": "prerelease",
          "published_at": "2019-08-29T09:08:49Z"
        },
        {
          "tag": "v1.14.1-rc2",
          "kind": "prerelease",
          "published_at": "2019-08-21T12:31:43Z"
        },
        {
          "tag": "v2.0.0-rc1",
          "kind": "prerelease",
          "published_at": "2019-08-11T21:34:42Z"
        },
        {
          "tag": "v1.14.1-rc1",
          "kind": "prerelease",
          "published_at": "2019-07-05T16:14:59Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "7a713dcdacefc895761906829a50c0b4a1cc8c0a",
          "body": "…cheme\"\n\nThis reverts commit 7e681dbfbdab87462daa109af07bbdf7324d8174.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: esp32_sys_timer: adopt the sys_clock_lock() s…",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "12c33a1e5acfffaabd4561cb095721ca960d2a9c",
          "body": "…e centrally\"\n\nThis reverts commit 926f7c4c0f813f80d66bbda45de97ffd72ef9b6e.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"kernel: timeout: add sys_clock_unused() and decide sloppy idl…",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cd894d6c823aafc4a35a7d5296126231607c9d5f",
          "body": "This reverts commit 269e2e618a8d5f0f92df26ff8c329118589b3fc8.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: stop the clock via sys_clock_unused()\"",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "998053d6cdd25e359ef097e3f6ec72ed8131daee",
          "body": "…lock_unused()\"\n\nThis reverts commit e5903e47964406853019fe2b5516d523534bc03a.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: mcux_os: track the no-deadline state in sys_c…",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e0f04c284729aa5ceb9628a6812e43b2f9fc6a6a",
          "body": "…e handoff\"\n\nThis reverts commit 7d0bb85adc29b541a9c3fb722f0b8c6fa6d29d7e.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"kernel: timeout: add sys_clock_idle_enter() for low-power idl…",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3d7be78899f5b824650450bf1ef2c64f26d87480",
          "body": "…out()\"\n\nThis reverts commit fa9b836416b344f03db12cc11c4f6afac66f31a7.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"kernel: timeout: drop the idle argument of sys_clock_set_time…",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a9637109bce964a0ef4f7328925d54a10a339f23",
          "body": "This reverts commit 448024149dc6a54292623f4813be7e305bafe78c.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"doc: document the sys_clock timeout API changes\"",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5e3755f2586db4a6984900dc8a6e90ad03d39d10",
          "body": "This reverts commit ca254d5a1dafd71b811efe6926d4ddd225e4c93f.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: add generic tickless system-timer core\"",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1682c93b779562f94f1c6a9a27f0c08479a34797",
          "body": "This reverts commit 23ad0c4df561ed89237fb0377b2bca1a76cb21d5.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: riscv_machine: use the generic timer core\"",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f56b5b71093655e37f13793e3b531aa0dd41e081",
          "body": "This reverts commit 772b66b9af347889febaf67e8397f9296c6bc5b1.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: arm_arch: use the generic timer core\"",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2093a8a64fcfaf437cd45b0e6afd36b57f24c466",
          "body": "This reverts commit d367b01e889ae4fa12631fbca55e2ce86406f244.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: riscv_supervisor: use the generic timer core\"",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "702a2a91af48e89c7ec6b91bd586a472373d62dc",
          "body": "This reverts commit 8f0b89f00d7eeeb123e65c69938f4646a6b7c035.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: hpet: use the generic timer core\"",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5315b021df6c74699b7e0ec9b5b39da4738efdb7",
          "body": "This reverts commit 86b421a8e09e2ef6dc03aaa6ce841f1922ffbeab.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: mips_cp0: use the generic timer core\"",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8c51154db3bfc71101c0dfa2d625a39ff99c20a4",
          "body": "This reverts commit 9a29bf5facf00ded447eb4caf7bd35e3e7021674.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: cmsdk_apb: make the cycle read wrap-safe\"",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cd2767565ac9d86cd9637a758a3c600039ec8a37",
          "body": "This reverts commit b2a4659e5edb650d9ce09e0c5084e294093b097f.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: cmsdk_apb: derive min timeout from cycle rate\"",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "51f0dd7080d3bbe61f6e43446acccaaff51b1080",
          "body": "This reverts commit b5e4dc82a40e1efe3db30cddcf03aa9403f58b58.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: cmsdk_apb: use the generic timer core\"",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d0c9d59879919967a2a543b066a7b128573db712",
          "body": "…le rate\"\n\nThis reverts commit 1b608c64c91eb5e2de675e4100cae83c2b0c6e11.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: cortex_m_systick: derive min timeout from cyc…",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9e2830833e5bf696027db9c4403894e3aff010fe",
          "body": "This reverts commit d277540ce0186fec691ce853e582679543565b8b.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: cortex_m_systick: use the generic timer core\"",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0a1a94fce9c1b5252d652dbadadc6afc726305ba",
          "body": "…-SMP)\"\n\nThis reverts commit 72b15164ac389d504bb1a5e0969302cb9a728d9c.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: arcv2_timer0: use the generic timer core (non…",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fc68c1791aebead8436166bf6a5301a29e1271c0",
          "body": "This reverts commit 2b432e151bc25aa2da7f118b0ddf67ee1802d245.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: renesas_ra_ulpt: use the generic timer core\"",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4735f03a72c4b8970766296448dcc651b36aa5c4",
          "body": "This reverts commit 4b0877cebe95f1f0b77e17ed3c894e5b3d63f03b.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: xtensa_sys_timer: use the generic timer core\"",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4788eea582d3702bca009e39566fec392e7a531b",
          "body": "This reverts commit fe872510f526387c95ce414bb1c02350fc0d696c.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: openrisc_tick_timer: use the generic timer core\"",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2ed81af07177d5de6075e2573ef60872cc7c7365",
          "body": "This reverts commit 112ed46350586f5803ce2dcf3a67e62b91dae5db.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: leon_gptimer: use the generic timer core\"",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5ae4107e5ce4b76a26097228d676958e79a15502",
          "body": "This reverts commit e8163a10525e3fb0cf84aa30c9ae85005f15ec8e.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: native_sim_timer: use the generic timer core\"",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b78adcb5a057b15eab547029d324fa4f7242eccb",
          "body": "This reverts commit b63136f402d936959299b07c5e3b75d2b9f23489.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: apic_tsc: use the generic timer core\"",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4fc41d796f9d73727d43bd2cc6b8efa37de90261",
          "body": "This reverts commit 72d14283bda2824ce8256b51defd8bcc4189483a.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: intel_adsp_timer: use the generic timer core\"",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5d84d97777fb285c0e6cd5d07bcca6991c5da043",
          "body": "This reverts commit dde56fe906b1957c9889214dd0eaa22580d30a11.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: esp32_sys_timer: use the generic timer core\"",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7d6c2f6ecdf11d5678aef2810ecb67244769e390",
          "body": "This reverts commit 4171a0b8ec57c9dc3d3d7693ea0a3b12c61825ea.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"doc: document the generic tickless system-timer core\"",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "30bde0ca80ccb735b005f71f4d9fa155ac66940a",
          "body": "…ple raw\"\n\nThis reverts commit 1f4ecea7f64bafb35d7af2d953244a07111d1f86.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: cortex_m_systick: keep the drift-comp VAL sam…",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa789c4a99b4c144c179b782aac9701e3fd75b3e",
          "body": "…ock\"\n\nThis reverts commit 0bbd4843faa3a007dd0655b5273253042eb1642c.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: fix the equality-match compare catch-up livel…",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "919a7f6aac1aef3d6dc7ef0de950a4f14d5b0625",
          "body": "…core\"\n\nThis reverts commit 11b534905147f0d238446ce0ad298ff3cbb19f10.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: declare 64-bit counter widths to the generic …",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ddeb4c1989c0f4dfedd5770daec4fd07ab578c03",
          "body": "…width\"\n\nThis reverts commit c7fa0dbf0115c00767a5f2e9df18d69d42dad61a.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: riscv_supervisor: declare the 64-bit counter …",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "12ef92c921a92b40bcfb4f7a331cf9d69b8d89dc",
          "body": "… rearming\"\n\nThis reverts commit 2e1bbb20d0ea81945772b329382cf966f6e03e33.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: openrisc: do not drop a comparator match when…",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "57359d618b7206e222736400224bb465cb844bc0",
          "body": "…-up reloads\"\n\nThis reverts commit 4f6aebf11cfc6569480785fa6f8a9f95ae98fdd7.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"drivers: timer: core: skip redundant rearms and protect catch…",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fc7a4cc73941350466b15be5b48b080a8d7dc149",
          "body": "…ernel RAM\"\n\nThis reverts commit be2ec6abf535885f22f11836adac7db8dedd7759.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "Revert \"tests: drivers: reset: mmio: keep the fake registers out of k…",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2b920af98951c785279556a779a0ea455fcdedee",
          "body": "Some ST7789V panel integrations rely on the controller reset defaults\nor on fixed power sequencing and must not receive the default power\nand gamma configuration commands during initialization.\n\nInstead of adding a bypass flag, make the power/gamma/tuning\ndevicetree properties optional (vcom, gctrl,\n[…]\n following the existing vrhs/vdvs handling.\n\nExisting boards set all of these properties, so their initialization\nsequence is unchanged.\n\nSigned-off-by: Yeray Lois Sanchez <yerayloissanchez@gmail.com>",
          "is_bot": false,
          "headline": "drivers: display: st7789v: make panel tuning properties optional",
          "author_name": "Yeray Lois Sanchez",
          "author_login": "yeraylois",
          "committed_at": "2026-07-22T13:16:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "cde71719c50ce99646dc5091ba8b49f6de219636",
          "body": "Move the cred storage settings to ZMS.\n\nSigned-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>",
          "is_bot": false,
          "headline": "snippets: wifi-credentials: Enable ZMS for cred storage",
          "author_name": "Ravi Dondaputi",
          "author_login": "rado17",
          "committed_at": "2026-07-22T13:16:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "91c7b2dcde47bf362cd1fe9293532f1d8af978a2",
          "body": "This commit adds ocotp device node to RTS5817\n\nSigned-off-by: Darcy Lu <darcy_lu@realsil.com.cn>",
          "is_bot": false,
          "headline": "dts: realtek: rts5817: Add ocotp device node to RTS5817",
          "author_name": "Darcy Lu",
          "author_login": "RtkFP",
          "committed_at": "2026-07-22T13:16:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9d1dece9008db56f87044ee6f53939131c6b54a1",
          "body": "This commit adds On-Chip OTP driver for RTS5817\n\nSigned-off-by: Darcy Lu <darcy_lu@realsil.com.cn>",
          "is_bot": false,
          "headline": "drivers: otp: Add support for Realtek RTS5817 OCOTP",
          "author_name": "Darcy Lu",
          "author_login": "RtkFP",
          "committed_at": "2026-07-22T13:16:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "673f1990e405719bd1ca2f7988f62e755e51291b",
          "body": "@ZEPHYR_BASE@/subsys/fs/zms/zms_priv.h  does not exist and is being\nadded as input.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "doc: remove zms header from INPUT in doxygen conf",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T13:16:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c53307ab88e1e7588366bd1bcb51176d35119459",
          "body": "The nRF52 and nRF91 SoC bring-up (instruction cache and DC/DC\nregulator enable) ran as a SYS_INIT at PRE_KERNEL_1 priority 0, i.e.\nbefore any device initialization. Convert these to the SoC early init\nhook, which runs at the same point, and select SOC_EARLY_INIT_HOOK for\nthe respective series. No fu\n[…]\ntional change; this aligns the nRF52 and\nnRF91 series with the SoC hook convention already used across the tree.\n\nAssisted-by: Claude:claude-opus-4-8\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "soc: nordic: move init code from SYS_INIT to hooks",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T13:15:50Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c0e2ec021135adb333fce373c618a6e775d67305",
          "body": "arc_vpx_sem_init() initialized vpx_sem[0] once per CPU instead of\ninitializing each CPU's semaphore: the loop passed the array (decaying\nto &vpx_sem[0]) to k_sem_init() rather than the i-th element, leaving\nthe semaphores of CPUs 1..N-1 uninitialized on multi-core\nconfigurations.\n\nSigned-off-by: Anas Nashif <anas.nashif@intel.com>",
          "is_bot": false,
          "headline": "arch: arc: fix VPX semaphore array initialization",
          "author_name": "Anas Nashif",
          "author_login": "nashif",
          "committed_at": "2026-07-22T13:15:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "41e318da6483ca1b4f3eb424309a853147c81314",
          "body": "FlexSPI is NXP's proprietary memory-mapped flash/PSRAM controller\nwith its own LUT engine, AHB buffers, and clock tree — it is not a\nstandard SPI bus. Including spi-device.yaml pulled in `on-bus: spi`\nsemantics and 11 SPI-specific properties (duplex, spi-cpol, spi-cpha,\netc.) that are meaningless fo\n[…]\nld nodes) to appear as SPI bus devices, misleading downstream\nDTS authors into placing SPI-specific properties on nodes whose\nbindings do not declare them.\n\nSigned-off-by: Albort Xue <yao.xue@nxp.com>",
          "is_bot": false,
          "headline": "dts: bindings: nxp,imx-flexspi-device: drop spi-device.yaml include",
          "author_name": "Albort Xue",
          "author_login": "Albort12138",
          "committed_at": "2026-07-22T13:15:23Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d310b65d7b97d1fdf065d491aabc07585378c887",
          "body": "Fix formatting issues in the driver class' listfile which caused CI\ncompliance checks failures.\n\nSigned-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>",
          "is_bot": false,
          "headline": "drivers: ieee802154: fix CMakeLists formatting issues",
          "author_name": "Mathieu Choplain",
          "author_login": "mathieuchopstm",
          "committed_at": "2026-07-22T13:15:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "21a39d0169d58ecb4e0a9ef3f65f21359e195dad",
          "body": "Compatible existence should indeed be checked using the autogenerated\nKconfig option DT_HAS_ST_STM32WBA_IEEE802154_ENABLED as intended by the\ncode in the listfile; however, in CMake, Kconfig options have the\n`CONFIG_` prefix as in C!\n\nUpdate the listfile to check for compatible existence using the proper\nvariable (i.e., with the `CONFIG_` prefix).\n\nSigned-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>",
          "is_bot": false,
          "headline": "drivers: ieee802154: stm32wba: check correct variable for blobs_verify",
          "author_name": "Mathieu Choplain",
          "author_login": "mathieuchopstm",
          "committed_at": "2026-07-22T13:15:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1c5336e796bff9d5cc585ac99b698085da39ad3a",
          "body": "Group the PSI5 driver backend definitions in a dedicated backend API\ngroup and document the driver API structure with the driver_ops\nDoxygen commands, tagging each operation as optional.\n\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: psi5: adopt driver_ops Doxygen convention",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T13:15:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f92591d53bb216ad18dc9cd9b994f76f7d33d0d3",
          "body": "The init sanity check on the DAC_RES status field logged an error but\nreturned ret, which the preceding successful status read had set to\n0, so a failed identity check still reported successful init. Return\n-EIO.\n\nAssisted-by: Claude:fable-5\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: dac: dac161s997: Return an error on resolution mismatch",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T13:14:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5e4a497236558603fd81c72fe76df21042955251",
          "body": "The driver reports raw controller coordinates straight to INPUT_ABS_X and\nINPUT_ABS_Y, so none of the touchscreen-common orientation properties reach\nit: a board wiring this part to a rotated or mirrored panel has no way to\ndescribe that in devicetree. Every other touch driver in the tree goes\nthrou\n[…]\n.\n\nBehaviour is unchanged for existing users -- with none of the orientation\nproperties set the helper passes the coordinates through untouched.\n\nSigned-off-by: Arkadiusz Grzelka <devitwise@gmail.com>",
          "is_bot": false,
          "headline": "input: cf1133: report through the common touchscreen helper",
          "author_name": "Arkadiusz Grzelka",
          "author_login": "devitwise",
          "committed_at": "2026-07-22T13:14:13Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9530967d84685b62c91059833bce1becf034c450",
          "body": "For better visibility and understandability, make the error a fatal\none. Otherwise it's easy to miss it and linker errors are more\nconfusing.\n\nSigned-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>",
          "is_bot": false,
          "headline": "secure_storage: turn CMake error into fatal one",
          "author_name": "Tomi Fontanilles",
          "author_login": "tomi-font",
          "committed_at": "2026-07-22T13:14:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "865799ac5bfbf976cd196bdabbc512305159be22",
          "body": "- Add top-level comments to files that did not have one, and reference\nzephyr/psa/key_ids.h for a lengthier description.\n\n- Align all *_RANGE_SIZE macros to use /**< to start the comment as\nthis is what makes the Doxygen check happy.\n\nSigned-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>",
          "is_bot": false,
          "headline": "secure_storage: improve zephyr/psa/*_ids.h headers",
          "author_name": "Tomi Fontanilles",
          "author_login": "tomi-font",
          "committed_at": "2026-07-22T13:14:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dcb0242fbf857e1275baaa565ad5f2f6ac14ea77",
          "body": "Make it clear in the help text of CONFIG_SECURE_STORAGE_64_BIT_UID\nthat compiling with and without it results in incompatible entries.\n\nSigned-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>",
          "is_bot": false,
          "headline": "secure_storage: warn against 64-bit UID incompatibility",
          "author_name": "Tomi Fontanilles",
          "author_login": "tomi-font",
          "committed_at": "2026-07-22T13:14:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6cf45e00f18bcc36c3953827bed1987d81f54506",
          "body": "It should not be set manually.\n\nSigned-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>",
          "is_bot": false,
          "headline": "tests: net: lib: remove settings of CONFIG_MBEDTLS_BUILTIN",
          "author_name": "Tomi Fontanilles",
          "author_login": "tomi-font",
          "committed_at": "2026-07-22T13:14:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "da0e461b9a3d720b075c8362344e925844bdfcc5",
          "body": "At the same time rework the test.yaml file, renaming test scenarios\nand .conf files.\n\nSigned-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>",
          "is_bot": false,
          "headline": "tests: net: lib: tls_credentials: add test cases for Secure Storage",
          "author_name": "Tomi Fontanilles",
          "author_login": "tomi-font",
          "committed_at": "2026-07-22T13:14:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aceb9c24aa5c7e43dfc9cbb4f329b80fae993a6a",
          "body": "To more descriptive and accurate names.\n\nSigned-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>",
          "is_bot": false,
          "headline": "net: lib: tls_credentials: rename backend source files",
          "author_name": "Tomi Fontanilles",
          "author_login": "tomi-font",
          "committed_at": "2026-07-22T13:14:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c430804fdc7c0a2b1781122d743a2b687145fd56",
          "body": "Officially define the PSA PS UID range the TLS credentials PS backend\nhas been using.\n\nSigned-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>",
          "is_bot": false,
          "headline": "net: lib: tls_credentials: define a PSA PS UID range",
          "author_name": "Tomi Fontanilles",
          "author_login": "tomi-font",
          "committed_at": "2026-07-22T13:14:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2bcf58806f9d1836b160d92491fbdca25f6cd54e",
          "body": "Load the wheel count into a local before the report loop instead of\nwalking data->touch_instance.p_cfg->num_wheels on every iteration.\n\nAssisted-by: Claude:opus-4.8\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: input: rx_ctsu: Cache the wheel count in the report loop",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T13:13:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7cde7267b9a646f538f4a4799f81c463a848dc2e",
          "body": "Load the slider count into a local before the report loop instead of\nwalking data->touch_instance.p_cfg->num_sliders on every iteration.\n\nAssisted-by: Claude:opus-4.8\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: input: rx_ctsu: Cache the slider count in the report loop",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T13:13:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "982267d7a841de10683b86e60ba10831b752559c",
          "body": "The devicetree-derived button, slider and wheel context tables are only\nread, so mark them and their matching config pointer fields const; the\nmutable runtime state already lives in separate arrays.\n\nAssisted-by: Claude:opus-4.8\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: input: rx_ctsu: Constify the touch context tables",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T13:13:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa529b3d32a1e76b265273d1bf9a85a011ebba59",
          "body": "The changed-column mask is loop invariant, so compute it once before the\ndrive loop instead of reloading last_col_state through the escaped data\npointer on every iteration.\n\nAssisted-by: Claude:opus-4.8\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: input: gpio_kbd_matrix: Hoist the changed-column mask",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T13:13:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e7f46a04d44013dd2a609ec90b952d9288383d2a",
          "body": "gpio_qdec_idle_polling_mode() only depends on the static const config,\nso evaluate it once and reuse the result for the LED enable and disable\nbranches.\n\nAssisted-by: Claude:opus-4.8\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: input: gpio_qdec: Cache the idle polling mode",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T13:13:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f9ccfc8e706a2a99c311481eccae8885ed27f420",
          "body": "analog_axis_num_axes() is defined in another translation unit and cannot\nbe inlined here, so cache its result in a local instead of calling it on\nevery loop iteration, matching the save and load helpers.\n\nAssisted-by: Claude:opus-4.8\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: input: analog_axis: Cache the axis count in the log loop",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T13:13:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cd2fb185ac7e088bdde35a3810adb0adf8bed860",
          "body": "Replace the byte-at-a-time per-fragment linearization loop with memcpy\nand an equivalent up-front bounds check.\n\nAssisted-by: Claude:opus-4.8\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: ethernet: sy1xx_mac: Use memcpy for TX linearize",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T13:12:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "055c4bb8c0e29c54bfcb6dc34f9167106fe10ded",
          "body": "Replace the byte-at-a-time copy into the TX DMA buffer with memcpy.\n\nAssisted-by: Claude:opus-4.8\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: ethernet: sy1xx_mac: Use memcpy for TX DMA copy",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T13:12:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5bfb26c0b146fde8b3b2a303a4bc30c809a84ae2",
          "body": "Call synopGMAC_is_last_tx_desc() once and reuse the result instead of\nevaluating it twice with identical arguments.\n\nAssisted-by: Claude:opus-4.8\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: ethernet: numaker: Cache last-descriptor check",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T13:12:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1f9200b6aa2540c66c674e644625a5b0f06b03b1",
          "body": "Read the volatile RX descriptor status word once per frame and reuse\nit. After OWN reads clear, the descriptor is CPU-owned and stable.\n\nAssisted-by: Claude:opus-4.8\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: ethernet: wch: Snapshot RX descriptor status",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T13:12:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0c1f3e313394d6cba074ad4a1e814bf287fc5cec",
          "body": "The whole SPI burst buffer was cleared even though the header and\npayload are written unconditionally afterwards. Zero only the trailing\npad.\n\nAssisted-by: Claude:opus-4.8\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: ethernet: adin2111: Zero only the TX buffer pad",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T13:12:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "45a4e5b224bcfcc7928e10286c712efcc72c3f34",
          "body": "The OA data chunk header is constant across chunks. Compute it once\nbefore the loop instead of on every iteration; the transmitted bytes\nare unchanged.\n\nAssisted-by: Claude:opus-4.8\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: ethernet: adin2111: Hoist loop-invariant OA RX header",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T13:12:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d34c1c7295e487844d85c6cf0833c04307029c64",
          "body": "The RX chunk request header is constant across chunks. Compute it once\nbefore the receive loop; the SPI traffic is unchanged.\n\nAssisted-by: Claude:opus-4.8\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: ethernet: oa_tc6: Hoist loop-invariant RX header",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T13:12:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "29d8ba7f016cae84d7004c7f22d02efd7742262d",
          "body": "Replace the three read-modify-write operations on the RX descriptor\naddress word with one read and write producing the same value.\n\nAssisted-by: Claude:opus-4.8\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: ethernet: mchp_gmac_g1: Collapse RX descriptor writes",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T13:12:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d84af001b8c739759a16c4049d7c3ab81683dcfb",
          "body": "The set_detect_mode callback documented an enable parameter, but the\nsignature names it enabled.\n\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>\nAssisted-by: Claude:opus-4.8",
          "is_bot": false,
          "headline": "input: kbd_matrix: Fix set_detect_mode parameter name",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T13:11:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "174f395ecfdc9b5d7b1ea00bebc474bd46f684c2",
          "body": "The `info` pointer provided to the scan result callback is `const`.\n\nSigned-off-by: Jordan Yates <jordan@embeint.com>",
          "is_bot": false,
          "headline": "tests: wifi: hwsim: callback info is const",
          "author_name": "Jordan Yates",
          "author_login": "JordanYates",
          "committed_at": "2026-07-22T10:13:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b61b1ff1c34b22c017c3f259ce7acd68950ef69a",
          "body": "String parameters in `wifi_connect_req_params` are all `const` capable.\n\nSigned-off-by: Jordan Yates <jordan@embeint.com>",
          "is_bot": false,
          "headline": "tests: wifi: hwsim: make strings `const`",
          "author_name": "Jordan Yates",
          "author_login": "JordanYates",
          "committed_at": "2026-07-22T10:13:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f58ffd300e53f67e03b26fd992e9f8e84a84c9cf",
          "body": "An explicit cast is not needed to go from `char` to `uint8_t` (see 10\nlines down), and dropping the `const` qualifier is incorrect.\n\nSigned-off-by: Jordan Yates <jordan@embeint.com>",
          "is_bot": false,
          "headline": "tests: wifi: hwsim: drop unneeded, incorrect cast",
          "author_name": "Jordan Yates",
          "author_login": "JordanYates",
          "committed_at": "2026-07-22T10:13:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3d1412770a41e9e72780d85121ab4fabbd4acef1",
          "body": "Fix SonarQube issue, possible `NULL` parameter passed to `memcpy`.\n\nSigned-off-by: Jordan Yates <jordan@embeint.com>",
          "is_bot": false,
          "headline": "wifi: hwsim: ensure non-NULL `memcpy` arg",
          "author_name": "Jordan Yates",
          "author_login": "JordanYates",
          "committed_at": "2026-07-22T10:13:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a49098d26c64ce4b2816241b9aa14ec8d2bf283a",
          "body": "Fix SonarQube issue (rule c:S5825).\n\nSigned-off-by: Jordan Yates <jordan@embeint.com>",
          "is_bot": false,
          "headline": "dma: emul: use `typedef` instead of `#define`",
          "author_name": "Jordan Yates",
          "author_login": "JordanYates",
          "committed_at": "2026-07-22T10:13:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1f21d40299a9082ac662426a443c55fb17764140",
          "body": "get_status() indexed the channel table before validating the\nchannel and accepted a channel equal to the channel count, reading\none past the array. Validate first with an exclusive bound like\nthe other entry points.\n\nAssisted-by: Claude:fable-5\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: dma: mcux_lpc: Fix channel bounds check in get_status",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T10:13:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "66be6204a7ba9b40a72e6e028b52a6bb1c893ae5",
          "body": "In the memory-to-memory path the RX configuration result was\nimmediately overwritten by the TX call, so a failed RX descriptor\nsetup was reported as success.\n\nAssisted-by: Claude:fable-5\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: dma: esp32_gdma: Check RX configuration result",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T10:13:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f380eff583e0a8dce059fb557a2c90cafad113be",
          "body": "A priority equal to the table size passed the check and read one\nentry past the priority table.\n\nAssisted-by: Claude:fable-5\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: dma: stm32u5: Fix priority bounds check",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T10:13:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5813cac8cf60318b728e18c6196fe9c2c4693061",
          "body": "ll_i2s_dma_busy() returned true when the transmitter was idle (TX\nempty and not busy), the opposite of its name, its H7 branch and\nwhat both callers expect. A STOP or DRAIN issued mid-transfer\ndisabled the stream immediately, while one issued when idle parked\nthe stream in STOPPING forever. Return the negated expression.\n\nAssisted-by: Claude:fable-5\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: i2s: stm32: Fix inverted busy check on non-H7 parts",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T10:13:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c28db9baf03e1b1b65d6c4945c49b80c6b240238",
          "body": "The millisecond timeout was multiplied by the external clock\nfrequency in 32-bit arithmetic, overflowing for timeouts above\n131 seconds and programming a much shorter period than requested.\nDo the conversion in 64-bit.\n\nAssisted-by: Claude:fable-5\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: watchdog: andes_atcwdt200: Fix overflow in timeout conversion",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T10:13:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3b2bef1cb2b0618faf7309c596eb4e3a4f7e0742",
          "body": "In the zero-copy TX path, nxp_wifi_internal_tx() copies the Ethernet\nheader into the outbuf structure but keeps the original ETH header\nnet_buf attached to the net_pkt. This wastes one tx_buf slot per\npacket while it sits in the WMM queue waiting to be transmitted.\n\nUnder heavy TX backpressure (e.g.\n[…]\n. The payload\nfragment remains attached and the cursor position is unaffected since\nit already points past the ETH header.\n\nAssisted-by: WChat:Claude\nSigned-off-by: Maochen Wang <maochen.wang@nxp.com>",
          "is_bot": false,
          "headline": "drivers: wifi: nxp: release ETH header frag after copy in TX path",
          "author_name": "Maochen Wang",
          "author_login": "MaochenWang1",
          "committed_at": "2026-07-22T10:13:04Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4ca79bf16ae6fc79b297c40b05bba79f5229e129",
          "body": "net_pkt_pull() and net_pkt_trim_buffer() release consumed net_buf\nfragments using net_buf_unref(), which does not call\nnet_pkt_alloc_del(). This leaves stale entries in the net_pkt_allocs\ntracking table, causing the \"net allocs\" shell command to incorrectly\nshow freed buffers as still in use.\n\nRepla\n[…]\n with net_pkt_frag_unref() in both paths so\nthat the alloc tracker is properly updated when the last reference is\ndropped.\n\nAssisted-by: WChat:Claude\nSigned-off-by: Maochen Wang <maochen.wang@nxp.com>",
          "is_bot": false,
          "headline": "net: pkt: use net_pkt_frag_unref in pull and trim paths",
          "author_name": "Maochen Wang",
          "author_login": "MaochenWang1",
          "committed_at": "2026-07-22T10:13:04Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2b138a484996460f6500d7314a294f34b1e452d1",
          "body": "When CONFIG_NET_DEBUG_NET_PKT_ALLOC is enabled, net_pkt_alloc_add() was\nonly called under CONFIG_NET_PKT_LOG_LEVEL >= LOG_LEVEL_DBG for buffer\nfragments allocated in pkt_alloc_buffer(), and under NET_LOG_LEVEL >=\nLOG_LEVEL_DBG for net_pkt in pkt_alloc(). This caused the \"net allocs\"\nshell command to\n[…]\nd-data-size path with a NULL check to prevent\n  dereference and tracking table pollution when net_buf_alloc_len()\n  fails.\n\nAssisted-by: WChat:Claude\nSigned-off-by: Maochen Wang <maochen.wang@nxp.com>",
          "is_bot": false,
          "headline": "net: pkt: fix alloc tracking for net_buf fragments",
          "author_name": "Maochen Wang",
          "author_login": "MaochenWang1",
          "committed_at": "2026-07-22T10:13:04Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e31b84d5b2e84acf2b639ca9e2bb1b70ae6b5db6",
          "body": "The counter API gained optional set/get calibration ops but the\ncounter test suite had no coverage for them. Add a\ntest_set_get_calibration case to counter_basic_api, mirroring the\nRTC API calibration test: validate zero and edge values, then sweep\n+/-200000 ppb in 10000 ppb steps, stopping at the h\n[…]\nuncalibrated counter.\n\nVerified on frdm_k64f: the RTC instance exercises the full sweep and\nthe PIT instances take the not-supported path, both suites pass.\n\nSigned-off-by: Holt Sun <holt.sun@nxp.com>",
          "is_bot": false,
          "headline": "tests: counter: add clock calibration test case",
          "author_name": "Holt Sun",
          "author_login": "Holt-Sun",
          "committed_at": "2026-07-22T10:12:57Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5b1e30a5956ef99d53ed295f01e3d5e18dad4198",
          "body": "The counter API declares optional clock calibration ops in signed\nparts-per-billion, but the Kinetis RTC counter driver did not\nimplement them, so counter_set/get_calibration returned -ENOSYS.\n\nImplement them using the RTC Time Compensation Register. TCR[7:0]\nconfigures the number of 32.768 kHz cycl\n[…]\nTION=y): suite passes including the new\nset/get calibration case sweeping +/-200000 ppb.\n\nLink: K64 Sub-Family Reference Manual Rev.2 - ch44 RTC_TCR (44.2.4)\nSigned-off-by: Holt Sun <holt.sun@nxp.com>",
          "is_bot": false,
          "headline": "drivers: counter: mcux_rtc: implement clock calibration",
          "author_name": "Holt Sun",
          "author_login": "Holt-Sun",
          "committed_at": "2026-07-22T10:12:57Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "db3897bb6c363325c5ab80feed1d93f65603d2fa",
          "body": "The write loop read the retained row state from digit_buf[py] but\nstored the updated segment back to digit_buf[y], so only the first\nrow of the shadow buffer was ever updated and later partial writes\nmerged against stale row data. Store at the loop index.\n\nAssisted-by: Claude:fable-5\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: display: max7219: Store shadow buffer row at loop index",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T10:12:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d36d911cfb15e71f79466150687aa105bb17768b",
          "body": "The HSYNC polarity was computed from the vsync-active timing\nproperty, a copy-paste from the VSYNC line above, so a panel with\ndifferent sync polarities got the wrong HSYNC polarity. Use\nhsync-active.\n\nAssisted-by: Claude:fable-5\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: display: renesas_lcdc: Derive HSYNC polarity from hsync-active",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T10:12:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0a5bbe55246a7dfc4f1a26a200bfe0f9548485c7",
          "body": "flash_si32_valid_range() returns bool, but the write alignment\nchecks returned -EINVAL, which converts to true and marks\nmisaligned writes as valid. An odd size then made the write loop\nread one byte past the source buffer. Return false as the other\nchecks do.\n\nAssisted-by: Claude:fable-5\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: flash: si32: Fix alignment check return values",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T10:12:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3260dea0438f9a3f39d8dbc8f9db4a7275555853",
          "body": "The API table referenced ad405x_adc_read_async, which does not exist;\nthe function is adc_ad405x_read_async, so builds with\nCONFIG_ADC_ASYNC failed.\n\nAssisted-by: Claude:fable-5\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: adc: ad405x: Fix async read callback name",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T10:12:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "57bdff230d9d7c5f7e530a9b52a3fd0a1db17c9d",
          "body": "num_channels is a count and channels are used as 0-based CC indices,\nbut both guards used '>', letting channel == num_channels index one\nelement past the valid range. Use '>='.\n\nAssisted-by: Claude:fable-5\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: pwm: silabs_timer: Fix channel bounds checks",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T10:11:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a12a50f713de7a9a01fb1b4bc97628208939376c",
          "body": "Valid channels are 0 to MAX31790_CHANNEL_COUNT - 1, but both checks\nused '>', accepting channel 6 and addressing registers beyond the\nper-channel ranges. Use '>='.\n\nAssisted-by: Claude:fable-5\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: pwm: max31790: Fix channel bounds checks",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T10:11:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9bcf962b9b927e2cad8bf283130baa1f8478a404",
          "body": "The clock source mux update used the encoded field width (in bits)\ndirectly as the clear mask, so only part of a multi-bit source field\nwas cleared and stale select bits could survive. Convert the width to\na bit mask with BIT_MASK().\n\nAssisted-by: Claude:fable-5\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: clock_control: alif: Convert source field width to a mask",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T10:11:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5a0f490e5b7bd94756e537cf9b04188d24c4f88c",
          "body": "The memcpy used sizeof(pin_cfg), reading a whole pinctrl_soc_pin from\na single pinmux array element and past the end for the last pin. Use\nsizeof(pin_cfg.pinmux).\n\nAssisted-by: Claude:fable-5\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: gpio: mcux_rgpio: Fix pinmux copy size",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T10:11:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "652d3ca81b12461263a4ed0d9e5ccf3c3afd116b",
          "body": "The PIN_POSEL case AND-ed the two disjoint bit masks, producing 0, so\nthe old POC0/POCSEL0 values were never cleared and could not be set\nback to zero. OR the masks, matching the POC2/POC3 cases.\n\nAssisted-by: Claude:fable-5\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: pinctrl: rza2m: Fix POC0/POCSEL0 clear mask",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T10:11:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b3bb5c89a016806066651a68aaf201d730ffa131",
          "body": "The invalid divider-combination path returned !EINVAL, which is 0, so\nrejected FRQCR combinations were reported as success without\nprogramming the register. Return -EINVAL.\n\nAssisted-by: Claude:fable-5\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: clock_control: rza2m: Return an error for invalid dividers",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T10:10:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2377f6d6256af46b129d6ed67f3b0bb37fab1684",
          "body": "The async completion path handed the driver data pointer to\nspi_smartbond_pm_policy_state_lock_put(), which expects the device and\nforwards it to pm_device_runtime_put(). Pass dev, as every other call\nsite does.\n\nAssisted-by: Claude:fable-5\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: spi: smartbond: Pass device to PM lock release in ISR",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T10:10:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "33d45497e070bbda0453017e3b36d2e849b541fc",
          "body": "The FIRC async div1 case was guarded by a misspelled\nFSL_FEATURE_FSL_FEATURE_SCG_HAS_FIRCDIV1 macro that never exists, so\nthe clock was compiled out on every SoC and rate queries returned\n-EINVAL. Use the correct feature macro name.\n\nAssisted-by: Claude:fable-5\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: clock_control: mcux_scg: Fix FIRCDIV1 feature guard",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T10:10:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a3d7303542028fb9ca8eb55eac6cc79cd190501a",
          "body": "The fallback condition used ||, which is always true for two different\nconstants, so every interrupt was forced to IOAPIC_LOW delivery and a\nrequested IOAPIC_FIXED mode was discarded. Use &&.\n\nAssisted-by: Claude:fable-5\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: intc: intel_vtd: Fix delivery mode selection",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T10:09:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5634d9097e52388454a7aa7146583b59267dbd3d",
          "body": "Four functions validated the pin index with '>' against\nARRAY_SIZE(pin_pint_id), letting pin == ARRAY_SIZE read one element\npast the end of the array. Use '>=', matching nxp_pint_pin_enable().\n\nAssisted-by: Claude:fable-5\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: intc: nxp_pint: Fix pin bounds checks",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T10:08:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e4ce091487a4ec2f172f6256d2c5f7c1235e55a9",
          "body": "The STM32F413/F423 PLL configuration merged the R divider and post-R\ndivider into one macro argument due to a missing comma, so\nLL_RCC_PLL_ConfigDomain_SAI() received four arguments instead of five\nand the branch did not compile when selected.\n\nAssisted-by: Claude:fable-5\nSigned-off-by: Benjamin Cabé <benjamin@zephyrproject.org>",
          "is_bot": false,
          "headline": "drivers: clock_control: stm32f4: Fix missing comma in PLL SAI config",
          "author_name": "Benjamin Cabé",
          "author_login": "kartben",
          "committed_at": "2026-07-22T10:08:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 100,
      "commits_last_year": 24528,
      "latest_release_at": "2026-06-23T12:27:28Z",
      "latest_release_tag": "v4.3.1",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 52,
      "days_since_latest_release": 29,
      "mean_days_between_releases": 10.2
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 87,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": []
    },
    "popularity": {
      "forks": 9592,
      "stars": 15965,
      "watchers": 408,
      "fork_history": {
        "days": [
          {
            "date": "2026-02-19",
            "count": 3
          },
          {
            "date": "2026-02-20",
            "count": 4
          },
          {
            "date": "2026-02-21",
            "count": 2
          },
          {
            "date": "2026-02-22",
            "count": 5
          },
          {
            "date": "2026-02-23",
            "count": 5
          },
          {
            "date": "2026-02-24",
            "count": 9
          },
          {
            "date": "2026-02-25",
            "count": 7
          },
          {
            "date": "2026-02-26",
            "count": 11
          },
          {
            "date": "2026-02-27",
            "count": 2
          },
          {
            "date": "2026-02-28",
            "count": 6
          },
          {
            "date": "2026-03-01",
            "count": 3
          },
          {
            "date": "2026-03-02",
            "count": 11
          },
          {
            "date": "2026-03-03",
            "count": 4
          },
          {
            "date": "2026-03-04",
            "count": 7
          },
          {
            "date": "2026-03-05",
            "count": 5
          },
          {
            "date": "2026-03-06",
            "count": 8
          },
          {
            "date": "2026-03-07",
            "count": 3
          },
          {
            "date": "2026-03-08",
            "count": 3
          },
          {
            "date": "2026-03-09",
            "count": 10
          },
          {
            "date": "2026-03-10",
            "count": 7
          },
          {
            "date": "2026-03-11",
            "count": 7
          },
          {
            "date": "2026-03-12",
            "count": 5
          },
          {
            "date": "2026-03-13",
            "count": 8
          },
          {
            "date": "2026-03-14",
            "count": 5
          },
          {
            "date": "2026-03-15",
            "count": 7
          },
          {
            "date": "2026-03-16",
            "count": 5
          },
          {
            "date": "2026-03-17",
            "count": 4
          },
          {
            "date": "2026-03-18",
            "count": 11
          },
          {
            "date": "2026-03-19",
            "count": 4
          },
          {
            "date": "2026-03-20",
            "count": 7
          },
          {
            "date": "2026-03-21",
            "count": 6
          },
          {
            "date": "2026-03-22",
            "count": 6
          },
          {
            "date": "2026-03-23",
            "count": 11
          },
          {
            "date": "2026-03-24",
            "count": 9
          },
          {
            "date": "2026-03-25",
            "count": 10
          },
          {
            "date": "2026-03-26",
            "count": 3
          },
          {
            "date": "2026-03-27",
            "count": 12
          },
          {
            "date": "2026-03-28",
            "count": 4
          },
          {
            "date": "2026-03-29",
            "count": 2
          },
          {
            "date": "2026-03-30",
            "count": 6
          },
          {
            "date": "2026-03-31",
            "count": 9
          },
          {
            "date": "2026-04-01",
            "count": 9
          },
          {
            "date": "2026-04-02",
            "count": 11
          },
          {
            "date": "2026-04-03",
            "count": 8
          },
          {
            "date": "2026-04-04",
            "count": 3
          },
          {
            "date": "2026-04-05",
            "count": 2
          },
          {
            "date": "2026-04-06",
            "count": 2
          },
          {
            "date": "2026-04-07",
            "count": 5
          },
          {
            "date": "2026-04-08",
            "count": 7
          },
          {
            "date": "2026-04-09",
            "count": 7
          },
          {
            "date": "2026-04-10",
            "count": 4
          },
          {
            "date": "2026-04-11",
            "count": 4
          },
          {
            "date": "2026-04-12",
            "count": 7
          },
          {
            "date": "2026-04-13",
            "count": 9
          },
          {
            "date": "2026-04-14",
            "count": 11
          },
          {
            "date": "2026-04-15",
            "count": 6
          },
          {
            "date": "2026-04-16",
            "count": 6
          },
          {
            "date": "2026-04-17",
            "count": 9
          },
          {
            "date": "2026-04-18",
            "count": 5
          },
          {
            "date": "2026-04-19",
            "count": 3
          },
          {
            "date": "2026-04-20",
            "count": 10
          },
          {
            "date": "2026-04-21",
            "count": 5
          },
          {
            "date": "2026-04-22",
            "count": 8
          },
          {
            "date": "2026-04-23",
            "count": 5
          },
          {
            "date": "2026-04-24",
            "count": 7
          },
          {
            "date": "2026-04-25",
            "count": 3
          },
          {
            "date": "2026-04-26",
            "count": 2
          },
          {
            "date": "2026-04-27",
            "count": 5
          },
          {
            "date": "2026-04-28",
            "count": 6
          },
          {
            "date": "2026-04-29",
            "count": 7
          },
          {
            "date": "2026-04-30",
            "count": 7
          },
          {
            "date": "2026-05-01",
            "count": 5
          },
          {
            "date": "2026-05-02",
            "count": 8
          },
          {
            "date": "2026-05-03",
            "count": 5
          },
          {
            "date": "2026-05-04",
            "count": 6
          },
          {
            "date": "2026-05-05",
            "count": 6
          },
          {
            "date": "2026-05-06",
            "count": 12
          },
          {
            "date": "2026-05-07",
            "count": 6
          },
          {
            "date": "2026-05-08",
            "count": 11
          },
          {
            "date": "2026-05-09",
            "count": 3
          },
          {
            "date": "2026-05-10",
            "count": 1
          },
          {
            "date": "2026-05-11",
            "count": 9
          },
          {
            "date": "2026-05-12",
            "count": 5
          },
          {
            "date": "2026-05-13",
            "count": 8
          },
          {
            "date": "2026-05-14",
            "count": 8
          },
          {
            "date": "2026-05-15",
            "count": 7
          },
          {
            "date": "2026-05-16",
            "count": 1
          },
          {
            "date": "2026-05-17",
            "count": 6
          },
          {
            "date": "2026-05-18",
            "count": 15
          },
          {
            "date": "2026-05-19",
            "count": 10
          },
          {
            "date": "2026-05-20",
            "count": 8
          },
          {
            "date": "2026-05-21",
            "count": 15
          },
          {
            "date": "2026-05-22",
            "count": 6
          },
          {
            "date": "2026-05-23",
            "count": 7
          },
          {
            "date": "2026-05-24",
            "count": 3
          },
          {
            "date": "2026-05-25",
            "count": 6
          },
          {
            "date": "2026-05-26",
            "count": 2
          },
          {
            "date": "2026-05-27",
            "count": 11
          },
          {
            "date": "2026-05-28",
            "count": 9
          },
          {
            "date": "2026-05-29",
            "count": 7
          },
          {
            "date": "2026-05-30",
            "count": 8
          },
          {
            "date": "2026-05-31",
            "count": 6
          },
          {
            "date": "2026-06-01",
            "count": 11
          },
          {
            "date": "2026-06-02",
            "count": 5
          },
          {
            "date": "2026-06-03",
            "count": 6
          },
          {
            "date": "2026-06-04",
            "count": 10
          },
          {
            "date": "2026-06-05",
            "count": 3
          },
          {
            "date": "2026-06-06",
            "count": 3
          },
          {
            "date": "2026-06-07",
            "count": 5
          },
          {
            "date": "2026-06-08",
            "count": 3
          },
          {
            "date": "2026-06-09",
            "count": 11
          },
          {
            "date": "2026-06-10",
            "count": 10
          },
          {
            "date": "2026-06-11",
            "count": 8
          },
          {
            "date": "2026-06-12",
            "count": 5
          },
          {
            "date": "2026-06-13",
            "count": 4
          },
          {
            "date": "2026-06-14",
            "count": 6
          },
          {
            "date": "2026-06-15",
            "count": 4
          },
          {
            "date": "2026-06-16",
            "count": 5
          },
          {
            "date": "2026-06-17",
            "count": 5
          },
          {
            "date": "2026-06-18",
            "count": 5
          },
          {
            "date": "2026-06-19",
            "count": 6
          },
          {
            "date": "2026-06-20",
            "count": 1
          },
          {
            "date": "2026-06-21",
            "count": 4
          },
          {
            "date": "2026-06-22",
            "count": 9
          },
          {
            "date": "2026-06-23",
            "count": 10
          },
          {
            "date": "2026-06-24",
            "count": 9
          },
          {
            "date": "2026-06-25",
            "count": 5
          },
          {
            "date": "2026-06-26",
            "count": 8
          },
          {
            "date": "2026-06-27",
            "count": 2
          },
          {
            "date": "2026-06-28",
            "count": 6
          },
          {
            "date": "2026-06-29",
            "count": 3
          },
          {
            "date": "2026-06-30",
            "count": 11
          },
          {
            "date": "2026-07-01",
            "count": 8
          },
          {
            "date": "2026-07-02",
            "count": 6
          },
          {
            "date": "2026-07-03",
            "count": 8
          },
          {
            "date": "2026-07-04",
            "count": 2
          },
          {
            "date": "2026-07-05",
            "count": 3
          },
          {
            "date": "2026-07-06",
            "count": 9
          },
          {
            "date": "2026-07-07",
            "count": 13
          },
          {
            "date": "2026-07-08",
            "count": 10
          },
          {
            "date": "2026-07-09",
            "count": 14
          },
          {
            "date": "2026-07-10",
            "count": 10
          },
          {
            "date": "2026-07-11",
            "count": 4
          },
          {
            "date": "2026-07-12",
            "count": 3
          },
          {
            "date": "2026-07-13",
            "count": 7
          },
          {
            "date": "2026-07-14",
            "count": 5
          },
          {
            "date": "2026-07-15",
            "count": 11
          },
          {
            "date": "2026-07-16",
            "count": 7
          },
          {
            "date": "2026-07-17",
            "count": 8
          },
          {
            "date": "2026-07-18",
            "count": 1
          },
          {
            "date": "2026-07-19",
            "count": 6
          },
          {
            "date": "2026-07-20",
            "count": 12
          },
          {
            "date": "2026-07-21",
            "count": 5
          },
          {
            "date": "2026-07-22",
            "count": 6
          }
        ],
        "complete": false,
        "collected": 1000,
        "total_forks": 9592
      },
      "star_history": null,
      "open_issues_and_prs": 3852
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "demos",
        "notebooks",
        "samples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": true,
      "bootstrap_files": [
        "doc/Makefile",
        "samples/application_development/external_lib/mylib/Makefile",
        "scripts/native_simulator/Makefile"
      ],
      "api_schema_files": [
        "samples/modules/nanopb/src/simple.proto"
      ],
      "has_devcontainer": false,
      "typecheck_configs": [
        "scripts/pylib/twister/twisterlib/py.typed"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 671249,
      "source_files_sampled": 13859,
      "oversized_source_files": 219,
      "agent_instruction_files": [
        ".github/copilot-instructions.md"
      ],
      "agent_instruction_max_bytes": 8483
    },
    "dependencies": {
      "manifests": [
        "doc/package.json",
        "doc/requirements.txt",
        "scripts/requirements-actions-basic.txt",
        "scripts/requirements-actions.txt",
        "scripts/requirements-base.txt",
        "scripts/requirements-build-test.txt",
        "scripts/requirements-compliance.txt",
        "scripts/requirements-extras.txt",
        "scripts/requirements-run-test.txt",
        "scripts/requirements-west.txt",
        "scripts/requirements.txt"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "gitpython",
            "direct": false,
            "version": "3.1.50",
            "severity": "high",
            "ecosystem": "pypi",
            "cvss_score": 8.8,
            "advisory_ids": [
              "GHSA-2f96-g7mh-g2hx",
              "GHSA-956x-8gvw-wg5v",
              "GHSA-rwj8-pgh3-r573",
              "GHSA-v396-v7q4-x2qj"
            ],
            "fixed_version": "3.1.52",
            "advisory_count": 4,
            "oldest_advisory_days": 0
          },
          {
            "name": "pyasn1",
            "direct": false,
            "version": "0.6.3",
            "severity": "high",
            "ecosystem": "pypi",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-8ppf-4f7h-5ppj",
              "GHSA-hm4w-wwcw-mr6r",
              "PYSEC-2026-3455",
              "PYSEC-2026-3456",
              "PYSEC-2026-3457"
            ],
            "fixed_version": "0.6.4",
            "advisory_count": 5,
            "oldest_advisory_days": 7
          },
          {
            "name": "setuptools",
            "direct": false,
            "version": "82.0.1",
            "severity": "moderate",
            "ecosystem": "pypi",
            "cvss_score": 6.1,
            "advisory_ids": [
              "GHSA-h35f-9h28-mq5c",
              "PYSEC-2026-3447"
            ],
            "fixed_version": "83.0.0",
            "advisory_count": 2,
            "oldest_advisory_days": 13
          },
          {
            "name": "dompurify",
            "direct": false,
            "version": "3.4.11",
            "severity": "low",
            "ecosystem": "npm",
            "cvss_score": 0,
            "advisory_ids": [
              "GHSA-c2j3-45gr-mqc4"
            ],
            "fixed_version": "3.4.12",
            "advisory_count": 1,
            "oldest_advisory_days": 0
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "low": 1,
          "high": 2,
          "moderate": 1
        },
        "advisory_count": 12,
        "affected_count": 4,
        "assessed_count": 276,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 65,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm",
        "pypi"
      ],
      "dependencies": [
        {
          "name": "dts-linter",
          "manifest": "scripts/ci/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.5.1"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "dts-linter",
            "direct": true,
            "version": "0.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@antfu/install-pkg",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@braintree/sanitize-url",
            "direct": false,
            "version": "7.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@chevrotain/types",
            "direct": false,
            "version": "11.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@iconify/types",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@iconify/utils",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@mermaid-js/parser",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3",
            "direct": false,
            "version": "7.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-array",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-axis",
            "direct": false,
            "version": "3.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-brush",
            "direct": false,
            "version": "3.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-chord",
            "direct": false,
            "version": "3.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-color",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-contour",
            "direct": false,
            "version": "3.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-delaunay",
            "direct": false,
            "version": "6.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-dispatch",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-drag",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-dsv",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-ease",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-fetch",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-force",
            "direct": false,
            "version": "3.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-format",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-geo",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-hierarchy",
            "direct": false,
            "version": "3.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-interpolate",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-path",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-polygon",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-quadtree",
            "direct": false,
            "version": "3.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-random",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-scale",
            "direct": false,
            "version": "4.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-scale-chromatic",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-selection",
            "direct": false,
            "version": "3.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-shape",
            "direct": false,
            "version": "3.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-time",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-time-format",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-timer",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-transition",
            "direct": false,
            "version": "3.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-zoom",
            "direct": false,
            "version": "3.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@types/geojson",
            "direct": false,
            "version": "7946.0.16",
            "ecosystem": "npm"
          },
          {
            "name": "@types/trusted-types",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@upsetjs/venn.js",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "8.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "confbox",
            "direct": false,
            "version": "0.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "cose-base",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "cose-base",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "cytoscape",
            "direct": false,
            "version": "3.33.2",
            "ecosystem": "npm"
          },
          {
            "name": "cytoscape-cose-bilkent",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "cytoscape-fcose",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3",
            "direct": false,
            "version": "7.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-array",
            "direct": false,
            "version": "2.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-array",
            "direct": false,
            "version": "3.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "d3-axis",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-brush",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-chord",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-color",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-contour",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-delaunay",
            "direct": false,
            "version": "6.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "d3-dispatch",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-drag",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-dsv",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-ease",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-fetch",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-force",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-format",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-geo",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-hierarchy",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-interpolate",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-path",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "d3-path",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-polygon",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-quadtree",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-random",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-sankey",
            "direct": false,
            "version": "0.12.3",
            "ecosystem": "npm"
          },
          {
            "name": "d3-scale",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-scale-chromatic",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-selection",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-shape",
            "direct": false,
            "version": "1.3.7",
            "ecosystem": "npm"
          },
          {
            "name": "d3-shape",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-time",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-time-format",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-timer",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-transition",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-zoom",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dagre-d3-es",
            "direct": false,
            "version": "7.0.14",
            "ecosystem": "npm"
          },
          {
            "name": "dayjs",
            "direct": false,
            "version": "1.11.20",
            "ecosystem": "npm"
          },
          {
            "name": "delaunator",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "devicetree-language-server",
            "direct": false,
            "version": "0.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "dompurify",
            "direct": false,
            "version": "3.4.11",
            "ecosystem": "npm"
          },
          {
            "name": "es-toolkit",
            "direct": false,
            "version": "1.46.1",
            "ecosystem": "npm"
          },
          {
            "name": "hachure-fill",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "internmap",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "internmap",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "katex",
            "direct": false,
            "version": "0.16.45",
            "ecosystem": "npm"
          },
          {
            "name": "khroma",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "layout-base",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "layout-base",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "lodash-es",
            "direct": false,
            "version": "4.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "marked",
            "direct": false,
            "version": "16.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "mermaid",
            "direct": false,
            "version": "11.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "mlly",
            "direct": false,
            "version": "1.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "package-manager-detector",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-data-parser",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "pathe",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "pkg-types",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "points-on-curve",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "points-on-path",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "robust-predicates",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "roughjs",
            "direct": false,
            "version": "4.6.6",
            "ecosystem": "npm"
          },
          {
            "name": "rw",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "stylis",
            "direct": false,
            "version": "4.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "ts-dedent",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ufo",
            "direct": false,
            "version": "1.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "14.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "alabaster",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "anyio",
            "direct": false,
            "version": "4.14.0",
            "ecosystem": "pypi"
          },
          {
            "name": "anytree",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "anytree",
            "direct": false,
            "version": "2.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "arrow",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ast-serialize",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "astroid",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "pypi"
          },
          {
            "name": "attrs",
            "direct": false,
            "version": "26.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "awscli",
            "direct": false,
            "version": "1.45.36",
            "ecosystem": "pypi"
          },
          {
            "name": "babel",
            "direct": false,
            "version": "2.18.0",
            "ecosystem": "pypi"
          },
          {
            "name": "beartype",
            "direct": false,
            "version": "0.22.9",
            "ecosystem": "pypi"
          },
          {
            "name": "boolean-py",
            "direct": false,
            "version": "5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "botocore",
            "direct": false,
            "version": "1.43.36",
            "ecosystem": "pypi"
          },
          {
            "name": "cachetools",
            "direct": false,
            "version": "7.1.4",
            "ecosystem": "pypi"
          },
          {
            "name": "canopen",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "canopen",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "cbor",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "certifi",
            "direct": false,
            "version": "2026.6.17",
            "ecosystem": "pypi"
          },
          {
            "name": "cffi",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "charset-normalizer",
            "direct": false,
            "version": "3.4.7",
            "ecosystem": "pypi"
          },
          {
            "name": "clang-format",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "clang-format",
            "direct": false,
            "version": "22.1.5",
            "ecosystem": "pypi"
          },
          {
            "name": "click",
            "direct": false,
            "version": "8.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "coapthon3",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "colorama",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "colorama",
            "direct": false,
            "version": "0.4.6",
            "ecosystem": "pypi"
          },
          {
            "name": "coverage",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "coverxygen",
            "direct": false,
            "version": "1.8.1",
            "ecosystem": "pypi"
          },
          {
            "name": "cryptography",
            "direct": false,
            "version": "49.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "dill",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "distlib",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "pypi"
          },
          {
            "name": "docopt",
            "direct": false,
            "version": "0.6.2",
            "ecosystem": "pypi"
          },
          {
            "name": "docutils",
            "direct": false,
            "version": "0.19",
            "ecosystem": "pypi"
          },
          {
            "name": "docutils",
            "direct": false,
            "version": "0.22.4",
            "ecosystem": "pypi"
          },
          {
            "name": "doxmlparser",
            "direct": false,
            "version": "1.17.0",
            "ecosystem": "pypi"
          },
          {
            "name": "elastic-transport",
            "direct": false,
            "version": "8.17.1",
            "ecosystem": "pypi"
          },
          {
            "name": "elasticsearch",
            "direct": false,
            "version": "8.19.3",
            "ecosystem": "pypi"
          },
          {
            "name": "exceptiongroup",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "filelock",
            "direct": false,
            "version": "3.29.4",
            "ecosystem": "pypi"
          },
          {
            "name": "gcovr",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "gcovr",
            "direct": false,
            "version": "6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "gitdb",
            "direct": false,
            "version": "4.0.12",
            "ecosystem": "pypi"
          },
          {
            "name": "gitlint-core",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "gitlint-core",
            "direct": false,
            "version": "0.19.1",
            "ecosystem": "pypi"
          },
          {
            "name": "gitpython",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "gitpython",
            "direct": false,
            "version": "3.1.50",
            "ecosystem": "pypi"
          },
          {
            "name": "graphviz",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio-tools",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "h11",
            "direct": false,
            "version": "0.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "halo",
            "direct": false,
            "version": "0.0.31",
            "ecosystem": "pypi"
          },
          {
            "name": "html5rdf",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "idna",
            "direct": false,
            "version": "3.18",
            "ecosystem": "pypi"
          },
          {
            "name": "ijson",
            "direct": false,
            "version": "3.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "imagesize",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "iniconfig",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "intelhex",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "intelhex",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "isort",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "jinja2",
            "direct": false,
            "version": "3.1.6",
            "ecosystem": "pypi"
          },
          {
            "name": "jmespath",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonschema",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "jsonschema",
            "direct": false,
            "version": "4.26.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonschema-specifications",
            "direct": false,
            "version": "2025.9.1",
            "ecosystem": "pypi"
          },
          {
            "name": "junit2html",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "junit2html",
            "direct": false,
            "version": "31.1.4",
            "ecosystem": "pypi"
          },
          {
            "name": "junitparser",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "junitparser",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "librt",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "pypi"
          },
          {
            "name": "license-expression",
            "direct": false,
            "version": "30.4.4",
            "ecosystem": "pypi"
          },
          {
            "name": "log-symbols",
            "direct": false,
            "version": "0.0.14",
            "ecosystem": "pypi"
          },
          {
            "name": "logic2-automation",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "lpc-checksum",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "lxml",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "lxml",
            "direct": false,
            "version": "6.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "markupsafe",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "mccabe",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "mypy",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mypy",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "mypy-extensions",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "natsort",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "natsort",
            "direct": false,
            "version": "8.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "numpy",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "opencv-python",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "owlrl",
            "direct": false,
            "version": "7.1.4",
            "ecosystem": "pypi"
          },
          {
            "name": "packaging",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "packaging",
            "direct": false,
            "version": "26.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pathspec",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "patool",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pillow",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "platformdirs",
            "direct": false,
            "version": "4.10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "plotly",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pluggy",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ply",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "ply",
            "direct": false,
            "version": "3.11",
            "ecosystem": "pypi"
          },
          {
            "name": "polib",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "prettytable",
            "direct": false,
            "version": "3.18.0",
            "ecosystem": "pypi"
          },
          {
            "name": "protobuf",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "psutil",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "psutil",
            "direct": false,
            "version": "7.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pyasn1",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pycparser",
            "direct": false,
            "version": "3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyelftools",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pyelftools",
            "direct": false,
            "version": "0.33",
            "ecosystem": "pypi"
          },
          {
            "name": "pygithub",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pygithub",
            "direct": false,
            "version": "2.9.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pygments",
            "direct": false,
            "version": "2.20.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyjwt",
            "direct": false,
            "version": "2.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pykwalify",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pykwalify",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pylink-square",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pylint",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pylint",
            "direct": false,
            "version": "4.0.6",
            "ecosystem": "pypi"
          },
          {
            "name": "pynacl",
            "direct": false,
            "version": "1.6.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pyocd",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pyparsing",
            "direct": false,
            "version": "3.3.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pyproject-api",
            "direct": false,
            "version": "1.10.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pyrtcm",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pyserial",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pyserial",
            "direct": false,
            "version": "3.5",
            "ecosystem": "pypi"
          },
          {
            "name": "pyshacl",
            "direct": false,
            "version": "0.31.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pytest",
            "direct": false,
            "version": "9.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "python-can",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "python-can",
            "direct": false,
            "version": "4.6.1",
            "ecosystem": "pypi"
          },
          {
            "name": "python-dateutil",
            "direct": false,
            "version": "2.9.0.post0",
            "ecosystem": "pypi"
          },
          {
            "name": "python-debian",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "python-discovery",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "python-dotenv",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "python-dotenv",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "python-magic",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "python-magic",
            "direct": false,
            "version": "0.4.27",
            "ecosystem": "pypi"
          },
          {
            "name": "python-magic-bin",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "python-magic-bin",
            "direct": false,
            "version": "0.4.14",
            "ecosystem": "pypi"
          },
          {
            "name": "pyubx2",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pyusb",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pyyaml",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pyyaml",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "rdflib",
            "direct": false,
            "version": "7.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "referencing",
            "direct": false,
            "version": "0.37.0",
            "ecosystem": "pypi"
          },
          {
            "name": "regex",
            "direct": false,
            "version": "2026.5.9",
            "ecosystem": "pypi"
          },
          {
            "name": "requests",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "requests",
            "direct": false,
            "version": "2.34.2",
            "ecosystem": "pypi"
          },
          {
            "name": "reuse",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "reuse",
            "direct": false,
            "version": "6.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "roman-numerals",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rpds-py",
            "direct": false,
            "version": "2026.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "rsa",
            "direct": false,
            "version": "4.7.2",
            "ecosystem": "pypi"
          },
          {
            "name": "ruamel-yaml",
            "direct": false,
            "version": "0.19.1",
            "ecosystem": "pypi"
          },
          {
            "name": "ruff",
            "direct": false,
            "version": "0.14.2",
            "ecosystem": "pypi"
          },
          {
            "name": "s3transfer",
            "direct": false,
            "version": "0.19.0",
            "ecosystem": "pypi"
          },
          {
            "name": "semantic-version",
            "direct": false,
            "version": "2.10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "semver",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "setuptools",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "setuptools",
            "direct": false,
            "version": "82.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "sh",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "six",
            "direct": false,
            "version": "1.17.0",
            "ecosystem": "pypi"
          },
          {
            "name": "smmap",
            "direct": false,
            "version": "5.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "snowballstemmer",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "spdx-python-model",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "spdx-tools",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "spdx-tools",
            "direct": false,
            "version": "0.8.5",
            "ecosystem": "pypi"
          },
          {
            "name": "spdx3-validate",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "spdx3-validate",
            "direct": false,
            "version": "0.0.5",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx",
            "direct": false,
            "version": "9.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx-autobuild",
            "direct": false,
            "version": "2025.8.25",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx-copybutton",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx-last-updated-by-git",
            "direct": false,
            "version": "0.3.8",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx-lint",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx-lint",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx-notfound-page",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx-rtd-theme",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx-rtd-theme",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx-sitemap",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx-tabs",
            "direct": false,
            "version": "3.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx-togglebutton",
            "direct": false,
            "version": "0.4.5",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinxcontrib-applehelp",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinxcontrib-devhelp",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinxcontrib-htmlhelp",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinxcontrib-jquery",
            "direct": false,
            "version": "4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinxcontrib-jsmath",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinxcontrib-mermaid",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinxcontrib-programoutput",
            "direct": false,
            "version": "0.20",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinxcontrib-qthelp",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinxcontrib-serializinghtml",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinxcontrib-svg2pdfconverter",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "spinners",
            "direct": false,
            "version": "0.0.24",
            "ecosystem": "pypi"
          },
          {
            "name": "spsdk",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "starlette",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "tabulate",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "tabulate",
            "direct": false,
            "version": "0.10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "termcolor",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tomli-w",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tomlkit",
            "direct": false,
            "version": "0.15.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tox",
            "direct": false,
            "version": "4.56.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tqdm",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "tqdm",
            "direct": false,
            "version": "4.68.3",
            "ecosystem": "pypi"
          },
          {
            "name": "tree-sitter",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "tree-sitter",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "pypi"
          },
          {
            "name": "tree-sitter-cmake",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "tree-sitter-cmake",
            "direct": false,
            "version": "0.7.2.post1",
            "ecosystem": "pypi"
          },
          {
            "name": "typing-extensions",
            "direct": false,
            "version": "4.15.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tzdata",
            "direct": false,
            "version": "2026.2",
            "ecosystem": "pypi"
          },
          {
            "name": "unidiff",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "unidiff",
            "direct": false,
            "version": "0.7.5",
            "ecosystem": "pypi"
          },
          {
            "name": "uritools",
            "direct": false,
            "version": "6.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "urllib3",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "uvicorn",
            "direct": false,
            "version": "0.49.0",
            "ecosystem": "pypi"
          },
          {
            "name": "vermin",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "vermin",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "virtualenv",
            "direct": false,
            "version": "21.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "watchfiles",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "wcwidth",
            "direct": false,
            "version": "0.8.1",
            "ecosystem": "pypi"
          },
          {
            "name": "websockets",
            "direct": false,
            "version": "16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "west",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "west",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "west",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "wheel",
            "direct": false,
            "version": "0.47.0",
            "ecosystem": "pypi"
          },
          {
            "name": "windows-curses",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "wrapt",
            "direct": false,
            "version": "1.17.3",
            "ecosystem": "pypi"
          },
          {
            "name": "xlsxwriter",
            "direct": false,
            "version": "3.2.9",
            "ecosystem": "pypi"
          },
          {
            "name": "xmltodict",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "pypi"
          },
          {
            "name": "yamllint",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "yamllint",
            "direct": false,
            "version": "1.38.0",
            "ecosystem": "pypi"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 341,
        "direct_count": 1,
        "indirect_count": 340
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 1692,
        "merged_prs": 67615,
        "open_issues": 2160,
        "closed_ratio": 0.925,
        "closed_issues": 26690,
        "closed_unmerged_prs": 13386
      },
      "bus_factor": 17,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "nashif",
          "commits": 6777,
          "avatar_url": "https://avatars.githubusercontent.com/u/180017?v=4"
        },
        {
          "type": "User",
          "login": "jukkar",
          "commits": 4225,
          "avatar_url": "https://avatars.githubusercontent.com/u/1098415?v=4"
        },
        {
          "type": "User",
          "login": "galak",
          "commits": 3186,
          "avatar_url": "https://avatars.githubusercontent.com/u/16417047?v=4"
        },
        {
          "type": "User",
          "login": "gmarull",
          "commits": 2834,
          "avatar_url": "https://avatars.githubusercontent.com/u/25011557?v=4"
        },
        {
          "type": "User",
          "login": "cvinayak",
          "commits": 2592,
          "avatar_url": "https://avatars.githubusercontent.com/u/6350656?v=4"
        },
        {
          "type": "User",
          "login": "Thalley",
          "commits": 2437,
          "avatar_url": "https://avatars.githubusercontent.com/u/2520413?v=4"
        },
        {
          "type": "User",
          "login": "kartben",
          "commits": 2432,
          "avatar_url": "https://avatars.githubusercontent.com/u/128251?v=4"
        },
        {
          "type": "User",
          "login": "dcpleung",
          "commits": 2115,
          "avatar_url": "https://avatars.githubusercontent.com/u/38592223?v=4"
        },
        {
          "type": "User",
          "login": "aescolar",
          "commits": 2007,
          "avatar_url": "https://avatars.githubusercontent.com/u/32480799?v=4"
        },
        {
          "type": "User",
          "login": "erwango",
          "commits": 1827,
          "avatar_url": "https://avatars.githubusercontent.com/u/18574308?v=4"
        }
      ],
      "contributors_sampled": 100,
      "top_contributor_share": 0.085
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "assigner.yml",
        "backport.yml",
        "backport_issue_check.yml",
        "bsim-tests-publish.yaml",
        "bsim-tests.yaml",
        "clang.yaml",
        "codecov.yaml",
        "codeql.yml",
        "coding_guidelines.yml",
        "coding_guidelines_full.yml",
        "compliance.yml",
        "daily_test_version.yml",
        "devicetree_checks.yml",
        "doc-build.yml",
        "doc-publish-pr.yml",
        "doc-publish.yml",
        "doxygen-checks.yml",
        "errno.yml",
        "footprint-tracking.yml",
        "greet_first_time_contributor.yml",
        "hello_world_multiplatform.yaml",
        "license_check.yml",
        "manifest.yml",
        "pinned-gh-actions.yml",
        "pr_metadata_check.yml",
        "push_artifacts.yml",
        "pylib_tests.yml",
        "ready-to-merge.yml",
        "release.yml",
        "scorecards.yml",
        "scripts_tests.yml",
        "stale-workflow-queue-cleanup.yml",
        "stale_issue.yml",
        "stats_merged_prs.yml",
        "twister-publish.yaml",
        "twister.yaml",
        "twister_tests.yml",
        "twister_tests_blackbox.yml",
        "west_cmds.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        ".ruff.toml",
        "tox.ini"
      ],
      "has_editorconfig": true,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "package-lock.json"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 5,
            "reason": "branch protection is not maximal on development and all release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "1 out of 1 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 10,
            "reason": "badge detected: Gold",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 10,
            "reason": "all changesets reviewed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 24 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 0,
            "reason": "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": 10,
            "reason": "project is 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": 10,
            "reason": "all dependencies are pinned",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 10,
            "reason": "SAST tool is run on all commits",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 10,
            "reason": "security policy file 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": 10,
            "reason": "GitHub workflow tokens follow principle of least privilege",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "22 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "7a713dcdacefc895761906829a50c0b4a1cc8c0a",
        "ran_at": "2026-07-22T15:40:51Z",
        "aggregate_score": 7.1,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": true,
      "has_security_policy": true,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-22T15:35:10Z",
      "oldest_open_prs": [
        {
          "number": 68260,
          "created_at": "2024-01-30T00:54:13Z",
          "last_comment_at": "2026-05-28T11:00:12Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 80961,
          "created_at": "2024-11-06T00:30:35Z",
          "last_comment_at": "2026-06-11T01:26:23Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 82730,
          "created_at": "2024-12-09T11:54:40Z",
          "last_comment_at": "2026-06-09T10:16:24Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 82910,
          "created_at": "2024-12-12T08:27:21Z",
          "last_comment_at": "2026-05-27T05:32:17Z",
          "last_comment_author": "jurenat"
        },
        {
          "number": 84544,
          "created_at": "2025-01-25T04:46:23Z",
          "last_comment_at": "2026-07-16T13:38:37Z",
          "last_comment_author": "josuah"
        },
        {
          "number": 85442,
          "created_at": "2025-02-08T04:41:13Z",
          "last_comment_at": "2026-05-27T13:12:51Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 86524,
          "created_at": "2025-03-02T09:26:01Z",
          "last_comment_at": "2026-04-26T18:38:57Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 86832,
          "created_at": "2025-03-10T00:14:53Z",
          "last_comment_at": "2026-07-10T20:47:46Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 87083,
          "created_at": "2025-03-13T23:19:13Z",
          "last_comment_at": "2026-07-16T12:05:39Z",
          "last_comment_author": "kartben"
        },
        {
          "number": 88487,
          "created_at": "2025-04-11T08:08:20Z",
          "last_comment_at": "2026-05-27T14:38:29Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 89124,
          "created_at": "2025-04-25T22:04:07Z",
          "last_comment_at": "2026-06-23T16:38:30Z",
          "last_comment_author": "bjarki-andreasen"
        },
        {
          "number": 89478,
          "created_at": "2025-05-05T10:22:42Z",
          "last_comment_at": "2026-07-14T08:24:03Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 89639,
          "created_at": "2025-05-08T07:54:02Z",
          "last_comment_at": "2026-06-02T08:55:46Z",
          "last_comment_author": "lmajewski"
        },
        {
          "number": 91031,
          "created_at": "2025-06-04T01:45:42Z",
          "last_comment_at": "2026-07-16T03:42:50Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 91254,
          "created_at": "2025-06-07T23:24:00Z",
          "last_comment_at": "2026-04-19T20:10:10Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 91500,
          "created_at": "2025-06-12T09:51:44Z",
          "last_comment_at": "2026-07-14T10:16:46Z",
          "last_comment_author": "natto1784"
        },
        {
          "number": 91593,
          "created_at": "2025-06-13T14:38:00Z",
          "last_comment_at": "2026-05-29T01:22:47Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 91605,
          "created_at": "2025-06-13T20:46:35Z",
          "last_comment_at": "2026-06-17T20:57:51Z",
          "last_comment_author": "soburi"
        },
        {
          "number": 91643,
          "created_at": "2025-06-15T02:21:46Z",
          "last_comment_at": "2026-06-18T07:08:30Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 92366,
          "created_at": "2025-06-29T16:43:44Z",
          "last_comment_at": "2026-06-18T01:28:26Z",
          "last_comment_author": "github-actions"
        }
      ],
      "last_merged_pr_at": "2026-07-22T14:27:25Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 2329,
          "created_at": "2016-09-08T00:58:18Z",
          "last_comment_at": "2025-03-18T13:22:47Z",
          "last_comment_author": "cbrake"
        },
        {
          "number": 3559,
          "created_at": "2017-05-05T18:22:28Z",
          "last_comment_at": "2024-02-12T19:01:56Z",
          "last_comment_author": "zephyrbot"
        },
        {
          "number": 4277,
          "created_at": "2017-10-11T16:34:35Z",
          "last_comment_at": "2026-01-16T06:44:25Z",
          "last_comment_author": "moonlight83340"
        },
        {
          "number": 4966,
          "created_at": "2017-11-14T19:01:54Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 5151,
          "created_at": "2017-11-24T11:50:14Z",
          "last_comment_at": "2024-02-12T19:01:53Z",
          "last_comment_author": "zephyrbot"
        },
        {
          "number": 5450,
          "created_at": "2017-12-20T12:14:27Z",
          "last_comment_at": "2023-08-31T18:33:24Z",
          "last_comment_author": "dcpleung"
        },
        {
          "number": 5501,
          "created_at": "2017-12-28T16:06:55Z",
          "last_comment_at": "2024-11-19T20:40:22Z",
          "last_comment_author": "mbolivar"
        },
        {
          "number": 5703,
          "created_at": "2018-01-17T07:45:13Z",
          "last_comment_at": "2026-06-27T14:37:25Z",
          "last_comment_author": "kshypachov"
        },
        {
          "number": 6026,
          "created_at": "2018-02-07T15:14:50Z",
          "last_comment_at": "2024-02-23T12:28:04Z",
          "last_comment_author": "de-nordic"
        },
        {
          "number": 6187,
          "created_at": "2018-02-13T18:56:32Z",
          "last_comment_at": "2024-07-31T22:14:14Z",
          "last_comment_author": "ceolin"
        },
        {
          "number": 6375,
          "created_at": "2018-02-26T10:05:45Z",
          "last_comment_at": "2019-05-14T17:26:04Z",
          "last_comment_author": "ioannisg"
        },
        {
          "number": 6376,
          "created_at": "2018-02-26T10:58:40Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 6378,
          "created_at": "2018-02-26T11:49:56Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 6958,
          "created_at": "2018-04-06T08:38:58Z",
          "last_comment_at": "2024-10-14T09:23:06Z",
          "last_comment_author": "erwango"
        },
        {
          "number": 6961,
          "created_at": "2018-04-06T10:57:35Z",
          "last_comment_at": "2024-02-12T19:01:48Z",
          "last_comment_author": "zephyrbot"
        },
        {
          "number": 7272,
          "created_at": "2018-04-30T14:26:52Z",
          "last_comment_at": "2026-07-08T11:27:47Z",
          "last_comment_author": "tejlmand"
        },
        {
          "number": 7290,
          "created_at": "2018-05-01T20:56:27Z",
          "last_comment_at": "2024-02-12T19:01:46Z",
          "last_comment_author": "zephyrbot"
        },
        {
          "number": 7413,
          "created_at": "2018-05-08T15:41:49Z",
          "last_comment_at": "2018-12-11T10:27:29Z",
          "last_comment_author": "nvlsianpu"
        },
        {
          "number": 7744,
          "created_at": "2018-05-22T11:34:47Z",
          "last_comment_at": "2020-02-17T15:24:34Z",
          "last_comment_author": "SebastianBoe"
        },
        {
          "number": 8181,
          "created_at": "2018-06-05T13:46:26Z",
          "last_comment_at": "2019-03-07T11:42:46Z",
          "last_comment_author": "SebastianBoe"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/zephyrproject-rtos/zephyr",
    "host": "github.com",
    "name": "zephyr",
    "owner": "zephyrproject-rtos"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "excellent",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 91,
      "inputs": {
        "security": 77,
        "vitality": 96,
        "community": 93,
        "governance": 90,
        "engineering": 94
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 96,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "commits_last_year": 24528,
              "human_commit_share": 1,
              "days_since_last_push": 0,
              "active_weeks_last_year": 52
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "52/52 weeks with commits",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 52
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "24528 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 24528
                    }
                  }
                ],
                "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": "excellent",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "releases_count": 100,
              "latest_release_tag": "v4.3.1",
              "releases_from_tags": false,
              "days_since_latest_release": 29,
              "mean_days_between_releases": 10.2
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "100 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 29 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 29
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~10.2 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 10.2
                    }
                  }
                ],
                "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": 0,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 0 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "excellent",
        "name": "Community & Adoption",
        "value": 93,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "excellent",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "forks": 9592,
              "stars": 15965,
              "watchers": 408,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "15,965 stars",
                "points": 60,
                "status": "met",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 15965
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "9,592 forks",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 9592
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "408 watchers",
                "points": 14.5,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 408
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "excellent",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "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 (Apache-2.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "Apache-2.0"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "excellent",
        "name": "Sustainability & Governance",
        "value": 90,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "excellent",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 98,
            "inputs": {
              "bus_factor": 17,
              "contributors_sampled": 100,
              "top_contributor_share": 0.085
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "17 contributor(s) cover half of all commits",
                "points": 54,
                "status": "met",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 17
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 8% of commits",
                "points": 20.6,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 8
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "100 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 24 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "excellent",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "merged_prs": 67615,
              "open_issues": 2160,
              "closed_issues": 26690,
              "issue_closed_ratio": 0.925,
              "closed_unmerged_prs": 13386
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "92% of issues closed",
                "points": 43.2,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 92
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "67615/81001 decided PRs merged",
                "points": 31.9,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 67615,
                      "decided": 81001
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "all changesets reviewed",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "followers": 2556,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "zephyrproject-rtos",
              "public_repos": 179,
              "account_age_days": 3708
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "2,556 followers of zephyrproject-rtos",
                "points": 24.5,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 2556,
                      "login": "zephyrproject-rtos"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "179 public repos, account ~10 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 179
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 10
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "excellent",
        "name": "Engineering Quality",
        "value": 94,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "excellent",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": true,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "39 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 39
                    }
                  }
                ],
                "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": ".ruff.toml, tox.ini",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".ruff.toml, tox.ini"
                    }
                  }
                ],
                "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": 6.4,
                "status": "met",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "1 out of 1 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "topics": [
                "rtos",
                "iot",
                "embedded",
                "real-time",
                "mcu",
                "microcontroller",
                "zephyr",
                "zephyr-rtos",
                "zephyros",
                "bluetooth",
                "bluetooth-le",
                "embedded-c"
              ],
              "has_wiki": true,
              "homepage": "https://docs.zephyrproject.org",
              "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": "https://docs.zephyrproject.org",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "12 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 12
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "good",
        "name": "Security",
        "value": 77,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "good",
            "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": 71,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 17,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 1,
              "scorecard_aggregate": 7.1
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection is not maximal on development and all release branches",
                "points": 3.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "1 out of 1 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "badge detected: Gold",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "all changesets reviewed",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 24 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "dangerous workflow patterns detected",
                "points": 0,
                "status": "missed",
                "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 fuzzed",
                "points": 5,
                "status": "met",
                "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": "all dependencies are pinned",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is run on all commits",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file detected",
                "points": 5,
                "status": "met",
                "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": "GitHub workflow tokens follow principle of least privilege",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "22 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "excellent",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 276 resolved dependencies against OSV; 65 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). 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",
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 276
                }
              },
              {
                "code": "advisories_unassessed",
                "params": {
                  "count": 65
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 12,
              "affected_packages": 4,
              "assessed_packages": 276,
              "unassessed_packages": 65,
              "affected_by_severity": "high 2, moderate 1, low 1",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "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": "no advisory carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 276,
              "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": 13
            },
            "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": "excellent",
        "name": "AI Readiness",
        "value": 90,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "excellent",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 1,
              "agent_instruction_files": [
                ".github/copilot-instructions.md"
              ],
              "agent_instruction_max_bytes": 8483
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": ".github/copilot-instructions.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".github/copilot-instructions.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": "100 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 100,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "excellent",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 87,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "package-lock.json"
              ],
              "has_dockerfile": true,
              "typed_language": true,
              "bootstrap_files": [
                "doc/Makefile",
                "samples/application_development/external_lib/mylib/Makefile",
                "scripts/native_simulator/Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "scripts/pylib/twister/twisterlib/py.typed"
              ],
              "agent_commit_share": 0,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "doc/Makefile, samples/application_development/external_lib/mylib/Makefile, scripts/native_simulator/Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "doc/Makefile, samples/application_development/external_lib/mylib/Makefile, scripts/native_simulator/Makefile"
                    }
                  }
                ],
                "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": ".ruff.toml, tox.ini",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".ruff.toml, tox.ini"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "scripts/pylib/twister/twisterlib/py.typed",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "scripts/pylib/twister/twisterlib/py.typed"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "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": "all dependencies are pinned",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 99,
            "inputs": {
              "primary_language": "C",
              "largest_source_bytes": 671249,
              "source_files_sampled": 13859,
              "oversized_source_files": 219
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "C (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "C"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "219/13859 source files over 60KB",
                "points": 54.1,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 13859,
                      "oversized": 219
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "excellent",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "example_dirs": [
                "demos",
                "notebooks",
                "samples"
              ],
              "has_mcp_signal": true,
              "api_schema_files": [
                "samples/modules/nanopb/src/simple.proto"
              ]
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": "samples/modules/nanopb/src/simple.proto",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "samples/modules/nanopb/src/simple.proto"
                    }
                  }
                ],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "demos, notebooks, samples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "demos, notebooks, samples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "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",
    "File tree truncated by GitHub API; file-based signals may be incomplete"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-22T15:41:57.636457Z",
  "schema_version": "0.26.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/z/zephyrproject-rtos/zephyr.svg",
  "full_name": "zephyrproject-rtos/zephyr",
  "license_state": "standard",
  "license_spdx": "Apache-2.0"
}

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

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

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