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

MustardSeedNetworks / stem

Standards-aligned network performance testing — RFC 2544, ITU-T Y.1564, Y.1731, MEF, TSN. Reflector, generator, and certifier in one Go binary.

Go · TypeScript · CВласна ліцензія★ 0 зірок⑂ 0 форківз груд. 2025 р.Переглянути на GitHub ↗

MustardSeedNetworks/stem має індекс здоров’я 70 зі 100, що відповідає смузі «Добрий». Найвищий показник — Engineering Quality (100/100), найнижчий — Community & Adoption (41/100). Останнє оновлення було 4 дні тому. Більшість нещодавньої роботи виконує один учасник.

70
загалом / 100
Добрий

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

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

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

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

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

Власність

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

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

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

РеєстрПакетВерсіяЗавантажень / місВерсіїОстання публікація
Gogithub.com/MustardSeedNetworks/stemv0.24.0-10414 днів тому

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

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

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

84Добрий · 22% загального індексу
Як обчислюється оцінка
36/36Свіжість push — останній push 4 дн. тому
9/36Ритм комітів — 13/52 тижнів із комітами
18/18Обсяг комітів — 507 комітів за останній рік
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 30 issue activity found in the last 90 days -- score normalized to 10
Використані вхідні дані
commits_last_year507
human_commit_share0,9
days_since_last_push4
active_weeks_last_year13
Як обчислюється оцінка
27/27Випускає релізи — опубліковано 28 релізів
36/36Свіжість релізів — останній реліз 14 дн. тому
27/27Ритм релізів — реліз кожні ~5 дн.
10/10OpenSSF Scorecard: Signed-Releases — 5 out of the last 5 releases have a total of 5 signed artifacts.
Використані вхідні дані
releases_count28
latest_release_tagv0.24.0
releases_from_tagsні
days_since_latest_release14
mean_days_between_releases5

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

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

41У зоні ризику · 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
16.9/22.5Ліцензія — файл ліцензії наявний, не є визнаною ліцензією
18/18Настанови CONTRIBUTING
13.5/13.5Кодекс поведінки
0/7.2Шаблон issue
6.3/6.3Шаблон PR
Використані вхідні дані
has_readmeтак
has_licenseтак
has_contributingтак
has_issue_templateні
has_code_of_conductтак
has_pull_request_templateтак

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

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

52Помірний · 24% загального індексу
Як обчислюється оцінка
9/54Бас-фактор — на 1 контриб’ютор(ів) припадає половина всіх комітів
0/22.5Розподіл комітів — головний контриб’ютор — автор 100% комітів
1.4/13.5Широта контриб’юторів — 1 контриб’юторів
3/10OpenSSF Scorecard: Contributors — project has 1 contributing companies or organizations -- score normalized to 3
Використані вхідні дані
bus_factor1
contributors_sampled1
top_contributor_share1
Як обчислюється оцінка
41.8/46.8Вирішення issue — закрито 89% issue
30.7/38.3Прийняття PR — злито 263/328 вирішених PR
0/15OpenSSF Scorecard: Code-Review — Found 0/27 approved changesets -- score normalized to 0
Використані вхідні дані
merged_prs263
open_issues20
closed_issues168
issue_closed_ratio0,894
closed_unmerged_prs65

Власність та опіка

39У зоні ризику
Як обчислюється оцінка
30/30Підтримка власника — у власності організації
0/20Верифікований домен
2.2/25Охоплення власника — 1 підписників у MustardSeedNetworks
6.4/25Послужний список — 6 публічних репозиторіїв, вік облікового запису ~0 р.
Використані вхідні дані
followers1
owner_typeOrganization
is_verified
owner_loginMustardSeedNetworks
public_repos6
account_age_days47

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

100Відмінний
Як обчислюється оцінка
25/25Опубліковано й доступно — 1 пакет(ів) у go
35/35Свіжість публікацій — остання публікація 14 дн. тому
20/20Історія версій — 104 опублікованих версій
20/20Не застарілий — активний, не deprecated і не yanked
Використані вхідні дані
packagesgithub.com/MustardSeedNetworks/stem
ecosystemsgo
any_deprecatedні
min_days_since_publish14

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

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

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

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

100Відмінний
Як обчислюється оцінка
30/30README
25/25Каталог документації
15/15Сайт документації / домашня сторінка — https://mustardseednetworks.com/stem
10/10Опис репозиторію
10/10Теми — 13 тем
10/10Wiki
Використані вхідні дані
topicsaf-xdp, dpdk, go, mef, network-testing, network-tools, performance-testing, rfc2544, tsn, ieee-802-1qbv, rfc6349, y1564, y1731
has_wikiтак
homepagehttps://mustardseednetworks.com/stem
has_readmeтак
has_docs_dirтак
has_descriptionтак

Безпека

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

76Добрий · 16% загального індексу
Як обчислюється оцінка
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — немає даних
2.5/2.5CI-Tests — 30 out of 30 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/27 approved changesets -- score normalized to 0
0.8/2.5Contributors — project has 1 contributing companies or organizations -- score normalized to 3
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
5/5Fuzzing — project is fuzzed
2.2/2.5Ліцензія — license file detected
7.5/7.5Maintained — 30 commit(s) and 30 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — немає даних
4/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 8
5/5SAST — SAST tool is run on all commits
5/5Security-Policy — security policy file detected
7.5/7.5Signed-Releases — 5 out of the last 5 releases have a total of 5 signed artifacts.
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
3/7.5Vulnerabilities — 6 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate7,3
Виключено з оцінювання (немає даних або не застосовно): branch_protection, packaging. Залишкові ваги перенормовано.
Як обчислюється оцінка
26.6/35Прямі залежності без відомих сповіщень — уражено 1: golang.org/x/crypto v0.53.0 (unknown)
0/25Непрямі залежності без відомих сповіщень — транзитивний набір не відокремлюється від залежностей розробки й тестування в цьому обсязі
40/40Немає задавнених сповіщень — жодне сповіщення не є публічним довше за 90 дн.
Використані вхідні дані
sourceosv
advisories6
affected_packages6
assessed_packages610
unassessed_packages0
affected_by_severityhigh 5, unknown 1
direct_affected_packages1
Виключено з оцінювання (немає даних або не застосовно): Непрямі залежності без відомих сповіщень. Залишкові ваги перенормовано. Звірено 610 резолвлених залежностей із OSV. Цей репозиторій не публікує пакета, який резолвить індекс, тож натомість оцінено граф залежностей репозиторію. Цей граф змішує закріплені версії для розробки й тестування зі справді постачаними залежностями, тож оцінюються лише задекларовані runtime-залежності; транзитивні знахідки подаються як контекст і в оцінку не входять. Досяжність не аналізується.

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

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

73Добрий · 0% загального індексу
Як обчислюється оцінка
0/45Інструкції для агентів — немає CLAUDE.md / AGENTS.md / правил редактора
0/15Машиночитана документація (llms.txt)
40/40Читабельна історія комітів — намір зазначено у 90 з 90 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share1
agent_instruction_files
agent_instruction_max_bytes
Як обчислюється оцінка
18/18Розгортання однією командою — Makefile
22/22Автоматизовані тести
11/11Конфігурація лінтера / форматера — .golangci.yml, biome.json
11/11Статична перевірка типів — ui/tsconfig.json
10/10Відтворюване середовище — lockfile
0/10Підтверджена практика роботи з агентами — серед останніх 100 комітів немає створених агентом
8/8Автоматизоване супроводження — 8 з останніх 100 комітів — автоматичні оновлення залежностей
8/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 8
Використані вхідні дані
has_nixні
has_testsтак
lockfilesgo.sum, package-lock.json
has_dockerfileні
typed_languageтак
bootstrap_filesMakefile
has_devcontainerні
has_linter_configтак
typecheck_configsui/tsconfig.json
agent_commit_share0
toolchain_manifestsgo.mod
dependency_bot_commit_share0,08
Як обчислюється оцінка
45/45Типізований код — Go (статично типізована)
54.6/55Керовані розміри файлів — 4/500 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languageGo
largest_source_bytes116 715
source_files_sampled500
oversized_source_files4

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

0зірок GitHub
1контриб'юторів
507комітів за останні 12 місяців
4днів від останнього пушу
28релізів
1бас-фактор
20відкритих issue
Go, npmпакетних екосистем

Докладніше

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

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

10Binary-Artifactsno binaries found in the repo
н/дBranch-Protectioninternal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
10CI-Tests30 out of 30 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/27 approved changesets -- score normalized to 0
3Contributorsproject has 1 contributing companies or organizations -- score normalized to 3
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
10Fuzzingproject is fuzzed
9Licenselicense file detected
10Maintained30 commit(s) and 30 issue activity found in the last 90 days -- score normalized to 10
н/дPackagingpackaging workflow not detected
8Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 8
10SASTSAST tool is run on all commits
10Security-Policysecurity policy file detected
10Signed-Releases5 out of the last 5 releases have a total of 5 signed artifacts.
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
4Vulnerabilities6 existing vulnerabilities detected
Прямі залежності 37
РеєстрПакетОбмеження версіїМаніфест
Gogithub.com/MustardSeedNetworks/foundationv0.2.0go.mod
Gogithub.com/gdamore/tcell/v2v2.13.10go.mod
Gogithub.com/go-playground/validator/v10v10.30.3go.mod
Gogithub.com/go-webauthn/webauthnv0.17.4go.mod
Gogithub.com/golang-jwt/jwt/v5v5.3.1go.mod
Gogithub.com/google/uuidv1.6.0go.mod
Gogithub.com/invopop/jsonschemav0.14.0go.mod
Gogithub.com/pquerna/otpv1.5.0go.mod
Gogithub.com/prometheus/client_golangv1.23.2go.mod
Gogithub.com/prometheus/client_modelv0.6.2go.mod
Gogithub.com/rivo/tviewv0.42.0go.mod
Gogithub.com/trustelem/zxcvbnv1.0.1go.mod
Gogolang.org/x/cryptov0.53.0go.mod
Gogolang.org/x/oauth2v0.36.0go.mod
Gogolang.org/x/timev0.15.0go.mod
Gogopkg.in/natefinch/lumberjack.v2v2.2.1go.mod
Gogopkg.in/yaml.v3v3.0.1go.mod
Gomodernc.org/sqlitev1.53.0go.mod
npm@fontsource-variable/inter5.2.8ui/package.json
npm@fontsource-variable/jetbrains-mono5.2.8ui/package.json
npm@hookform/resolvers5.4.0ui/package.json
npm@tailwindcss/postcss4.3.2ui/package.json
npm@tanstack/react-query5.101.2ui/package.json
npmcmdk1.1.1ui/package.json
npmi18next26.3.4ui/package.json
npmi18next-browser-languagedetector8.2.1ui/package.json
npmimmer11.1.11ui/package.json
npmlucide-react1.23.0ui/package.json
npmreact19.2.7ui/package.json
npmreact-dom19.2.7ui/package.json
npmreact-hook-form7.81.0ui/package.json
npmreact-i18next17.0.8ui/package.json
npmreact-router-dom7.18.1ui/package.json
npmtailwind-merge3.6.0ui/package.json
npmtailwindcss4.3.2ui/package.json
npmvalibot1.4.2ui/package.json
npmzustand5.0.14ui/package.json
Усі залежності 610

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

РеєстрПакетВерсіяЗв'язок
Gogithub.com/gdamore/tcell/v2v2.13.10пряма
Gogithub.com/go-playground/validator/v10v10.30.3пряма
Gogithub.com/go-webauthn/webauthnv0.17.4пряма
Gogithub.com/golang-jwt/jwt/v5v5.3.1пряма
Gogithub.com/google/uuidv1.6.0пряма
Gogithub.com/invopop/jsonschemav0.14.0пряма
Gogithub.com/mustardseednetworks/foundationv0.2.0пряма
Gogithub.com/pquerna/otpv1.5.0пряма
Gogithub.com/prometheus/client_golangv1.23.2пряма
Gogithub.com/prometheus/client_modelv0.6.2пряма
Gogithub.com/rivo/tviewv0.42.0пряма
Gogithub.com/trustelem/zxcvbnv1.0.1пряма
Gogolang.org/x/cryptov0.53.0пряма
Gogolang.org/x/oauth2v0.36.0пряма
Gogolang.org/x/timev0.15.0пряма
Gogopkg.in/natefinch/lumberjack.v2v2.2.1пряма
Gogopkg.in/yaml.v3v3.0.1пряма
Gomodernc.org/sqlitev1.53.0пряма
npm@fontsource-variable/inter5.2.8пряма
npm@fontsource-variable/jetbrains-mono5.2.8пряма
npm@hookform/resolvers5.4.0пряма
npm@tailwindcss/postcss4.3.2пряма
npm@tanstack/react-query5.101.2пряма
npmcmdk1.1.1пряма
npmi18next26.3.4пряма
npmi18next-browser-languagedetector8.2.1пряма
npmimmer11.1.11пряма
npmlucide-react1.23.0пряма
npmreact19.2.7пряма
npmreact-dom19.2.7пряма
npmreact-hook-form7.81.0пряма
npmreact-i18next17.0.8пряма
npmreact-router-dom7.18.1пряма
npmtailwind-merge3.6.0пряма
npmtailwindcss4.3.2пряма
npmvalibot1.4.2пряма
npmzustand5.0.14пряма
Gocloud.google.com/go/compute/metadatav0.9.0непряма
Gogithub.com/bahlo/generic-list-gov0.2.0непряма
Gogithub.com/beorn7/perksv1.0.1непряма
Gogithub.com/boombuler/barcodev1.1.0непряма
Gogithub.com/buger/jsonparserv1.2.0непряма
Gogithub.com/cespare/xxhash/v2v2.3.0непряма
Gogithub.com/dlclark/regexp2v1.12.0непряма
Gogithub.com/dustin/go-humanizev1.0.1непряма
Gogithub.com/fxamacker/cbor/v2v2.9.2непряма
Gogithub.com/gabriel-vasile/mimetypev1.4.13непряма
Gogithub.com/gdamore/encodingv1.0.1непряма
Gogithub.com/go-playground/localesv0.14.1непряма
Gogithub.com/go-playground/universal-translatorv0.18.1непряма
Gogithub.com/go-viper/mapstructure/v2v2.5.0непряма
Gogithub.com/go-webauthn/xv0.2.6непряма
Gogithub.com/google/go-tpmv0.9.8непряма
Gogithub.com/google/go-tpm-toolsv0.4.9непряма
Gogithub.com/google/pprofv0.0.0-20260604005048-7023385849c0непряма
Gogithub.com/kr/textv0.2.0непряма
Gogithub.com/leodido/go-urnv1.4.0непряма
Gogithub.com/lucasb-eyer/go-colorfulv1.4.0непряма
Gogithub.com/mattn/go-isattyv0.0.22непряма
Gogithub.com/munnerz/goautonegv0.0.0-20191010083416-a7dc8b61c822непряма
Gogithub.com/ncruces/go-strftimev1.0.0непряма
Gogithub.com/pb33f/ordered-map/v2v2.3.1непряма
Gogithub.com/philhofer/fwdv1.2.0непряма
Gogithub.com/prometheus/commonv0.69.0непряма
Gogithub.com/prometheus/procfsv0.21.1непряма
Gogithub.com/remyoudompheng/bigfftv0.0.0-20230129092748-24d4a6f8daecнепряма
Gogithub.com/rivo/unisegv0.4.7непряма
Gogithub.com/rogpeppe/go-internalv1.15.0непряма
Gogithub.com/test-go/testifyv1.1.4непряма
Gogithub.com/tinylib/msgpv1.6.4непряма
Gogithub.com/x448/float16v0.8.4непряма
Gogo.yaml.in/yaml/v4v4.0.0-rc.6непряма
Gogolang.org/x/netv0.56.0непряма
Gogolang.org/x/sysv0.46.0непряма
Gogolang.org/x/termv0.44.0непряма
Gogolang.org/x/textv0.39.0непряма
Gogoogle.golang.org/protobufv1.36.11непряма
Gomodernc.org/ccgo/v4v4.34.6непряма
Gomodernc.org/gc/v3v3.1.5непряма
Gomodernc.org/libcv1.73.5непряма
Gomodernc.org/mathutilv1.7.1непряма
Gomodernc.org/memoryv1.11.0непряма
npm@adobe/css-tools4.4.4непряма
npm@alloc/quick-lru5.2.0непряма
npm@apidevtools/json-schema-ref-parser11.9.3непряма
npm@asamuzakjp/css-color5.1.11непряма
npm@asamuzakjp/dom-selector7.1.1непряма
npm@asamuzakjp/generational-cache1.0.1непряма
npm@asamuzakjp/nwsapi2.3.9непряма
npm@babel/code-frame7.29.7непряма
npm@babel/compat-data7.29.7непряма
npm@babel/core7.29.7непряма
npm@babel/generator7.29.7непряма
npm@babel/helper-compilation-targets7.29.7непряма
npm@babel/helper-globals7.29.7непряма
npm@babel/helper-module-imports7.29.7непряма
npm@babel/helper-module-transforms7.29.7непряма
npm@babel/helper-string-parser7.29.7непряма
npm@babel/helper-validator-identifier7.29.7непряма
npm@babel/helper-validator-option7.29.7непряма
npm@babel/helpers7.29.7непряма
npm@babel/parser7.29.7непряма
npm@babel/runtime7.29.2непряма
npm@babel/template7.29.7непряма
npm@babel/traverse7.29.7непряма
npm@babel/types7.29.7непряма
npm@bcoe/v8-coverage1.0.2непряма
npm@biomejs/biome2.5.2непряма
npm@biomejs/cli-darwin-arm642.5.2непряма
npm@biomejs/cli-darwin-x642.5.2непряма
npm@biomejs/cli-linux-arm642.5.2непряма
npm@biomejs/cli-linux-arm64-musl2.5.2непряма
npm@biomejs/cli-linux-x642.5.2непряма
npm@biomejs/cli-linux-x64-musl2.5.2непряма
npm@biomejs/cli-win32-arm642.5.2непряма
npm@biomejs/cli-win32-x642.5.2непряма
npm@bramus/specificity2.4.2непряма
npm@chromatic-com/storybook5.2.1непряма
npm@commitlint/cli21.2.0непряма
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.0непряма
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-client2.7.0непряма
npm@conventional-changelog/template1.2.1непряма
npm@csstools/color-helpers6.0.2непряма
npm@csstools/css-calc3.2.0непряма
npm@csstools/css-color-parser4.1.0непряма
npm@csstools/css-parser-algorithms4.0.0непряма
npm@csstools/css-syntax-patches-for-csstree1.1.3непряма
npm@csstools/css-tokenizer4.0.0непряма
npm@emnapi/core1.11.1непряма
npm@emnapi/core1.9.2непряма
npm@emnapi/runtime1.11.1непряма
npm@emnapi/runtime1.9.2непряма
npm@emnapi/wasi-threads1.2.1непряма
npm@emnapi/wasi-threads1.2.2непряма
npm@esbuild/aix-ppc640.28.1непряма
npm@esbuild/android-arm0.28.1непряма
npm@esbuild/android-arm640.28.1непряма
npm@esbuild/android-x640.28.1непряма
npm@esbuild/darwin-arm640.28.1непряма
npm@esbuild/darwin-x640.28.1непряма
npm@esbuild/freebsd-arm640.28.1непряма
npm@esbuild/freebsd-x640.28.1непряма
npm@esbuild/linux-arm0.28.1непряма
npm@esbuild/linux-arm640.28.1непряма
npm@esbuild/linux-ia320.28.1непряма
npm@esbuild/linux-loong640.28.1непряма
npm@esbuild/linux-mips64el0.28.1непряма
npm@esbuild/linux-ppc640.28.1непряма
npm@esbuild/linux-riscv640.28.1непряма
npm@esbuild/linux-s390x0.28.1непряма
npm@esbuild/linux-x640.28.1непряма
npm@esbuild/netbsd-arm640.28.1непряма
npm@esbuild/netbsd-x640.28.1непряма
npm@esbuild/openbsd-arm640.28.1непряма
npm@esbuild/openbsd-x640.28.1непряма
npm@esbuild/openharmony-arm640.28.1непряма
npm@esbuild/sunos-x640.28.1непряма
npm@esbuild/win32-arm640.28.1непряма
npm@esbuild/win32-ia320.28.1непряма
npm@esbuild/win32-x640.28.1непряма
npm@exodus/bytes1.15.0непряма
npm@joshwooding/vite-plugin-react-docgen-typescript0.7.0непряма
npm@jridgewell/gen-mapping0.3.13непряма
npm@jridgewell/remapping2.3.5непряма
npm@jridgewell/resolve-uri3.1.2непряма
npm@jridgewell/sourcemap-codec1.5.5непряма
npm@jridgewell/trace-mapping0.3.31непряма
npm@jsdevtools/ono7.1.3непряма
npm@mdx-js/react3.1.1непряма
npm@napi-rs/wasm-runtime1.1.6непряма
npm@neoconfetti/react1.0.0непряма
npm@oxc-parser/binding-android-arm-eabi0.127.0непряма
npm@oxc-parser/binding-android-arm640.127.0непряма
npm@oxc-parser/binding-darwin-arm640.127.0непряма
npm@oxc-parser/binding-darwin-x640.127.0непряма
npm@oxc-parser/binding-freebsd-x640.127.0непряма
npm@oxc-parser/binding-linux-arm-gnueabihf0.127.0непряма
npm@oxc-parser/binding-linux-arm-musleabihf0.127.0непряма
npm@oxc-parser/binding-linux-arm64-gnu0.127.0непряма
npm@oxc-parser/binding-linux-arm64-musl0.127.0непряма
npm@oxc-parser/binding-linux-ppc64-gnu0.127.0непряма
npm@oxc-parser/binding-linux-riscv64-gnu0.127.0непряма
npm@oxc-parser/binding-linux-riscv64-musl0.127.0непряма
npm@oxc-parser/binding-linux-s390x-gnu0.127.0непряма
npm@oxc-parser/binding-linux-x64-gnu0.127.0непряма
npm@oxc-parser/binding-linux-x64-musl0.127.0непряма
npm@oxc-parser/binding-openharmony-arm640.127.0непряма
npm@oxc-parser/binding-wasm32-wasi0.127.0непряма
npm@oxc-parser/binding-win32-arm64-msvc0.127.0непряма
npm@oxc-parser/binding-win32-ia32-msvc0.127.0непряма
npm@oxc-parser/binding-win32-x64-msvc0.127.0непряма
npm@oxc-project/types0.127.0непряма
npm@oxc-project/types0.138.0непряма
npm@oxc-resolver/binding-android-arm-eabi11.19.1непряма
npm@oxc-resolver/binding-android-arm6411.19.1непряма
npm@oxc-resolver/binding-darwin-arm6411.19.1непряма
npm@oxc-resolver/binding-darwin-x6411.19.1непряма
npm@oxc-resolver/binding-freebsd-x6411.19.1непряма
npm@oxc-resolver/binding-linux-arm-gnueabihf11.19.1непряма
npm@oxc-resolver/binding-linux-arm-musleabihf11.19.1непряма
npm@oxc-resolver/binding-linux-arm64-gnu11.19.1непряма
npm@oxc-resolver/binding-linux-arm64-musl11.19.1непряма
npm@oxc-resolver/binding-linux-ppc64-gnu11.19.1непряма
npm@oxc-resolver/binding-linux-riscv64-gnu11.19.1непряма
npm@oxc-resolver/binding-linux-riscv64-musl11.19.1непряма
npm@oxc-resolver/binding-linux-s390x-gnu11.19.1непряма
npm@oxc-resolver/binding-linux-x64-gnu11.19.1непряма
npm@oxc-resolver/binding-linux-x64-musl11.19.1непряма
npm@oxc-resolver/binding-openharmony-arm6411.19.1непряма
npm@oxc-resolver/binding-wasm32-wasi11.19.1непряма
npm@oxc-resolver/binding-win32-arm64-msvc11.19.1непряма
npm@oxc-resolver/binding-win32-ia32-msvc11.19.1непряма
npm@oxc-resolver/binding-win32-x64-msvc11.19.1непряма
npm@playwright/test1.61.1непряма
npm@radix-ui/primitive1.1.3непряма
npm@radix-ui/react-compose-refs1.1.2непряма
npm@radix-ui/react-context1.1.2непряма
npm@radix-ui/react-dialog1.1.15непряма
npm@radix-ui/react-dismissable-layer1.1.11непряма
npm@radix-ui/react-focus-guards1.1.3непряма
npm@radix-ui/react-focus-scope1.1.7непряма
npm@radix-ui/react-id1.1.1непряма
npm@radix-ui/react-portal1.1.9непряма
npm@radix-ui/react-presence1.1.5непряма
npm@radix-ui/react-primitive2.1.3непряма
npm@radix-ui/react-primitive2.1.4непряма
npm@radix-ui/react-slot1.2.3непряма
npm@radix-ui/react-slot1.2.4непряма
npm@radix-ui/react-use-callback-ref1.1.1непряма
npm@radix-ui/react-use-controllable-state1.2.2непряма
npm@radix-ui/react-use-effect-event0.0.2непряма
npm@radix-ui/react-use-escape-keydown1.1.1непряма
npm@radix-ui/react-use-layout-effect1.1.1непряма
npm@rolldown/binding-android-arm641.1.4непряма
npm@rolldown/binding-darwin-arm641.1.4непряма
npm@rolldown/binding-darwin-x641.1.4непряма
npm@rolldown/binding-freebsd-x641.1.4непряма
npm@rolldown/binding-linux-arm-gnueabihf1.1.4непряма
npm@rolldown/binding-linux-arm64-gnu1.1.4непряма
npm@rolldown/binding-linux-arm64-musl1.1.4непряма
npm@rolldown/binding-linux-ppc64-gnu1.1.4непряма
npm@rolldown/binding-linux-s390x-gnu1.1.4непряма
npm@rolldown/binding-linux-x64-gnu1.1.4непряма
npm@rolldown/binding-linux-x64-musl1.1.4непряма
npm@rolldown/binding-openharmony-arm641.1.4непряма
npm@rolldown/binding-wasm32-wasi1.1.4непряма
npm@rolldown/binding-win32-arm64-msvc1.1.4непряма
npm@rolldown/binding-win32-x64-msvc1.1.4непряма
npm@rolldown/pluginutils1.0.1непряма
npm@rollup/pluginutils5.3.0непряма
npm@simple-libs/child-process-utils1.0.2непряма
npm@simple-libs/stream-utils1.2.0непряма
npm@simple-libs/stream-utils2.0.0непряма
npm@standard-schema/spec1.1.0непряма
npm@standard-schema/utils0.3.0непряма
npm@storybook/addon-a11y10.4.6непряма
npm@storybook/addon-docs10.4.6непряма
npm@storybook/addon-onboarding10.4.6непряма
npm@storybook/addon-vitest10.4.6непряма
npm@storybook/builder-vite10.4.6непряма
npm@storybook/csf-plugin10.4.6непряма
npm@storybook/global5.0.0непряма
npm@storybook/icons2.0.2непряма
npm@storybook/react10.4.6непряма
npm@storybook/react-dom-shim10.4.6непряма
npm@storybook/react-vite10.4.6непряма
npm@tailwindcss/node4.3.2непряма
npm@tailwindcss/oxide4.3.2непряма
npm@tailwindcss/oxide-android-arm644.3.2непряма
npm@tailwindcss/oxide-darwin-arm644.3.2непряма
npm@tailwindcss/oxide-darwin-x644.3.2непряма
npm@tailwindcss/oxide-freebsd-x644.3.2непряма
npm@tailwindcss/oxide-linux-arm-gnueabihf4.3.2непряма
npm@tailwindcss/oxide-linux-arm64-gnu4.3.2непряма
npm@tailwindcss/oxide-linux-arm64-musl4.3.2непряма
npm@tailwindcss/oxide-linux-x64-gnu4.3.2непряма
npm@tailwindcss/oxide-linux-x64-musl4.3.2непряма
npm@tailwindcss/oxide-wasm32-wasi4.3.2непряма
npm@tailwindcss/oxide-win32-arm64-msvc4.3.2непряма
npm@tailwindcss/oxide-win32-x64-msvc4.3.2непряма
npm@tanstack/query-core5.101.2непряма
npm@testing-library/dom10.4.1непряма
npm@testing-library/jest-dom6.9.1непряма
npm@testing-library/react16.3.2непряма
npm@testing-library/user-event14.6.1непряма
npm@tybys/wasm-util0.10.3непряма
npm@types/aria-query5.0.4непряма
npm@types/babel__core7.20.5непряма
npm@types/babel__generator7.27.0непряма
npm@types/babel__template7.4.4непряма
npm@types/babel__traverse7.28.0непряма
npm@types/chai5.2.3непряма
npm@types/deep-eql4.0.2непряма
npm@types/doctrine0.0.9непряма
npm@types/estree1.0.8непряма
npm@types/json-schema7.0.15непряма
npm@types/lodash4.17.24непряма
npm@types/mdx2.0.13непряма
npm@types/node26.1.0непряма
npm@types/react19.2.17непряма
npm@types/react-dom19.2.3непряма
npm@types/resolve1.20.6непряма
npm@typescript/native-preview7.0.0-dev.20260706.1непряма
npm@typescript/native-preview-darwin-arm647.0.0-dev.20260706.1непряма
npm@typescript/native-preview-darwin-x647.0.0-dev.20260706.1непряма
npm@typescript/native-preview-linux-arm7.0.0-dev.20260706.1непряма
npm@typescript/native-preview-linux-arm647.0.0-dev.20260706.1непряма
npm@typescript/native-preview-linux-x647.0.0-dev.20260706.1непряма
npm@typescript/native-preview-win32-arm647.0.0-dev.20260706.1непряма
npm@typescript/native-preview-win32-x647.0.0-dev.20260706.1непряма
npm@vitejs/plugin-react6.0.3непряма
npm@vitest/coverage-v84.1.10непряма
npm@vitest/expect3.2.4непряма
npm@vitest/expect4.1.10непряма
npm@vitest/mocker4.1.10непряма
npm@vitest/pretty-format3.2.4непряма
npm@vitest/pretty-format4.1.10непряма
npm@vitest/runner4.1.10непряма
npm@vitest/snapshot4.1.10непряма
npm@vitest/spy3.2.4непряма
npm@vitest/spy4.1.10непряма
npm@vitest/utils3.2.4непряма
npm@vitest/utils4.1.10непряма
npm@webcontainer/env1.1.1непряма
npmacorn8.17.0непряма
npmajv8.20.0непряма
npmansi-escapes7.3.0непряма
npmansi-regex5.0.1непряма
npmansi-regex6.2.2непряма
npmansi-styles5.2.0непряма
npmansi-styles6.2.3непряма
npmargparse2.0.1непряма
npmaria-hidden1.2.6непряма
npmaria-query5.3.0непряма
npmassertion-error2.0.1непряма
npmast-types0.16.1непряма
npmast-v8-to-istanbul1.0.0непряма
npmaxe-core4.12.1непряма
npmbalanced-match4.0.4непряма
npmbaseline-browser-mapping2.10.42непряма
npmbidi-js1.0.3непряма
npmbrace-expansion5.0.6непряма
npmbrowserslist4.28.5непряма
npmbundle-name4.1.0непряма
npmcallsites3.1.0непряма
npmcaniuse-lite1.0.30001802непряма
npmchai5.3.3непряма
npmchai6.2.2непряма
npmcheck-error2.1.3непряма
npmchromatic16.10.0непряма
npmcli-cursor5.0.0непряма
npmcli-truncate5.2.0непряма
npmcliui9.0.1непряма
npmconventional-changelog-angular9.2.1непряма
npmconventional-changelog-conventionalcommits10.2.1непряма
npmconventional-commits-parser7.0.1непряма
npmconvert-source-map2.0.0непряма
npmcookie1.1.1непряма
npmcosmiconfig9.0.2непряма
npmcosmiconfig-typescript-loader6.3.0непряма
npmcss-tree3.2.1непряма
npmcss.escape1.5.1непряма
npmcsstype3.2.3непряма
npmdata-urls7.0.0непряма
npmdebug4.4.3непряма
npmdecimal.js10.6.0непряма
npmdeep-eql5.0.2непряма
npmdefault-browser5.4.0непряма
npmdefault-browser-id5.0.1непряма
npmdefine-lazy-prop3.0.0непряма
npmdequal2.0.3непряма
npmdetect-libc2.1.2непряма
npmdetect-node-es1.1.0непряма
npmdoctrine3.0.0непряма
npmdom-accessibility-api0.5.16непряма
npmdom-accessibility-api0.6.3непряма
npmelectron-to-chromium1.5.387непряма
npmemoji-regex10.6.0непряма
npmempathic2.0.0непряма
npmenhanced-resolve5.21.6непряма
npmentities8.0.0непряма
npmenv-paths2.2.1непряма
npmenvironment1.1.0непряма
npmerror-ex1.3.4непряма
npmes-errors1.3.0непряма
npmes-module-lexer2.1.0непряма
npmes-toolkit1.49.0непряма
npmesbuild0.28.1непряма
npmescalade3.2.0непряма
npmesprima4.0.1непряма
npmestree-walker2.0.2непряма
npmestree-walker3.0.3непряма
npmesutils2.0.3непряма
npmeventemitter35.0.4непряма
npmexpect-type1.3.0непряма
npmfast-deep-equal3.1.3непряма
npmfast-uri3.1.3непряма
npmfdir6.5.0непряма
npmfsevents2.3.2непряма
npmfsevents2.3.3непряма
npmfunction-bind1.1.2непряма
npmgensync1.0.0-beta.2непряма
npmget-caller-file2.0.5непряма
npmget-east-asian-width1.5.0непряма
npmget-east-asian-width1.6.0непряма
npmget-nonce1.0.1непряма
npmgit-raw-commits5.0.1непряма
npmglob13.0.6непряма
npmglobal-directory5.0.0непряма
npmgraceful-fs4.2.11непряма
npmhas-flag4.0.0непряма
npmhasown2.0.4непряма
npmhtml-encoding-sniffer6.0.0непряма
npmhtml-escaper2.0.2непряма
npmhtml-parse-stringify3.0.1непряма
npmhusky9.1.7непряма
npmimport-fresh3.3.1непряма
npmindent-string4.0.0непряма
npmini6.0.0непряма
npmis-arrayish0.2.1непряма
npmis-core-module2.16.2непряма
npmis-docker3.0.0непряма
npmis-extglob2.1.1непряма
npmis-fullwidth-code-point5.1.0непряма
npmis-glob4.0.3непряма
npmis-in-ssh1.0.0непряма
npmis-inside-container1.0.0непряма
npmis-plain-obj4.1.0непряма
npmis-potential-custom-element-name1.0.1непряма
npmis-wsl3.1.0непряма
npmistanbul-lib-coverage3.2.2непряма
npmistanbul-lib-report3.0.1непряма
npmistanbul-reports3.2.0непряма
npmjiti2.6.1непряма
npmjiti2.7.0непряма
npmjs-tokens10.0.0непряма
npmjs-tokens4.0.0непряма
npmjs-yaml4.2.0непряма
npmjs-yaml4.3.0непряма
npmjsdom29.1.1непряма
npmjsesc3.1.0непряма
npmjson-parse-even-better-errors2.3.1непряма
npmjson-schema-to-typescript15.0.4непряма
npmjson-schema-traverse1.0.0непряма
npmjson52.2.3непряма
npmjsonfile6.2.0непряма
npmlightningcss1.32.0непряма
npmlightningcss-android-arm641.32.0непряма
npmlightningcss-darwin-arm641.32.0непряма
npmlightningcss-darwin-x641.32.0непряма
npmlightningcss-freebsd-x641.32.0непряма
npmlightningcss-linux-arm-gnueabihf1.32.0непряма
npmlightningcss-linux-arm64-gnu1.32.0непряма
npmlightningcss-linux-arm64-musl1.32.0непряма
npmlightningcss-linux-x64-gnu1.32.0непряма
npmlightningcss-linux-x64-musl1.32.0непряма
npmlightningcss-win32-arm64-msvc1.32.0непряма
npmlightningcss-win32-x64-msvc1.32.0непряма
npmlines-and-columns1.2.4непряма
npmlint-staged17.0.8непряма
npmlistr210.2.1непряма
npmlodash4.18.1непряма
npmlog-update6.1.0непряма
npmloupe3.2.1непряма
npmlru-cache11.3.6непряма
npmlru-cache5.1.1непряма
npmlz-string1.5.0непряма
npmmagic-string0.30.21непряма
npmmagicast0.5.2непряма
npmmake-dir4.0.0непряма
npmmdn-data2.27.1непряма
npmmeow13.2.0непряма
npmmeow14.1.0непряма
npmmimic-function5.0.1непряма
npmmin-indent1.0.1непряма
npmminimatch10.2.5непряма
npmminimist1.2.8непряма
npmminipass7.1.3непряма
npmms2.1.3непряма
npmnanoid3.3.12непряма
npmnode-releases2.0.50непряма
npmobug2.1.1непряма
npmonetime7.0.0непряма
npmopen10.2.0непряма
npmopen11.0.0непряма
npmoxc-parser0.127.0непряма
npmoxc-resolver11.19.1непряма
npmparent-module1.0.1непряма
npmparse-json5.2.0непряма
npmparse58.0.1непряма
npmpath-parse1.0.7непряма
npmpath-scurry2.0.2непряма
npmpathe2.0.3непряма
npmpathval2.0.1непряма
npmpicocolors1.1.1непряма
npmpicomatch4.0.4непряма
npmplaywright1.61.1непряма
npmplaywright-core1.61.1непряма
npmpostcss8.5.16непряма
npmpowershell-utils0.1.0непряма
npmprettier3.8.3непряма
npmpretty-format27.5.1непряма
npmpunycode2.3.1непряма
npmreact-docgen8.0.3непряма
npmreact-docgen-typescript2.4.0непряма
npmreact-is17.0.2непряма
npmreact-remove-scroll2.7.2непряма
npmreact-remove-scroll-bar2.3.8непряма
npmreact-router7.18.1непряма
npmreact-style-singleton2.2.3непряма
npmrecast0.23.11непряма
npmredent3.0.0непряма
npmrequire-from-string2.0.2непряма
npmresolve1.22.12непряма
npmresolve-from4.0.0непряма
npmresolve-from5.0.0непряма
npmrestore-cursor5.1.0непряма
npmrfdc1.4.1непряма
npmrolldown1.1.4непряма
npmrollup-plugin-visualizer7.0.1непряма
npmrun-applescript7.1.0непряма
npmsaxes6.0.0непряма
npmscheduler0.27.0непряма
npmsemver6.3.1непряма
npmsemver7.7.3непряма
npmsemver7.8.0непряма
npmsemver7.8.5непряма
npmset-cookie-parser2.7.2непряма
npmsiginfo2.0.0непряма
npmsignal-exit4.1.0непряма
npmslice-ansi7.1.2непряма
npmslice-ansi8.0.0непряма
npmsource-map0.6.1непряма
npmsource-map0.7.6непряма
npmsource-map-js1.2.1непряма
npmstackback0.0.2непряма
npmstd-env4.1.0непряма
npmstorybook10.4.6непряма
npmstring-argv0.3.2непряма
npmstring-width7.2.0непряма
npmstring-width8.2.1непряма
npmstrip-ansi7.1.2непряма
npmstrip-ansi7.2.0непряма
npmstrip-bom3.0.0непряма
npmstrip-indent3.0.0непряма
npmstrip-indent4.1.1непряма
npmsupports-color7.2.0непряма
npmsupports-preserve-symlinks-flag1.0.0непряма
npmsymbol-tree3.2.4непряма
npmtapable2.3.3непряма
npmtiny-invariant1.3.3непряма
npmtinybench2.9.0непряма
npmtinyexec1.0.2непряма
npmtinyexec1.2.4непряма
npmtinyglobby0.2.17непряма
npmtinyrainbow2.0.0непряма
npmtinyrainbow3.1.0непряма
npmtinyspy4.0.4непряма
npmtldts7.0.30непряма
npmtldts-core7.0.30непряма
npmtough-cookie6.0.1непряма
npmtr466.0.0непряма
npmts-dedent2.2.0непряма
npmtsconfig-paths4.2.0непряма
npmtslib2.8.1непряма
npmtypescript6.0.3непряма
npmundici7.28.0непряма
npmundici-types8.3.0непряма
npmuniversalify2.0.1непряма
npmunplugin2.3.11непряма
npmupdate-browserslist-db1.2.3непряма
npmuse-callback-ref1.3.3непряма
npmuse-sidecar1.1.3непряма
npmuse-sync-external-store1.6.0непряма
npmvite8.1.3непряма
npmvitest4.1.10непряма
npmvoid-elements3.1.0непряма
npmw3c-xmlserializer5.0.0непряма
npmwebidl-conversions8.0.1непряма
npmwebpack-virtual-modules0.6.2непряма
npmwhatwg-mimetype5.0.0непряма
npmwhatwg-url16.0.1непряма
npmwhy-is-node-running2.3.0непряма
npmwrap-ansi10.0.0непряма
npmwrap-ansi9.0.2непряма
npmws8.21.0непряма
npmwsl-utils0.1.0непряма
npmwsl-utils0.3.1непряма
npmxml-name-validator5.0.0непряма
npmxmlchars2.2.0непряма
npmy18n5.0.8непряма
npmyallist3.1.1непряма
npmyaml2.9.0непряма
npmyargs18.0.0непряма
npmyargs-parser22.0.0непряма
Сповіщення про залежності 6

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

ПакетВерсіяЗв'язокКритичністьСповіщеньВиправлено в
brace-expansion5.0.6непрямависока15.0.7
fast-uri3.1.3непрямависока14.1.1
js-yaml4.2.0непрямависока14.3.0
postcss8.5.16непрямависока18.5.18
react-router7.18.1непрямависока18.3.0
golang.org/x/cryptov0.53.0пряманевідома1

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

Звіт у форматі JSON машиночитний
{
  "data": {
    "repo": {
      "topics": [
        "af-xdp",
        "dpdk",
        "go",
        "mef",
        "network-testing",
        "network-tools",
        "performance-testing",
        "rfc2544",
        "tsn",
        "ieee-802-1qbv",
        "rfc6349",
        "y1564",
        "y1731"
      ],
      "is_fork": false,
      "size_kb": 4084,
      "has_wiki": true,
      "homepage": "https://mustardseednetworks.com/stem",
      "languages": {
        "C": 619071,
        "Go": 2272441,
        "CSS": 35589,
        "HTML": 2338,
        "Shell": 102225,
        "Python": 21704,
        "Makefile": 48928,
        "JavaScript": 30551,
        "TypeScript": 949311
      },
      "pushed_at": "2026-07-20T10:37:59Z",
      "created_at": "2025-12-29T04:30:06Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-16T05:56:35Z",
      "description": "Standards-aligned network performance testing — RFC 2544, ITU-T Y.1564, Y.1731, MEF, TSN. Reflector, generator, and certifier in one Go binary.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": null,
      "default_branch": "main",
      "license_spdx_raw": "NOASSERTION",
      "primary_language": "Go",
      "significant_languages": [
        "Go",
        "TypeScript",
        "C"
      ]
    },
    "owner": {
      "blog": null,
      "name": null,
      "type": "Organization",
      "login": "MustardSeedNetworks",
      "company": null,
      "location": null,
      "followers": 1,
      "avatar_url": "https://avatars.githubusercontent.com/u/291406731?v=4",
      "created_at": "2026-06-07T00:05:59Z",
      "is_verified": null,
      "public_repos": 6,
      "account_age_days": 47
    },
    "license": {
      "state": "custom",
      "spdx_id": null,
      "raw_spdx": "NOASSERTION",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.24.0",
          "kind": "minor",
          "published_at": "2026-07-10T09:57:30Z"
        },
        {
          "tag": "v0.23.0",
          "kind": "minor",
          "published_at": "2026-05-29T22:48:51Z"
        },
        {
          "tag": "v0.22.0",
          "kind": "minor",
          "published_at": "2026-05-29T22:23:47Z"
        },
        {
          "tag": "v0.21.4",
          "kind": "patch",
          "published_at": "2026-05-29T18:16:47Z"
        },
        {
          "tag": "v0.21.3",
          "kind": "patch",
          "published_at": "2026-05-29T16:20:06Z"
        },
        {
          "tag": "v0.21.2",
          "kind": "patch",
          "published_at": "2026-05-29T00:50:02Z"
        },
        {
          "tag": "v0.21.1",
          "kind": "patch",
          "published_at": "2026-05-28T22:28:25Z"
        },
        {
          "tag": "v0.21.0",
          "kind": "minor",
          "published_at": "2026-05-28T20:53:01Z"
        },
        {
          "tag": "v0.20.0",
          "kind": "minor",
          "published_at": "2026-05-27T18:04:12Z"
        },
        {
          "tag": "v0.19.0",
          "kind": "minor",
          "published_at": "2026-05-26T15:33:05Z"
        },
        {
          "tag": "v0.18.1",
          "kind": "patch",
          "published_at": "2026-05-26T02:08:37Z"
        },
        {
          "tag": "v0.18.0",
          "kind": "minor",
          "published_at": "2026-05-25T21:01:25Z"
        },
        {
          "tag": "v0.17.2",
          "kind": "patch",
          "published_at": "2026-05-25T03:15:54Z"
        },
        {
          "tag": "v0.17.1",
          "kind": "patch",
          "published_at": "2026-05-23T03:25:49Z"
        },
        {
          "tag": "v0.17.0",
          "kind": "minor",
          "published_at": "2026-05-22T23:37:05Z"
        },
        {
          "tag": "v0.16.0",
          "kind": "minor",
          "published_at": "2026-05-22T05:58:06Z"
        },
        {
          "tag": "v0.15.0",
          "kind": "minor",
          "published_at": "2026-05-20T23:13:28Z"
        },
        {
          "tag": "v0.14.0",
          "kind": "minor",
          "published_at": "2026-05-19T04:38:35Z"
        },
        {
          "tag": "v0.13.3",
          "kind": "patch",
          "published_at": "2026-05-19T04:21:39Z"
        },
        {
          "tag": "v0.13.2",
          "kind": "patch",
          "published_at": "2026-05-18T23:53:12Z"
        },
        {
          "tag": "v0.13.1",
          "kind": "patch",
          "published_at": "2026-05-18T22:40:11Z"
        },
        {
          "tag": "v0.13.0",
          "kind": "minor",
          "published_at": "2026-05-18T22:31:04Z"
        },
        {
          "tag": "v0.12.1",
          "kind": "patch",
          "published_at": "2026-05-18T21:04:59Z"
        },
        {
          "tag": "v0.12.0",
          "kind": "minor",
          "published_at": "2026-05-18T20:19:16Z"
        },
        {
          "tag": "v0.11.0",
          "kind": "minor",
          "published_at": "2026-05-18T19:54:20Z"
        },
        {
          "tag": "v0.10.0",
          "kind": "minor",
          "published_at": "2026-05-18T18:14:19Z"
        },
        {
          "tag": "v0.9.12",
          "kind": "patch",
          "published_at": "2026-05-18T01:07:48Z"
        },
        {
          "tag": "v0.9.11",
          "kind": "patch",
          "published_at": "2026-05-15T01:01:35Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "49b93e675321ed9ca20ae9fc97673e3a666532c2",
          "body": "GitHub/Google/Microsoft OAuth SSO was built but never wired into any\nroute, config, or cmd. It also contradicts stem's air-gapped-license\npositioning (local-only license validation, no phone-home).\n\nRelated to #511",
          "is_bot": false,
          "headline": "chore: delete dead internal/oauth package (#523)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-07-10T17:11:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ca2c12942b525576a6ed1e3fdd69f79cf0d82874",
          "body": "Pin the license-check + semgrep reusable-workflow refs to\nMustardSeedNetworks/.github@v1.0.0 (762b756) instead of @main, matching\nthe fleet's action-pinning discipline and the .github README pattern.\nRenovate bumps these like any other pinned action (same model as the\nfoundation module), so the one-edit-point holds while a bad shared-workflow\npush is gated by each repo's CI rather than landing instantly fleet-wide.",
          "is_bot": false,
          "headline": "ci: pin fleet-shared reusable workflows to a tagged SHA (#522)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-07-10T16:38:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4daf06465e9d4af7139f337348eed80d048bd529",
          "body": "Replace stem's byte-identical Semgrep job with a call to\nMustardSeedNetworks/.github's reusable semgrep.yml (Phase 3). ci-complete\nstill needs: [semgrep]. Verified via niac canary (#1008, CI Complete green).",
          "is_bot": false,
          "headline": "ci(semgrep): consume the fleet-shared reusable Semgrep workflow (#521)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-07-10T16:21:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "19bf887ad256634ebaa793a6cbc53200fa491431",
          "body": "Replace stem's drifted copy of the license-compliance gate with a thin\ncaller of MustardSeedNetworks/.github's reusable license-check.yml\n(Phase 3). Policy now lives in one place. Verified green via the niac\ncanary (#1007).",
          "is_bot": false,
          "headline": "ci(license-check): consume the fleet-shared reusable workflow (#520)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-07-10T15:29:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f4cb1d588bb1ebb79f2cd84b33d74bf3a26a27ba",
          "body": "…sha256(bearer) (#519)\n\nSecond half of Stem's foundation adoption (Phase 2). Replaces the in-repo CSRF\ntoken store with the fleet-shared foundation/pkg/csrf Manager (v0.2.0), and\nconverges the session-key derivation onto the fleet-standard sha256(bearer) —\nStem previously keyed on the raw JWT payloa\n[…]\n re-fetch on next login. Pre-alpha,\nno compat shim.\n\nNet -241 lines. Verified build/vet/lint/govulncheck plus the full auth suite\nand the api CSRF/auth/login/logout/MFA/rotation tests (go test green).",
          "is_bot": false,
          "headline": "refactor(csrf): back CSRF with foundation module; converge keying to …",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-07-10T15:02:33Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "bd1f928339d9efa69bc92fc6f2691e284a46a879",
          "body": "…(#518)\n\n* refactor(license): consume shared foundation module for license core\n\nReplace Stem's in-repo Ed25519 license core with the fleet-shared\ngithub.com/MustardSeedNetworks/foundation module (v0.1.0), collapsing three\nhand-synced copies of this crypto toward a single edit-point (Phase 2 of the\n\n[…]\nt is our own first-party module, not a third-party\ncopyleft risk, so ignore it exactly as we ignore the stem module itself.\nThe gate still catches GPL/AGPL/SSPL contamination in real third-party deps.",
          "is_bot": false,
          "headline": "refactor(license): consume shared foundation module for license core …",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-07-10T14:37:36Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8291e210b96be7efc24a75e89b2ad6d9d23c18aa",
          "body": "The bogus 2.0.0 release (deleted) polluted state. This resets:\n- manifest -> 0.24.0 (the version just tagged/built manually)\n- CHANGELOG: relabel the mislabeled [2.0.0] section to [0.24.0] (content\n  is the real changes since 0.23.0; only the header/compare was wrong)\n- release-please-config: add bo\n[…]\nores the phantom 1.0.0/#497 + 2.0.0/#513 release PRs\n  and computes forward from 0.24.0; remove the non-working release-as.\n\nstem stays pre-1.0. Next release-please run should compute 0.24.1, not 2.x.",
          "is_bot": false,
          "headline": "chore(release): reset release-please to 0.24.0, purge 2.0.0 (#515)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-07-10T10:22:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "bdd228640dd735c63eca9a0960dd651ae229ba00",
          "body": "Co-authored-by: msn-ci-bot[bot] <301394650+msn-ci-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 2.0.0 (#513)",
          "author_name": "msn-ci-bot[bot]",
          "author_login": "msn-ci-bot[bot]",
          "committed_at": "2026-07-10T01:08:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0c315c5f1a7e986b11ebc002df1fb657942c318a",
          "body": "…(#512)\n\nCodex placed 'release-as' and 'last-release-sha' at the TOP LEVEL of\nrelease-please-config.json, where release-please ignores them (they must\nlive inside packages['.']). So its intended 'force 0.24.0' did nothing and\nrelease-please kept computing off the reverted #497 (1.0.0) release PR,\npr\n[…]\nile -> .github/.release-please-manifest.json; delete root dup\n\nAfter 0.24.0 ships, release-as should be removed (follow-up) so future\nreleases compute from 0.24.0 (which supersedes the phantom 1.0.0).",
          "is_bot": false,
          "headline": "fix(release): correct release-please config nesting (kill the 2.0.0) …",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-07-10T00:47:53Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7a659323518ff42512a5e8de0458c53db5da6ed7",
          "body": "Extends github>MustardSeedNetworks/.github so all dependency/lockstep\npolicy lives in one place. Inert until the Renovate App is installed.",
          "is_bot": false,
          "headline": "chore: onboard Renovate via shared org preset (#510)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-07-10T00:42:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5a52387dd669949e3cbe0a350c7ccaf3dae2aacc",
          "body": "The 'stem version' help example printed 'Stem v1.0.0' and DISTRIBUTION.md\nused v1.0.0 in the tag/release examples — misleading, since stem is\npre-1.0 (currently v0.23.0) and there is no 1.0 release. Use 0.x examples.\n(internal/backup BackupVersion=\"1.0\" is the backup file-format version,\nnot the app version — left as-is.)",
          "is_bot": false,
          "headline": "fix(docs): correct stale v1.0.0 examples to 0.x (#506)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-07-10T00:03:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e3dfd63f89e56843ccc69f898456d50a21323592",
          "body": "The goreleaser-cross container runs steps with sh (dash), which rejects\n'set -o pipefail'. The Syft install step lacked shell:bash, failing the\nrelease build with 'Illegal option -o pipefail' — this killed the first\ngoreleaser-cross release attempt (the bogus v1.0.0). Same fix already\napplied to niac. Unblocks stem releases.",
          "is_bot": false,
          "headline": "fix(release): force bash on container Syft step (pipefail) (#507)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-07-09T23:58:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "365ab5b7c542adc16821f98487744ed1ee275895",
          "body": null,
          "is_bot": false,
          "headline": "fix(release): force next Stem release back to 0.x (#504)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-07-09T23:03:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1f5ff941cb297ad495eced773590b66285853854",
          "body": null,
          "is_bot": false,
          "headline": "fix(release): use root release-please manifest (#502)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-07-09T02:43:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "77419546ed29d6ca62e954676094ba8a74b3b46e",
          "body": null,
          "is_bot": false,
          "headline": "fix(release): align stem release manifest with latest 0.x tag (#500)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-07-09T02:20:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bc2d53b356cc74d27297cd85037be1b60049bbbf",
          "body": "* Revert \"chore(main): release 1.0.0 (#497)\"\n\nThis reverts commit bfe300c93ede9c385cfce366dc807edd11bb6a83.\n\n* chore(ci): refresh invalid release revert checks",
          "is_bot": false,
          "headline": "fix(release): revert invalid 1.0.0 changelog (#498)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-07-09T02:11:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bfe300c93ede9c385cfce366dc807edd11bb6a83",
          "body": "Co-authored-by: msn-ci-bot[bot] <301394650+msn-ci-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 1.0.0 (#497)",
          "author_name": "msn-ci-bot[bot]",
          "author_login": "msn-ci-bot[bot]",
          "committed_at": "2026-07-09T01:46:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "98ef652e25e342d2ed4123bbfbc6a2bda48912a1",
          "body": null,
          "is_bot": false,
          "headline": "ci(release): use msn-ci-bot App token for release-please (#494)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-07-08T19:42:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a7aa351157e59a1dec259cdb00ee4a4bc0de06d6",
          "body": null,
          "is_bot": false,
          "headline": "fix(security): bump Go 1.26.5 and gate Trivy SARIF (#496)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-07-08T16:57:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fa5fd33603d0792841cb1ad52cd00f8bdf4807c9",
          "body": null,
          "is_bot": false,
          "headline": "chore: update stem toolchain dependencies (#492)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-07-07T00:53:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4222748b3f8412b963b83b10de9d76279987afac",
          "body": "… (#489)",
          "is_bot": false,
          "headline": "ci(governance): exempt release-please PRs from human PR-body template…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-07-06T20:30:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ef849b217f5a9c89845ba51446e11a6629bb4099",
          "body": "Adds a required semgrep job (p/golang, p/typescript, p/react,\np/owasp-top-ten; blocking on ERROR severity only) wired into\nci-complete's needs, replicating seed #1737. CodeQL is advisory and\nskipped on private repos, so Semgrep becomes the required SAST signal;\ncorrects the ci-complete comments, whi\n[…]\nn current main. Annotates the one known\nWARNING-severity false positive (HIBP SHA-1 k-anonymity API contract in\ninternal/auth/hibp.go) with a nosemgrep justification ahead of a future\nWARNING ratchet.",
          "is_bot": false,
          "headline": "ci(security): add Semgrep SAST gate (#485)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-07-06T19:16:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9c18fcbc51163b1473b9b48979228a04a647e1d3",
          "body": "…al Use Grant (#483)",
          "is_bot": false,
          "headline": "chore(license): add license-key-circumvention clause to BUSL Addition…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-07-06T18:42:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ac7df3fee31cd25e57a3c05b5b963339091107f5",
          "body": "macOS runners are the biggest CI cost multiplier (10x ubuntu-latest minutes)\nand stem's build matrix built both darwin rows on every PR despite only\ndarwin/arm64 ever shipping in release.yml. Since stem is CGO_ENABLED=0, drop\nboth darwin rows from the PR build matrix and replace them with a cheap\ncr\n[…]\n+ a scoped grant on the one job that needs SARIF\nupload, and pin release.yml's syft install to a checksummed release archive\ninstead of piping install.sh from the mutable main branch.\n\nRelated to #480",
          "is_bot": false,
          "headline": "ci(perf): stop macOS-on-PR, enable Go cache, least-privilege (#481)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-07-06T18:21:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5dbe8698525d571dfeeac1682e47a8d5ddbacc8f",
          "body": "Stem is a raw-network on-prem tool; the real deploy path is .deb/.rpm +\nsystemd, not containers. Drop the container build pipeline entirely:\n\n- Delete .github/workflows/container.yml and Dockerfile\n- Drop the now-dead `docker` path filter output from ci.yml (nothing\n  downstream referenced it)\n- Rem\n[…]\ns, so no\nchange needed there. Deleting container.yml orphans no required check:\nbranch protection requires only CI Complete, Lint PR Title, and Lint PR\nBody — the container job was never in that list.",
          "is_bot": false,
          "headline": "chore(build): remove Docker/GHCR publishing (#478)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-07-06T17:41:33Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9746bb30f217db9004437e80bcafe870548073fc",
          "body": "…477)\n\nBoth open CodeQL alerts trace to code that already follows this repo's\noutput-escaping and password-handling invariants:\n\n- #100 (go/weak-sensitive-data-hashing, internal/auth/hibp.go:109): the\n  SHA-1 digest is required by the HaveIBeenPwned Pwned Passwords\n  k-anonymity API protocol, never \n[…]\n passthrough — no HTML rendering context exists for the tainted data.\n\nAdd inline comments at both sites recording the analysis so future\nreaders (and the CodeQL dismissal) have the rationale in-repo.",
          "is_bot": false,
          "headline": "docs(security): document CodeQL alerts #99/#100 as false positives (#…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-07-06T15:31:53Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0993c8d4246f07645e5e29de1e93da32154318b2",
          "body": "…ake parity (#468)\n\n* fix(fmt): apply gofmt -s to dataplane orchestrator files\n\nTwo files had accumulated whitespace/alignment drift that gofmt -l\nflags; caught while adding the new make fmt-check gate (previously no\ncheck-only formatting target existed to catch this in CI).\n\n* feat(mk): add make fm\n[…]\ntays: the mk/vars.mk `ifndef GOARCH`\nguard (a real latent bug regardless of who invokes make), wrapper\nexit-code fixes, fmt-check, undici bump, golangci-lint v2.12.2, and\nthe `npm run typecheck` swap.",
          "is_bot": false,
          "headline": "fix(quality-gates): honest exit codes, fmt-check, npm audit fix, CI/m…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-07-06T15:15:24Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fb37e61ced62dce4ac2cad8326fdb39a9e952a50",
          "body": "…395)\n\nBumps [github/codeql-action](https://github.com/github/codeql-action) from 4.36.0 to 4.36.2.\n- [Release notes](https://github.com/github/codeql-action/releases)\n- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/github/codeql-action/co\n[…]\nirect:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps)(deps): bump github/codeql-action from 4.36.0 to 4.36.2 (#…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-17T00:32:10Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a5e25180d5c6b3a6ad4836c237ab2fd00355525d",
          "body": "…nal/api) (#455)\n\n* ci(gates): add filename-policy gate (no monolith naming outside internal/api)\n\nPorts seed's check-filename-policy.sh to stem for fleet enforcement parity.\nThe gate fails if any handlers_*.go / jobs_*.go file exists outside\ninternal/api (unless it's the eponymous file of a package\n[…]\nry outward. Green on the current\ntree (zero handlers_/jobs_ files outside internal/api).\n\n* test(auth): speed up argon2 test mode\n\n---------\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "ci(gates): add filename-policy gate (no monolith naming outside inter…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-17T00:25:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "da2bd38691de94d630ca5693f0d5ff47c0062f74",
          "body": "…ors leaf (ADR-0011) (#454)\n\nMove the Origin-header classification used by the CORS policy out of the\nflat internal/api namespace into the internal/api/cors leaf package\n(ADR-0011, fourth slice). The leaf exposes IsLocalhostOrigin,\nIsSameOrigin, and IsRFC1918Origin — with the strict complete-IP-stru\n[…]\nd-API tests external, unexported-helper tests\ninternal).\n\nNo behaviour change: CORS allow/deny decisions and response headers are\nidentical.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "refactor(api): extract CORS origin classification into internal/api/c…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-16T21:30:39Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "51dda732b93d2ce55c1390167095501bee5ef56e",
          "body": "…f (ADR-0011) (#453)\n\nMove certificate provisioning, ACME manager construction, the TLS 1.3\nconfig template, and the active-cert fingerprint cache out of the flat\ninternal/api namespace into the internal/api/tlsutil leaf package\n(ADR-0011). The leaf depends only on stdlib, golang.org/x/crypto, and\ni\n[…]\naf's exported API directly from internal/api/tlsutil.\n\nNo behaviour change: endpoints, /__version fingerprint, and cert paths\nare identical.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "refactor(api): extract TLS provisioning into internal/api/tlsutil lea…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-16T21:11:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "21d0d27fcb54d0b28a6f424d034e554f7ba164ec",
          "body": "…R-0011) (#452)\n\n* refactor(api): extract SSE broadcaster into internal/api/sse leaf (ADR-0011)\n\n* fix(sse): use slices.Concat in Frame.Encode (resolve CodeQL alloc-overflow)\n\nCodeQL go/allocation-size-overflow flagged make([]byte,0,len(data)+const)\n(a practically-impossible overflow, but pre-existi\n[…]\n.Concat sizes\ninternally with its own overflow guard — no hand-rolled make-capacity for\nthe analyzer to flag. Behavior identical.\n\n---------\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "refactor(api): extract SSE broadcaster into internal/api/sse leaf (AD…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-16T20:41:28Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "37c9b7ec5fb5d08a4a3cb040aa69a0b8475113a7",
          "body": "…(ADR-0011) (#451)\n\n* refactor(api): extract rate limiter into internal/api/ratelimit leaf (ADR-0011)\n\nMoves all per-IP rate-limiting logic out of package api into the new\ninternal/api/ratelimit leaf package, mirroring niac's proven pattern.\nThe leaf depends only on stdlib, golang.org/x/time/rate, a\n[…]\nr change; all security invariants intact (authLimiter/apiLimiter\nstill wired identically, depguard rule enforces leaf isolation).\n\n---------\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "refactor(api): extract rate limiter into internal/api/ratelimit leaf …",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-16T18:20:32Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5d0df158778ce2dc3032169f260877085183d9e5",
          "body": "…y route) (#447)\n\nRemove three categories of pre-v1 backwards-compat dead weight:\n\n1. database.Database type alias (internal/database/database.go L74-75) — deleted;\n   all 9 callsites in internal/backup/backup.go migrated to database.DB.\n\n2. Save* alias methods that wrapped canonical methods with no\n[…]\nical route. No Go or UI callers\n   used the legacy path. TestHandleAuthCSRF and TestAuthRoutesRegistered\n   migrated to the canonical route.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "refactor: purge pre-v1 compat aliases (Database/Save*/auth-csrf legac…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-16T14:59:47Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "dab673d7144823006725b979d56575d484b3d9a4",
          "body": "…ly (#448)\n\nPre-v1 no-grandfathering: Enterprise (tier 3 / product code 3001) is not\na SKU per LICENSE_STRATEGY (folded into Professional) and was still\ngrandfathering previously-issued tokens to Pro features. Remove it\nentirely — a token presenting tier 3 or code 3001 is now REJECTED\n(falls through\n[…]\nl.\n\nFleet: niac (Free/Pro) + seed (Free/Starter/Pro) already have no\nEnterprise tier — licenses now aligned to the locked matrix fleet-wide.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "refactor(license): retire TierEnterprise + TierTestSuite alias entire…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-16T14:52:32Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f7caee7660624a6b3bacb62ca3a545a3a676ccd6",
          "body": "Documents the decision to strangle stem's flat internal/api into isolated\nleaf packages (ratelimit -> sse -> tls, then capability handlers), mirroring\nseed's strangle + niac ADR-0006. Each leaf is stdlib+inward-only with a\nCI-enforced api-<concern>-isolated depguard rule; snake_case filenames go\nawa\n[…]\nas a consequence; port check-filename-policy.sh once they're gone.\n\nAlso restores the missing 0009 + 0010 rows to the ADR index (doc drift).\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "docs(adr): add ADR-0011 (internal/api sub-package decomposition) (#449)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-16T14:43:18Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "45146359878d5c00d759b3aea05d2a6dca9fe4c4",
          "body": "…#444)\n\nW5.5 bookend: now that every god-file is decomposed (App.tsx, main.go,\nhelp-content.ts, help/tests.go, dataplane.go all under the red-flag\nceiling), enforce the file-size gate as a hard CI failure (STRICT=1,\nfleet-wide Go >1200 / TS >800).\n\nAlso restores the JSON wire-casing gate and the fil\n[…]\nted architecture invariants and must not\nregress. Verified on main: STRICT=1 check-file-size.sh = 0 red flags;\ncheck-json-casing.sh = clean.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "ci(gates): flip file-size gate to STRICT + restore json-casing gate (…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-16T14:14:26Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f1e37c743fec052b99fc96a9f5d01d5855a34f0a",
          "body": "* chore(release): expose release train metadata\n\n* fix(ci): remove stale dataplane import\n\n* fix(ci): wrap release train assertion",
          "is_bot": false,
          "headline": "chore(release): expose release train metadata (#446)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-16T13:39:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "021fe6538f8e274da0e357d1d50059bd6b3ec3c7",
          "body": "…ze gate) (#440)\n\ndataplane.go was 2782 lines (RED flag >1200). Split by protocol/concern into\n8 files in the same package with no behavior, signature, or logic changes:\n\n- dataplane.go (1186L): C preamble, Context lifecycle, RunCustomStreamTest, internal RFC 2544 wrappers\n- dataplane_types.go (561L\n[…]\ne carries a minimal per-file C preamble (CGO requirement).\nAll validation passed: go build ./..., go vet, golangci-lint (0 issues), go test.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "refactor(dataplane): split dataplane.go into cohesive files (under si…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-16T05:21:20Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8d8fec02c091a68bbcabab38fc96b24651cbe538",
          "body": "Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 6.0.3.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/v6.0.2...df4cb1c069e187\n[…]\nirect:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps)(deps): bump actions/checkout from 6.0.2 to 6.0.3 (#394)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-16T05:21:18Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "42744b74315873aaf499e71241c767955c712d04",
          "body": "* chore(github): standardize repo governance\n\n* ci: extend race detector package timeout\n\n---------\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "chore(github): standardize repo governance (#442)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-16T04:35:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1de39d9d87406939633ba7f27d36980af89552d7",
          "body": "…) (#438)\n\n* refactor(ui): split help-content.ts into data/help/* (under size gate)\n\nDecompose the 2021-line monolith into 14 focused files:\n- data/help/types.ts — all interfaces\n- data/help/categories.ts — category record\n- data/help/glossary.ts — glossary record + searchGlossary\n- data/help/tutori\n[…]\n index.ts exemption). All imports unchanged;\nno logic or content modified.\n\n* style(ui): sort imports in help/tests/index (biome)\n\n---------\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "refactor(ui): split help-content.ts into data/help/* (under size gate…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-16T02:36:36Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ec976eaafd9f89966138994b73cbea12e07ed1ad",
          "body": "…437)\n\ncmd/stem/main.go was 1532 lines, exceeding the project >1200-line red\nflag. Split along natural functional seams into six new files in the\nsame package main — zero logic changes, zero renames, verbatim moves:\n\n- cmd_reflect.go      reflect subcommand + stats loop + helpers\n- cmd_testmaster.go\n[…]\nenamed to cmd_testmaster.go because Go treats\nfiles ending in _test.go as test files, which hid the package symbols\nfrom the non-test build.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "refactor(cmd): split main.go into cohesive files (under size gate) (#…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-16T02:33:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "dac92bd4c833b575153f6a758c5b222b21418627",
          "body": "…(#439)\n\ntests.go (2960 lines, RED FLAG >1200) split by standard into 7 files:\n- tests_rfc2544.go (862 lines): RFC 2544 throughput/latency/frame-loss/b2b/recovery/reset\n- tests_y1564.go (397 lines): Y.1564 config/performance/full SAC\n- tests_rfc2889.go (408 lines): RFC 2889 forwarding/address-cache/\n[…]\nlTests() dispatcher only\n\nSame package, zero behavior change, verbatim content moves only.\nAll files below the 1200-line red flag threshold.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "refactor(help): split tests.go into cohesive files (under size gate) …",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-16T02:30:03Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b69fbb13eee87b430e6c8fb0369edeebd5d17bda",
          "body": "…oup (#426)\n\nBumps the go-dependencies group with 1 update: [golang.org/x/crypto](https://github.com/golang/crypto).\n\n\nUpdates `golang.org/x/crypto` from 0.52.0 to 0.53.0\n- [Commits](https://github.com/golang/crypto/compare/v0.52.0...v0.53.0)\n\n---\nupdated-dependencies:\n- dependency-name: golang.org/\n[…]\nion-update:semver-minor\n  dependency-group: go-dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps)(deps): bump golang.org/x/crypto in the go-dependencies gr…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-16T01:17:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "217a2055d57e9b40ed076ce7cd595a84b0e3d294",
          "body": "Strip the 1187-line god App.tsx down to a 190-line composition root.\nBehavior-preserving extraction (same testids, RQ keys, auth flows):\n\n- hooks/useTestExecution.ts — interfaces + stats RQ reads, connection\n  indicator, test start/stop, the status-transition state machine, and\n  the test-config hel\n[…]\nocal).\n\nValidated: biome 2.5.0 clean (whole src/), tsgo typecheck, vitest\n198/198, vite build green. App.tsx no longer a file-size red flag.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "refactor(ui): decompose App.tsx to providers + routing (W5.5) (#436)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-16T01:06:10Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "510fe8b968acc678db514155b7dadf42b50e88d1",
          "body": "… with 16 updates (#435)\n\nBumps the npm-dependencies group with 16 updates in the /ui directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.3.0` | `4.3.1` |\n| [lucide-react](https://g\n[…]\non-update:semver-patch\n  dependency-group: npm-dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps)(deps): bump the npm-dependencies group across 1 directory…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-16T00:23:35Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7075ea670dd28b8b0b7fe865e13d17fb61005ae6",
          "body": "* feat(ui): auth-store + hardened authFetch core (W5.3, part 1/2)\n\nSecurity-critical core of the auth extraction, built standalone + proven by\ntests before the App.tsx wiring. Cross-model (Codex) reviewed.\n\nauth-store.ts (Zustand, not persisted; isAuthenticated seeded from the\nlocalStorage flag): lo\n[…]\nryFns thread the React Query abort signal.\n\nValidated: biome 2.5.0 clean, tsgo typecheck clean, vitest 198/198,\nvite build green.\n\n---------\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "feat(ui): extract auth to auth-store + harden authFetch (W5.3) (#434)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-15T21:30:59Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c8518486c295fe9eef3218cdfc078088aeb3e15e",
          "body": "* refactor(ui): extract test-execution config to test-store (W5.4)\n\nStage 4 of the App.tsx decomposition. Moves the 12 test-config/run-state\nfields — selectedTests, reflectorProfile, isStarting/StoppingTest,\ntestStartError, and the 7 per-protocol config objects (rfc2544/2889/6349/\ny1564/y1731/tsn/tr\n[…]\niome over all of src/; the long set(...) setter lines in\ntest-store.ts needed wrapping. (Local check had only formatted App.tsx.)\n\n---------\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "refactor(ui): extract test-execution config to test-store (W5.4) (#433)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-15T16:20:58Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4f17830bd0b99a95482915cf87657eb4aca8a707",
          "body": "Stage 2b of the App.tsx decomposition. Replaces the manual 1s setInterval\nstats poll (statsIntervalRef + fetchStats useCallback + the connected-gated\npolling effect) with a useQuery:\n- enabled: connected, refetchInterval: 1000, refetchIntervalInBackground:\n  true (matches the old setInterval running\n[…]\n2a/2b. tsc + biome clean; build green;\n183/183 unit tests pass. Live polling/test-status behavior is covered by the\nfullstack E2E on the PR.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "feat(ui): migrate the stats poll to React Query (W5.2b) (#432)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-15T15:52:13Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "12e073ccda2ebe9a54afb2a4a75be22f39d7e3e6",
          "body": "* feat(ui): add React Query + migrate the interfaces read (W5.2a)\n\nStage 2a of the App.tsx decomposition. Introduces @tanstack/react-query\n(5.101.0, pinned) with a shared QueryClient (lib/queryClient.ts, mirroring\nseed) wired in at main.tsx, and migrates the first read — the network\ninterfaces fetch\n[…]\nd expireSession so no cached\nserver response survives an auth transition (also protects every future query\non the shared client).\n\n---------\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "feat(ui): add React Query + migrate the interfaces read (W5.2a) (#431)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-15T15:44:17Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5ab089133cd7aa6e110f1b47d0cc50f156e3173a",
          "body": "module-certify was #16a34a green — only ~1.19:1 luminance-distinct from\nstatus-success #4caf50, so a Certify badge and a success badge co-located\nread as the same green. Move certify to violet (#7c3aed light / #a78bfa\ndark), the open slot on the module hue wheel (cyan/red/orange/yellow/blue\nalready \n[…]\nmeasure-blue. Consumers reference the\ntoken, so the change propagates with no call-site edits.\n\ntsc + biome + token gate clean; build green.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "fix(ui): give module-certify a distinct violet hue (S7) (#430)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-15T15:17:36Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "45f05d93994e1d8a38d4f06b7d495d7c7d6bc6ac",
          "body": "…) (#429)\n\nStage 1 of the App.tsx decomposition. Move the four app-shell UI flags\n(settings/help/history drawers + the ⌘K command palette) out of local\nuseState in App.tsx into a dedicated Zustand shell-store, mirroring the\nexisting profile-store pattern. Deliberately not persisted — these are\nephem\n[…]\nuseState count 30 → 26; connection/\nauth/test state are extracted in later slices.\n\ntsc + biome clean; 183/183 unit tests pass; build green.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "refactor(ui): extract shell drawer/palette state to shell-store (W5.1…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-15T14:38:02Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ccde3f43b0aab756a7d21e2aa0cc8eb504761905",
          "body": "Replace 12 hand-rolled inline SVG icon components with lucide-react\nequivalents (already stem's icon system in navGroups/Sidebar/pageRegistry),\nand remove the 4 @deprecated, ignored props.\n\nIcon map: Activity→Activity, Wifi→Wifi, WifiOff→WifiOff, Sun→Sun,\nMoon→Moon, Refresh→RefreshCw, Settings→Setti\n[…]\ningsOpen (no callers passed them).\n\nHeaderBar.tsx: 809 → 592 lines. 0 inline <svg>. tsc + biome clean;\n29 HeaderBar tests pass; build green.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "refactor(ui): unify HeaderBar icons to lucide-react (S4/S8) (#428)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-15T14:25:23Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "483b7b6f72e535a04e33cea8e01faa4468b896e0",
          "body": "…e (S5) (#425)\n\nthemeComponents.ts used raw `text-zinc-900` (success button) and\n`bg-black/50` (modal backdrop) — both slipped through because the token\ngate blanket-excluded all of styles/.\n\n- Add a semantic `--color-on-success` token (dark #1a2520, ~6.2:1 AA on\n  status-success #4caf50; white fail\n[…]\n\n  caught.\n\nS7 (module-certify vs status-success green contrast = ~1.19:1) is left as an\nowner decision — analysis only, no hue change here.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "fix(ui): close token-gate escapes in themeComponents + narrow the gat…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-14T23:38:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "960282580d45af9692ca6ab4b665128c05f9e9f7",
          "body": "Port seed's check-file-size.sh to stem. Ships in STRICT=0 (warn/exit-0)\nbecause App.tsx (1,453 lines), HeaderBar.tsx (809 lines), and several Go\nfiles exceed red-flag thresholds today. The gate inventories existing debt\nwithout blocking CI; flip STRICT=1 once the App.tsx decomposition lands.\n\nThresholds: Go src >600 warn/>1200 red-flag, Go tests >1000 warn,\nTS/TSX >400 warn/>800 red-flag.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "chore(ci): add file-size gate (warn mode) (W0c) (#424)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-14T23:21:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1c36e07792acd51d9844e3e5d5c0be4adb719548",
          "body": "…parity with seed) (#421)\n\nPorts seed's json-casing guard so stem enforces the same camelCase JSON\nwire-tag invariant. stem is already fully camelCase (0 snake_case tags in\ninternal/api + internal/reflector), so the baseline allow-list is empty —\nthe gate locks that in: any NEW snake_case wire tag f\n[…]\ncase (grep exit 1 under pipefail) so the gate works for a fully\ncamelCase repo. Verified: passes clean on main; fails on a seeded snake tag.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "ci(stem): add JSON wire-casing gate — camelCase ratchet (enforcement …",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-14T21:39:59Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1eec09e3b28de6631c7a9ad65fa63ffef4044a10",
          "body": "…#420)\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "test(ui): add nav↔route parity guard (enforcement parity with seed) (…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-14T21:39:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "49222125166f66f6404a81e8a47e31c137211429",
          "body": "The 'Account' sidebar group used a bare string literal, so it never\ntranslated — every other group uses '' or a common:sections.* key. Add\ncommon.sections.account (en: Account / es: Cuenta) and reference it. The\n'Security' item label stays as-is (product/standard term).\n\ntsc + biome clean; i18n parity + navGroups tests green (29).\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "fix(ui): i18n the Account nav group label (S3) (#419)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-14T21:36:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c2dc50cfdf1465d179dd15add35caee11fea6761",
          "body": "…o exceptions (#422)\n\nMirrors seed's revised ADR-0010 (2026-06-14, pure boundary-mapping) per the\nharmonized-by-convention, no-master principle. stem's API is already 100%\ncamelCase (0 snake_case wire tags in internal/api + internal/reflector); the\njson-casing gate (#421) with empty baseline locks it in.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "docs(adr): adopt fleet JSON wire-casing convention — camelCase API, n…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-14T21:34:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "22d9afa7a28a08213c73a18412ecf4f796efbb73",
          "body": "esbuild 0.17.0-0.28.0 has a high-severity advisory (missing binary\nintegrity verification enabling RCE via NPM_CONFIG_REGISTRY), pulled in\ntransitively through storybook's vite builder. The advisory is patched\nin 0.28.1; pin it via an npm override (the direct fix npm proposes is a\nbreaking storybook downgrade, which is the wrong tradeoff).\n\nUnblocks the Security Scanning job (npm audit --audit-level=high) on all\nopen PRs.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "chore(deps): override esbuild to 0.28.1 (GHSA-gv7w-rqvm-qjhr) (#423)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-14T21:27:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a8d629aef752d0299745a3717cf1a2c942591014",
          "body": "…) (#418)\n\nA cross-repo security-invariant audit confirmed stem's core CSRF posture\n(ADR-0004) holds: all mutating routes go through the registry + global\nper-session CSRFManager, CI-gated. It surfaced two SameSite-mitigated edges\nwhere the middleware does not actively validate a token:\n\n- POST /aut\n[…]\n Document in ADR-0009\nand add pointer comments at both route registrations so a future audit lands\non the decision instead of re-opening it.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "docs(security): record accepted CSRF defense-in-depth edges (ADR-0009…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-11T10:01:39Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "59a7ebd23f307544822dfc5a1ac9ade5bbc402a5",
          "body": "… with 19 updates (#396)\n\nBumps the npm-dependencies group with 19 updates in the /ui directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [i18next](https://github.com/i18next/i18next) | `26.2.0` | `26.3.1` |\n| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-reac\n[…]\non-update:semver-patch\n  dependency-group: npm-dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps)(deps): bump the npm-dependencies group across 1 directory…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-09T02:03:54Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "cd3072579de14cfbf5a35fbc2076ad8ddcb2e82b",
          "body": "The app shell shipped as a single ~741 kB index chunk: every app-code\nchange busted the browser cache for React/i18next/etc. too. Add a\nmanualChunks vendor split (vendor-react, vendor-i18n, vendor-ui) plus\nresolve.dedupe so duplicate transitive copies collapse, and wire an\nANALYZE-gated rollup-plugi\n[…]\n. Treemap writes to gitignored ui/dist/.\n\nVerified: npm run build + build:analyze, make build (UI embedded), make\nclean leaves a clean tree.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "perf(ui): split vendor chunks, add bundle analyzer (#417)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-09T01:51:56Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1aa020e17072d28c11b4fe8d52a3c693440869cc",
          "body": "…stry (#415)\n\nstem's capability registry already made HTTP methods authoritative\n(methods + methodGate); the body-size cap was the one piece of route\npolicy still living outside it — every handler relied on decodeJSONStrict\npassing maxRequestBodySize per call site, so a route that forgot to decode\ns\n[…]\nmaxRequestBodySize (1 MB),\nso the registry cap matches what was enforced inline. The existing inline\ndecode caps remain as defense-in-depth.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "feat(api): make request body-size limit declarative in the route regi…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-09T01:14:59Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "65421cd7697de8ebfd4a1eb7f8317e0aae6e30a2",
          "body": "tsconfig.node.json compiled vite.config.ts to a tracked vite.config.js +\nvite.config.d.ts. Vite 8 resolves vite.config.js before vite.config.ts,\nso the stale emitted .js (cssCodeSplit:false, modulePreload:false, no\nes2022 target, no assetsInlineLimit:0) shadowed the canonical .ts at\nconfig-load time\n[…]\ned Vite config and the one Vite\nloads. Verified: tsc -b emits nothing, make build embeds the correct\nconfig, make clean leaves a clean tree.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "fix(ui): stop emitted vite.config.js shadowing vite.config.ts (#416)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-09T00:57:34Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "505f6e3cac038febcb13ce83c5230a59d274726a",
          "body": "stem already had a documented isCSRFExemptPath; this adds the regression gate the\nissue asked for (no production change).\n\ncsrf_coverage_test.go (package auth_test, via a new export_test.go seam):\n- Golden-pins the exempt set — every current exemption (login, harvest/logs/client,\n  the MFA finishers\n[…]\nhing token passes and an exempt path passes\n  session-less.\n\nVerified: go build, go vet, golangci-lint (0 issues), go test ./internal/auth/.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "test(auth): pin the CSRF exempt-list with a coverage gate (#341) (#414)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-08T22:32:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2ffcaf88819ec55016133e03e76255d9aff74484",
          "body": null,
          "is_bot": false,
          "headline": "fix(ui): suppress node dep0205 build warning",
          "author_name": "Kris Armstrong",
          "author_login": null,
          "committed_at": "2026-06-08T21:38:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a42dc0829c2cfa67c301aebd3a5c0b9f3b0ff7a8",
          "body": "Bumps [securego/gosec](https://github.com/securego/gosec) from 2.26.1 to 2.27.1.\n- [Release notes](https://github.com/securego/gosec/releases)\n- [Commits](https://github.com/securego/gosec/compare/4a3bd8af174872c778439083ded7adbf3747e770...9e6a9843d7a4a6e3e9a8539b02612c8a4aa3f889)\n\n---\nupdated-depen\n[…]\nirect:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps)(deps): bump securego/gosec from 2.26.1 to 2.27.1 (#391)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-08T21:27:13Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b6be3c68b5556e4b4227644f46440abfbc8cb9aa",
          "body": "…with 2 updates (#392)\n\nBumps the go-dependencies group with 2 updates in the / directory: [github.com/go-playground/validator/v10](https://github.com/go-playground/validator) and [modernc.org/sqlite](https://gitlab.com/cznic/sqlite).\n\n\nUpdates `github.com/go-playground/validator/v10` from 10.30.2 t\n[…]\nion-update:semver-minor\n  dependency-group: go-dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps)(deps): bump the go-dependencies group across 1 directory …",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-08T21:27:09Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "39990a39090516b8723b3bb8337822f5440bf1fd",
          "body": "…408)\n\nBumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 6.0.1 to 7.0.0.\n- [Release notes](https://github.com/codecov/codecov-action/releases)\n- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/codecov/codecov-a\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps)(deps): bump codecov/codecov-action from 6.0.1 to 7.0.0 (#…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-08T21:27:05Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d0707f44eb2ccd50fe1924304283d5e21e12589e",
          "body": null,
          "is_bot": false,
          "headline": "chore(main): release 0.23.1 (#382)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-08T21:26:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4b36291df9ee162313fdf399d55fde21cc1a27f4",
          "body": "Officially dropping Intel macOS support fleet-wide; keep darwin/arm64 (Apple\nSilicon) only.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "ci(release): drop macOS amd64 (Intel) build target (#413)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-08T21:14:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "15ab94eaf6afeda3c19be712d6fda546ebfa7b3c",
          "body": "Keep the cross-build image fresh (Go 1.26.3 + goreleaser v2.16.0) so its baked\nlibs don't drift from upstream. stem is pure-Go (no libpcap multiarch install)\nso it wasn't hit by the seed#1577 arm64 break, but fleet pins stay aligned.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "ci(release): bump goreleaser-cross to v1.26.3-v2.16.0 (#412)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-08T20:07:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "06392db9a8cfcb1c42d8e4022c7464052110bbbc",
          "body": null,
          "is_bot": false,
          "headline": "docs: align makefile local build scope",
          "author_name": "Kris Armstrong",
          "author_login": null,
          "committed_at": "2026-06-08T18:19:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9eb862b35738cf8087e7afc071d28829b5280da4",
          "body": null,
          "is_bot": false,
          "headline": "chore: simplify local make system",
          "author_name": "Kris Armstrong",
          "author_login": null,
          "committed_at": "2026-06-08T17:07:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "60678a4e9933202a1a1cd0dcff06a232a66e46ed",
          "body": "…#411)\n\nMove the in-tree module path from github.com/krisarmstrong/stem to\ngithub.com/MustardSeedNetworks/stem now that the repository lives under\nthe MustardSeedNetworks org. Purely mechanical: no behavior change.\n\nSwept across all 121 Go files plus the build and release surface:\n- go.mod module di\n[…]\nild, go vet, gofumpt -l (clean), golangci-lint\n(0 issues), schema-drift gate, route-policy gate, and full go test\n(26 packages, 0 failures).\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "chore: rename Go module path to github.com/MustardSeedNetworks/stem (…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-08T14:50:46Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1a2239c7dded5978bcb449e0cfca12f76679487e",
          "body": "…alidators (#410)\n\n* fix(dataplane): require full payload length in RFC2544/Y.1564 frame validators\n\nThe *_is_valid_response validators guarded on the 64-byte Ethernet minimum\n(RFC2544_MIN_FRAME / Y1564_MIN_FRAME), but the 24-byte payload they vouch for\nsits at frame offset 42 and runs to offset 66.\n[…]\nity finding in packet.c. Suppress that one check-id; the\nwarning/performance/portability bug-class gate on packet.c is unchanged.\n\n---------\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "fix(dataplane): require full payload length in RFC2544/Y.1564 frame v…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-08T14:32:08Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b78e407a5499f0398d92c32de03ef0f5ae5a44f7",
          "body": "…ens (#409)\n\nThe 16-char rotor-cipher + self-checksum scheme shipped its own generator\n(GenerateLicenseKey) inside every Stem binary, so any copy could mint valid\nProfessional keys. Replace it with offline-verifiable Ed25519-signed tokens\n(signing.go), harmonized with the niac/seed format and the ke\n[…]\n./..., go vet ./..., golangci-lint (0 issues, license +\nconsumers), go test -race ./internal/license/ (ok 101s) + ./internal/api/\n(ok 512s).\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "feat(license): replace forgeable rotor cipher with Ed25519-signed tok…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-08T13:33:36Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "da573916430385cf4f6ad88ede7ae60390efc7b0",
          "body": "… BackgroundComponents (#407)\n\nIntroduce internal/api/background.go (BackgroundComponents) as the single\nordered Start/Stop seam for Run-scoped long-lived goroutines, beginning with\nthe reflector-stats SSE publisher (runReflectorStatsPublisher). Shutdown now\nstops the publisher and waits for it to e\n[…]\n by construction.\n\nVerified: go build ./..., go vet ./..., golangci-lint (0 issues), full\ninternal/api -race suite (ok 320s), non-api tests.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "refactor(api): extract Run-scoped background goroutine lifecycle into…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-08T04:14:13Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a6b99ef66b6b8abc3236c0c8b3b7369d192d531d",
          "body": "…try (#404)\n\nModule metadata lived in the services Registry while the executor factories\nlived in a separate hardcoded map in internal/api/executors.go — two sources of\ntruth, so adding a module meant editing both (and forgetting one was a silent\nbug). Collapse them: the registry now holds each modu\n[…]\n\nBehavior-preserving: build + vet + golangci(0) + full internal/api suite (232s)\n+ all services tests green. Phase 2 architecture coherence.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "refactor(services): collapse dual module->executor map into the regis…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-08T03:54:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "55ae19ab9578eaadcbd6fc9f8346a25982e48ffd",
          "body": "…) (#401)\n\nRoutes are now declared as data and a single register()/registerAll() composes\ntheir per-route policy — rate limit, authentication — in one canonical order, so\na route cannot ship without its policy. This replaces the scattered imperative\nhandleAuthRateLimited/handleRateLimited/mux.Handle\n[…]\ngin=no-auth).\n\nEnforcement by construction (Phase 3). Full internal/api suite green; golangci\ngolden config 0 issues. niac registry follows.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "feat(api): capability registry for declarative route policy (register…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-08T03:54:12Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "13ee83c338f1a0465f8bef791f84a474086daee1",
          "body": "…shim (#406)\n\ndocs/ARCHITECTURE.md described a phantom architecture: 'testmaster' + 'web'\nsubsystems that don't exist, internal/modules/internal/testmaster dirs (it's\ninternal/services now), Go 1.25.5, and an 8043 HTTP redirector that was removed\n(the server is HTTPS-only). Rewrite to the real layou\n[…]\ninels no caller used (every callsite uses modtypes.ErrX).\nBuild + all services tests green.\n\nPhase 2 architecture coherence (final cleanup).\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "refactor(docs): rewrite ARCHITECTURE.md to reality + drop dead error …",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-08T03:38:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2b431b677f32cb2d58ba49ac5d235bdfecedbe2a",
          "body": "The Stem had no Architecture Decision Records (seed has 16, niac has 1). Stand\nup docs/adr/ (matching the sibling repos' format) and capture the decisions made\nduring this hardening pass so the reasoning is durable:\n\n- 0001 Capability registry for route policy (register() + /__capabilities + gate)\n-\n[…]\nnforced by depguard\n- 0004 Single-admin auth model + CORS posture (why no role system; CORS opt-in)\n\nDocs only. Phase 4 (durable decisions).\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "docs(adr): establish docs/adr and record 4 architecture decisions (#405)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-08T03:27:20Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "edfc32fda28833a18eeaf11cc3b33fd348090038",
          "body": "…irectory (#403)\n\ninternal/services/ declared 'package modules' — a half-finished rename that\nforced every caller to alias the import (modules \"...internal/services\"). Rename\nthe package to 'services' so directory == package name, and drop the aliases at\nthe 4 call sites (handlers_modules, handlers_\n[…]\n' subsystem -> orchestrator).\n\nMechanical; build + vet + lint(0) + services/help/cmd/api-module tests green.\nPhase 2 architecture coherence.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "refactor(services): rename package modules -> services to match its d…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-08T03:03:57Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2862e658207cbda1f77d8bd83ff83bad9477d715",
          "body": "14 occurrences across internal/help/* and internal/license/activation.go were\ncopy-paste leftovers from the sibling repo, naming the product 'Seed Test Suite'\nin CLI help content, a systemd unit Description, and a package doc comment. The\ncanonical name is 'The Stem' (1692 uses). Comments/help text only; build + help\n+ license tests green.\n\nPhase 2 architecture coherence.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "docs: fix stale 'Seed Test Suite' product name -> 'The Stem' (#402)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-08T02:57:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa62493bd9e71eabc9a404113e633697da4c8c12",
          "body": "…s (#400)\n\nAdds a depguard 'service-layer-inward-only' rule barring the module/service\nlayer (internal/services) from importing the API, auth, or license layers. The\ndirection was already clean by convention; this makes a future upward import\nfail CI instead of silently coupling the layers. Verified\n[…]\nres on a\nprobe import and passes on the current tree (0 issues).\n\nPhase 3 enforcement (architecture). govulncheck/route-policy gates follow.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "chore(lint): enforce inward dependency direction for internal/service…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-07T05:30:01Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "554fc763e90b0d5b546e9e60ddf85e1c5a551259",
          "body": "…E) (#399)\n\nThe CORS middleware reflected ANY RFC1918 private-network origin with\nAllow-Credentials: true — a cross-origin CSRF-bypass vector on a shared or\nhostile LAN (a malicious LAN page could drive credentialed requests with the\nvictim admin's cookies). Default is now localhost + same-origin on\n[…]\nd; switched the\nRFC1918-allowed test to the opt-in path and added\nTestCorsMiddleware_RFC1918BlockedByDefault. Full internal/api suite green.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "fix(api): make RFC1918 CORS reflection opt-in (STEM_CORS_ALLOW_PRIVAT…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-07T05:26:52Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7d9a4e31b7f2d3c6d60b9899c067da5aa7f803c8",
          "body": "POST/GET /api/v1/reflector/{config,stats} were registered with only a rate\nlimiter (no auth) — any client on the network could reconfigure or inspect the\ndataplane. Route them through handleAuthRateLimited so a valid token is\nrequired; update the reflector tests to the authenticated behavior (and in\n[…]\nn govulncheck @latest -> @v1.3.0 per CLAUDE.md (never @latest).\n\nPhase 0 of the stem security hardening. CSRF rekey + CORS allowlist follow.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "fix(api): authenticate reflector config/stats + pin govulncheck (#398)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-07T04:52:45Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "56117e8457c8b8293466d090bfd8d32001335e4f",
          "body": "…#397)\n\n* fix(e2e): role-chip-test_master uses underscore not hyphen\n\nstem CI on the post-#387 main run (#26695591706) failed in\nreflector-platform-guard.spec.ts:46:\n\n  await expect(page.getByTestId('role-chip-test-master'))\n    .toBeVisible();\n\nThe actual testid emitted by RoleChip.tsx:115 is\n`role\n[…]\neated-then-deleted test user, not a real\nsecret). Inline gitleaks:allow can't suppress historical commits, so allowlist\nthe path.\n\n---------\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "chore: bump Go 1.26.4 (GO-2026-5037/5039) + gitleaks/e2e CI cleanup (…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-06-07T04:26:13Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "579774ebc81bb196f1da381f9ba7904831d7ccb8",
          "body": "…(#389)\n\n* fix(e2e): role-chip-test_master uses underscore not hyphen\n\nstem CI on the post-#387 main run (#26695591706) failed in\nreflector-platform-guard.spec.ts:46:\n\n  await expect(page.getByTestId('role-chip-test-master'))\n    .toBeVisible();\n\nThe actual testid emitted by RoleChip.tsx:115 is\n`rol\n[…]\ns should\nignore it. Gitleaks honors `gitleaks:allow` in any commit it sees,\nso the historical commit is dispatched-scan-safe too.\n\n---------\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "fix(smoke): annotate STEM_AUTH_PASSWORD assignment as gitleaks:allow …",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-05-30T23:44:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8a3e6833b0c56a7dbd67f841373c061d5a85c5e9",
          "body": "stem CI on the post-#387 main run (#26695591706) failed in\nreflector-platform-guard.spec.ts:46:\n\n  await expect(page.getByTestId('role-chip-test-master'))\n    .toBeVisible();\n\nThe actual testid emitted by RoleChip.tsx:115 is\n`role-chip-${option.id}`, and option.id for the Test Master role\nis `test_m\n[…]\nrministically\non both chromium and webkit.\n\nFix: one-character change, hyphen -> underscore. Brings the spec\nin line with the actual id key.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "fix(e2e): role-chip-test_master uses underscore not hyphen (#388)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-05-30T21:58:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "438b35df1b7a0c9402d863700e0c02ce1b54badd",
          "body": "…tch (#387)\n\nBrittleness fix #18 of the i18n-fragile-selector sweep.\n\nEight stem action-button selectors used language-specific regex.\nMigrated to stable testids by adding three new testid surfaces in\nthe UI and migrating five spec files.\n\nUI changes:\n  - ConfirmModal.tsx: data-testid=\"confirm-modal\n[…]\n   -> reflector-start-button (ReflectorPage.tsx:295 testid)\n\nNet: -8 i18n-fragile button selector sites. stem button-regex\ncount drops by 8.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "test(e2e): action-button testids - confirm modal, help tabs, role-swi…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-05-30T21:38:34Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ede9f70402acf1e1e3c172ceccfbbb7634d19096",
          "body": "…tle (#386)\n\nBrittleness fix #17 of the i18n-fragile-selector sweep.\n\nFive stem per-page specs each had two assertions of the H1 heading\nby language-specific text regex:\n\n  await expect(page.getByRole('heading', {\n    name: /^benchmark$/i, level: 1\n  })).toBeVisible({ timeout: 10000 });\n\nThe heading\n[…]\nPR #791 (8 sites) which mirrored this fix.\n\nNet: -10 i18n-fragile heading-regex sites in stem. stem button-\nregex count drops from 24 to 14.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "test(e2e): migrate 10 stem heading-name regex sites to page-header-ti…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-05-30T21:35:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d4a76a7b8124ebc0cc2fe3ef68a2c4acc3a483cb",
          "body": "stem CI on the post-#383 main run failed in E2E because PR #383\nmigrated auth.spec.ts:24 from getByText regex to getByRole(alert),\nbut the stem login form rendered loginError as a plain p tag with\nno role=alert attribute. The selector resolved to zero elements\nand the test failed deterministically o\n[…]\naster) the\nseed-vs-stem shape parity is convention, not enforced — we just\nported the same role=alert annotation independently to each repo.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "fix(ui): add role=alert to stem login error display (#385)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-05-30T20:32:54Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "dd8ba6a2f0452a9a064d535363f1cd3f5ad1f165",
          "body": "…384)\n\nBrittleness fix #4 of the i18n-fragile-selector sweep.\n\nstem/ui/e2e/dashboard.spec.ts:25-28 asserted four StatsCard\nlabels by regex: /packets received/i, /packets sent/i, /current\nrate/i, /uptime/i. Every one of those labels is rendered by\nthe t() helper or hard-coded English that any i18n te\n[…]\n> four getByTestId\nassertions.\n\nNet: -4 i18n-fragile assertion sites in stem dashboard.spec.ts.\nStem's text-regex count drops from 17 to 13.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "test(e2e): stats-* testids on Reflector dashboard, migrate 4 sites (#…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-05-30T20:02:47Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3a8e99900a7e650ff83d8bacd3874cba99128ea1",
          "body": "…383)\n\nMirror of seed PR #1301 — one fragile site in stem/ui/e2e/auth.\nspec.ts:24:\n\n  await expect(page.getByText(/invalid|error|failed/i))\n    .toBeVisible();\n\nThe /invalid|error|failed/i regex is brittle under es locale and\nunder copy churn. Replaced with getByRole alert. stem's login\nsurface (see PR #378 / S2) has role=alert on the error display.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "test(e2e): migrate stem auth invalid-creds assertion to role=alert (#…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-05-30T19:46:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b91ce7e9d425ab964bfcb57083c6c3ee88e69d9b",
          "body": "stem CI on the post-#380 main run failed with strict-mode violations\non every E2E test that calls page.getByTestId('sidebar-help-button'),\npage.getByTestId('sidebar-history-button'), or page.getByTestId(\n'sidebar-settings-button') — each resolving to 2 elements.\n\nRoot cause: SidebarLayout mounts Sid\n[…]\need/niac sidebars have the same\ndual-mount pattern (likely yes for seed since the layout shape is\nshared); fixes there will land separately.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "fix(ui): drop sidebar-*-button testids on the mobile aside copy (#381)",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-05-30T18:47:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "bb971eec77c16f376f6762b0a5a52a8f97bb5087",
          "body": "…e (#380)\n\nMirror of seed's PR-AC4 cleanup; same shape adapted to stem's\ntestid inventory and the reflector shell.\n\nThe previous 3 tests in stem's smoke.spec.ts asserted next-to-nothing:\n\n  - \"should load the application without errors\" filtered out\n    401/429/Failed-to-fetch/favicon noise from the\n[…]\n that break the\nversion-badge can't merge.\n\nTotal surface area down from console-error filtering + viewport\ncycling to 7 tight UI contracts.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "test(e2e): rewrite smoke.spec.ts as a golden-path required-status gat…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-05-30T18:17:58Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "eccc6cc4900f8193ac7ff7b3ad941da0f32f7f60",
          "body": "…h + help-drawer specs (#378)\n\nReplaces the brittle role/text regex selectors in auth.spec.ts (13\nsites) and help-drawer.spec.ts (8 sites) with stable testids. The\nlogin form's getByLabel(/username|password/i) and getByRole('button',\n{ name: /sign in/i }) selectors break under es and under strict mo\n[…]\nton +\n    help-drawer + help-drawer-close (the latter two already ship per\n    HelpDrawer.tsx after stem PR-C #372).\n\nStem E2E plan S2 of 3.\n\nCo-authored-by: Kris Armstrong <kris.armstrong@icloud.com>",
          "is_bot": false,
          "headline": "test(e2e): testids on login form + Sidebar help/settings; migrate aut…",
          "author_name": "Kris Armstrong",
          "author_login": "krisarmstrong",
          "committed_at": "2026-05-30T15:27:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        }
      ],
      "releases_count": 28,
      "commits_last_year": 507,
      "latest_release_at": "2026-07-10T09:57:30Z",
      "latest_release_tag": "v0.24.0",
      "releases_from_tags": false,
      "days_since_last_push": 4,
      "active_weeks_last_year": 13,
      "days_since_latest_release": 14,
      "mean_days_between_releases": 5
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 87,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "github.com/MustardSeedNetworks/stem",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": true,
          "registry_url": "https://pkg.go.dev/github.com/MustardSeedNetworks/stem",
          "is_deprecated": false,
          "latest_version": "v0.24.0",
          "repository_url": "https://github.com/MustardSeedNetworks/stem",
          "versions_count": 104,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-07-10T01:08:50Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 14
        }
      ]
    },
    "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": 35
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "Makefile"
      ],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "ui/tsconfig.json"
      ],
      "toolchain_manifests": [
        "go.mod"
      ],
      "largest_source_bytes": 116715,
      "source_files_sampled": 500,
      "oversized_source_files": 4,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "go.mod",
        "package.json",
        "ui/package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.6",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3jxr-9vmj-r5cp"
            ],
            "fixed_version": "5.0.7",
            "advisory_count": 1,
            "oldest_advisory_days": 3
          },
          {
            "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": 2
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.2.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-52cp-r559-cp3m"
            ],
            "fixed_version": "4.3.0",
            "advisory_count": 1,
            "oldest_advisory_days": 3
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.16",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-r28c-9q8g-f849"
            ],
            "fixed_version": "8.5.18",
            "advisory_count": 1,
            "oldest_advisory_days": 0
          },
          {
            "name": "react-router",
            "direct": false,
            "version": "7.18.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-qwww-vcr4-c8h2"
            ],
            "fixed_version": "8.3.0",
            "advisory_count": 1,
            "oldest_advisory_days": 0
          },
          {
            "name": "golang.org/x/crypto",
            "direct": true,
            "version": "v0.53.0",
            "severity": "unknown",
            "ecosystem": "go",
            "cvss_score": null,
            "advisory_ids": [
              "GO-2026-5932"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 16
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "high": 5,
          "unknown": 1
        },
        "advisory_count": 6,
        "affected_count": 6,
        "assessed_count": 610,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 1
      },
      "ecosystems": [
        "go",
        "npm"
      ],
      "dependencies": [
        {
          "name": "github.com/MustardSeedNetworks/foundation",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.2.0"
        },
        {
          "name": "github.com/gdamore/tcell/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.13.10"
        },
        {
          "name": "github.com/go-playground/validator/v10",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v10.30.3"
        },
        {
          "name": "github.com/go-webauthn/webauthn",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.17.4"
        },
        {
          "name": "github.com/golang-jwt/jwt/v5",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v5.3.1"
        },
        {
          "name": "github.com/google/uuid",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.6.0"
        },
        {
          "name": "github.com/invopop/jsonschema",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.14.0"
        },
        {
          "name": "github.com/pquerna/otp",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.5.0"
        },
        {
          "name": "github.com/prometheus/client_golang",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.23.2"
        },
        {
          "name": "github.com/prometheus/client_model",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.6.2"
        },
        {
          "name": "github.com/rivo/tview",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.42.0"
        },
        {
          "name": "github.com/trustelem/zxcvbn",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.1"
        },
        {
          "name": "golang.org/x/crypto",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.53.0"
        },
        {
          "name": "golang.org/x/oauth2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.36.0"
        },
        {
          "name": "golang.org/x/time",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.15.0"
        },
        {
          "name": "gopkg.in/natefinch/lumberjack.v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.2.1"
        },
        {
          "name": "gopkg.in/yaml.v3",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v3.0.1"
        },
        {
          "name": "modernc.org/sqlite",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.53.0"
        },
        {
          "name": "@fontsource-variable/inter",
          "manifest": "ui/package.json",
          "ecosystem": "npm",
          "version_constraint": "5.2.8"
        },
        {
          "name": "@fontsource-variable/jetbrains-mono",
          "manifest": "ui/package.json",
          "ecosystem": "npm",
          "version_constraint": "5.2.8"
        },
        {
          "name": "@hookform/resolvers",
          "manifest": "ui/package.json",
          "ecosystem": "npm",
          "version_constraint": "5.4.0"
        },
        {
          "name": "@tailwindcss/postcss",
          "manifest": "ui/package.json",
          "ecosystem": "npm",
          "version_constraint": "4.3.2"
        },
        {
          "name": "@tanstack/react-query",
          "manifest": "ui/package.json",
          "ecosystem": "npm",
          "version_constraint": "5.101.2"
        },
        {
          "name": "cmdk",
          "manifest": "ui/package.json",
          "ecosystem": "npm",
          "version_constraint": "1.1.1"
        },
        {
          "name": "i18next",
          "manifest": "ui/package.json",
          "ecosystem": "npm",
          "version_constraint": "26.3.4"
        },
        {
          "name": "i18next-browser-languagedetector",
          "manifest": "ui/package.json",
          "ecosystem": "npm",
          "version_constraint": "8.2.1"
        },
        {
          "name": "immer",
          "manifest": "ui/package.json",
          "ecosystem": "npm",
          "version_constraint": "11.1.11"
        },
        {
          "name": "lucide-react",
          "manifest": "ui/package.json",
          "ecosystem": "npm",
          "version_constraint": "1.23.0"
        },
        {
          "name": "react",
          "manifest": "ui/package.json",
          "ecosystem": "npm",
          "version_constraint": "19.2.7"
        },
        {
          "name": "react-dom",
          "manifest": "ui/package.json",
          "ecosystem": "npm",
          "version_constraint": "19.2.7"
        },
        {
          "name": "react-hook-form",
          "manifest": "ui/package.json",
          "ecosystem": "npm",
          "version_constraint": "7.81.0"
        },
        {
          "name": "react-i18next",
          "manifest": "ui/package.json",
          "ecosystem": "npm",
          "version_constraint": "17.0.8"
        },
        {
          "name": "react-router-dom",
          "manifest": "ui/package.json",
          "ecosystem": "npm",
          "version_constraint": "7.18.1"
        },
        {
          "name": "tailwind-merge",
          "manifest": "ui/package.json",
          "ecosystem": "npm",
          "version_constraint": "3.6.0"
        },
        {
          "name": "tailwindcss",
          "manifest": "ui/package.json",
          "ecosystem": "npm",
          "version_constraint": "4.3.2"
        },
        {
          "name": "valibot",
          "manifest": "ui/package.json",
          "ecosystem": "npm",
          "version_constraint": "1.4.2"
        },
        {
          "name": "zustand",
          "manifest": "ui/package.json",
          "ecosystem": "npm",
          "version_constraint": "5.0.14"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "github.com/gdamore/tcell/v2",
            "direct": true,
            "version": "v2.13.10",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-playground/validator/v10",
            "direct": true,
            "version": "v10.30.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-webauthn/webauthn",
            "direct": true,
            "version": "v0.17.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/golang-jwt/jwt/v5",
            "direct": true,
            "version": "v5.3.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/google/uuid",
            "direct": true,
            "version": "v1.6.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/invopop/jsonschema",
            "direct": true,
            "version": "v0.14.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/mustardseednetworks/foundation",
            "direct": true,
            "version": "v0.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/pquerna/otp",
            "direct": true,
            "version": "v1.5.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/prometheus/client_golang",
            "direct": true,
            "version": "v1.23.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/prometheus/client_model",
            "direct": true,
            "version": "v0.6.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/rivo/tview",
            "direct": true,
            "version": "v0.42.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/trustelem/zxcvbn",
            "direct": true,
            "version": "v1.0.1",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/crypto",
            "direct": true,
            "version": "v0.53.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/oauth2",
            "direct": true,
            "version": "v0.36.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/time",
            "direct": true,
            "version": "v0.15.0",
            "ecosystem": "go"
          },
          {
            "name": "gopkg.in/natefinch/lumberjack.v2",
            "direct": true,
            "version": "v2.2.1",
            "ecosystem": "go"
          },
          {
            "name": "gopkg.in/yaml.v3",
            "direct": true,
            "version": "v3.0.1",
            "ecosystem": "go"
          },
          {
            "name": "modernc.org/sqlite",
            "direct": true,
            "version": "v1.53.0",
            "ecosystem": "go"
          },
          {
            "name": "@fontsource-variable/inter",
            "direct": true,
            "version": "5.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "@fontsource-variable/jetbrains-mono",
            "direct": true,
            "version": "5.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "@hookform/resolvers",
            "direct": true,
            "version": "5.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/postcss",
            "direct": true,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tanstack/react-query",
            "direct": true,
            "version": "5.101.2",
            "ecosystem": "npm"
          },
          {
            "name": "cmdk",
            "direct": true,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "i18next",
            "direct": true,
            "version": "26.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "i18next-browser-languagedetector",
            "direct": true,
            "version": "8.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "immer",
            "direct": true,
            "version": "11.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "lucide-react",
            "direct": true,
            "version": "1.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "react",
            "direct": true,
            "version": "19.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "react-dom",
            "direct": true,
            "version": "19.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "react-hook-form",
            "direct": true,
            "version": "7.81.0",
            "ecosystem": "npm"
          },
          {
            "name": "react-i18next",
            "direct": true,
            "version": "17.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "react-router-dom",
            "direct": true,
            "version": "7.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "tailwind-merge",
            "direct": true,
            "version": "3.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "tailwindcss",
            "direct": true,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "valibot",
            "direct": true,
            "version": "1.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "zustand",
            "direct": true,
            "version": "5.0.14",
            "ecosystem": "npm"
          },
          {
            "name": "cloud.google.com/go/compute/metadata",
            "direct": false,
            "version": "v0.9.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/bahlo/generic-list-go",
            "direct": false,
            "version": "v0.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/beorn7/perks",
            "direct": false,
            "version": "v1.0.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/boombuler/barcode",
            "direct": false,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/buger/jsonparser",
            "direct": false,
            "version": "v1.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/cespare/xxhash/v2",
            "direct": false,
            "version": "v2.3.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/dlclark/regexp2",
            "direct": false,
            "version": "v1.12.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/dustin/go-humanize",
            "direct": false,
            "version": "v1.0.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/fxamacker/cbor/v2",
            "direct": false,
            "version": "v2.9.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/gabriel-vasile/mimetype",
            "direct": false,
            "version": "v1.4.13",
            "ecosystem": "go"
          },
          {
            "name": "github.com/gdamore/encoding",
            "direct": false,
            "version": "v1.0.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-playground/locales",
            "direct": false,
            "version": "v0.14.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-playground/universal-translator",
            "direct": false,
            "version": "v0.18.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-viper/mapstructure/v2",
            "direct": false,
            "version": "v2.5.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-webauthn/x",
            "direct": false,
            "version": "v0.2.6",
            "ecosystem": "go"
          },
          {
            "name": "github.com/google/go-tpm",
            "direct": false,
            "version": "v0.9.8",
            "ecosystem": "go"
          },
          {
            "name": "github.com/google/go-tpm-tools",
            "direct": false,
            "version": "v0.4.9",
            "ecosystem": "go"
          },
          {
            "name": "github.com/google/pprof",
            "direct": false,
            "version": "v0.0.0-20260604005048-7023385849c0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/kr/text",
            "direct": false,
            "version": "v0.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/leodido/go-urn",
            "direct": false,
            "version": "v1.4.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/lucasb-eyer/go-colorful",
            "direct": false,
            "version": "v1.4.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/mattn/go-isatty",
            "direct": false,
            "version": "v0.0.22",
            "ecosystem": "go"
          },
          {
            "name": "github.com/munnerz/goautoneg",
            "direct": false,
            "version": "v0.0.0-20191010083416-a7dc8b61c822",
            "ecosystem": "go"
          },
          {
            "name": "github.com/ncruces/go-strftime",
            "direct": false,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/pb33f/ordered-map/v2",
            "direct": false,
            "version": "v2.3.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/philhofer/fwd",
            "direct": false,
            "version": "v1.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/prometheus/common",
            "direct": false,
            "version": "v0.69.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/prometheus/procfs",
            "direct": false,
            "version": "v0.21.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/remyoudompheng/bigfft",
            "direct": false,
            "version": "v0.0.0-20230129092748-24d4a6f8daec",
            "ecosystem": "go"
          },
          {
            "name": "github.com/rivo/uniseg",
            "direct": false,
            "version": "v0.4.7",
            "ecosystem": "go"
          },
          {
            "name": "github.com/rogpeppe/go-internal",
            "direct": false,
            "version": "v1.15.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/test-go/testify",
            "direct": false,
            "version": "v1.1.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/tinylib/msgp",
            "direct": false,
            "version": "v1.6.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/x448/float16",
            "direct": false,
            "version": "v0.8.4",
            "ecosystem": "go"
          },
          {
            "name": "go.yaml.in/yaml/v4",
            "direct": false,
            "version": "v4.0.0-rc.6",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/net",
            "direct": false,
            "version": "v0.56.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/sys",
            "direct": false,
            "version": "v0.46.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/term",
            "direct": false,
            "version": "v0.44.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/text",
            "direct": false,
            "version": "v0.39.0",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/protobuf",
            "direct": false,
            "version": "v1.36.11",
            "ecosystem": "go"
          },
          {
            "name": "modernc.org/ccgo/v4",
            "direct": false,
            "version": "v4.34.6",
            "ecosystem": "go"
          },
          {
            "name": "modernc.org/gc/v3",
            "direct": false,
            "version": "v3.1.5",
            "ecosystem": "go"
          },
          {
            "name": "modernc.org/libc",
            "direct": false,
            "version": "v1.73.5",
            "ecosystem": "go"
          },
          {
            "name": "modernc.org/mathutil",
            "direct": false,
            "version": "v1.7.1",
            "ecosystem": "go"
          },
          {
            "name": "modernc.org/memory",
            "direct": false,
            "version": "v1.11.0",
            "ecosystem": "go"
          },
          {
            "name": "@adobe/css-tools",
            "direct": false,
            "version": "4.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "@alloc/quick-lru",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@apidevtools/json-schema-ref-parser",
            "direct": false,
            "version": "11.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "@asamuzakjp/css-color",
            "direct": false,
            "version": "5.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "@asamuzakjp/dom-selector",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@asamuzakjp/generational-cache",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@asamuzakjp/nwsapi",
            "direct": false,
            "version": "2.3.9",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/code-frame",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/compat-data",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/core",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/generator",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-compilation-targets",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-globals",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-imports",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-transforms",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-option",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helpers",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/runtime",
            "direct": false,
            "version": "7.29.2",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/template",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/traverse",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@bcoe/v8-coverage",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@biomejs/biome",
            "direct": false,
            "version": "2.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "@biomejs/cli-darwin-arm64",
            "direct": false,
            "version": "2.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "@biomejs/cli-darwin-x64",
            "direct": false,
            "version": "2.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "@biomejs/cli-linux-arm64",
            "direct": false,
            "version": "2.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "@biomejs/cli-linux-arm64-musl",
            "direct": false,
            "version": "2.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "@biomejs/cli-linux-x64",
            "direct": false,
            "version": "2.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "@biomejs/cli-linux-x64-musl",
            "direct": false,
            "version": "2.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "@biomejs/cli-win32-arm64",
            "direct": false,
            "version": "2.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "@biomejs/cli-win32-x64",
            "direct": false,
            "version": "2.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "@bramus/specificity",
            "direct": false,
            "version": "2.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@chromatic-com/storybook",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/cli",
            "direct": false,
            "version": "21.2.0",
            "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.0",
            "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": "2.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@conventional-changelog/template",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/color-helpers",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-calc",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-color-parser",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-parser-algorithms",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-syntax-patches-for-csstree",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-tokenizer",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/core",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/core",
            "direct": false,
            "version": "1.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/runtime",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/runtime",
            "direct": false,
            "version": "1.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/wasi-threads",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/wasi-threads",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/aix-ppc64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ia32",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-loong64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-mips64el",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ppc64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-riscv64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-s390x",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openharmony-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/sunos-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-ia32",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@exodus/bytes",
            "direct": false,
            "version": "1.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "@joshwooding/vite-plugin-react-docgen-typescript",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/gen-mapping",
            "direct": false,
            "version": "0.3.13",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/remapping",
            "direct": false,
            "version": "2.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/resolve-uri",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.31",
            "ecosystem": "npm"
          },
          {
            "name": "@jsdevtools/ono",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@mdx-js/react",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/wasm-runtime",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "@neoconfetti/react",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-android-arm-eabi",
            "direct": false,
            "version": "0.127.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-android-arm64",
            "direct": false,
            "version": "0.127.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-darwin-arm64",
            "direct": false,
            "version": "0.127.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-darwin-x64",
            "direct": false,
            "version": "0.127.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-freebsd-x64",
            "direct": false,
            "version": "0.127.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-linux-arm-gnueabihf",
            "direct": false,
            "version": "0.127.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-linux-arm-musleabihf",
            "direct": false,
            "version": "0.127.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-linux-arm64-gnu",
            "direct": false,
            "version": "0.127.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-linux-arm64-musl",
            "direct": false,
            "version": "0.127.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-linux-ppc64-gnu",
            "direct": false,
            "version": "0.127.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-linux-riscv64-gnu",
            "direct": false,
            "version": "0.127.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-linux-riscv64-musl",
            "direct": false,
            "version": "0.127.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-linux-s390x-gnu",
            "direct": false,
            "version": "0.127.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-linux-x64-gnu",
            "direct": false,
            "version": "0.127.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-linux-x64-musl",
            "direct": false,
            "version": "0.127.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-openharmony-arm64",
            "direct": false,
            "version": "0.127.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-wasm32-wasi",
            "direct": false,
            "version": "0.127.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-win32-arm64-msvc",
            "direct": false,
            "version": "0.127.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-win32-ia32-msvc",
            "direct": false,
            "version": "0.127.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-win32-x64-msvc",
            "direct": false,
            "version": "0.127.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-project/types",
            "direct": false,
            "version": "0.127.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-project/types",
            "direct": false,
            "version": "0.138.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-resolver/binding-android-arm-eabi",
            "direct": false,
            "version": "11.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-resolver/binding-android-arm64",
            "direct": false,
            "version": "11.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-resolver/binding-darwin-arm64",
            "direct": false,
            "version": "11.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-resolver/binding-darwin-x64",
            "direct": false,
            "version": "11.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-resolver/binding-freebsd-x64",
            "direct": false,
            "version": "11.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-resolver/binding-linux-arm-gnueabihf",
            "direct": false,
            "version": "11.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-resolver/binding-linux-arm-musleabihf",
            "direct": false,
            "version": "11.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-resolver/binding-linux-arm64-gnu",
            "direct": false,
            "version": "11.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-resolver/binding-linux-arm64-musl",
            "direct": false,
            "version": "11.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-resolver/binding-linux-ppc64-gnu",
            "direct": false,
            "version": "11.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-resolver/binding-linux-riscv64-gnu",
            "direct": false,
            "version": "11.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-resolver/binding-linux-riscv64-musl",
            "direct": false,
            "version": "11.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-resolver/binding-linux-s390x-gnu",
            "direct": false,
            "version": "11.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-resolver/binding-linux-x64-gnu",
            "direct": false,
            "version": "11.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-resolver/binding-linux-x64-musl",
            "direct": false,
            "version": "11.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-resolver/binding-openharmony-arm64",
            "direct": false,
            "version": "11.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-resolver/binding-wasm32-wasi",
            "direct": false,
            "version": "11.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-resolver/binding-win32-arm64-msvc",
            "direct": false,
            "version": "11.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-resolver/binding-win32-ia32-msvc",
            "direct": false,
            "version": "11.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-resolver/binding-win32-x64-msvc",
            "direct": false,
            "version": "11.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@playwright/test",
            "direct": false,
            "version": "1.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/primitive",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-compose-refs",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-context",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-dialog",
            "direct": false,
            "version": "1.1.15",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-dismissable-layer",
            "direct": false,
            "version": "1.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-focus-guards",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-focus-scope",
            "direct": false,
            "version": "1.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-id",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-portal",
            "direct": false,
            "version": "1.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-presence",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-primitive",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-primitive",
            "direct": false,
            "version": "2.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-slot",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-slot",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-use-callback-ref",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-use-controllable-state",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-use-effect-event",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-use-escape-keydown",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-use-layout-effect",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-android-arm64",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-arm64",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-x64",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-freebsd-x64",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-gnu",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-musl",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-ppc64-gnu",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-s390x-gnu",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-gnu",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-musl",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-openharmony-arm64",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-wasm32-wasi",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-arm64-msvc",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-x64-msvc",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/pluginutils",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/pluginutils",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@simple-libs/child-process-utils",
            "direct": false,
            "version": "1.0.2",
            "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": "@standard-schema/spec",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@standard-schema/utils",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@storybook/addon-a11y",
            "direct": false,
            "version": "10.4.6",
            "ecosystem": "npm"
          },
          {
            "name": "@storybook/addon-docs",
            "direct": false,
            "version": "10.4.6",
            "ecosystem": "npm"
          },
          {
            "name": "@storybook/addon-onboarding",
            "direct": false,
            "version": "10.4.6",
            "ecosystem": "npm"
          },
          {
            "name": "@storybook/addon-vitest",
            "direct": false,
            "version": "10.4.6",
            "ecosystem": "npm"
          },
          {
            "name": "@storybook/builder-vite",
            "direct": false,
            "version": "10.4.6",
            "ecosystem": "npm"
          },
          {
            "name": "@storybook/csf-plugin",
            "direct": false,
            "version": "10.4.6",
            "ecosystem": "npm"
          },
          {
            "name": "@storybook/global",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@storybook/icons",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@storybook/react",
            "direct": false,
            "version": "10.4.6",
            "ecosystem": "npm"
          },
          {
            "name": "@storybook/react-dom-shim",
            "direct": false,
            "version": "10.4.6",
            "ecosystem": "npm"
          },
          {
            "name": "@storybook/react-vite",
            "direct": false,
            "version": "10.4.6",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/node",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-android-arm64",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-darwin-arm64",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-darwin-x64",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-freebsd-x64",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-linux-arm-gnueabihf",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-linux-arm64-gnu",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-linux-arm64-musl",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-linux-x64-gnu",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-linux-x64-musl",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-wasm32-wasi",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-win32-arm64-msvc",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-win32-x64-msvc",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tanstack/query-core",
            "direct": false,
            "version": "5.101.2",
            "ecosystem": "npm"
          },
          {
            "name": "@testing-library/dom",
            "direct": false,
            "version": "10.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "@testing-library/jest-dom",
            "direct": false,
            "version": "6.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@testing-library/react",
            "direct": false,
            "version": "16.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@testing-library/user-event",
            "direct": false,
            "version": "14.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "@tybys/wasm-util",
            "direct": false,
            "version": "0.10.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/aria-query",
            "direct": false,
            "version": "5.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/babel__core",
            "direct": false,
            "version": "7.20.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/babel__generator",
            "direct": false,
            "version": "7.27.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/babel__template",
            "direct": false,
            "version": "7.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/babel__traverse",
            "direct": false,
            "version": "7.28.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/chai",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/deep-eql",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/doctrine",
            "direct": false,
            "version": "0.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@types/json-schema",
            "direct": false,
            "version": "7.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "@types/lodash",
            "direct": false,
            "version": "4.17.24",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mdx",
            "direct": false,
            "version": "2.0.13",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "26.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/react",
            "direct": false,
            "version": "19.2.17",
            "ecosystem": "npm"
          },
          {
            "name": "@types/react-dom",
            "direct": false,
            "version": "19.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/resolve",
            "direct": false,
            "version": "1.20.6",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript/native-preview",
            "direct": false,
            "version": "7.0.0-dev.20260706.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript/native-preview-darwin-arm64",
            "direct": false,
            "version": "7.0.0-dev.20260706.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript/native-preview-darwin-x64",
            "direct": false,
            "version": "7.0.0-dev.20260706.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript/native-preview-linux-arm",
            "direct": false,
            "version": "7.0.0-dev.20260706.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript/native-preview-linux-arm64",
            "direct": false,
            "version": "7.0.0-dev.20260706.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript/native-preview-linux-x64",
            "direct": false,
            "version": "7.0.0-dev.20260706.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript/native-preview-win32-arm64",
            "direct": false,
            "version": "7.0.0-dev.20260706.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript/native-preview-win32-x64",
            "direct": false,
            "version": "7.0.0-dev.20260706.1",
            "ecosystem": "npm"
          },
          {
            "name": "@vitejs/plugin-react",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/coverage-v8",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/expect",
            "direct": false,
            "version": "3.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/expect",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/mocker",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/pretty-format",
            "direct": false,
            "version": "3.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/pretty-format",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/runner",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/snapshot",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/spy",
            "direct": false,
            "version": "3.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/spy",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/utils",
            "direct": false,
            "version": "3.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/utils",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@webcontainer/env",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.17.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": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "6.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "aria-hidden",
            "direct": false,
            "version": "1.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "aria-query",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "assertion-error",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ast-types",
            "direct": false,
            "version": "0.16.1",
            "ecosystem": "npm"
          },
          {
            "name": "ast-v8-to-istanbul",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "axe-core",
            "direct": false,
            "version": "4.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "baseline-browser-mapping",
            "direct": false,
            "version": "2.10.42",
            "ecosystem": "npm"
          },
          {
            "name": "bidi-js",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "browserslist",
            "direct": false,
            "version": "4.28.5",
            "ecosystem": "npm"
          },
          {
            "name": "bundle-name",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "callsites",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "caniuse-lite",
            "direct": false,
            "version": "1.0.30001802",
            "ecosystem": "npm"
          },
          {
            "name": "chai",
            "direct": false,
            "version": "5.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "chai",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "check-error",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "chromatic",
            "direct": false,
            "version": "16.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "cli-cursor",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cli-truncate",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "9.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "conventional-changelog-angular",
            "direct": false,
            "version": "9.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "conventional-changelog-conventionalcommits",
            "direct": false,
            "version": "10.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "conventional-commits-parser",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cookie",
            "direct": false,
            "version": "1.1.1",
            "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": "css-tree",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "css.escape",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "csstype",
            "direct": false,
            "version": "3.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "data-urls",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "decimal.js",
            "direct": false,
            "version": "10.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "deep-eql",
            "direct": false,
            "version": "5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "default-browser",
            "direct": false,
            "version": "5.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "default-browser-id",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "define-lazy-prop",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dequal",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "detect-libc",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "detect-node-es",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "doctrine",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dom-accessibility-api",
            "direct": false,
            "version": "0.5.16",
            "ecosystem": "npm"
          },
          {
            "name": "dom-accessibility-api",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "electron-to-chromium",
            "direct": false,
            "version": "1.5.387",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "10.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "empathic",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "enhanced-resolve",
            "direct": false,
            "version": "5.21.6",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "8.0.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-errors",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-module-lexer",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-toolkit",
            "direct": false,
            "version": "1.49.0",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "escalade",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "esprima",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "esutils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "eventemitter3",
            "direct": false,
            "version": "5.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "expect-type",
            "direct": false,
            "version": "1.3.0",
            "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": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "function-bind",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "gensync",
            "direct": false,
            "version": "1.0.0-beta.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-caller-file",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "get-east-asian-width",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-east-asian-width",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-nonce",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "git-raw-commits",
            "direct": false,
            "version": "5.0.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.11",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "hasown",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "html-encoding-sniffer",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "html-escaper",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "html-parse-stringify",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "husky",
            "direct": false,
            "version": "9.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "import-fresh",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "indent-string",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ini",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-arrayish",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-core-module",
            "direct": false,
            "version": "2.16.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-docker",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-extglob",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-glob",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-in-ssh",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-inside-container",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-plain-obj",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-potential-custom-element-name",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-wsl",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-coverage",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-report",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-reports",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "jiti",
            "direct": false,
            "version": "2.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "jiti",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "10.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsdom",
            "direct": false,
            "version": "29.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "jsesc",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-parse-even-better-errors",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-to-typescript",
            "direct": false,
            "version": "15.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "2.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "jsonfile",
            "direct": false,
            "version": "6.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-android-arm64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-arm64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-x64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-freebsd-x64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-gnu",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-musl",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-gnu",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-musl",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-arm64-msvc",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-x64-msvc",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lines-and-columns",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "lint-staged",
            "direct": false,
            "version": "17.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "listr2",
            "direct": false,
            "version": "10.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "lodash",
            "direct": false,
            "version": "4.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "log-update",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "loupe",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "11.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "lz-string",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.21",
            "ecosystem": "npm"
          },
          {
            "name": "magicast",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "make-dir",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdn-data",
            "direct": false,
            "version": "2.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "meow",
            "direct": false,
            "version": "13.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "meow",
            "direct": false,
            "version": "14.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-function",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "min-indent",
            "direct": false,
            "version": "1.0.1",
            "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": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.12",
            "ecosystem": "npm"
          },
          {
            "name": "node-releases",
            "direct": false,
            "version": "2.0.50",
            "ecosystem": "npm"
          },
          {
            "name": "obug",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "onetime",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "open",
            "direct": false,
            "version": "10.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "open",
            "direct": false,
            "version": "11.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "oxc-parser",
            "direct": false,
            "version": "0.127.0",
            "ecosystem": "npm"
          },
          {
            "name": "oxc-resolver",
            "direct": false,
            "version": "11.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "parent-module",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse-json",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse5",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-parse",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "path-scurry",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "pathe",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "pathval",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "playwright",
            "direct": false,
            "version": "1.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "playwright-core",
            "direct": false,
            "version": "1.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.16",
            "ecosystem": "npm"
          },
          {
            "name": "powershell-utils",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "prettier",
            "direct": false,
            "version": "3.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "pretty-format",
            "direct": false,
            "version": "27.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "react-docgen",
            "direct": false,
            "version": "8.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "react-docgen-typescript",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "react-is",
            "direct": false,
            "version": "17.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "react-remove-scroll",
            "direct": false,
            "version": "2.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "react-remove-scroll-bar",
            "direct": false,
            "version": "2.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "react-router",
            "direct": false,
            "version": "7.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "react-style-singleton",
            "direct": false,
            "version": "2.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "recast",
            "direct": false,
            "version": "0.23.11",
            "ecosystem": "npm"
          },
          {
            "name": "redent",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "require-from-string",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "resolve",
            "direct": false,
            "version": "1.22.12",
            "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": "restore-cursor",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "rfdc",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "rolldown",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "rollup-plugin-visualizer",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "run-applescript",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "saxes",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "scheduler",
            "direct": false,
            "version": "0.27.0",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "6.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.8.5",
            "ecosystem": "npm"
          },
          {
            "name": "set-cookie-parser",
            "direct": false,
            "version": "2.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "siginfo",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "slice-ansi",
            "direct": false,
            "version": "7.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "slice-ansi",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.7.6",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "stackback",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "std-env",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "storybook",
            "direct": false,
            "version": "10.4.6",
            "ecosystem": "npm"
          },
          {
            "name": "string-argv",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "8.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "7.1.2",
            "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-indent",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-indent",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-preserve-symlinks-flag",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "symbol-tree",
            "direct": false,
            "version": "3.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "tapable",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "tiny-invariant",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "tinybench",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "1.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": "tinyrainbow",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyrainbow",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyspy",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "tldts",
            "direct": false,
            "version": "7.0.30",
            "ecosystem": "npm"
          },
          {
            "name": "tldts-core",
            "direct": false,
            "version": "7.0.30",
            "ecosystem": "npm"
          },
          {
            "name": "tough-cookie",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "tr46",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ts-dedent",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "tsconfig-paths",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "undici",
            "direct": false,
            "version": "7.28.0",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "8.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "universalify",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "unplugin",
            "direct": false,
            "version": "2.3.11",
            "ecosystem": "npm"
          },
          {
            "name": "update-browserslist-db",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "use-callback-ref",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "use-sidecar",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "use-sync-external-store",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "8.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "void-elements",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "w3c-xmlserializer",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "webidl-conversions",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "webpack-virtual-modules",
            "direct": false,
            "version": "0.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-mimetype",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-url",
            "direct": false,
            "version": "16.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "why-is-node-running",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "10.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "9.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "ws",
            "direct": false,
            "version": "8.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "wsl-utils",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "wsl-utils",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "xml-name-validator",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "xmlchars",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "y18n",
            "direct": false,
            "version": "5.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yaml",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": false,
            "version": "18.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "22.0.0",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 610,
        "direct_count": 37,
        "indirect_count": 573
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 15,
        "merged_prs": 263,
        "open_issues": 20,
        "closed_ratio": 0.894,
        "closed_issues": 168,
        "closed_unmerged_prs": 65
      },
      "bus_factor": 1,
      "bot_contributors": 3,
      "top_contributors": [
        {
          "type": "User",
          "login": "krisarmstrong",
          "commits": 252,
          "avatar_url": "https://avatars.githubusercontent.com/u/712168?v=4"
        }
      ],
      "contributors_sampled": 1,
      "top_contributor_share": 1
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "ci.yml",
        "codeql.yml",
        "dead-code.yml",
        "label-sync.yml",
        "labeler.yml",
        "license-check.yml",
        "pr-body-lint.yml",
        "release-please.yml",
        "release.yml",
        "scorecard.yml",
        "title-lint.yml",
        "todo-tracker.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        ".golangci.yml",
        "biome.json"
      ],
      "has_editorconfig": true,
      "has_linter_config": true,
      "has_precommit_config": true
    },
    "security_signals": {
      "lockfiles": [
        "go.sum",
        "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": null,
            "reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "30 out of 30 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/27 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 3,
            "reason": "project has 1 contributing companies or organizations -- score normalized to 3",
            "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": 10,
            "reason": "project is fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 9,
            "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 30 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": 8,
            "reason": "dependency not pinned by hash detected -- score normalized to 8",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 10,
            "reason": "SAST tool is run on all commits",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 10,
            "reason": "security policy file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": 10,
            "reason": "5 out of the last 5 releases have a total of 5 signed artifacts.",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 4,
            "reason": "6 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "49b93e675321ed9ca20ae9fc97673e3a666532c2",
        "ran_at": "2026-07-24T18:37:05Z",
        "aggregate_score": 7.3,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": true,
      "has_security_policy": true,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-21T11:03:17Z",
      "oldest_open_prs": [
        {
          "number": 458,
          "created_at": "2026-06-22T10:34:20Z",
          "last_comment_at": "2026-07-10T14:41:53Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 459,
          "created_at": "2026-06-22T10:34:30Z",
          "last_comment_at": "2026-07-10T14:41:59Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 464,
          "created_at": "2026-06-29T10:34:14Z",
          "last_comment_at": "2026-07-10T14:41:52Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 465,
          "created_at": "2026-06-29T10:34:30Z",
          "last_comment_at": "2026-07-10T14:46:23Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 467,
          "created_at": "2026-06-29T19:20:05Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 471,
          "created_at": "2026-07-06T10:34:25Z",
          "last_comment_at": "2026-07-10T14:43:49Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 475,
          "created_at": "2026-07-06T10:34:57Z",
          "last_comment_at": "2026-07-10T14:46:59Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 487,
          "created_at": "2026-07-06T19:35:06Z",
          "last_comment_at": "2026-07-06T19:38:54Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 524,
          "created_at": "2026-07-13T10:34:27Z",
          "last_comment_at": "2026-07-13T10:34:27Z",
          "last_comment_author": "dependabot"
        },
        {
          "number": 526,
          "created_at": "2026-07-13T10:35:00Z",
          "last_comment_at": "2026-07-13T10:35:01Z",
          "last_comment_author": "dependabot"
        },
        {
          "number": 527,
          "created_at": "2026-07-13T10:35:22Z",
          "last_comment_at": "2026-07-13T10:35:23Z",
          "last_comment_author": "dependabot"
        },
        {
          "number": 528,
          "created_at": "2026-07-13T10:35:30Z",
          "last_comment_at": "2026-07-13T10:35:31Z",
          "last_comment_author": "dependabot"
        },
        {
          "number": 530,
          "created_at": "2026-07-13T10:37:12Z",
          "last_comment_at": "2026-07-13T10:37:13Z",
          "last_comment_author": "dependabot"
        },
        {
          "number": 531,
          "created_at": "2026-07-20T10:34:52Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 532,
          "created_at": "2026-07-20T10:38:00Z",
          "last_comment_at": "2026-07-20T10:38:01Z",
          "last_comment_author": "dependabot"
        }
      ],
      "last_merged_pr_at": "2026-07-10T17:11:58Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 245,
          "created_at": "2026-05-22T04:52:24Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 253,
          "created_at": "2026-05-22T23:33:49Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 267,
          "created_at": "2026-05-24T06:24:32Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 268,
          "created_at": "2026-05-24T06:31:09Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 320,
          "created_at": "2026-05-27T03:44:22Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 325,
          "created_at": "2026-05-27T14:03:05Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 341,
          "created_at": "2026-05-27T19:40:43Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 344,
          "created_at": "2026-05-27T19:42:35Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 365,
          "created_at": "2026-05-29T17:49:58Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 450,
          "created_at": "2026-06-16T14:12:03Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 479,
          "created_at": "2026-07-06T17:37:20Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 480,
          "created_at": "2026-07-06T18:15:08Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 482,
          "created_at": "2026-07-06T18:38:13Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 484,
          "created_at": "2026-07-06T19:11:15Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 486,
          "created_at": "2026-07-06T19:35:03Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 488,
          "created_at": "2026-07-06T19:50:51Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 490,
          "created_at": "2026-07-06T20:41:43Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 493,
          "created_at": "2026-07-07T00:44:54Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 495,
          "created_at": "2026-07-08T16:47:32Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 511,
          "created_at": "2026-07-10T00:41:31Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/MustardSeedNetworks/stem",
    "host": "github.com",
    "name": "stem",
    "owner": "MustardSeedNetworks"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "good",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 70,
      "inputs": {
        "security": 76,
        "vitality": 84,
        "community": 41,
        "governance": 52,
        "engineering": 100
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "good",
        "name": "Vitality",
        "value": 84,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "good",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 73,
            "inputs": {
              "commits_last_year": 507,
              "human_commit_share": 0.9,
              "days_since_last_push": 4,
              "active_weeks_last_year": 13
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 4 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 4
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "13/52 weeks with commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 13
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "507 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 507
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 30 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": 100,
            "inputs": {
              "releases_count": 28,
              "latest_release_tag": "v0.24.0",
              "releases_from_tags": false,
              "days_since_latest_release": 14,
              "mean_days_between_releases": 5
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "28 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 28
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 14 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 14
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~5 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 5
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "5 out of the last 5 releases have a total of 5 signed artifacts.",
                "points": 10,
                "status": "met",
                "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": 14,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 14 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 14
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "at_risk",
        "name": "Community & Adoption",
        "value": 41,
        "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": "excellent",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 86,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "has_pull_request_template": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file present, not a recognized license",
                "points": 16.9,
                "status": "partial",
                "details": [
                  {
                    "code": "license_custom",
                    "params": {}
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 52,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 13,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 1,
              "top_contributor_share": 1
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 100% of commits",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "1 contributors",
                "points": 1.4,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 1 contributing companies or organizations -- score normalized to 3",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 72,
            "inputs": {
              "merged_prs": 263,
              "open_issues": 20,
              "closed_issues": 168,
              "issue_closed_ratio": 0.894,
              "closed_unmerged_prs": 65
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "89% of issues closed",
                "points": 41.8,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 89
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "263/328 decided PRs merged",
                "points": 30.7,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 263,
                      "decided": 328
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/27 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "at_risk",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 39,
            "inputs": {
              "followers": 1,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "MustardSeedNetworks",
              "public_repos": 6,
              "account_age_days": 47
            },
            "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 MustardSeedNetworks",
                "points": 2.2,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 1,
                      "login": "MustardSeedNetworks"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "6 public repos, account ~0 yr old",
                "points": 6.4,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 6
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 0
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "github.com/MustardSeedNetworks/stem"
              ],
              "ecosystems": "go",
              "any_deprecated": false,
              "min_days_since_publish": 14
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on go",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "go"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 14 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 14
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "104 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 104
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "excellent",
        "name": "Engineering Quality",
        "value": 100,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "excellent",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": true,
              "has_linter_config": true,
              "has_precommit_config": true
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "12 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 12
                    }
                  }
                ],
                "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": ".golangci.yml, biome.json",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".golangci.yml, biome.json"
                    }
                  }
                ],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 9.6,
                "status": "met",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 6.4,
                "status": "met",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "topics": [
                "af-xdp",
                "dpdk",
                "go",
                "mef",
                "network-testing",
                "network-tools",
                "performance-testing",
                "rfc2544",
                "tsn",
                "ieee-802-1qbv",
                "rfc6349",
                "y1564",
                "y1731"
              ],
              "has_wiki": true,
              "homepage": "https://mustardseednetworks.com/stem",
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://mustardseednetworks.com/stem",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "13 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 13
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "good",
        "name": "Security",
        "value": 76,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "good",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Branch-Protection, Packaging. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "branch_protection",
                    "packaging"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 73,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 7.3
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "30 out of 30 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/27 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 1 contributing companies or organizations -- score normalized to 3",
                "points": 0.8,
                "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 fuzzed",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.2,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 30 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 8",
                "points": 4,
                "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 detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "5 out of the last 5 releases have a total of 5 signed artifacts.",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "6 existing vulnerabilities detected",
                "points": 3,
                "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. Remaining weights renormalized. Matched 610 resolved dependencies against OSV. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 610
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 89,
            "inputs": {
              "source": "osv",
              "advisories": 6,
              "affected_packages": 6,
              "assessed_packages": 610,
              "unassessed_packages": 0,
              "affected_by_severity": "high 5, unknown 1",
              "direct_affected_packages": 1
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "1 affected: golang.org/x/crypto v0.53.0 (unknown)",
                "points": 26.6,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 1,
                      "packages": "golang.org/x/crypto v0.53.0 (unknown)"
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory has been public longer than 90 days",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "advisories_none_stale",
                    "params": {
                      "days": 90
                    }
                  }
                ],
                "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": 610,
              "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": 1
            },
            "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": 73,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 1,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "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": "90 of 90 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 90,
                      "sampled": 90
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "excellent",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 88,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "go.sum",
                "package-lock.json"
              ],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [
                "Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "ui/tsconfig.json"
              ],
              "agent_commit_share": 0,
              "toolchain_manifests": [
                "go.mod"
              ],
              "dependency_bot_commit_share": 0.08
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Makefile"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": ".golangci.yml, biome.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".golangci.yml, biome.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "ui/tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "ui/tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "8 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 8,
                      "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 8",
                "points": 8,
                "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": "Go",
              "largest_source_bytes": 116715,
              "source_files_sampled": 500,
              "oversized_source_files": 4
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Go (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Go"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "4/500 source files over 60KB",
                "points": 54.6,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 500,
                      "oversized": 4
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [],
  "report_type": "repository",
  "generated_at": "2026-07-24T18:37:23.487989Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/m/MustardSeedNetworks/stem.svg",
  "full_name": "MustardSeedNetworks/stem",
  "license_state": "custom",
  "license_spdx": null
}

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

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

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