Registro público
Informe de salud del softwareesquema 0.27.0 · métricas 1.13.0 · 2026-07-27 16:54 UTC

aiassistsecure / nedb

NEDB - versioned, self-compressing, time-traveling embedded database

Python · RustLicencia propia★ 0 estrellas⑂ 2 forksdesde jun 2026forkVer en GitHub ↗

aiassistsecure/nedb tiene un índice de salud de 46 sobre 100, lo que lo sitúa en la banda En riesgo. Su puntuación más alta es AI Readiness (70/100) y la más baja, Community & Adoption (25/100). Se actualizó por última vez hace 13 días. Una sola persona concentra la mayor parte del trabajo reciente.

46
global / 100
En riesgo

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

46
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

Ai Assist SecureOrganización
1 seguidor25 repositorios públicosdesde dic 2025

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

Ecosistemas de paquetes

Métricas por categoría

Vitalidad

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

67Moderado · 22% del índice global
Cómo se puntúa
28.8/36Recencia de push — último push hace 13 días
4.2/36Cadencia de commits — 6/52 semanas con commits
18/18Volumen de commits — 381 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_year381
human_commit_share1
days_since_last_push13
active_weeks_last_year6
Cómo se puntúa
27/27Publica versiones — 9 versiones publicadas
36/36Recencia de las versiones — última versión hace 29 días
27/27Cadencia de publicación — una versión cada ~1,6 días
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Datos de entrada utilizados
releases_count9
latest_release_tagv2.4.468
releases_from_tagsno
days_since_latest_release29
mean_days_between_releases1,6

Comunidad y Adopción

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

25Crítico · 18% del índice global
Cómo se puntúa
0/60Estrellas — 0 estrellas
0/25Forks — 2 forks
0/15Observadores — 0 observadores
Datos de entrada utilizados
forks2
stars0
watchers0
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Cómo se puntúa
0/22.5README
16.9/22.5Licencia — archivo de licencia presente, no es una licencia reconocida
0/18Guía CONTRIBUTING
0/13.5Código de conducta
0/7.2Plantilla de issues
0/6.3Plantilla de PR
Datos de entrada utilizados
has_readmeno
has_licenseno
has_contributingno
has_issue_templateno
has_code_of_conductno
has_pull_request_templateno
Cómo se puntúa
56.1/80Descargas mensuales — 16.119 descargas/mes en npm, pypi
0/20Dependientes en el registro — no lo informa este ecosistema
Datos de entrada utilizados
packagesnedb-engine, nedb-engine
dependents
ecosystemsnpm, pypi
total_downloads
monthly_downloads16.119
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?

38En riesgo · 24% del índice global
Cómo se puntúa
9/54Factor bus — la mitad de los commits recae en 1 contribuyente(s)
10.1/22.5Distribución de commits — el principal contribuyente firma el 55% 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,553
Cómo se puntúa
0/46.8Resolución de issues — sin issues o sin datos
0/38.3Aceptación de PR — sin PR decididos o sin datos
0/15OpenSSF Scorecard: Code-Review — Found 0/30 approved changesets -- score normalized to 0
Datos de entrada utilizados
merged_prs0
open_issues0
closed_issues0
issue_closed_ratio
closed_unmerged_prs0
Excluidos de la puntuación (sin datos o no aplicable): Resolución de issues, Aceptación de PR. Los pesos restantes se han renormalizado.
Cómo se puntúa
30/30Respaldo de la propiedad — propiedad de una organización
0/20Dominio verificado
2.2/25Alcance del propietario — 1 seguidores de aiassistsecure
11.5/25Trayectoria — 25 repos públicos, cuenta de ~0 años
Datos de entrada utilizados
followers1
owner_typeOrganization
is_verified
owner_loginaiassistsecure
public_repos25
account_age_days213
Cómo se puntúa
25/25Publicado y resoluble — 2 paquete(s) en npm, pypi
35/35Recencia de publicación — última publicación hace 6 días
20/20Historial de versiones — 141 versiones en el registro
20/20No obsoleto — activo, ni obsoleto ni retirado
Datos de entrada utilizados
packagesnedb-engine, nedb-engine
ecosystemsnpm, pypi
any_deprecatedno
min_days_since_publish6

Calidad de Ingeniería

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

60Moderado · 20% del índice global
Cómo se puntúa
24/24Flujos de trabajo de CI — 2 flujo(s) de trabajo
24/24Pruebas presentes
0/16Configuración de linter
0/9.6Hooks de pre-commit
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — sin datos
Datos de entrada utilizados
has_ci
has_tests
has_editorconfigno
has_linter_configno
has_precommit_configno
Excluidos de la puntuación (sin datos o no aplicable): OpenSSF Scorecard: CI-Tests. Los pesos restantes se han renormalizado.

Documentación

60Moderado
Cómo se puntúa
0/30README
25/25Directorio de documentación
15/15Sitio de documentación / página del proyecto — https://ne-db.com
0/10Descripción del repositorio
10/10Topics — 7 topics
10/10Wiki
Datos de entrada utilizados
topicsdatabase, db, natural-language, nedb, nl, nql, ne-db
has_wiki
homepagehttps://ne-db.com
has_readmeno
has_docs_dir
has_descriptionno

Seguridad

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

36En riesgo · 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
0/2.5CI-Tests — sin datos
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/30 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
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.2/2.5Licencia — license file detected
0/7.5Maintained — project was created within the last 90 days. Please review its contents carefully
0/5Packaging — sin datos
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — no SAST tool detected
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — Project has not signed or included provenance with any releases.
7.5/7.5Token-Permissions — GitHub workflow tokens follow principle of least privilege
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate3,6
Excluidos de la puntuación (sin datos o no aplicable): ci_tests, packaging. Los pesos restantes se han renormalizado.

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.

70Bueno · 0% del índice global
Cómo se puntúa
45/45Instrucciones para agentes — AGENTS.md
0/15Documentación legible por máquinas (llms.txt)
40/40Historial de commits legible — 92 de 100 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share0,92
agent_instruction_filesAGENTS.md
agent_instruction_max_bytes11.344
Cómo se puntúa
12.6/18Arranque con un solo comando — rust/Cargo.toml, rust/crates/nedb-core/Cargo.toml, rust/crates/nedb-node/Cargo.toml (convención del toolchain, sin ejecutor de tareas)
22/22Pruebas automatizadas
0/11Configuración de lint / formato
11/11Verificación estática de tipos — client/node/tsconfig.json
10/10Entorno reproducible — lockfile
10/10Práctica demostrada con agentes — 54 de los últimos 100 commits con autoría o crédito de agente
0/8Mantenimiento automatizado — no se observan actualizaciones automáticas de dependencias
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Datos de entrada utilizados
has_nixno
has_tests
lockfilesCargo.lock
has_dockerfileno
typed_languageno
bootstrap_files
has_devcontainerno
has_linter_configno
typecheck_configsclient/node/tsconfig.json
agent_commit_share0,54
toolchain_manifestsrust/Cargo.toml, rust/crates/nedb-core/Cargo.toml, rust/crates/nedb-node/Cargo.toml, rust/crates/nedb-py/Cargo.toml, rust/nedb-v2/Cargo.toml
dependency_bot_commit_share0
Cómo se puntúa
27/45Código verificable por tipos — Python con configuración de verificación de tipos (client/node/tsconfig.json)
54.4/55Tamaños de archivo manejables — 1/87 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languagePython
largest_source_bytes68.567
source_files_sampled87
oversized_source_files1
Cómo se puntúa
0/40Esquema de API (OpenAPI/GraphQL/proto)
0/20Servidor MCP
40/40Ejemplos ejecutables — examples
Datos de entrada utilizados
example_dirsexamples
has_mcp_signalno
api_schema_files

Datos clave

0estrellas de GitHub
2contribuidores
381commits en los últimos 12 meses
13días desde el último push
9versiones publicadas
1factor bus
0issues abiertas
crates.io, npm, PyPIecosistemas de paquetes

Advertencias de recopilación de datos

  • Community profile unavailable
  • GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

Más detalle

Historial de estrellas y forks 0 ★ / 2 ⇿
0Estrellas
2Forks
1Versiones

Cuándo se añadió cada estrella y fork, recopilado de GitHub y agrupado por día. El crecimiento acumulado se sitúa justo encima de las adiciones diarias que lo componen, de modo que ambos se leen en conjunto: la acumulación orgánica sostenida no se parece en nada a un pico abrupto y efímero. Cuando esa diferencia es medible, se informa como autenticidad del crecimiento.

111222212026-062026-062026-06
Mayor 0Menor 0Parche 1
OpenSSF Scorecard 3.6 / 10
3.6agregado

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-27 16:54 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
n/dCI-Testsno pull request found
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/30 approved changesets -- score normalized to 0
0Contributorsproject has 0 contributing companies or organizations -- score normalized to 0
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
9Licenselicense file detected
0Maintainedproject was created within the last 90 days. Please review its contents carefully
n/dPackagingpackaging workflow not detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTno SAST tool detected
0Security-Policysecurity policy file not detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
10Token-PermissionsGitHub workflow tokens follow principle of least privilege
10Vulnerabilities0 existing vulnerabilities detected
Dependencias directas 1
RegistroPaqueteRestricción de versiónManifiesto
PyPIpycryptodome>=3.19pyproject.toml
Todas las dependencias no recopilado

No fue posible recopilar el conjunto de dependencias resuelto para este informe: GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

Informe JSON sin procesar legible por máquina
{
  "data": {
    "repo": {
      "topics": [
        "database",
        "db",
        "natural-language",
        "nedb",
        "nl",
        "nql",
        "ne-db"
      ],
      "is_fork": true,
      "size_kb": 1091,
      "has_wiki": true,
      "homepage": "https://ne-db.com",
      "languages": {
        "Rust": 359225,
        "Python": 604816,
        "JavaScript": 53215,
        "TypeScript": 13605
      },
      "pushed_at": "2026-07-14T14:38:04Z",
      "created_at": "2026-06-13T16:02:58Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-14T14:38:11Z",
      "description": "NEDB - versioned, self-compressing, time-traveling embedded database",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": null,
      "default_branch": "master",
      "license_spdx_raw": "NOASSERTION",
      "primary_language": "Python",
      "significant_languages": [
        "Python",
        "Rust"
      ]
    },
    "owner": {
      "blog": "https://aiassist.net",
      "name": "Ai Assist Secure",
      "type": "Organization",
      "login": "aiassistsecure",
      "company": null,
      "location": null,
      "followers": 1,
      "avatar_url": "https://avatars.githubusercontent.com/u/251513271?v=4",
      "created_at": "2025-12-25T21:17:58Z",
      "is_verified": null,
      "public_repos": 25,
      "account_age_days": 213
    },
    "license": {
      "state": "custom",
      "spdx_id": null,
      "raw_spdx": "NOASSERTION",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": false
    },
    "activity": {
      "releases": [
        {
          "tag": "v2.4.468",
          "kind": "patch",
          "published_at": "2026-06-27T20:45:56Z"
        },
        {
          "tag": "v2.2.27",
          "kind": "patch",
          "published_at": "2026-06-22T14:37:38Z"
        },
        {
          "tag": "v2.2.0",
          "kind": "minor",
          "published_at": "2026-06-17T20:59:45Z"
        },
        {
          "tag": "v2.1.0",
          "kind": "minor",
          "published_at": "2026-06-17T19:43:43Z"
        },
        {
          "tag": "v2.0.36",
          "kind": "patch",
          "published_at": "2026-06-17T15:54:48Z"
        },
        {
          "tag": "v2.0.4",
          "kind": "patch",
          "published_at": "2026-06-16T19:15:22Z"
        },
        {
          "tag": "v1.2.0",
          "kind": "minor",
          "published_at": "2026-06-15T18:18:00Z"
        },
        {
          "tag": "v0.9.0",
          "kind": "minor",
          "published_at": "2026-06-15T00:09:03Z"
        },
        {
          "tag": "v0.6.0",
          "kind": "minor",
          "published_at": "2026-06-14T20:08:04Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "570bc1477cad51a8895b9a4dee6275b01b1aaaa2",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'Eth-Interchained:master' into master",
          "author_name": "gr0wth.eth.xmr",
          "author_login": "ethgr0wth",
          "committed_at": "2026-07-14T14:38:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ea94813b9162885cc7ad579d8fe0ce6f2bac11ad",
          "body": "release: NEDB v2.7.0 tri-distribution",
          "is_bot": false,
          "headline": "release: NEDB v2.7.0 tri-distribution (#56)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-11T20:12:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "242fc27eecc28b4f541ea4b8be35a4915555ef33",
          "body": "Flagship to 2.7.0; submodules repointed to the 2.7.0 fork masters so all three\nproducts ship aligned on v2.7.0.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "release: NEDB 2.7.0 -- flagship bump + submodule repoint",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-07-11T20:12:38Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "7121a3d82c40122d13bbe1f39aace329626f3c6f",
          "body": "…on-client\n\nfeat: official Python client — nedb.client.NedbClient (preps v2.7.0)",
          "is_bot": false,
          "headline": "Merge pull request #55 from Eth-Interchained/hyperagent/official-pyth…",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-11T20:12:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "389e062da562b0150c9b30d44fd0b1f5d28dac82",
          "body": "The ecosystem had three hand-rolled HTTP clients (AiAS storage adapter,\nAiAS backfill, Studio's TS proxy) and the engine shipped none. This\npromotes the battle-tested AiAS clients - the ones that ran the\nproduction Redis->NEDB mainnet migration - into the official client,\nextended to speak the daemo\n[…]\nsion clean: nedb 11, tx 17, daemon-ttl 9, concurrent 15,\nproof 33, wrap_redis 74.\n\nPrep for v2.7.0 (release via scripts/release.py after merge).\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: official Python client for nedbd - nedb.client.NedbClient",
          "author_name": "Vex (Hyperagent)",
          "author_login": null,
          "committed_at": "2026-07-11T20:07:36Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1596a255e9271495a9e002fa1725946a5b33fa04",
          "body": "release: NEDB v2.6.3 tri-distribution",
          "is_bot": false,
          "headline": "release: NEDB v2.6.3 tri-distribution (#54)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-11T16:21:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "daa3761ed8143ddbf36dedc1703ec38f9adb7c13",
          "body": "Flagship to 2.6.3; submodules repointed to the 2.6.3 fork masters so all three\nproducts ship aligned on v2.6.3.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "release: NEDB 2.6.3 -- flagship bump + submodule repoint",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-07-11T16:21:26Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "88db2c68b5238b026910e22eebaeeaaf6537d62a",
          "body": "feat: daemon-side TTL — ttl_s over HTTP, /sweep route, background sweeper",
          "is_bot": false,
          "headline": "Merge pull request #53 from Eth-Interchained/hyperagent/daemon-ttl",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-11T16:19:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d4ee7ee6bc1e01aa874a3469e7614281bbc82774",
          "body": "…eper\n\nEngine TTL was lazy-only (fires on as_of=None gets), but daemon reads are\nsnapshot-pinned through the Sequencer — so over HTTP, ttl_s couldn't even\nbe set (/put dropped it) and expired docs lingered forever. Three pieces:\n\n- /put now forwards ttl_s (tx already did); documented in the API head\n[…]\nss.\n\nMotivation: AiAS->NEDB migration slice 4 (sessions/tokens) and slice 1\ninvite tokens (SETEX parity) need engine-native TTL over the daemon.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: daemon-side TTL — ttl_s over HTTP, /sweep route, background swe…",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-07-11T16:18:19Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "88de8333aa9f4d56c2bd11696caa3e2f8f4cd449",
          "body": "release: NEDB v2.6.2 tri-distribution",
          "is_bot": false,
          "headline": "release: NEDB v2.6.2 tri-distribution (#52)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-11T15:57:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a401b266848e385c8f0806717838c392850a23b3",
          "body": "Flagship to 2.6.2; submodules repointed to the 2.6.2 fork masters so all three\nproducts ship aligned on v2.6.2.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "release: NEDB 2.6.2 -- flagship bump + submodule repoint",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-07-11T15:57:00Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "0ffda15e7c45037f5a3e2e42bd22e4681633bd02",
          "body": "feat: atomic multi-op tx with if_seq CAS preconditions (Lua-atomics replacement)",
          "is_bot": false,
          "headline": "Merge pull request #51 from Eth-Interchained/hyperagent/atomic-tx-if-seq",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-11T15:56:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fb28feef4b9a28457cd99738ba3dc54914541380",
          "body": "…eplacement)\n\nAdds engine-native guarded transactions — the primitive that replaces\nRedis Lua scripts for atomic check-then-act across multiple documents,\ncorrect across any number of client processes/workers.\n\nEngine (NEDB.tx):\n- ops: put/del/link, each with optional if_seq, idem, client, caused_by\n[…]\nAIM_SEAT, LUA_REVOKE_SEAT, LUA_PIN_JOB_COMPLETE,\nLUA_PIN_WITHDRAW, LUA_PIN_ADD_CREDITS with typed, testable guard\nfunctions over this primitive.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: atomic multi-op tx with if_seq CAS preconditions (Lua-atomics r…",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-07-11T15:50:26Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "827606fe74f73e37b6f68f3df9d0d6df7ba9e9f9",
          "body": "docs(ideas): queue NQL parity — nedb-v2 GROUP BY execution + cross-engine parity CI",
          "is_bot": false,
          "headline": "Merge pull request #50 from Eth-Interchained/hyperagent/queue-nql-parity",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-06T01:22:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "43348216b9d25bef1f2443f0d7a707e84e078e53",
          "body": "…ss-engine parity CI\n\nFound in the field by NEDB Links analytics (silent all-zeros on\nnedbd.exe): v2.6.1 ships three NQL implementations — python query.py\n(serves the wheel daemon; embedded NedbCore never on the query path),\nrust nedb-core (executes GROUP BY), rust nedb-v2 (parses group_by,\nzero con\n[…]\nting the python daemon through NedbCore.\n\nLinks-side mitigation already shipped (Links PR #16: response-shape\ndetection + app-side aggregation).\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(ideas): queue NQL parity work — nedb-v2 GROUP BY execution + cro…",
          "author_name": "Vex (Hyperagent)",
          "author_login": null,
          "committed_at": "2026-07-06T01:22:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "b8d455d5bcd746972d69a08e09b90a58f1d85550",
          "body": "release: NEDB v2.6.1 tri-distribution",
          "is_bot": false,
          "headline": "release: NEDB v2.6.1 tri-distribution (#49)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-02T18:56:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7f1e607fde559d20dfb79635864c95417c6eba37",
          "body": "Flagship to 2.6.1; submodules repointed to the 2.6.1 fork masters so all three\nproducts ship aligned on v2.6.1.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "release: NEDB 2.6.1 -- flagship bump + submodule repoint",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-07-02T18:56:02Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "0ec3fe1ff3649aa64f956357fe82862116ddb615",
          "body": "…zy-manifest-upgrade\n\nfix(db): pre-2.5.43 MANIFEST warm-boots — no forced cold scan (v2.6.1 hotfix)",
          "is_bot": false,
          "headline": "Merge pull request #48 from Eth-Interchained/hyperagent/2026-07-02-la…",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-02T18:55:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "821560ebcf973a5fdd9fd947844da6a2543ced34",
          "body": "The 'cold scan once to upgrade' policy for MANIFESTs without tip_hash\nwas a boot tax exactly where it hurts most: a multi-million-object\nembedded store (itcd -dagv3: 1.7M+ objects per database, three\ndatabases) on seek-bound media pays HOURS of random reads racing the\nhost's own boot I/O — and if th\n[…]\ny immediately), tip() is\nNone (not a scan), a fresh write takes the correct next seq, and after\none flush the next boot resolves tip() normally.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(db): pre-2.5.43 MANIFEST warm-boots — no forced cold scan to upgrade",
          "author_name": "Vex (Hyperagent)",
          "author_login": null,
          "committed_at": "2026-07-02T18:54:24Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e601745386ec66c0fea552a9eb0960b365f88abd",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'Eth-Interchained:master' into master",
          "author_name": "gr0wth.eth.xmr",
          "author_login": "ethgr0wth",
          "committed_at": "2026-07-02T17:34:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4e7e34f9d00cd38528c3be3d7e5b79dcb88ecd2f",
          "body": "release: NEDB v2.6.0 tri-distribution",
          "is_bot": false,
          "headline": "release: NEDB v2.6.0 tri-distribution (#47)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-02T17:19:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a7e8b09140b4da114f7cbfcc3fe659773b0aef76",
          "body": "Flagship to 2.6.0; submodules repointed to the 2.6.0 fork masters so all three\nproducts ship aligned on v2.6.0.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "release: NEDB 2.6.0 -- flagship bump + submodule repoint",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-07-02T17:19:52Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "645f5550c67921ac7baa5e7a34e0e2888c67929a",
          "body": "…07-02-pread-handle-cache\n\nperf(segment): cached read handles + positional reads for v3 gets",
          "is_bot": false,
          "headline": "Merge pull request #46 from Eth-Interchained/hyperagent/nightly-2026-…",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-02T17:10:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b9b7c8a830aac88156fa8344e125bb2a5323493f",
          "body": "Full session trail for the next turn: the v3 read-path change on this\nbranch (mechanism, safety argument, tests, how to measure), the six\ncorrectness fixes already shipped in v2.5.55 via PR #44, registry\nverification state, and the ranked backlog with the one item flagged\nas needing a design decision before code (canonical head).\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs: handoff — pread handle cache + correctness quick-wins session",
          "author_name": "Vex (Hyperagent)",
          "author_login": null,
          "committed_at": "2026-07-02T17:08:25Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "4b39cf3c5bf1934899fcc1c976702a5f9cfda3aa",
          "body": "…ead)\n\nEvery v3 point read paid open + seek + read + close — 3-4 syscalls and\nfd churn per get(), on the exact path itcd -dagv3 chainstate reads live\non (and CreateFile is the expensive syscall on Windows, where Nemo\nruns). Review finding #5 (HIGH).\n\nNow: one shared read-only File per segment, cache\n[…]\nle segments (sealed + active), then compaction\ninvalidation. Existing tamper/torn-tail/rollover/compaction tests all\nexercise the new read path.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "perf(segment): cached read handles + positional reads (pread / seek_r…",
          "author_name": "Vex (Hyperagent)",
          "author_login": null,
          "committed_at": "2026-07-02T17:06:32Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "fa8142eeaa66691d09e665998f72eeede335048c",
          "body": "release: NEDB v2.5.55 tri-distribution",
          "is_bot": false,
          "headline": "release: NEDB v2.5.55 tri-distribution (#45)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-02T16:54:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ca6eaaaa49652e7c21635ef0782cd9491330048a",
          "body": "Flagship to 2.5.55; submodules repointed to the 2.5.55 fork masters so all three\nproducts ship aligned on v2.5.55.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "release: NEDB 2.5.55 -- flagship bump + submodule repoint",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-07-02T16:54:26Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "cfc22e23283ad614c55b5672fce57aaefee9d4f2",
          "body": "…07-02-correctness-quickwins\n\nfix: correctness quick-wins from the Fable5 performance review",
          "is_bot": false,
          "headline": "Merge pull request #44 from Eth-Interchained/hyperagent/nightly-2026-…",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-02T16:53:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "673d85803871bdf082880214b439b5c963c08f25",
          "body": "…bench\n\n- traverse_multi_source: rows -> _rows (only count is asserted)\n- v3_bench: label/objects/reads were written but never read; use them in\n  the report output instead of suppressing — column headers now come\n  from Stats.label and the table gains 'objects written' and 'point\n  reads' rows.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: fix build warnings — unused test var, dead Stats fields in v3_…",
          "author_name": "Vex (Hyperagent)",
          "author_login": null,
          "committed_at": "2026-07-02T16:52:36Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "e981990bc81a1b209903f459f4baf16a3be62277",
          "body": "…ANIFEST\n\nTwo gaps in the crash-durability story:\n\n1. flush_manifest was fs::write + rename with no fsync of file or\n   directory. On power loss, rename-without-fsync can leave a zero-\n   length or partial MANIFEST at the final path (ext4 delayed\n   allocation). The startup self-heal catches it, but\n[…]\nk fsync.\n\nCost: one segment fsync + one MANIFEST fsync per dirty tick (1s), off\nthe hot write path. No-op for loose-object and in-memory stores.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(db): durability ordering — sync segments before MANIFEST, fsync M…",
          "author_name": "Vex (Hyperagent)",
          "author_login": null,
          "committed_at": "2026-07-02T16:33:01Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "aa1bafe716a49d2fdb2b0937060d581001782af8",
          "body": "…off-by-one\n\nThree concurrency/restart correctness fixes in the head/tip machinery:\n\n1. update_head extended the Merkle head via read-lock-then-write-lock.\n   Two concurrent puts could both read the same prev head and one\n   contribution was silently dropped from the running chain — corrupting\n   th\n[…]\nnter (max_seq+1).\n\nRegressions: concurrent_puts_tip_resolves_to_highest_seq_after_warm_restart,\nmanifest_after_cold_scan_does_not_reuse_tip_seq.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(db): atomic head chain, seq-guarded tips, cold-scan MANIFEST seq …",
          "author_name": "Vex (Hyperagent)",
          "author_login": null,
          "committed_at": "2026-07-02T16:32:23Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e5016b1157c10121b306296859c98c99a9b09058",
          "body": "…indexed\n\nTwo halves of one contract:\n\n1. put_batch never removed the superseded version's values from sorted\n   indexes (put() did). After any batch updating existing ids in an\n   indexed collection, top-k returned stale hashes — superseded rows\n   surfaced in ORDER BY results alongside current one\n[…]\nx_entries (old code\nreturns 2 rows, one stale) and update_without_indexes_preserves_chain\n(guards prev-chain + AS OF through the new fast path).\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(db): put_batch sorted-index parity + skip old-object read when un…",
          "author_name": "Vex (Hyperagent)",
          "author_login": null,
          "committed_at": "2026-07-02T16:29:30Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "2a9820c503c4c8df3fc421f60a84ad206395e453",
          "body": "Candidate generation pushed LIMIT into the sorted-index top-k BEFORE the\nWHERE/SEARCH/VALID AS OF filters ran. 'WHERE n_tx > 100 ORDER BY height\nLIMIT 10' fetched the 10 lowest blocks by height, then filtered — losing\nevery match past the top-k window and returning fewer (possibly zero)\nrows than ex\n[…]\nthe executor already does.\n\nRegression: where_order_limit_does_not_truncate_before_filter (old code\nreturns 0 rows; reference answer is [4, 5]).\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(nql): ORDER BY + WHERE + LIMIT no longer truncates before filtering",
          "author_name": "Vex (Hyperagent)",
          "author_login": null,
          "committed_at": "2026-07-02T16:28:40Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "65a11e4950abff6fff98acad7c040d6ed172fe47",
          "body": "The flush snapshotted write_buf, wrote files in parallel, then removed\nevery snapshotted key UNCONDITIONALLY. A set() landing between the\nsnapshot and the remove was deleted from the buffer without ever being\nflushed: disk kept the stale hash, get() served the old version, and the\nnext put() chained\n[…]\nsion: flush_never_drops_a_concurrent_newer_write (2000 keys\nwritten v1-then-v2 against a spinning flusher; old code strands keys at\nv1 on disk).\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(index): flush_write_buf no longer drops writes racing the flush",
          "author_name": "Vex (Hyperagent)",
          "author_login": null,
          "committed_at": "2026-07-02T16:28:07Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "4f33d1a260a2de60371e009ac491bb79c43dd5e5",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'Eth-Interchained:master' into master",
          "author_name": "gr0wth.eth.xmr",
          "author_login": "ethgr0wth",
          "committed_at": "2026-07-01T17:42:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d11bce0938b7362b5371e081739974c11ada81b8",
          "body": "release: NEDB v2.5.45 tri-distribution",
          "is_bot": false,
          "headline": "release: NEDB v2.5.45 tri-distribution (#43)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-01T16:55:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "01ea840ce0b06b90487fd3121ee04d3fb10edb32",
          "body": "Flagship to 2.5.45; submodules repointed to the 2.5.45 fork masters so all three\nproducts ship aligned on v2.5.45.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "release: NEDB 2.5.45 -- flagship bump + submodule repoint",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-07-01T16:55:08Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ef117f21602b95717794bef8bb96dc78f3ae3d52",
          "body": "…07-01-cold-scan-live-progress\n\nfix(engine): cold scan reports live progress, not a flat 0",
          "is_bot": false,
          "headline": "Merge pull request #42 from Eth-Interchained/hyperagent/nightly-2026-…",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-01T16:54:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fbae26756e60ed264e80de8406e83d330f156684",
          "body": "…whole time\n\nLive bug caught by Mark on a ~7.9M-object datastore: the holographic scan\nprogress just-shipped in itc-node-rs showed \"0 objects indexed\" for 100+\nseconds straight, rate stuck at 0/s, while [nedbd]'s own internal log had\nalready announced \"background scan -- 7948967 objects...\". Not a U\n[…]\nve correctly afterward. Guards the end\nstate; the live mid-scan behavior is what Mark is validating directly against\nproduction data right now.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(engine): cold scan reports live progress instead of a flat 0 the …",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-07-01T16:50:48Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "4d78e43ca7017e9f75a65c24a7d859f0ce695ef4",
          "body": "release: NEDB v2.5.44 tri-distribution",
          "is_bot": false,
          "headline": "release: NEDB v2.5.44 tri-distribution (#41)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-01T16:00:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ebae446b5e8307ec4c474c87d4b5efb697c77d9d",
          "body": "Flagship to 2.5.44; submodules repointed to the 2.5.44 fork masters so all three\nproducts ship aligned on v2.5.44.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "release: NEDB 2.5.44 -- flagship bump + submodule repoint",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-07-01T16:00:12Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "7acebb43d85c4f2c32af00cae880f1c270f43768",
          "body": "…07-01-tip-collection-durability\n\nfeat(engine): durable tip_collection() — same warm-restart guarantee as tip()",
          "is_bot": false,
          "headline": "Merge pull request #40 from Eth-Interchained/hyperagent/nightly-2026-…",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-01T15:59:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9f9eadfe7a220471ef8f5f45bbbdafe5fc9376e9",
          "body": "…as tip()\n\nMark caught it: v2.5.43 made tip() durable across a warm restart but\ntip_collection(coll) still walked the in-memory seq_index backward from head,\nwhich is empty on a warm boot (warm start skips the cold scan) -> returns None,\nsame failure class as pre-2.5.43 tip(). Matters directly for i\n[…]\nEPLICATION.md + a dated handoff doc describe the fix and flag a versioning\nquestion for the next release (v2.5.5 vs v2.5.44 — see handoff doc).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(engine): durable tip_collection() — same warm-restart guarantee …",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-07-01T15:56:25Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "91971dda6ef41aedf79772f2f8d6b876c572e1e0",
          "body": "release: NEDB v2.5.43 tri-distribution",
          "is_bot": false,
          "headline": "release: NEDB v2.5.43 tri-distribution (#39)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-01T15:42:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9e1c62002936c37bc578cc330b26057a1f574d40",
          "body": "Flagship to 2.5.43; submodules repointed to the 2.5.43 fork masters so all three\nproducts ship aligned on v2.5.43.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "release: NEDB 2.5.43 -- flagship bump + submodule repoint",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-07-01T15:42:07Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "c6b0c8ae406e653d73861971e87c6b473d14f7dd",
          "body": "…07-01-durable-tip\n\nfeat(engine): durable tip() — survives warm restart via MANIFEST (v2.5.43)",
          "is_bot": false,
          "headline": "Merge pull request #38 from Eth-Interchained/hyperagent/nightly-2026-…",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-01T15:41:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a2c55a8dddf34cdf25597f6a5fd838f6c332b68d",
          "body": "…hash (2.5.43)\n\ntip() resolved only through the in-memory seq_index (get_hash_by_seq), which is\npopulated by live-session writes or the cold scan and is EMPTY on a warm boot\n(warm start loads {seq, head} from MANIFEST and skips the scan). So tip()/since()\nreturned None after a warm restart — an embe\n[…]\n: tip_survives_warm_restart — write, flush, reopen warm (seq_index cold),\nassert tip() still returns the last object via the MANIFEST fallback.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(engine): durable tip() — survives warm restart via MANIFEST tip_…",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-07-01T15:11:14Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "566063732cdc52cf24c5b2d6041e28aae0f7b2df",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'Eth-Interchained:master' into master",
          "author_name": "gr0wth.eth.xmr",
          "author_login": "ethgr0wth",
          "committed_at": "2026-07-01T14:07:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "50d3f6ba14c9447bdc58eaf44bcdeeaae54efe41",
          "body": "…06-30-docs\n\ndocs: durability contract, nedb-cli & nedb-inspector, README 2.5.34 refresh",
          "is_bot": false,
          "headline": "Merge pull request #37 from Eth-Interchained/hyperagent/nightly-2026-…",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-01T01:51:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d87e42335841fa40f389829fa084cd94182d5819",
          "body": "…(2.5.34)\n\nAdd docs/DURABILITY.md — the durable-mode auto-flush-on-exit contract across\nRust (install_exit_flush), Node (process.on auto-arm + NEDB_NO_EXIT_FLUSH), and\nPython (atexit; os._exit caveat), plus the storage model and when to flush\nmanually.\n\nAdd docs/CLI.md — nedb-cli command reference (\n[…]\ne tip/since/scan_status replication\ncontract); note flush-on-exit in the durability line; add a Companion CLIs\nsubsection under the nedbd docs.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs: durability contract, nedb-cli & nedb-inspector, README refresh …",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-07-01T01:41:15Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "7ddf2613f9f8f318e8387202c1fda3c90bcd9c8f",
          "body": "release: NEDB v2.5.34 tri-distribution",
          "is_bot": false,
          "headline": "release: NEDB v2.5.34 tri-distribution (#36)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-01T01:34:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "df88145958b007f3313082cd4aa81dc693f32e39",
          "body": "Flagship to 2.5.34; submodules repointed to the 2.5.34 fork masters so all three\nproducts ship aligned on v2.5.34.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "release: NEDB 2.5.34 -- flagship bump + submodule repoint",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-07-01T01:34:02Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "0d5f978af65ecfaf02c95b1ff52e0c48a2f0a8b1",
          "body": "…06-30-nedb-cli\n\nfeat(cli): nedb-cli — companion CLI/sidecar for a v2 store on disk",
          "is_bot": false,
          "headline": "Merge pull request #35 from Eth-Interchained/hyperagent/nightly-2026-…",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-01T01:30:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "25ccae19a75981bc026e306d6c2bebe122636c65",
          "body": "`nedbd` serves a store over HTTP; `nedb-cli` operates on a store directory\ndirectly, offline, no server needed.\n\nCommands: head · status (scan_status + seq + head) · verify (re-hash every node,\nreport tamper) · get <coll> <id> [seq] (time-travel AS OF) · scan [after] [limit]\n(changefeed NDJSON via s\n[…]\n drives the compiled binary against a real store —\nhead/status/get/verify/export/flush, plus missing-doc → exit 1 and\nunknown-command → exit 2.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(cli): nedb-cli — companion CLI/sidecar for a v2 store on disk",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-07-01T01:25:13Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "6254860aeacd75cf48a3911d28eb5f7205e6f3fc",
          "body": "…06-30-nedb-inspector\n\nfeat(inspector): nedb-inspector.mjs — deterministic durable flush-on-exit checker",
          "is_bot": false,
          "headline": "Merge pull request #34 from Eth-Interchained/hyperagent/nightly-2026-…",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-01T01:16:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3b48d98495cd0b068556aff9618b6bb52ee8addc",
          "body": "…06-30-durable-exit-flush\n\nfeat: durable-mode auto-flush-on-exit (engine + node + python)",
          "is_bot": false,
          "headline": "Merge pull request #33 from Eth-Interchained/hyperagent/nightly-2026-…",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-01T01:16:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "df037bf276cc42b7871eb71dd3ac656d9615eb3d",
          "body": "…tion\n\nfeat(engine): 2.5.3 replication contract — bounded since(), scan_status(), tip_collection() + docs",
          "is_bot": false,
          "headline": "Merge pull request #32 from Eth-Interchained/hyperagent/2.5.3-replica…",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-01T01:16:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa0fd774d2dec1bb7ba7f1213dfb6a828f58b8b1",
          "body": "…exit checker\n\nA zero-dependency Node ESM CLI that reads how a program EMBEDS NEDB and warns\nloudly, with the exact correct pattern, when a durable database is opened\nwithout flush-on-exit wiring — the guardrail for durable-mode auto-flush-on-exit.\n\nDeterministic by design (no regex, no LLM): a per-\n[…]\nfalse negative), identifier boundaries, import-vs-prose. Green on\nnode 24. Verified end-to-end: flags itc-node-rs store.rs Db::open at line 39.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(inspector): nedb-inspector.mjs — deterministic durable flush-on-…",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-07-01T01:03:05Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "ffd2bacec9729d5c1aa961550f1b50aa9bb5a80e",
          "body": "pyo3 NedbCore.open registers a Python atexit hook (register_atexit_flush) that\nflushes on interpreter shutdown. atexit covers normal exit AND Ctrl+C\n(SIGINT -> KeyboardInterrupt -> exit), so no C-level sigaction is taken — which\nwould break KeyboardInterrupt. Holds only a Weak<Db>; best-effort so a hook\nhiccup never fails open().\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(python): register cooperative atexit flush on durable open",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-07-01T00:53:33Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "29f870868e5560d6acdec6d6b8bcdac516bacf15",
          "body": "index.js wraps the native NedbCore.open so a durable open registers\nprocess.on('SIGINT'|'SIGTERM'|'exit', () => db.flush()) — the libuv-cooperative\nhook, NOT a C-level sigaction in the addon (which would clobber libuv's own\nsignal handling). In-memory (new NedbCore()) is never armed. Escape hatch:\nN\n[…]\nFLUSH=1.\n\nThe generated napi binding is redirected to native.js/native.d.ts so index.js\nowns the entry; index.d.ts re-exports the native types.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(node): arm durable-mode auto-flush-on-exit (libuv-cooperative)",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-07-01T00:53:33Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "09a30f4a64a73893a92a72e362a93c6b28fa407d",
          "body": "Close the hard-exit durability gap. `Drop` flushes, but only fires once every\nArc handle is gone — a manifest ticker (or a serve-forever process) holds one\nfor the process lifetime, so on SIGINT/SIGTERM `Drop` never runs and writes\nstaged since the last flush are lost.\n\n`install_exit_flush(Arc<Db>)`\n[…]\nno-op, idempotent registration, write->flush->reopen durability.\nexamples/exit_flush_demo.rs proves the live-signal path via a real kill -TERM.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(engine): durable-mode auto-flush-on-exit — Db::install_exit_flush",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-07-01T00:53:33Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "bcdf0fc28c0beb5e28fdeb9439649732a3b4b101",
          "body": "… parity (2.5.3 #4)\n\nAdds collection-scoped tip: the latest write into a given collection, so a consumer\ncan resume ONE chain (blocks / tx / utxo) without pulling global tip() and filtering.\nScans the seq index backward from the head to the first node in coll (bounded by how\nrecently the collection \n[…]\nme/collections/:coll/tip.\n\nPer Oracle 2.5.3 #4 (close the reference/production tip asymmetry; unblocks the ITC\nsync client's per-chain resume).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(engine): tip_collection(coll) — collection-local head, reference…",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-06-30T23:32:28Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "62b659afcd8b5acf450ef25c1496ac8d1160730a",
          "body": "…te gate (2.5.3 #3)\n\ndocs/REPLICATION.md — the canonical downstream pattern: tip() -> since(cursor, limit)\n-> subscribe, the SinceBatch envelope, the persisted-cursor catch-up loop, and\nscan_complete as a HARD gate (an old cursor before the cold-scan finishes can return\na partial page that looks lik\n[…]\nht up\"). API-surface table across core/bindings/HTTP.\n\nPer Oracle 2.5.3 #3 (document the blessed handoff so consumers don't each improvise it).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs: replication contract — since()->subscribe handoff + scan-comple…",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-06-30T23:29:27Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "954ce46a320cf853bd74f244ac4dd7eb71403940",
          "body": "…ate (2.5.3 #2)\n\nExposes ScanStatus { scan_complete, tip_seq, indexed_seq_min, indexed_seq_max,\nindexed_count }. scan_complete (from startup_ready) is the correctness gate: an\nold cursor passed to since() before the cold-scan finishes can return a PARTIAL\npage that looks like \"caught up\", so a corre\n[…]\n:name/status.\n- napi + PyO3: scan_status() -> JSON string.\n\nPer Oracle 2.5.3 #2 (make cold-scan completion explicit readiness, not a footnote).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(engine): scan_status() — replication readiness + scan-complete g…",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-06-30T23:28:36Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "053058fe3aed85dd2b8a3529196a8b34d7c75b94",
          "body": "….5.3 #1)\n\nsince() now returns a cursor-paged SinceBatch { nodes, from_seq, to_seq, head_seq,\nhas_more } instead of an unbounded Vec<Node>. limit==0 uses DEFAULT_SINCE_LIMIT\n(10k), so the engine primitive itself can never materialize an unbounded batch —\nsafety in the core, not only the HTTP layer. \n[…]\nr Oracle 2.5.3 #1 (bounded catch-up for the ITC sync client / forumBridge /\npayouts after downtime). No tag — 2.5.3 lands after all four items.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(engine): bounded since() -> SinceBatch — paginated changefeed (2…",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-06-30T23:24:38Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "f1ae3cef8e21b0dfdea8574ea5404c855c35bd89",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'Eth-Interchained:master' into master",
          "author_name": "gr0wth.eth.xmr",
          "author_login": "ethgr0wth",
          "committed_at": "2026-06-30T21:39:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cdc07d3ba0373011e8e20e2a7090a731e17d95d1",
          "body": "release: NEDB v2.5.2 tri-distribution",
          "is_bot": false,
          "headline": "release: NEDB v2.5.2 tri-distribution (#31)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-06-30T19:51:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6ea067b32e0a2720461e87fadcf8218649a76aee",
          "body": "Flagship to 2.5.2; submodules repointed to the 2.5.2 fork masters so all three\nproducts ship aligned on v2.5.2.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "release: NEDB 2.5.2 -- flagship bump + submodule repoint",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-06-30T19:51:18Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "37385124d456dfbc7c80b9d0e2c908385ce3dd0a",
          "body": "release: NEDB v2.5.1 tri-distribution",
          "is_bot": false,
          "headline": "release: NEDB v2.5.1 tri-distribution (#30)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-06-30T19:29:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa9967b6fb6bf2d4ad776b023ce1df90ade01edd",
          "body": "Flagship to 2.5.1; submodules repointed to the 2.5.1 fork masters so all three\nproducts ship aligned on v2.5.1.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "release: NEDB 2.5.1 -- flagship bump + submodule repoint",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-06-30T19:28:59Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "1f98a32e9e3d81c0d5c3babd4ccf574a786aaf72",
          "body": "Two log-native read primitives on the v2 DAG engine, surfaced across every\nbinding and the daemon:\n\n- tip()             -> the most recent write (head of the log). O(1). None if empty.\n- since(after_seq)  -> changefeed: every write AFTER an exclusive cursor, ascending.\n\nBuilt on the existing seq_ind\n[…]\nn bump / tag here —\nthis PR is for compile; release.py bumps + tags v2.5.1 to fire CI CD once green.\n\nCo-authored-by: Vex <vex@interchained.org>\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(engine): tip() + since() — latest write + changefeed (#29)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-06-30T19:28:41Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "a5d0f685f9220e40760971b686ba537d3c009415",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'Eth-Interchained:master' into master",
          "author_name": "gr0wth.eth.xmr",
          "author_login": "ethgr0wth",
          "committed_at": "2026-06-27T21:47:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4b601d9d1d06712d1e8d1b6b9e4824958bbf92c3",
          "body": "release: NEDB v2.5.0 tri-distribution",
          "is_bot": false,
          "headline": "release: NEDB v2.5.0 tri-distribution (#28)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-06-27T21:40:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9ebd59063c03f4be01926a27e2c6e3e3620e66da",
          "body": "Flagship to 2.5.0; submodules repointed to the 2.5.0 fork masters so all three\nproducts ship aligned on v2.5.0.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "release: NEDB 2.5.0 -- flagship bump + submodule repoint",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-06-27T21:40:35Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "7042d20c8e660f8887390b9847b538369aeca5e5",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'Eth-Interchained:master' into master",
          "author_name": "gr0wth.eth.xmr",
          "author_login": "ethgr0wth",
          "committed_at": "2026-06-27T20:44:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "66aac254174bacf15e36d6c2e6dd2a7531365a42",
          "body": "…easing section\n\nCOMMITS.md: v2.4.3/v2.4.68/v2.4.468 releases, the three-distribution table, recent\nengine PRs (#22,#24-#27) + fork PRs, and the distro-npm macOS mac-wait.\nideas.md: refreshed to current state (per-distro defaults; release.py name pre-flight;\nnedbd-v2 per-distro binary de-collision).\nREADME: Releasing section documenting scripts/release.py \"vFROM\" \"vTO\"; stable banner -> 2.4.468.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs: bring COMMITS.md + ideas.md current to v2.4.468; add README Rel…",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-06-27T20:35:39Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "3dc3b834913faf8a7aae75fc4faeac4b53316c90",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'Eth-Interchained:master' into master",
          "author_name": "gr0wth.eth.xmr",
          "author_login": "ethgr0wth",
          "committed_at": "2026-06-27T20:33:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "400c45f2bbeff732a054074e2a93ae69a75d176d",
          "body": "release: NEDB v2.4.468 (distro npm waits for Codemagic mac .node)",
          "is_bot": false,
          "headline": "release: NEDB v2.4.468 + scripts/release.py tool (#27)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-06-27T20:10:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "37ce819e4cdfbb37bf68be4794b51a73593fb875",
          "body": "… release tool\n\nOne command: scripts/release.py \"vFROM\" \"vTO\" bumps both distro forks +\nflagship, repoints submodules, opens+merges PRs, and tags vTO to fire CI/CD.\nIdempotent: skips repos already at TO, leaves an existing tag, still proceeds.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(release): add scripts/release.py -- idempotent tri-distribution…",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-06-27T20:10:37Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "f274a097c52230aca6c7a19cc569d7d3456c5dbd",
          "body": "…ign >2.4.444\n\nrelease-distros distro-publish-npm now polls the GitHub release for each\ndistro's <name>.darwin-arm64/.darwin-x64.node (Codemagic) and assembles them\nbefore npm publish, mirroring the flagship -- so the distro npm packages ship\nfull mac+linux+windows coverage. Also fixes the matrix job-name (Object -> npm).\nFlagship + both submodules bumped to 2.4.468 (>2.4.444, so nedb-engine default\nrealigns everywhere).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "release: NEDB 2.4.468 -- distro npm waits for Codemagic mac .node; al…",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-06-27T19:57:59Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "2ad18a08ac507ff25f2006fc480f103535baf994",
          "body": "release: NEDB v2.4.68 tri-distribution (distro build fix)",
          "is_bot": false,
          "headline": "release: NEDB v2.4.68 tri-distribution (#26)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-06-27T19:45:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fdf6953f9e0134133a27ac35e516009d60b0a8c1",
          "body": "Flagship bumped to 2.4.68 (engine, clients, maturin). Submodules repointed to\nthe 2.4.68 fork masters where the nedb-engine crate (rust/nedb-v2) was raised\nfrom 2.4.3 to satisfy the wrapper's path-dep -- the cause of the distro napi\nbuild failure. codemagic distro paths and the release-distros refs/tags quote\nfix are already on master. One tag ships nedb-engine + crypto-database + aof-db\naligned on v2.4.68.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "release: NEDB 2.4.68 -- tri-distribution aligned + distro build fix",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-06-27T19:44:55Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "f368d0f6fcf785df7ced5b38b742d5cd84e848e0",
          "body": "fix(ci): release-distros startup_failure + align v2.4.444",
          "is_bot": false,
          "headline": "fix(ci): release-distros startup_failure + align v2.4.444 (#25)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-06-27T19:18:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d556b8c7cc6c9e58c153215aa36bde6ebbfda157",
          "body": "…ign v2.4.444\n\nGitHub Actions expressions require single-quoted string literals; the v2.4.4\nrename left startsWith(github.ref, \"refs/tags/\") with double quotes in three\nif: conditions, which is valid YAML but an invalid workflow -> startup_failure\n(no jobs, no logs). Restore single quotes so release\n[…]\nules to their 2.4.444 fork\nmasters; codemagic distro paths already corrected. Ships nedb-engine +\ncrypto-database + aof-db aligned on v2.4.444.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(ci): release-distros refs/tags single-quote (startup_failure); al…",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-06-27T19:14:25Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "c9895f2cec197b5336344fabe7c0df8ce85f36f6",
          "body": "fix(ci): codemagic distro paths + align v2.4.44 tri-distribution",
          "is_bot": false,
          "headline": "fix(ci): codemagic distro paths + align v2.4.44 tri-distribution (#24)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-06-27T19:03:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ca2534b7e60c70c75b7f148fdd3d0a8f765f50ac",
          "body": "…ign v2.4.44\n\nThe rename moved the distro submodules + release-distros.yml to the new names\n(crypto-database, aof-db) but codemagic.yaml still cd'd into distributions/cryptoDB\nand distributions/nitroDB, breaking the 4 macOS distro builds. Repoint every distro\ncodemagic step to distributions/crypto-d\n[…]\ngship to 2.4.44 and repoint both submodules to their 2.4.44 fork masters so\nnedb-engine + crypto-database + aof-db all ship aligned on v2.4.44.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(ci)!: point codemagic distro builds at crypto-database/aof-db; al…",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-06-27T19:02:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "b3008c89bccad184702337e9a5a0034e9c4dfe3f",
          "body": "…(cryptoDB->crypto-database, nitroDB->aof-db)\n\nBumps nedb-engine + nedb-engine-client to 2.4.4 across all version surfaces. Renames distro submodules: distributions/cryptoDB -> distributions/crypto-database (pinned @ d076d56) and distributions/nitroDB -> distributions/aof-db (pinned @ b6df8a4, URL r\n[…]\n both distros under their new names in parallel with the engine. crypto-database keeps name=cryptodb on PyPI (crypto-database taken by third party).\n\nCloses #23\n\n© INTERCHAINED LLC x Claude Sonnet 4.6",
          "is_bot": false,
          "headline": "feat!: bump nedb-engine + client to v2.4.4, rename distro submodules …",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-06-27T18:28:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5aba2b4f0a1a16c9641688564edd2b6ac3c0d9b4",
          "body": "feat(distros): submodules + central release-distros.yml (R2)",
          "is_bot": false,
          "headline": "release: NEDB v2.4.3 tri-distribution (#22)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-06-27T17:33:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4ad9a8170e8c0af2fd5180e8ab58cb4e886e3a5c",
          "body": "Bump flagship to 2.4.3; repoint cryptoDB/nitroDB submodules to their 2.4.3 master\n(unique READMEs + aligned manifests). One tag ships nedb-engine + cryptoDB +\nnitroDB across npm/PyPI/crates (+ 6 macOS wheels via Codemagic).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "release: NEDB 2.4.3 -- aligned tri-distribution release",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-06-27T17:31:43Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "d231316c5ce84cc1e8664d24c54d599468bf8f0c",
          "body": "The cryptoDB/nitroDB macOS workflows now init their own submodule and cd into\ndistributions/<distro> per step, so they need zero Codemagic app settings and\nreuse the same nedb_secrets tokens. 6 mac builds (flagship + 2 distros x\narm64/intel) in one codemagic.yaml. release.yml untouched.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "ci(codemagic): self-contained distro mac workflows (init submodule + cd)",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-06-27T17:11:11Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "bb01fb2e169f3efc7834163c072ee0ecb8f350e7",
          "body": "…ster\n\ncodemagic.yaml now defines 6 macOS workflows (nedb-engine + cryptoDB + nitroDB,\narm64 + intel) as copies of the proven flagship workflows with working_directory\nset to each distro submodule -- one file, one tag, no new codemagic files.\nSubmodules repointed from the distro-layer branches to ma\n[…]\nd distro layer AND the stripped CI (the forks have no workflows/codemagic\nof their own, so nothing double-publishes). release.yml is untouched.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "ci(distros): codemagic builds all 6 macOS wheels; submodules track ma…",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-06-27T17:06:45Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "2a2914fe8064ea0b74cd53b6369f38481ed07562",
          "body": "….yml\n\nAdds the two distribution repos as submodules under distributions/ (tracking\ntheir distro-layer branches until crypto-datab/cryptoDB#1 and nitro-db/nitroDB#1\nmerge), plus an additive .github/workflows/release-distros.yml that builds each\ndistro as a REAL independent build from its submodule (\n[…]\n on a v* tag. release.yml\n(the flagship nedb-engine publish) is untouched. codemagic.yaml notes the\nmacOS-native distro follow-up. Review-only.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(distros): submodule cryptoDB + nitroDB + central release-distros…",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-06-27T16:57:02Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "88f2d9f4f1f4b409f8452f93be37f20a9243d690",
          "body": "ci(release): gate npm publish on the smoke test",
          "is_bot": false,
          "headline": "ci(release): smoke gate before npm publish (#21)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-06-26T19:38:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8699bf8fc63469b548214601a1080c7daf6d5a28",
          "body": "Add a `smoke-gate` job that downloads the freshly-built Linux napi .node\naddon artifact and runs the shipped `npm test` (test/smoke.mjs) against it.\nThe gate fails if any of the five acts fail (non-zero exit) or the\n\"all five acts passed\" banner is missing. publish-npm now `needs` the gate\nand only runs when `needs.smoke-gate.result == 'success'` -- a red smoke\nmeans nothing publishes to npm. CI-only change: no version bump, no tag.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "ci(release): gate npm publish on the smoke test against the built addon",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-06-26T19:38:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "a3db43cb7841e74ffc714eec42bbd057d1bd7764",
          "body": "fix(cli): nedbd-v2 flag parsing + cinematic npm-test smoke demo (v2.4.2)",
          "is_bot": false,
          "headline": "release: NEDB v2.4.2 (#20)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-06-26T18:29:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0843ce3fd542965aa1f4ca12082a6b658222a9f4",
          "body": "…emo (v2.4.2)\n\nnedbd-v2 now parses --dag-v3, --data/-d, --fast-fsync (alias --dag-fast-sync),\n--host/-H, --port/-p, --token, --memory/-m, --help/-h, --version/-V. Previously\nthe first token was taken as the positional data dir, so\n`nedbd-v2 --dag-v3 --data ./x` created a directory literally named \"-\n[…]\nd Production Stable at 2.4.2; v3 enable example uses nedbd-v2;\nSPEC status -> 2.4.2. COMMITS.md + ideas.md updated. 9 manifests 2.4.1 -> 2.4.2.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(cli): nedbd-v2 real argument parsing + cinematic npm-test smoke d…",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-06-26T18:29:36Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "fae2c4150d8ad989e14bd72f704f1926a90026e0",
          "body": "release: NEDB v2.4.1 — CI-fixup re-tag, marked stable",
          "is_bot": false,
          "headline": "release: NEDB v2.4.1 (#19)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-06-26T17:22:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "086ada90900969d0a24d552d3173aea3126d1279",
          "body": "…m publish\n\nSkeleton release (no engine change vs 2.4.0). Re-tag now that the Codemagic\nGITHUB_TOKEN is set in the right repo's secrets AND codemagic.yaml hands gh a\nclean explicit token -- so the macOS wheels/.node upload and this is the first\nCOMPLETE cross-platform publish (native incl. macOS + universal wheel) since\n2.3.3333. Bump 9 manifests 2.4.0 -> 2.4.1; marked stable in README; COMMITS row.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "release: NEDB v2.4.1 -- CI-fixup re-tag; first complete cross-platfor…",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-06-26T17:22:43Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "de828c92cb082c3a4ab44f276d182d891364a72c",
          "body": "fix(ci): clean explicit GH_TOKEN for Codemagic gh upload (401 fix)",
          "is_bot": false,
          "headline": "fix(ci): clean explicit GH_TOKEN for Codemagic gh upload (#18)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-06-26T17:16:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "02658295cef6cae1c8567c313ad70e5600dd01fb",
          "body": "…lease upload)\n\nThe macOS wheel builds compiled fine, but `gh release upload` 401'd with the same\ntoken that authenticates fine via an explicit Bearer header (the skill uses it at\n200) -- so the value is VALID; gh just wasn't receiving it cleanly. Almost\ncertainly a trailing newline in the Codemagic\n[…]\nrint the token length + `gh auth\nstatus` to confirm. Re-run the Mac builds on master to backfill v2.4.0's darwin\nassets; fixes all future tags.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(ci): hand Codemagic's gh a clean, explicit token (fixes 401 on re…",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-06-26T17:16:40Z",
          "body_truncated": true,
          "is_coding_agent": true
        }
      ],
      "releases_count": 9,
      "commits_last_year": 381,
      "latest_release_at": "2026-06-27T20:45:56Z",
      "latest_release_tag": "v2.4.468",
      "releases_from_tags": false,
      "days_since_last_push": 13,
      "active_weeks_last_year": 6,
      "days_since_latest_release": 29,
      "mean_days_between_releases": 1.6
    },
    "community": {
      "has_readme": false,
      "has_license": false,
      "has_description": false,
      "has_contributing": false,
      "health_percentage": null,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "nedb-engine",
          "exists": true,
          "license": "GPL-3.0-or-later",
          "keywords": [
            "database",
            "embedded",
            "mvcc",
            "time-travel",
            "bi-temporal",
            "causal-provenance",
            "tamper-evident",
            "hash-chain",
            "versioning",
            "napi-rs",
            "rust",
            "nedb"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/nedb-engine",
          "is_deprecated": false,
          "latest_version": "2.7.1",
          "repository_url": "https://github.com/aiassistsecure/nedb",
          "versions_count": 65,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 5308,
          "first_published_at": "2026-06-13T05:12:27.017000Z",
          "latest_published_at": "2026-07-20T22:47:13.684000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 6
        },
        {
          "name": "nedb-engine",
          "exists": true,
          "license": "GPL-3.0-or-later",
          "keywords": [
            "database",
            "embedded",
            "mvcc",
            "time-travel",
            "versioning",
            "compression",
            "dedup",
            "graph",
            "search",
            "persistence",
            "server",
            "Development Status :: 3 - Alpha",
            "Intended Audience :: Developers",
            "License :: OSI Approved :: Apache Software License",
            "Programming Language :: Python :: 3",
            "Topic :: Database :: Database Engines/Servers"
          ],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/nedb-engine/",
          "is_deprecated": false,
          "latest_version": "2.7.2",
          "repository_url": "https://github.com/aiassistsecure/nedb",
          "versions_count": 141,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 10811,
          "first_published_at": "2026-06-13T03:21:46.485667Z",
          "latest_published_at": "2026-07-21T00:45:00.599276Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 6
        }
      ]
    },
    "popularity": {
      "forks": 2,
      "stars": 0,
      "watchers": 0,
      "fork_history": {
        "days": [
          {
            "date": "2026-06-18",
            "count": 1
          },
          {
            "date": "2026-06-27",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 2,
        "total_forks": 2
      },
      "star_history": {
        "days": [],
        "complete": true,
        "collected": 0,
        "total_stars": 0,
        "collected_at": null
      },
      "open_issues_and_prs": 0
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "client/node/tsconfig.json"
      ],
      "toolchain_manifests": [
        "rust/Cargo.toml",
        "rust/crates/nedb-core/Cargo.toml",
        "rust/crates/nedb-node/Cargo.toml",
        "rust/crates/nedb-py/Cargo.toml",
        "rust/nedb-v2/Cargo.toml"
      ],
      "largest_source_bytes": 68567,
      "source_files_sampled": 87,
      "oversized_source_files": 1,
      "agent_instruction_files": [
        "AGENTS.md"
      ],
      "agent_instruction_max_bytes": 11344
    },
    "dependencies": {
      "manifests": [
        "package.json",
        "pyproject.toml",
        "rust/Cargo.toml"
      ],
      "advisories": {
        "error": null,
        "scope": null,
        "source": null,
        "findings": [],
        "collected": false,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 0,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "crates",
        "npm",
        "pypi"
      ],
      "dependencies": [
        {
          "name": "pycryptodome",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3.19"
        }
      ],
      "all_dependencies": {
        "error": "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
        "source": null,
        "packages": [],
        "collected": false,
        "truncated": false,
        "total_count": null,
        "direct_count": null,
        "indirect_count": null
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 0,
        "open_issues": 0,
        "closed_ratio": null,
        "closed_issues": 0,
        "closed_unmerged_prs": 0
      },
      "bus_factor": 1,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "ethgr0wth",
          "commits": 68,
          "avatar_url": "https://avatars.githubusercontent.com/u/38635290?v=4"
        },
        {
          "type": "User",
          "login": "Eth-Interchained",
          "commits": 55,
          "avatar_url": "https://avatars.githubusercontent.com/u/117552056?v=4"
        }
      ],
      "contributors_sampled": 2,
      "top_contributor_share": 0.553
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "release-distros.yml",
        "release.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "Cargo.lock"
      ],
      "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": null,
            "reason": "no pull request found",
            "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/30 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": 0,
            "reason": "no 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": 9,
            "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": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "no SAST tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": 0,
            "reason": "Project has not signed or included provenance with any releases.",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 10,
            "reason": "GitHub workflow tokens follow principle of least privilege",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 10,
            "reason": "0 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "570bc1477cad51a8895b9a4dee6275b01b1aaaa2",
        "ran_at": "2026-07-27T16:54:13Z",
        "aggregate_score": 3.6,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-14T14:38:42Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": null,
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/aiassistsecure/nedb",
    "host": "github.com",
    "name": "nedb",
    "owner": "aiassistsecure"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "at_risk",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 46,
      "inputs": {
        "security": 36,
        "vitality": 67,
        "community": 25,
        "governance": 38,
        "engineering": 60
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "moderate",
        "name": "Vitality",
        "value": 67,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 51,
            "inputs": {
              "commits_last_year": 381,
              "human_commit_share": 1,
              "days_since_last_push": 13,
              "active_weeks_last_year": 6
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 13 days ago",
                "points": 28.8,
                "status": "partial",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 13
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "6/52 weeks with commits",
                "points": 4.2,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 6
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "381 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 381
                    }
                  }
                ],
                "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": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "releases_count": 9,
              "latest_release_tag": "v2.4.468",
              "releases_from_tags": false,
              "days_since_latest_release": 29,
              "mean_days_between_releases": 1.6
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "9 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 9
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 29 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 29
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~1.6 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 1.6
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "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": "critical",
        "name": "Community & Adoption",
        "value": 25,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "forks": 2,
              "stars": 0,
              "watchers": 0,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "0 stars",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "2 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "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": "critical",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 19,
            "inputs": {
              "has_readme": false,
              "has_license": false,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file present, not a recognized license",
                "points": 16.9,
                "status": "partial",
                "details": [
                  {
                    "code": "license_custom",
                    "params": {}
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "good",
            "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": 70,
            "inputs": {
              "packages": [
                "nedb-engine",
                "nedb-engine"
              ],
              "dependents": null,
              "ecosystems": "npm, pypi",
              "total_downloads": null,
              "monthly_downloads": 16119
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "16,119 downloads/month across npm, pypi",
                "points": 56.1,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 16119,
                      "ecosystems": "npm, pypi"
                    }
                  }
                ],
                "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": "at_risk",
        "name": "Sustainability & Governance",
        "value": 38,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 22,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 2,
              "top_contributor_share": 0.553
            },
            "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 55% of commits",
                "points": 10.1,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 55
                    }
                  }
                ],
                "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": "critical",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Issue resolution, PR acceptance. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "issue_resolution",
                    "pr_acceptance"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 1,
            "inputs": {
              "merged_prs": 0,
              "open_issues": 0,
              "closed_issues": 0,
              "issue_closed_ratio": null,
              "closed_unmerged_prs": 0
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "no issues or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_issues_or_data",
                    "params": {}
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "no decided pull requests or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_decided_prs_or_data",
                    "params": {}
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "at_risk",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 44,
            "inputs": {
              "followers": 1,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "aiassistsecure",
              "public_repos": 25,
              "account_age_days": 213
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "1 followers of aiassistsecure",
                "points": 2.2,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 1,
                      "login": "aiassistsecure"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "25 public repos, account ~0 yr old",
                "points": 11.5,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 25
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 0
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "nedb-engine",
                "nedb-engine"
              ],
              "ecosystems": "npm, pypi",
              "any_deprecated": false,
              "min_days_since_publish": 6
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "2 package(s) on npm, pypi",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 2,
                      "ecosystems": "npm, pypi"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 6 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 6
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "141 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 141
                    }
                  }
                ],
                "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": "moderate",
        "name": "Engineering Quality",
        "value": 60,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_ci_tests"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 60,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "2 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 60,
            "inputs": {
              "topics": [
                "database",
                "db",
                "natural-language",
                "nedb",
                "nl",
                "nql",
                "ne-db"
              ],
              "has_wiki": true,
              "homepage": "https://ne-db.com",
              "has_readme": false,
              "has_docs_dir": true,
              "has_description": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://ne-db.com",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "7 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 7
                    }
                  }
                ],
                "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": "at_risk",
        "name": "Security",
        "value": 36,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): CI-Tests, Packaging. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "ci_tests",
                    "packaging"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 36,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 3.6
            },
            "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": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "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/30 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": "no update tool detected",
                "points": 0,
                "status": "missed",
                "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.2,
                "status": "partial",
                "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 not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "no SAST tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "GitHub workflow tokens follow principle of least privilege",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "0 existing vulnerabilities detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              }
            ]
          }
        ],
        "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": 70,
        "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.92,
              "agent_instruction_files": [
                "AGENTS.md"
              ],
              "agent_instruction_max_bytes": 11344
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "AGENTS.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "AGENTS.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": "92 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 92,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 66,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "Cargo.lock"
              ],
              "has_dockerfile": false,
              "typed_language": false,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [
                "client/node/tsconfig.json"
              ],
              "agent_commit_share": 0.54,
              "toolchain_manifests": [
                "rust/Cargo.toml",
                "rust/crates/nedb-core/Cargo.toml",
                "rust/crates/nedb-node/Cargo.toml",
                "rust/crates/nedb-py/Cargo.toml",
                "rust/nedb-v2/Cargo.toml"
              ],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "rust/Cargo.toml, rust/crates/nedb-core/Cargo.toml, rust/crates/nedb-node/Cargo.toml (toolchain convention, no task runner)",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "toolchain_convention",
                    "params": {
                      "files": "rust/Cargo.toml, rust/crates/nedb-core/Cargo.toml, rust/crates/nedb-node/Cargo.toml"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "client/node/tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "client/node/tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "54 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 54,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "good",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 81,
            "inputs": {
              "primary_language": "Python",
              "largest_source_bytes": 68567,
              "source_files_sampled": 87,
              "oversized_source_files": 1
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Python with type-check config (client/node/tsconfig.json)",
                "points": 27,
                "status": "partial",
                "details": [
                  {
                    "code": "typecheck_config_language",
                    "params": {
                      "files": "client/node/tsconfig.json",
                      "language": "Python"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "1/87 source files over 60KB",
                "points": 54.4,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 87,
                      "oversized": 1
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "at_risk",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "examples"
              ],
              "has_mcp_signal": false,
              "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": 0,
                "status": "missed",
                "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": [
    "Community profile unavailable",
    "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-27T16:54:19.578977Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/a/aiassistsecure/nedb.svg",
  "full_name": "aiassistsecure/nedb",
  "license_state": "custom",
  "license_spdx": null
}

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

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

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