Registro público
Informe de salud del softwareesquema 0.27.0 · métricas 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 · CLicencia propia★ 0 estrellas⑂ 0 forksdesde dic 2025Ver en GitHub ↗

MustardSeedNetworks/stem tiene un índice de salud de 70 sobre 100, lo que lo sitúa en la banda Bueno. Su puntuación más alta es Engineering Quality (100/100) y la más baja, Community & Adoption (41/100). Se actualizó por última vez hace 4 días. Una sola persona concentra la mayor parte del trabajo reciente.

70
global / 100
Bueno

Índice de salud del software

Las métricas se agrupan en categorías ponderadas sobre una escala de 1 a 100. El resultado global parte de su media; cuando la evidencia pública activa la Política de Jurisdicciones de Alto Riesgo, la calificación se ajusta y recibe el límite 49 (En riesgo). Preparación para IA queda fuera.

70
Excelente85-100Ejemplar; cumple prácticamente todos los criterios evaluados
Bueno70-84Saludable; carencias menores
Moderado50-69Aceptable con carencias notables; se recomienda revisión
En riesgo30-49Debilidades significativas; su adopción exige cautela
Crítico1-29Problemas graves (proyecto abandonado, un solo mantenedor, sin higiene)
VitalidadComunidad yAdopciónSostenibilidady GobernanzaCalidad deIngenieríaSeguridadPreparaciónpara IA

Perfil de puntuación

Cada eje es una categoría. La forma importa más que la media: un proyecto sano llena toda la figura, mientras que un perfil de picos y cráteres indica que la fortaleza en una dimensión enmascara el riesgo en otra.

Titularidad

MustardSeedNetworksOrganización
1 seguidor6 repositorios públicosdesde jun 2026

Este repositorio está respaldado por una organización: una custodia compartida y responsable que puede sobrevivir a cualquier mantenedor individual.

Ecosistemas de paquetes

RegistroPaqueteVersiónDescargas / mesVersionesÚltima publicación
Gogithub.com/MustardSeedNetworks/stemv0.24.0-104hace 14 días

Métricas por categoría

Vitalidad

¿Está vivo el proyecto: se escribe código y se publican versiones?

84Bueno · 22% del índice global
Cómo se puntúa
36/36Recencia de push — último push hace 4 días
9/36Cadencia de commits — 13/52 semanas con commits
18/18Volumen de commits — 507 commits en el último año
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 30 issue activity found in the last 90 days -- score normalized to 10
Datos de entrada utilizados
commits_last_year507
human_commit_share0,9
days_since_last_push4
active_weeks_last_year13
Cómo se puntúa
27/27Publica versiones — 28 versiones publicadas
36/36Recencia de las versiones — última versión hace 14 días
27/27Cadencia de publicación — una versión cada ~5 días
10/10OpenSSF Scorecard: Signed-Releases — 5 out of the last 5 releases have a total of 5 signed artifacts.
Datos de entrada utilizados
releases_count28
latest_release_tagv0.24.0
releases_from_tagsno
days_since_latest_release14
mean_days_between_releases5

Comunidad y Adopción

¿Tiene el proyecto usuarios, descargas, atención y unas condiciones acogedoras para quienes contribuyen?

41En riesgo · 18% del índice global
Cómo se puntúa
0/60Estrellas — 0 estrellas
0/25Forks — 0 forks
0/15Observadores — 1 observadores
Datos de entrada utilizados
forks0
stars0
watchers1
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Cómo se puntúa
22.5/22.5README
16.9/22.5Licencia — archivo de licencia presente, no es una licencia reconocida
18/18Guía CONTRIBUTING
13.5/13.5Código de conducta
0/7.2Plantilla de issues
6.3/6.3Plantilla de PR
Datos de entrada utilizados
has_readme
has_license
has_contributing
has_issue_templateno
has_code_of_conduct
has_pull_request_template

Sostenibilidad y Gobernanza

¿Sobrevivirá el proyecto a sus personas: factor bus, capacidad de respuesta, quién lo respalda y mantenimiento del paquete?

52Moderado · 24% del índice global
Cómo se puntúa
9/54Factor bus — la mitad de los commits recae en 1 contribuyente(s)
0/22.5Distribución de commits — el principal contribuyente firma el 100% de los commits
1.4/13.5Amplitud de contribuyentes — 1 contribuyentes
3/10OpenSSF Scorecard: Contributors — project has 1 contributing companies or organizations -- score normalized to 3
Datos de entrada utilizados
bus_factor1
contributors_sampled1
top_contributor_share1
Cómo se puntúa
41.8/46.8Resolución de issues — 89% de issues cerradas
30.7/38.3Aceptación de PR — 263/328 PR decididos fusionados
0/15OpenSSF Scorecard: Code-Review — Found 0/27 approved changesets -- score normalized to 0
Datos de entrada utilizados
merged_prs263
open_issues20
closed_issues168
issue_closed_ratio0,894
closed_unmerged_prs65
Cómo se puntúa
30/30Respaldo de la propiedad — propiedad de una organización
0/20Dominio verificado
2.2/25Alcance del propietario — 1 seguidores de MustardSeedNetworks
6.4/25Trayectoria — 6 repos públicos, cuenta de ~0 años
Datos de entrada utilizados
followers1
owner_typeOrganization
is_verified
owner_loginMustardSeedNetworks
public_repos6
account_age_days47
Cómo se puntúa
25/25Publicado y resoluble — 1 paquete(s) en go
35/35Recencia de publicación — última publicación hace 14 días
20/20Historial de versiones — 104 versiones en el registro
20/20No obsoleto — activo, ni obsoleto ni retirado
Datos de entrada utilizados
packagesgithub.com/MustardSeedNetworks/stem
ecosystemsgo
any_deprecatedno
min_days_since_publish14

Calidad de Ingeniería

¿Existen unas prácticas mínimas de ingeniería y documentación?

100Excelente · 20% del índice global
Cómo se puntúa
24/24Flujos de trabajo de CI — 12 flujo(s) de trabajo
24/24Pruebas presentes
16/16Configuración de linter — .golangci.yml, biome.json
9.6/9.6Hooks de pre-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
Datos de entrada utilizados
has_ci
has_tests
has_editorconfig
has_linter_config
has_precommit_config

Documentación

100Excelente
Cómo se puntúa
30/30README
25/25Directorio de documentación
15/15Sitio de documentación / página del proyecto — https://mustardseednetworks.com/stem
10/10Descripción del repositorio
10/10Topics — 13 topics
10/10Wiki
Datos de entrada utilizados
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

Seguridad

¿Son sólidas las prácticas visibles de seguridad y de cadena de suministro, sin exposición jurisdiccional de alto riesgo sin resolver?

76Bueno · 16% del índice global
Cómo se puntúa
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — sin datos
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.5Licencia — 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 — sin datos
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
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate7,3
Excluidos de la puntuación (sin datos o no aplicable): branch_protection, packaging. Los pesos restantes se han renormalizado.
Cómo se puntúa
26.6/35Dependencias directas libres de avisos conocidos — 1 afectados: golang.org/x/crypto v0.53.0 (unknown)
0/25Dependencias indirectas libres de avisos conocidos — el conjunto transitivo no es separable de las dependencias de desarrollo y prueba en este alcance
40/40Sin avisos pendientes — ningún aviso lleva público más de 90 días
Datos de entrada utilizados
sourceosv
advisories6
affected_packages6
assessed_packages610
unassessed_packages0
affected_by_severityhigh 5, unknown 1
direct_affected_packages1
Excluidos de la puntuación (sin datos o no aplicable): Dependencias indirectas libres de avisos conocidos. Los pesos restantes se han renormalizado. Se cotejaron 610 dependencias resueltas con OSV. Este repositorio no publica ningún paquete que el índice resuelva, por lo que se evaluó en su lugar el grafo de dependencias del repositorio. Ese grafo mezcla fijaciones de desarrollo y prueba con las dependencias distribuidas, de modo que solo se puntúan las dependencias declaradas en tiempo de ejecución; los hallazgos transitivos se informan como contexto y quedan excluidos de la puntuación. No se analiza la alcanzabilidad.

Preparación para IA

¿Hasta qué punto está el repositorio preparado para desarrollarse y mantenerse con agentes de codificación de IA? Es una insignia independiente y experimental — peso 0,0, de modo que se presenta por separado y no afecta a la puntuación de salud global.

73Bueno · 0% del índice global
Cómo se puntúa
0/45Instrucciones para agentes — sin CLAUDE.md / AGENTS.md / reglas de editor
0/15Documentación legible por máquinas (llms.txt)
40/40Historial de commits legible — 90 de 90 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share1
agent_instruction_files
agent_instruction_max_bytes
Cómo se puntúa
18/18Arranque con un solo comando — Makefile
22/22Pruebas automatizadas
11/11Configuración de lint / formato — .golangci.yml, biome.json
11/11Verificación estática de tipos — ui/tsconfig.json
10/10Entorno reproducible — lockfile
0/10Práctica demostrada con agentes — ningún commit con autoría de agente entre los últimos 100
8/8Mantenimiento automatizado — 8 de los últimos 100 commits son actualizaciones automáticas de dependencias
8/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 8
Datos de entrada utilizados
has_nixno
has_tests
lockfilesgo.sum, package-lock.json
has_dockerfileno
typed_language
bootstrap_filesMakefile
has_devcontainerno
has_linter_config
typecheck_configsui/tsconfig.json
agent_commit_share0
toolchain_manifestsgo.mod
dependency_bot_commit_share0,08
Cómo se puntúa
45/45Código verificable por tipos — Go (tipado estático)
54.6/55Tamaños de archivo manejables — 4/500 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languageGo
largest_source_bytes116.715
source_files_sampled500
oversized_source_files4

Datos clave

0estrellas de GitHub
1contribuidores
507commits en los últimos 12 meses
4días desde el último push
28versiones publicadas
1factor bus
20issues abiertas
Go, npmecosistemas de paquetes

Más detalle

OpenSSF Scorecard 7.3 / 10
7.3agregado

Evaluación de seguridad independiente y agnóstica en cuanto a herramientas, procedente del proyecto de código abierto OpenSSF Scorecard. Cada comprobación premia una práctica de seguridad, no la herramienta de un proveedor concreto. Las comprobaciones que Scorecard no pudo determinar se marcan como n/d y se excluyen de la puntuación de seguridad (nunca se cuentan como cero).Scorecard v5.5.0 · 2026-07-24 18:37 UTC

10Binary-Artifactsno binaries found in the repo
n/dBranch-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
n/dPackagingpackaging 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
Dependencias directas 37
RegistroPaqueteRestricción de versiónManifiesto
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
Todas las dependencias 610

Conjunto completo de dependencias resueltas según el grafo de dependencias de GitHub: 37 paquetes directos y 573 indirectos (transitivos). El cierre transitivo es completo cuando el repositorio incluye un lockfile.

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

Este repositorio no publica ningún paquete que el índice resuelva, así que se evaluó su propio grafo de dependencias — 610 paquetes, que incluyen también fijaciones de desarrollo y prueba que nunca se distribuyen: 6 tienen avisos conocidos, de los cuales 1 son directas.

PaqueteVersiónRelaciónGravedadAvisosCorregido en
brace-expansion5.0.6indirectaalta15.0.7
fast-uri3.1.3indirectaalta14.1.1
js-yaml4.2.0indirectaalta14.3.0
postcss8.5.16indirectaalta18.5.18
react-router7.18.1indirectaalta18.3.0
golang.org/x/cryptov0.53.0directadesconocida1

Un aviso significa que la versión registrada en el grafo de dependencias cae dentro del rango afectado de un aviso. No se analiza la alcanzabilidad, y el grafo incluye fijaciones de desarrollo y prueba: un hallazgo puede referirse al utillaje y no al software distribuido.

Informe JSON sin procesar legible por máquina
{
  "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
}

Las puntuaciones son señales, no garantías. Reflejan prácticas públicamente visibles en GitHub; no son una auditoría de código ni una garantía de seguridad.

Los datos ausentes se excluyen y los pesos se renormalizan; nunca se puntúan como cero. La metodología es versionada y abierta: métricas v1.13.0, esquema v0.27.0 — metodología completa · wiki de métricas.

Cómo se sitúa un resultado dentro del registro general: estadísticas agregadasGo.