Registro público
Informe de salud del softwareesquema 0.27.0 · métricas 1.13.0 · 2026-07-28 05:48 UTC

mavaali / daftari

An open-source, multi-user knowledge vault exposed to AI agents via an MCP server.

TypeScriptMIT★ 4 estrellas⑂ 0 forksdesde may 2026Ver en GitHub ↗

mavaali/daftari tiene un índice de salud de 63 sobre 100, lo que lo sitúa en la banda Moderado. Su puntuación más alta es Engineering Quality (80/100) y la más baja, Community & Adoption (43/100). Se actualizó por última vez hoy. Una sola persona concentra la mayor parte del trabajo reciente.

63
global / 100
Moderado

Í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.

63
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

Mihir WagleCuenta personal
7 seguidores21 repositorios públicosdesde jun 2018

Este repositorio pertenece a una cuenta personal. Un proyecto con un único propietario conlleva más riesgo de continuidad que uno respaldado por una organización.

Ecosistemas de paquetes

RegistroPaqueteVersiónDescargas / mesVersionesÚltima publicaciónEtiquetas
npmdaftari1.32.0125743hace 2 díasmcpknowledge-vaultmarkdownagents

Métricas por categoría

Vitalidad

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

77Bueno · 22% del índice global
Cómo se puntúa
36/36Recencia de push — último push hace 0 días
7.6/36Cadencia de commits — 11/52 semanas con commits
18/18Volumen de commits — 774 commits en el último año
0/10OpenSSF Scorecard: Maintained — project was created within the last 90 days. Please review its contents carefully
Datos de entrada utilizados
commits_last_year774
human_commit_share0,89
days_since_last_push0
active_weeks_last_year11
Cómo se puntúa
27/27Publica versiones — 37 versiones publicadas
36/36Recencia de las versiones — última versión hace 2 días
27/27Cadencia de publicación — una versión cada ~4,7 días
0/10OpenSSF Scorecard: Signed-Releases — sin datos
Datos de entrada utilizados
releases_count37
latest_release_tagv1.32.0
releases_from_tagsno
days_since_latest_release2
mean_days_between_releases4,7
Excluidos de la puntuación (sin datos o no aplicable): OpenSSF Scorecard: Signed-Releases. Los pesos restantes se han renormalizado.

Comunidad y Adopción

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

43En riesgo · 18% del índice global
Cómo se puntúa
7.7/60Estrellas — 4 estrellas
0/25Forks — 0 forks
0/15Observadores — 0 observadores
Datos de entrada utilizados
forks0
stars4
watchers0
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Cómo se puntúa
22.5/22.5README
22.5/22.5Licencia — licencia reconocida (MIT)
18/18Guía CONTRIBUTING
0/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_conductno
has_pull_request_template
Cómo se puntúa
41.3/80Descargas mensuales — 1257 descargas/mes en npm
0/20Dependientes en el registro — no lo informa este ecosistema
Datos de entrada utilizados
packagesdaftari
dependents
ecosystemsnpm
total_downloads
monthly_downloads1257
Excluidos de la puntuación (sin datos o no aplicable): Dependientes en el registro. Los pesos restantes se han renormalizado.

Sostenibilidad y Gobernanza

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

55Moderado · 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
2.7/13.5Amplitud de contribuyentes — 2 contribuyentes
0/10OpenSSF Scorecard: Contributors — project has 0 contributing companies or organizations -- score normalized to 0
Datos de entrada utilizados
bus_factor1
contributors_sampled2
top_contributor_share0,999
Cómo se puntúa
41.2/46.8Resolución de issues — 88% de issues cerradas
35.5/38.3Aceptación de PR — 218/235 PR decididos fusionados
0/15OpenSSF Scorecard: Code-Review — Found 0/27 approved changesets -- score normalized to 0
Datos de entrada utilizados
merged_prs218
open_issues8
closed_issues60
issue_closed_ratio0,882
closed_unmerged_prs17
Cómo se puntúa
10/30Respaldo de la propiedad — cuenta personal (usuario)
0/20Dominio verificado — no aplicable a cuentas de usuario
6.5/25Alcance del propietario — 7 seguidores de mavaali
21.8/25Trayectoria — 21 repos públicos, cuenta de ~8 años
Datos de entrada utilizados
followers7
owner_typeUser
is_verified
owner_loginmavaali
public_repos21
account_age_days2953
Excluidos de la puntuación (sin datos o no aplicable): Dominio verificado. Los pesos restantes se han renormalizado.
Cómo se puntúa
25/25Publicado y resoluble — 1 paquete(s) en npm
35/35Recencia de publicación — última publicación hace 2 días
20/20Historial de versiones — 43 versiones en el registro
20/20No obsoleto — activo, ni obsoleto ni retirado
Datos de entrada utilizados
packagesdaftari
ecosystemsnpm
any_deprecatedno
min_days_since_publish2

Calidad de Ingeniería

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

80Bueno · 20% del índice global
Cómo se puntúa
24/24Flujos de trabajo de CI — 9 flujo(s) de trabajo
24/24Pruebas presentes
16/16Configuración de linter — biome.json
0/9.6Hooks de pre-commit
0/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_editorconfigno
has_linter_config
has_precommit_configno
Cómo se puntúa
30/30README
25/25Directorio de documentación
0/15Sitio de documentación / página del proyecto
10/10Descripción del repositorio
0/10Topics
10/10Wiki
Datos de entrada utilizados
topics
has_wiki
homepage
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?

56Moderado · 16% del índice global
Cómo se puntúa
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
2.5/2.5CI-Tests — 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/2.5Contributors — project has 0 contributing companies or organizations -- score normalized to 0
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Licencia — license file detected
0/7.5Maintained — project was created within the last 90 days. Please review its contents carefully
5/5Packaging — packaging workflow detected
1.5/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 3
1.5/5SAST — SAST tool is not run on all commits -- score normalized to 3
5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — sin datos
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
5.2/7.5Vulnerabilities — 3 existing vulnerabilities detected
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated17
scorecard_versionv5.5.0
checks_inconclusive1
scorecard_aggregate4,9
Excluidos de la puntuación (sin datos o no aplicable): signed_releases. Los pesos restantes se han renormalizado.
Cómo se puntúa
35/35Dependencias directas libres de avisos conocidos — ninguna dependencia directa tiene un aviso conocido
7.5/25Dependencias indirectas libres de avisos conocidos — 3 afectados: adm-zip 0.5.18 (high 7.5), sharp 0.34.5 (high 7.3), @hono/node-server 1.19.15 (moderate 5.9)
40/40Sin avisos pendientes — ningún aviso lleva público más de 90 días
Datos de entrada utilizados
sourceosv
advisories3
affected_packages3
assessed_packages233
unassessed_packages0
affected_by_severityhigh 2, moderate 1
direct_affected_packages0
Se cotejó el cierre de dependencias en tiempo de ejecución de npm:daftari@1.32.0 —lo que arrastra la instalación del paquete publicado—: 233 paquetes. 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.

80Bueno · 0% del índice global
Cómo se puntúa
45/45Instrucciones para agentes — CLAUDE.md
0/15Documentación legible por máquinas (llms.txt)
40/40Historial de commits legible — 88 de 89 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share0,989
agent_instruction_filesCLAUDE.md
agent_instruction_max_bytes4740
Cómo se puntúa
0/18Arranque con un solo comando
22/22Pruebas automatizadas
11/11Configuración de lint / formato — biome.json
11/11Verificación estática de tipos — integrations/consensus-bench/tsconfig.json, integrations/contract-bench/tsconfig.json, integrations/recall-bench/tsconfig.json, packages/router/tsconfig.json, tsconfig.json
10/10Entorno reproducible — Dockerfile, lockfile
10/10Práctica demostrada con agentes — 57 de los últimos 100 commits con autoría o crédito de agente
8/8Mantenimiento automatizado — 11 de los últimos 100 commits son actualizaciones automáticas de dependencias
3/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 3
Datos de entrada utilizados
has_nixno
has_tests
lockfilespackage-lock.json
has_dockerfile
typed_language
bootstrap_files
has_devcontainerno
has_linter_config
typecheck_configsintegrations/consensus-bench/tsconfig.json, integrations/contract-bench/tsconfig.json, integrations/recall-bench/tsconfig.json, packages/router/tsconfig.json, tsconfig.json
agent_commit_share0,57
toolchain_manifests
dependency_bot_commit_share0,11
Cómo se puntúa
45/45Código verificable por tipos — TypeScript (tipado estático)
54.9/55Tamaños de archivo manejables — 1/500 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languageTypeScript
largest_source_bytes107.292
source_files_sampled500
oversized_source_files1
Cómo se puntúa
0/40Esquema de API (OpenAPI/GraphQL/proto)
20/20Servidor MCP
40/40Ejemplos ejecutables — examples
Datos de entrada utilizados
example_dirsexamples
has_mcp_signal
api_schema_files

Datos clave

4estrellas de GitHub
2contribuidores
774commits en los últimos 12 meses
0días desde el último push
37versiones publicadas
1factor bus
8issues abiertas
npmecosistemas de paquetes

Advertencias de recopilación de datos

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

Más detalle

OpenSSF Scorecard 4.9 / 10
4.9agregado

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-28 05:48 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
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
0Contributorsproject has 0 contributing companies or organizations -- score normalized to 0
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
0Maintainedproject was created within the last 90 days. Please review its contents carefully
10Packagingpackaging workflow detected
3Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 3
3SASTSAST tool is not run on all commits -- score normalized to 3
10Security-Policysecurity policy file detected
n/dSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
7Vulnerabilities3 existing vulnerabilities detected
Dependencias directas 10
RegistroPaqueteRestricción de versiónManifiesto
npm@anthropic-ai/sdk^0.110.0package.json
npm@huggingface/transformers^4.2.0package.json
npm@modelcontextprotocol/sdk^1.29.0package.json
npmbetter-sqlite3^12.10.0package.json
npmchokidar^4.0.3package.json
npmglob^13.0.6package.json
npmgray-matter^4.0.3package.json
npmjose^6.2.4package.json
npmjs-yaml^4.1.1package.json
npmsqlite-vec^0.1.9package.json
Todas las dependencias 409

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

RegistroPaqueteVersiónRelación
npm@anthropic-ai/sdk0.110.0directa
npm@huggingface/transformers4.2.0directa
npm@modelcontextprotocol/sdk1.29.0directa
npmbetter-sqlite312.11.1directa
npmchokidar4.0.3directa
npmglob13.0.6directa
npmgray-matter4.0.3directa
npmjose6.2.3directa
npmjose6.2.4directa
npmjs-yaml3.15.0directa
npmjs-yaml4.3.0directa
npmsqlite-vec0.1.9directa
npm@babel/runtime7.29.7indirecta
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@emnapi/core1.11.1indirecta
npm@emnapi/runtime1.11.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@hono/node-server1.19.15indirecta
npm@huggingface/jinja0.5.9indirecta
npm@huggingface/tokenizers0.1.3indirecta
npm@img/colour1.1.0indirecta
npm@img/sharp-darwin-arm640.34.5indirecta
npm@img/sharp-darwin-x640.34.5indirecta
npm@img/sharp-libvips-darwin-arm641.2.4indirecta
npm@img/sharp-libvips-darwin-x641.2.4indirecta
npm@img/sharp-libvips-linux-arm1.2.4indirecta
npm@img/sharp-libvips-linux-arm641.2.4indirecta
npm@img/sharp-libvips-linux-ppc641.2.4indirecta
npm@img/sharp-libvips-linux-riscv641.2.4indirecta
npm@img/sharp-libvips-linux-s390x1.2.4indirecta
npm@img/sharp-libvips-linux-x641.2.4indirecta
npm@img/sharp-libvips-linuxmusl-arm641.2.4indirecta
npm@img/sharp-libvips-linuxmusl-x641.2.4indirecta
npm@img/sharp-linux-arm0.34.5indirecta
npm@img/sharp-linux-arm640.34.5indirecta
npm@img/sharp-linux-ppc640.34.5indirecta
npm@img/sharp-linux-riscv640.34.5indirecta
npm@img/sharp-linux-s390x0.34.5indirecta
npm@img/sharp-linux-x640.34.5indirecta
npm@img/sharp-linuxmusl-arm640.34.5indirecta
npm@img/sharp-linuxmusl-x640.34.5indirecta
npm@img/sharp-wasm320.34.5indirecta
npm@img/sharp-win32-arm640.34.5indirecta
npm@img/sharp-win32-ia320.34.5indirecta
npm@img/sharp-win32-x640.34.5indirecta
npm@jridgewell/sourcemap-codec1.5.5indirecta
npm@napi-rs/wasm-runtime1.1.6indirecta
npm@oxc-project/types0.138.0indirecta
npm@protobufjs/aspromise1.1.2indirecta
npm@protobufjs/base641.1.2indirecta
npm@protobufjs/codegen2.0.5indirecta
npm@protobufjs/eventemitter1.1.1indirecta
npm@protobufjs/fetch1.1.1indirecta
npm@protobufjs/float1.0.2indirecta
npm@protobufjs/path1.1.2indirecta
npm@protobufjs/pool1.1.0indirecta
npm@protobufjs/utf81.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@stablelib/base641.0.1indirecta
npm@standard-schema/spec1.1.0indirecta
npm@tybys/wasm-util0.10.3indirecta
npm@types/better-sqlite37.6.13indirecta
npm@types/chai5.2.3indirecta
npm@types/deep-eql4.0.2indirecta
npm@types/estree1.0.9indirecta
npm@types/js-yaml4.0.9indirecta
npm@types/node20.19.43indirecta
npm@types/node25.9.4indirecta
npm@types/pg8.20.0indirecta
npm@vitest/expect4.1.10indirecta
npm@vitest/mocker4.1.10indirecta
npm@vitest/pretty-format4.1.10indirecta
npm@vitest/runner4.1.10indirecta
npm@vitest/snapshot4.1.10indirecta
npm@vitest/spy4.1.10indirecta
npm@vitest/utils4.1.10indirecta
npmaccepts2.0.0indirecta
npmadm-zip0.5.18indirecta
npmajv8.20.0indirecta
npmajv-formats3.0.1indirecta
npmansi-escapes7.3.0indirecta
npmansi-regex6.2.2indirecta
npmansi-styles6.2.3indirecta
npmargparse1.0.10indirecta
npmargparse2.0.1indirecta
npmassertion-error2.0.1indirecta
npmbalanced-match4.0.4indirecta
npmbase64-js1.5.1indirecta
npmbindings1.5.0indirecta
npmbl4.1.0indirecta
npmbody-parser2.3.0indirecta
npmboolean3.2.0indirecta
npmbrace-expansion5.0.8indirecta
npmbuffer5.7.1indirecta
npmbytes3.1.2indirecta
npmcall-bind-apply-helpers1.0.2indirecta
npmcall-bound1.0.4indirecta
npmchai6.2.2indirecta
npmchownr1.1.4indirecta
npmcli-cursor5.0.0indirecta
npmcli-truncate5.2.0indirecta
npmcolorette2.0.20indirecta
npmcommander14.0.3indirecta
npmcontent-disposition1.1.0indirecta
npmcontent-type1.0.5indirecta
npmcontent-type2.0.0indirecta
npmconvert-source-map2.0.0indirecta
npmcookie0.7.2indirecta
npmcookie-signature1.2.2indirecta
npmcors2.8.6indirecta
npmcross-spawn7.0.6indirecta
npmdebug4.4.3indirecta
npmdecompress-response6.0.0indirecta
npmdeep-extend0.6.0indirecta
npmdefine-data-property1.1.4indirecta
npmdefine-properties1.2.1indirecta
npmdepd2.0.0indirecta
npmdetect-libc2.1.2indirecta
npmdetect-node2.1.0indirecta
npmdunder-proto1.0.1indirecta
npmee-first1.1.1indirecta
npmemoji-regex10.6.0indirecta
npmencodeurl2.0.0indirecta
npmend-of-stream1.4.5indirecta
npmenvironment1.1.0indirecta
npmes-define-property1.0.1indirecta
npmes-errors1.3.0indirecta
npmes-module-lexer2.1.0indirecta
npmes-module-lexer2.2.0indirecta
npmes-object-atoms1.1.1indirecta
npmes-object-atoms1.1.2indirecta
npmes6-error4.1.1indirecta
npmesbuild0.28.1indirecta
npmescape-html1.0.3indirecta
npmescape-string-regexp4.0.0indirecta
npmesprima4.0.1indirecta
npmestree-walker3.0.3indirecta
npmetag1.8.1indirecta
npmeventemitter35.0.4indirecta
npmeventsource3.0.7indirecta
npmeventsource-parser3.0.8indirecta
npmeventsource-parser3.1.0indirecta
npmexpand-template2.0.3indirecta
npmexpect-type1.3.0indirecta
npmexpect-type1.4.0indirecta
npmexpress5.2.1indirecta
npmexpress-rate-limit8.5.2indirecta
npmextend-shallow2.0.1indirecta
npmfast-deep-equal3.1.3indirecta
npmfast-sha2561.3.0indirecta
npmfast-uri3.1.4indirecta
npmfdir6.5.0indirecta
npmfile-uri-to-path1.0.0indirecta
npmfinalhandler2.1.1indirecta
npmflatbuffers25.9.23indirecta
npmforwarded0.2.0indirecta
npmfresh2.0.0indirecta
npmfs-constants1.0.0indirecta
npmfsevents2.3.3indirecta
npmfunction-bind1.1.2indirecta
npmget-east-asian-width1.6.0indirecta
npmget-intrinsic1.3.0indirecta
npmget-proto1.0.1indirecta
npmgithub-from-package0.0.0indirecta
npmglobal-agent3.0.0indirecta
npmglobalthis1.0.4indirecta
npmgopd1.2.0indirecta
npmguid-typescript1.0.9indirecta
npmhas-property-descriptors1.0.2indirecta
npmhas-symbols1.1.0indirecta
npmhasown2.0.3indirecta
npmhasown2.0.4indirecta
npmhono4.12.27indirecta
npmhttp-errors2.0.1indirecta
npmhusky9.1.7indirecta
npmiconv-lite0.7.2indirecta
npmieee7541.2.1indirecta
npminherits2.0.4indirecta
npmini1.3.8indirecta
npmip-address10.2.0indirecta
npmipaddr.js1.9.1indirecta
npmis-extendable0.1.1indirecta
npmis-fullwidth-code-point5.1.0indirecta
npmis-promise4.0.0indirecta
npmisexe2.0.0indirecta
npmjson-schema-to-ts3.1.1indirecta
npmjson-schema-traverse1.0.0indirecta
npmjson-schema-typed8.0.2indirecta
npmjson-stringify-safe5.0.1indirecta
npmkind-of6.0.3indirecta
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
npmlint-staged16.4.0indirecta
npmlistr29.0.5indirecta
npmlog-update6.1.0indirecta
npmlong5.3.2indirecta
npmlru-cache11.3.6indirecta
npmmagic-string0.30.21indirecta
npmmatcher3.0.0indirecta
npmmath-intrinsics1.1.0indirecta
npmmedia-typer1.1.0indirecta
npmmerge-descriptors2.0.0indirecta
npmmime-db1.54.0indirecta
npmmime-types3.0.2indirecta
npmmimic-function5.0.1indirecta
npmmimic-response3.1.0indirecta
npmminimatch10.2.5indirecta
npmminimist1.2.8indirecta
npmminipass7.1.3indirecta
npmmkdirp-classic0.5.3indirecta
npmms2.1.3indirecta
npmnanoid3.3.16indirecta
npmnapi-build-utils2.0.0indirecta
npmnegotiator1.0.0indirecta
npmnode-abi3.92.0indirecta
npmobject-assign4.1.1indirecta
npmobject-inspect1.13.4indirecta
npmobject-keys1.1.1indirecta
npmobug2.1.1indirecta
npmobug2.1.3indirecta
npmon-finished2.4.1indirecta
npmonce1.4.0indirecta
npmonetime7.0.0indirecta
npmonnxruntime-common1.24.0-dev.20251116-b39e144322indirecta
npmonnxruntime-common1.24.3indirecta
npmonnxruntime-node1.24.3indirecta
npmonnxruntime-web1.26.0-dev.20260416-b7804b056cindirecta
npmparseurl1.3.3indirecta
npmpath-key3.1.1indirecta
npmpath-scurry2.0.2indirecta
npmpath-to-regexp8.4.2indirecta
npmpathe2.0.3indirecta
npmpg8.22.0indirecta
npmpg-cloudflare1.4.0indirecta
npmpg-connection-string2.14.0indirecta
npmpg-int81.0.1indirecta
npmpg-pool3.14.0indirecta
npmpg-protocol1.15.0indirecta
npmpg-types2.2.0indirecta
npmpgpass1.0.5indirecta
npmpicocolors1.1.1indirecta
npmpicomatch4.0.4indirecta
npmpicomatch4.0.5indirecta
npmpkce-challenge5.0.1indirecta
npmplatform1.3.6indirecta
npmpostcss8.5.23indirecta
npmpostgres-array2.0.0indirecta
npmpostgres-bytea1.0.1indirecta
npmpostgres-date1.0.7indirecta
npmpostgres-interval1.2.0indirecta
npmprebuild-install7.1.3indirecta
npmprotobufjs7.6.5indirecta
npmproxy-addr2.0.7indirecta
npmpump3.0.4indirecta
npmqs6.15.2indirecta
npmrange-parser1.2.1indirecta
npmraw-body3.0.2indirecta
npmrc1.2.8indirecta
npmreadable-stream3.6.2indirecta
npmreaddirp4.1.2indirecta
npmrequire-from-string2.0.2indirecta
npmrestore-cursor5.1.0indirecta
npmrfdc1.4.1indirecta
npmroarr2.15.4indirecta
npmrolldown1.1.4indirecta
npmrouter2.2.0indirecta
npmsafe-buffer5.2.1indirecta
npmsafer-buffer2.1.2indirecta
npmsection-matter1.0.0indirecta
npmsemver7.8.0indirecta
npmsemver-compare1.0.0indirecta
npmsend1.2.1indirecta
npmserialize-error7.0.1indirecta
npmserve-static2.2.1indirecta
npmsetprototypeof1.2.0indirecta
npmsharp0.34.5indirecta
npmshebang-command2.0.0indirecta
npmshebang-regex3.0.0indirecta
npmside-channel1.1.0indirecta
npmside-channel-list1.0.1indirecta
npmside-channel-map1.0.1indirecta
npmside-channel-weakmap1.0.2indirecta
npmsiginfo2.0.0indirecta
npmsignal-exit4.1.0indirecta
npmsimple-concat1.0.1indirecta
npmsimple-get4.0.1indirecta
npmslice-ansi7.1.2indirecta
npmslice-ansi8.0.0indirecta
npmsource-map-js1.2.1indirecta
npmsplit24.2.0indirecta
npmsprintf-js1.0.3indirecta
npmsprintf-js1.1.3indirecta
npmsqlite-vec-darwin-arm640.1.9indirecta
npmsqlite-vec-darwin-x640.1.9indirecta
npmsqlite-vec-linux-arm640.1.9indirecta
npmsqlite-vec-linux-x640.1.9indirecta
npmsqlite-vec-windows-x640.1.9indirecta
npmstackback0.0.2indirecta
npmstandardwebhooks1.0.0indirecta
npmstatuses2.0.2indirecta
npmstd-env4.1.0indirecta
npmstring-argv0.3.2indirecta
npmstring-width7.2.0indirecta
npmstring-width8.2.1indirecta
npmstring_decoder1.3.0indirecta
npmstrip-ansi7.2.0indirecta
npmstrip-bom-string1.0.0indirecta
npmstrip-json-comments2.0.1indirecta
npmtar-fs2.1.4indirecta
npmtar-stream2.2.0indirecta
npmtinybench2.9.0indirecta
npmtinyexec1.1.2indirecta
npmtinyexec1.2.4indirecta
npmtinyglobby0.2.17indirecta
npmtinyrainbow3.1.0indirecta
npmtoidentifier1.0.1indirecta
npmts-algebra2.0.0indirecta
npmtslib2.8.1indirecta
npmtsx4.23.0indirecta
npmtsx4.23.1indirecta
npmtunnel-agent0.6.0indirecta
npmtype-fest0.13.1indirecta
npmtype-is2.1.0indirecta
npmtypescript5.9.3indirecta
npmtypescript6.0.3indirecta
npmtypescript^6.0.3indirecta
npmundici-types6.21.0indirecta
npmundici-types7.24.6indirecta
npmunpipe1.0.0indirecta
npmutil-deprecate1.0.2indirecta
npmvary1.1.2indirecta
npmvite8.1.3indirecta
npmvitest4.1.10indirecta
npmvitest^4.1.6indirecta
npmwhich2.0.2indirecta
npmwhy-is-node-running2.3.0indirecta
npmwrap-ansi9.0.2indirecta
npmwrappy1.0.2indirecta
npmxtend4.0.2indirecta
npmyaml2.9.0indirecta
npmzod4.4.3indirecta
npmzod-to-json-schema3.25.2indirecta
PyPIlangchain-anthropicindirecta
PyPIlangchain-coreindirecta
PyPIlangchain-mcp-adaptersindirecta
PyPIlanggraphindirecta
PyPImcpindirecta
PyPIpydanticindirecta
PyPIpytestindirecta
PyPIpytest-asyncioindirecta
Avisos de dependencias 3

Instalar npm:daftari@1.32.0 arrastra 233 paquetes, directos y transitivos: 3 tienen avisos conocidos, de los cuales 0 son dependencias directas.

PaqueteVersiónRelaciónGravedadAvisosCorregido en
adm-zip0.5.18indirectaalta10.6.0
sharp0.34.5indirectaalta10.35.0
@hono/node-server1.19.15indirectamoderada12.0.5

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": [],
      "is_fork": false,
      "size_kb": 4973,
      "has_wiki": true,
      "homepage": null,
      "languages": {
        "HTML": 337372,
        "Shell": 1798,
        "Python": 80485,
        "Mermaid": 1396,
        "JavaScript": 167640,
        "TypeScript": 3506310
      },
      "pushed_at": "2026-07-28T01:38:53Z",
      "created_at": "2026-05-17T19:37:18Z",
      "owner_type": "User",
      "updated_at": "2026-07-27T04:15:40Z",
      "description": "An open-source, multi-user knowledge vault exposed to AI agents via an MCP server.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript"
      ]
    },
    "owner": {
      "blog": "https://www.waglesworld.com",
      "name": "Mihir Wagle",
      "type": "User",
      "login": "mavaali",
      "company": null,
      "location": "PNW",
      "followers": 7,
      "avatar_url": "https://avatars.githubusercontent.com/u/40620108?v=4",
      "created_at": "2018-06-27T03:59:34Z",
      "is_verified": null,
      "public_repos": 21,
      "account_age_days": 2953
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v1.32.0",
          "kind": "minor",
          "published_at": "2026-07-25T22:48:17Z"
        },
        {
          "tag": "v1.29.0",
          "kind": "minor",
          "published_at": "2026-06-26T00:49:05Z"
        },
        {
          "tag": "v1.28.0",
          "kind": "minor",
          "published_at": "2026-06-23T02:09:11Z"
        },
        {
          "tag": "v1.27.0",
          "kind": "minor",
          "published_at": "2026-06-21T22:56:55Z"
        },
        {
          "tag": "v1.26.0",
          "kind": "minor",
          "published_at": "2026-06-21T14:40:05Z"
        },
        {
          "tag": "v1.25.0",
          "kind": "minor",
          "published_at": "2026-06-20T01:22:46Z"
        },
        {
          "tag": "v1.24.0",
          "kind": "minor",
          "published_at": "2026-06-19T21:50:18Z"
        },
        {
          "tag": "v1.23.0",
          "kind": "minor",
          "published_at": "2026-06-19T14:59:14Z"
        },
        {
          "tag": "v1.22.0",
          "kind": "minor",
          "published_at": "2026-06-18T04:39:37Z"
        },
        {
          "tag": "v1.21.0",
          "kind": "minor",
          "published_at": "2026-06-13T06:27:19Z"
        },
        {
          "tag": "v1.20.0",
          "kind": "minor",
          "published_at": "2026-06-12T06:03:53Z"
        },
        {
          "tag": "v1.19.0",
          "kind": "minor",
          "published_at": "2026-06-11T00:55:03Z"
        },
        {
          "tag": "v1.17.0",
          "kind": "minor",
          "published_at": "2026-06-08T03:59:39Z"
        },
        {
          "tag": "v1.16.0",
          "kind": "minor",
          "published_at": "2026-06-02T14:49:04Z"
        },
        {
          "tag": "v1.15.0",
          "kind": "minor",
          "published_at": "2026-06-01T00:50:32Z"
        },
        {
          "tag": "v1.14.0",
          "kind": "minor",
          "published_at": "2026-05-31T17:45:16Z"
        },
        {
          "tag": "v1.13.1",
          "kind": "patch",
          "published_at": "2026-05-31T03:13:38Z"
        },
        {
          "tag": "v1.13.0",
          "kind": "minor",
          "published_at": "2026-05-31T02:57:34Z"
        },
        {
          "tag": "v1.12.6",
          "kind": "patch",
          "published_at": "2026-05-28T02:45:12Z"
        },
        {
          "tag": "v1.12.5",
          "kind": "patch",
          "published_at": "2026-05-27T04:52:46Z"
        },
        {
          "tag": "v1.12.4",
          "kind": "patch",
          "published_at": "2026-05-27T04:11:03Z"
        },
        {
          "tag": "v1.12.3",
          "kind": "patch",
          "published_at": "2026-05-27T03:50:17Z"
        },
        {
          "tag": "v1.12.2",
          "kind": "patch",
          "published_at": "2026-05-27T03:10:42Z"
        },
        {
          "tag": "v1.12.1",
          "kind": "patch",
          "published_at": "2026-05-27T02:35:30Z"
        },
        {
          "tag": "v1.12.0",
          "kind": "minor",
          "published_at": "2026-05-27T00:13:40Z"
        },
        {
          "tag": "v1.10.0",
          "kind": "minor",
          "published_at": "2026-05-21T14:25:20Z"
        },
        {
          "tag": "v1.9.0",
          "kind": "minor",
          "published_at": "2026-05-21T02:39:36Z"
        },
        {
          "tag": "v1.7.1",
          "kind": "patch",
          "published_at": "2026-05-21T02:39:34Z"
        },
        {
          "tag": "v1.8.0",
          "kind": "minor",
          "published_at": "2026-05-21T02:39:35Z"
        },
        {
          "tag": "v1.7.0",
          "kind": "minor",
          "published_at": "2026-05-20T00:39:59Z"
        },
        {
          "tag": "v1.6.0",
          "kind": "minor",
          "published_at": "2026-05-19T18:16:17Z"
        },
        {
          "tag": "v1.5.1",
          "kind": "patch",
          "published_at": "2026-05-19T05:32:30Z"
        },
        {
          "tag": "v1.5.0",
          "kind": "minor",
          "published_at": "2026-05-19T04:00:04Z"
        },
        {
          "tag": "v1.4.0",
          "kind": "minor",
          "published_at": "2026-05-19T01:48:24Z"
        },
        {
          "tag": "v1.3.0",
          "kind": "minor",
          "published_at": "2026-05-19T01:30:33Z"
        },
        {
          "tag": "v1.2.0",
          "kind": "minor",
          "published_at": "2026-05-18T05:24:56Z"
        },
        {
          "tag": "v1.1.0",
          "kind": "minor",
          "published_at": "2026-05-17T23:44:42Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "3dbbebf9ab4806bcaad6e00a8145dbb288a90c6b",
          "body": "* perf(storage): exempt the embedding cache from schema-bump drops\n\nA SCHEMA_VERSION bump drops every derived table and rebuilds it from the\nmarkdown files. `embeddings` was in that list, so every bump forced a full\nre-embed — real money against a hosted provider.\n\nIt does not belong there. The cach\n[…]\nnt that subtracted\na day, which stopped being true when windows went half-open.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: bi-temporal validity — valid_from / valid_until (#305)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-27T04:15:27Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "7a815d618186a0483ff7afafb15113f01bfff2a5",
          "body": "`npm run pack:mcpb` mutates node_modules into artifact shape and left it that\nway. Two consequences, one of them nasty.\n\nThe visible one: `npm prune --omit=dev` removes typescript, vitest, and biome,\nso `npm run build`, `npm test`, and `npm run lint` all stop working until\nsomeone reinstalls. Annoyi\n[…]\nten\nprebuilds and prunes devDependencies, which is not something to do mid-session\n— so the surrounding steps are unchanged and unexercised here.\n\nCo-authored-by: Claude Opus 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(pack): restore the dev tree after packing an MCPB (#307)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-27T03:58:33Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "a2ec361f186833bbd7ee14d09216b7a761e25eff",
          "body": null,
          "is_bot": false,
          "headline": "fix(search): push the ACL filter into the vector KNN scan (#303)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-26T19:58:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "750a3294def10070ad864fe33c9c78e21f09ad77",
          "body": "…#285)",
          "is_bot": false,
          "headline": "ci(release): auto-create the GitHub Release page from the CHANGELOG (…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-26T18:00:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "451e4f0c3839c9fa9a1cc46c16b53cbfb547bdd4",
          "body": null,
          "is_bot": false,
          "headline": "ci: skip Claude review workflows on Dependabot PRs (#286)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-26T17:53:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8a1db89134421c4461a7a00a3192a77c3c1c82f8",
          "body": null,
          "is_bot": false,
          "headline": "feat(mcp): resources, output schemas, and a never-sample guard (#302)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-26T16:22:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b2debe90b8b8dff91606f31dc1b01f3be008af4f",
          "body": "…rainstorm (#296)\n\n* docs(specs): add bi-temporal validity and MCP 2026-07-28 readiness design specs\n\nFirst two of ten enhancement design specs from the 2026-07 brainstorm\n(web-research survey of agent-memory, MCP, retrieval, and knowledge-trust\nlandscapes). Both proposed, awaiting review.\n\nCo-Autho\n[…]\nctual export)\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0189D31WH6c21KRb4QkymmoD\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(specs): ten enhancement design specs from the 2026-07 research b…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-26T05:29:55Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "c94d45da9d56f39e7889926c7082691760e9372f",
          "body": "…295)\n\nBumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.2 to 3.1.4.\n- [Release notes](https://github.com/fastify/fast-uri/releases)\n- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.2...v3.1.4)\n\n---\nupdated-dependencies:\n- dependency-name: fast-uri\n  dependency-version: 3.1.4\n  dependency-type: indirect\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): bump fast-uri from 3.1.2 to 3.1.4 in /packages/router (#…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-25T23:20:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cb52ee72eca404e5cc59015c7c7a5e9ad42b9754",
          "body": "Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.2 to 3.1.4.\n- [Release notes](https://github.com/fastify/fast-uri/releases)\n- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.2...v3.1.4)\n\n---\nupdated-dependencies:\n- dependency-name: fast-uri\n  dependency-version: 3.1.4\n  dependency-type: indirect\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): bump fast-uri from 3.1.2 to 3.1.4 (#291)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-25T23:19:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cc06403ead4e2c221b81a7251fc0f0a7aa05b0af",
          "body": "…er (#289)\n\nBumps [postcss](https://github.com/postcss/postcss) from 8.5.16 to 8.5.23.\n- [Release notes](https://github.com/postcss/postcss/releases)\n- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/postcss/postcss/compare/8.5.16...8.5.23)\n\n---\n\n[…]\nss\n  dependency-version: 8.5.23\n  dependency-type: indirect\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-dev): bump postcss from 8.5.16 to 8.5.23 in /packages/rout…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-25T23:19:26Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fae519510193f0e8190bd599d23680c796fbaf9e",
          "body": "Clears 8 transitive advisories: js-yaml (via gray-matter frontmatter\nparsing — quadratic-CPU DoS, the one with real attack surface),\nfast-uri, brace-expansion, protobufjs, postcss, esbuild, body-parser.\nAlso syncs optional S3/Azure peerDependenciesMeta drift into the\nlockfile.\n\nLeft open: @hono/node\n[…]\n pinned by\n@modelcontextprotocol/sdk), sharp (no fixed version accepted by\n@huggingface/transformers yet), adm-zip (onnxruntime-node pins ^0.5).\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(deps): npm audit fix in root and packages/router (#288)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-25T23:18:54Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "58528c83c20d59c48e0c8d045eb924867eb2d326",
          "body": "Private-advisory reporting channel, supported-version policy,\ndaftari-specific scope (RBAC bypass, existence disclosure, path\ntraversal, serve transport, court leakage), release integrity notes.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs: add SECURITY.md security policy (#287)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-25T23:12:24Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "85feae9cd66239e2dff170772996d78f19e6afa7",
          "body": "… bump (#284)\n\n* release: v1.32.0 — interview changelog entry, README section, version bump\n\nThe Unreleased section carried only the OKF v0.2 bridge upgrade; #283\n(daftari interview) merged without a changelog entry. This backfills it,\nrolls Unreleased into 1.32.0 with a release summary, adds a READ\n[…]\nfrom here on.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01M8B93pFwNJF6iQfLXP3Hvc\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "release: v1.32.0 — interview changelog entry, README section, version…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-25T22:36:14Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "465defb005b03df751231a1dfe994d603437ca82",
          "body": "…ipal (#283)\n\n* feat(interview): daftari interview — the vault interrogates its principal\n\nInspired by the companion interview on Terence Tao's AI-views living\nsummary: after compiling a corpus of someone's positions, ask them about\nthe places the corpus is unclear, and fold the verbatim answers bac\n[…]\nteTranscript.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01M8B93pFwNJF6iQfLXP3Hvc\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(interview): daftari interview — the vault interrogates its princ…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-25T22:16:27Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "32034014e8d2f3dbf466479fe09e856d56dfc7ea",
          "body": "…ort (#282)\n\nReview follow-up from #281: import re-derived \"is this a round-tripped\ndoc\" as Object.hasOwn(okfRaw, \"daftari\") — a hardcoded string where\nDAFTARI_SIDECAR_KEY exists, and a looser test than okfToDaftari's\nactual round-trip gate, which also requires the sidecar value to be a\nnon-null, no\n[…]\nokfToDaftari, the import plan's roundTrip flag, and the advisory\nwarning gate.\n\n\nClaude-Session: https://claude.ai/code/session_01SUGMkMQVoyiUGEUHEp1ftB\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "refactor(okf): share the sidecar round-trip check between map and imp…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-25T18:31:08Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "698fc14611c018aaeb9966ae27f17d3f6c856856",
          "body": "* feat(okf): upgrade bridge to OKF v0.2 trust signals\n\nOKF v0.2 adds opt-in trust signals — raw credibility indicators, never\ncomputed scores. Teach the okf export/import bridge both directions:\n\nExport derives signals from native metadata:\n- updated/updated_by -> generated {by, at} (the spec's rena\n[…]\nand elevates.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SUGMkMQVoyiUGEUHEp1ftB\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(okf): upgrade bridge to OKF v0.2 trust signals (#281)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-24T23:20:31Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8838573081d0bc501e33fbaf2be8793422029e1f",
          "body": "* feat(eval): --transport openrouter for every LLM-mediated stage\n\ndaftari eval was hard-wired to createAnthropicClient() at all four\nstages while sleep and consolidate already select a transport. Wire the\nsame rules in (explicit --transport, DAFTARI_LLM_TRANSPORT env\nfallback, anthropic default): o\n[…]\ned budget\nfixes. Document the assumption and the operator remedy at the site.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(eval): --transport openrouter for every LLM-mediated stage (#280)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-24T20:54:21Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "66b246d7dbb9c1e3f4885e61ad2b4a67bb90c95c",
          "body": "…ad paths (#279)\n\n* refactor: performance and quality pass across write, curation, and read paths\n\nPerformance (measured):\n- edges: observe/contest collapsed the whole log 2-3x per append; one\n  collapse now serves both the index rebuild and the after-state read\n- vault_status: two full-vault read+p\n[…]\nored-by: Claude Fable 5 <noreply@anthropic.com>\nCo-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>\nCo-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>",
          "is_bot": false,
          "headline": "refactor: performance and quality pass across write, curation, and re…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-24T04:47:01Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "7f76f3e28dcdd6e341bfa58c68caf438d622a2a3",
          "body": "…publish (#278)\n\nThe v1.31.0 release run failed npm test twice with better-sqlite3's\nnative binding missing — deterministic, while ci.yml's identical Node 22\njobs stay green. The one difference was upgrading npm to latest BEFORE\nnpm ci. Install and gates now run on the bundled npm exactly like CI;\nt\n[…]\nIDC-required npm upgrade happens after the gates, purely for the\npublish step.\n\n\nClaude-Session: https://claude.ai/code/session_01CMm7tS4iZ62ofdJB4rFpKN\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "ci(release): install and test with bundled npm; upgrade npm only for …",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-22T20:42:53Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1d6a45099a14c5a82b5b4154407755270cb16159",
          "body": "…#277)\n\nThe changelog's Unreleased section only carried OKF; this backfills\neverything since v1.30.0 (serve #5, OAuth #7, storage backends #6, the\ncompilation pipeline, rerank #3, themes #58, tiers #103/#104, eval\nwork, fixes, perf) under 1.31.0. README gains a Server mode section\ndocumenting serve \n[…]\ns and the fail-loud posture, and\nthe What's-not-in-v1 bullet now points at it.\n\n\nClaude-Session: https://claude.ai/code/session_01CMm7tS4iZ62ofdJB4rFpKN\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "release: v1.31.0 — changelog, README server-mode docs, version bump (…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-22T04:28:33Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "c1c673eaa76dd19e5b7162ca3e5b2353d27fc56c",
          "body": "Moves the merge click from \"when green\" to \"at PR-open time\": GitHub\nnative auto-merge, gated on the existing required checks, enabled\nautomatically for Dependabot patch/minor bumps and for human-authored\nPRs carrying the automerge label (labels require triage+ permission, so\nthe label is the authorization). Major version bumps and everything\nunlabeled still wait for a human.\n\n\nClaude-Session: https://claude.ai/code/session_017AMNJvRTNfnmkWa6Nk4Qx4\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "ci: auto-merge for trusted change classes (#276)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-22T04:21:27Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "aa1e3286e40ea1e4da5c527fecad7fd489e9d667",
          "body": "* feat(storage): pluggable storage backends as sync targets (#6)\n\nSpec 2026-07-20 Decision 3: the local git working copy stays canonical —\nreads, writes, auto-commits, locks, and the SQLite index are untouched —\nand a storage backend is a dumb get/put/list/delete target the sync\nengine pushes to.\n\n-\n[…]\nper halts it.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01CMm7tS4iZ62ofdJB4rFpKN\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(storage): pluggable storage backends as sync targets (#6) (#275)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-22T03:39:47Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "83b1d8483b7f4df7704e9e9f84b3a23704ff8bf2",
          "body": "* feat(serve): OAuth 2.1 resource-server auth (#7)\n\nPhase 2 of the 2026-07-20 spec: `daftari serve` validates bearer JWTs\nagainst the org's IdP, never issuing or storing credentials itself.\n\n- `server.auth.oauth` declares issuer, audience, jwks_uri, and a\n  subjects table mapping the token's sub cla\n[…]\ncing 401/403.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01CMm7tS4iZ62ofdJB4rFpKN\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(serve): OAuth 2.1 resource-server auth (#7) (#274)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-22T02:24:44Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "7d08c8e2e2d972058e3569dae98c5bfcbc15a7bc",
          "body": "…273)\n\n* feat(serve): daftari serve — server mode over Streamable HTTP (#5)\n\nImplements the first increment of the 2026-07-20 self-hosted spec: one\nalways-on instance, many MCP clients, stdio untouched.\n\n- `daftari serve --vault <path> [--port 8787] [--bind 127.0.0.1]\n  [--takeover]` speaks the MCP \n[…]\nclient count.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01CMm7tS4iZ62ofdJB4rFpKN\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(serve): daftari serve — server mode over Streamable HTTP (#5) (#…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-22T01:42:08Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "0d5cde577f34e4dd57d27f5b1777a0b07eaadf05",
          "body": "…ovenance (#5, #7, #6) (#272)\n\n* docs(specs): self-hosted server mode design — transport, identity, provenance (#5, #7, #6)\n\nThe three v2 deployment issues are one story whose load-bearing\ndecisions interlock; this document settles them together so each can\nland as its own reviewed increment:\n\n- Tra\n[…]\nholder modes.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01CMm7tS4iZ62ofdJB4rFpKN\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(specs): self-hosted server mode design — transport, identity, pr…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-22T01:09:14Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "7a7129dd3f4b3784beb6170ab0a9f38e23c1accf",
          "body": "* feat(search): agent-as-judge rerank pool on vault_search (#3)\n\nHybrid fusion is a fixed linear combination of retrieval-proximity\nscores; it has no notion of whether a top candidate ANSWERS the query —\nthe gap #3 recorded at v1. The rerank stage lands MCP-natively using the\ndivision of labor the t\n[…]\nbetween them.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01CMm7tS4iZ62ofdJB4rFpKN\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(search): agent-as-judge rerank pool on vault_search (#3) (#269)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-19T22:05:16Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "37ef14bfb776b0c54f911b3fa97849782a59ec12",
          "body": "…2) (#268)\n\nThe scoping spike #72 asked for, run empirically on Node 22: every gate\npasses, including the issue's single biggest unknown — sqlite-vec loads\nunder node:sqlite (sqliteVec.load duck-types on loadExtension, exposed\nvia allowExtension: true) and the vec0 KNN smoke round-trips. FTS5 with\ne\n[…]\n next engines bump to >=24;\nOption C until then. Migration checklist included.\n\n\nClaude-Session: https://claude.ai/code/session_01CMm7tS4iZ62ofdJB4rFpKN\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(specs): SQLite binding spike — node:sqlite decision document (#7…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-19T21:56:14Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "7dba2ae56023954b79240fd37baf6accfe28a9ee",
          "body": "…100) (#267)\n\nThe two unbounded artifact directories get an explicit, user-invoked\nprune (spec §8 / §12 res. 6 anticipated it; --help promised it):\n\n  daftari eval prune [--vault <path>] [--keep <count>]\n                     [--older-than <age>] [--dry-run]\n\n- Selection is by file MTIME — disk house\n[…]\nruns and storage-format changes stay out of\nscope, per the issue.\n\nFixes #100.\n\n\nClaude-Session: https://claude.ai/code/session_01CMm7tS4iZ62ofdJB4rFpKN\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(eval): daftari eval prune — results/ and scores/ housekeeping (#…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-19T03:55:21Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "216ce55f24d41560659ff9de3d4f289c909af35d",
          "body": "…me validation, tier-aware triviality, intra-call dedupe, --max-nodes (#102) (#266)\n\n* fix(eval): v1 polish — honest exit codes, skipped-run reporting, resume\nvalidation, tier-aware triviality, intra-call dedupe, --max-nodes (#102)\n\nFive correctness items plus one flag from the v1 follow-up tracker:\n[…]\nun's silence.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01CMm7tS4iZ62ofdJB4rFpKN\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(eval): v1 polish — honest exit codes, skipped-run reporting, resu…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-19T03:13:28Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "89305cd3d26f26071c020b2d13742b4b3f10cc04",
          "body": "…#247) (#265)\n\nThe 2026-07-17 nightly sweep flagged 8 warnings + 9 infos, all\nmechanical: useTemplate string concatenations, useLiteralKeys index\naccesses, useOptionalChain guard chains, one unused import, one\nnon-null assertion, and two noExplicitAny casts in tests. Applied via\nbiome --write --unsa\n[…]\nfor the partial fixture). npm run\nlint now reports zero findings.\n\nFixes #247.\n\n\nClaude-Session: https://claude.ai/code/session_01CMm7tS4iZ62ofdJB4rFpKN\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(lint): clear the nightly maintenance report's warning backlog (…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-19T02:39:37Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "9eeb882b47456bacaedf8f5341a8f2cd586a41f2",
          "body": "…ring (#58) (#264)\n\n* feat(themes): per-document theme distributions via chunk-level clustering (#58)\n\nvault_themes v1 mean-pooled each document's chunk embeddings into one\nvector, which collapses a genuinely two-region document (half pricing,\nhalf moonshot) into a single point that lands in neither\n[…]\n memberships.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01CMm7tS4iZ62ofdJB4rFpKN\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(themes): per-document theme distributions via chunk-level cluste…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-19T02:30:06Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "f9d100a166bc5b716a1a18ab250c310a7428eba1",
          "body": "…3, #104) (#263)\n\n* feat(server): configurable tool-exposure tiers + include/exclude (#103, #104)\n\nEvery advertised tool costs the agent context tokens and a decision\nbranch; most sessions need a fraction of the 33-tool registry. A `tools`\nblock in .daftari/config.yaml now picks what ListTools adver\n[…]\ninst stderr).\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01CMm7tS4iZ62ofdJB4rFpKN\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(server): configurable tool-exposure tiers + include/exclude (#10…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-19T01:55:20Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "907bcc83c2426622b665af12afb504eba14d98c2",
          "body": "…#262)\n\n* feat(search): resumable reindex — per-batch embedding commits (#54)\n\nA process-lock takeover SIGTERM mid-build previously lost every\nembedding of the interrupted reindex: all cache misses were embedded in\none call and committed in one end-of-build transaction, so a client in\na tight respaw\n[…]\nlthy vectors.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01CMm7tS4iZ62ofdJB4rFpKN\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(search): resumable reindex — per-batch embedding commits (#54) (…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-18T15:42:16Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "b4c0de56858370173efb2e33f0e4569d2450d0f1",
          "body": "…ily (#4) (#261)\n\n* feat(curation): enforce the accumulation/generative boundary, advisorily (#4)\n\nThe epistemic boundary — speculative sketches must not read as settled\ncanon — was honor-system only. It now has the two surfaces the house\nrules prescribe, both advisory (curation reports; blocking st\n[…]\nstays silent.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01CMm7tS4iZ62ofdJB4rFpKN\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(curation): enforce the accumulation/generative boundary, advisor…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-18T15:17:30Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1bf6894196fd8dc396ae37bbf0ccdc0e93d4220a",
          "body": "The chokidar ignored predicate only consulted isIgnoredPath, so colocated\nassets (images, PDFs, data files) were watched — each consuming an\ninotify handle — and their events discarded downstream at dispatch. The\npredicate now also skips non-markdown FILES at watch time, per the\nissue's implementati\n[…]\nIgnored and\nunit-tested directly, dotted-directory case included.\n\nFixes #107.\n\n\nClaude-Session: https://claude.ai/code/session_01CMm7tS4iZ62ofdJB4rFpKN\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "perf(watcher): filter non-markdown files at watch time (#107) (#260)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-18T14:26:20Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "9d1ad5c601c542e1b8d6befd1d9be6e1e9a5d0d4",
          "body": "…nked, (#259)",
          "is_bot": false,
          "headline": "feat(curation): inline structural decay — orphan, deprecated-still-li…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-18T14:05:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0fd2f256f6b4c8595cdf324a2ebb49192c1c2cb1",
          "body": "…#258)\n\n* perf(search): FTS5 snippet() for lexical excerpts on the chunk path\n\nmakeSnippet whitespace-collapsed and linear-scanned each candidate's\nfull body per hit, and its literal indexOf cannot see stemmed matches —\na query for \"throttling\" against a body saying \"throttled\" fell back to\nthe docu\n[…]\nend coverage.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01CMm7tS4iZ62ofdJB4rFpKN\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "perf(search): FTS5 snippet() for lexical excerpts on the chunk path (…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-18T04:01:16Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1c21ad9ef9d25956b2459efbaed482da1f13deee",
          "body": "…c (#257)\n\n* feat(write): advisory supersede nudge when overwriting an existing doc\n\nAn in-place vault_write over an existing document destroys the prior\nversion's lineage, and daftari already has the preserve-not-overwrite\nprimitive — nothing steered the agent toward it at the moment of\noverwrite (\n[…]\n combination.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01CMm7tS4iZ62ofdJB4rFpKN\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(write): advisory supersede nudge when overwriting an existing do…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-18T03:29:52Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "feb19339e09d82d66e07997dbaa1c3a329174728",
          "body": "… (#256)\n\njs-yaml's position points at where parsing broke — for a multi-line\ncomment block where one line lost its '#' in a copy-paste, that is the\nfirst downstream mapping entry, sending the reader to a line that looks\nfine. The config loader now scans ±3 lines around the parser's mark for\na line \n[…]\ntest; a parse error\nwith no prose-shaped neighbor stays hint-free.\n\nFixes #26.\n\n\nClaude-Session: https://claude.ai/code/session_01CMm7tS4iZ62ofdJB4rFpKN\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(config): hint at comment lines that lost their '#' in YAML errors…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-18T03:08:34Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "76ca67e53a7c022d16a63c91d874cd4570b2d1b3",
          "body": "…ssing (#255)\n\n* fix(audit): stop flagging on-disk assets and unaudited siblings as missing\n\nTwo false-positive classes buried the audit's real broken-ref signal\n(the reported wiki run: 25 findings, ~13 of them false):\n\nAsset references (#132): the doc index only holds glob-matched markdown,\nso link\n[…]\n accordingly.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01CMm7tS4iZ62ofdJB4rFpKN\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(audit): stop flagging on-disk assets and unaudited siblings as mi…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-18T02:52:03Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "515ff89ff8f9b58398ef6a4bfb30d98f276660da",
          "body": "…#254)\n\nTier 2 lands as a protocol, not a model call: daftari has no LLM, so the\nCALLING AGENT is the expensive judge — the same posture as earned edges\n(observeEdge) and tension logging. The server owns the two ends of the\njudgment.\n\nvault_tier2_queue materializes the residual: every declared/earne\n[…]\nread is\nrefused with the byte-identical error a nothing-pending pair produces.\n\n\nClaude-Session: https://claude.ai/code/session_01CMm7tS4iZ62ofdJB4rFpKN\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(tier2): semantic-review queue and typed verdicts (#232 tier 2) (…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-18T02:14:31Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "f0fe6ec53c57b951110b4417251d67b5e802ccfb",
          "body": "…4) (#253)\n\n* feat(staleness): edge staleness classes and the broken-read rate (#234)\n\nStaleness becomes a per-edge, class-typed judgment instead of a boolean:\nevery upstream edge of an artifact is classified at query time by running\ntier-1 dispatch against the change since that edge's baseline — cu\n[…]\nss-hit reuse.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01CMm7tS4iZ62ofdJB4rFpKN\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(staleness): edge staleness classes and the broken-read rate (#23…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-18T01:43:17Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "3e08a99a69f664ddf3337d09b570d82c6a8b3c92",
          "body": "…xistence (#252)",
          "is_bot": false,
          "headline": "fix(tier1): unreadable anchors leak neither provenance metadata nor e…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-17T23:39:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f4ef451676bf5faccbbd95dbe3fa8fb34b9dbef9",
          "body": "…lasses (#232) (#251)",
          "is_bot": false,
          "headline": "feat(tier1): type-directed change dispatch over the edge provenance c…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-17T23:03:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fc3d84c0abe7c10a7bf851942e41729d28637a76",
          "body": "…ites (#233) (#250)",
          "is_bot": false,
          "headline": "feat(consumes): compiled dependency graph — run-correlated reads x wr…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-17T21:42:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aed03a843ca000e8f4fe9e3431a747c2538edac2",
          "body": "…inter-proposal tension, propose-only role (#249)",
          "is_bot": false,
          "headline": "feat(proposals): #235 deltas — write action type, run_id provenance, …",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-17T21:19:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b1985bc02aac3c8b3a1bd01dbb8b54fc61844127",
          "body": "…te (#232, #236) (#248)",
          "is_bot": false,
          "headline": "feat(tier0): structure-first tier-0 checks — lint surface + ratify ga…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-17T17:33:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "955211fd620afd031d6c380e3ec1b91590db6856",
          "body": "…hen-write escape hatch (#141) (#246)\n\nAdds the opt-in `tier` frontmatter field and its enforcement:\n\n- tier: source — body immutable to every writer (vault_write/vault_merge\n  refuse body changes; vault_append still works)\n- tier: manual — body rewrites require a human:* identity\n- tier: compiled /\n[…]\nance entry\nthat moved tier off 'source', whatever tool did it — the tripwire that\nshows whether demotions stay rare and deliberate.\n\nCloses #141\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(tier): write-protection tiers — source/compiled/manual, demote-t…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-17T05:42:34Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "d28f8c8e7d46b81fd734ddeef9509b8d5f5d43f8",
          "body": "…ate (#236, #235) (#244)\n\n#235's headline measurement, shipped ahead of the feature so the dataset\npredates it: a pure read-time aggregate over the staged-actions log,\nreported by runLint/vault_lint alongside tensionHealth.\n\nVocabulary pinned in the module: an arrival is a staged proposal; a\ndecisio\n[…]\nincipals), same posture as\ntensionHealth under #217 decision C. Zero extra I/O: the staged log was\nalready loaded by runLint for coverageEquity.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(lint): review-throughput aggregate — arrival rate vs. decision r…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-17T05:08:32Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "3bc493f25c92eccb726910ab48efc4ff0a1b2ffa",
          "body": "…ission (#217) (#231) (#243)",
          "is_bot": false,
          "headline": "feat(rbac): edge-graph existence disclosure — blast B′, edges/lint om…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-17T04:42:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eae926e96067278c56be24649edce32174d841ab",
          "body": "…r self-heal (#236) (#241)\n\nlistEdges/getEdge now query the derives_from_edges table instead of\ncollapsing the whole edges.jsonl per call. The jsonl stays the canonical\nstore and sole writer input; the table stays a rebuildable cache.\n\nDesign constraints pinned in #236, all enforced here:\n- Live str\n[…]\norrectness.\n\nSchema 7 -> 8: derives_from_edges gains observations, contested_at,\ncontest_reason so the table carries the full public edge shape.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "perf(edges): SQL-authoritative edge reads — write-through, stat-marke…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-17T04:21:06Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "ba04d186d2b546622c7a08c5d3ea882a8d88b685",
          "body": "The three claude-code-action workflows (@claude responder, code review,\nnightly maintenance) now authenticate with CLAUDE_CODE_OAUTH_TOKEN — a\nClaude subscription token from `claude setup-token` — instead of the\nmetered ANTHROPIC_API_KEY. Usage draws from the existing plan rather\nthan pay-per-token \n[…]\non doesn't support OAuth tokens yet, and it's down to one Sonnet 5\nrun per PR.\n\n\nClaude-Session: https://claude.ai/code/session_017AMNJvRTNfnmkWa6Nk4Qx4\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "ci: bill Claude workflows to the subscription via OAuth token (#242)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-17T04:19:24Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "42b70136ffd6db5da62f9ae19797e15efb2b2c20",
          "body": "…240)\n\n* ci(agents): @claude mention responder + nightly maintenance loop\n\nThe 2-to-3 step of the maturity curve: routines and Claude kicking off\nClaude. Mentioning @claude in any issue or PR (write-access users only)\nstarts a Claude Code session that can answer, implement on a branch, and\nopen a PR\n[…]\nreport issue.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_017AMNJvRTNfnmkWa6Nk4Qx4\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "dev maturity: @claude mention responder + nightly maintenance loop (#…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-17T03:37:35Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "6545ddd53f96cf2e7e6090c7386815a691e04a23",
          "body": "…de allowlist (#239)\n\n* ci(review): automated code review + security review on every PR, auto-mode allowlist\n\nTwo workflows powered by the ANTHROPIC_API_KEY repo secret:\nclaude-code-review posts inline findings on non-draft PRs (primed with\nthis repo's CLAUDE.md invariants), and security-review scan\n[…]\ne Sonnet run.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_017AMNJvRTNfnmkWa6Nk4Qx4\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "dev maturity: automated code review + security review on PRs, auto-mo…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-17T03:15:15Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "ce490d2ad6944634056e2b113ef1d78c9c763398",
          "body": "…(OIDC) + PR template (#238)\n\n* test(e2e): exercise the built server end-to-end over MCP stdio\n\nSpawns dist/cli.js as a real subprocess against a throwaway copy of the\nsample vault and drives the loop an agent would: handshake, tool catalog,\nvault_read, vault_search, vault_write with the git auto-co\n[…]\nn every diff.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_017AMNJvRTNfnmkWa6Nk4Qx4\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "dev maturity: e2e gate for the built server + tag-driven npm release …",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-17T02:23:37Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "46bfbb443b717eb3469c88ef17043166a17f9228",
          "body": "…and dispatch rule (#237)",
          "is_bot": false,
          "headline": "docs: compilation-thesis through-line spec — edge provenance classes …",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-17T02:06:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a55d129271720e0119ae4b92b09c13265d0ee5a5",
          "body": "…, precedent (#216) + #217 options spec (#230)",
          "is_bot": false,
          "headline": "fix(rbac): canonical-path tension/provenance gates in status, receipt…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-15T02:37:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3b599a9246a3dd79ccec9edb584a486eafa83948",
          "body": "Bumps the npm-minor-and-patch group in /packages/router with 1 update: [tsx](https://github.com/privatenumber/tsx).\n\n\nUpdates `tsx` from 4.23.0 to 4.23.1\n- [Release notes](https://github.com/privatenumber/tsx/releases)\n- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs\n[…]\nupdate:semver-patch\n  dependency-group: npm-minor-and-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-dev): bump tsx (#224)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-15T01:21:09Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8eef2f77050fba2df72c95b94b8c2f0092a01330",
          "body": "Bumps the actions group with 2 updates: [actions/checkout](https://github.com/actions/checkout) and [actions/setup-node](https://github.com/actions/setup-node).\n\n\nUpdates `actions/checkout` from 4 to 7\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/a\n[…]\npe: version-update:semver-major\n  dependency-group: actions\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): bump the actions group with 2 updates (#223)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-15T01:20:12Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "71f2aecb78532bded39bfdef5ef59e51b88d605b",
          "body": "…(#228)",
          "is_bot": false,
          "headline": "feat(sleep): tension-scan dream-type — close the day-0 detection gap …",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-14T17:53:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "358e8dbb72bd419a329824ade301741a64756175",
          "body": null,
          "is_bot": false,
          "headline": "feat: langgraph-store adapter + dedup-is-not-epistemics demo (#227)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-14T17:13:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "90f63d87616ba28cd52688621b6b9857f9436ae0",
          "body": "Single static page (site/index.html) with the positioning pitch, install\nsnippet, and four-layers overview. CNAME for daftari.dev. Pages deploy\nworkflow publishes site/ on pushes to main.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: landing page for daftari.dev on GitHub Pages (#226)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-14T04:20:16Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "1e30e69b7fd5c39c52fafd3997e87988a4e17477",
          "body": "…ng (#222)",
          "is_bot": false,
          "headline": "chore: add MCP Registry server.json and mcpName for registry publishi…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-13T18:34:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2576d84e0edfab29feb32417aab416260166ef23",
          "body": null,
          "is_bot": false,
          "headline": "feat(okf): add Open Knowledge Format export/import (#221)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-13T03:49:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0ad26d9887bf93922ec7c7b868497dfa04d18644",
          "body": "Cut the Unreleased section into [1.30.0] - 2026-07-13: seven additions\n(vault_receipt, daftari asof, daftari court, daftari sleep,\nvault_witness, inline tensions in vault_search, the OpenRouter\nconsolidate transport), one security fix (tension both-sides\nvisibility), one internal (the CB7 decision-d\n[…]\n:\nsearch bullet now mentions inline tensions and current-source\nforegrounding.\n\n\nClaude-Session: https://claude.ai/code/session_01MhKvK3FMNGtgpx28e4zLuF\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "release: v1.30.0 (#220)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-13T01:31:46Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "2b285d238f9dfcbce9e022d0a43733357d2e29e9",
          "body": "…9) (#219)\n\nOne surface for both: the track record IS the settled book, the wager\nschedule prices it. Aggregates the vault's own ledgers (provenance,\ntensions, staged actions) into per-principal records at read time — no\nnew persistent state, nothing enforced, no document touched.\n\nWager schedule (p\n[…]\nstatus precedent). Edge-observer attribution\ndeferred. Tool surface is now 27.\n\n\nClaude-Session: https://claude.ai/code/session_01MhKvK3FMNGtgpx28e4zLuF\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: vault_witness — agent track records + the wager layer (ideas 4+…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-13T01:24:26Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "d756cccf48e3879e52163d25c32ccacebbd3c7d7",
          "body": "The nightly metabolic pass, composing existing machinery —\ndeterministic, LLM-free, document-write-free: sweep expired staged\nactions, score decay, build the wake list (canonical accumulation docs\npast TTL with downstream dependents, ranked by blast radius) into a\ngitignored .daftari/wake-queue.json\n[…]\ndaemon.\n\nGate for this idea was cleared by the CB7 decision-divergence result.\n\n\nClaude-Session: https://claude.ai/code/session_01MhKvK3FMNGtgpx28e4zLuF\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: daftari sleep — circadian memory (positioning idea 6) (#218)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-13T01:13:26Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e7b83a4e9cd40e351cb98a6a56769a5c77898b6c",
          "body": "…(#215)\n\n* docs(spec): tension-tool RBAC alignment (#212) — both-sides rule everywhere\n\nOne shared visibility rule (read both sides' collections) across\ncontested annotations, tension read tools (filter before aggregate),\nand the tension write path (no cross-ACL quote laundering).\n\nCo-Authored-By: C\n[…]\nhored-By: Claude Fable 5 <noreply@anthropic.com>\n\n* docs: changelog wording — tool-surface scope + name the sibling-summary residuals\n\n---------\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(rbac): tension tools enforce both-sides visibility (closes #212) …",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-12T21:32:59Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "3cb7b48068b3218d4c27cc05760205d7b7578495",
          "body": "…joins (#213) (#214)",
          "is_bot": false,
          "headline": "fix(search): index self-tensions once + pin case/unicode fail-closed …",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-12T20:17:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3e5a1f547b3a972d90cd4cd7e0e8c61287213e70",
          "body": "…211)",
          "is_bot": false,
          "headline": "feat(search): tensions inline in vault_search (benchmark 3b shape) (#…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-12T17:43:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9cb03f98b4216108df33a9038744714c8f84d53f",
          "body": "* fix(bench): CB7 gate v2.1 — strip residual cross-refs/moratoria, calibrate rater to machinery-not-directives\n\nThe v2 gate run: scan 0/90 (markup gone), rater 5/12. Split on\ninspection: three genuine residuals the scan missed — '(cf. item 23)',\ntrailing 'See #32.', discussion-moratorium and WP:-sho\n[…]\ninal section.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01MhKvK3FMNGtgpx28e4zLuF\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "CB7 gate v2.1 + results: WIN — the kill condition fails to fire (#210)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-12T05:27:31Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "32b41e2dd20506810666324dd8995ffe3dfa4bf7",
          "body": "…ential watermark (#209)\n\nThe v1 gate failed 13/13, decomposing into the two causes the spec's\nrisk section anticipated: (1) real differential leakage — settled\nwordings carried raw box apparatus (Supersedes [[#C..]] prefixes,\n{{tq|...}} templates) the hand-distilled tension wordings lack; (2) a\ncon\n[…]\n2).\nSpec amended with the failure and redesign. Instance set is now\n6+6+33=45.\n\n\nClaude-Session: https://claude.ai/code/session_01MhKvK3FMNGtgpx28e4zLuF\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(bench): CB7 gate v2 — strip settled-arm apparatus, gate on differ…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-12T04:59:21Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8262849ba47e38421054951737c1825d8a6d028b",
          "body": "Bumps the npm-minor-and-patch group with 3 updates: [@anthropic-ai/sdk](https://github.com/anthropics/anthropic-sdk-typescript), [tsx](https://github.com/privatenumber/tsx) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\n\n\nUpdates `@anthropic-ai/sdk` from 0.109.1 to 0.1\n[…]\nupdate:semver-patch\n  dependency-group: npm-minor-and-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): bump the npm-minor-and-patch group with 3 updates (#203)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-12T04:43:33Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2eb62ae6adf5080ec14b279bc9d07273b6baf50d",
          "body": "Bumps the npm-minor-and-patch group in /packages/router with 2 updates: [tsx](https://github.com/privatenumber/tsx) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\n\n\nUpdates `tsx` from 4.22.4 to 4.23.0\n- [Release notes](https://github.com/privatenumber/tsx/releases)\n- [\n[…]\nupdate:semver-patch\n  dependency-group: npm-minor-and-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-dev): bump the npm-minor-and-patch group (#202)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-12T04:43:21Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "631fdccfd756ac472554744feea37e69ede37cca",
          "body": "… native retrieval goldens (#204)\n\n* docs(specs): regression suite design — three tiers, golden baselines\n\nTier 1 hermetic PR gate (staleness invariants + lexical retrieval goldens,\nvitest), Tier 2 nightly vector bench, Tier 3 judge-based pre-release run.\nPromotes existing CO2 fixtures and recall-be\n[…]\ndocs(regression): tier 1 suite operating manual\n\n* docs(retros): tier 1 regression build — concepts, tradeoffs, gate-design questions\n\n---------\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: Tier 1 regression suite — hermetic PR gate over CO2 staleness +…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-12T04:43:10Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "a8230504f21bfd33391131b068ce5edb9d616e65",
          "body": "…n (#207)\n\n* feat: daftari court — the Tension Court (positioning idea 3)\n\nCommon-law memory over the tension log. 'daftari court' compiles a\ndocket: every open tension briefed and ranked (aging tier, then blast\nradius, then age) with both sides' claims and present document state,\nthe union blast a \n[…]\ndule comment.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01MhKvK3FMNGtgpx28e4zLuF\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "daftari court (idea 3) + CB7 decision-divergence spec & implementatio…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-12T04:18:42Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "d950941bbc8c8d40bf81ac70455c62a8016f3bc7",
          "body": null,
          "is_bot": false,
          "headline": "feat: daftari asof — belief archaeology (positioning idea 2) (#206)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-11T04:48:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6009a382ac0ad3786611e21a6f40e5d877525ee2",
          "body": "…) (#205)",
          "is_bot": false,
          "headline": "Positioning stock-take + vault_receipt, the epistemic receipt (idea 1…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-11T04:16:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "269816d365aad38d8aca104872dbaeebf2abdd49",
          "body": "…(#201)",
          "is_bot": false,
          "headline": "fix(consolidate): add --max-llm-calls, a real Stage-2 spend cap (S4) …",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-03T19:42:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5f9700a0bcf7c7052a815081e75418e1253d8801",
          "body": "…(#200)",
          "is_bot": false,
          "headline": "perf(themes): scope embedding load + cache pooled vectors (audit E3) …",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-03T19:12:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "202f73e0cb4c8ad7932dc3fbd458f070fa6d5eed",
          "body": "…guard (#199)",
          "is_bot": false,
          "headline": "perf(audit-e6): batch orphan gc, single-collapse ratify, parser size …",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-03T19:11:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4ae7296e1231a919645ea679e62efde100ab6fed",
          "body": "…cit (S5) (#198)",
          "is_bot": false,
          "headline": "fix(consolidate): refuse live consolidate unless shadow_mode is expli…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-03T19:11:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a5da5880b49f1f671f470bedf379ac31646c808c",
          "body": "…) (#197)",
          "is_bot": false,
          "headline": "perf(config): mtime-cache loadConfig off the write hot path (audit E2…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-03T19:11:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "54d78b866cb285039c4633b3bdfa09b9ab95a71c",
          "body": "…(#196)",
          "is_bot": false,
          "headline": "perf(reindex): open index DB once per incremental indexDocument (E5) …",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-03T19:10:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "78dd5cac785c8934b04b27a7b3875aa3a269b4f2",
          "body": null,
          "is_bot": false,
          "headline": "perf(storage): memoize resolved real vault root (audit E4) (#195)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-03T19:10:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fdb21bfccb96f9ad83ccf01e942d6d69d4362e6a",
          "body": "…t (S3) (#194)",
          "is_bot": false,
          "headline": "fix(frontmatter): screen schema patterns for ReDoS + cap pattern inpu…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-03T19:10:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d2799aac311b7551a531c686a5142f2796626b43",
          "body": "…l family) (#193)\n\nAdds createOpenRouterClient (src/eval/llm-openrouter.ts), a second\nmodel-family implementation of the LlmClient contract backed by OpenRouter's\n/chat/completions endpoint, promoted from the decorrelation shim\n(scripts/run-decorrelation-openrouter.mjs) with an injectable fetch for\n\n[…]\nhis transport: only\ndaftari eval drives tools, and eval stays on anthropic — an explicit refusal\nbeats an untested OpenAI function-calling loop.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(consolidate): OpenRouter LLM transport (--transport, second mode…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-03T03:31:40Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "c7f76a127d606765ed5b6757a7b0e98754b1dce6",
          "body": "…tion (#192)",
          "is_bot": false,
          "headline": "fix(rbac): gate write ACL on physical target dir, not declared collec…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-03T02:41:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "77271cefaa985da0cc7920f8a13ccc6299fc0758",
          "body": "…rmitted page (#191)\n\nvault_search (and vault_search_related) could under-return: rankDocuments\nsliced to `limit` BEFORE the tool handler applied canRead, so restricted\ndocs occupying the top-N ranked slots left the caller with fewer than\n`limit` results even when more permitted docs ranked just pas\n[…]\nes cost nothing to materialize — rankDocuments already builds a hit\nper candidate before slicing. Direct callers keep the top-`limit` contract.\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(search): over-fetch before RBAC so vault_search returns a full pe…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-03T01:08:08Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "d38e0cc69bdb81889150edf68f462b98e5eeb074",
          "body": "… (#190)\n\nrankDocuments loaded every documents row (content blob + JSON tag/token\nparse via getAllDocuments) on every vault_search / vault_search_related\ncall — O(vault) work blocking the sync better-sqlite3 event loop, even\nthough the FTS + vector rankers had already produced a small candidate\nset. Fetch only candidate paths via a new chunked-IN getDocumentsByPaths.\nRanking output is byte-for-byte identical. Efficiency finding E1.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "perf(search): scope full-row fetch to candidates, not the whole vault…",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-03T00:50:34Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "697bb3b595f9820e7ecb6f64c30381bd0f7d934c",
          "body": null,
          "is_bot": false,
          "headline": "fix(locks): key write lock on canonical vault-relative path (S2) (#189)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-02T20:39:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b13f256ff4eeae593ca032cab552278158cca3e3",
          "body": null,
          "is_bot": false,
          "headline": "docs: add v1.29.0 security & efficiency audit (#188)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-02T20:38:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c38618d796cf641c191b2a340a5ddcc7fd9b79d7",
          "body": "…th 7 updates (#187)\n\nBumps the npm-minor-and-patch group with 7 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@anthropic-ai/sdk](https://github.com/anthropics/anthropic-sdk-typescript) | `0.100.1` | `0.109.1` |\n| [better-sqlite3](https://github.com/WiseLibs/better-sqli\n[…]\nupdate:semver-patch\n  dependency-group: npm-minor-and-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): bump the npm-minor-and-patch group across 1 directory wi…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-02T00:56:01Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c3f73258d5a19c33d27e3cc73c757dbac107683c",
          "body": "…y with 2 updates (#186)\n\nBumps the npm-minor-and-patch group with 2 updates in the /packages/router directory: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) and [tsx](https://github.com/privatenumber/tsx).\n\n\nUpdates `@types/node` from 20.19.41 to 20.19.43\n- \n[…]\nupdate:semver-patch\n  dependency-group: npm-minor-and-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-dev): bump the npm-minor-and-patch group across 1 director…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-02T00:50:59Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fc6c26ce474f04c8f308fb7ee8240e70f08ad375",
          "body": "Bumps the actions group with 3 updates: [actions/checkout](https://github.com/actions/checkout), [actions/setup-node](https://github.com/actions/setup-node) and [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv).\n\n\nUpdates `actions/checkout` from 4 to 7\n- [Release notes](https://github.com/\n[…]\npe: version-update:semver-major\n  dependency-group: actions\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): bump the actions group with 3 updates (#176)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-01T23:59:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1638dc0fe4ecaad65b2bccbca4b94d31b4657873",
          "body": "The initial version-update run opened a batch of breaking major bumps\n(typescript 6, @types/node 26, chokidar 5, js-yaml 5, lint-staged 17), each\nneeding manual review. Ignore semver-major so steady state is quiet grouped\nminor+patch on root and packages/router plus grouped GitHub Actions; drop the\neval/bench npm dirs and the pip integration as low-value churn. Security\nupdates are unaffected.\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(dependabot): ignore majors, drop bench/pip ecosystems (#185)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-01T23:58:32Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "e89de991141847cdac24fa63e1872394c671ca98",
          "body": "Covers every manifest in the repo: npm at /, /packages/router, and the three\n/integrations/*-bench dirs; pip at /integrations/langchain; and github-actions.\nMinor+patch bumps are grouped per directory to limit PR noise; majors arrive\nindividually so each breaking upgrade gets its own review. Benches\n[…]\nled at\nthe repo level and are unaffected. Transitive vulns still require manual npm\noverrides (as with the hono/protobufjs fixes in #173/#174).\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: add Dependabot config for scheduled version updates (#175)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-01T05:20:48Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "43624759090215552a342acd4b4193bd35d20b86",
          "body": "hono <4.12.25 CORS middleware reflects any Origin with credentials when the\norigin option defaults to wildcard (high). hono is transitive via\n@modelcontextprotocol/sdk in both root and packages/router, so a Dependabot\nauto-PR is not possible; an npm overrides entry is the fix. Resolves alerts\n#12 (r\n[…]\ned on top of #171/#172/#174: hono resolves to 4.12.27 (overridden) in\nboth trees; root build + 1588 tests green; router build + 76 tests green.\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(deps): override hono to ^4.12.25 (GHSA-88fw-hqm2-52qc) (#173)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-01T05:13:38Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "4c5bbf118b9f8bfb60d33c3e6699bb939217857f",
          "body": "protobufjs <=7.6.0 allows denial of service via unbounded Any expansion during\nJSON conversion (high). protobufjs is a deep transitive dependency\n(@huggingface/transformers -> onnxruntime-web -> protobufjs), so Dependabot\ncannot auto-open this; an npm overrides entry is the fix. Resolves alert #9.\n\nVerified: protobufjs resolves to 7.6.4 (overridden); build clean; 1588 tests\ngreen, including the embedding path that runs through onnxruntime.\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(deps): override protobufjs to ^7.6.1 (GHSA-wcpc-wj8m-hjx6) (#174)",
          "author_name": "Mihir Wagle",
          "author_login": "mavaali",
          "committed_at": "2026-07-01T05:08:37Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "71d9f72df0ed54393fd3d67997c330159bfffbba",
          "body": "Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) to 8.1.2 and updates ancestor dependency [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest). These dependencies need to be updated together.\n\n\nUpdates `vite` from 5.4.21 to 8.1.2\n- [Release notes](https://gith\n[…]\nndency-version: 4.1.9\n  dependency-type: direct:development\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): bump vite and vitest in /packages/router (#171)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-01T05:07:56Z",
          "body_truncated": true,
          "is_coding_agent": false
        }
      ],
      "releases_count": 37,
      "commits_last_year": 774,
      "latest_release_at": "2026-07-25T22:48:17Z",
      "latest_release_tag": "v1.32.0",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 11,
      "days_since_latest_release": 2,
      "mean_days_between_releases": 4.7
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 85,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "daftari",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "mcp",
            "knowledge-vault",
            "markdown",
            "agents"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/daftari",
          "is_deprecated": false,
          "latest_version": "1.32.0",
          "repository_url": "https://github.com/mavaali/daftari",
          "versions_count": 43,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 1257,
          "first_published_at": "2026-05-17T19:41:13.231000Z",
          "latest_published_at": "2026-07-25T22:43:26.526000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 2
        }
      ]
    },
    "popularity": {
      "forks": 0,
      "stars": 4,
      "watchers": 0,
      "fork_history": {
        "days": [],
        "complete": true,
        "collected": 0,
        "total_forks": 0
      },
      "star_history": null,
      "open_issues_and_prs": 13
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": true,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "integrations/consensus-bench/tsconfig.json",
        "integrations/contract-bench/tsconfig.json",
        "integrations/recall-bench/tsconfig.json",
        "packages/router/tsconfig.json",
        "tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 107292,
      "source_files_sampled": 500,
      "oversized_source_files": 1,
      "agent_instruction_files": [
        "CLAUDE.md"
      ],
      "agent_instruction_max_bytes": 4740
    },
    "dependencies": {
      "manifests": [
        "package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [
          {
            "name": "adm-zip",
            "direct": false,
            "version": "0.5.18",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-xcpc-8h2w-3j85"
            ],
            "fixed_version": "0.6.0",
            "advisory_count": 1,
            "oldest_advisory_days": 17
          },
          {
            "name": "sharp",
            "direct": false,
            "version": "0.34.5",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.3,
            "advisory_ids": [
              "GHSA-f88m-g3jw-g9cj"
            ],
            "fixed_version": "0.35.0",
            "advisory_count": 1,
            "oldest_advisory_days": 6
          },
          {
            "name": "@hono/node-server",
            "direct": false,
            "version": "1.19.15",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.9,
            "advisory_ids": [
              "GHSA-frvp-7c67-39w9"
            ],
            "fixed_version": "2.0.5",
            "advisory_count": 1,
            "oldest_advisory_days": 6
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "high": 2,
          "moderate": 1
        },
        "advisory_count": 3,
        "affected_count": 3,
        "assessed_count": 233,
        "malicious_count": 0,
        "assessed_package": "npm:daftari@1.32.0",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [
        {
          "name": "@anthropic-ai/sdk",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.110.0"
        },
        {
          "name": "@huggingface/transformers",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.2.0"
        },
        {
          "name": "@modelcontextprotocol/sdk",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.29.0"
        },
        {
          "name": "better-sqlite3",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^12.10.0"
        },
        {
          "name": "chokidar",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.0.3"
        },
        {
          "name": "glob",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^13.0.6"
        },
        {
          "name": "gray-matter",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.0.3"
        },
        {
          "name": "jose",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^6.2.4"
        },
        {
          "name": "js-yaml",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.1.1"
        },
        {
          "name": "sqlite-vec",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.1.9"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@anthropic-ai/sdk",
            "direct": true,
            "version": "0.110.0",
            "ecosystem": "npm"
          },
          {
            "name": "@huggingface/transformers",
            "direct": true,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@modelcontextprotocol/sdk",
            "direct": true,
            "version": "1.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "better-sqlite3",
            "direct": true,
            "version": "12.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": true,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": true,
            "version": "13.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "gray-matter",
            "direct": true,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "jose",
            "direct": true,
            "version": "6.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "jose",
            "direct": true,
            "version": "6.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": true,
            "version": "3.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": true,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "sqlite-vec",
            "direct": true,
            "version": "0.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/runtime",
            "direct": false,
            "version": "7.29.7",
            "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": "@emnapi/core",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/runtime",
            "direct": false,
            "version": "1.11.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": "@hono/node-server",
            "direct": false,
            "version": "1.19.15",
            "ecosystem": "npm"
          },
          {
            "name": "@huggingface/jinja",
            "direct": false,
            "version": "0.5.9",
            "ecosystem": "npm"
          },
          {
            "name": "@huggingface/tokenizers",
            "direct": false,
            "version": "0.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@img/colour",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-darwin-arm64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-darwin-x64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-darwin-arm64",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-darwin-x64",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-linux-arm",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-linux-arm64",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-linux-ppc64",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-linux-riscv64",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-linux-s390x",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-linux-x64",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-linuxmusl-arm64",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-linuxmusl-x64",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-linux-arm",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-linux-arm64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-linux-ppc64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-linux-riscv64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-linux-s390x",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-linux-x64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-linuxmusl-arm64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-linuxmusl-x64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-wasm32",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-win32-arm64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-win32-ia32",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-win32-x64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/wasm-runtime",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-project/types",
            "direct": false,
            "version": "0.138.0",
            "ecosystem": "npm"
          },
          {
            "name": "@protobufjs/aspromise",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@protobufjs/base64",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@protobufjs/codegen",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@protobufjs/eventemitter",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@protobufjs/fetch",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@protobufjs/float",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@protobufjs/path",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@protobufjs/pool",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@protobufjs/utf8",
            "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": "@stablelib/base64",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@standard-schema/spec",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tybys/wasm-util",
            "direct": false,
            "version": "0.10.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/better-sqlite3",
            "direct": false,
            "version": "7.6.13",
            "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/estree",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/js-yaml",
            "direct": false,
            "version": "4.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "20.19.43",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "25.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/pg",
            "direct": false,
            "version": "8.20.0",
            "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": "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": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/utils",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "accepts",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "adm-zip",
            "direct": false,
            "version": "0.5.18",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "8.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "ajv-formats",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-escapes",
            "direct": false,
            "version": "7.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "6.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "1.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "assertion-error",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "base64-js",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "bindings",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "bl",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "body-parser",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "boolean",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "buffer",
            "direct": false,
            "version": "5.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "bytes",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "call-bind-apply-helpers",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "call-bound",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "chai",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "chownr",
            "direct": false,
            "version": "1.1.4",
            "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": "colorette",
            "direct": false,
            "version": "2.0.20",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "14.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "content-disposition",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "content-type",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "content-type",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cookie",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "cookie-signature",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "cors",
            "direct": false,
            "version": "2.8.6",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "decompress-response",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "deep-extend",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "define-data-property",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "define-properties",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "depd",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "detect-libc",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "detect-node",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "dunder-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ee-first",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "10.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "encodeurl",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "end-of-stream",
            "direct": false,
            "version": "1.4.5",
            "ecosystem": "npm"
          },
          {
            "name": "environment",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-define-property",
            "direct": false,
            "version": "1.0.1",
            "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-module-lexer",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-object-atoms",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-object-atoms",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "es6-error",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "escape-html",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "esprima",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "etag",
            "direct": false,
            "version": "1.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "eventemitter3",
            "direct": false,
            "version": "5.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "eventsource",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "eventsource-parser",
            "direct": false,
            "version": "3.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "eventsource-parser",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "expand-template",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "expect-type",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "expect-type",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "express",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "express-rate-limit",
            "direct": false,
            "version": "8.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "extend-shallow",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-sha256",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-uri",
            "direct": false,
            "version": "3.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "file-uri-to-path",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "finalhandler",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "flatbuffers",
            "direct": false,
            "version": "25.9.23",
            "ecosystem": "npm"
          },
          {
            "name": "forwarded",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "fresh",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fs-constants",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "function-bind",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-east-asian-width",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-intrinsic",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "github-from-package",
            "direct": false,
            "version": "0.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "global-agent",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "globalthis",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "gopd",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "guid-typescript",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "has-property-descriptors",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "has-symbols",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "hasown",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "hasown",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "hono",
            "direct": false,
            "version": "4.12.27",
            "ecosystem": "npm"
          },
          {
            "name": "http-errors",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "husky",
            "direct": false,
            "version": "9.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "ieee754",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "ini",
            "direct": false,
            "version": "1.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "ip-address",
            "direct": false,
            "version": "10.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ipaddr.js",
            "direct": false,
            "version": "1.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-extendable",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-promise",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-to-ts",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-typed",
            "direct": false,
            "version": "8.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "json-stringify-safe",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "kind-of",
            "direct": false,
            "version": "6.0.3",
            "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": "lint-staged",
            "direct": false,
            "version": "16.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "listr2",
            "direct": false,
            "version": "9.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "log-update",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "long",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "11.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.21",
            "ecosystem": "npm"
          },
          {
            "name": "matcher",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "math-intrinsics",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "media-typer",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "merge-descriptors",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-db",
            "direct": false,
            "version": "1.54.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-types",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-function",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-response",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "10.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "mkdirp-classic",
            "direct": false,
            "version": "0.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.16",
            "ecosystem": "npm"
          },
          {
            "name": "napi-build-utils",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "negotiator",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-abi",
            "direct": false,
            "version": "3.92.0",
            "ecosystem": "npm"
          },
          {
            "name": "object-assign",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "object-inspect",
            "direct": false,
            "version": "1.13.4",
            "ecosystem": "npm"
          },
          {
            "name": "object-keys",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "obug",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "obug",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "on-finished",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "onetime",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "onnxruntime-common",
            "direct": false,
            "version": "1.24.0-dev.20251116-b39e144322",
            "ecosystem": "npm"
          },
          {
            "name": "onnxruntime-common",
            "direct": false,
            "version": "1.24.3",
            "ecosystem": "npm"
          },
          {
            "name": "onnxruntime-node",
            "direct": false,
            "version": "1.24.3",
            "ecosystem": "npm"
          },
          {
            "name": "onnxruntime-web",
            "direct": false,
            "version": "1.26.0-dev.20260416-b7804b056c",
            "ecosystem": "npm"
          },
          {
            "name": "parseurl",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-scurry",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "path-to-regexp",
            "direct": false,
            "version": "8.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "pathe",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "pg",
            "direct": false,
            "version": "8.22.0",
            "ecosystem": "npm"
          },
          {
            "name": "pg-cloudflare",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "pg-connection-string",
            "direct": false,
            "version": "2.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "pg-int8",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "pg-pool",
            "direct": false,
            "version": "3.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "pg-protocol",
            "direct": false,
            "version": "1.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "pg-types",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "pgpass",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "pkce-challenge",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "platform",
            "direct": false,
            "version": "1.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.23",
            "ecosystem": "npm"
          },
          {
            "name": "postgres-array",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "postgres-bytea",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "postgres-date",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "postgres-interval",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "prebuild-install",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "protobufjs",
            "direct": false,
            "version": "7.6.5",
            "ecosystem": "npm"
          },
          {
            "name": "proxy-addr",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "pump",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "qs",
            "direct": false,
            "version": "6.15.2",
            "ecosystem": "npm"
          },
          {
            "name": "range-parser",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "raw-body",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "rc",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "3.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "require-from-string",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "restore-cursor",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "rfdc",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "roarr",
            "direct": false,
            "version": "2.15.4",
            "ecosystem": "npm"
          },
          {
            "name": "rolldown",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "router",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "section-matter",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "semver-compare",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "send",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "serialize-error",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "serve-static",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "setprototypeof",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "sharp",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-command",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-regex",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel-list",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel-map",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel-weakmap",
            "direct": false,
            "version": "1.0.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": "simple-concat",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "simple-get",
            "direct": false,
            "version": "4.0.1",
            "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-js",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "split2",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "sprintf-js",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "sprintf-js",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "sqlite-vec-darwin-arm64",
            "direct": false,
            "version": "0.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "sqlite-vec-darwin-x64",
            "direct": false,
            "version": "0.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "sqlite-vec-linux-arm64",
            "direct": false,
            "version": "0.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "sqlite-vec-linux-x64",
            "direct": false,
            "version": "0.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "sqlite-vec-windows-x64",
            "direct": false,
            "version": "0.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "stackback",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "standardwebhooks",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "statuses",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "std-env",
            "direct": false,
            "version": "4.1.0",
            "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": "string_decoder",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-bom-string",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-json-comments",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "tar-fs",
            "direct": false,
            "version": "2.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "tar-stream",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinybench",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "1.1.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": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "toidentifier",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ts-algebra",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "tsx",
            "direct": false,
            "version": "4.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "tsx",
            "direct": false,
            "version": "4.23.1",
            "ecosystem": "npm"
          },
          {
            "name": "tunnel-agent",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "0.13.1",
            "ecosystem": "npm"
          },
          {
            "name": "type-is",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "5.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "^6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "6.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "7.24.6",
            "ecosystem": "npm"
          },
          {
            "name": "unpipe",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "util-deprecate",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "vary",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "8.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "^4.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "why-is-node-running",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "9.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "xtend",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "yaml",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "zod",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "zod-to-json-schema",
            "direct": false,
            "version": "3.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "langchain-anthropic",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "langchain-core",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "langchain-mcp-adapters",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "langgraph",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mcp",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pytest",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-asyncio",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 409,
        "direct_count": 12,
        "indirect_count": 397
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 5,
        "merged_prs": 218,
        "open_issues": 8,
        "closed_ratio": 0.882,
        "closed_issues": 60,
        "closed_unmerged_prs": 17
      },
      "bus_factor": 1,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "mavaali",
          "commits": 755,
          "avatar_url": "https://avatars.githubusercontent.com/u/40620108?v=4"
        },
        {
          "type": "User",
          "login": "claude",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/81847?v=4"
        }
      ],
      "contributors_sampled": 2,
      "top_contributor_share": 0.999
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "auto-merge.yml",
        "ci.yml",
        "claude-code-review.yml",
        "claude.yml",
        "nightly-maintenance.yml",
        "pages.yml",
        "release.yml",
        "security-review.yml",
        "workflow.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        "biome.json"
      ],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "package-lock.json"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "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": 0,
            "reason": "project has 0 contributing companies or organizations -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 0,
            "reason": "project was created within the last 90 days. Please review its contents carefully",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": 10,
            "reason": "packaging workflow detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 3,
            "reason": "dependency not pinned by hash detected -- score normalized to 3",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 3,
            "reason": "SAST tool is not run on all commits -- score normalized to 3",
            "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": null,
            "reason": "no releases found",
            "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": 7,
            "reason": "3 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "3dbbebf9ab4806bcaad6e00a8145dbb288a90c6b",
        "ran_at": "2026-07-28T05:48:04Z",
        "aggregate_score": 4.9,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": true,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-28T01:37:50Z",
      "oldest_open_prs": [
        {
          "number": 168,
          "created_at": "2026-06-30T14:52:37Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 229,
          "created_at": "2026-07-15T01:17:22Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 304,
          "created_at": "2026-07-26T18:03:06Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 306,
          "created_at": "2026-07-26T18:47:16Z",
          "last_comment_at": "2026-07-28T01:37:46Z",
          "last_comment_author": "claude"
        },
        {
          "number": 308,
          "created_at": "2026-07-27T19:26:13Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-07-27T04:15:28Z",
      "ci_last_conclusion": "SKIPPED",
      "oldest_open_issues": [
        {
          "number": 1,
          "created_at": "2026-05-17T21:44:15Z",
          "last_comment_at": "2026-07-19T21:51:18Z",
          "last_comment_author": "mavaali"
        },
        {
          "number": 97,
          "created_at": "2026-05-31T23:30:12Z",
          "last_comment_at": "2026-07-25T19:59:16Z",
          "last_comment_author": "mavaali"
        },
        {
          "number": 270,
          "created_at": "2026-07-20T08:23:10Z",
          "last_comment_at": "2026-07-27T08:52:44Z",
          "last_comment_author": "claude"
        },
        {
          "number": 297,
          "created_at": "2026-07-26T02:19:28Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 298,
          "created_at": "2026-07-26T02:19:41Z",
          "last_comment_at": "2026-07-26T02:34:17Z",
          "last_comment_author": "claude"
        },
        {
          "number": 299,
          "created_at": "2026-07-26T02:19:52Z",
          "last_comment_at": "2026-07-26T02:22:09Z",
          "last_comment_author": "claude"
        },
        {
          "number": 300,
          "created_at": "2026-07-26T02:20:09Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 301,
          "created_at": "2026-07-26T02:20:14Z",
          "last_comment_at": "2026-07-26T02:25:28Z",
          "last_comment_author": "claude"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/mavaali/daftari",
    "host": "github.com",
    "name": "daftari",
    "owner": "mavaali"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 63,
      "inputs": {
        "security": 56,
        "vitality": 77,
        "community": 43,
        "governance": 55,
        "engineering": 80
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "good",
        "name": "Vitality",
        "value": 77,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 62,
            "inputs": {
              "commits_last_year": 774,
              "human_commit_share": 0.89,
              "days_since_last_push": 0,
              "active_weeks_last_year": 11
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "11/52 weeks with commits",
                "points": 7.6,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 11
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "774 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 774
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "project was created within the last 90 days. Please review its contents carefully",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "releases_count": 37,
              "latest_release_tag": "v1.32.0",
              "releases_from_tags": false,
              "days_since_latest_release": 2,
              "mean_days_between_releases": 4.7
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "37 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 37
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 2 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 2
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~4.7 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 4.7
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "unverified",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": "repository_too_young",
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": null,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "maintenance record not established from the collected data",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_unverified",
                    "params": {}
                  }
                ],
                "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": 43,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 8,
            "inputs": {
              "forks": 0,
              "stars": 4,
              "watchers": 0,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "4 stars",
                "points": 7.7,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 4
                    }
                  }
                ],
                "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": "0 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "good",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 77,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "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": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "moderate",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 52,
            "inputs": {
              "packages": [
                "daftari"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 1257
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "1,257 downloads/month across npm",
                "points": 41.3,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 1257,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 55,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 12,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 2,
              "top_contributor_share": 0.999
            },
            "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": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "2 contributors",
                "points": 2.7,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 0 contributing companies or organizations -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 77,
            "inputs": {
              "merged_prs": 218,
              "open_issues": 8,
              "closed_issues": 60,
              "issue_closed_ratio": 0.882,
              "closed_unmerged_prs": 17
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "88% of issues closed",
                "points": 41.2,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 88
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "218/235 decided PRs merged",
                "points": 35.5,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 218,
                      "decided": 235
                    }
                  }
                ],
                "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": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "verified_domain"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 48,
            "inputs": {
              "followers": 7,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "mavaali",
              "public_repos": 21,
              "account_age_days": 2953
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "personal (user) account",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_personal",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": "not applicable to user accounts",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_applicable_to_user_accounts",
                    "params": {}
                  }
                ],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "7 followers of mavaali",
                "points": 6.5,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 7,
                      "login": "mavaali"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "21 public repos, account ~8 yr old",
                "points": 21.8,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 21
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 8
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "daftari"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 2
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 2 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 2
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "43 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 43
                    }
                  }
                ],
                "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": "good",
        "name": "Engineering Quality",
        "value": 80,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "good",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 84,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "9 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 9
                    }
                  }
                ],
                "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": "biome.json",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "biome.json"
                    }
                  }
                ],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "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": "good",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "topics": [],
              "has_wiki": true,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 56,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 49,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 17,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 1,
              "scorecard_aggregate": 4.9
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "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 0 contributing companies or organizations -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "project was created within the last 90 days. Please review its contents carefully",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 3",
                "points": 1.5,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 3",
                "points": 1.5,
                "status": "partial",
                "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": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "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": "3 existing vulnerabilities detected",
                "points": 5.2,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "good",
            "name": "Dependency advisories",
            "note": "Matched the npm:daftari@1.32.0 runtime dependency closure — what installing the published package pulls in — 233 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "npm:daftari@1.32.0",
                  "assessed": 233
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 82,
            "inputs": {
              "source": "osv",
              "advisories": 3,
              "affected_packages": 3,
              "assessed_packages": 233,
              "unassessed_packages": 0,
              "affected_by_severity": "high 2, moderate 1",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "3 affected: adm-zip 0.5.18 (high 7.5), sharp 0.34.5 (high 7.3), @hono/node-server 1.19.15 (moderate 5.9)",
                "points": 7.5,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 3,
                      "packages": "adm-zip 0.5.18 (high 7.5), sharp 0.34.5 (high 7.3), @hono/node-server 1.19.15 (moderate 5.9)"
                    }
                  }
                ],
                "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": 233,
              "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": 2
            },
            "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": 80,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "excellent",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.989,
              "agent_instruction_files": [
                "CLAUDE.md"
              ],
              "agent_instruction_max_bytes": 4740
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "CLAUDE.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "CLAUDE.md"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "88 of 89 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 88,
                      "sampled": 89
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "good",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "package-lock.json"
              ],
              "has_dockerfile": true,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "integrations/consensus-bench/tsconfig.json",
                "integrations/contract-bench/tsconfig.json",
                "integrations/recall-bench/tsconfig.json",
                "packages/router/tsconfig.json",
                "tsconfig.json"
              ],
              "agent_commit_share": 0.57,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.11
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "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": "biome.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "biome.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "integrations/consensus-bench/tsconfig.json, integrations/contract-bench/tsconfig.json, integrations/recall-bench/tsconfig.json, packages/router/tsconfig.json, tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "integrations/consensus-bench/tsconfig.json, integrations/contract-bench/tsconfig.json, integrations/recall-bench/tsconfig.json, packages/router/tsconfig.json, tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "57 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 57,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "11 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 11,
                      "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 3",
                "points": 3,
                "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": "TypeScript",
              "largest_source_bytes": 107292,
              "source_files_sampled": 500,
              "oversized_source_files": 1
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "TypeScript (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "TypeScript"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "1/500 source files over 60KB",
                "points": 54.9,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 500,
                      "oversized": 1
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "moderate",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 60,
            "inputs": {
              "example_dirs": [
                "examples"
              ],
              "has_mcp_signal": true,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "examples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "examples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-28T05:48:20.857044Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/m/mavaali/daftari.svg",
  "full_name": "mavaali/daftari",
  "license_state": "standard",
  "license_spdx": "MIT"
}

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 agregadasnpm.