Public record
Software health reportschema 0.27.0 · metrics 1.13.0 · 2026-07-27 19:20 UTC

Eth-Interchained / nedb

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

Python · RustCustom license★ 0 stars⑂ 5 forkssince Jun 2026View on GitHub ↗

Eth-Interchained/nedb holds a health index of 50 out of 100, placing it in the Moderate band. It scores highest on Vitality (71/100) and lowest on Community & Adoption (34/100). It was last updated 6 days ago. A single contributor accounts for most of its recent work.

50
overall / 100
Moderate

Software health index

Metrics are grouped into weighted categories on one standardized 1–100 scale. Overall starts as their weighted mean; when public evidence triggers the High-Risk Jurisdiction Policy, the rating is adjusted and receives an At risk ceiling of 49. AI Readiness sits outside the overall score.

50
Excellent85-100Exemplary; meets essentially all checked criteria
Good70-84Healthy; minor gaps
Moderate50-69Acceptable with notable gaps; review recommended
At risk30-49Significant weaknesses; adoption warrants caution
Critical1-29Severe problems (abandoned, single-maintainer, no hygiene)
VitalityCommunity &AdoptionSustainability &GovernanceEngineeringQualitySecurityAI Readiness

Score profile

Each axis is a category. The shape matters more than the average — a healthy subject fills the whole shape, while a spike-and-crater profile means strength in one dimension is masking risk in another.

Ownership

Eth-InterchainedPersonal account
3 followers16 public repossince Nov 2022

This repository is owned by a personal account. A single-owner project carries more continuity risk than an organization-backed one.

Package ecosystems

RegistryPackageVersionDownloads / moVersionsLast publishTags
npmnedb-enginepoints to another repo — not scored2.7.15,308656 days agodatabaseembeddedmvcctime-travelbi-temporalcausal-provenancetamper-evidenthash-chainversioningnapi-rsrustnedb
PyPInedb-enginepoints to another repo — not scored2.7.210,8111416 days agodatabaseembeddedmvcctime-travelversioningcompressiondedupgraphsearchpersistenceserver
crates.ionedb-enginepoints to another repo — not scored2.7.2265326 days agodagdatabaseembeddedgraphtime-traveldatabase-implementations
npmnedb-engine-client2.7.25,881836 days agonedbnedb-engineclientdatabasedagbi-temporalcausalnedbd
PyPInedb-engine-client2.7.24,244886 days agodatabasenedbclientasyncdagbi-temporalcausal

Metrics by category

Vitality

Is the project alive — is code being written and are releases shipping?

71Good · 22% of overall
How it's scored
36/36Push recency — last push 6 days ago
4.2/36Commit cadence — 6/52 weeks with commits
18/18Commit volume — 320 commits in the last year
0/10OpenSSF Scorecard: Maintained — project was created within the last 90 days. Please review its contents carefully
Inputs used
commits_last_year320
human_commit_share1
days_since_last_push6
active_weeks_last_year6
How it's scored
27/27Ships releases — 71 releases published
36/36Release recency — latest release 6 days ago
27/27Release cadence — a release every ~2.2 days
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Inputs used
releases_count71
latest_release_tagv2.7.2
releases_from_tagsno
days_since_latest_release6
mean_days_between_releases2.2

Community & Adoption

Does the project have users, downloads, attention, and a welcoming setup for contributors?

34At risk · 18% of overall
How it's scored
0/60Stars — 0 stars
5/25Forks — 5 forks
0/15Watchers — 0 watchers
Inputs used
forks5
stars0
watchers0
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
How it's scored
22.5/22.5README
16.9/22.5License — license file present, not a recognized license
0/18CONTRIBUTING guide
0/13.5Code of conduct
0/7.2Issue template
0/6.3PR template
Inputs used
has_readmeyes
has_licenseyes
has_contributingno
has_issue_templateno
has_code_of_conductno
has_pull_request_templateno
How it's scored
53.4/80Monthly downloads — 10,125 downloads/month across npm, pypi
0/20Registry dependents — not reported by this ecosystem
Inputs used
packagesnedb-engine-client, nedb-engine-client
dependents
ecosystemsnpm, pypi
total_downloads
monthly_downloads10,125
Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.

Sustainability & Governance

Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?

43At risk · 24% of overall
How it's scored
9/54Bus factor — 1 contributor(s) cover half of all commits
0.4/22.5Commit distribution — top contributor authored 98% of commits
2.7/13.5Contributor breadth — 2 contributors
0/10OpenSSF Scorecard: Contributors — project has 0 contributing companies or organizations -- score normalized to 0
Inputs used
bus_factor1
contributors_sampled2
top_contributor_share0.983
How it's scored
0/46.8Issue resolution — 0% of issues closed
37.6/38.3PR acceptance — 55/56 decided PRs merged
0/15OpenSSF Scorecard: Code-Review — Found 0/16 approved changesets -- score normalized to 0
Inputs used
merged_prs55
open_issues3
closed_issues0
issue_closed_ratio0
closed_unmerged_prs1
How it's scored
10/30Ownership backing — personal (user) account
0/20Verified domain — not applicable to user accounts
4.3/25Owner reach — 3 followers of Eth-Interchained
16.4/25Track record — 16 public repos, account ~3 yr old
Inputs used
followers3
owner_typeUser
is_verified
owner_loginEth-Interchained
public_repos16
account_age_days1,359
Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.
How it's scored
25/25Published & resolvable — 2 package(s) on npm, pypi
35/35Publish recency — latest publish 6 days ago
20/20Version history — 88 published versions
20/20Not deprecated — active, not deprecated or yanked
Inputs used
packagesnedb-engine-client, nedb-engine-client
ecosystemsnpm, pypi
any_deprecatedno
min_days_since_publish6

Engineering Quality

Are baseline engineering and documentation practices in place?

59Moderate · 20% of overall
How it's scored
24/24CI workflows — 2 workflow(s)
24/24Tests present
0/16Linter config
0/9.6Pre-commit hooks
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — 0 out of 16 merged PRs checked by a CI test -- score normalized to 0
Inputs used
has_ciyes
has_testsyes
has_editorconfigno
has_linter_configno
has_precommit_configno
How it's scored
30/30README
25/25Documentation directory
0/15Documentation / homepage site
10/10Repository description
0/10Topics
10/10Wiki
Inputs used
topics
has_wikiyes
homepage
has_readmeyes
has_docs_diryes
has_descriptionyes

Security

Are visible security and supply-chain practices strong, without unresolved high-risk jurisdiction exposure?

38At risk · 16% of overall
How it's scored
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 — 0 out of 16 merged PRs checked by a CI test -- score normalized to 0
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/16 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.5License — license file detected
0/7.5Maintained — project was created within the last 90 days. Please review its contents carefully
5/5Packaging — packaging workflow detected
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
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
Inputs used
sourceopenssf_scorecard
checks_evaluated18
scorecard_versionv5.5.0
checks_inconclusive0
scorecard_aggregate3.8

AI Readiness

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.

70Good · 0% of overall
How it's scored
45/45Agent instructions — AGENTS.md
0/15Machine-readable docs (llms.txt)
40/40Legible commit history — 100 of 100 human commits state their intent (structured subject or explanatory body)
Inputs used
has_llms_txtno
legible_history_share1
agent_instruction_filesAGENTS.md
agent_instruction_max_bytes11,344
How it's scored
12.6/18One-command bootstrap — rust/Cargo.toml, rust/crates/nedb-core/Cargo.toml, rust/crates/nedb-node/Cargo.toml (toolchain convention, no task runner)
22/22Automated tests
0/11Lint / format config
11/11Static type checking — client/node/tsconfig.json
10/10Reproducible environment — lockfile
10/10Demonstrated agent practice — 57 of the last 100 commits agent-authored or agent-credited
0/8Automated maintenance — no automated dependency updates observed
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Inputs used
has_nixno
has_testsyes
lockfilesCargo.lock
has_dockerfileno
typed_languageno
bootstrap_files
has_devcontainerno
has_linter_configno
typecheck_configsclient/node/tsconfig.json
agent_commit_share0.57
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
How it's scored
27/45Type-checkable code — Python with type-check config (client/node/tsconfig.json)
54.4/55Manageable file sizes — 1/87 source files over 60KB
Inputs used
primary_languagePython
largest_source_bytes71,154
source_files_sampled87
oversized_source_files1
How it's scored
0/40API schema (OpenAPI/GraphQL/proto)
0/20MCP server
40/40Runnable examples — examples
Inputs used
example_dirsexamples
has_mcp_signalno
api_schema_files

Key facts

0GitHub stars
2contributors
320commits, last 12 months
6days since last push
71releases
1bus factor
3open issues
crates.io, npm, PyPIpackage ecosystems

Data collection warnings

  • npm package 'nedb-engine' points at a different repository (https://github.com/aiassistsecure/nedb); excluded from ecosystem scoring
  • pypi package 'nedb-engine' points at a different repository (https://github.com/aiassistsecure/nedb); excluded from ecosystem scoring
  • crates package 'nedb-engine' points at a different repository (https://github.com/aiassistsecure/nedb); excluded from ecosystem scoring
  • GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

More detail

Star and fork history 0 ★ / 5 ⇿
0Stars
5Forks
50Releases

When each star and fork was added, collected from GitHub and bucketed by day. Cumulative growth sits directly above the daily additions it is made of, so the two read against each other: steady organic accretion looks nothing like an abrupt, short-lived burst. Where that difference is measurable, it is reported as growth authenticity.

12233322026-062026-062026-06
Major 0Minor 6Patch 44
OpenSSF Scorecard 3.8 / 10
3.8aggregate

Independent, tool-agnostic security assessment from the open-source OpenSSF Scorecard. Each check rewards a security practice, not a specific vendor's tool. Checks Scorecard could not determine are marked n/a and excluded from the security score (never counted as zero).Scorecard v5.5.0 · 2026-07-27 19:20 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
0CI-Tests0 out of 16 merged PRs checked by a CI test -- score normalized to 0
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/16 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
10Packagingpackaging workflow detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTSAST tool is not run on all commits -- score normalized to 0
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
Direct dependencies 19
RegistryPackageVersion constraintManifest
PyPIpycryptodome>=3.19pyproject.toml
PyPIhttpx>=0.24client/python/pyproject.toml
crates.ioserde1rust/nedb-v2/Cargo.toml
crates.ioserde_json1rust/nedb-v2/Cargo.toml
crates.ioblake20.10rust/nedb-v2/Cargo.toml
crates.ioaes-gcm0.10rust/nedb-v2/Cargo.toml
crates.iosha20.10rust/nedb-v2/Cargo.toml
crates.iohex0.4rust/nedb-v2/Cargo.toml
crates.iorayon1rust/nedb-v2/Cargo.toml
crates.iodashmap5rust/nedb-v2/Cargo.toml
crates.ioparking_lot0.12rust/nedb-v2/Cargo.toml
crates.ioaxum0.7rust/nedb-v2/Cargo.toml
crates.iotokio1rust/nedb-v2/Cargo.toml
crates.iotokio-stream0.1rust/nedb-v2/Cargo.toml
crates.iotower-http0.5rust/nedb-v2/Cargo.toml
crates.iofutures-core0.3rust/nedb-v2/Cargo.toml
crates.iothiserror1rust/nedb-v2/Cargo.toml
crates.ioanyhow1rust/nedb-v2/Cargo.toml
crates.iofs20.4rust/nedb-v2/Cargo.toml
All dependencies not collected

The resolved dependency set could not be collected for this report: GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

Raw JSON report machine-readable
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 1048,
      "has_wiki": true,
      "homepage": null,
      "languages": {
        "Rust": 364822,
        "Python": 612000,
        "JavaScript": 53215,
        "TypeScript": 13605
      },
      "pushed_at": "2026-07-21T00:38:54Z",
      "created_at": "2026-06-13T04:25:32Z",
      "owner_type": "User",
      "updated_at": "2026-07-21T00:38:57Z",
      "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": null,
      "name": null,
      "type": "User",
      "login": "Eth-Interchained",
      "company": null,
      "location": null,
      "followers": 3,
      "avatar_url": "https://avatars.githubusercontent.com/u/117552056?v=4",
      "created_at": "2022-11-06T01:42:18Z",
      "is_verified": null,
      "public_repos": 16,
      "account_age_days": 1359
    },
    "license": {
      "state": "custom",
      "spdx_id": null,
      "raw_spdx": "NOASSERTION",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v2.7.2",
          "kind": "patch",
          "published_at": "2026-07-21T00:39:00Z"
        },
        {
          "tag": "v2.7.1",
          "kind": "patch",
          "published_at": "2026-07-20T22:41:53Z"
        },
        {
          "tag": "v2.7.0",
          "kind": "minor",
          "published_at": "2026-07-11T20:12:53Z"
        },
        {
          "tag": "v2.6.3",
          "kind": "patch",
          "published_at": "2026-07-11T16:21:42Z"
        },
        {
          "tag": "v2.6.2",
          "kind": "patch",
          "published_at": "2026-07-11T15:57:14Z"
        },
        {
          "tag": "v2.6.1",
          "kind": "patch",
          "published_at": "2026-07-02T18:56:17Z"
        },
        {
          "tag": "v2.6.0",
          "kind": "minor",
          "published_at": "2026-07-02T17:20:07Z"
        },
        {
          "tag": "v2.5.55",
          "kind": "patch",
          "published_at": "2026-07-02T16:54:40Z"
        },
        {
          "tag": "v2.5.45",
          "kind": "patch",
          "published_at": "2026-07-01T16:55:24Z"
        },
        {
          "tag": "v2.5.44",
          "kind": "patch",
          "published_at": "2026-07-01T16:00:37Z"
        },
        {
          "tag": "v2.5.43",
          "kind": "patch",
          "published_at": "2026-07-01T15:42:24Z"
        },
        {
          "tag": "v2.5.34",
          "kind": "patch",
          "published_at": "2026-07-01T01:34:18Z"
        },
        {
          "tag": "v2.5.2",
          "kind": "patch",
          "published_at": "2026-06-30T19:51:33Z"
        },
        {
          "tag": "v2.5.1",
          "kind": "patch",
          "published_at": "2026-06-30T19:29:15Z"
        },
        {
          "tag": "v2.5.0",
          "kind": "minor",
          "published_at": "2026-06-27T21:40:48Z"
        },
        {
          "tag": "v2.4.468",
          "kind": "patch",
          "published_at": "2026-06-27T20:11:30Z"
        },
        {
          "tag": "v2.4.68",
          "kind": "patch",
          "published_at": "2026-06-27T19:45:09Z"
        },
        {
          "tag": "v2.4.444",
          "kind": "patch",
          "published_at": "2026-06-27T19:19:01Z"
        },
        {
          "tag": "v2.4.44",
          "kind": "patch",
          "published_at": "2026-06-27T19:03:28Z"
        },
        {
          "tag": "v2.4.4",
          "kind": "patch",
          "published_at": "2026-06-27T18:28:33Z"
        },
        {
          "tag": "v2.4.3",
          "kind": "patch",
          "published_at": "2026-06-27T17:33:18Z"
        },
        {
          "tag": "v2.4.2",
          "kind": "patch",
          "published_at": "2026-06-26T18:29:52Z"
        },
        {
          "tag": "v2.4.1",
          "kind": "patch",
          "published_at": "2026-06-26T17:22:58Z"
        },
        {
          "tag": "v2.4.0",
          "kind": "minor",
          "published_at": "2026-06-26T16:59:59Z"
        },
        {
          "tag": "v2.3.3333",
          "kind": "patch",
          "published_at": "2026-06-26T15:51:43Z"
        },
        {
          "tag": "v2.3.333",
          "kind": "patch",
          "published_at": "2026-06-26T02:15:36Z"
        },
        {
          "tag": "v2.3.33",
          "kind": "patch",
          "published_at": "2026-06-26T01:11:34Z"
        },
        {
          "tag": "v2.3.3",
          "kind": "patch",
          "published_at": "2026-06-25T23:33:57Z"
        },
        {
          "tag": "v2.2.33",
          "kind": "patch",
          "published_at": "2026-06-23T14:52:43Z"
        },
        {
          "tag": "v2.2.32",
          "kind": "patch",
          "published_at": "2026-06-22T15:28:36Z"
        },
        {
          "tag": "v2.2.31",
          "kind": "patch",
          "published_at": "2026-06-22T15:13:59Z"
        },
        {
          "tag": "v2.2.30",
          "kind": "patch",
          "published_at": "2026-06-22T15:09:28Z"
        },
        {
          "tag": "v2.2.29",
          "kind": "patch",
          "published_at": "2026-06-22T14:45:24Z"
        },
        {
          "tag": "v2.2.28",
          "kind": "patch",
          "published_at": "2026-06-22T14:42:14Z"
        },
        {
          "tag": "v2.2.27",
          "kind": "patch",
          "published_at": "2026-06-22T14:35:27Z"
        },
        {
          "tag": "v2.2.26",
          "kind": "patch",
          "published_at": "2026-06-21T22:11:44Z"
        },
        {
          "tag": "v2.2.25",
          "kind": "patch",
          "published_at": "2026-06-21T16:13:23Z"
        },
        {
          "tag": "v2.2.24",
          "kind": "patch",
          "published_at": "2026-06-21T15:59:15Z"
        },
        {
          "tag": "v2.2.22",
          "kind": "patch",
          "published_at": "2026-06-21T15:44:06Z"
        },
        {
          "tag": "v2.2.21",
          "kind": "patch",
          "published_at": "2026-06-21T05:28:21Z"
        },
        {
          "tag": "v2.2.20",
          "kind": "patch",
          "published_at": "2026-06-21T05:15:13Z"
        },
        {
          "tag": "v2.2.19",
          "kind": "patch",
          "published_at": "2026-06-21T04:58:34Z"
        },
        {
          "tag": "v2.2.18",
          "kind": "patch",
          "published_at": "2026-06-21T04:39:15Z"
        },
        {
          "tag": "v2.2.17",
          "kind": "patch",
          "published_at": "2026-06-21T04:30:28Z"
        },
        {
          "tag": "v2.2.16",
          "kind": "patch",
          "published_at": "2026-06-21T04:29:01Z"
        },
        {
          "tag": "v2.2.15",
          "kind": "patch",
          "published_at": "2026-06-21T04:19:00Z"
        },
        {
          "tag": "v2.2.14",
          "kind": "patch",
          "published_at": "2026-06-21T03:45:19Z"
        },
        {
          "tag": "v2.2.13",
          "kind": "patch",
          "published_at": "2026-06-21T03:34:47Z"
        },
        {
          "tag": "v2.2.12",
          "kind": "patch",
          "published_at": "2026-06-21T03:31:31Z"
        },
        {
          "tag": "v2.2.11",
          "kind": "patch",
          "published_at": "2026-06-21T03:22:37Z"
        },
        {
          "tag": "v2.2.10",
          "kind": "patch",
          "published_at": "2026-06-19T20:46:13Z"
        },
        {
          "tag": "v2.2.9",
          "kind": "patch",
          "published_at": "2026-06-19T20:31:40Z"
        },
        {
          "tag": "v2.2.8",
          "kind": "patch",
          "published_at": "2026-06-19T19:00:05Z"
        },
        {
          "tag": "v2.2.7",
          "kind": "patch",
          "published_at": "2026-06-19T18:39:10Z"
        },
        {
          "tag": "v2.2.6",
          "kind": "patch",
          "published_at": "2026-06-19T18:36:19Z"
        },
        {
          "tag": "v2.2.5",
          "kind": "patch",
          "published_at": "2026-06-19T18:32:07Z"
        },
        {
          "tag": "v2.2.4",
          "kind": "patch",
          "published_at": "2026-06-19T17:59:57Z"
        },
        {
          "tag": "v2.2.3",
          "kind": "patch",
          "published_at": "2026-06-17T21:13:45Z"
        },
        {
          "tag": "v2.2.2",
          "kind": "patch",
          "published_at": "2026-06-17T21:12:31Z"
        },
        {
          "tag": "v2.2.1",
          "kind": "patch",
          "published_at": "2026-06-17T21:10:55Z"
        },
        {
          "tag": "v2.2.0",
          "kind": "minor",
          "published_at": "2026-06-17T21:07:28Z"
        },
        {
          "tag": "v2.1.0",
          "kind": "minor",
          "published_at": "2026-06-17T19:37:17Z"
        },
        {
          "tag": "v2.0.36",
          "kind": "patch",
          "published_at": "2026-06-17T15:27:32Z"
        },
        {
          "tag": "v2.0.35",
          "kind": "patch",
          "published_at": "2026-06-17T15:18:24Z"
        },
        {
          "tag": "v2.0.34",
          "kind": "patch",
          "published_at": "2026-06-17T15:13:51Z"
        },
        {
          "tag": "v2.0.33",
          "kind": "patch",
          "published_at": "2026-06-17T14:36:23Z"
        },
        {
          "tag": "v2.0.32",
          "kind": "patch",
          "published_at": "2026-06-17T14:32:25Z"
        },
        {
          "tag": "v2.0.4",
          "kind": "patch",
          "published_at": "2026-06-16T19:05:49Z"
        },
        {
          "tag": "v1.2.0",
          "kind": "minor",
          "published_at": "2026-06-15T18:17:00Z"
        },
        {
          "tag": "v0.9.0",
          "kind": "minor",
          "published_at": "2026-06-15T00:08:16Z"
        },
        {
          "tag": "v0.6.0",
          "kind": "minor",
          "published_at": "2026-06-14T20:00:24Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "58e7889edccc47526e3725b7460a83ba7c50fb18",
          "body": "release: NEDB v2.7.2 tri-distribution",
          "is_bot": false,
          "headline": "release: NEDB v2.7.2 tri-distribution (#60)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-21T00:38:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3205725db5a66c4685a3b29536132496932bcc2b",
          "body": "Flagship to 2.7.2; submodules repointed to the 2.7.2 fork masters so all three\nproducts ship aligned on v2.7.2.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "release: NEDB 2.7.2 -- flagship bump + submodule repoint",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-07-21T00:38:46Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "f659c413fe3f3aa02775b2d3e51051c33bb56f46",
          "body": "One process owns a durable store at a time: Db::open takes an advisory\nexclusive lock (fs2: flock/LockFileEx) on <root>/LOCK before touching any\nstore state, held for the Db lifetime, released on drop and any process\ndeath. Second opener refuses loudly with the holder pid instead of running\na silent\n[…]\ns the risk. In-memory unaffected. Tests:\nsame-dir second open refuses (version-gated 2.7.2+), encryption suite\nupdated for sequential handle ownership.\n\nCo-authored-by: Vex <founders@vibecode-101.com>",
          "is_bot": false,
          "headline": "feat: exclusive data-dir LOCK in Db::open — split-brain guard (#59)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-21T00:38:24Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "beff0e1fac6037c20cb56f20efd2862a587a1bd5",
          "body": "release: NEDB v2.7.1 tri-distribution",
          "is_bot": false,
          "headline": "release: NEDB v2.7.1 tri-distribution (#58)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-20T22:41:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c55ef464f4c801e166495937829ce1d8436c45b7",
          "body": "Flagship to 2.7.1; submodules repointed to the 2.7.1 fork masters so all three\nproducts ship aligned on v2.7.1.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "release: NEDB 2.7.1 -- flagship bump + submodule repoint",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-07-20T22:41:38Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "50e122da07873062a1131cc2653fdb078be9ff64",
          "body": "…dbd-v2) (#57)\n\nopen(path, tmk=None) + NEDB_TMK env fallback; DEK = SHA-256(TMK||dirname),\nidentical derivation to nedbd-v2 so embedded and daemon-served dirs are\ninterchangeable. Fails CLOSED on malformed keys. encrypted() introspection\nfor embedder boot asserts (aias). Composes with NEDB_DAG_V3. Tests: at-rest\nbyte-scan proof, keyless/wrong-key reopen denial, env fallback, dag-v3 combo.\n\nCo-authored-by: Vex <founders@vibecode-101.com>",
          "is_bot": false,
          "headline": "feat: expose TMK encryption in NedbCore.open (embedded parity with ne…",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-07-20T22:41:06Z",
          "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": "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": "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": "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": "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": "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": "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": "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
        },
        {
          "oid": "117cfbd651b5a9fa599f2c15f4d8e71ed2f6f295",
          "body": "release: NEDB v2.4.0 — v3 storage consolidated + spec'd",
          "is_bot": false,
          "headline": "release: NEDB v2.4.0 (#17)",
          "author_name": "Eth-Interchained",
          "author_login": "Eth-Interchained",
          "committed_at": "2026-06-26T16:59:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d73d824fd79664b741b2d0f9191b503eb3929464",
          "body": "…pped\n\nCycle-closing minor (closes the 2.3.3xxx line).\n- docs/SPEC.md §3 rewritten for the real v2 content-addressed object store + new\n  §3.1 (v3 segment/pack substrate: segments, .idx sidecars, compaction, dual-read)\n  + §3.2 (durability: per-batch fsync, flush-on-close, macOS fast-fsync). Status \n[…]\nib + workspace + root npm/PyPI + maturin + clients to 2.4.0.\n\nNo new engine code vs 2.3.3333 (still 43/43 green) -- docs + spec + version only.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "release: NEDB v2.4.0 -- v3 storage line consolidated, spec'd, and shi…",
          "author_name": "Vex",
          "author_login": null,
          "committed_at": "2026-06-26T16:59:41Z",
          "body_truncated": true,
          "is_coding_agent": true
        }
      ],
      "releases_count": 71,
      "commits_last_year": 320,
      "latest_release_at": "2026-07-21T00:39:00Z",
      "latest_release_tag": "v2.7.2",
      "releases_from_tags": false,
      "days_since_last_push": 6,
      "active_weeks_last_year": 6,
      "days_since_latest_release": 6,
      "mean_days_between_releases": 2.2
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 42,
      "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": false,
          "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": false,
          "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
        },
        {
          "name": "nedb-engine",
          "exists": true,
          "license": "BUSL-1.1",
          "keywords": [
            "dag",
            "database",
            "embedded",
            "graph",
            "time-travel",
            "database-implementations",
            "web-programming::http-server"
          ],
          "ecosystem": "crates",
          "matches_repo": false,
          "registry_url": "https://crates.io/crates/nedb-engine",
          "is_deprecated": false,
          "latest_version": "2.7.2",
          "repository_url": "https://github.com/aiassistsecure/nedb",
          "versions_count": 32,
          "total_downloads": 795,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 265,
          "first_published_at": "2026-06-22T14:46:03.056940Z",
          "latest_published_at": "2026-07-21T00:39:30.174176Z",
          "latest_version_yanked": false,
          "days_since_latest_publish": 6
        },
        {
          "name": "nedb-engine-client",
          "exists": true,
          "license": "GPL-3.0-or-later",
          "keywords": [
            "nedb",
            "nedb-engine",
            "client",
            "database",
            "dag",
            "bi-temporal",
            "causal",
            "nedbd"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/nedb-engine-client",
          "is_deprecated": false,
          "latest_version": "2.7.2",
          "repository_url": "https://github.com/Eth-Interchained/nedb",
          "versions_count": 83,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 5881,
          "first_published_at": "2026-06-16T21:35:42.604000Z",
          "latest_published_at": "2026-07-21T00:39:07.897000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 6
        },
        {
          "name": "nedb-engine-client",
          "exists": true,
          "license": "GPL-3.0-or-later",
          "keywords": [
            "database",
            "nedb",
            "client",
            "async",
            "dag",
            "bi-temporal",
            "causal",
            "Development Status :: 5 - Production/Stable",
            "Framework :: AsyncIO",
            "Intended Audience :: Developers",
            "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
            "Programming Language :: Python :: 3",
            "Programming Language :: Python :: 3.10",
            "Programming Language :: Python :: 3.11",
            "Programming Language :: Python :: 3.12",
            "Programming Language :: Python :: 3.8",
            "Programming Language :: Python :: 3.9",
            "Topic :: Database"
          ],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/nedb-engine-client/",
          "is_deprecated": false,
          "latest_version": "2.7.2",
          "repository_url": "https://github.com/Eth-Interchained/nedb",
          "versions_count": 88,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 4244,
          "first_published_at": "2026-06-16T21:42:25.317576Z",
          "latest_published_at": "2026-07-21T00:39:14.234300Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 6
        }
      ]
    },
    "popularity": {
      "forks": 5,
      "stars": 0,
      "watchers": 0,
      "fork_history": {
        "days": [
          {
            "date": "2026-06-13",
            "count": 1
          },
          {
            "date": "2026-06-27",
            "count": 2
          }
        ],
        "complete": true,
        "collected": 3,
        "total_forks": 5
      },
      "star_history": {
        "days": [],
        "complete": true,
        "collected": 0,
        "total_stars": 0,
        "collected_at": null
      },
      "open_issues_and_prs": 4
    },
    "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": 71154,
      "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"
        },
        {
          "name": "httpx",
          "manifest": "client/python/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.24"
        },
        {
          "name": "serde",
          "manifest": "rust/nedb-v2/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "serde_json",
          "manifest": "rust/nedb-v2/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "blake2",
          "manifest": "rust/nedb-v2/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.10"
        },
        {
          "name": "aes-gcm",
          "manifest": "rust/nedb-v2/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.10"
        },
        {
          "name": "sha2",
          "manifest": "rust/nedb-v2/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.10"
        },
        {
          "name": "hex",
          "manifest": "rust/nedb-v2/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.4"
        },
        {
          "name": "rayon",
          "manifest": "rust/nedb-v2/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "dashmap",
          "manifest": "rust/nedb-v2/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "5"
        },
        {
          "name": "parking_lot",
          "manifest": "rust/nedb-v2/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.12"
        },
        {
          "name": "axum",
          "manifest": "rust/nedb-v2/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.7"
        },
        {
          "name": "tokio",
          "manifest": "rust/nedb-v2/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "tokio-stream",
          "manifest": "rust/nedb-v2/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.1"
        },
        {
          "name": "tower-http",
          "manifest": "rust/nedb-v2/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.5"
        },
        {
          "name": "futures-core",
          "manifest": "rust/nedb-v2/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.3"
        },
        {
          "name": "thiserror",
          "manifest": "rust/nedb-v2/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "anyhow",
          "manifest": "rust/nedb-v2/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "fs2",
          "manifest": "rust/nedb-v2/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.4"
        }
      ],
      "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": 1,
        "merged_prs": 55,
        "open_issues": 3,
        "closed_ratio": 0,
        "closed_issues": 0,
        "closed_unmerged_prs": 1
      },
      "bus_factor": 1,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "Eth-Interchained",
          "commits": 59,
          "avatar_url": "https://avatars.githubusercontent.com/u/117552056?v=4"
        },
        {
          "type": "User",
          "login": "ethgr0wth",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/38635290?v=4"
        }
      ],
      "contributors_sampled": 2,
      "top_contributor_share": 0.983
    },
    "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": 0,
            "reason": "0 out of 16 merged PRs checked by a CI test -- score normalized to 0",
            "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/16 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": 10,
            "reason": "packaging workflow 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": "SAST tool is not run on all commits -- score normalized to 0",
            "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": "58e7889edccc47526e3725b7460a83ba7c50fb18",
        "ran_at": "2026-07-27T19:20:24Z",
        "aggregate_score": 3.8,
        "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-21T00:54:07Z",
      "oldest_open_prs": [
        {
          "number": 9,
          "created_at": "2026-06-25T18:03:14Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-07-21T00:38:53Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 2,
          "created_at": "2026-06-16T17:06:26Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 4,
          "created_at": "2026-06-16T17:17:03Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 5,
          "created_at": "2026-06-16T17:35:36Z",
          "last_comment_at": "2026-06-16T17:57:36Z",
          "last_comment_author": "ethgr0wth"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/Eth-Interchained/nedb",
    "host": "github.com",
    "name": "nedb",
    "owner": "Eth-Interchained"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 50,
      "inputs": {
        "security": 38,
        "vitality": 71,
        "community": 34,
        "governance": 43,
        "engineering": 59
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "good",
        "name": "Vitality",
        "value": 71,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 58,
            "inputs": {
              "commits_last_year": 320,
              "human_commit_share": 1,
              "days_since_last_push": 6,
              "active_weeks_last_year": 6
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 6 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 6
                    }
                  }
                ],
                "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": "320 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 320
                    }
                  }
                ],
                "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": 71,
              "latest_release_tag": "v2.7.2",
              "releases_from_tags": false,
              "days_since_latest_release": 6,
              "mean_days_between_releases": 2.2
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "71 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 71
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 6 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 6
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~2.2 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 2.2
                    }
                  }
                ],
                "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": "at_risk",
        "name": "Community & Adoption",
        "value": 34,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 5,
            "inputs": {
              "forks": 5,
              "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": "5 forks",
                "points": 5,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "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": "at_risk",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 44,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "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": "moderate",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 67,
            "inputs": {
              "packages": [
                "nedb-engine-client",
                "nedb-engine-client"
              ],
              "dependents": null,
              "ecosystems": "npm, pypi",
              "total_downloads": null,
              "monthly_downloads": 10125
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "10,125 downloads/month across npm, pypi",
                "points": 53.4,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 10125,
                      "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": 43,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 12,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 2,
              "top_contributor_share": 0.983
            },
            "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 98% of commits",
                "points": 0.4,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 98
                    }
                  }
                ],
                "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": "at_risk",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 38,
            "inputs": {
              "merged_prs": 55,
              "open_issues": 3,
              "closed_issues": 0,
              "issue_closed_ratio": 0,
              "closed_unmerged_prs": 1
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "0% of issues closed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 0
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "55/56 decided PRs merged",
                "points": 37.6,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 55,
                      "decided": 56
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/16 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "at_risk",
            "name": "Ownership & stewardship",
            "note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "verified_domain"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 38,
            "inputs": {
              "followers": 3,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "Eth-Interchained",
              "public_repos": 16,
              "account_age_days": 1359
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "personal (user) account",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_personal",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": "not applicable to user accounts",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_applicable_to_user_accounts",
                    "params": {}
                  }
                ],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "3 followers of Eth-Interchained",
                "points": 4.3,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 3,
                      "login": "Eth-Interchained"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "16 public repos, account ~3 yr old",
                "points": 16.4,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 16
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 3
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "nedb-engine-client",
                "nedb-engine-client"
              ],
              "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": "88 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 88
                    }
                  }
                ],
                "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": 59,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "at_risk",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 48,
            "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": "0 out of 16 merged PRs checked by a CI test -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "good",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "topics": [],
              "has_wiki": true,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 38,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": null,
            "notes": [],
            "value": 38,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 18,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 0,
              "scorecard_aggregate": 3.8
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "0 out of 16 merged PRs checked by a CI test -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/16 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 detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "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": 1,
              "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": "100 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 100,
                      "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.57,
              "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": "57 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 57,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "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": 71154,
              "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": [
    "npm package 'nedb-engine' points at a different repository (https://github.com/aiassistsecure/nedb); excluded from ecosystem scoring",
    "pypi package 'nedb-engine' points at a different repository (https://github.com/aiassistsecure/nedb); excluded from ecosystem scoring",
    "crates package 'nedb-engine' points at a different repository (https://github.com/aiassistsecure/nedb); excluded from ecosystem scoring",
    "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-27T19:20:40.518257Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/e/Eth-Interchained/nedb.svg",
  "full_name": "Eth-Interchained/nedb",
  "license_state": "custom",
  "license_spdx": null
}

Scores are signals, not warranties. They reflect publicly visible practices on GitHub — not a code audit, and not a security guarantee.

Missing data is excluded and weights renormalized, never scored as zero. Methodology is versioned and open: metrics v1.13.0, schema v0.27.0 — full methodology · metrics wiki.

How one result sits in the wider record: aggregate statisticsnpm, PyPI, crates.io.