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

okp4 / tendermint

⟁ Tendermint Core (BFT Consensus) in Go

GoCustom license★ 3 stars⑂ 0 forkssince Jul 2022forkView on GitHub ↗

okp4/tendermint holds a health index of 34 out of 100, placing it in the At risk band. It scores highest on AI Readiness (71/100) and lowest on Community & Adoption (12/100). It was last updated 1455 days ago. 3 contributors account for most of its recent work.

34
overall / 100
At risk

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.

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

Abandonment Policy applies a 85% multiplier to weighted overall health.

Ownership

217 followers56 public repossince Oct 2021

This repository is backed by an organization — shared, accountable stewardship that can outlive any single maintainer.

Package ecosystems

RegistryPackageVersionDownloads / moVersionsLast publish
Gogithub.com/tendermint/tendermintpoints to another repo — not scoredv0.35.9-2431467 days ago

Metrics by category

Vitality

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

20Critical · 22% of overall
How it's scored
0/36Push recency — last push 1,455 days ago
0/36Commit cadence — 0/52 weeks with commits
0/18Commit volume — 0 commits in the last year
0/10OpenSSF Scorecard: Maintained — 0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Inputs used
commits_last_year0
human_commit_share0.74
days_since_last_push1,455
active_weeks_last_year0
How it's scored
16.2/27Ships releases — 100 version tags (no GitHub releases)
0/36Release recency — latest release 1,467 days ago
27/27Release cadence — a release every ~32.1 days
0/10OpenSSF Scorecard: Signed-Releases — no data
Inputs used
releases_count100
latest_release_tagv0.35.9
releases_from_tagsyes
days_since_latest_release1,467
mean_days_between_releases32.1
Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.

Community & Adoption

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

12Critical · 18% of overall
How it's scored
4.9/60Stars — 3 stars
0/25Forks — 0 forks
0/15Watchers — 0 watchers
Inputs used
forks0
stars3
watchers0
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
How it's scored
0/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_readmeno
has_licenseno
has_contributingno
has_issue_templateno
has_code_of_conductno
has_pull_request_templateno

Sustainability & Governance

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

50Moderate · 24% of overall
How it's scored
36/54Bus factor — 3 contributor(s) cover half of all commits
15.6/22.5Commit distribution — top contributor authored 31% of commits
13.5/13.5Contributor breadth — 97 contributors
10/10OpenSSF Scorecard: Contributors — project has 45 contributing companies or organizations
Inputs used
bus_factor3
contributors_sampled97
top_contributor_share0.307
How it's scored
0/46.8Issue resolution — no issues or no data
0/38.3PR acceptance — no decided pull requests or no data
0/15OpenSSF Scorecard: Code-Review — Found 0/30 approved changesets -- score normalized to 0
Inputs used
merged_prs0
open_issues0
closed_issues0
issue_closed_ratio
closed_unmerged_prs0
Excluded from scoring (no data or not applicable): Issue resolution, PR acceptance. Remaining weights renormalized.
How it's scored
30/30Ownership backing — organization-owned
0/20Verified domain
16.8/25Owner reach — 217 followers of okp4
22.4/25Track record — 56 public repos, account ~4 yr old
Inputs used
followers217
owner_typeOrganization
is_verified
owner_loginokp4
public_repos56
account_age_days1,756

Engineering Quality

Are baseline engineering and documentation practices in place?

69Moderate · 20% of overall
How it's scored
24/24CI workflows — 21 workflow(s)
24/24Tests present
16/16Linter config — .golangci.yml
0/9.6Pre-commit hooks
6.4/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — no data
Inputs used
has_ciyes
has_testsyes
has_editorconfigyes
has_linter_configyes
has_precommit_configno
Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.

Documentation

40At risk
How it's scored
0/30README
25/25Documentation directory
15/15Documentation / homepage site — https://tendermint.com/
0/10Repository description
0/10Topics
0/10Wiki
Inputs used
topics
has_wikino
homepagehttps://tendermint.com/
has_readmeno
has_docs_diryes
has_descriptionno

Security

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

45At 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 — no data
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/30 approved changesets -- score normalized to 0
2.5/2.5Contributors — project has 45 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
5/5Fuzzing — project is fuzzed
2.2/2.5License — license file detected
0/7.5Maintained — 0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
0/5Packaging — no data
0.5/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 1
0/5SAST — no SAST tool detected
5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — no data
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 203 existing vulnerabilities detected
Inputs used
sourceopenssf_scorecard
checks_evaluated15
scorecard_versionv5.5.0
checks_inconclusive3
scorecard_aggregate4.5
Excluded from scoring (no data or not applicable): ci_tests, packaging, signed_releases. Remaining weights renormalized.

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.

71Good · 0% of overall
How it's scored
0/45Agent instructions — no CLAUDE.md / AGENTS.md / editor rules
0/15Machine-readable docs (llms.txt)
40/40Legible commit history — 74 of 74 human commits state their intent (structured subject or explanatory body)
Inputs used
has_llms_txtno
legible_history_share1
agent_instruction_files
agent_instruction_max_bytes
How it's scored
18/18One-command bootstrap — Makefile, networks/local/Makefile, test/Makefile, test/e2e/Makefile
22/22Automated tests
11/11Lint / format config — .golangci.yml
11/11Static type checking — Go (statically typed)
10/10Reproducible environment — Dockerfile, lockfile
0/10Demonstrated agent practice — no agent-authored commits among the last 100
8/8Automated maintenance — 26 of the last 100 commits are automated dependency updates
1/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 1
Inputs used
has_nixno
has_testsyes
lockfilesgo.sum, package-lock.json
has_dockerfileyes
typed_languageyes
bootstrap_filesMakefile, networks/local/Makefile, test/Makefile, test/e2e/Makefile
has_devcontainerno
has_linter_configyes
typecheck_configs
agent_commit_share0
toolchain_manifestsgo.mod
dependency_bot_commit_share0.26
How it's scored
45/45Type-checkable code — Go (statically typed)
54.2/55Manageable file sizes — 9/647 source files over 60KB
Inputs used
primary_languageGo
largest_source_bytes429,777
source_files_sampled647
oversized_source_files9
How it's scored
40/40API schema (OpenAPI/GraphQL/proto) — proto/tendermint/abci/types.proto, proto/tendermint/blocksync/types.proto, proto/tendermint/consensus/types.proto, proto/tendermint/consensus/wal.proto, proto/tendermint/crypto/keys.proto, proto/tendermint/crypto/proof.proto, proto/tendermint/libs/bits/types.proto, proto/tendermint/mempool/types.proto, proto/tendermint/p2p/conn.proto, proto/tendermint/p2p/pex.proto, proto/tendermint/p2p/types.proto, proto/tendermint/privval/service.proto, proto/tendermint/privval/types.proto, proto/tendermint/state/types.proto, proto/tendermint/statesync/types.proto, proto/tendermint/types/block.proto, proto/tendermint/types/canonical.proto, proto/tendermint/types/events.proto, proto/tendermint/types/evidence.proto, proto/tendermint/types/params.proto, proto/tendermint/types/types.proto, proto/tendermint/types/validator.proto, proto/tendermint/version/types.proto, rpc/openapi/openapi.yaml
0/20MCP server
40/40Runnable examples — example
Inputs used
example_dirsexample
has_mcp_signalno
api_schema_filesproto/tendermint/abci/types.proto, proto/tendermint/blocksync/types.proto, proto/tendermint/consensus/types.proto, proto/tendermint/consensus/wal.proto, proto/tendermint/crypto/keys.proto, proto/tendermint/crypto/proof.proto, proto/tendermint/libs/bits/types.proto, proto/tendermint/mempool/types.proto, proto/tendermint/p2p/conn.proto, proto/tendermint/p2p/pex.proto, proto/tendermint/p2p/types.proto, proto/tendermint/privval/service.proto, proto/tendermint/privval/types.proto, proto/tendermint/state/types.proto, proto/tendermint/statesync/types.proto, proto/tendermint/types/block.proto, proto/tendermint/types/canonical.proto, proto/tendermint/types/events.proto, proto/tendermint/types/evidence.proto, proto/tendermint/types/params.proto, proto/tendermint/types/types.proto, proto/tendermint/types/validator.proto, proto/tendermint/version/types.proto, rpc/openapi/openapi.yaml

Key facts

3GitHub stars
97contributors
0commits, last 12 months
1,455days since last push
100releases
3bus factor
0open issues
Go, npmpackage ecosystems

Data collection warnings

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • Community profile unavailable
  • go package 'github.com/tendermint/tendermint' points at a different repository (https://github.com/tendermint/tendermint); excluded from ecosystem scoring
  • GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

More detail

OpenSSF Scorecard 4.5 / 10
4.5aggregate

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 13:13 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
n/aCI-Testsno pull request found
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/30 approved changesets -- score normalized to 0
10Contributorsproject has 45 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
10Fuzzingproject is fuzzed
9Licenselicense file detected
0Maintained0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
n/aPackaginginternal error: Client.Actions.ListWorkflowRunsByFileName: internal error: ListWorkflowRunsByFileName: GET https://api.github.com/repos/okp4/tendermint/actions/workflows/docker.yml/runs?status=success: 404 Not Found []
1Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 1
0SASTno SAST tool detected
10Security-Policysecurity policy file detected
n/aSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities203 existing vulnerabilities detected
Direct dependencies 42
RegistryPackageVersion constraintManifest
Gogithub.com/BurntSushi/tomlv1.2.0go.mod
Gogithub.com/adlio/schemav1.3.3go.mod
Gogithub.com/btcsuite/btcdv0.22.1go.mod
Gogithub.com/btcsuite/btcutilv1.0.3-0.20201208143702-a53e38424ccego.mod
Gogithub.com/fortytw2/leaktestv1.3.0go.mod
Gogithub.com/go-kit/kitv0.12.0go.mod
Gogithub.com/gogo/protobufv1.3.2go.mod
Gogithub.com/golang/protobufv1.5.2go.mod
Gogithub.com/google/orderedcodev0.0.1go.mod
Gogithub.com/google/uuidv1.3.0go.mod
Gogithub.com/gorilla/websocketv1.5.0go.mod
Gogithub.com/grpc-ecosystem/go-grpc-middlewarev1.3.0go.mod
Gogithub.com/grpc-ecosystem/go-grpc-prometheusv1.2.0go.mod
Gogithub.com/lib/pqv1.10.6go.mod
Gogithub.com/libp2p/go-buffer-poolv0.1.0go.mod
Gogithub.com/mroth/weightedrandv0.4.1go.mod
Gogithub.com/oasisprotocol/curve25519-voiv0.0.0-20210609091139-0a56a4bca00bgo.mod
Gogithub.com/ory/dockertestv3.3.5+incompatiblego.mod
Gogithub.com/prometheus/client_golangv1.12.2go.mod
Gogithub.com/rs/corsv1.8.2go.mod
Gogithub.com/rs/zerologv1.27.0go.mod
Gogithub.com/snikch/goodmanv0.0.0-20171125024755-10e37e294daago.mod
Gogithub.com/spf13/cobrav1.5.0go.mod
Gogithub.com/spf13/viperv1.12.0go.mod
Gogithub.com/stretchr/testifyv1.8.0go.mod
Gogithub.com/tendermint/tm-dbv0.6.6go.mod
Gogolang.org/x/cryptov0.0.0-20220525230936-793ad666bf5ego.mod
Gogolang.org/x/netv0.0.0-20220617184016-355a448f1bc9go.mod
Gogolang.org/x/syncv0.0.0-20220513210516-0976fa681c29go.mod
Gogoogle.golang.org/grpcv1.48.0go.mod
Gopgregory.net/rapidv0.4.8go.mod
Gogithub.com/bufbuild/bufv1.4.0go.mod
Gogithub.com/creachadair/atomicfilev0.2.6go.mod
Gogithub.com/creachadair/taskgroupv0.3.2go.mod
Gogithub.com/golangci/golangci-lintv1.47.2go.mod
Gogithub.com/google/go-cmpv0.5.8go.mod
Gogithub.com/vektra/mockery/v2v2.14.0go.mod
Gogotest.toolsv2.2.0+incompatiblego.mod
Gogithub.com/creachadair/tomleditv0.0.23go.mod
Gogithub.com/prometheus/client_modelv0.2.0go.mod
Gogithub.com/prometheus/commonv0.37.0go.mod
Gogithub.com/syndtr/goleveldbv1.0.1-0.20200815110645-5c35d600f0cago.mod
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": true,
      "size_kb": 106812,
      "has_wiki": false,
      "homepage": "https://tendermint.com/",
      "languages": {
        "Go": 3972946,
        "HCL": 2333,
        "TLA": 272364,
        "TeX": 332482,
        "HTML": 787,
        "Jinja": 13466,
        "Shell": 25679,
        "Python": 21287,
        "Makefile": 14770,
        "Dockerfile": 5412
      },
      "pushed_at": "2022-08-01T16:04:56Z",
      "created_at": "2022-07-27T11:00:14Z",
      "owner_type": "Organization",
      "updated_at": "2022-11-23T16:42:39Z",
      "description": "⟁ Tendermint Core (BFT Consensus) in Go",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": null,
      "default_branch": "master",
      "license_spdx_raw": "NOASSERTION",
      "primary_language": "Go",
      "significant_languages": [
        "Go"
      ]
    },
    "owner": {
      "blog": "https://okp4.network",
      "name": "OKP4 – Open Knowledge Protocol For",
      "type": "Organization",
      "login": "okp4",
      "company": null,
      "location": "Switzerland",
      "followers": 217,
      "avatar_url": "https://avatars.githubusercontent.com/u/91899131?v=4",
      "created_at": "2021-10-04T14:42:12Z",
      "is_verified": null,
      "public_repos": 56,
      "account_age_days": 1756
    },
    "license": {
      "state": "custom",
      "spdx_id": null,
      "raw_spdx": "NOASSERTION",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": false
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.37.0-dev",
          "kind": "prerelease",
          "published_at": "2022-06-07T16:40:22Z"
        },
        {
          "tag": "v0.36.0-dev",
          "kind": "prerelease",
          "published_at": "2021-10-04T15:40:50Z"
        },
        {
          "tag": "v0.35.9",
          "kind": "patch",
          "published_at": "2022-07-20T22:28:54Z"
        },
        {
          "tag": "v0.35.9-rc0",
          "kind": "prerelease",
          "published_at": "2022-07-19T21:02:14Z"
        },
        {
          "tag": "v0.35.8",
          "kind": "patch",
          "published_at": "2022-07-14T21:49:37Z"
        },
        {
          "tag": "v0.35.7",
          "kind": "patch",
          "published_at": "2022-06-22T22:16:58Z"
        },
        {
          "tag": "v0.35.6",
          "kind": "patch",
          "published_at": "2022-06-03T08:42:06Z"
        },
        {
          "tag": "v0.35.5",
          "kind": "patch",
          "published_at": "2022-05-26T16:08:41Z"
        },
        {
          "tag": "v0.35.4",
          "kind": "patch",
          "published_at": "2022-04-18T05:34:09Z"
        },
        {
          "tag": "v0.35.3",
          "kind": "patch",
          "published_at": "2022-04-08T23:11:18Z"
        },
        {
          "tag": "v0.35.2",
          "kind": "patch",
          "published_at": "2022-03-02T16:37:33Z"
        },
        {
          "tag": "v0.35.1",
          "kind": "patch",
          "published_at": "2022-01-26T19:04:09Z"
        },
        {
          "tag": "v0.35.0",
          "kind": "minor",
          "published_at": "2021-11-04T15:22:39Z"
        },
        {
          "tag": "v0.35.0-rc4",
          "kind": "prerelease",
          "published_at": "2021-10-29T16:57:23Z"
        },
        {
          "tag": "v0.35.0-rc3",
          "kind": "prerelease",
          "published_at": "2021-10-06T18:19:26Z"
        },
        {
          "tag": "v0.35.0-rc2",
          "kind": "prerelease",
          "published_at": "2021-09-28T14:59:47Z"
        },
        {
          "tag": "v0.35.0-rc1",
          "kind": "prerelease",
          "published_at": "2021-09-08T13:58:12Z"
        },
        {
          "tag": "v0.35.0-dev",
          "kind": "prerelease",
          "published_at": "2020-09-25T04:38:28Z"
        },
        {
          "tag": "v0.34.20",
          "kind": "patch",
          "published_at": "2022-07-18T17:04:38Z"
        },
        {
          "tag": "v0.34.20-rc1",
          "kind": "prerelease",
          "published_at": "2022-07-12T18:03:23Z"
        },
        {
          "tag": "v0.34.20-rc0",
          "kind": "prerelease",
          "published_at": "2022-06-27T16:44:21Z"
        },
        {
          "tag": "v0.34.19",
          "kind": "patch",
          "published_at": "2022-04-07T21:39:44Z"
        },
        {
          "tag": "v0.34.18",
          "kind": "patch",
          "published_at": "2022-04-06T18:55:55Z"
        },
        {
          "tag": "v0.34.17",
          "kind": "patch",
          "published_at": "2022-04-01T21:50:48Z"
        },
        {
          "tag": "v0.34.16",
          "kind": "patch",
          "published_at": "2022-02-25T16:12:20Z"
        },
        {
          "tag": "v0.34.15",
          "kind": "patch",
          "published_at": "2021-12-02T17:32:55Z"
        },
        {
          "tag": "v0.34.14",
          "kind": "patch",
          "published_at": "2021-10-13T08:47:16Z"
        },
        {
          "tag": "v0.34.13",
          "kind": "patch",
          "published_at": "2021-09-08T19:09:15Z"
        },
        {
          "tag": "v0.34.12",
          "kind": "patch",
          "published_at": "2021-08-17T14:37:25Z"
        },
        {
          "tag": "v0.34.11",
          "kind": "patch",
          "published_at": "2021-06-18T09:44:39Z"
        },
        {
          "tag": "v0.34.10",
          "kind": "patch",
          "published_at": "2021-04-14T20:46:14Z"
        },
        {
          "tag": "v0.34.9",
          "kind": "patch",
          "published_at": "2021-04-08T17:05:23Z"
        },
        {
          "tag": "v0.34.8",
          "kind": "patch",
          "published_at": "2021-02-25T11:30:29Z"
        },
        {
          "tag": "v0.34.7",
          "kind": "patch",
          "published_at": "2021-02-18T02:04:16Z"
        },
        {
          "tag": "v0.34.6",
          "kind": "patch",
          "published_at": "2021-02-18T01:36:01Z"
        },
        {
          "tag": "v0.34.5",
          "kind": "patch",
          "published_at": "2021-02-18T01:09:16Z"
        },
        {
          "tag": "v0.34.4",
          "kind": "patch",
          "published_at": "2021-02-11T21:31:17Z"
        },
        {
          "tag": "v0.34.3",
          "kind": "patch",
          "published_at": "2021-01-19T15:12:47Z"
        },
        {
          "tag": "v0.34.2",
          "kind": "patch",
          "published_at": "2021-01-12T17:24:44Z"
        },
        {
          "tag": "v0.34.1",
          "kind": "patch",
          "published_at": "2021-01-06T15:32:43Z"
        },
        {
          "tag": "v0.34.1-rc1",
          "kind": "prerelease",
          "published_at": "2020-12-23T17:45:04Z"
        },
        {
          "tag": "v0.34.1-dev1",
          "kind": "prerelease",
          "published_at": "2020-12-10T07:02:35Z"
        },
        {
          "tag": "v0.34.0",
          "kind": "minor",
          "published_at": "2020-11-19T17:52:34Z"
        },
        {
          "tag": "v0.34.0-rc6",
          "kind": "prerelease",
          "published_at": "2020-11-05T16:56:59Z"
        },
        {
          "tag": "v0.34.0-rc5",
          "kind": "prerelease",
          "published_at": "2020-10-13T18:00:59Z"
        },
        {
          "tag": "v0.34.0-rc4",
          "kind": "prerelease",
          "published_at": "2020-09-24T14:48:55Z"
        },
        {
          "tag": "v0.34.0-rc3",
          "kind": "prerelease",
          "published_at": "2020-08-13T12:53:44Z"
        },
        {
          "tag": "v0.34.0-rc2",
          "kind": "prerelease",
          "published_at": "2020-07-30T13:46:33Z"
        },
        {
          "tag": "v0.34.0-dev1",
          "kind": "prerelease",
          "published_at": "2020-06-24T05:24:30Z"
        },
        {
          "tag": "v0.33.9",
          "kind": "patch",
          "published_at": "2020-11-16T12:49:41Z"
        },
        {
          "tag": "v0.33.8",
          "kind": "patch",
          "published_at": "2020-08-11T11:35:25Z"
        },
        {
          "tag": "v0.33.7",
          "kind": "patch",
          "published_at": "2020-08-04T11:21:05Z"
        },
        {
          "tag": "v0.33.6",
          "kind": "patch",
          "published_at": "2020-07-02T13:41:49Z"
        },
        {
          "tag": "v0.33.5",
          "kind": "patch",
          "published_at": "2020-05-28T10:41:32Z"
        },
        {
          "tag": "v0.33.4",
          "kind": "patch",
          "published_at": "2020-04-21T13:47:36Z"
        },
        {
          "tag": "v0.33.3",
          "kind": "patch",
          "published_at": "2020-04-09T13:48:13Z"
        },
        {
          "tag": "v0.33.2",
          "kind": "patch",
          "published_at": "2020-03-11T12:55:00Z"
        },
        {
          "tag": "v0.33.1",
          "kind": "patch",
          "published_at": "2020-02-14T11:56:26Z"
        },
        {
          "tag": "v0.33.1-dev3",
          "kind": "prerelease",
          "published_at": "2020-03-09T17:52:08Z"
        },
        {
          "tag": "v0.33.1-dev2",
          "kind": "prerelease",
          "published_at": "2020-02-27T16:26:28Z"
        },
        {
          "tag": "v0.33.1-dev1",
          "kind": "prerelease",
          "published_at": "2020-02-26T09:20:51Z"
        },
        {
          "tag": "v0.33.1-dev0",
          "kind": "prerelease",
          "published_at": "2020-02-07T15:31:46Z"
        },
        {
          "tag": "v0.33.0",
          "kind": "minor",
          "published_at": "2020-01-15T11:45:10Z"
        },
        {
          "tag": "v0.33.0-dev2",
          "kind": "prerelease",
          "published_at": "2020-02-07T13:37:20Z"
        },
        {
          "tag": "v0.33.0-dev1",
          "kind": "prerelease",
          "published_at": "2020-01-23T07:57:42Z"
        },
        {
          "tag": "v0.32.14",
          "kind": "patch",
          "published_at": "2020-11-16T12:50:39Z"
        },
        {
          "tag": "v0.32.13",
          "kind": "patch",
          "published_at": "2020-08-05T10:03:28Z"
        },
        {
          "tag": "v0.32.13-rc1",
          "kind": "prerelease",
          "published_at": "2020-07-28T06:12:18Z"
        },
        {
          "tag": "v0.32.12",
          "kind": "patch",
          "published_at": "2020-05-19T15:27:50Z"
        },
        {
          "tag": "v0.32.11",
          "kind": "patch",
          "published_at": "2020-04-29T15:25:27Z"
        },
        {
          "tag": "v0.32.10",
          "kind": "patch",
          "published_at": "2020-04-09T13:48:13Z"
        },
        {
          "tag": "v0.32.9",
          "kind": "patch",
          "published_at": "2020-01-10T20:30:56Z"
        },
        {
          "tag": "v0.32.8",
          "kind": "patch",
          "published_at": "2019-11-19T14:03:24Z"
        },
        {
          "tag": "v0.32.7",
          "kind": "patch",
          "published_at": "2019-10-29T18:00:56Z"
        },
        {
          "tag": "v0.32.6",
          "kind": "patch",
          "published_at": "2019-10-10T16:01:51Z"
        },
        {
          "tag": "v0.32.5",
          "kind": "patch",
          "published_at": "2019-10-02T06:11:51Z"
        },
        {
          "tag": "v0.32.4",
          "kind": "patch",
          "published_at": "2019-09-20T15:17:52Z"
        },
        {
          "tag": "v0.32.3",
          "kind": "patch",
          "published_at": "2019-08-28T13:02:58Z"
        },
        {
          "tag": "v0.32.2",
          "kind": "patch",
          "published_at": "2019-08-01T17:28:32Z"
        },
        {
          "tag": "v0.32.1",
          "kind": "patch",
          "published_at": "2019-07-15T16:25:35Z"
        },
        {
          "tag": "v0.32.0",
          "kind": "minor",
          "published_at": "2019-06-25T11:57:50Z"
        },
        {
          "tag": "v0.32.0-dev2",
          "kind": "prerelease",
          "published_at": "2019-06-22T15:48:01Z"
        },
        {
          "tag": "v0.32.0-dev1",
          "kind": "prerelease",
          "published_at": "2019-06-21T05:30:32Z"
        },
        {
          "tag": "v0.32.0-dev0",
          "kind": "prerelease",
          "published_at": "2019-06-12T12:03:45Z"
        },
        {
          "tag": "v0.31.12",
          "kind": "patch",
          "published_at": "2020-04-09T13:48:13Z"
        },
        {
          "tag": "v0.31.11",
          "kind": "patch",
          "published_at": "2019-10-29T18:00:57Z"
        },
        {
          "tag": "v0.31.10",
          "kind": "patch",
          "published_at": "2019-10-10T16:01:50Z"
        },
        {
          "tag": "v0.31.9",
          "kind": "patch",
          "published_at": "2019-10-02T06:32:55Z"
        },
        {
          "tag": "v0.31.8",
          "kind": "patch",
          "published_at": "2019-07-29T14:16:28Z"
        },
        {
          "tag": "v0.31.7",
          "kind": "patch",
          "published_at": "2019-06-04T03:14:37Z"
        },
        {
          "tag": "v0.31.6",
          "kind": "patch",
          "published_at": "2019-05-30T23:15:48Z"
        },
        {
          "tag": "v0.31.5",
          "kind": "patch",
          "published_at": "2019-04-16T20:51:18Z"
        },
        {
          "tag": "v0.31.4",
          "kind": "patch",
          "published_at": "2019-04-12T14:56:03Z"
        },
        {
          "tag": "v0.31.3",
          "kind": "patch",
          "published_at": "2019-04-02T20:45:04Z"
        },
        {
          "tag": "v0.31.2",
          "kind": "patch",
          "published_at": "2019-04-01T15:58:28Z"
        },
        {
          "tag": "v0.31.2-rc0",
          "kind": "prerelease",
          "published_at": "2019-03-30T19:34:42Z"
        },
        {
          "tag": "v0.31.1",
          "kind": "patch",
          "published_at": "2019-03-28T11:57:42Z"
        },
        {
          "tag": "v0.31.0-dev0-fix0",
          "kind": "prerelease",
          "published_at": "2019-04-03T17:00:27Z"
        },
        {
          "tag": "v0.30.4",
          "kind": "patch",
          "published_at": "2019-04-16T20:52:07Z"
        },
        {
          "tag": "v0.30.3",
          "kind": "patch",
          "published_at": "2019-04-02T20:47:28Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "7a84425aecd0f1c2ec94544d70b91d7a501889d4",
          "body": null,
          "is_bot": false,
          "headline": "update dependabot frequencies (#9087)",
          "author_name": "Callum Waters",
          "author_login": "cmwaters",
          "committed_at": "2022-07-26T10:05:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "488e1d4bd240d3715d30fd2d55036e70f9d760c0",
          "body": "…23 (#9084)\n\nBumps [github.com/creachadair/tomledit](https://github.com/creachadair/tomledit) from 0.0.22 to 0.0.23.\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/creachadair/tomledit/commit/e7b6512f75db7dce20a8ee48af7bb3880dd5814c\"><code>e7b6512</code></a> Release v0.0.2\n[…]\nde to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n</details>",
          "is_bot": true,
          "headline": "build(deps): Bump github.com/creachadair/tomledit from 0.0.22 to 0.0.…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-07-25T12:53:08Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "89246e993af52723a03a963185ce63f5c49fd5d3",
          "body": null,
          "is_bot": true,
          "headline": "build(deps): Bump docker/build-push-action from 3.0.0 to 3.1.0 (#9082)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-07-25T10:07:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6c302218e3823535d7a83758843773db1a472e07",
          "body": null,
          "is_bot": false,
          "headline": "Documentation: update go tutorials (#9048)",
          "author_name": "Steven Ferrer",
          "author_login": "stevenferrer",
          "committed_at": "2022-07-25T08:15:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "023c21f3074189da5e8dfbe01ce8469dfdc90eb6",
          "body": "…47.2 (#9070)\n\nBumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint) from 1.47.1 to 1.47.2.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/golangci/golangci-lint/releases\">github.com/golangci/golangci-lint's releases</a>.</em\n[…]\nde to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n</details>",
          "is_bot": true,
          "headline": "build(deps): Bump github.com/golangci/golangci-lint from 1.47.1 to 1.…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-07-22T14:16:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "65c0fba564a023fe097ec70a1f652664957e6ce3",
          "body": "Bumps [github.com/BurntSushi/toml](https://github.com/BurntSushi/toml) from 1.1.0 to 1.2.0.\r\n- [Release notes](https://github.com/BurntSushi/toml/releases)\r\n- [Commits](https://github.com/BurntSushi/toml/compare/v1.1.0...v1.2.0)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: github.com/BurntSushi\n[…]\nroduction\r\n  update-type: version-update:semver-minor\r\n...\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\n\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "build(deps): Bump github.com/BurntSushi/toml from 1.1.0 to 1.2.0 (#9061)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-07-21T13:20:01Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "87708b8ae7612093d4c80d54ad9fab9e7f045695",
          "body": null,
          "is_bot": false,
          "headline": "Forward-port changelog for v0.35.9 to master. (#9059)",
          "author_name": "M. J. Fromberger",
          "author_login": null,
          "committed_at": "2022-07-21T08:22:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d320b3088e57a7c427e94d670f4676f744d031ee",
          "body": "…47.1 (#9044)\n\nBumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint) from 1.47.0 to 1.47.1.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/golangci/golangci-lint/releases\">github.com/golangci/golangci-lint's releases</a>.</em\n[…]\nde to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n</details>",
          "is_bot": true,
          "headline": "build(deps): Bump github.com/golangci/golangci-lint from 1.47.0 to 1.…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-07-21T01:50:14Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e33635a601ce00353e428faf411d2187919bccbe",
          "body": null,
          "is_bot": true,
          "headline": "build(deps): Bump terser from 4.8.0 to 4.8.1 in /docs (#9051)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-07-21T00:20:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fa32078ceb756962a541bfc85884ef81b13c0906",
          "body": "This is a manual forward-port of #8944 and related fixes from v0.35.x.\r\n\r\nOne difference of note is that the CheckTx response messages no longer have a\r\nfield to record an error from the ABCI application. The code is set up so that\r\nthese could be reported directly to the CheckTx caller, but it woul\n[…]\ntics.\r\n\r\nAlso fix up tests relying on implementation-specific mempool behavior.\r\n\r\n- Commit was setting the expected mempool size incorrectly.\r\n- Fix sequence test not to depend on the incorrect size.",
          "is_bot": false,
          "headline": "Fix unbounded heap growth in the priority mempool. (#9052)",
          "author_name": "M. J. Fromberger",
          "author_login": null,
          "committed_at": "2022-07-20T21:37:13Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fc3a24a669c83a7e8748967b7e9f0e7fe5401d57",
          "body": "As far as I know nobody looks at these reports anyway, and lately\r\nthe codecov API has been failing for an expired certificate.",
          "is_bot": false,
          "headline": "Disable upload-coverage-report workflow in CI. (#9056)",
          "author_name": "M. J. Fromberger",
          "author_login": null,
          "committed_at": "2022-07-20T19:21:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "525624f1ce4c4a834b1c66e312d8531bfec2d06e",
          "body": null,
          "is_bot": false,
          "headline": "Fix a typo in the RFC ToC (#9047)",
          "author_name": "M. J. Fromberger",
          "author_login": null,
          "committed_at": "2022-07-20T10:01:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8a815417b450c52037f02bde69dce7e124249869",
          "body": null,
          "is_bot": false,
          "headline": "RFC 021: The Future of the Socket Protocol (#8584)",
          "author_name": "M. J. Fromberger",
          "author_login": null,
          "committed_at": "2022-07-19T23:47:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "066b7a9999adf6c42ce06502766e483124099e6a",
          "body": "…47.0 (#9038)\n\nBumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint) from 1.46.0 to 1.47.0.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/golangci/golangci-lint/releases\">github.com/golangci/golangci-lint's releases</a>.</em\n[…]\nde to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n</details>",
          "is_bot": true,
          "headline": "build(deps): Bump github.com/golangci/golangci-lint from 1.46.0 to 1.…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-07-19T13:13:02Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "48f3062d9d4111e5d79b0b985588b8c31721dbe7",
          "body": "Co-authored-by: Callum Waters <cmwaters19@gmail.com>\r\nCo-authored-by: Josef Widder <44643235+josef-widder@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Updated potential errors in abci.md (#9003)",
          "author_name": "Rishabh Goel",
          "author_login": "odegnome",
          "committed_at": "2022-07-18T08:50:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cc07318866c72b1e29060e8dc853037cf9e65a0d",
          "body": null,
          "is_bot": false,
          "headline": "migration: scope key migration to stores (#9005)",
          "author_name": "Sam Kleinman",
          "author_login": "tychoish",
          "committed_at": "2022-07-16T01:14:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "503ddf1c4dfc26e347b52c81b5c30555e7f2f86a",
          "body": "…(#9013)\n\nBumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.36.0 to 0.37.0.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/prometheus/common/releases\">github.com/prometheus/common's releases</a>.</em></p>\n<blockquote>\n<h2>si\n[…]\nde to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n</details>",
          "is_bot": true,
          "headline": "build(deps): Bump github.com/prometheus/common from 0.36.0 to 0.37.0 …",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-07-15T16:10:24Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "18b5a500da06723823da0424a99e13a7bcad7d68",
          "body": "Pull out the library functionality from scripts/confix and move it to\r\ninternal/libs/confix. Replace scripts/confix with a simple stub that has the\r\nsame command-line API, but uses the library instead.\r\n\r\nRelated:\r\n\r\n- Move and update unit tests.\r\n- Move scripts/confix/condiff to scripts/condiff.\r\n- Update test data for v34, v35, and v36.\r\n- Update reference diffs.\r\n- Update testdata README.",
          "is_bot": false,
          "headline": "Extract a library from the confix command-line tool. (#9012)",
          "author_name": "M. J. Fromberger",
          "author_login": null,
          "committed_at": "2022-07-15T14:29:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d2db54ae9ab5e9ed5a9fef25d72fe31d48fc43e2",
          "body": "Bumps [pgregory.net/rapid](https://github.com/flyingmutant/rapid) from 0.4.7 to 0.4.8.\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/flyingmutant/rapid/commit/110d7a5dd15915adddbb9bf3d43667dbe5933e8d\"><code>110d7a5</code></a> persist: bump rapid version</li>\n<li><a href=\"\n[…]\nde to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n</details>",
          "is_bot": true,
          "headline": "build(deps): Bump pgregory.net/rapid from 0.4.7 to 0.4.8 (#9014)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-07-15T13:24:17Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "31457ad3614deddc0360b3f24bc8a528d7c63cc7",
          "body": null,
          "is_bot": false,
          "headline": "typo (#9001)",
          "author_name": "Sergio Mena",
          "author_login": "sergio-mena",
          "committed_at": "2022-07-15T10:01:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4214d998f2ed6f0217f0f405c5093375dd45510e",
          "body": null,
          "is_bot": false,
          "headline": "Forward-port point release changelogs from v0.35.x. (#9011)",
          "author_name": "M. J. Fromberger",
          "author_login": null,
          "committed_at": "2022-07-15T01:43:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c1c501ecd43dec53e56a197f7013bface2a962fb",
          "body": "Update the queue documentation to reflect the types of queues and current default queue.",
          "is_bot": false,
          "headline": "config: update config to reflect simple-priority queue (#9007)",
          "author_name": "William Banfield",
          "author_login": "williambanfield",
          "committed_at": "2022-07-14T20:19:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b71ec8c83fde289dc0504a01c2f3fd85216dc288",
          "body": null,
          "is_bot": false,
          "headline": "doc: fix typos in quick-start.md. (#8990)",
          "author_name": "kuniseichi",
          "author_login": "brizenchi",
          "committed_at": "2022-07-13T14:04:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b421138e5399432b7d420c336ae24874670038b8",
          "body": "Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.47.0 to 1.48.0.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/grpc/grpc-go/releases\">google.golang.org/grpc's releases</a>.</em></p>\n<blockquote>\n<h2>Release 1.48.0</h2>\n<h1>Bug Fixes<\n[…]\nde to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n</details>",
          "is_bot": true,
          "headline": "build(deps): Bump google.golang.org/grpc from 1.47.0 to 1.48.0 (#8993)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-07-13T13:49:52Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e9239e9ca813638d3fba7739a2904d684b043d90",
          "body": null,
          "is_bot": false,
          "headline": "p2p: switch default queue implementation (#8976)",
          "author_name": "Sam Kleinman",
          "author_login": "tychoish",
          "committed_at": "2022-07-12T12:20:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "136b62762fe3a941a947efc842af00c857d323b7",
          "body": "…(#8980)\n\nBumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.35.0 to 0.36.0.\r\n- [Release notes](https://github.com/prometheus/common/releases)\r\n- [Commits](https://github.com/prometheus/common/compare/v0.35.0...v0.36.0)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name:\n[…]\nroduction\r\n  update-type: version-update:semver-minor\r\n...\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\n\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "build(deps): Bump github.com/prometheus/common from 0.35.0 to 0.36.0 …",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-07-12T12:00:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d5fb82e414b49d1bb27eabcaded6213fec06f5ac",
          "body": "This is (#8446) pulled from the `main/libp2p` branch but without any\nof the libp2p content, and is perhaps the easiest first step to enable\npluggability at the peer layer, and makes it possible hoist shims\n(including for, say 0.34) into tendermint without touching the reactors.",
          "is_bot": false,
          "headline": "p2p: make p2p.Channel an interface (#8967)",
          "author_name": "Sam Kleinman",
          "author_login": "tychoish",
          "committed_at": "2022-07-11T20:22:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6902fa92829ff5cc2aa051fadf15d45322251463",
          "body": null,
          "is_bot": false,
          "headline": "Fix punctuation (#8972)",
          "author_name": "Rootul Patel",
          "author_login": "rootulp",
          "committed_at": "2022-07-11T14:14:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "61ce384d752233c5f236d0b14c2685a259f0557a",
          "body": "Closes #8948",
          "is_bot": false,
          "headline": "p2p: make peer gossiping coinflip safer (#8949)",
          "author_name": "Sam Kleinman",
          "author_login": "tychoish",
          "committed_at": "2022-07-08T14:06:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "636320f9010be75c0ae804714ddce62b46f17930",
          "body": "I think the decision in #8806 is that we shouldn't do this yet, so I think it's best to just drop this.",
          "is_bot": false,
          "headline": "p2p: delete cruft (#8958)",
          "author_name": "Sam Kleinman",
          "author_login": "tychoish",
          "committed_at": "2022-07-07T16:29:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d1a16e8ff0393b80d45eb7299cac314570e48f8c",
          "body": null,
          "is_bot": false,
          "headline": "p2p: simpler priority queue (#8929)",
          "author_name": "Sam Kleinman",
          "author_login": "tychoish",
          "committed_at": "2022-07-07T16:13:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "27c523dccbe7f2f577868ee871b0042c1fef9a53",
          "body": "… (#8942)\n\nAddresses: https://github.com/tendermint/tendermint/issues/8928",
          "is_bot": false,
          "headline": "mempool: return error when mempool is full and inbound tx is rejected…",
          "author_name": "Callum Waters",
          "author_login": "cmwaters",
          "committed_at": "2022-07-06T18:17:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "be6d74e6579bad8709def9716268f12f460df93d",
          "body": "…: #8625) (#8945)\n\nPort the bug fix terra-money#76 to upstream. This is critical for ethermint json-rpc to work.\r\n\r\nfix: prevent duplicate tx index if it succeeded before\r\nfix: use CodeTypeOk instead of 0\r\nfix: handle duplicate txs within the same block\r\nCo-authored-by: jess jesse@soob.co\r\n\r\nref: #5281\r\n\r\nCo-authored-by: M. J. Fromberger <fromberger@interchain.io>",
          "is_bot": false,
          "headline": "Work around indexing problem for duplicate transactions (forward port…",
          "author_name": "yihuang",
          "author_login": null,
          "committed_at": "2022-07-06T18:05:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "70e7372c4ac518c740458f7873ba9b4409a44751",
          "body": "Co-authored-by: Samantha Ricotta <samantharicotta@Samanthas-MacBook-Pro.local>",
          "is_bot": false,
          "headline": "added name to CO (#8947)",
          "author_name": "samricotta",
          "author_login": "samricotta",
          "committed_at": "2022-07-06T12:30:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2b5329ae47a092941c18b3663ebedf0d387abce7",
          "body": null,
          "is_bot": false,
          "headline": "Typos in spec (#8939)",
          "author_name": "Sergio Mena",
          "author_login": "sergio-mena",
          "committed_at": "2022-07-05T22:02:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3cde9a0bbc04683aedb96871b0b45f8e2e650101",
          "body": "* Add `process_proposal` command to abci-cli\r\n\r\n* Added process proposal to the 'tutorial' examples\r\n\r\n* Added entry in CHANGELOG_PENDING.md\r\n\r\n* Allow empty blocks in PrepareProposal, ProcessProposal, and FinalizeBlock\r\n\r\n* Fix minimum arguments\r\n\r\n* Add tests for empty block\r\n\r\n* Updated abci-cli doc\r\n\r\nCo-authored-by: Sergio Mena <sergio@informal.systems>\r\nCo-authored-by: Jasmina Malicevic <jasmina.dustinac@gmail.com>",
          "is_bot": false,
          "headline": "abci-cli: Add `process_proposal` command to abci-cli (#8901)",
          "author_name": "Hernán Vanzetto",
          "author_login": "hvanz",
          "committed_at": "2022-07-05T13:08:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d8de2d85c0a07d0c2b72591a7991861bf88c2775",
          "body": "…0 (#8932)",
          "is_bot": true,
          "headline": "build(deps): Bump github.com/libp2p/go-buffer-pool from 0.0.2 to 0.1.…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-07-05T10:12:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "331860c2a8c406fa89575165322b963925fb38c5",
          "body": "…796)\n\n* Added VoteExtensionsEnableHeight\r\n\r\n* Fix reference to `modified`\r\n\r\n* Removed old pseudo-code, now included in spec\r\n\r\n* Removed markdown warnings in abci++_basic_concepts_002_draft.md\r\n\r\n* Restored `Commit` in the Methods section\r\n\r\n* Addressed remaining markdown warnings\r\n\r\n* Revisited i\n[…]\nail.com>\r\nCo-authored-by: M. J. Fromberger <fromberger@interchain.io>\r\nCo-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com>\r\nCo-authored-by: Daniel <daniel.cason@usi.ch>",
          "is_bot": false,
          "headline": "Restore `Commit` to the ABCI++ spec, and other late modifications (#8…",
          "author_name": "Sergio Mena",
          "author_login": "sergio-mena",
          "committed_at": "2022-07-04T14:25:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6d8079559baaf7428e16e504134ceb4e1e9d37db",
          "body": "…(#8924)\n\nBumps [github.com/vektra/mockery/v2](https://github.com/vektra/mockery) from 2.13.1 to 2.14.0.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/vektra/mockery/releases\">github.com/vektra/mockery/v2's releases</a>.</em></p>\n<blockquote>\n<h2>v2.14.0<\n[…]\nde to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n</details>",
          "is_bot": true,
          "headline": "build(deps): Bump github.com/vektra/mockery/v2 from 2.13.1 to 2.14.0 …",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-07-01T14:17:45Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1d96faa35a216553fcc8d1be7d85a90450ca5be0",
          "body": "Fix minor typos in peermanager",
          "is_bot": false,
          "headline": "p2p: fix typo (#8922)",
          "author_name": "Ian Jungyong Um",
          "author_login": "code0xff",
          "committed_at": "2022-07-01T12:44:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "921530c352d64229d0e78f6e1e14fe186d00b0db",
          "body": "handshakeCtx is the internal context carrying the timeout. Its error should be used for the error return.",
          "is_bot": false,
          "headline": "p2p: use correct context error (#8916)",
          "author_name": "William Banfield",
          "author_login": "williambanfield",
          "committed_at": "2022-06-30T22:02:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5274f80de437795c4782b52f73dcec76616eefe2",
          "body": "This test was made flakey by #8839. The cooldown period means that the node in the test will not try to reconnect as quickly as the test expects. This change makes the cooldown shorter in the test so that the node quickly reconnects.",
          "is_bot": false,
          "headline": "p2p: fix flakey test due to disconnect cooldown (#8917)",
          "author_name": "William Banfield",
          "author_login": "williambanfield",
          "committed_at": "2022-06-30T21:48:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "47cb30fc1d647183d500b0ecc31248df5dfc678c",
          "body": null,
          "is_bot": false,
          "headline": "p2p: set outgoing connections to around 20% of total connections (#8913)",
          "author_name": "William Banfield",
          "author_login": "williambanfield",
          "committed_at": "2022-06-30T20:51:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5c26db733b0b09e35990e70645e093cab0a3ce45",
          "body": "…907)\n\nBumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.5 to 1.8.0.\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/stretchr/testify/commit/181cea6eab8b2de7071383eca4be32a424db38dd\"><code>181cea6</code></a> impr: <code>CallerInfo</code> shou\n[…]\nde to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n</details>",
          "is_bot": true,
          "headline": "build(deps): Bump github.com/stretchr/testify from 1.7.5 to 1.8.0 (#8…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-06-30T16:34:43Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "60881f1d06cf69bfc1fb2a27c18d0e4061fc19d7",
          "body": null,
          "is_bot": false,
          "headline": "p2p: stop mconn channel sends without timeout (#8906)",
          "author_name": "Sam Kleinman",
          "author_login": "tychoish",
          "committed_at": "2022-06-30T13:01:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3bec1668c61ee8d0afcb870836e34905463c1399",
          "body": "* e2e: Extract Docker-specific functionality\r\n\r\nExtract Docker-specific functionality and put it behind an interface\r\nthat should hopefully, without too much modification, allow us to\r\nimplement a Digital Ocean-based infrastructure provider.\r\n\r\nSigned-off-by: Thane Thomson <connect@thanethomson.com>\n[…]\n\n* Make testnet infra struct private\r\n\r\nSigned-off-by: Thane Thomson <connect@thanethomson.com>\r\n\r\n* Only pass testnetDir to Cleanup function\r\n\r\nSigned-off-by: Thane Thomson <connect@thanethomson.com>",
          "is_bot": false,
          "headline": "e2e: Extract Docker-specific functionality (#8754)",
          "author_name": "Thane Thomson",
          "author_login": "thanethomson",
          "committed_at": "2022-06-29T12:02:05Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "37f9d59969b03d49dc1ff4191b4a5ddac2bc8d13",
          "body": "I was digging around in the zero log functions, and the following\nfunctions using the `Fields()` method directly in zerolog, \n\n- https://github.com/rs/zerolog/blob/v1.27.0/event.go#L161\n- https://github.com/rs/zerolog/blob/e9344a8c507b5f25a4962ff022526be0ddab8e72/fields.go#L15\n\nHave meaningfully equ\n[…]\nrt our\nkeys, and nooping in the case when you miss the last field.)\n\nWith this change also, we can pass maps (or, pratically a single map)\nto the logger, which might be a less wacky seeming interface.",
          "is_bot": false,
          "headline": "log: do not pre-process log results (#8895)",
          "author_name": "Sam Kleinman",
          "author_login": "tychoish",
          "committed_at": "2022-06-28T14:40:16Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "013b46a6c37b53efffdad27ed1426329972d1166",
          "body": "I think we were leaving this library public because the SDK dependend\nupon it, but the function the SDK was using was one that we'd removed\nbecause *we* weren't using it any more, and I made a PR agasint the\nSDK to clean that up.\n\nref: https://github.com/cosmos/cosmos-sdk/pull/12368",
          "is_bot": false,
          "headline": "libs/strings: move to internal (#8890)",
          "author_name": "Sam Kleinman",
          "author_login": "tychoish",
          "committed_at": "2022-06-27T21:44:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "373b262f35cc6cf3ea3e7d7e51d5412f960d2177",
          "body": "…(#8881)\n\nBumps [styfle/cancel-workflow-action](https://github.com/styfle/cancel-workflow-action) from 0.9.1 to 0.10.0.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/styfle/cancel-workflow-action/releases\">styfle/cancel-workflow-action's releases</a>.</em\n[…]\nde to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n</details>",
          "is_bot": true,
          "headline": "build(deps): Bump styfle/cancel-workflow-action from 0.9.1 to 0.10.0 …",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-06-27T13:15:29Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "463cff456b36ba7a64b6dd269163bbb661eb21da",
          "body": "Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.5.0 to 1.6.0.\r\n- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)\r\n- [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.5.0...v1.6.0)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependenc\n[…]\nroduction\r\n  update-type: version-update:semver-minor\r\n...\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\n\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "build(deps): Bump bufbuild/buf-setup-action from 1.5.0 to 1.6.0 (#8883)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-06-27T13:13:25Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "27ff2f46b8b5d54c986228a84edd053b2809c7aa",
          "body": "Co-authored-by: Callum Waters <cmwaters19@gmail.com>",
          "is_bot": false,
          "headline": "Add @sergio-mena and @jmalicevic to list of spec reviewers (#8870)",
          "author_name": "Sergio Mena",
          "author_login": "sergio-mena",
          "committed_at": "2022-06-24T18:53:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "52b6dc19badf50938ae2b2a1d2e22813614e5ad5",
          "body": "Alternative proposal for #8826",
          "is_bot": false,
          "headline": "p2p: remove dial sleep and provide disconnect cooldown (#8839)",
          "author_name": "Sam Kleinman",
          "author_login": "tychoish",
          "committed_at": "2022-06-24T17:57:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c4d24eed7d0b8902c41d790e1de446baa0256e6b",
          "body": "Follow up on: https://github.com/tendermint/tendermint/pull/8849",
          "is_bot": false,
          "headline": "e2e: disable another network test (#8862)",
          "author_name": "Callum Waters",
          "author_login": "cmwaters",
          "committed_at": "2022-06-24T16:31:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "409e057d73a854ea207ebb459733c2c7779b407a",
          "body": null,
          "is_bot": false,
          "headline": "fix light client select statement (#8871)",
          "author_name": "William Banfield",
          "author_login": "williambanfield",
          "committed_at": "2022-06-24T16:10:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6b5053046ac2390d513dc8c8b832cf92b6b3d8f4",
          "body": "…864)\n\nBumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.2 to 1.7.5.\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/stretchr/testify/commit/b5ce16571001d6e96e1693ac891fed5c2510c651\"><code>b5ce165</code></a> fixing panic in calls to assertion\n[…]\nde to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n</details>",
          "is_bot": true,
          "headline": "build(deps): Bump github.com/stretchr/testify from 1.7.2 to 1.7.5 (#8…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-06-24T13:12:17Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5f5e74798bcc6045bb454a082405145a3230ab1a",
          "body": "These timeouts default to 'do not time out' if they are not set. This times up resources, potentially indefinitely. If node on the other side of the the handshake is up but unresponsive, the[ handshake call](https://github.com/tendermint/tendermint/blob/edec79448aa1d62b84683b1b22e12e145dbdda7c/internal/p2p/router.go#L720) will _never_ return.\n\nThese are proposed values that have not been validated. I intend to validate them in a production setting.",
          "is_bot": false,
          "headline": "p2p: set empty timeouts to small values. (#8847)",
          "author_name": "William Banfield",
          "author_login": "williambanfield",
          "committed_at": "2022-06-23T22:33:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fb209136f85083e1d491ac2589fff41dd80518cb",
          "body": null,
          "is_bot": false,
          "headline": "e2e: add tolerance to peer discovery test (#8849)",
          "author_name": "Callum Waters",
          "author_login": "cmwaters",
          "committed_at": "2022-06-23T17:11:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "436a38f8768f32c2abf3668e586019dcc3defb04",
          "body": null,
          "is_bot": false,
          "headline": " p2p: track peers by address (#8841)",
          "author_name": "Sam Kleinman",
          "author_login": "tychoish",
          "committed_at": "2022-06-23T14:03:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "52b2efb8274879468af9d032afd844b300b40f6e",
          "body": null,
          "is_bot": false,
          "headline": "e2e: report peer heights in error message (#8843)",
          "author_name": "Sam Kleinman",
          "author_login": "tychoish",
          "committed_at": "2022-06-23T12:40:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2e11760fbe96dacdf8c4e37b7a179ed777a9ebfa",
          "body": null,
          "is_bot": false,
          "headline": "p2p: fix typo (#8836)",
          "author_name": "Ian Jungyong Um",
          "author_login": "code0xff",
          "committed_at": "2022-06-22T07:30:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8860e027a888e67936c096c7c5dc81806f6665bf",
          "body": "The dial routines perform network i/o, which is a blocking call into the kernel. These routines are completely unable to do anything else while the dial occurs, so for most of their lifecycle they are sitting idle waiting for the tcp stack to hand them data. We should increase this value by _a lot_ \n[…]\nuch_ higher than previously. Change was deployed around the 31 minute mark on the graph.\n\n![image](https://user-images.githubusercontent.com/4561443/174919007-50e4453a-edd8-41d0-97ee-dea8853d57f7.png)",
          "is_bot": false,
          "headline": "p2p: more dial routines (#8827)",
          "author_name": "William Banfield",
          "author_login": "williambanfield",
          "committed_at": "2022-06-22T00:51:09Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "cfd13825e2c4ea5b6099ae05f73524a97a1eba82",
          "body": null,
          "is_bot": false,
          "headline": "p2p: add eviction metrics and cleanup dialing error handling (#8819)",
          "author_name": "Sam Kleinman",
          "author_login": "tychoish",
          "committed_at": "2022-06-21T20:44:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6f168df7e46228458a43840053a99c4fa7d1da97",
          "body": "Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.4.0 to 1.5.0.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/spf13/cobra/releases\">github.com/spf13/cobra's releases</a>.</em></p>\n<blockquote>\n<h2>v1.5.0</h2>\n<h2>Spring 2022 Release 🌥️\n[…]\nde to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n</details>",
          "is_bot": true,
          "headline": "build(deps): Bump github.com/spf13/cobra from 1.4.0 to 1.5.0 (#8812)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-06-21T17:46:01Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "28d323995891080484617c076649b63a504c5bf4",
          "body": null,
          "is_bot": false,
          "headline": "p2p: wake dialing thread after sleep (#8803)",
          "author_name": "Sam Kleinman",
          "author_login": "tychoish",
          "committed_at": "2022-06-20T15:47:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "acf97128f32c91bd8c2b8bc2b47bd5bb1cfa1c2c",
          "body": "…(#8800)\n\nBumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.34.0 to 0.35.0.\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/prometheus/common/commit/26d49741eb3c6b0e69af1f9278688bf0eb6bef0b\"><code>26d4974</code></a> Add more mimetypes (<a hre\n[…]\nde to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n</details>",
          "is_bot": true,
          "headline": "build(deps): Bump github.com/prometheus/common from 0.34.0 to 0.35.0 …",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-06-20T12:04:19Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2382b5c364e3ab4915d07fbec2bb4769fa3c4688",
          "body": "Bumps [github.com/adlio/schema](https://github.com/adlio/schema) from 1.3.0 to 1.3.3.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/adlio/schema/releases\">github.com/adlio/schema's releases</a>.</em></p>\n<blockquote>\n<h2>v1.3.3</h2>\n<p><strong>Full Change\n[…]\nde to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n</details>",
          "is_bot": true,
          "headline": "build(deps): Bump github.com/adlio/schema from 1.3.0 to 1.3.3 (#8798)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-06-20T08:54:09Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e3e162ff10a169c0a16f9c5723580fa51f2668b1",
          "body": "Fix the typo in router",
          "is_bot": false,
          "headline": "p2p: fix typo (#8793)",
          "author_name": "Ian Jungyong Um",
          "author_login": "code0xff",
          "committed_at": "2022-06-19T15:26:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4d820ff4f5c93cf00e7618b2d3086ad23e1bb5de",
          "body": null,
          "is_bot": false,
          "headline": "p2p: peer score should not wrap around (#8790)",
          "author_name": "Sam Kleinman",
          "author_login": "tychoish",
          "committed_at": "2022-06-17T22:27:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "82c1372f9e5f17a2de2eeb72aa29f092b615724e",
          "body": "These methods should be protected by a mutex.",
          "is_bot": false,
          "headline": "abci+test/e2e/app: add mutex for new methods (#8577)",
          "author_name": "Sam Kleinman",
          "author_login": "tychoish",
          "committed_at": "2022-06-17T21:22:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0ac03468d84147df8c23061c8cfe2f14c5695e12",
          "body": null,
          "is_bot": false,
          "headline": "p2p: track peers stored on startup (#8787)",
          "author_name": "Sam Kleinman",
          "author_login": "tychoish",
          "committed_at": "2022-06-17T18:10:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9e5b13725d8b1061354eb99acbd2c3c1cefe18c9",
          "body": null,
          "is_bot": false,
          "headline": "p2p: peer store and dialing changes (#8737)",
          "author_name": "Sam Kleinman",
          "author_login": "tychoish",
          "committed_at": "2022-06-17T12:02:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a4f29bfd4483d928aa9571affcf9149820d8a051",
          "body": "Closes #8781\n\nTemporary fix to this issue, so that e2e tests don't fail and potentially leave other problems uncovered.",
          "is_bot": false,
          "headline": "Don't check PBTS-timeliness when in replay mode (#8774)",
          "author_name": "Sergio Mena",
          "author_login": "sergio-mena",
          "committed_at": "2022-06-16T19:31:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7cf09399bb834373002d06af83bb5190e7db06f2",
          "body": "Modify using-tendermint.md to replace unsafe_reset_all to unsafe-reset-all . Closes #8779 .",
          "is_bot": false,
          "headline": "Fix typo in Using Tendermint section (#8780)",
          "author_name": "Adolfo Olivera",
          "author_login": "oliverasistemas",
          "committed_at": "2022-06-16T18:36:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8854ce4e68ad719a4b231795e8252552360e7e2e",
          "body": null,
          "is_bot": false,
          "headline": "e2e: reactivate network test (#8635)",
          "author_name": "Callum Waters",
          "author_login": "cmwaters",
          "committed_at": "2022-06-16T16:04:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "56e329aa9e1fa19f8947288f047688abad652526",
          "body": null,
          "is_bot": false,
          "headline": "cmd/tendermint/commands/debug: guard against PID int overflows (#8764)",
          "author_name": "Emmanuel T Odeke",
          "author_login": "odeke-em",
          "committed_at": "2022-06-16T03:46:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1062ae73d63d49d37ce83177d8de6a09018b36cc",
          "body": null,
          "is_bot": false,
          "headline": "e2e/ci: add extra split to 0.36 (#8770)",
          "author_name": "Sam Kleinman",
          "author_login": "tychoish",
          "committed_at": "2022-06-15T13:04:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "134bfefbe52d40dcbe5637bf48242e6584cdbb27",
          "body": "…(#8766)\n\nBumps [github.com/vektra/mockery/v2](https://github.com/vektra/mockery) from 2.13.0 to 2.13.1.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/vektra/mockery/releases\">github.com/vektra/mockery/v2's releases</a>.</em></p>\n<blockquote>\n<h2>v2.13.1<\n[…]\nde to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n</details>",
          "is_bot": true,
          "headline": "build(deps): Bump github.com/vektra/mockery/v2 from 2.13.0 to 2.13.1 …",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-06-15T10:46:37Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f0b0f34f3f0c1e59145cb07f25a1b84f3c82d86e",
          "body": "…al (#8745)",
          "is_bot": false,
          "headline": "refactor: improve string representation for a vote against the propos…",
          "author_name": "Roman",
          "author_login": "p0mvn",
          "committed_at": "2022-06-15T10:32:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "51b3f111dceb2ffb9ee0e756283303aba608579c",
          "body": "Fix minor test incongruency missed earlier.",
          "is_bot": false,
          "headline": "p2p: fix mconn transport accept test (#8762)",
          "author_name": "Sam Kleinman",
          "author_login": "tychoish",
          "committed_at": "2022-06-14T23:48:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "979a6a1b13331ae90efb1c03b9dc69bc227d1909",
          "body": null,
          "is_bot": false,
          "headline": "p2p: accept should not abort on first error (#8759)",
          "author_name": "Sam Kleinman",
          "author_login": "tychoish",
          "committed_at": "2022-06-14T23:12:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bf1cb89bb7c34d75e9aade09f7304fd376ce084b",
          "body": null,
          "is_bot": false,
          "headline": "Revert \"p2p: self-add node should not error (tendermint#8753)\"  (#8757)",
          "author_name": "Sam Kleinman",
          "author_login": "tychoish",
          "committed_at": "2022-06-14T20:55:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7971f4a2fca1ee3054fbc996e2bc041de63d3b89",
          "body": null,
          "is_bot": false,
          "headline": "p2p: self-add node should not error (#8753)",
          "author_name": "Sam Kleinman",
          "author_login": "tychoish",
          "committed_at": "2022-06-14T16:45:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a2908c29d5aa6d9437edb052d52bedb254e2c963",
          "body": "…(#8748)\n\nBumps [github.com/vektra/mockery/v2](https://github.com/vektra/mockery) from 2.12.3 to 2.13.0.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/vektra/mockery/releases\">github.com/vektra/mockery/v2's releases</a>.</em></p>\n<blockquote>\n<h2>v2.13.0<\n[…]\nde to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n</details>",
          "is_bot": true,
          "headline": "build(deps): Bump github.com/vektra/mockery/v2 from 2.12.3 to 2.13.0 …",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-06-14T11:06:36Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a4cf8939b88b70072f40a87e87516496ee3cc347",
          "body": null,
          "is_bot": false,
          "headline": "mempool: fix error message check in test (#8750)",
          "author_name": "Jeeyong Um",
          "author_login": "conr2d",
          "committed_at": "2022-06-14T10:54:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "21bbbe3e2a1ad133241abdefdaf6874f72fbbc4d",
          "body": null,
          "is_bot": false,
          "headline": "mempool: fix typos in test (#8746)",
          "author_name": "Jeeyong Um",
          "author_login": "conr2d",
          "committed_at": "2022-06-14T08:50:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "82907c84fa53501696b21931c9e97c7ee99d2f75",
          "body": "Storing transaction records as JSON makes it simpler for clients of the index.",
          "is_bot": false,
          "headline": "sink/psql: json marshal instead of proto (#8637)",
          "author_name": "Marko",
          "author_login": "tac0turtle",
          "committed_at": "2022-06-13T17:20:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "06175129ed7927e58ab070c9e33699d8b0e78e1c",
          "body": "* Prepare prosal cli",
          "is_bot": false,
          "headline": "abci-cli: added `PrepareProposal` command to cli (#8656)",
          "author_name": "Jasmina Malicevic",
          "author_login": "jmalicevic",
          "committed_at": "2022-06-13T12:09:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7172862786cabaeb8ac06a6d646955a2faa6da31",
          "body": null,
          "is_bot": false,
          "headline": "e2e: split test cases to avoid hitting timeouts (#8741)",
          "author_name": "Sam Kleinman",
          "author_login": "tychoish",
          "committed_at": "2022-06-11T12:21:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b0e48ca5f3019256ac87708e7065bd4c10c40caa",
          "body": null,
          "is_bot": false,
          "headline": "remove unused config variables (#8738)",
          "author_name": "Callum Waters",
          "author_login": "cmwaters",
          "committed_at": "2022-06-10T15:17:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8d9d19a11353adf52a59a17e01165d7680b6d8f6",
          "body": null,
          "is_bot": false,
          "headline": "e2e/generator: enlarge nightly test suite (#8731)",
          "author_name": "Sam Kleinman",
          "author_login": "tychoish",
          "committed_at": "2022-06-09T22:22:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "69838858350df1dca9048c95610ef15689f15d6d",
          "body": "This is a trivial update, but also a convenient way to make sure the mergify settings are working.",
          "is_bot": false,
          "headline": "Update config migration test data for v0.36.x (#8727)",
          "author_name": "M. J. Fromberger",
          "author_login": null,
          "committed_at": "2022-06-08T20:34:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bb0737ee3c1d1988bdb7b220fb8c4f34aedcf6b9",
          "body": "Bumps [github.com/rs/zerolog](https://github.com/rs/zerolog) from 1.26.1 to 1.27.0.\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/rs/zerolog/commit/e9344a8c507b5f25a4962ff022526be0ddab8e72\"><code>e9344a8</code></a> docs: add an example for Lshortfile-like implementation o\n[…]\nde to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n</details>",
          "is_bot": true,
          "headline": "build(deps): Bump github.com/rs/zerolog from 1.26.1 to 1.27.0 (#8724)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-06-08T13:09:16Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e84ca617cfe47b37dc6a779006a55c2514e831a0",
          "body": "- Add Mergify settings for backport labels.\r\n- Add e2e nightly workflow for v0.36.x.\r\n- Update documentation on e2e workflows.\r\n- Add v0.36.x to the Dependabot configs.",
          "is_bot": false,
          "headline": "Set up automation settings for the v0.36.x backport branch. (#8714)",
          "author_name": "M. J. Fromberger",
          "author_login": null,
          "committed_at": "2022-06-07T19:25:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "931c98f7add66b01b56f9c85ba4e329ab73d67c0",
          "body": "Closes #8686",
          "is_bot": false,
          "headline": "rpc: always close http bodies (#8712)",
          "author_name": "Sam Kleinman",
          "author_login": "tychoish",
          "committed_at": "2022-06-07T16:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3bb68b49f5cac018f85229db759ac91810702717",
          "body": null,
          "is_bot": false,
          "headline": "ci(fuzz): remove Go 1.18 workaround for OSS-Fuzz (#8711)",
          "author_name": "Elias Naur",
          "author_login": "elias-orijtech",
          "committed_at": "2022-06-07T13:11:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "618b841a4b43b05e3fe10a04631dae3df9eb356a",
          "body": "…708)\n\nBumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.1 to 1.7.2.\r\n- [Release notes](https://github.com/stretchr/testify/releases)\r\n- [Commits](https://github.com/stretchr/testify/compare/v1.7.1...v1.7.2)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: github.com\n[…]\nroduction\r\n  update-type: version-update:semver-patch\r\n...\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\n\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "build(deps): Bump github.com/stretchr/testify from 1.7.1 to 1.7.2 (#8…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-06-07T08:59:00Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3e97479ab8e3a7641d734f57711a19465108a90a",
          "body": "The link actually works in context because of the auto-redirect from GitHub,\nbut the link checker doesn't follow them. Splice out the redirect.",
          "is_bot": false,
          "headline": "Fix a \"broken\" markdown link. (#8706)",
          "author_name": "M. J. Fromberger",
          "author_login": null,
          "committed_at": "2022-06-07T08:13:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "85d1946602448251ce6493d17aeb5ffc9f2b79af",
          "body": "Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.4.0 to 1.5.0.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/bufbuild/buf-setup-action/releases\">bufbuild/buf-setup-action's releases</a>.</em></p>\n<blockquote>\n<h2>v1.5\n[…]\nde to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n</details>",
          "is_bot": true,
          "headline": "build(deps): Bump bufbuild/buf-setup-action from 1.4.0 to 1.5.0 (#8701)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-06-06T17:17:28Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6b2a6ed402e6dd7284b082e02aa98cd9d99d0c01",
          "body": "Bumps [watchpack](https://github.com/webpack/watchpack) from 2.3.1 to 2.4.0.\r\n- [Release notes](https://github.com/webpack/watchpack/releases)\r\n- [Commits](https://github.com/webpack/watchpack/compare/v2.3.1...v2.4.0)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: watchpack\r\n  dependency-type: di\n[…]\nvelopment\r\n  update-type: version-update:semver-minor\r\n...\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\n\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "build(deps-dev): Bump watchpack from 2.3.1 to 2.4.0 in /docs (#8700)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-06-06T14:35:37Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "48ec78e6720bcd9fb7824387e660e721f1aa57f8",
          "body": "The use of \"go install\" is deprecated as a way of installing and running the\r\nMockery binary. Update the runner script to depend on an ambient version of the\r\ntool and ensure that in CI it's installed.",
          "is_bot": false,
          "headline": "Update how Mockery mocks are checked for currency. (#8697)",
          "author_name": "M. J. Fromberger",
          "author_login": null,
          "committed_at": "2022-06-03T22:02:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 100,
      "commits_last_year": 0,
      "latest_release_at": "2022-07-20T22:28:54Z",
      "latest_release_tag": "v0.35.9",
      "releases_from_tags": true,
      "days_since_last_push": 1455,
      "active_weeks_last_year": 0,
      "days_since_latest_release": 1467,
      "mean_days_between_releases": 32.1
    },
    "community": {
      "has_readme": false,
      "has_license": false,
      "has_description": false,
      "has_contributing": false,
      "health_percentage": null,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "github.com/tendermint/tendermint",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": false,
          "registry_url": "https://pkg.go.dev/github.com/tendermint/tendermint",
          "is_deprecated": false,
          "latest_version": "v0.35.9",
          "repository_url": "https://github.com/tendermint/tendermint",
          "versions_count": 243,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2022-07-20T22:28:54Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 1467
        }
      ]
    },
    "popularity": {
      "forks": 0,
      "stars": 3,
      "watchers": 0,
      "fork_history": {
        "days": [],
        "complete": true,
        "collected": 0,
        "total_forks": 0
      },
      "star_history": null,
      "open_issues_and_prs": 0
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "example"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "Makefile",
        "networks/local/Makefile",
        "test/Makefile",
        "test/e2e/Makefile"
      ],
      "api_schema_files": [
        "proto/tendermint/abci/types.proto",
        "proto/tendermint/blocksync/types.proto",
        "proto/tendermint/consensus/types.proto",
        "proto/tendermint/consensus/wal.proto",
        "proto/tendermint/crypto/keys.proto",
        "proto/tendermint/crypto/proof.proto",
        "proto/tendermint/libs/bits/types.proto",
        "proto/tendermint/mempool/types.proto",
        "proto/tendermint/p2p/conn.proto",
        "proto/tendermint/p2p/pex.proto",
        "proto/tendermint/p2p/types.proto",
        "proto/tendermint/privval/service.proto",
        "proto/tendermint/privval/types.proto",
        "proto/tendermint/state/types.proto",
        "proto/tendermint/statesync/types.proto",
        "proto/tendermint/types/block.proto",
        "proto/tendermint/types/canonical.proto",
        "proto/tendermint/types/events.proto",
        "proto/tendermint/types/evidence.proto",
        "proto/tendermint/types/params.proto",
        "proto/tendermint/types/types.proto",
        "proto/tendermint/types/validator.proto",
        "proto/tendermint/version/types.proto",
        "rpc/openapi/openapi.yaml"
      ],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [
        "go.mod"
      ],
      "largest_source_bytes": 429777,
      "source_files_sampled": 647,
      "oversized_source_files": 9,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "docs/package.json",
        "go.mod"
      ],
      "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": [
        "go",
        "npm"
      ],
      "dependencies": [
        {
          "name": "github.com/BurntSushi/toml",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.2.0"
        },
        {
          "name": "github.com/adlio/schema",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.3.3"
        },
        {
          "name": "github.com/btcsuite/btcd",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.22.1"
        },
        {
          "name": "github.com/btcsuite/btcutil",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.3-0.20201208143702-a53e38424cce"
        },
        {
          "name": "github.com/fortytw2/leaktest",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.3.0"
        },
        {
          "name": "github.com/go-kit/kit",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.12.0"
        },
        {
          "name": "github.com/gogo/protobuf",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.3.2"
        },
        {
          "name": "github.com/golang/protobuf",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.5.2"
        },
        {
          "name": "github.com/google/orderedcode",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/google/uuid",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.3.0"
        },
        {
          "name": "github.com/gorilla/websocket",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.5.0"
        },
        {
          "name": "github.com/grpc-ecosystem/go-grpc-middleware",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.3.0"
        },
        {
          "name": "github.com/grpc-ecosystem/go-grpc-prometheus",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.2.0"
        },
        {
          "name": "github.com/lib/pq",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.10.6"
        },
        {
          "name": "github.com/libp2p/go-buffer-pool",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.1.0"
        },
        {
          "name": "github.com/mroth/weightedrand",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.4.1"
        },
        {
          "name": "github.com/oasisprotocol/curve25519-voi",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20210609091139-0a56a4bca00b"
        },
        {
          "name": "github.com/ory/dockertest",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v3.3.5+incompatible"
        },
        {
          "name": "github.com/prometheus/client_golang",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.12.2"
        },
        {
          "name": "github.com/rs/cors",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.8.2"
        },
        {
          "name": "github.com/rs/zerolog",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.27.0"
        },
        {
          "name": "github.com/snikch/goodman",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20171125024755-10e37e294daa"
        },
        {
          "name": "github.com/spf13/cobra",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.5.0"
        },
        {
          "name": "github.com/spf13/viper",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.12.0"
        },
        {
          "name": "github.com/stretchr/testify",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.8.0"
        },
        {
          "name": "github.com/tendermint/tm-db",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.6.6"
        },
        {
          "name": "golang.org/x/crypto",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20220525230936-793ad666bf5e"
        },
        {
          "name": "golang.org/x/net",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20220617184016-355a448f1bc9"
        },
        {
          "name": "golang.org/x/sync",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20220513210516-0976fa681c29"
        },
        {
          "name": "google.golang.org/grpc",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.48.0"
        },
        {
          "name": "pgregory.net/rapid",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.4.8"
        },
        {
          "name": "github.com/bufbuild/buf",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.4.0"
        },
        {
          "name": "github.com/creachadair/atomicfile",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.2.6"
        },
        {
          "name": "github.com/creachadair/taskgroup",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.3.2"
        },
        {
          "name": "github.com/golangci/golangci-lint",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.47.2"
        },
        {
          "name": "github.com/google/go-cmp",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.5.8"
        },
        {
          "name": "github.com/vektra/mockery/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.14.0"
        },
        {
          "name": "gotest.tools",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.2.0+incompatible"
        },
        {
          "name": "github.com/creachadair/tomledit",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.23"
        },
        {
          "name": "github.com/prometheus/client_model",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.2.0"
        },
        {
          "name": "github.com/prometheus/common",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.37.0"
        },
        {
          "name": "github.com/syndtr/goleveldb",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.1-0.20200815110645-5c35d600f0ca"
        }
      ],
      "all_dependencies": {
        "error": "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
        "source": null,
        "packages": [],
        "collected": false,
        "truncated": false,
        "total_count": null,
        "direct_count": null,
        "indirect_count": null
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 0,
        "open_issues": 0,
        "closed_ratio": null,
        "closed_issues": 0,
        "closed_unmerged_prs": 0
      },
      "bus_factor": 3,
      "bot_contributors": 3,
      "top_contributors": [
        {
          "type": "User",
          "login": "ebuchman",
          "commits": 2854,
          "avatar_url": "https://avatars.githubusercontent.com/u/2300911?v=4"
        },
        {
          "type": "User",
          "login": "melekes",
          "commits": 1531,
          "avatar_url": "https://avatars.githubusercontent.com/u/1282182?v=4"
        },
        {
          "type": "User",
          "login": "jaekwon",
          "commits": 1261,
          "avatar_url": "https://avatars.githubusercontent.com/u/53785?v=4"
        },
        {
          "type": "User",
          "login": "tychoish",
          "commits": 454,
          "avatar_url": "https://avatars.githubusercontent.com/u/17534?v=4"
        },
        {
          "type": "User",
          "login": "tac0turtle",
          "commits": 446,
          "avatar_url": "https://avatars.githubusercontent.com/u/24299864?v=4"
        },
        {
          "type": "User",
          "login": "zramsay",
          "commits": 343,
          "avatar_url": "https://avatars.githubusercontent.com/u/8304391?v=4"
        },
        {
          "type": "User",
          "login": "cmwaters",
          "commits": 315,
          "avatar_url": "https://avatars.githubusercontent.com/u/27455974?v=4"
        },
        {
          "type": "User",
          "login": "ethanfrey",
          "commits": 307,
          "avatar_url": "https://avatars.githubusercontent.com/u/5689864?v=4"
        },
        {
          "type": "User",
          "login": "greg-szabo",
          "commits": 260,
          "avatar_url": "https://avatars.githubusercontent.com/u/16846635?v=4"
        },
        {
          "type": "User",
          "login": "erikgrinaker",
          "commits": 205,
          "avatar_url": "https://avatars.githubusercontent.com/u/644420?v=4"
        }
      ],
      "contributors_sampled": 97,
      "top_contributor_share": 0.307
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "build.yml",
        "check-generated.yml",
        "docker.yml",
        "docs-deployment.yml",
        "docs-toc.yml",
        "e2e-manual.yml",
        "e2e-nightly-34x.yml",
        "e2e-nightly-35x.yml",
        "e2e-nightly-36x.yml",
        "e2e-nightly-master.yml",
        "e2e.yml",
        "fuzz-nightly.yml",
        "janitor.yml",
        "jepsen.yml",
        "lint.yml",
        "linter.yml",
        "markdown-links.yml",
        "proto-lint.yml",
        "release.yml",
        "stale.yml",
        "tests.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        ".golangci.yml"
      ],
      "has_editorconfig": true,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "go.sum",
        "package-lock.json"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": null,
            "reason": "no pull request found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 0/30 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 45 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 10,
            "reason": "project is fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 9,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 0,
            "reason": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "internal error: Client.Actions.ListWorkflowRunsByFileName: internal error: ListWorkflowRunsByFileName: GET https://api.github.com/repos/okp4/tendermint/actions/workflows/docker.yml/runs?status=success: 404 Not Found []",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 1,
            "reason": "dependency not pinned by hash detected -- score normalized to 1",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "no SAST tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 10,
            "reason": "security policy file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "203 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "7a84425aecd0f1c2ec94544d70b91d7a501889d4",
        "ran_at": "2026-07-27T13:13:29Z",
        "aggregate_score": 4.5,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": true,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": null,
      "oldest_open_prs": [],
      "last_merged_pr_at": null,
      "ci_last_conclusion": null,
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/okp4/tendermint",
    "host": "github.com",
    "name": "tendermint",
    "owner": "okp4"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "at_risk",
      "name": "Overall health",
      "note": "Abandonment Policy applies a 85% multiplier to weighted overall health.",
      "notes": [
        {
          "code": "abandonment_overall_adjustment",
          "params": {
            "cap": 0,
            "pct": 85
          }
        }
      ],
      "value": 34,
      "inputs": {
        "security": 45,
        "vitality": 20,
        "community": 12,
        "governance": 50,
        "engineering": 69,
        "abandonment_cap": null,
        "abandonment_state": "at_risk",
        "abandonment_multiplier": 85,
        "weighted_overall_before_abandonment": 40,
        "overall_after_abandonment_multiplier": 34
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "critical",
        "name": "Vitality",
        "value": 20,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "critical",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "commits_last_year": 0,
              "human_commit_share": 0.74,
              "days_since_last_push": 1455,
              "active_weeks_last_year": 0
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 1455 days ago",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 1455
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "0/52 weeks with commits",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "0 commits in the last year",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "at_risk",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 48,
            "inputs": {
              "releases_count": 100,
              "latest_release_tag": "v0.35.9",
              "releases_from_tags": true,
              "days_since_latest_release": 1467,
              "mean_days_between_releases": 32.1
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "100 version tags (no GitHub releases)",
                "points": 16.2,
                "status": "partial",
                "details": [
                  {
                    "code": "version_tags_no_releases",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 1467 days ago",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 1467
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~32.1 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 32.1
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "cap": null,
              "state": "at_risk",
              "guards": [
                "no_open_demand"
              ],
              "signals": [
                "release_stall",
                "scorecard_unmaintained"
              ],
              "red_flag": true,
              "multiplier_pct": 85,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": 0,
              "unanswered_open_issues": 0,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 1462,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "no human commit for 1462 days; 2 unmet obligation(s): releases stalled, Scorecard reports it unmaintained",
                "points": 85,
                "status": "partial",
                "details": [
                  {
                    "code": "abandonment_flagged",
                    "params": {
                      "days": 1462,
                      "count": 2,
                      "signals": "releases stalled, Scorecard reports it unmaintained"
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "critical",
        "name": "Community & Adoption",
        "value": 12,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 5,
            "inputs": {
              "forks": 0,
              "stars": 3,
              "watchers": 0,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "3 stars",
                "points": 4.9,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "0 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "0 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "critical",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 19,
            "inputs": {
              "has_readme": false,
              "has_license": false,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file present, not a recognized license",
                "points": 16.9,
                "status": "partial",
                "details": [
                  {
                    "code": "license_custom",
                    "params": {}
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 50,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "good",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "bus_factor": 3,
              "contributors_sampled": 97,
              "top_contributor_share": 0.307
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "3 contributor(s) cover half of all commits",
                "points": 36,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 31% of commits",
                "points": 15.6,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 31
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "97 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 97
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 45 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "critical",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Issue resolution, PR acceptance. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "issue_resolution",
                    "pr_acceptance"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 1,
            "inputs": {
              "merged_prs": 0,
              "open_issues": 0,
              "closed_issues": 0,
              "issue_closed_ratio": null,
              "closed_unmerged_prs": 0
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "no issues or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_issues_or_data",
                    "params": {}
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "no decided pull requests or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_decided_prs_or_data",
                    "params": {}
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 69,
            "inputs": {
              "followers": 217,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "okp4",
              "public_repos": 56,
              "account_age_days": 1756
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "217 followers of okp4",
                "points": 16.8,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 217,
                      "login": "okp4"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "56 public repos, account ~4 yr old",
                "points": 22.4,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 56
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 4
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "moderate",
        "name": "Engineering Quality",
        "value": 69,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "excellent",
            "name": "Engineering practices",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_ci_tests"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 88,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": true,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "21 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 21
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": ".golangci.yml",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".golangci.yml"
                    }
                  }
                ],
                "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": 6.4,
                "status": "met",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "at_risk",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "topics": [],
              "has_wiki": false,
              "homepage": "https://tendermint.com/",
              "has_readme": false,
              "has_docs_dir": true,
              "has_description": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://tendermint.com/",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 45,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): CI-Tests, Packaging, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "ci_tests",
                    "packaging",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 45,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 15,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 3,
              "scorecard_aggregate": 4.5
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 45 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is fuzzed",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.2,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "internal error: Client.Actions.ListWorkflowRunsByFileName: internal error: ListWorkflowRunsByFileName: GET https://api.github.com/repos/okp4/tendermint/actions/workflows/docker.yml/runs?status=success: 404 Not Found []",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 1",
                "points": 0.5,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "no SAST tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "203 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 9
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "good",
        "name": "AI Readiness",
        "value": 71,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 1,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "74 of 74 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 74,
                      "sampled": 74
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "good",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 81,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "go.sum",
                "package-lock.json"
              ],
              "has_dockerfile": true,
              "typed_language": true,
              "bootstrap_files": [
                "Makefile",
                "networks/local/Makefile",
                "test/Makefile",
                "test/e2e/Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [],
              "agent_commit_share": 0,
              "toolchain_manifests": [
                "go.mod"
              ],
              "dependency_bot_commit_share": 0.26
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "Makefile, networks/local/Makefile, test/Makefile, test/e2e/Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Makefile, networks/local/Makefile, test/Makefile, test/e2e/Makefile"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": ".golangci.yml",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".golangci.yml"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "Go (statically typed)",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Go"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "26 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 26,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 1",
                "points": 1,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 99,
            "inputs": {
              "primary_language": "Go",
              "largest_source_bytes": 429777,
              "source_files_sampled": 647,
              "oversized_source_files": 9
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Go (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Go"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "9/647 source files over 60KB",
                "points": 54.2,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 647,
                      "oversized": 9
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "good",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "example_dirs": [
                "example"
              ],
              "has_mcp_signal": false,
              "api_schema_files": [
                "proto/tendermint/abci/types.proto",
                "proto/tendermint/blocksync/types.proto",
                "proto/tendermint/consensus/types.proto",
                "proto/tendermint/consensus/wal.proto",
                "proto/tendermint/crypto/keys.proto",
                "proto/tendermint/crypto/proof.proto",
                "proto/tendermint/libs/bits/types.proto",
                "proto/tendermint/mempool/types.proto",
                "proto/tendermint/p2p/conn.proto",
                "proto/tendermint/p2p/pex.proto",
                "proto/tendermint/p2p/types.proto",
                "proto/tendermint/privval/service.proto",
                "proto/tendermint/privval/types.proto",
                "proto/tendermint/state/types.proto",
                "proto/tendermint/statesync/types.proto",
                "proto/tendermint/types/block.proto",
                "proto/tendermint/types/canonical.proto",
                "proto/tendermint/types/events.proto",
                "proto/tendermint/types/evidence.proto",
                "proto/tendermint/types/params.proto",
                "proto/tendermint/types/types.proto",
                "proto/tendermint/types/validator.proto",
                "proto/tendermint/version/types.proto",
                "rpc/openapi/openapi.yaml"
              ]
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": "proto/tendermint/abci/types.proto, proto/tendermint/blocksync/types.proto, proto/tendermint/consensus/types.proto, proto/tendermint/consensus/wal.proto, proto/tendermint/crypto/keys.proto, proto/tendermint/crypto/proof.proto, proto/tendermint/libs/bits/types.proto, proto/tendermint/mempool/types.proto, proto/tendermint/p2p/conn.proto, proto/tendermint/p2p/pex.proto, proto/tendermint/p2p/types.proto, proto/tendermint/privval/service.proto, proto/tendermint/privval/types.proto, proto/tendermint/state/types.proto, proto/tendermint/statesync/types.proto, proto/tendermint/types/block.proto, proto/tendermint/types/canonical.proto, proto/tendermint/types/events.proto, proto/tendermint/types/evidence.proto, proto/tendermint/types/params.proto, proto/tendermint/types/types.proto, proto/tendermint/types/validator.proto, proto/tendermint/version/types.proto, rpc/openapi/openapi.yaml",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "proto/tendermint/abci/types.proto, proto/tendermint/blocksync/types.proto, proto/tendermint/consensus/types.proto, proto/tendermint/consensus/wal.proto, proto/tendermint/crypto/keys.proto, proto/tendermint/crypto/proof.proto, proto/tendermint/libs/bits/types.proto, proto/tendermint/mempool/types.proto, proto/tendermint/p2p/conn.proto, proto/tendermint/p2p/pex.proto, proto/tendermint/p2p/types.proto, proto/tendermint/privval/service.proto, proto/tendermint/privval/types.proto, proto/tendermint/state/types.proto, proto/tendermint/statesync/types.proto, proto/tendermint/types/block.proto, proto/tendermint/types/canonical.proto, proto/tendermint/types/events.proto, proto/tendermint/types/evidence.proto, proto/tendermint/types/params.proto, proto/tendermint/types/types.proto, proto/tendermint/types/validator.proto, proto/tendermint/version/types.proto, rpc/openapi/openapi.yaml"
                    }
                  }
                ],
                "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": "example",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "example"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "Community profile unavailable",
    "go package 'github.com/tendermint/tendermint' points at a different repository (https://github.com/tendermint/tendermint); 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-27T13:13:50.767225Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/o/okp4/tendermint.svg",
  "full_name": "okp4/tendermint",
  "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 statisticsGo.