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

Hexalith / Hexalith.Commons

Hexalith common utility classes and helpers

C#MIT★ 0 зірок⑂ 0 форківз бер. 2025 р.Переглянути на GitHub ↗

Hexalith/Hexalith.Commons має індекс здоров’я 54 зі 100, що відповідає смузі «Помірний». Найвищий показник — Vitality (83/100), найнижчий — Community & Adoption (24/100). Останнє оновлення — сьогодні. Більшість нещодавньої роботи виконує один учасник.

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

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

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

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

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

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

Власність

HexalithОрганізація
1 підписник58 публічних репозиторіївз бер. 2021 р.

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

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

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

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

83Добрий · 22% загального індексу
Як обчислюється оцінка
36/36Свіжість push — останній push 0 дн. тому
15.2/36Ритм комітів — 22/52 тижнів із комітами
18/18Обсяг комітів — 162 комітів за останній рік
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Використані вхідні дані
commits_last_year162
human_commit_share0,93
days_since_last_push0
active_weeks_last_year22
Як обчислюється оцінка
27/27Випускає релізи — опубліковано 73 релізів
36/36Свіжість релізів — останній реліз 0 дн. тому
27/27Ритм релізів — реліз кожні ~2,8 дн.
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Використані вхідні дані
releases_count73
latest_release_tagv2.29.0
releases_from_tagsні
days_since_latest_release0
mean_days_between_releases2,8

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

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

24Критичний · 18% загального індексу
Як обчислюється оцінка
0/60Зірки — 0 зірок
0/25Форки — 0 форків
0/15Спостерігачі — 1 спостерігачів
Використані вхідні дані
forks0
stars0
watchers1
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Як обчислюється оцінка
22.5/22.5README
22.5/22.5Ліцензія — визнана ліцензія (MIT)
0/18Настанови CONTRIBUTING
0/13.5Кодекс поведінки
0/7.2Шаблон issue
0/6.3Шаблон PR
Використані вхідні дані
has_readmeтак
has_licenseтак
has_contributingні
has_issue_templateні
has_code_of_conductні
has_pull_request_templateні

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

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

35У зоні ризику · 24% загального індексу
Як обчислюється оцінка
9/54Бас-фактор — на 1 контриб’ютор(ів) припадає половина всіх комітів
0.7/22.5Розподіл комітів — головний контриб’ютор — автор 97% комітів
2.7/13.5Широта контриб’юторів — 2 контриб’юторів
6/10OpenSSF Scorecard: Contributors — project has 2 contributing companies or organizations -- score normalized to 6
Використані вхідні дані
bus_factor1
contributors_sampled2
top_contributor_share0,968
Як обчислюється оцінка
0/46.8Вирішення issue — закрито 0% issue
33.3/38.3Прийняття PR — злито 20/23 вирішених PR
0/15OpenSSF Scorecard: Code-Review — Found 0/20 approved changesets -- score normalized to 0
Використані вхідні дані
merged_prs20
open_issues8
closed_issues0
issue_closed_ratio0
closed_unmerged_prs3
Як обчислюється оцінка
30/30Підтримка власника — у власності організації
0/20Верифікований домен
2.2/25Охоплення власника — 1 підписників у Hexalith
23.6/25Послужний список — 58 публічних репозиторіїв, вік облікового запису ~5 р.
Використані вхідні дані
followers1
owner_typeOrganization
is_verified
owner_loginHexalith
public_repos58
account_age_days1 960

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

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

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

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

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

Безпека

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

66Помірний · 16% загального індексу

Стан безпеки

58Помірний
Як обчислюється оцінка
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
2.5/2.5CI-Tests — 5 out of 5 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/20 approved changesets -- score normalized to 0
1.5/2.5Contributors — project has 2 contributing companies or organizations -- score normalized to 6
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Ліцензія — license file detected
7.5/7.5Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — немає даних
1/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 2
5/5SAST — SAST tool is run on all commits
0/5Security-Policy — security policy file not 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
5.2/7.5Vulnerabilities — 3 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated17
scorecard_versionv5.5.0
checks_inconclusive1
scorecard_aggregate5,8
Виключено з оцінювання (немає даних або не застосовно): packaging. Залишкові ваги перенормовано.
Як обчислюється оцінка
35/35Прямі залежності без відомих сповіщень — жодна пряма залежність не має відомих сповіщень
0/25Непрямі залежності без відомих сповіщень — транзитивний набір не відокремлюється від залежностей розробки й тестування в цьому обсязі
0/40Немає задавнених сповіщень — жодне сповіщення не має дати публікації
Використані вхідні дані
sourceosv
advisories3
affected_packages3
assessed_packages458
unassessed_packages26
affected_by_severityhigh 2, moderate 1
direct_affected_packages0
Виключено з оцінювання (немає даних або не застосовно): Непрямі залежності без відомих сповіщень, Немає задавнених сповіщень. Залишкові ваги перенормовано. Звірено 458 резолвлених залежностей із OSV. 26 не вдалося оцінити — немає резолвленої версії, непідтримувана екосистема або поза межами звітованого переліку пакетів. Цей репозиторій не публікує пакета, який резолвить індекс, тож натомість оцінено граф залежностей репозиторію. Цей граф змішує закріплені версії для розробки й тестування зі справді постачаними залежностями, тож оцінюються лише задекларовані runtime-залежності; транзитивні знахідки подаються як контекст і в оцінку не входять. Досяжність не аналізується.

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

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

83Добрий · 0% загального індексу
Як обчислюється оцінка
45/45Інструкції для агентів — .clinerules, .cursorrules, .github/copilot-instructions.md, AGENTS.md, CLAUDE.md
0/15Машиночитана документація (llms.txt)
40/40Читабельна історія комітів — намір зазначено у 87 з 93 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share0,935
agent_instruction_files.clinerules, .cursorrules, .github/copilot-instructions.md, AGENTS.md, CLAUDE.md
agent_instruction_max_bytes3 141
Як обчислюється оцінка
12.6/18Розгортання однією командою — src/libraries/Hexalith.Commons.Aspire/Hexalith.Commons.Aspire.csproj, src/libraries/Hexalith.Commons.Configurations/Hexalith.Commons.Configurations.csproj, src/libraries/Hexalith.Commons.Diagnostics/Hexalith.Commons.Diagnostics.csproj (домовленість інструментарію, без раннера задач)
22/22Автоматизовані тести
0/11Конфігурація лінтера / форматера
11/11Статична перевірка типів — C# (статично типізована)
10/10Відтворюване середовище — lockfile
10/10Підтверджена практика роботи з агентами — 5 з останніх 100 комітів створено агентом або з його зазначенням
8/8Автоматизоване супроводження — 7 з останніх 100 комітів — автоматичні оновлення залежностей
2/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 2
Використані вхідні дані
has_nixні
has_testsтак
lockfilespackage-lock.json
has_dockerfileні
typed_languageтак
bootstrap_files
has_devcontainerні
has_linter_configні
typecheck_configs
agent_commit_share0,05
toolchain_manifestssrc/libraries/Hexalith.Commons.Aspire/Hexalith.Commons.Aspire.csproj, src/libraries/Hexalith.Commons.Configurations/Hexalith.Commons.Configurations.csproj, src/libraries/Hexalith.Commons.Diagnostics/Hexalith.Commons.Diagnostics.csproj, src/libraries/Hexalith.Commons.Http/Hexalith.Commons.Http.csproj, src/libraries/Hexalith.Commons.Metadatas/Hexalith.Commons.Metadatas.csproj, src/libraries/Hexalith.Commons.Publication/Hexalith.Commons.Publication.csproj, src/libraries/Hexalith.Commons.Serialization/Hexalith.Commons.Serialization.csproj, src/libraries/Hexalith.Commons.ServiceDefaults/Hexalith.Commons.ServiceDefaults.csproj, src/libraries/Hexalith.Commons.StringEncoders/Hexalith.Commons.StringEncoders.csproj, src/libraries/Hexalith.Commons.TenantAccess/Hexalith.Commons.TenantAccess.csproj, src/libraries/Hexalith.Commons.UniqueIds/Hexalith.Commons.UniqueIds.csproj, src/libraries/Hexalith.Commons/Hexalith.Commons.csproj, test/Hexalith.Commons.Aspire.Tests/Hexalith.Commons.Aspire.Tests.csproj, test/Hexalith.Commons.Diagnostics.Tests/Hexalith.Commons.Diagnostics.Tests.csproj, test/Hexalith.Commons.Http.Tests/Hexalith.Commons.Http.Tests.csproj, test/Hexalith.Commons.Publication.Tests/Hexalith.Commons.Publication.Tests.csproj, test/Hexalith.Commons.Serialization.Tests/Hexalith.Commons.Serialization.Tests.csproj, test/Hexalith.Commons.ServiceDefaults.Tests/Hexalith.Commons.ServiceDefaults.Tests.csproj, test/Hexalith.Commons.TenantAccess.Tests/Hexalith.Commons.TenantAccess.Tests.csproj, test/Hexalith.Commons.Tests/Hexalith.Commons.Tests.csproj
dependency_bot_commit_share0,07
Як обчислюється оцінка
45/45Типізований код — C# (статично типізована)
55/55Керовані розміри файлів — 0/146 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languageC#
largest_source_bytes17 799
source_files_sampled146
oversized_source_files0

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

0зірок GitHub
2контриб'юторів
162комітів за останні 12 місяців
0днів від останнього пушу
73релізів
1бас-фактор
8відкритих issue
npmпакетних екосистем

Докладніше

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

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

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
10CI-Tests5 out of 5 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/20 approved changesets -- score normalized to 0
6Contributorsproject has 2 contributing companies or organizations -- score normalized to 6
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
н/дPackagingpackaging workflow not detected
2Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 2
10SASTSAST tool is run on all commits
0Security-Policysecurity policy file not detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
10Token-PermissionsGitHub workflow tokens follow principle of least privilege
7Vulnerabilities3 existing vulnerabilities detected
Усі залежності 484

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

РеєстрПакетВерсіяЗв'язок
npm@actions/core3.0.1непряма
npm@actions/exec3.0.0непряма
npm@actions/http-client4.0.1непряма
npm@actions/io3.0.2непряма
npm@babel/code-frame7.29.7непряма
npm@babel/helper-validator-identifier7.29.7непряма
npm@colors/colors1.5.0непряма
npm@commitlint/cli21.2.1непряма
npm@commitlint/config-conventional21.2.0непряма
npm@commitlint/config-validator21.2.0непряма
npm@commitlint/ensure21.2.0непряма
npm@commitlint/execute-rule21.0.1непряма
npm@commitlint/format21.2.0непряма
npm@commitlint/is-ignored21.2.0непряма
npm@commitlint/lint21.2.0непряма
npm@commitlint/load21.2.0непряма
npm@commitlint/message21.2.0непряма
npm@commitlint/parse21.2.0непряма
npm@commitlint/read21.2.1непряма
npm@commitlint/resolve-extends21.2.0непряма
npm@commitlint/rules21.2.0непряма
npm@commitlint/to-lines21.0.1непряма
npm@commitlint/top-level21.2.0непряма
npm@commitlint/types21.2.0непряма
npm@conventional-changelog/git-client3.1.0непряма
npm@conventional-changelog/template1.2.0непряма
npm@gar/promise-retry1.0.3непряма
npm@isaacs/fs-minipass4.0.1непряма
npm@isaacs/string-locale-compare1.1.0непряма
npm@npmcli/agent4.0.2непряма
npm@npmcli/arborist9.9.0непряма
npm@npmcli/config10.12.0непряма
npm@npmcli/fs5.0.0непряма
npm@npmcli/git7.0.2непряма
npm@npmcli/installed-package-contents4.0.0непряма
npm@npmcli/map-workspaces5.0.3непряма
npm@npmcli/metavuln-calculator9.0.3непряма
npm@npmcli/name-from-folder4.0.0непряма
npm@npmcli/node-gyp5.0.0непряма
npm@npmcli/package-json7.0.5непряма
npm@npmcli/promise-spawn9.0.1непряма
npm@npmcli/query5.0.0непряма
npm@npmcli/redact4.0.0непряма
npm@npmcli/run-script10.0.4непряма
npm@octokit/auth-token6.0.0непряма
npm@octokit/core7.0.6непряма
npm@octokit/endpoint11.0.3непряма
npm@octokit/graphql9.0.3непряма
npm@octokit/openapi-types27.0.0непряма
npm@octokit/plugin-paginate-rest14.0.0непряма
npm@octokit/plugin-retry8.1.0непряма
npm@octokit/plugin-throttling11.0.3непряма
npm@octokit/request10.0.11непряма
npm@octokit/request-error7.1.0непряма
npm@octokit/types16.0.0непряма
npm@pnpm/config.env-replace1.1.0непряма
npm@pnpm/network.ca-file1.0.2непряма
npm@pnpm/npm-conf3.0.3непряма
npm@sec-ant/readable-stream0.4.1непряма
npm@semantic-release/changelog7.0.0непряма
npm@semantic-release/commit-analyzer13.0.1непряма
npm@semantic-release/error3.0.0непряма
npm@semantic-release/error4.0.0непряма
npm@semantic-release/exec7.1.0непряма
npm@semantic-release/git11.0.0непряма
npm@semantic-release/github12.0.9непряма
npm@semantic-release/npm13.1.5непряма
npm@semantic-release/release-notes-generator14.1.1непряма
npm@sigstore/bundle4.0.0непряма
npm@sigstore/core3.2.1непряма
npm@sigstore/protobuf-specs0.5.1непряма
npm@sigstore/sign4.1.1непряма
npm@sigstore/tuf4.0.2непряма
npm@sigstore/verify3.1.1непряма
npm@simple-libs/child-process-utils2.0.0непряма
npm@simple-libs/stream-utils1.2.0непряма
npm@simple-libs/stream-utils2.0.0непряма
npm@sindresorhus/is4.6.0непряма
npm@sindresorhus/merge-streams4.0.0непряма
npm@tufjs/canonical-json2.0.0непряма
npm@tufjs/models4.1.0непряма
npm@types/node26.1.0непряма
npm@types/normalize-package-data2.4.4непряма
npmabbrev4.0.0непряма
npmagent-base7.1.4непряма
npmagent-base9.0.0непряма
npmaggregate-error3.1.0непряма
npmaggregate-error5.0.0непряма
npmajv8.20.0непряма
npmansi-escapes7.3.0непряма
npmansi-regex5.0.1непряма
npmansi-regex6.2.2непряма
npmansi-styles3.2.1непряма
npmansi-styles4.3.0непряма
npmansi-styles6.2.3непряма
npmany-promise1.3.0непряма
npmaproba2.1.0непряма
npmarchy1.0.0непряма
npmargparse2.0.1непряма
npmargv-formatter1.0.0непряма
npmarray-ify1.0.0непряма
npmbalanced-match4.0.4непряма
npmbefore-after-hook4.0.0непряма
npmbin-links6.0.2непряма
npmbinary-extensions3.1.0непряма
npmbottleneck2.19.5непряма
npmbrace-expansion5.0.7непряма
npmbraces3.0.3непряма
npmcacache20.0.4непряма
npmcallsites3.1.0непряма
npmchalk2.4.2непряма
npmchalk4.1.2непряма
npmchalk5.6.2непряма
npmchar-regex1.0.2непряма
npmchownr3.0.0непряма
npmci-info4.4.0непряма
npmcidr-regex5.0.5непряма
npmclean-stack2.2.0непряма
npmclean-stack5.3.0непряма
npmcli-highlight2.1.11непряма
npmcli-table30.6.5непряма
npmcliui7.0.4непряма
npmcliui9.0.1непряма
npmcmd-shim8.0.0непряма
npmcolor-convert1.9.3непряма
npmcolor-convert2.0.1непряма
npmcolor-name1.1.3непряма
npmcolor-name1.1.4непряма
npmcommon-ancestor-path2.0.0непряма
npmcompare-func2.0.0непряма
npmconfig-chain1.1.13непряма
npmcontent-type2.0.0непряма
npmconventional-changelog-angular8.3.1непряма
npmconventional-changelog-angular9.2.0непряма
npmconventional-changelog-conventionalcommits10.2.0непряма
npmconventional-changelog-writer8.4.0непряма
npmconventional-commits-filter5.0.0непряма
npmconventional-commits-parser6.4.0непряма
npmconventional-commits-parser7.0.0непряма
npmconvert-hrtime5.0.0непряма
npmcore-util-is1.0.3непряма
npmcosmiconfig9.0.2непряма
npmcosmiconfig-typescript-loader6.3.0непряма
npmcross-spawn7.0.6непряма
npmcrypto-random-string4.0.0непряма
npmcssesc3.0.0непряма
npmdebug4.4.3непряма
npmdeep-extend0.6.0непряма
npmdiff8.0.4непряма
npmdir-glob3.0.1непряма
npmdot-prop5.3.0непряма
npmduplexer20.1.4непряма
npmemoji-regex10.6.0непряма
npmemoji-regex8.0.0непряма
npmemojilib2.4.0непряма
npmenv-ci11.2.0непряма
npmenv-paths2.2.1непряма
npmenvironment1.1.0непряма
npmerror-ex1.3.4непряма
npmes-toolkit1.49.0непряма
npmescalade3.2.0непряма
npmescape-string-regexp1.0.5непряма
npmescape-string-regexp5.0.0непряма
npmexeca8.0.1непряма
npmexeca9.6.1непряма
npmexponential-backoff3.1.3непряма
npmfast-deep-equal3.1.3непряма
npmfast-uri3.1.3непряма
npmfastest-levenshtein1.0.16непряма
npmfdir6.5.0непряма
npmfigures2.0.0непряма
npmfigures6.1.0непряма
npmfill-range7.1.1непряма
npmfind-up2.1.0непряма
npmfind-up-simple1.0.1непряма
npmfind-versions6.0.0непряма
npmfs-extra11.3.6непряма
npmfs-minipass3.0.3непряма
npmfunction-timeout1.0.2непряма
npmget-caller-file2.0.5непряма
npmget-east-asian-width1.6.0непряма
npmget-stream6.0.1непряма
npmget-stream8.0.1непряма
npmget-stream9.0.1непряма
npmgit-log-parser1.2.1непряма
npmglob13.0.6непряма
npmglobal-directory5.0.0непряма
npmgraceful-fs4.2.10непряма
npmgraceful-fs4.2.11непряма
npmhandlebars4.7.9непряма
npmhas-flag3.0.0непряма
npmhas-flag4.0.0непряма
npmhighlight.js10.7.3непряма
npmhook-std4.0.0непряма
npmhosted-git-info7.0.2непряма
npmhosted-git-info9.0.3непряма
npmhttp-cache-semantics4.2.0непряма
npmhttp-proxy-agent7.0.2непряма
npmhttp-proxy-agent9.1.0непряма
npmhttps-proxy-agent7.0.6непряма
npmhttps-proxy-agent9.1.0непряма
npmhuman-signals5.0.0непряма
npmhuman-signals8.0.1непряма
npmiconv-lite0.7.2непряма
npmignore-walk8.0.0непряма
npmimport-fresh3.3.1непряма
npmimport-from-esm2.0.0непряма
npmimport-meta-resolve4.2.0непряма
npmindent-string4.0.0непряма
npmindent-string5.0.0непряма
npmindex-to-position1.2.0непряма
npminherits2.0.4непряма
npmini1.3.8непряма
npmini6.0.0непряма
npminit-package-json8.2.5непряма
npmip-address10.2.0непряма
npmis-arrayish0.2.1непряма
npmis-cidr6.0.4непряма
npmis-fullwidth-code-point3.0.0непряма
npmis-number7.0.0непряма
npmis-obj2.0.0непряма
npmis-plain-obj4.1.0непряма
npmis-stream3.0.0непряма
npmis-stream4.0.1непряма
npmis-unicode-supported2.1.0непряма
npmisarray1.0.0непряма
npmisexe2.0.0непряма
npmisexe4.0.0непряма
npmissue-parser7.0.2непряма
npmjava-properties1.0.2непряма
npmjiti2.6.1непряма
npmjs-tokens4.0.0непряма
npmjs-yaml4.3.0непряма
npmjson-parse-better-errors1.0.2непряма
npmjson-parse-even-better-errors2.3.1непряма
npmjson-parse-even-better-errors5.0.0непряма
npmjson-schema-traverse1.0.0непряма
npmjson-stringify-nice1.1.4непряма
npmjson-with-bigint3.5.8непряма
npmjsonfile6.2.1непряма
npmjsonparse1.3.1непряма
npmjust-diff6.0.2непряма
npmjust-diff-apply5.5.0непряма
npmlibnpmaccess10.0.3непряма
npmlibnpmdiff8.1.11непряма
npmlibnpmexec10.3.1непряма
npmlibnpmfund7.0.25непряма
npmlibnpmorg8.0.1непряма
npmlibnpmpack9.1.11непряма
npmlibnpmpublish11.2.0непряма
npmlibnpmsearch9.0.1непряма
npmlibnpmteam8.0.2непряма
npmlibnpmversion8.0.4непряма
npmlines-and-columns1.2.4непряма
npmload-json-file4.0.0непряма
npmlocate-path2.0.0непряма
npmlodash4.18.1непряма
npmlodash-es4.18.1непряма
npmlodash.capitalize4.2.1непряма
npmlodash.escaperegexp4.1.2непряма
npmlodash.isplainobject4.0.6непряма
npmlodash.isstring4.0.1непряма
npmlodash.uniqby4.7.0непряма
npmlru-cache10.4.3непряма
npmlru-cache11.5.1непряма
npmmake-asynchronous1.1.0непряма
npmmake-fetch-happen15.0.6непряма
npmmarked15.0.12непряма
npmmarked-terminal7.3.0непряма
npmmeow13.2.0непряма
npmmeow14.1.0непряма
npmmerge-stream2.0.0непряма
npmmicromatch4.0.8непряма
npmmime4.1.0непряма
npmmimic-fn4.0.0непряма
npmminimatch10.2.5непряма
npmminimist1.2.8непряма
npmminipass3.3.6непряма
npmminipass7.1.3непряма
npmminipass-collect2.0.1непряма
npmminipass-fetch5.0.2непряма
npmminipass-flush1.0.6непряма
npmminipass-pipeline1.2.4непряма
npmminipass-sized2.0.0непряма
npmminizlib3.1.0непряма
npmms2.1.3непряма
npmmute-stream3.0.0непряма
npmmz2.7.0непряма
npmnegotiator1.0.0непряма
npmneo-async2.6.2непряма
npmnerf-dart1.0.0непряма
npmnode-emoji2.2.0непряма
npmnode-gyp12.4.0непряма
npmnopt9.0.0непряма
npmnormalize-package-data6.0.2непряма
npmnormalize-package-data8.0.0непряма
npmnormalize-url9.0.1непряма
npmnpm11.18.0непряма
npmnpm-audit-report7.0.0непряма
npmnpm-bundled5.0.0непряма
npmnpm-install-checks8.0.0непряма
npmnpm-normalize-package-bin5.0.0непряма
npmnpm-package-arg13.0.2непряма
npmnpm-packlist10.0.4непряма
npmnpm-pick-manifest11.0.3непряма
npmnpm-profile12.0.2непряма
npmnpm-registry-fetch19.1.1непряма
npmnpm-run-path5.3.0непряма
npmnpm-run-path6.0.0непряма
npmnpm-user-validate4.0.0непряма
npmobject-assign4.1.1непряма
npmonetime6.0.0непряма
npmp-each-series3.0.0непряма
npmp-event6.0.1непряма
npmp-filter4.1.0непряма
npmp-limit1.3.0непряма
npmp-locate2.0.0непряма
npmp-map7.0.4непряма
npmp-map7.0.5непряма
npmp-reduce3.0.0непряма
npmp-timeout6.1.4непряма
npmp-try1.0.0непряма
npmpacote21.5.1непряма
npmparent-module1.0.1непряма
npmparse-conflict-json5.0.1непряма
npmparse-json4.0.0непряма
npmparse-json5.2.0непряма
npmparse-json8.3.0непряма
npmparse-ms4.0.0непряма
npmparse55.1.1непряма
npmparse56.0.1непряма
npmparse5-htmlparser2-tree-adapter6.0.1непряма
npmpath-exists3.0.0непряма
npmpath-key3.1.1непряма
npmpath-key4.0.0непряма
npmpath-scurry2.0.2непряма
npmpath-type4.0.0непряма
npmpicocolors1.1.1непряма
npmpicomatch2.3.2непряма
npmpicomatch4.0.4непряма
npmpify3.0.0непряма
npmpkg-conf2.1.0непряма
npmpostcss-selector-parser7.1.4непряма
npmpretty-ms9.3.0непряма
npmproc-log6.1.0непряма
npmprocess-nextick-args2.0.1непряма
npmproggy4.0.0непряма
npmpromise-all-reject-late1.0.1непряма
npmpromise-call-limit3.0.2непряма
npmpromzard3.0.1непряма
npmproto-list1.2.4непряма
npmproxy-agent-negotiate1.1.0непряма
npmqrcode-terminal0.12.0непряма
npmrc1.2.8непряма
npmread5.0.1непряма
npmread-cmd-shim6.0.0непряма
npmread-package-up11.0.0непряма
npmread-package-up12.0.0непряма
npmread-pkg10.1.0непряма
npmread-pkg9.0.1непряма
npmreadable-stream2.3.8непряма
npmregistry-auth-token5.1.1непряма
npmrequire-directory2.1.1непряма
npmrequire-from-string2.0.2непряма
npmresolve-from4.0.0непряма
npmresolve-from5.0.0непряма
npmsafe-buffer5.1.2непряма
npmsafer-buffer2.1.2непряма
npmsemantic-release25.0.8непряма
npmsemver7.8.5непряма
npmsemver-regex4.0.5непряма
npmshebang-command2.0.0непряма
npmshebang-regex3.0.0непряма
npmsignal-exit4.1.0непряма
npmsignale1.4.0непряма
npmsigstore4.1.1непряма
npmskin-tone2.0.0непряма
npmsmart-buffer4.2.0непряма
npmsocks2.8.9непряма
npmsocks-proxy-agent8.0.5непряма
npmsource-map0.6.1непряма
npmspawn-error-forwarder1.0.0непряма
npmspdx-correct3.2.0непряма
npmspdx-exceptions2.5.0непряма
npmspdx-expression-parse3.0.1непряма
npmspdx-expression-parse4.0.0непряма
npmspdx-license-ids3.0.23непряма
npmsplit21.0.0непряма
npmssri13.0.1непряма
npmstream-combiner21.1.1непряма
npmstring-width4.2.3непряма
npmstring-width7.2.0непряма
npmstring_decoder1.1.1непряма
npmstrip-ansi6.0.1непряма
npmstrip-ansi7.2.0непряма
npmstrip-bom3.0.0непряма
npmstrip-final-newline3.0.0непряма
npmstrip-final-newline4.0.0непряма
npmstrip-json-comments2.0.1непряма
npmsuper-regex1.1.0непряма
npmsupports-color10.2.2непряма
npmsupports-color5.5.0непряма
npmsupports-color7.2.0непряма
npmsupports-hyperlinks3.2.0непряма
npmtagged-tag1.0.0непряма
npmtar7.5.19непряма
npmtemp-dir3.0.0непряма
npmtempy3.2.0непряма
npmtext-table0.2.0непряма
npmthenify3.3.1непряма
npmthenify-all1.6.0непряма
npmthrough22.0.5непряма
npmtime-span5.1.0непряма
npmtiny-relative-date2.0.2непряма
npmtinyexec1.2.4непряма
npmtinyglobby0.2.17непряма
npmto-regex-range5.0.1непряма
npmtraverse0.6.8непряма
npmtreeverse3.0.0непряма
npmtuf-js4.1.0непряма
npmtunnel0.0.6непряма
npmtype-fest1.4.0непряма
npmtype-fest2.19.0непряма
npmtype-fest4.41.0непряма
npmtype-fest5.7.0непряма
npmtypescript6.0.3непряма
npmuglify-js3.19.3непряма
npmundici6.27.0непряма
npmundici7.28.0непряма
npmundici-types8.3.0непряма
npmunicode-emoji-modifier-base1.0.0непряма
npmunicorn-magic0.1.0непряма
npmunicorn-magic0.3.0непряма
npmunicorn-magic0.4.0непряма
npmunique-string3.0.0непряма
npmuniversal-user-agent7.0.3непряма
npmuniversalify2.0.1непряма
npmurl-join5.0.0непряма
npmutil-deprecate1.0.2непряма
npmvalidate-npm-package-license3.0.4непряма
npmvalidate-npm-package-name7.0.2непряма
npmwalk-up-path4.0.0непряма
npmweb-worker1.5.0непряма
npmwhich2.0.2непряма
npmwhich6.0.1непряма
npmwordwrap1.0.0непряма
npmwrap-ansi7.0.0непряма
npmwrap-ansi9.0.2непряма
npmwrite-file-atomic7.0.1непряма
npmxtend4.0.2непряма
npmy18n5.0.8непряма
npmyallist4.0.0непряма
npmyallist5.0.0непряма
npmyargs16.2.2непряма
npmyargs18.0.0непряма
npmyargs-parser20.2.9непряма
npmyargs-parser22.0.0непряма
npmyoctocolors2.1.2непряма
NuGetAspire.Hostingнепряма
NuGetByteAether.Ulidнепряма
NuGetCommunityToolkit.Aspire.Hosting.Daprнепряма
NuGetCompareNETObjectsнепряма
NuGetcoverlet.collectorнепряма
NuGetFluentValidationнепряма
NuGetHexalith.PolymorphicSerializationsнепряма
NuGetHumanizerнепряма
NuGetMicrosoft.Extensions.Configuration.Binderнепряма
NuGetMicrosoft.Extensions.DependencyInjection.Abstractionsнепряма
NuGetMicrosoft.Extensions.Diagnostics.Abstractionsнепряма
NuGetMicrosoft.Extensions.Http.Resilienceнепряма
NuGetMicrosoft.Extensions.Logging.Abstractionsнепряма
NuGetMicrosoft.Extensions.Optionsнепряма
NuGetMicrosoft.Extensions.Options.ConfigurationExtensionsнепряма
NuGetMicrosoft.Extensions.Options.DataAnnotationsнепряма
NuGetMicrosoft.Extensions.ServiceDiscoveryнепряма
NuGetMicrosoft.NET.Test.Sdkнепряма
NuGetOpenTelemetry.Exporter.OpenTelemetryProtocolнепряма
NuGetOpenTelemetry.Extensions.Hostingнепряма
NuGetOpenTelemetry.Instrumentation.AspNetCoreнепряма
NuGetOpenTelemetry.Instrumentation.Httpнепряма
NuGetOpenTelemetry.Instrumentation.Runtimeнепряма
NuGetShouldlyнепряма
NuGetxunit.runner.visualstudioнепряма
NuGetxunit.v3непряма
Сповіщення про залежності 3

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

ПакетВерсіяЗв'язокКритичністьСповіщеньВиправлено в
brace-expansion5.0.7непрямависока15.0.8
fast-uri3.1.3непрямависока14.1.1
tar7.5.19непрямапомірна17.5.21

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

Звіт у форматі JSON машиночитний
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 5085,
      "has_wiki": true,
      "homepage": null,
      "languages": {
        "C#": 477172,
        "Python": 13776,
        "JavaScript": 68,
        "PowerShell": 3205
      },
      "pushed_at": "2026-07-26T16:29:02Z",
      "created_at": "2025-03-22T08:41:41Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-26T16:29:21Z",
      "description": "Hexalith common utility classes and helpers",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "C#",
      "significant_languages": [
        "C#"
      ]
    },
    "owner": {
      "blog": "https://hexalith.readthedocs.io/",
      "name": "Hexalith",
      "type": "Organization",
      "login": "Hexalith",
      "company": null,
      "location": "France",
      "followers": 1,
      "avatar_url": "https://avatars.githubusercontent.com/u/80614290?v=4",
      "created_at": "2021-03-14T06:12:12Z",
      "is_verified": null,
      "public_repos": 58,
      "account_age_days": 1960
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v2.29.0",
          "kind": "minor",
          "published_at": "2026-07-26T16:29:47Z"
        },
        {
          "tag": "v2.28.2",
          "kind": "patch",
          "published_at": "2026-07-16T14:02:30Z"
        },
        {
          "tag": "v2.28.1",
          "kind": "patch",
          "published_at": "2026-07-12T14:10:08Z"
        },
        {
          "tag": "v2.28.0",
          "kind": "minor",
          "published_at": "2026-07-09T13:51:24Z"
        },
        {
          "tag": "v2.27.0",
          "kind": "minor",
          "published_at": "2026-07-07T17:44:46Z"
        },
        {
          "tag": "v2.26.0",
          "kind": "minor",
          "published_at": "2026-07-03T05:46:21Z"
        },
        {
          "tag": "v2.25.1",
          "kind": "patch",
          "published_at": "2026-07-02T11:55:14Z"
        },
        {
          "tag": "v2.25.0",
          "kind": "minor",
          "published_at": "2026-07-02T11:00:30Z"
        },
        {
          "tag": "v2.24.4",
          "kind": "patch",
          "published_at": "2026-07-02T09:08:33Z"
        },
        {
          "tag": "v2.24.3",
          "kind": "patch",
          "published_at": "2026-07-01T15:31:42Z"
        },
        {
          "tag": "v2.24.2",
          "kind": "patch",
          "published_at": "2026-07-01T05:34:56Z"
        },
        {
          "tag": "v2.24.1",
          "kind": "patch",
          "published_at": "2026-07-01T05:09:58Z"
        },
        {
          "tag": "v2.24.0",
          "kind": "minor",
          "published_at": "2026-06-30T04:56:10Z"
        },
        {
          "tag": "v2.23.0",
          "kind": "minor",
          "published_at": "2026-06-29T12:29:07Z"
        },
        {
          "tag": "v2.22.0",
          "kind": "minor",
          "published_at": "2026-06-29T12:13:11Z"
        },
        {
          "tag": "v2.21.0",
          "kind": "minor",
          "published_at": "2026-06-29T09:54:58Z"
        },
        {
          "tag": "v2.20.0",
          "kind": "minor",
          "published_at": "2026-06-29T09:22:02Z"
        },
        {
          "tag": "v2.19.0",
          "kind": "minor",
          "published_at": "2026-06-29T09:09:30Z"
        },
        {
          "tag": "v2.18.0",
          "kind": "minor",
          "published_at": "2026-05-27T17:53:01Z"
        },
        {
          "tag": "v2.17.0",
          "kind": "minor",
          "published_at": "2026-05-25T16:46:17Z"
        },
        {
          "tag": "v2.16.0",
          "kind": "minor",
          "published_at": "2026-05-24T11:47:39Z"
        },
        {
          "tag": "v2.15.0",
          "kind": "minor",
          "published_at": "2026-05-18T18:55:43Z"
        },
        {
          "tag": "v2.14.0",
          "kind": "minor",
          "published_at": "2026-05-18T09:28:14Z"
        },
        {
          "tag": "v2.13.0",
          "kind": "minor",
          "published_at": "2026-03-14T15:10:44Z"
        },
        {
          "tag": "v2.12.0",
          "kind": "minor",
          "published_at": "2026-03-14T15:00:10Z"
        },
        {
          "tag": "v2.11.0",
          "kind": "minor",
          "published_at": "2026-03-14T14:09:57Z"
        },
        {
          "tag": "v2.10.0",
          "kind": "minor",
          "published_at": "2026-03-14T14:05:20Z"
        },
        {
          "tag": "v2.9.0",
          "kind": "minor",
          "published_at": "2026-03-14T13:42:09Z"
        },
        {
          "tag": "v2.8.0",
          "kind": "minor",
          "published_at": "2026-01-10T12:18:59Z"
        },
        {
          "tag": "v2.7.0",
          "kind": "minor",
          "published_at": "2025-12-23T16:58:16Z"
        },
        {
          "tag": "v2.6.1",
          "kind": "patch",
          "published_at": "2025-12-23T16:55:20Z"
        },
        {
          "tag": "v2.6.0",
          "kind": "minor",
          "published_at": "2025-12-22T08:55:06Z"
        },
        {
          "tag": "v2.5.0",
          "kind": "minor",
          "published_at": "2025-12-21T17:35:45Z"
        },
        {
          "tag": "v2.4.1",
          "kind": "patch",
          "published_at": "2025-12-21T17:20:56Z"
        },
        {
          "tag": "v2.4.0",
          "kind": "minor",
          "published_at": "2025-12-21T15:22:44Z"
        },
        {
          "tag": "v2.3.0",
          "kind": "minor",
          "published_at": "2025-12-21T15:20:15Z"
        },
        {
          "tag": "v2.2.2",
          "kind": "patch",
          "published_at": "2025-12-06T06:20:09Z"
        },
        {
          "tag": "v2.2.1",
          "kind": "patch",
          "published_at": "2025-11-30T15:28:54Z"
        },
        {
          "tag": "v2.2.0",
          "kind": "minor",
          "published_at": "2025-11-13T19:14:32Z"
        },
        {
          "tag": "v2.1.9",
          "kind": "patch",
          "published_at": "2025-10-14T06:58:30Z"
        },
        {
          "tag": "v2.1.8",
          "kind": "patch",
          "published_at": "2025-10-13T04:28:31Z"
        },
        {
          "tag": "v2.1.7",
          "kind": "patch",
          "published_at": "2025-09-20T08:20:54Z"
        },
        {
          "tag": "v2.1.6",
          "kind": "patch",
          "published_at": "2025-08-10T06:44:39Z"
        },
        {
          "tag": "v2.1.5",
          "kind": "patch",
          "published_at": "2025-08-05T10:57:31Z"
        },
        {
          "tag": "v2.1.4",
          "kind": "patch",
          "published_at": "2025-07-24T10:42:49Z"
        },
        {
          "tag": "v2.1.3",
          "kind": "patch",
          "published_at": "2025-07-09T08:14:46Z"
        },
        {
          "tag": "v2.1.2",
          "kind": "patch",
          "published_at": "2025-07-06T14:13:48Z"
        },
        {
          "tag": "v2.1.1",
          "kind": "patch",
          "published_at": "2025-07-06T09:43:59Z"
        },
        {
          "tag": "v2.1.0",
          "kind": "minor",
          "published_at": "2025-07-06T08:31:25Z"
        },
        {
          "tag": "v2.0.6",
          "kind": "patch",
          "published_at": "2025-07-06T08:19:56Z"
        },
        {
          "tag": "v2.0.5",
          "kind": "patch",
          "published_at": "2025-07-04T08:29:55Z"
        },
        {
          "tag": "v2.0.4",
          "kind": "patch",
          "published_at": "2025-07-04T08:21:38Z"
        },
        {
          "tag": "v2.0.3",
          "kind": "patch",
          "published_at": "2025-06-29T06:09:15Z"
        },
        {
          "tag": "v2.0.2",
          "kind": "patch",
          "published_at": "2025-06-24T14:04:55Z"
        },
        {
          "tag": "v2.0.1",
          "kind": "patch",
          "published_at": "2025-06-13T07:22:23Z"
        },
        {
          "tag": "v2.0.0",
          "kind": "major",
          "published_at": "2025-06-13T06:41:54Z"
        },
        {
          "tag": "v1.66.5",
          "kind": "patch",
          "published_at": "2025-04-11T16:50:49Z"
        },
        {
          "tag": "v1.66.4",
          "kind": "patch",
          "published_at": "2025-04-10T09:58:21Z"
        },
        {
          "tag": "v1.66.3",
          "kind": "patch",
          "published_at": "2025-04-09T14:40:31Z"
        },
        {
          "tag": "v1.66.2",
          "kind": "patch",
          "published_at": "2025-04-08T07:05:53Z"
        },
        {
          "tag": "v1.66.1",
          "kind": "patch",
          "published_at": "2025-04-08T06:56:49Z"
        },
        {
          "tag": "v1.66.0",
          "kind": "minor",
          "published_at": "2025-04-07T20:27:53Z"
        },
        {
          "tag": "v1.65.1",
          "kind": "patch",
          "published_at": "2025-04-06T15:18:34Z"
        },
        {
          "tag": "v1.65.0",
          "kind": "minor",
          "published_at": "2025-04-06T15:11:58Z"
        },
        {
          "tag": "v1.64.0",
          "kind": "minor",
          "published_at": "2025-04-02T17:16:13Z"
        },
        {
          "tag": "v1.63.1",
          "kind": "patch",
          "published_at": "2025-04-02T13:06:53Z"
        },
        {
          "tag": "v1.63.0",
          "kind": "minor",
          "published_at": "2025-04-02T12:37:55Z"
        },
        {
          "tag": "v1.62.0",
          "kind": "minor",
          "published_at": "2025-03-28T17:29:07Z"
        },
        {
          "tag": "v1.61.2",
          "kind": "patch",
          "published_at": "2025-03-28T16:12:22Z"
        },
        {
          "tag": "v1.61.1",
          "kind": "patch",
          "published_at": "2025-03-28T13:58:11Z"
        },
        {
          "tag": "v1.61.0",
          "kind": "minor",
          "published_at": "2025-03-28T10:14:09Z"
        },
        {
          "tag": "v1.60.1",
          "kind": "patch",
          "published_at": "2025-03-27T05:26:35Z"
        },
        {
          "tag": "v1.60.0",
          "kind": "minor",
          "published_at": "2025-03-27T05:03:20Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "427530e27eab40b12e85832698da6962fd0c5a48",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 2.29.0 [skip ci]",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-07-26T16:29:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dd47efa1ff80b3727e09ac54b150973d0318e233",
          "body": "…CI checks",
          "is_bot": false,
          "headline": "feat(workflow): enhance release process with source verification and …",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-26T16:04:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b396a46352ffb5ab047fa97604d6527d71fca96f",
          "body": null,
          "is_bot": false,
          "headline": "feat(deps): add Hexalith.AI.Tools submodule reference",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-26T16:04:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ebc6656bc44b29ca390b94a98627190e16f44890",
          "body": "…ith.PolymorphicSerializations",
          "is_bot": false,
          "headline": "fix(deps): update subproject references for Hexalith.Builds and Hexal…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-26T15:20:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f9a48373cbca9e4153f9612049681f964f302cb2",
          "body": "…ith.PolymorphicSerializations; add NoWarn for compatibility in PolymorphicSerializations",
          "is_bot": false,
          "headline": "fix(deps): update subproject references for Hexalith.Builds and Hexal…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-26T13:37:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a444fce61a9a9490febd8a9b55ce8c654a94c480",
          "body": "…ith.PolymorphicSerializations",
          "is_bot": false,
          "headline": "fix(deps): update subproject references for Hexalith.Builds and Hexal…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-26T13:09:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "46427476f22652d3a96f800447723c66b6c63542",
          "body": "….0 into main via /pushall",
          "is_bot": false,
          "headline": "build: merge origin/dependabot/npm_and_yarn/semantic-release/git-11.0…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-26T11:25:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1db38b8c6aa7a035f6e10557dea343a353e032ab",
          "body": "…g-7.0.0 into main via /pushall",
          "is_bot": false,
          "headline": "build: merge origin/dependabot/npm_and_yarn/semantic-release/changelo…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-26T11:25:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "86b00805e7c959d4f23e76ed3739bbebdb922343",
          "body": "…nto main via /pushall",
          "is_bot": false,
          "headline": "build: merge origin/dependabot/npm_and_yarn/semantic-release-25.0.8 i…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-26T11:25:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "af0294f84c2ac19d9921c4e4fdedfb910053f9aa",
          "body": "Bumps [@semantic-release/git](https://github.com/semantic-release/git) from 10.0.1 to 11.0.0.\n- [Release notes](https://github.com/semantic-release/git/releases)\n- [Commits](https://github.com/semantic-release/git/compare/v10.0.1...v11.0.0)\n\n---\nupdated-dependencies:\n- dependency-name: \"@semantic-release/git\"\n  dependency-version: 11.0.0\n  dependency-type: direct:development\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): Bump @semantic-release/git from 10.0.1 to 11.0.0",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-22T22:34:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "252facd595fdd629a515489d880cb2a7d0e1cd76",
          "body": "Bumps [semantic-release](https://github.com/semantic-release/semantic-release) from 25.0.7 to 25.0.8.\n- [Release notes](https://github.com/semantic-release/semantic-release/releases)\n- [Commits](https://github.com/semantic-release/semantic-release/compare/v25.0.7...v25.0.8)\n\n---\nupdated-dependencies\n[…]\ndependency-name: semantic-release\n  dependency-version: 25.0.8\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): Bump semantic-release from 25.0.7 to 25.0.8",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-22T22:34:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "79db77de067e0ff07a3a7566c7cf6c75c8638c25",
          "body": "Bumps [@semantic-release/changelog](https://github.com/semantic-release/changelog) from 6.0.3 to 7.0.0.\n- [Release notes](https://github.com/semantic-release/changelog/releases)\n- [Commits](https://github.com/semantic-release/changelog/compare/v6.0.3...v7.0.0)\n\n---\nupdated-dependencies:\n- dependency\n[…]\name: \"@semantic-release/changelog\"\n  dependency-version: 7.0.0\n  dependency-type: direct:development\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): Bump @semantic-release/changelog from 6.0.3 to 7.0.0",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-22T22:34:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ea1fc4551dcaf8ee63fd562d77dfe0f18c57a94c",
          "body": null,
          "is_bot": false,
          "headline": "docs: update comments in Directory.Packages.props for clarity",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-18T12:58:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "05f0d9f4f6360bef9c33f14396b0c0c74cbd6864",
          "body": "…in submodules",
          "is_bot": false,
          "headline": "docs: clarify instructions for locating hexalith-llm-instructions.md …",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-17T16:28:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bad51a05a8c31cbb2b6e1867e8637f8cbb302c8f",
          "body": null,
          "is_bot": false,
          "headline": "docs: update AI Assistant instructions for clarity and completeness",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-17T16:05:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b83ad1f63a192d94948a3a2d5280111dc238e380",
          "body": null,
          "is_bot": false,
          "headline": "build: sync local changes via /pushall",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-17T09:11:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "48feced64053171b6dd1ab5c862976323c0f25e8",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 2.28.2 [skip ci]",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-07-16T14:01:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1db176e5e86607ce73f851c256a7338ac01d7953",
          "body": null,
          "is_bot": false,
          "headline": "fix(deps): mark Hexalith.Builds subproject as dirty",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-16T13:57:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4be9de3a4a197afc8a58edb68067d02e70c9c6e3",
          "body": null,
          "is_bot": false,
          "headline": "chore(deps): update .NET version to 10.0.302 and subproject reference",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-16T13:57:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "132a80bb5252a7540d3d36e086637375cf28990d",
          "body": "…mmit",
          "is_bot": false,
          "headline": "chore(deps): update Hexalith.Builds subproject reference to latest co…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-16T13:24:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aec526a74cfc584d7f5234914bfa8c93e60a4acc",
          "body": null,
          "is_bot": false,
          "headline": "chore(deps): update SDK version to 10.0.302 and subproject references",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-16T13:17:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0de3c627b199a247f81f927d432f512b09671bcd",
          "body": null,
          "is_bot": false,
          "headline": "build(deps): merge diagnostics abstractions 10.0.10",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-16T10:36:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4fd5056b369ea7a13c3939f7b71328784fde539c",
          "body": "…nto main via /pushall",
          "is_bot": false,
          "headline": "build: merge origin/dependabot/npm_and_yarn/semantic-release-25.0.7 i…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-16T10:35:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4c3d6aa684c7ba0e814133c15a49445f32030ca3",
          "body": "…10.0.9 to 10.0.10\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.Extensions.Diagnostics.Abstractions\n  dependency-version: 10.0.10\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): Bump Microsoft.Extensions.Diagnostics.Abstractions from …",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-15T22:37:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0750680c87462635d90293ef7db62ffa64d92c8b",
          "body": "Bumps [semantic-release](https://github.com/semantic-release/semantic-release) from 25.0.5 to 25.0.7.\n- [Release notes](https://github.com/semantic-release/semantic-release/releases)\n- [Commits](https://github.com/semantic-release/semantic-release/compare/v25.0.5...v25.0.7)\n\n---\nupdated-dependencies\n[…]\ndependency-name: semantic-release\n  dependency-version: 25.0.7\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump semantic-release from 25.0.5 to 25.0.7",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-15T22:34:54Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b03469b13408530bb757d3d02279c2d772ee4848",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 2.28.1 [skip ci]",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-07-12T14:09:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b75c208a3f070cc3608abd340907587134491589",
          "body": null,
          "is_bot": false,
          "headline": "fix: rebuild",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-12T14:05:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a088dfb4e8076dd5b004902d25e0d09b6812acd7",
          "body": "Added instructions for working with AI assistant and Git submodules.",
          "is_bot": false,
          "headline": "Update copilot instructions with AI guidelines",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-12T08:01:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "484dd7d9e47866b2ffdd85d9a5812c94ef898757",
          "body": "Updated instructions for AI assistants and Git submodule handling.",
          "is_bot": false,
          "headline": "Revise AI assistant instructions and submodule guidelines",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-12T08:01:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "be0f0db91f85a691720cb36cea77adbd7941080e",
          "body": null,
          "is_bot": false,
          "headline": "Update CLAUDE.md",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-12T08:00:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a3b4f882a2e4ab0f7129c42d609126dbdaeb1ed6",
          "body": null,
          "is_bot": false,
          "headline": "chore: merge dependabot commitlint bump",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-09T13:59:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0350739f38c5cdd0ebdf93d719b0b421c73268f3",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 2.28.0 [skip ci]",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-07-09T13:50:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fa82aae8c39fbeefd0cb4ccc8a5e64802f003263",
          "body": "Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 21.2.0 to 21.2.1.\n- [Release notes](https://github.com/conventional-changelog/commitlint/releases)\n- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/c\n[…]\nependency-name: \"@commitlint/cli\"\n  dependency-version: 21.2.1\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump @commitlint/cli from 21.2.0 to 21.2.1",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-09T13:48:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a11c14d529717ef0a70d688e460d3cd8bf60c5cd",
          "body": null,
          "is_bot": false,
          "headline": "feat: restructure CI/CD workflows and add package validation scripts",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-09T13:46:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "20048e9b10a9ee691cf4b360ef3c409de5a88815",
          "body": "# [2.27.0](https://github.com/Hexalith/Hexalith.Commons/compare/v2.26.0...v2.27.0) (2026-07-07)\n\n### Bug Fixes\n\n* update subproject commits for Hexalith.Builds and Hexalith.PolymorphicSerializations ([8278596](https://github.com/Hexalith/Hexalith.Commons/commit/827859601f123aba448ad1009866ca8ca3a11a\n[…]\n# Features\n\n* update Hexalith project reference conditions for improved configuration handling ([275edc0](https://github.com/Hexalith/Hexalith.Commons/commit/275edc03e1fc4aa51d45340e21fc1592938eec87))",
          "is_bot": false,
          "headline": "chore(release): 2.27.0 [skip ci]",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-07-07T17:44:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "827859601f123aba448ad1009866ca8ca3a11a6f",
          "body": "…orphicSerializations",
          "is_bot": false,
          "headline": "fix: update subproject commits for Hexalith.Builds and Hexalith.Polym…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-07T17:42:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "275edc03e1fc4aa51d45340e21fc1592938eec87",
          "body": "…guration handling",
          "is_bot": false,
          "headline": "feat: update Hexalith project reference conditions for improved confi…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-06T19:24:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c11e748a092b4ac7e88a17a2715c38d9456204db",
          "body": "…ymorphicSerializations",
          "is_bot": false,
          "headline": "chore: update subproject commits for Hexalith.Builds and Hexalith.Pol…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-04T18:47:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3be37dbe0902415a1333a7507160e6a340d533a8",
          "body": "Bumps [@semantic-release/github](https://github.com/semantic-release/github) from 12.0.8 to 12.0.9.\n- [Release notes](https://github.com/semantic-release/github/releases)\n- [Commits](https://github.com/semantic-release/github/compare/v12.0.8...v12.0.9)\n\n---\nupdated-dependencies:\n- dependency-name: \"@semantic-release/github\"\n  dependency-version: 12.0.9\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump @semantic-release/github from 12.0.8 to 12.0.9",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-04T18:31:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2ada99f62a7348db3c56b29f123783fbdedc4947",
          "body": "# [2.26.0](https://github.com/Hexalith/Hexalith.Commons/compare/v2.25.1...v2.26.0) (2026-07-03)\n\n### Features\n\n* enhance project reference handling for Hexalith.PolymorphicSerializations ([dde812b](https://github.com/Hexalith/Hexalith.Commons/commit/dde812bcc53eeb62aaf9d3c84615cb1f2ebee119))",
          "is_bot": false,
          "headline": "chore(release): 2.26.0 [skip ci]",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-07-03T05:46:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dde812bcc53eeb62aaf9d3c84615cb1f2ebee119",
          "body": "…alizations",
          "is_bot": false,
          "headline": "feat: enhance project reference handling for Hexalith.PolymorphicSeri…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-03T05:44:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "38b55b60755fe58f7dadb197036c9aea64cd3cbc",
          "body": "## [2.25.1](https://github.com/Hexalith/Hexalith.Commons/compare/v2.25.0...v2.25.1) (2026-07-02)\n\n### Bug Fixes\n\n* update workflow actions to use the main branch for verification and package release ([c6af031](https://github.com/Hexalith/Hexalith.Commons/commit/c6af031ab32a0037cbfcd89577e209943d1a55eb))",
          "is_bot": false,
          "headline": "chore(release): 2.25.1 [skip ci]",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-07-02T11:55:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c6af031ab32a0037cbfcd89577e209943d1a55eb",
          "body": "…and package release",
          "is_bot": false,
          "headline": "fix: update workflow actions to use the main branch for verification …",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-02T11:52:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c43e7abd3a4f1e9a81fe1147e828b2161f5b32bb",
          "body": "# [2.25.0](https://github.com/Hexalith/Hexalith.Commons/compare/v2.24.4...v2.25.0) (2026-07-02)\n\n### Features\n\n* add commitlint configuration and workflows ([37e537e](https://github.com/Hexalith/Hexalith.Commons/commit/37e537e93ce7648a61b5ab3940d48b9a5d7bc611))",
          "is_bot": false,
          "headline": "chore(release): 2.25.0 [skip ci]",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-07-02T11:00:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "37e537e93ce7648a61b5ab3940d48b9a5d7bc611",
          "body": "- Added commitlint configuration file to enforce conventional commit messages.\n- Created GitHub Actions workflows for commitlint, dependency review, and CodeQL analysis.\n- Updated package.json and package-lock.json to include @commitlint dependencies.\n- Added dependabot configuration for npm and GitHub Actions updates.",
          "is_bot": false,
          "headline": "feat: add commitlint configuration and workflows",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-02T10:57:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b202d6f81a8c75e4caf85debfc03a65999638684",
          "body": "## [2.24.4](https://github.com/Hexalith/Hexalith.Commons/compare/v2.24.3...v2.24.4) (2026-07-02)\n\n### Bug Fixes\n\n* update action versions in build-release workflow to specific commits ([b204b1d](https://github.com/Hexalith/Hexalith.Commons/commit/b204b1d90c07e5f2ca29fec7907c1f40294d351f))",
          "is_bot": false,
          "headline": "chore(release): 2.24.4 [skip ci]",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-07-02T09:08:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b204b1d90c07e5f2ca29fec7907c1f40294d351f",
          "body": "…mits",
          "is_bot": false,
          "headline": "fix: update action versions in build-release workflow to specific com…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-02T09:06:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "244cf240dca39a4c936801ae3dde6ff7c23ccde5",
          "body": "## [2.24.3](https://github.com/Hexalith/Hexalith.Commons/compare/v2.24.2...v2.24.3) (2026-07-01)\n\n### Bug Fixes\n\n* remove outdated package version entries from Directory.Packages.props ([a0a9946](https://github.com/Hexalith/Hexalith.Commons/commit/a0a9946c7729a78bb654acfd90cbe7eca680129d))\n* update ByteAether.Ulid package version to 1.3.8 ([1a0ee1f](https://github.com/Hexalith/Hexalith.Commons/commit/1a0ee1f7f298ae545ace39da7e2ab428d9876f1f))",
          "is_bot": false,
          "headline": "chore(release): 2.24.3 [skip ci]",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-07-01T15:31:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a0a9946c7729a78bb654acfd90cbe7eca680129d",
          "body": "…props",
          "is_bot": false,
          "headline": "fix: remove outdated package version entries from Directory.Packages.…",
          "author_name": "Jerome",
          "author_login": "jpiquot",
          "committed_at": "2026-07-01T15:29:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1a0ee1f7f298ae545ace39da7e2ab428d9876f1f",
          "body": null,
          "is_bot": false,
          "headline": "fix: update ByteAether.Ulid package version to 1.3.8",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-01T14:04:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "366620300fe8e1801d4f6c1743f869ca568af3c4",
          "body": "… commit",
          "is_bot": false,
          "headline": "chore: update Hexalith.PolymorphicSerializations subproject to latest…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-01T06:10:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7d658adcd985635e156fe1bdb347b0a0ec8a6141",
          "body": null,
          "is_bot": false,
          "headline": "Refactor code structure for improved readability and maintainability",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-01T06:05:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8133cdcd33fe57b7fa50e018d805ea4dbe8bf988",
          "body": "## [2.24.2](https://github.com/Hexalith/Hexalith.Commons/compare/v2.24.1...v2.24.2) (2026-07-01)\n\n### Bug Fixes\n\n* remove unused outputs and step ID from build-release.yml; update release config in package.json ([fcae512](https://github.com/Hexalith/Hexalith.Commons/commit/fcae5123ed3c8e52242b96f00a11ecf1e9f71eaa))",
          "is_bot": false,
          "headline": "chore(release): 2.24.2 [skip ci]",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-07-01T05:34:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fcae5123ed3c8e52242b96f00a11ecf1e9f71eaa",
          "body": "… release config in package.json",
          "is_bot": false,
          "headline": "fix: remove unused outputs and step ID from build-release.yml; update…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-01T05:33:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b835846c36ba455630ad7552f5d3bc71f31f05a4",
          "body": "… package.json",
          "is_bot": false,
          "headline": "fix: correct typo in build-release.yml and update release branches in…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-07-01T05:08:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ab0285ecba2c5bdbf3acd92d76886d57ce638b4a",
          "body": "The Hexalith.Builds submodule was updated from commit cd0a46f9 to 6a059a1a, advancing the reference to the latest version. This brings in any new changes or fixes from the Hexalith.Builds repository.",
          "is_bot": false,
          "headline": "Update Hexalith.Builds submodule to latest commit",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-30T05:55:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "305a0a3b84c351a72c409ae904d1259bc58b0473",
          "body": "Update metadata construction and tenant access evaluation handling.\n\nCap fuzzy similarity for identifier-like values when numeric tokens differ.\n\nValidated with dotnet test on Hexalith.Commons.slnx.",
          "is_bot": false,
          "headline": "fix(commons): stabilize metadata and access",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-30T04:45:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1e3129c7dc4bbc48092f1884ac8bf3b4b8064f26",
          "body": null,
          "is_bot": false,
          "headline": "feat: enhance packaging properties for Hexalith.Commons.UniqueIds",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-29T17:16:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e0819e3b8cab4f55408b7e8c1974d3a84b6eac6b",
          "body": null,
          "is_bot": false,
          "headline": "feat(strings): add shared search text helpers",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-29T13:37:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7363ec6038aa2ee7ba190737a60f2e3b201756f4",
          "body": null,
          "is_bot": false,
          "headline": "test: add unit tests for BoundedProblemDetailsFactory",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-29T12:33:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a037ea7255e920ae714ba57aafe5dd1e557f5d53",
          "body": null,
          "is_bot": false,
          "headline": "feat: add PagedResult and corresponding unit tests for HTTP paging",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-29T12:27:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b16611c372a45b7c3537ea21c19cb9a02774b06b",
          "body": null,
          "is_bot": false,
          "headline": "chore: align commons http helpers",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-29T12:10:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aee3dae29be1b257258e07a32ec4a88bd1a4ae85",
          "body": null,
          "is_bot": false,
          "headline": "test: cover commons problem details and paging",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-29T12:08:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "218124751b722c056ebac7190ea9706fa9455702",
          "body": "…oblem details handling\n\nfeat: implement HttpCorrelation for correlation ID propagation\nfeat: create CorrelationContextAccessor for async-local correlation management\nfeat: introduce PagedResult for domain-neutral paged results",
          "is_bot": false,
          "headline": "feat: add BoundedProblemDetails and related factory and reader for pr…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-29T12:08:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "02ba1b9adc51def8c82d185d25bcb768f475a4d8",
          "body": null,
          "is_bot": false,
          "headline": "feat: update subproject commit for Hexalith.PolymorphicSerializations",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-29T09:53:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a1a86f2a389fb1b4fcef8bd55394a4b45debbe69",
          "body": "…morphicSerializations",
          "is_bot": false,
          "headline": "feat: update subproject commits for Hexalith.Builds and Hexalith.Poly…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-29T09:19:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "413b7e6266dca9b93c32de5af439e5ad5d9c503a",
          "body": null,
          "is_bot": false,
          "headline": "feat: add README for references folder explaining Git submodules",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-29T09:07:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "99ed36c42be1be18f319e0e8ede5c5c186f84ca1",
          "body": "…morphicSerializations",
          "is_bot": false,
          "headline": "feat: update subproject commits for Hexalith.Builds and Hexalith.Poly…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-29T09:00:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a040bdb81e0084518ee58f06026f1600bc8fa399",
          "body": "…rializations in project files",
          "is_bot": false,
          "headline": "feat: update references to Hexalith.Builds and Hexalith.PolymorphicSe…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-29T08:45:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "33f94b6658cb7b85bcc3e6efb5157e0c5973ef19",
          "body": "…nd Hexalith.PolymorphicSerializations",
          "is_bot": false,
          "headline": "feat: update submodule paths and add references for Hexalith.Builds a…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-29T08:45:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8497864d804d494132006320cc9ef735ef4a5791",
          "body": null,
          "is_bot": false,
          "headline": "feat: remove bmad files and obsolete sln",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-29T08:07:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9197d533e4debb73d645234e49bb50321755631b",
          "body": "- Updated solution to include new Hexalith.Commons.Aspire, EventStore, and Memories projects.\n- Advanced submodules to latest commits.\n- Moved Commons.UniqueIds build properties to a local Directory.Build.props for modularity.\n- Improved EventStore path resolution in root Directory.Build.props.\n- Re\n[…]\ntCommandHandler logging: clarified event IDs, log messages, and constructor parameters.\n- Renamed constant for problem JSON content type in DomainCommandRejectedExceptionHandler for style consistency.",
          "is_bot": false,
          "headline": "Add new projects, refactor build and logging structure",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-27T10:36:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "353e96e5b12989159ae04499ac628811790c0d8b",
          "body": null,
          "is_bot": false,
          "headline": "chore: remove Hexalith.PolymorphicSerializations subproject",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-26T14:33:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d976d5639172e07b8dea3b74a0bfe3be5d65e0d7",
          "body": "…ts for DAPR service resolution",
          "is_bot": false,
          "headline": "feat: add AspireDaprLocalServiceEndpoints class and corresponding tes…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-26T09:09:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bc36ec8fefe1ea69b8daae31d3fb60042523663d",
          "body": "…utes",
          "is_bot": false,
          "headline": "feat: add AssemblyInfo files with copyright and CLS compliance attrib…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-26T07:09:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "02cb52d5dff537e2c019c05a462acbe252444980",
          "body": null,
          "is_bot": false,
          "headline": "chore: update OpenTelemetry package versions to 1.16.0",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-26T06:55:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a1b9546fd9ab2c26e0f653b45d2aa7351cfd424b",
          "body": "…overage\n\nAdd review-hardening tests for the FR-14 Commons serialization helpers:\n- CreateWeb params overload preserves resolver order; web camelCase /\n  case-insensitive defaults are preserved.\n- Registry prefers exact match over suffix match, resolves ordinal /\n  case-sensitively, rejects invalid \n[…]\ntration collections and open\n  generics, accepts bounded '.'/'_'/'-' discriminators, and FromTypeNames\n  keys by simple type name.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "test(serialization): strengthen JSON options & polymorphic registry c…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-24T08:45:26Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "2dc8358462a625db964758c71d0db824dd3e0e75",
          "body": "Promote a self-contained Hexalith.Commons.Serialization library: web-default\nJSON options composition with explicit resolver ordering and optional\nreflection fallback, a bounded content-safe polymorphic type registry with\nexact-then-suffix resolution, and ruleless string/int value converter bases.\nA\n[…]\n submodule. Consumed by Hexalith.Conversations to close\nthe FR-14 shared JSON-context base / polymorphic registration story (3.6).\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(serialization): add domain-neutral JSON resolver/registry helpers",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-24T08:22:51Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "a8b36395897ba79c870e7075e0d0aa41a10de623",
          "body": null,
          "is_bot": false,
          "headline": "Promote shared Aspire and publication helpers",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-24T07:04:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5c0ef9847d4ba718a5aef128cbe4e0e3cbc8eed0",
          "body": null,
          "is_bot": false,
          "headline": "docs: add UX instructions to AGENTS and CLAUDE documentation",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-23T07:06:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "03e25dfa14db5745a23314bb7f07e69f1ebb5d4a",
          "body": null,
          "is_bot": false,
          "headline": "chore: update dependencies",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-19T14:12:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0b4ac3392f729f960db6d489f4af1c033cf38ec9",
          "body": null,
          "is_bot": false,
          "headline": "docs: add initial instructions for Hexalith LLM usage",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-17T12:02:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "790953ae6afb55b92626da518a97c06d80cd7329",
          "body": null,
          "is_bot": false,
          "headline": "docs: add additional instructions for Hexalith LLM usage",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-17T11:56:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "46add3ebb84737a65847f51d1307e85a5a37cf01",
          "body": "Improved Directory.Build.props logic for Hexalith.Tenants, Hexalith.Commons, and Hexalith.PolymorphicSerializations source path resolution. Removed unnecessary .gitmodules checks, clarified comments, and ensured robust handling for both nested and sibling submodule layouts. Updated Hexalith.Commons submodule reference to a dirty state.",
          "is_bot": false,
          "headline": "Refactor submodule path resolution in build props",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-14T09:14:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6650bdb66d64d9df942564ec92cff73655d1e2f8",
          "body": "Moved namespace above usings and removed duplicate in HttpClientRegistration.cs. Simplified CLSCompliant attribute by removing System. prefix in AssemblyInfo.cs.",
          "is_bot": false,
          "headline": "Refactor namespace and attribute usage",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-14T06:29:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3efae3238f169872f83d3fcb2c712928221a5434",
          "body": "Bump Microsoft.Extensions.* packages to 10.0.9, including Configuration, DependencyInjection, Hosting, Http, Identity, and Localization. Update Microsoft.Extensions.Diagnostics.Abstractions to 10.0.9. Change test project to use xunit.v3 instead of xunit.",
          "is_bot": false,
          "headline": "Update Microsoft.Extensions packages and switch to xunit.v3",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-14T06:17:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d70af4e39b8b02f4339f7adbf265937435a77a06",
          "body": "Added Hexalith.PolymorphicSerializations Git submodule, referencing the main branch at commit 4f7ddc34. Updated .gitmodules accordingly.",
          "is_bot": false,
          "headline": "Add Hexalith.PolymorphicSerializations as submodule",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-13T13:29:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "db87c90506ce135e096cd96ad0bf49ed5c2cc1e4",
          "body": "Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "test: suppress CS8602/CS8604 nullable warnings in test projects",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-13T13:20:42Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "30beed16379c8358c058ed94d76b1730410bb121",
          "body": "Update xUnit to v3 in test projects and packages.\nUpgrade Microsoft.NET.Test.Sdk to v18.6.0.\nUpgrade SonarAnalyzer.CSharp to v10.27.0.\nAdd gitignored config.user.toml for local overrides.",
          "is_bot": false,
          "headline": "chore(deps): update test dependencies and configs",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-13T12:39:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c76c1fe7ce6ed7d23b7aa19b64971f5828a0d04b",
          "body": "…rder test\n\nCapture the configured HexalithServiceDefaultsOptions directly in the ASP.NET Core\ntrace filter instead of rebuilding and re-validating an options instance on every\nrequest, and correct the module-hook-order test to account for the OpenTelemetry\nlogging hook running lazily when the logging pipeline is materialized.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "refactor(service-defaults): scope trace filter options and fix hook-o…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-08T10:35:54Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "6adbf2baabb3361b8b693a8ba3cc9e37d9e56289",
          "body": null,
          "is_bot": false,
          "headline": "feat: add shared service defaults base",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-08T10:12:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "17820f8149e8ae20b5960977fd06bdc37f5f86cb",
          "body": "… tests",
          "is_bot": false,
          "headline": "feat: add Hexalith.Commons.Diagnostics telemetry scaffolding helper +…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-08T09:42:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "feaf0078c15ddfa9ad1eed0c7e1124a03fdf7949",
          "body": "…e; fix null-health fail-closed stub",
          "is_bot": false,
          "headline": "test: add tenant-access evaluator contract + replay-tolerance coverag…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-08T08:42:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a8ac0322bf40e74633c907f57d9998412b52ea74",
          "body": null,
          "is_bot": false,
          "headline": "feat: Add generic tenant access helpers",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-08T07:43:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d0ea6e2844ca30f007a6e889cc591d30e13a9ce8",
          "body": "…submodule support",
          "is_bot": false,
          "headline": "feat: Enhance Hexalith.PolymorphicSerializations path resolution for …",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-07T14:52:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e8d5547f65dda53b1fbf430e289faf068a0bec7c",
          "body": "Revert \"Update submodules and add solution-level .gitignore\" and\n\"Update solution and submodule references\". Commit 3e1c5cc removed the entire\nUniqueIds library (UniqueIdHelper: GenerateSortableUniqueStringId, ToGuid,\nExtractTimestamp, ...) along with other Commons sources. Hexalith.EventStore\ndepen\n[…]\ngain.\n\nThis reverts commit 942609e5c321248c4a2c78fc0d1ce63f71af7dbe.\nThis reverts commit 3e1c5cc75ae0aac7e267ec7cebe14f0e4ee63c8b.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "revert: restore Hexalith.Commons.UniqueIds and sibling libraries",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-07T13:46:38Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "942609e5c321248c4a2c78fc0d1ce63f71af7dbe",
          "body": "Updated Hexalith.Commons and Hexalith.Tenants submodules to new commits. Added a .gitignore at the solution level for build, VS, and temp files. Modified Hexalith.FrontComposer.slnx to include the .gitignore in Solution Items and reordered some project entries.",
          "is_bot": false,
          "headline": "Update submodules and add solution-level .gitignore",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-07T11:23:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3e1c5cc75ae0aac7e267ec7cebe14f0e4ee63c8b",
          "body": null,
          "is_bot": false,
          "headline": "Update solution and submodule references",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-07T11:09:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "daf1b1873deff89483435a2533a36d6d478c9cd1",
          "body": "… properties",
          "is_bot": false,
          "headline": "feat: Add Hexalith.PolymorphicSerializations path resolution to build…",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-05T11:55:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "84353245562127151a1a5e3730ea5f6c32641172",
          "body": null,
          "is_bot": false,
          "headline": "feat: Update ByteAether.Ulid package version to 1.3.7",
          "author_name": "Jérôme Piquot",
          "author_login": "jpiquot",
          "committed_at": "2026-06-04T17:04:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 73,
      "commits_last_year": 162,
      "latest_release_at": "2026-07-26T16:29:47Z",
      "latest_release_tag": "v2.29.0",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 22,
      "days_since_latest_release": 0,
      "mean_days_between_releases": 2.8
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 50,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": []
    },
    "popularity": {
      "forks": 0,
      "stars": 0,
      "watchers": 1,
      "fork_history": {
        "days": [],
        "complete": true,
        "collected": 0,
        "total_forks": 0
      },
      "star_history": {
        "days": [],
        "complete": true,
        "collected": 0,
        "total_stars": 0,
        "collected_at": null
      },
      "open_issues_and_prs": 8
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [
        "src/libraries/Hexalith.Commons.Aspire/Hexalith.Commons.Aspire.csproj",
        "src/libraries/Hexalith.Commons.Configurations/Hexalith.Commons.Configurations.csproj",
        "src/libraries/Hexalith.Commons.Diagnostics/Hexalith.Commons.Diagnostics.csproj",
        "src/libraries/Hexalith.Commons.Http/Hexalith.Commons.Http.csproj",
        "src/libraries/Hexalith.Commons.Metadatas/Hexalith.Commons.Metadatas.csproj",
        "src/libraries/Hexalith.Commons.Publication/Hexalith.Commons.Publication.csproj",
        "src/libraries/Hexalith.Commons.Serialization/Hexalith.Commons.Serialization.csproj",
        "src/libraries/Hexalith.Commons.ServiceDefaults/Hexalith.Commons.ServiceDefaults.csproj",
        "src/libraries/Hexalith.Commons.StringEncoders/Hexalith.Commons.StringEncoders.csproj",
        "src/libraries/Hexalith.Commons.TenantAccess/Hexalith.Commons.TenantAccess.csproj",
        "src/libraries/Hexalith.Commons.UniqueIds/Hexalith.Commons.UniqueIds.csproj",
        "src/libraries/Hexalith.Commons/Hexalith.Commons.csproj",
        "test/Hexalith.Commons.Aspire.Tests/Hexalith.Commons.Aspire.Tests.csproj",
        "test/Hexalith.Commons.Diagnostics.Tests/Hexalith.Commons.Diagnostics.Tests.csproj",
        "test/Hexalith.Commons.Http.Tests/Hexalith.Commons.Http.Tests.csproj",
        "test/Hexalith.Commons.Publication.Tests/Hexalith.Commons.Publication.Tests.csproj",
        "test/Hexalith.Commons.Serialization.Tests/Hexalith.Commons.Serialization.Tests.csproj",
        "test/Hexalith.Commons.ServiceDefaults.Tests/Hexalith.Commons.ServiceDefaults.Tests.csproj",
        "test/Hexalith.Commons.TenantAccess.Tests/Hexalith.Commons.TenantAccess.Tests.csproj",
        "test/Hexalith.Commons.Tests/Hexalith.Commons.Tests.csproj"
      ],
      "largest_source_bytes": 17799,
      "source_files_sampled": 146,
      "oversized_source_files": 0,
      "agent_instruction_files": [
        ".clinerules",
        ".cursorrules",
        ".github/copilot-instructions.md",
        "AGENTS.md",
        "CLAUDE.md"
      ],
      "agent_instruction_max_bytes": 3141
    },
    "dependencies": {
      "manifests": [
        "package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.7",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-mh99-v99m-4gvg"
            ],
            "fixed_version": "5.0.8",
            "advisory_count": 1,
            "oldest_advisory_days": 1
          },
          {
            "name": "fast-uri",
            "direct": false,
            "version": "3.1.3",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-v2hh-gcrm-f6hx"
            ],
            "fixed_version": "4.1.1",
            "advisory_count": 1,
            "oldest_advisory_days": 4
          },
          {
            "name": "tar",
            "direct": false,
            "version": "7.5.19",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-r292-9mhp-454m"
            ],
            "fixed_version": "7.5.21",
            "advisory_count": 1,
            "oldest_advisory_days": 2
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "high": 2,
          "moderate": 1
        },
        "advisory_count": 3,
        "affected_count": 3,
        "assessed_count": 458,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 26,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@actions/core",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@actions/exec",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@actions/http-client",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@actions/io",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/code-frame",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@colors/colors",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/cli",
            "direct": false,
            "version": "21.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/config-conventional",
            "direct": false,
            "version": "21.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/config-validator",
            "direct": false,
            "version": "21.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/ensure",
            "direct": false,
            "version": "21.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/execute-rule",
            "direct": false,
            "version": "21.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/format",
            "direct": false,
            "version": "21.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/is-ignored",
            "direct": false,
            "version": "21.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/lint",
            "direct": false,
            "version": "21.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/load",
            "direct": false,
            "version": "21.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/message",
            "direct": false,
            "version": "21.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/parse",
            "direct": false,
            "version": "21.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/read",
            "direct": false,
            "version": "21.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/resolve-extends",
            "direct": false,
            "version": "21.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/rules",
            "direct": false,
            "version": "21.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/to-lines",
            "direct": false,
            "version": "21.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/top-level",
            "direct": false,
            "version": "21.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/types",
            "direct": false,
            "version": "21.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@conventional-changelog/git-client",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@conventional-changelog/template",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@gar/promise-retry",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@isaacs/fs-minipass",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@isaacs/string-locale-compare",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/agent",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/arborist",
            "direct": false,
            "version": "9.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/config",
            "direct": false,
            "version": "10.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/fs",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/git",
            "direct": false,
            "version": "7.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/installed-package-contents",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/map-workspaces",
            "direct": false,
            "version": "5.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/metavuln-calculator",
            "direct": false,
            "version": "9.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/name-from-folder",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/node-gyp",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/package-json",
            "direct": false,
            "version": "7.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/promise-spawn",
            "direct": false,
            "version": "9.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/query",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/redact",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/run-script",
            "direct": false,
            "version": "10.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/auth-token",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/core",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/endpoint",
            "direct": false,
            "version": "11.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/graphql",
            "direct": false,
            "version": "9.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/openapi-types",
            "direct": false,
            "version": "27.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/plugin-paginate-rest",
            "direct": false,
            "version": "14.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/plugin-retry",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/plugin-throttling",
            "direct": false,
            "version": "11.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/request",
            "direct": false,
            "version": "10.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/request-error",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/types",
            "direct": false,
            "version": "16.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@pnpm/config.env-replace",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@pnpm/network.ca-file",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@pnpm/npm-conf",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@sec-ant/readable-stream",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "@semantic-release/changelog",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@semantic-release/commit-analyzer",
            "direct": false,
            "version": "13.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@semantic-release/error",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@semantic-release/error",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@semantic-release/exec",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@semantic-release/git",
            "direct": false,
            "version": "11.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@semantic-release/github",
            "direct": false,
            "version": "12.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@semantic-release/npm",
            "direct": false,
            "version": "13.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@semantic-release/release-notes-generator",
            "direct": false,
            "version": "14.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@sigstore/bundle",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sigstore/core",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@sigstore/protobuf-specs",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@sigstore/sign",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@sigstore/tuf",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@sigstore/verify",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@simple-libs/child-process-utils",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@simple-libs/stream-utils",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@simple-libs/stream-utils",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sindresorhus/is",
            "direct": false,
            "version": "4.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sindresorhus/merge-streams",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tufjs/canonical-json",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tufjs/models",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "26.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/normalize-package-data",
            "direct": false,
            "version": "2.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "abbrev",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "agent-base",
            "direct": false,
            "version": "7.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "agent-base",
            "direct": false,
            "version": "9.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "aggregate-error",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "aggregate-error",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "8.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-escapes",
            "direct": false,
            "version": "7.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "6.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "any-promise",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "aproba",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "archy",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "argv-formatter",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "array-ify",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "before-after-hook",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "bin-links",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "binary-extensions",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "bottleneck",
            "direct": false,
            "version": "2.19.5",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "braces",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "cacache",
            "direct": false,
            "version": "20.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "callsites",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "2.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "5.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "char-regex",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "chownr",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ci-info",
            "direct": false,
            "version": "4.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "cidr-regex",
            "direct": false,
            "version": "5.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "clean-stack",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "clean-stack",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "cli-highlight",
            "direct": false,
            "version": "2.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "cli-table3",
            "direct": false,
            "version": "0.6.5",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "7.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "9.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "cmd-shim",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "1.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "common-ancestor-path",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "compare-func",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "config-chain",
            "direct": false,
            "version": "1.1.13",
            "ecosystem": "npm"
          },
          {
            "name": "content-type",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "conventional-changelog-angular",
            "direct": false,
            "version": "8.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "conventional-changelog-angular",
            "direct": false,
            "version": "9.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "conventional-changelog-conventionalcommits",
            "direct": false,
            "version": "10.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "conventional-changelog-writer",
            "direct": false,
            "version": "8.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "conventional-commits-filter",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "conventional-commits-parser",
            "direct": false,
            "version": "6.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "conventional-commits-parser",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "convert-hrtime",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "core-util-is",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "cosmiconfig",
            "direct": false,
            "version": "9.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "cosmiconfig-typescript-loader",
            "direct": false,
            "version": "6.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "crypto-random-string",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cssesc",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "deep-extend",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "diff",
            "direct": false,
            "version": "8.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "dir-glob",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "dot-prop",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "duplexer2",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "10.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "emojilib",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "env-ci",
            "direct": false,
            "version": "11.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "env-paths",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "environment",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "error-ex",
            "direct": false,
            "version": "1.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "es-toolkit",
            "direct": false,
            "version": "1.49.0",
            "ecosystem": "npm"
          },
          {
            "name": "escalade",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "execa",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "execa",
            "direct": false,
            "version": "9.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "exponential-backoff",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-uri",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fastest-levenshtein",
            "direct": false,
            "version": "1.0.16",
            "ecosystem": "npm"
          },
          {
            "name": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "figures",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "figures",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fill-range",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-up-simple",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "find-versions",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fs-extra",
            "direct": false,
            "version": "11.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "fs-minipass",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "function-timeout",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-caller-file",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "get-east-asian-width",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-stream",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-stream",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-stream",
            "direct": false,
            "version": "9.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "git-log-parser",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "13.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "global-directory",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.10",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "handlebars",
            "direct": false,
            "version": "4.7.9",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "highlight.js",
            "direct": false,
            "version": "10.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "hook-std",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "hosted-git-info",
            "direct": false,
            "version": "7.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hosted-git-info",
            "direct": false,
            "version": "9.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "http-cache-semantics",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "http-proxy-agent",
            "direct": false,
            "version": "7.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "http-proxy-agent",
            "direct": false,
            "version": "9.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "https-proxy-agent",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "https-proxy-agent",
            "direct": false,
            "version": "9.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "human-signals",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "human-signals",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "ignore-walk",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "import-fresh",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "import-from-esm",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "import-meta-resolve",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "indent-string",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "indent-string",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "index-to-position",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "ini",
            "direct": false,
            "version": "1.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "ini",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "init-package-json",
            "direct": false,
            "version": "8.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "ip-address",
            "direct": false,
            "version": "10.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-arrayish",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-cidr",
            "direct": false,
            "version": "6.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-number",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-obj",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-plain-obj",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-stream",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-stream",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-unicode-supported",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "isarray",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "issue-parser",
            "direct": false,
            "version": "7.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "java-properties",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "jiti",
            "direct": false,
            "version": "2.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-parse-better-errors",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "json-parse-even-better-errors",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-parse-even-better-errors",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-stringify-nice",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "json-with-bigint",
            "direct": false,
            "version": "3.5.8",
            "ecosystem": "npm"
          },
          {
            "name": "jsonfile",
            "direct": false,
            "version": "6.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "jsonparse",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "just-diff",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "just-diff-apply",
            "direct": false,
            "version": "5.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "libnpmaccess",
            "direct": false,
            "version": "10.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "libnpmdiff",
            "direct": false,
            "version": "8.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "libnpmexec",
            "direct": false,
            "version": "10.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "libnpmfund",
            "direct": false,
            "version": "7.0.25",
            "ecosystem": "npm"
          },
          {
            "name": "libnpmorg",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "libnpmpack",
            "direct": false,
            "version": "9.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "libnpmpublish",
            "direct": false,
            "version": "11.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "libnpmsearch",
            "direct": false,
            "version": "9.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "libnpmteam",
            "direct": false,
            "version": "8.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "libnpmversion",
            "direct": false,
            "version": "8.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "lines-and-columns",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "load-json-file",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash",
            "direct": false,
            "version": "4.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "lodash-es",
            "direct": false,
            "version": "4.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.capitalize",
            "direct": false,
            "version": "4.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.escaperegexp",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.isplainobject",
            "direct": false,
            "version": "4.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.isstring",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.uniqby",
            "direct": false,
            "version": "4.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "10.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "11.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "make-asynchronous",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "make-fetch-happen",
            "direct": false,
            "version": "15.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "marked",
            "direct": false,
            "version": "15.0.12",
            "ecosystem": "npm"
          },
          {
            "name": "marked-terminal",
            "direct": false,
            "version": "7.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "meow",
            "direct": false,
            "version": "13.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "meow",
            "direct": false,
            "version": "14.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "merge-stream",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromatch",
            "direct": false,
            "version": "4.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "mime",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-fn",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "10.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "3.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "minipass-collect",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "minipass-fetch",
            "direct": false,
            "version": "5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "minipass-flush",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "minipass-pipeline",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "minipass-sized",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "minizlib",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "mute-stream",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "mz",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "negotiator",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "neo-async",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "nerf-dart",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-emoji",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-gyp",
            "direct": false,
            "version": "12.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "nopt",
            "direct": false,
            "version": "9.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-package-data",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-package-data",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-url",
            "direct": false,
            "version": "9.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "npm",
            "direct": false,
            "version": "11.18.0",
            "ecosystem": "npm"
          },
          {
            "name": "npm-audit-report",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "npm-bundled",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "npm-install-checks",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "npm-normalize-package-bin",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "npm-package-arg",
            "direct": false,
            "version": "13.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "npm-packlist",
            "direct": false,
            "version": "10.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "npm-pick-manifest",
            "direct": false,
            "version": "11.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "npm-profile",
            "direct": false,
            "version": "12.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "npm-registry-fetch",
            "direct": false,
            "version": "19.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "npm-run-path",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "npm-run-path",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "npm-user-validate",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "object-assign",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "onetime",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-each-series",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-event",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "p-filter",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-map",
            "direct": false,
            "version": "7.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "p-map",
            "direct": false,
            "version": "7.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "p-reduce",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-timeout",
            "direct": false,
            "version": "6.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "p-try",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pacote",
            "direct": false,
            "version": "21.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "parent-module",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse-conflict-json",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse-json",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse-json",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse-json",
            "direct": false,
            "version": "8.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse-ms",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse5",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse5",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse5-htmlparser2-tree-adapter",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-exists",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-scurry",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "path-type",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "pify",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pkg-conf",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-selector-parser",
            "direct": false,
            "version": "7.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "pretty-ms",
            "direct": false,
            "version": "9.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "proc-log",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "process-nextick-args",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "proggy",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "promise-all-reject-late",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "promise-call-limit",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "promzard",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "proto-list",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "proxy-agent-negotiate",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "qrcode-terminal",
            "direct": false,
            "version": "0.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "rc",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "read",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "read-cmd-shim",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "read-package-up",
            "direct": false,
            "version": "11.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "read-package-up",
            "direct": false,
            "version": "12.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "read-pkg",
            "direct": false,
            "version": "10.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "read-pkg",
            "direct": false,
            "version": "9.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "2.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "registry-auth-token",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "require-directory",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "require-from-string",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "semantic-release",
            "direct": false,
            "version": "25.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.8.5",
            "ecosystem": "npm"
          },
          {
            "name": "semver-regex",
            "direct": false,
            "version": "4.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-command",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-regex",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "signale",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "sigstore",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "skin-tone",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "smart-buffer",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "socks",
            "direct": false,
            "version": "2.8.9",
            "ecosystem": "npm"
          },
          {
            "name": "socks-proxy-agent",
            "direct": false,
            "version": "8.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "spawn-error-forwarder",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-correct",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-exceptions",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-expression-parse",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-expression-parse",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-license-ids",
            "direct": false,
            "version": "3.0.23",
            "ecosystem": "npm"
          },
          {
            "name": "split2",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ssri",
            "direct": false,
            "version": "13.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "stream-combiner2",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "string_decoder",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-bom",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-final-newline",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-final-newline",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-json-comments",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "super-regex",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "10.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "5.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-hyperlinks",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "tagged-tag",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tar",
            "direct": false,
            "version": "7.5.19",
            "ecosystem": "npm"
          },
          {
            "name": "temp-dir",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tempy",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "text-table",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "thenify",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "thenify-all",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "through2",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "time-span",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "tiny-relative-date",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.17",
            "ecosystem": "npm"
          },
          {
            "name": "to-regex-range",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "traverse",
            "direct": false,
            "version": "0.6.8",
            "ecosystem": "npm"
          },
          {
            "name": "treeverse",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tuf-js",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "tunnel",
            "direct": false,
            "version": "0.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "2.19.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "4.41.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "5.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "uglify-js",
            "direct": false,
            "version": "3.19.3",
            "ecosystem": "npm"
          },
          {
            "name": "undici",
            "direct": false,
            "version": "6.27.0",
            "ecosystem": "npm"
          },
          {
            "name": "undici",
            "direct": false,
            "version": "7.28.0",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "8.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "unicode-emoji-modifier-base",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unicorn-magic",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "unicorn-magic",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "unicorn-magic",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "unique-string",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "universal-user-agent",
            "direct": false,
            "version": "7.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "universalify",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "url-join",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "util-deprecate",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "validate-npm-package-license",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "validate-npm-package-name",
            "direct": false,
            "version": "7.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "walk-up-path",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "web-worker",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "wordwrap",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "9.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "write-file-atomic",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "xtend",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "y18n",
            "direct": false,
            "version": "5.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": false,
            "version": "16.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": false,
            "version": "18.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "20.2.9",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "22.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "yoctocolors",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "Aspire.Hosting",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "ByteAether.Ulid",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "CommunityToolkit.Aspire.Hosting.Dapr",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "CompareNETObjects",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "coverlet.collector",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "FluentValidation",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "Hexalith.PolymorphicSerializations",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "Humanizer",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Extensions.Configuration.Binder",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Extensions.DependencyInjection.Abstractions",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Extensions.Diagnostics.Abstractions",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Extensions.Http.Resilience",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Extensions.Logging.Abstractions",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Extensions.Options",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Extensions.Options.ConfigurationExtensions",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Extensions.Options.DataAnnotations",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Extensions.ServiceDiscovery",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.NET.Test.Sdk",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "OpenTelemetry.Exporter.OpenTelemetryProtocol",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "OpenTelemetry.Extensions.Hosting",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "OpenTelemetry.Instrumentation.AspNetCore",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "OpenTelemetry.Instrumentation.Http",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "OpenTelemetry.Instrumentation.Runtime",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "Shouldly",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "xunit.runner.visualstudio",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "xunit.v3",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 484,
        "direct_count": 0,
        "indirect_count": 484
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 20,
        "open_issues": 8,
        "closed_ratio": 0,
        "closed_issues": 0,
        "closed_unmerged_prs": 3
      },
      "bus_factor": 1,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "jpiquot",
          "commits": 332,
          "avatar_url": "https://avatars.githubusercontent.com/u/6775094?v=4"
        },
        {
          "type": "User",
          "login": "semantic-release-bot",
          "commits": 11,
          "avatar_url": "https://avatars.githubusercontent.com/u/32174276?v=4"
        }
      ],
      "contributors_sampled": 2,
      "top_contributor_share": 0.968
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "ci.yml",
        "codeql.yml",
        "commitlint.yml",
        "dependency-review.yml",
        "release.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": true,
      "has_linter_config": false,
      "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": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "5 out of 5 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": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 0/20 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 6,
            "reason": "project has 2 contributing companies or organizations -- score normalized to 6",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 0 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": 2,
            "reason": "dependency not pinned by hash detected -- score normalized to 2",
            "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": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": 0,
            "reason": "Project has not signed or included provenance with any releases.",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 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": 7,
            "reason": "3 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "427530e27eab40b12e85832698da6962fd0c5a48",
        "ran_at": "2026-07-26T16:40:55Z",
        "aggregate_score": 5.8,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": true,
      "has_security_policy": false,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-26T16:29:02Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": "2026-07-26T13:02:38Z",
      "ci_last_conclusion": null,
      "oldest_open_issues": [
        {
          "number": 19,
          "created_at": "2026-07-14T13:55:24Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 20,
          "created_at": "2026-07-14T13:55:25Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 21,
          "created_at": "2026-07-14T13:55:26Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 22,
          "created_at": "2026-07-14T13:55:27Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 23,
          "created_at": "2026-07-14T13:55:27Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 24,
          "created_at": "2026-07-14T14:03:21Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 25,
          "created_at": "2026-07-14T14:08:43Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 26,
          "created_at": "2026-07-14T14:08:44Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/Hexalith/Hexalith.Commons",
    "host": "github.com",
    "name": "Hexalith.Commons",
    "owner": "Hexalith"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 54,
      "inputs": {
        "security": 66,
        "vitality": 83,
        "community": 24,
        "governance": 35,
        "engineering": 64
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "good",
        "name": "Vitality",
        "value": 83,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "good",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 79,
            "inputs": {
              "commits_last_year": 162,
              "human_commit_share": 0.93,
              "days_since_last_push": 0,
              "active_weeks_last_year": 22
            },
            "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": "22/52 weeks with commits",
                "points": 15.2,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 22
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "162 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 162
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 0 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": 73,
              "latest_release_tag": "v2.29.0",
              "releases_from_tags": false,
              "days_since_latest_release": 0,
              "mean_days_between_releases": 2.8
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "73 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 73
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~2.8 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 2.8
                    }
                  }
                ],
                "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": "critical",
        "name": "Community & Adoption",
        "value": 24,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "forks": 0,
              "stars": 0,
              "watchers": 1,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "0 stars",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "0 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "1 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "at_risk",
        "name": "Sustainability & Governance",
        "value": 35,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 18,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 2,
              "top_contributor_share": 0.968
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 97% of commits",
                "points": 0.7,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 97
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "2 contributors",
                "points": 2.7,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 2 contributing companies or organizations -- score normalized to 6",
                "points": 6,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "at_risk",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 33,
            "inputs": {
              "merged_prs": 20,
              "open_issues": 8,
              "closed_issues": 0,
              "issue_closed_ratio": 0,
              "closed_unmerged_prs": 3
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "0% of issues closed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 0
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "20/23 decided PRs merged",
                "points": 33.3,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 20,
                      "decided": 23
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/20 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 56,
            "inputs": {
              "followers": 1,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "Hexalith",
              "public_repos": 58,
              "account_age_days": 1960
            },
            "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": "1 followers of Hexalith",
                "points": 2.2,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 1,
                      "login": "Hexalith"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "58 public repos, account ~5 yr old",
                "points": 23.6,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 58
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 5
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "moderate",
        "name": "Engineering Quality",
        "value": 64,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "good",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 74,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": true,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "5 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 6.4,
                "status": "met",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "5 out of 5 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "topics": [],
              "has_wiki": true,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": false,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 66,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Packaging. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "packaging"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 58,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 17,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 1,
              "scorecard_aggregate": 5.8
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "5 out of 5 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": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/20 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 2 contributing companies or organizations -- score normalized to 6",
                "points": 1.5,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 2",
                "points": 1,
                "status": "partial",
                "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 not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "GitHub workflow tokens follow principle of least privilege",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "3 existing vulnerabilities detected",
                "points": 5.2,
                "status": "partial",
                "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 458 resolved dependencies against OSV; 26 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": 458
                }
              },
              {
                "code": "advisories_unassessed",
                "params": {
                  "count": 26
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 3,
              "affected_packages": 3,
              "assessed_packages": 458,
              "unassessed_packages": 26,
              "affected_by_severity": "high 2, moderate 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": 458,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 3
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "good",
        "name": "AI Readiness",
        "value": 83,
        "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": 0.935,
              "agent_instruction_files": [
                ".clinerules",
                ".cursorrules",
                ".github/copilot-instructions.md",
                "AGENTS.md",
                "CLAUDE.md"
              ],
              "agent_instruction_max_bytes": 3141
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": ".clinerules, .cursorrules, .github/copilot-instructions.md, AGENTS.md, CLAUDE.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".clinerules, .cursorrules, .github/copilot-instructions.md, AGENTS.md, CLAUDE.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": "87 of 93 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 87,
                      "sampled": 93
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "good",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 76,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "package-lock.json"
              ],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0.05,
              "toolchain_manifests": [
                "src/libraries/Hexalith.Commons.Aspire/Hexalith.Commons.Aspire.csproj",
                "src/libraries/Hexalith.Commons.Configurations/Hexalith.Commons.Configurations.csproj",
                "src/libraries/Hexalith.Commons.Diagnostics/Hexalith.Commons.Diagnostics.csproj",
                "src/libraries/Hexalith.Commons.Http/Hexalith.Commons.Http.csproj",
                "src/libraries/Hexalith.Commons.Metadatas/Hexalith.Commons.Metadatas.csproj",
                "src/libraries/Hexalith.Commons.Publication/Hexalith.Commons.Publication.csproj",
                "src/libraries/Hexalith.Commons.Serialization/Hexalith.Commons.Serialization.csproj",
                "src/libraries/Hexalith.Commons.ServiceDefaults/Hexalith.Commons.ServiceDefaults.csproj",
                "src/libraries/Hexalith.Commons.StringEncoders/Hexalith.Commons.StringEncoders.csproj",
                "src/libraries/Hexalith.Commons.TenantAccess/Hexalith.Commons.TenantAccess.csproj",
                "src/libraries/Hexalith.Commons.UniqueIds/Hexalith.Commons.UniqueIds.csproj",
                "src/libraries/Hexalith.Commons/Hexalith.Commons.csproj",
                "test/Hexalith.Commons.Aspire.Tests/Hexalith.Commons.Aspire.Tests.csproj",
                "test/Hexalith.Commons.Diagnostics.Tests/Hexalith.Commons.Diagnostics.Tests.csproj",
                "test/Hexalith.Commons.Http.Tests/Hexalith.Commons.Http.Tests.csproj",
                "test/Hexalith.Commons.Publication.Tests/Hexalith.Commons.Publication.Tests.csproj",
                "test/Hexalith.Commons.Serialization.Tests/Hexalith.Commons.Serialization.Tests.csproj",
                "test/Hexalith.Commons.ServiceDefaults.Tests/Hexalith.Commons.ServiceDefaults.Tests.csproj",
                "test/Hexalith.Commons.TenantAccess.Tests/Hexalith.Commons.TenantAccess.Tests.csproj",
                "test/Hexalith.Commons.Tests/Hexalith.Commons.Tests.csproj"
              ],
              "dependency_bot_commit_share": 0.07
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "src/libraries/Hexalith.Commons.Aspire/Hexalith.Commons.Aspire.csproj, src/libraries/Hexalith.Commons.Configurations/Hexalith.Commons.Configurations.csproj, src/libraries/Hexalith.Commons.Diagnostics/Hexalith.Commons.Diagnostics.csproj (toolchain convention, no task runner)",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "toolchain_convention",
                    "params": {
                      "files": "src/libraries/Hexalith.Commons.Aspire/Hexalith.Commons.Aspire.csproj, src/libraries/Hexalith.Commons.Configurations/Hexalith.Commons.Configurations.csproj, src/libraries/Hexalith.Commons.Diagnostics/Hexalith.Commons.Diagnostics.csproj"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "C# (statically typed)",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "C#"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "5 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 5,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "7 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 7,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 2",
                "points": 2,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "C#",
              "largest_source_bytes": 17799,
              "source_files_sampled": 146,
              "oversized_source_files": 0
            },
            "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": "0/146 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 146,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [],
  "report_type": "repository",
  "generated_at": "2026-07-26T16:41:04.055947Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/h/Hexalith/Hexalith.Commons.svg",
  "full_name": "Hexalith/Hexalith.Commons",
  "license_state": "standard",
  "license_spdx": "MIT"
}

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

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

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