JSON-Rohbericht maschinenlesbar
{
"data": {
"repo": {
"topics": [],
"is_fork": true,
"size_kb": 70204,
"has_wiki": false,
"homepage": "https://pactus.org",
"languages": {
"Go": 2117767,
"CSS": 338,
"TLA": 37486,
"HTML": 3449,
"Java": 253599,
"Rust": 780352,
"Python": 145249,
"Makefile": 2463,
"Dockerfile": 762,
"JavaScript": 799303
},
"pushed_at": "2025-10-08T05:05:02Z",
"created_at": "2024-11-24T05:38:26Z",
"owner_type": "User",
"updated_at": "2025-10-08T05:05:16Z",
"description": "Pactus blockchain",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "main",
"license_spdx_raw": "MIT",
"primary_language": "Go",
"significant_languages": [
"Go",
"JavaScript",
"Rust"
]
},
"owner": {
"blog": "https://javad.dev",
"name": "Javad Rajabzadeh",
"type": "User",
"login": "ja7ad",
"company": "@Sensifai-BV",
"location": "Belgium",
"followers": 415,
"avatar_url": "https://avatars.githubusercontent.com/u/56496801?v=4",
"created_at": "2019-10-13T04:10:39Z",
"is_verified": null,
"public_repos": 209,
"account_age_days": 2477
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": false
},
"activity": {
"releases": [
{
"tag": "v1.6.5",
"kind": "patch",
"published_at": "2025-01-11T11:23:14Z"
}
],
"recent_commits": [
{
"oid": "66ea1722b34624f867de6672435689481bf64d1f",
"body": null,
"is_bot": false,
"headline": "chore(linter): enable usetesting linter (#1928)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-10-07T12:29:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0566ee20dcda62c93df6f637fee289c37c98fa46",
"body": null,
"is_bot": false,
"headline": "feat(wallet): introduce address recovery (#1934)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-10-07T12:28:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6e9b0c90a4d954bacbf412613e1833c6a59b4641",
"body": null,
"is_bot": false,
"headline": "feat(state): calculate the number of active validators (#1927)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-10-04T15:01:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "869c25a53f4606d0ff8b500a7a1641b93bf02b35",
"body": null,
"is_bot": false,
"headline": "test(sync): write test for number of read bytes (#1926)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-10-03T16:26:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3d34efea7268455ebf33c7352857843eb8652b9b",
"body": null,
"is_bot": false,
"headline": "chore(grpc): update API docs (#1925)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-10-03T16:26:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "002676ed14c00f276ab1151a3662887edd03bab8",
"body": null,
"is_bot": false,
"headline": "chore(packager): update JSONRPC package for Rust (#1921)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-10-02T16:28:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1b7c986f97ca4edd8b48d21f9a3aa5e5fe36f95c",
"body": null,
"is_bot": false,
"headline": "fix(grpc): set required fields in OpenRPC spec (#1920)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-10-02T15:57:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "33f753c59c6cb8f96c2f927b44311d7135fca027",
"body": null,
"is_bot": false,
"headline": "chore(packager): set environment for Rust packages (#1919)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-10-02T15:57:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "771cf2c4d87b138d14057a10eb1d38ddb976b94d",
"body": null,
"is_bot": false,
"headline": "chore(packager): ensure version doesn't start with v (#1916)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-10-01T12:23:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cec8e773d7d05ddca163cd1e665bdad9c89c9223",
"body": null,
"is_bot": false,
"headline": "chore(packager): publish rust packages (#1913)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-10-01T11:40:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4a944cbad1050f6a2b1c665605c3474bdf32fef7",
"body": null,
"is_bot": false,
"headline": "feat(packager): add rust-jsonrpc package (#1911)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-10-01T10:07:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8fa4e8d435ee3cd98336ba23a2ae46dc41432fc3",
"body": null,
"is_bot": false,
"headline": "fix(grpc): define map as object in OpenRPC sepc (#1910)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-10-01T10:06:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b9c40c6ba7504af847da3b810bdd46225e8aa39e",
"body": null,
"is_bot": false,
"headline": "feat(packager): add rust-grpc package (#1909)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-09-29T10:00:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fd0c3dd74e767ccbb255379108ad8c72c7fc1e42",
"body": null,
"is_bot": false,
"headline": "fix(network): set limit for network message size (#1904)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-09-28T07:04:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d8b60034afed4383fb27743ab2bc948ff05db898",
"body": null,
"is_bot": false,
"headline": "fix(cbor): set limit for Map and Array in CBOR decoder (#1905)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-09-28T07:04:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "476d9be3901ce31b6c9cff9fa545f7bf7368eb60",
"body": "Co-authored-by: Mantre <mantre@protonmail.com>",
"is_bot": false,
"headline": "fix(encoding): prevent data-length attack (#1907)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-09-28T07:03:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "68c204b2042ff6deedceb92e9958b8d040db9bba",
"body": null,
"is_bot": false,
"headline": "test(network): increase timeout to prevent data-race in tests (#1908)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-09-27T11:50:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f588dd308da541ca69a298bccf86290240cb6969",
"body": null,
"is_bot": false,
"headline": "refactor(state): refactor reward transaction (#1901)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-09-26T06:38:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b191284bb96ccd7cc6aa6981b01ef6363a531f37",
"body": null,
"is_bot": false,
"headline": "refactor(state): check genesis state using certificate presence (#1899)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-09-26T04:56:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5c8667825c6c00a3bb7f032adc30be251d8a9416",
"body": "Signed-off-by: russcoss <russcoss@outlook.com>",
"is_bot": false,
"headline": "refactor(other): use maps.Copy for cleaner map handling (#1900)",
"author_name": "russcoss",
"author_login": "russcoss",
"committed_at": "2025-09-26T04:54:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9d66617b2cd197cb8a542f83cfc9ca8c7d81e407",
"body": null,
"is_bot": false,
"headline": "test(consensus): fix data-race issue on consensus tests (#1902)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-09-26T04:36:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dda04f3782ae42732678159a3e3cf1e35f8f73e1",
"body": null,
"is_bot": false,
"headline": "feat(consensus): the Cheetah implementation (#1858)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-09-24T06:26:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "07d4222b4bff73be7efb2708e20f706908addcc3",
"body": null,
"is_bot": false,
"headline": "fix(gtk): ensure GTK starts on main thread (#1885)",
"author_name": "Henry",
"author_login": "phoenixit99",
"committed_at": "2025-09-24T06:25:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2f4a111ae5a5f30653ce06e4abd5950e045b6748",
"body": null,
"is_bot": false,
"headline": "test(network): fix random failure on network tests for Windows (#1889)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-09-22T05:10:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1dd1e01082212efbecdbb5defa0da0bbdf684878",
"body": null,
"is_bot": false,
"headline": "chore(grpc): update API docs (#1887)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-09-22T05:03:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2a98e89d9575004dc0e1721a9848627b7dc2c1eb",
"body": null,
"is_bot": false,
"headline": "chore(docker): fix docker build issue (#1886)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-09-20T13:05:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c1a6a49d0cefc6966b4bb7444defd63685108fc4",
"body": "Co-authored-by: Mostafa <mostafa.sedaghat@gmail.com>",
"is_bot": false,
"headline": "chore(deps): update dependencies (#1881)",
"author_name": "Javad Rajabzadeh",
"author_login": "ja7ad",
"committed_at": "2025-09-20T06:54:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "14f956c671c1ac44fdf0a307e592113be31aba59",
"body": null,
"is_bot": false,
"headline": "fix(gtk): change fontmap backend for macOS (#1884)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-09-18T09:11:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "35156835dba00c4000488a7e7619eed9815c3cd3",
"body": null,
"is_bot": false,
"headline": "fix(gtk): resolve crash issue on MacOs (#1882)",
"author_name": "Henry",
"author_login": "phoenixit99",
"committed_at": "2025-09-16T06:58:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "be1a2b40b608caf6f6b8b6ac743cdc0c22e6acff",
"body": null,
"is_bot": false,
"headline": "chore(version): bumping version to 1.10.0 (#1879)",
"author_name": "Mantre",
"author_login": null,
"committed_at": "2025-09-14T19:09:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "057721d2c899b7b38975928ede37224356a6d91d",
"body": null,
"is_bot": false,
"headline": "chore(release): releasing version 1.9.0 (#1878)",
"author_name": "Mantre",
"author_login": null,
"committed_at": "2025-09-10T07:25:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f1fa204004159192405cb765f892591e6937baf1",
"body": "Co-authored-by: Mantre <mantre@protonmail.com>",
"is_bot": false,
"headline": "chore(releaser): refactor Windows GTK Bundler (#1877)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-09-10T07:18:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a4d810124a2e235c802b71e3853d3dc582fb749b",
"body": null,
"is_bot": false,
"headline": "fix(util): ignore filtered levels (#1874)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-09-09T02:51:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9466445c9d577136e22cf8f02ede34df04714d25",
"body": null,
"is_bot": false,
"headline": "fix(sync): ignore hello message from outdated nodes (#1873)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-09-09T02:47:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3ec952fbada622f3789e7cfc767fe079a81f8fa3",
"body": "Co-authored-by: Mantre <mantre@protonmail.com>",
"is_bot": false,
"headline": "refactor(sync): refactor handshaking protocol (#1872)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-09-08T05:36:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "323bf379787d546e86a0a344e949c81ee39ab8fe",
"body": null,
"is_bot": false,
"headline": "fix(state): update protocol version for own validators (#1871)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-09-06T07:03:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "127ae69ada826e952660e4a014ea38bde04aadf4",
"body": null,
"is_bot": false,
"headline": "fix(sync): banned peer recovery (#1869)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-09-03T02:41:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e73f11bc77cddeb2c1121ea2dea4ffed0da1974e",
"body": "Co-authored-by: Mantre <mantre@protonmail.com>",
"is_bot": false,
"headline": "fix(state): update block version on enabling fork (#1866)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-09-01T12:00:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "726b026c61c34f44e674f66d75ecf690a9476c28",
"body": null,
"is_bot": false,
"headline": "fix(sandbox): remove check height for banned address (#1868)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-09-01T11:58:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "aeba57e74784c210127536879b7f415278e95448",
"body": null,
"is_bot": false,
"headline": "test(network): increase test timeout (#1867)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-09-01T11:56:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f1d0ed07d6c2ac3d7cb9b78bf28075621dabc312",
"body": null,
"is_bot": false,
"headline": "feat(grpc): report current time in node API (#1864)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-09-01T02:56:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "412f588a488102311c5a424a079f2731d1d7808b",
"body": null,
"is_bot": false,
"headline": "feat(state): update block version on forks (#1863)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-08-31T16:19:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2674cac0bcec1171b9fc8c41a0850597806cec4b",
"body": null,
"is_bot": false,
"headline": "ci(github): set step ID for cache step (#1862)",
"author_name": "Mantre",
"author_login": null,
"committed_at": "2025-08-31T16:18:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3f0b3645a14769322e4667b34f83d540155187e5",
"body": null,
"is_bot": false,
"headline": "feat(state): set foundation addresses for split reward (#1859)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-08-31T13:43:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "80a948aab22daa561e556614da1f53360a0b135e",
"body": "Co-authored-by: Mantre <mantre@protonmail.com>",
"is_bot": false,
"headline": "fix(state): check protocol version to enable split-reward fork (#1857)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-08-31T13:07:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "167246f6a98488006abb93d5be1eb6b9ec5d9960",
"body": null,
"is_bot": false,
"headline": "test(network): disable mDNS discovery test for macOS (#1861)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-08-31T13:04:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f53852f84badd18ba3e83e5d553dfbeacf966f2a",
"body": null,
"is_bot": false,
"headline": "feat(wallet): set default transaction fee (#1849)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-08-28T15:06:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eccd031745db4775fe3f280686dadc291540e1de",
"body": null,
"is_bot": false,
"headline": "feat(committee): check if committee support a protocol version (#1855)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-08-16T04:23:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "174ce40176398f1a8d6949ea2e8e98bbb3c05be9",
"body": null,
"is_bot": false,
"headline": "feat(sync): set protocol version for proposal message (#1854)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-08-16T04:23:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1b2204eb7059b33cf45c51e53b3240ae232cdbb9",
"body": "…853)",
"is_bot": false,
"headline": "feat(committee): calculate committee protocol version percentages (#1…",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-08-15T04:17:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9858e3f274965702bab69cd6dce25c85abfdb367",
"body": null,
"is_bot": false,
"headline": "feat(state): set protocol version for validators (#1851)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-08-15T03:55:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ac164fdfc01cdbd73802a301e25b71388514c25a",
"body": null,
"is_bot": false,
"headline": "feat(types): define protocol version (#1850)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-08-14T04:04:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8b519ef2a2e0c6168a8a30923b9a91aa48e46487",
"body": null,
"is_bot": false,
"headline": "fix(cmd): prevent panic on redownloading chunk (#1847)",
"author_name": "Mantre",
"author_login": null,
"committed_at": "2025-08-13T02:48:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7f63718644077300ac1d1f9e5e18308acae471e4",
"body": null,
"is_bot": false,
"headline": "fix(state): enable soft fork for split reward (#1846)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-08-11T15:54:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c3393c3eb9f7f360efc4b087a808b9e7b5bf62e9",
"body": null,
"is_bot": false,
"headline": "fix(cmd): prompt for label if it is empty (#1845)",
"author_name": "Mantre",
"author_login": null,
"committed_at": "2025-08-11T15:54:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c3b2a0c2dea362ce9c46bdb2a8f4441165eada9b",
"body": null,
"is_bot": false,
"headline": "chore(config): ban Xeggex withdrawal account (#1843)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-08-10T04:14:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fd20cfaf77ed85670d6cb439009f42417594be1b",
"body": null,
"is_bot": false,
"headline": "fix(state): check foundation address in subsidy transaction (#1844)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-08-10T04:14:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "28e1b6cf9ddd33abd2ef01172436ffd9906acd95",
"body": null,
"is_bot": false,
"headline": "feat(state): implement PIP-43 (#1840)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-08-08T03:59:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "652ad8b1da80ea60dae8bc0f026140e9dfbc6e41",
"body": null,
"is_bot": false,
"headline": "fix(wallet): set Testnet network on upgrading wallet (#1841)",
"author_name": "Mantre",
"author_login": null,
"committed_at": "2025-08-08T03:58:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0b5dd7d2a7ec9a430a2486f0b732394607adf23b",
"body": null,
"is_bot": false,
"headline": "feat(cmd): add label option for new address command (#1842)",
"author_name": "Mantre",
"author_login": null,
"committed_at": "2025-08-08T03:57:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b820fde5a7d432c2ac787a36362134cf466f6111",
"body": null,
"is_bot": false,
"headline": "ci(github): update GUI action (#1839)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-08-07T11:08:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "08f6cb44f852e06035ff228fc80fcdc3f1562747",
"body": "Signed-off-by: minxinyi <minxinyi6@outlook.com>",
"is_bot": false,
"headline": "refactor(util): use slices.Equal to simplify code (#1837)",
"author_name": "minxinyi",
"author_login": "minxinyi",
"committed_at": "2025-07-26T07:13:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ef1a0dc4283590f197693a473b5047e153308d4c",
"body": null,
"is_bot": false,
"headline": "test(network): increase timeout for reachability test (#1838)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-07-26T07:13:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4be86a332541ed9bc28124479489fa7314ee3bb4",
"body": null,
"is_bot": false,
"headline": "ci(github): update Linting actions (#1836)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-07-23T05:16:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1d3d4ab75096ce971fcf3364a558c5b448b19b8f",
"body": null,
"is_bot": false,
"headline": "fix(execution): remove Ed25519 check (#1835)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-07-23T05:15:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fe455379bccec08bb3d2d3b3ee63848a0be1ce21",
"body": null,
"is_bot": false,
"headline": "refactor(shell): rename shell command to interactive (#1734)",
"author_name": "Atharva Navani",
"author_login": "atharva-navani16",
"committed_at": "2025-07-23T05:09:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5694e62cdecc757786c44370bfb0f3c220ad6355",
"body": null,
"is_bot": false,
"headline": "refactor(docker): update go version for Dockerfile (#1834)",
"author_name": "Mantre",
"author_login": null,
"committed_at": "2025-07-15T14:59:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a217b49d2b0ef2d0211b00996f6f67b42f21c9a0",
"body": null,
"is_bot": false,
"headline": "refactor(other): update dependencies (#1833)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-07-15T14:37:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f45eddcd2bd7ba615cf4b0ee1e672e4465a10ba6",
"body": "Signed-off-by: bytetigers <bytetiger@icloud.com>",
"is_bot": false,
"headline": "chore(types): fix minor issue in the comment (#1831)",
"author_name": "bytetigers",
"author_login": "bytetigers",
"committed_at": "2025-07-15T14:34:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9e9d8ae80c1e5fc7d8c5f8b5dad3eb4754de62f6",
"body": "…830)\n\nSigned-off-by: rustfix <771054535@qq.com>",
"is_bot": false,
"headline": "docs(release): remove redundant word in docs/release-candidate.md (#1…",
"author_name": "rustfix",
"author_login": "rustfix",
"committed_at": "2025-07-07T06:58:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f37413cfe73710ae52296c1ce28f564940ec1f4e",
"body": null,
"is_bot": false,
"headline": "chore(version): bumping version to 1.9.0 (#1829)",
"author_name": "Mantre",
"author_login": null,
"committed_at": "2025-07-07T06:42:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fc6c06038bde7d479211111e623ada0aad93b13b",
"body": null,
"is_bot": false,
"headline": "chore(release): releasing version 1.8.0 (#1828)",
"author_name": "Mantre",
"author_login": null,
"committed_at": "2025-07-01T07:31:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b100df5ddf83455ccaf4495340ec4ca36790c81c",
"body": null,
"is_bot": false,
"headline": "chore(other): add Twitter(X) badge (#1826)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-06-28T04:42:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "005654bb175a7f4a6b2a08e1a4a1f2fcd03b69f1",
"body": null,
"is_bot": false,
"headline": "docs(release): update Release-Candidate doc (#1825)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-06-28T04:42:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1dbb7174ddda95f0d436cd3d3f18dfc2bce01581",
"body": null,
"is_bot": false,
"headline": "ci(releaser): add AppImage checksum for Linux GUI (#1827)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-06-28T04:42:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ec1991f9bb25dcd93cd7e3c078dda0350c9ba2a8",
"body": null,
"is_bot": false,
"headline": "ci(releaser): signs Windows Binaries with SignPath certificate (#1824)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-06-28T03:10:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5a1bca194a07d52fd3787e10e932653e0910de61",
"body": null,
"is_bot": false,
"headline": "ci(docker): trigger on version tags (#1821)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-06-26T16:18:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f8ff51715b32fc9ae75e015b23da30f6304a8f74",
"body": "Signed-off-by: shandongzhejiang <shandongzhejiang@icloud.com>",
"is_bot": false,
"headline": "chore(other): fix some comments (#1820)",
"author_name": "shandongzhejiang",
"author_login": "shandongzhejiang",
"committed_at": "2025-06-25T08:58:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b3b8d741aef654c6330151e966c5b8728af7f31a",
"body": "Signed-off-by: jinjingroad <jinjingroad@sina.com>",
"is_bot": false,
"headline": "refactor(util): use the built-in max/min to simplify the code (#1819)",
"author_name": "jinjingroad",
"author_login": "jinjingroad",
"committed_at": "2025-06-25T08:53:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "abd9ef628004c0c029ef22f0221076af37ed4492",
"body": null,
"is_bot": false,
"headline": "chore(other): fix Dockerfile linting issue (#1818)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-06-25T08:52:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "980d9a727a8bce78b90c72035d085f0b65cd6536",
"body": null,
"is_bot": false,
"headline": "ci(releaser): fix packager issues (#1817)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-06-18T13:07:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b43bbc1ef8ff072c19770b2b0ff05957ff6d3e85",
"body": "Co-authored-by: Mantre <mantre@protonmail.com>",
"is_bot": false,
"headline": "ci(releaser): updare windows releaser (#1816)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-06-18T13:06:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "76e40fdded86bbb3f63f832e5031bf96e30ecd46",
"body": null,
"is_bot": false,
"headline": "ci(releaser): sign Windows artifacts (#1815)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-06-17T15:05:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4c52ef85c0047ebc8c637da9fc905f65507a8b28",
"body": null,
"is_bot": false,
"headline": "docs(releaser): add Release-Candidate doc (#1814)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-06-17T15:03:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4cb942028a24bcccbbfef4581945b36a49fc9c75",
"body": null,
"is_bot": false,
"headline": "chore(sync): change log level to debug (#1813)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-06-16T16:46:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "623356c3750997b684a364103fb9b6844c697691",
"body": null,
"is_bot": false,
"headline": "fix(execution): check network type for batch transfer (#1812)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-06-11T09:21:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a642b09cd12536dda115512864bb0b2c487f8aff",
"body": null,
"is_bot": false,
"headline": "fix(execution): set batch transfer height (#1811)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-06-11T07:15:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bdbe6e07221c4447d556e6086cb70e386dd1998f",
"body": null,
"is_bot": false,
"headline": "feat(cmd): add transport switch in flag start daemon (#1681)",
"author_name": "Javad Rajabzadeh",
"author_login": "ja7ad",
"committed_at": "2025-06-10T07:52:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c0581119cb59865ad1380b48a43931a9e8c05053",
"body": null,
"is_bot": false,
"headline": "fix(util): panic on importing snapshot (#1807)",
"author_name": "Javad Rajabzadeh",
"author_login": "ja7ad",
"committed_at": "2025-06-10T07:28:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "06a05e968bb1d5a8e61ba636cfee844d716bdbbc",
"body": "…#1808)\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump github.com/pion/interceptor from 0.1.37 to 0.1.39 (…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2025-06-10T07:27:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1c1e202096f239e0f68797db103c68cb566f41b2",
"body": null,
"is_bot": false,
"headline": "fix(sync): drop messages with mimatched consensus height (#1810)",
"author_name": "Mantre",
"author_login": null,
"committed_at": "2025-06-10T07:18:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e886757fca21b3f3d347d43b6d963ee6f0ce1bc1",
"body": null,
"is_bot": false,
"headline": "test(execution): add tests for batch transfer (#1806)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-06-07T06:39:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "06ba51cfa7bd058bc0b858ed5f5baa6f21357e73",
"body": null,
"is_bot": false,
"headline": "test(types): add more tests for payloads (#1805)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-06-07T06:39:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ed51b48f6d35eafb986f52fb09058247c5bb116c",
"body": null,
"is_bot": false,
"headline": "feat(grpc): add get raw batch transfer transaction (#1799)",
"author_name": "Javad Rajabzadeh",
"author_login": "ja7ad",
"committed_at": "2025-06-06T08:17:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "351b1acdbc103fb039c8e56d3774bb66f8fe0fb5",
"body": null,
"is_bot": false,
"headline": "ci(github): release GUI for Windows ARM (#1803)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-06-06T08:17:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6c2f561498e0366c955f48e43c075f86fbf6e6e6",
"body": "Signed-off-by: rustrover <seekseat@126.com>",
"is_bot": false,
"headline": "refactor(other): use slices.Contains to simplify code (#1802)",
"author_name": "rustrover",
"author_login": "rustrover",
"committed_at": "2025-06-05T11:11:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e1d95c077246253bed7d0c4b8f03c8c9e882775f",
"body": null,
"is_bot": false,
"headline": "test(firewall): update firewall and consensus height tests (#1798)",
"author_name": "Mantre",
"author_login": null,
"committed_at": "2025-06-04T11:39:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d925a7c2d61be255872447a455d8ca0b6d08a69b",
"body": null,
"is_bot": false,
"headline": "docs(other): update releasing/patching docs (#1784)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-06-02T08:33:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "722ff74150a7b4a94051946a7f641cd8c2a9edd2",
"body": null,
"is_bot": false,
"headline": "fix(firewall): remove decoding bundle for expired message (#1682)",
"author_name": "Javad Rajabzadeh",
"author_login": "ja7ad",
"committed_at": "2025-06-02T08:10:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2ab26ee517f75288787c60c06b5493441c5d30a0",
"body": null,
"is_bot": false,
"headline": "feat(types): implement batch transfer payload (#1793)",
"author_name": "b00f",
"author_login": null,
"committed_at": "2025-06-02T08:04:49Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 1,
"commits_last_year": 63,
"latest_release_at": "2025-01-11T11:23:14Z",
"latest_release_tag": "v1.6.5",
"releases_from_tags": false,
"days_since_last_push": 290,
"active_weeks_last_year": 11,
"days_since_latest_release": 560,
"mean_days_between_releases": null
},
"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/pactus-project/pactus",
"exists": true,
"license": null,
"keywords": [],
"ecosystem": "go",
"matches_repo": false,
"registry_url": "https://pkg.go.dev/github.com/pactus-project/pactus",
"is_deprecated": false,
"latest_version": "v1.16.0",
"repository_url": "https://github.com/pactus-project/pactus",
"versions_count": 120,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": null,
"latest_published_at": "2026-07-09T04:28:23Z",
"latest_version_yanked": null,
"days_since_latest_publish": 16
}
]
},
"popularity": {
"forks": 0,
"stars": 0,
"watchers": 0,
"fork_history": {
"days": [],
"complete": true,
"collected": 0,
"total_forks": 0
},
"star_history": {
"days": [],
"complete": true,
"collected": 0,
"total_stars": 0,
"collected_at": null
},
"open_issues_and_prs": 0
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": true,
"has_mcp_signal": false,
"bootstrap_files": [
"Makefile"
],
"api_schema_files": [
"www/grpc/proto/blockchain.proto",
"www/grpc/proto/network.proto",
"www/grpc/proto/transaction.proto",
"www/grpc/proto/utils.proto",
"www/grpc/proto/wallet.proto"
],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [
".github/packager/rust/grpc/Cargo.toml",
".github/packager/rust/jsonrpc/Cargo.toml",
"go.mod"
],
"largest_source_bytes": 1417927,
"source_files_sampled": 607,
"oversized_source_files": 26,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"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"
],
"dependencies": [
{
"name": "github.com/NathanBaulch/protoc-gen-cobra",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.2.1"
},
{
"name": "github.com/beevik/ntp",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.4.3"
},
{
"name": "github.com/c-bata/go-prompt",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.2.6"
},
{
"name": "github.com/consensys/gnark-crypto",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.19.0"
},
{
"name": "github.com/fxamacker/cbor/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.9.0"
},
{
"name": "github.com/go-zeromq/zmq4",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.17.0"
},
{
"name": "github.com/gofrs/flock",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.12.1"
},
{
"name": "github.com/google/shlex",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20191202100458-e7afc7fbc510"
},
{
"name": "github.com/google/uuid",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.6.0"
},
{
"name": "github.com/gorilla/handlers",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.5.2"
},
{
"name": "github.com/gorilla/mux",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.8.1"
},
{
"name": "github.com/gotk3/gotk3",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.6.2"
},
{
"name": "github.com/grpc-ecosystem/go-grpc-middleware",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.4.0"
},
{
"name": "github.com/grpc-ecosystem/grpc-gateway/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.27.2"
},
{
"name": "github.com/hashicorp/golang-lru/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.0.7"
},
{
"name": "github.com/inancgumus/screen",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20190314163918-06e984b86ed3"
},
{
"name": "github.com/ipfs/boxo",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.34.0"
},
{
"name": "github.com/k0kubun/go-ansi",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20180517002512-3bf9e2903213"
},
{
"name": "github.com/kilic/bls12-381",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.1.1-0.20220929213557-ca162e8a70f4"
},
{
"name": "github.com/libp2p/go-libp2p",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.43.0"
},
{
"name": "github.com/libp2p/go-libp2p-kad-dht",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.34.0"
},
{
"name": "github.com/libp2p/go-libp2p-pubsub",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.15.0"
},
{
"name": "github.com/manifoldco/promptui",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.9.0"
},
{
"name": "github.com/multiformats/go-multiaddr",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.16.1"
},
{
"name": "github.com/pacviewer/jrpc-gateway",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.6.0"
},
{
"name": "github.com/pelletier/go-toml/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.2.4"
},
{
"name": "github.com/pkg/errors",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.9.1"
},
{
"name": "github.com/prometheus/client_golang",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.23.2"
},
{
"name": "github.com/rs/cors",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.11.1"
},
{
"name": "github.com/rs/zerolog",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.34.0"
},
{
"name": "github.com/schollz/progressbar/v3",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v3.18.0"
},
{
"name": "github.com/spf13/cobra",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.10.1"
},
{
"name": "github.com/spf13/pflag",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.0.10"
},
{
"name": "github.com/stretchr/testify",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.11.1"
},
{
"name": "github.com/syndtr/goleveldb",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.0.1-0.20220721030215-126854af5e6d"
},
{
"name": "golang.org/x/crypto",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.42.0"
},
{
"name": "golang.org/x/exp",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20250911091902-df9299821621"
},
{
"name": "golang.org/x/term",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.35.0"
},
{
"name": "google.golang.org/grpc",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.75.1"
},
{
"name": "google.golang.org/protobuf",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.36.9"
},
{
"name": "gopkg.in/natefinch/lumberjack.v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.2.1"
}
],
"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": 5,
"open_issues": 0,
"closed_ratio": null,
"closed_issues": 0,
"closed_unmerged_prs": 0
},
"bus_factor": 2,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "b00f",
"commits": 447,
"avatar_url": "https://avatars.githubusercontent.com/u/8073510?v=4"
},
{
"type": "User",
"login": "themantre",
"commits": 398,
"avatar_url": "https://avatars.githubusercontent.com/u/72269810?v=4"
},
{
"type": "User",
"login": "ja7ad",
"commits": 100,
"avatar_url": "https://avatars.githubusercontent.com/u/56496801?v=4"
},
{
"type": "User",
"login": "kehiy",
"commits": 92,
"avatar_url": "https://avatars.githubusercontent.com/u/89645414?v=4"
},
{
"type": "User",
"login": "vlasfama",
"commits": 41,
"avatar_url": "https://avatars.githubusercontent.com/u/38091008?v=4"
},
{
"type": "User",
"login": "amirvalhalla",
"commits": 37,
"avatar_url": "https://avatars.githubusercontent.com/u/108064447?v=4"
},
{
"type": "User",
"login": "alidevjimmy",
"commits": 14,
"avatar_url": "https://avatars.githubusercontent.com/u/59659737?v=4"
},
{
"type": "User",
"login": "ambersun1234",
"commits": 14,
"avatar_url": "https://avatars.githubusercontent.com/u/13270428?v=4"
},
{
"type": "User",
"login": "yenkhoon",
"commits": 12,
"avatar_url": "https://avatars.githubusercontent.com/u/1153905?v=4"
},
{
"type": "User",
"login": "Ali-Meh",
"commits": 10,
"avatar_url": "https://avatars.githubusercontent.com/u/32941088?v=4"
}
],
"contributors_sampled": 98,
"top_contributor_share": 0.346
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"codeql.yml",
"coverage.yml",
"deadlock.yml",
"docker.yml",
"gui.yml",
"linting.yml",
"packager.yml",
"releaser.yml",
"semantic-pr.yml",
"testing.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"
],
"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 12 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": 0,
"reason": "no update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"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": "packaging workflow not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 10,
"reason": "SAST tool detected: CodeQL",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": 0,
"reason": "Project has not signed or included provenance with any releases.",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 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": "44 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "66ea1722b34624f867de6672435689481bf64d1f",
"ran_at": "2026-07-25T22:28:08Z",
"aggregate_score": 2.8,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": true,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2025-10-08T05:05:04Z",
"oldest_open_prs": [],
"last_merged_pr_at": "2025-09-18T16:18:16Z",
"ci_last_conclusion": null,
"oldest_open_issues": []
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/ja7ad/pactus",
"host": "github.com",
"name": "pactus",
"owner": "ja7ad"
},
"metrics": {
"overall": {
"key": "overall",
"band": "critical",
"name": "Overall health",
"note": "High-Risk Jurisdiction Policy applies a 50% multiplier to weighted overall health and gives it an At risk ceiling of 49.",
"notes": [
{
"code": "jurisdiction_overall_adjustment",
"params": {
"cap": 49,
"pct": 50
}
}
],
"value": 21,
"inputs": {
"security": 14,
"vitality": 35,
"community": 12,
"governance": 67,
"engineering": 69,
"high_risk_jurisdiction_cap": 49,
"high_risk_jurisdiction_multiplier": 50,
"weighted_overall_before_jurisdiction": 42,
"overall_after_jurisdiction_multiplier": 21
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "at_risk",
"name": "Vitality",
"value": 35,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "critical",
"name": "Development activity",
"note": null,
"notes": [],
"value": 27,
"inputs": {
"commits_last_year": 63,
"human_commit_share": 0.99,
"days_since_last_push": 290,
"active_weeks_last_year": 11
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 290 days ago",
"points": 3.6,
"status": "partial",
"details": [
{
"code": "push_recency",
"params": {
"days": 290
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "11/52 weeks with commits",
"points": 7.6,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 11
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "63 commits in the last year",
"points": 16.2,
"status": "partial",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 63
}
}
],
"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": null,
"notes": [],
"value": 47,
"inputs": {
"releases_count": 1,
"latest_release_tag": "v1.6.5",
"releases_from_tags": false,
"days_since_latest_release": 560,
"mean_days_between_releases": null
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "1 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 1
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 560 days ago",
"points": 7.2,
"status": "partial",
"details": [
{
"code": "release_recency",
"params": {
"days": 560
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "cadence unknown (single release)",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "release_cadence_unknown",
"params": {}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "dormant",
"guards": [
"no_open_demand"
],
"signals": [
"scorecard_unmaintained"
],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": 0,
"unanswered_open_issues": 0,
"days_since_last_merged_pr": 310,
"days_since_last_human_commit": 291,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "no human commit for 291 days, with nothing left unanswered; held at dormant by nothing open to answer",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_quiet",
"params": {
"days": 291
}
},
{
"code": "abandonment_guarded",
"params": {
"guards": "nothing open to answer"
}
}
],
"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": 1,
"inputs": {
"forks": 0,
"stars": 0,
"watchers": 0,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "0 stars",
"points": 0,
"status": "missed",
"details": [
{
"code": "stars",
"params": {
"count": 0
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "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": 25,
"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": "recognized license (MIT)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "MIT"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 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": 67,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "moderate",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 63,
"inputs": {
"bus_factor": 2,
"contributors_sampled": 98,
"top_contributor_share": 0.346
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "2 contributor(s) cover half of all commits",
"points": 25.2,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 2
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 35% of commits",
"points": 14.7,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 35
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "98 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 98
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 12 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": "Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"issue_resolution"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 72,
"inputs": {
"merged_prs": 5,
"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": "5/5 decided PRs merged",
"points": 38.2,
"status": "met",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 5,
"decided": 5
}
}
],
"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": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"verified_domain"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 67,
"inputs": {
"followers": 415,
"owner_type": "User",
"is_verified": null,
"owner_login": "ja7ad",
"public_repos": 209,
"account_age_days": 2477
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "personal (user) account",
"points": 10,
"status": "partial",
"details": [
{
"code": "owner_personal",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": "not applicable to user accounts",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_applicable_to_user_accounts",
"params": {}
}
],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "415 followers of ja7ad",
"points": 18.8,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 415,
"login": "ja7ad"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "209 public repos, account ~6 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 209
}
},
{
"code": "account_age_years",
"params": {
"years": 6
}
}
],
"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": "10 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 10
}
}
],
"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://pactus.org",
"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://pactus.org",
"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": "critical",
"name": "Security",
"value": 14,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "critical",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): CI-Tests, Packaging. Remaining weights renormalized. High-Risk Jurisdiction Policy applies a 50% multiplier to Security posture and gives it an At risk ceiling of 49.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"ci_tests",
"packaging"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "jurisdiction_posture_adjustment",
"params": {
"cap": 49,
"pct": 50
}
}
],
"value": 14,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 16,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 2,
"scorecard_aggregate": 2.8,
"high_risk_jurisdiction_cap": 49,
"high_risk_jurisdiction_multiplier": 50,
"security_posture_after_multiplier": 14,
"security_posture_before_jurisdiction": 28
},
"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 12 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": "no update tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"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": "packaging workflow not detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool detected: CodeQL",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "44 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "moderate",
"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": 50,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": true,
"exposures": [
{
"role": "contributor_organization",
"count": 2,
"country": "Iran"
},
{
"role": "top_contributor",
"count": 1,
"country": "Iran"
}
],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 13
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "Iran: contributor_organization (2); Iran: top_contributor (1)",
"points": 50,
"status": "partial",
"details": [
{
"code": "jurisdiction_exposure",
"params": {
"role": "contributor_organization",
"count": 2,
"country": "Iran"
}
},
{
"code": "jurisdiction_exposure_next",
"params": {
"role": "top_contributor",
"count": 1,
"country": "Iran"
}
}
],
"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": "moderate",
"name": "AI Readiness",
"value": 65,
"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": "99 of 99 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 99,
"sampled": 99
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "good",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"go.sum"
],
"has_dockerfile": true,
"typed_language": true,
"bootstrap_files": [
"Makefile"
],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [
".github/packager/rust/grpc/Cargo.toml",
".github/packager/rust/jsonrpc/Cargo.toml",
"go.mod"
],
"dependency_bot_commit_share": 0.01
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "Makefile",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Makefile"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": ".golangci.yml",
"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": "1 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 1,
"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 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 98,
"inputs": {
"primary_language": "Go",
"largest_source_bytes": 1417927,
"source_files_sampled": 607,
"oversized_source_files": 26
},
"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": "26/607 source files over 60KB",
"points": 52.6,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 607,
"oversized": 26
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "at_risk",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"example_dirs": [],
"has_mcp_signal": false,
"api_schema_files": [
"www/grpc/proto/blockchain.proto",
"www/grpc/proto/network.proto",
"www/grpc/proto/transaction.proto",
"www/grpc/proto/utils.proto",
"www/grpc/proto/wallet.proto"
]
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": "www/grpc/proto/blockchain.proto, www/grpc/proto/network.proto, www/grpc/proto/transaction.proto, www/grpc/proto/utils.proto, www/grpc/proto/wallet.proto",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "www/grpc/proto/blockchain.proto, www/grpc/proto/network.proto, www/grpc/proto/transaction.proto, www/grpc/proto/utils.proto, www/grpc/proto/wallet.proto"
}
}
],
"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": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Community profile unavailable",
"go package 'github.com/pactus-project/pactus' points at a different repository (https://github.com/pactus-project/pactus); 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-25T22:28:26.995408Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/j/ja7ad/pactus.svg",
"full_name": "ja7ad/pactus",
"license_state": "standard",
"license_spdx": "MIT"
}