Informe JSON sin procesar legible por máquina
{
"data": {
"repo": {
"topics": [
"accounting",
"cloud-native",
"core-banking",
"cqrs",
"double-entry-accounting",
"financial-infrastructure",
"fintech",
"golang",
"hexagonal-architecture",
"ledger",
"microservices",
"multi-currency",
"transactions",
"source-available"
],
"is_fork": false,
"size_kb": 205226,
"has_wiki": false,
"homepage": "https://docs.lerian.studio",
"languages": {
"Go": 19073971,
"Lua": 28387,
"ANTLR": 1686,
"Shell": 80247,
"Gherkin": 25013,
"PLpgSQL": 23475,
"Makefile": 118827,
"Dockerfile": 3203,
"JavaScript": 219701
},
"pushed_at": "2026-07-22T14:50:33Z",
"created_at": "2024-04-17T15:53:11Z",
"owner_type": "Organization",
"updated_at": "2026-07-22T14:54:07Z",
"description": "Source-available, cloud-native ledger platform for building financial infrastructure — multi-currency, multi-asset, double-entry accounting with n:n transaction support.",
"is_archived": false,
"is_disabled": false,
"license_spdx": null,
"default_branch": "develop",
"license_spdx_raw": "NOASSERTION",
"primary_language": "Go",
"significant_languages": [
"Go"
]
},
"owner": {
"blog": "https://lerian.studio",
"name": "Lerian Studio",
"type": "Organization",
"login": "LerianStudio",
"company": null,
"location": "Brazil",
"followers": 204,
"avatar_url": "https://avatars.githubusercontent.com/u/148895005?v=4",
"created_at": "2023-10-24T16:36:39Z",
"is_verified": null,
"public_repos": 42,
"account_age_days": 1002
},
"license": {
"state": "custom",
"spdx_id": null,
"raw_spdx": "NOASSERTION",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v4.0.0-beta.8",
"kind": "prerelease",
"published_at": "2026-07-22T14:50:35Z"
},
{
"tag": "v4.0.0-beta.7",
"kind": "prerelease",
"published_at": "2026-07-22T14:21:19Z"
},
{
"tag": "v4.0.0-beta.6",
"kind": "prerelease",
"published_at": "2026-07-22T12:29:35Z"
},
{
"tag": "v4.0.0-beta.5",
"kind": "prerelease",
"published_at": "2026-07-21T19:55:09Z"
},
{
"tag": "v4.0.0-beta.4",
"kind": "prerelease",
"published_at": "2026-07-21T19:37:57Z"
},
{
"tag": "v4.0.0-beta.3",
"kind": "prerelease",
"published_at": "2026-07-21T18:45:18Z"
},
{
"tag": "v4.0.0-beta.2",
"kind": "prerelease",
"published_at": "2026-07-21T16:38:06Z"
},
{
"tag": "v4.0.0-beta.1",
"kind": "prerelease",
"published_at": "2026-07-21T13:34:02Z"
},
{
"tag": "v3.8.1-beta.2",
"kind": "prerelease",
"published_at": "2026-07-20T18:56:22Z"
},
{
"tag": "v3.8.1-beta.1",
"kind": "prerelease",
"published_at": "2026-07-19T17:57:29Z"
},
{
"tag": "v3.8.0",
"kind": "minor",
"published_at": "2026-07-17T21:44:19Z"
},
{
"tag": "v3.8.0-rc.7",
"kind": "prerelease",
"published_at": "2026-07-17T21:05:34Z"
},
{
"tag": "v3.8.0-beta.41",
"kind": "prerelease",
"published_at": "2026-07-17T20:28:16Z"
},
{
"tag": "v3.8.0-rc.6",
"kind": "prerelease",
"published_at": "2026-07-17T19:57:33Z"
},
{
"tag": "v3.8.0-beta.40",
"kind": "prerelease",
"published_at": "2026-07-17T19:27:52Z"
},
{
"tag": "v3.8.0-beta.39",
"kind": "prerelease",
"published_at": "2026-07-17T19:01:25Z"
},
{
"tag": "v3.8.0-beta.38",
"kind": "prerelease",
"published_at": "2026-07-17T17:18:26Z"
},
{
"tag": "v3.8.0-beta.37",
"kind": "prerelease",
"published_at": "2026-07-17T14:49:48Z"
},
{
"tag": "v3.8.0-rc.5",
"kind": "prerelease",
"published_at": "2026-07-17T13:56:36Z"
},
{
"tag": "v3.8.0-beta.36",
"kind": "prerelease",
"published_at": "2026-07-16T21:33:59Z"
},
{
"tag": "v3.8.0-beta.35",
"kind": "prerelease",
"published_at": "2026-07-16T21:27:36Z"
},
{
"tag": "v3.8.0-beta.34",
"kind": "prerelease",
"published_at": "2026-07-16T17:35:04Z"
},
{
"tag": "v3.8.0-beta.33",
"kind": "prerelease",
"published_at": "2026-07-16T17:02:45Z"
},
{
"tag": "v3.8.0-beta.32",
"kind": "prerelease",
"published_at": "2026-07-14T19:57:09Z"
},
{
"tag": "v3.8.0-beta.31",
"kind": "prerelease",
"published_at": "2026-07-13T19:38:02Z"
},
{
"tag": "v3.8.0-beta.30",
"kind": "prerelease",
"published_at": "2026-07-13T18:44:50Z"
},
{
"tag": "v3.8.0-beta.29",
"kind": "prerelease",
"published_at": "2026-07-13T18:11:20Z"
},
{
"tag": "v3.8.0-rc.4",
"kind": "prerelease",
"published_at": "2026-07-10T16:44:48Z"
},
{
"tag": "v3.8.0-beta.28",
"kind": "prerelease",
"published_at": "2026-07-10T16:03:21Z"
},
{
"tag": "v3.8.0-beta.27",
"kind": "prerelease",
"published_at": "2026-07-10T14:09:43Z"
},
{
"tag": "v3.8.0-beta.26",
"kind": "prerelease",
"published_at": "2026-07-08T18:24:51Z"
},
{
"tag": "v3.8.0-beta.25",
"kind": "prerelease",
"published_at": "2026-07-08T15:44:54Z"
},
{
"tag": "v3.8.0-beta.24",
"kind": "prerelease",
"published_at": "2026-07-08T12:57:16Z"
},
{
"tag": "v3.8.0-beta.23",
"kind": "prerelease",
"published_at": "2026-07-06T13:28:32Z"
},
{
"tag": "v3.8.0-beta.22",
"kind": "prerelease",
"published_at": "2026-07-03T14:57:22Z"
},
{
"tag": "v3.8.0-beta.21",
"kind": "prerelease",
"published_at": "2026-07-02T15:09:57Z"
},
{
"tag": "v3.8.0-beta.20",
"kind": "prerelease",
"published_at": "2026-07-02T15:01:28Z"
},
{
"tag": "v3.8.0-rc.3",
"kind": "prerelease",
"published_at": "2026-06-30T16:45:03Z"
},
{
"tag": "v3.8.0-beta.19",
"kind": "prerelease",
"published_at": "2026-06-30T12:48:12Z"
},
{
"tag": "v3.8.0-beta.18",
"kind": "prerelease",
"published_at": "2026-06-29T21:58:35Z"
},
{
"tag": "v3.8.0-rc.2",
"kind": "prerelease",
"published_at": "2026-06-29T21:03:51Z"
},
{
"tag": "v3.8.0-beta.17",
"kind": "prerelease",
"published_at": "2026-06-29T18:56:23Z"
},
{
"tag": "v3.7.8",
"kind": "patch",
"published_at": "2026-06-26T21:50:50Z"
},
{
"tag": "v3.8.0-rc.1",
"kind": "prerelease",
"published_at": "2026-06-26T20:13:16Z"
},
{
"tag": "v3.8.0-beta.16",
"kind": "prerelease",
"published_at": "2026-06-26T15:45:12Z"
},
{
"tag": "v3.8.0-beta.15",
"kind": "prerelease",
"published_at": "2026-06-25T20:30:02Z"
},
{
"tag": "v3.8.0-beta.14",
"kind": "prerelease",
"published_at": "2026-06-25T15:14:59Z"
},
{
"tag": "v3.8.0-beta.13",
"kind": "prerelease",
"published_at": "2026-06-25T13:37:47Z"
},
{
"tag": "v3.8.0-beta.12",
"kind": "prerelease",
"published_at": "2026-06-24T18:05:18Z"
},
{
"tag": "v3.8.0-beta.11",
"kind": "prerelease",
"published_at": "2026-06-22T19:27:25Z"
},
{
"tag": "v3.7.7",
"kind": "patch",
"published_at": "2026-06-15T18:27:37Z"
},
{
"tag": "v3.8.0-beta.10",
"kind": "prerelease",
"published_at": "2026-06-05T11:48:14Z"
},
{
"tag": "v3.7.6",
"kind": "patch",
"published_at": "2026-06-04T15:30:23Z"
},
{
"tag": "v3.8.0-beta.9",
"kind": "prerelease",
"published_at": "2026-06-03T22:42:58Z"
},
{
"tag": "v3.7.5",
"kind": "patch",
"published_at": "2026-05-31T01:11:52Z"
},
{
"tag": "v3.7.4",
"kind": "patch",
"published_at": "2026-05-30T22:14:52Z"
},
{
"tag": "v3.8.0-beta.8",
"kind": "prerelease",
"published_at": "2026-05-28T18:08:02Z"
},
{
"tag": "v3.7.3",
"kind": "patch",
"published_at": "2026-05-28T17:00:17Z"
},
{
"tag": "v3.8.0-beta.7",
"kind": "prerelease",
"published_at": "2026-05-28T11:25:34Z"
},
{
"tag": "v3.8.0-beta.6",
"kind": "prerelease",
"published_at": "2026-05-27T19:43:02Z"
},
{
"tag": "v3.8.0-beta.5",
"kind": "prerelease",
"published_at": "2026-05-25T21:03:00Z"
},
{
"tag": "v3.7.2",
"kind": "patch",
"published_at": "2026-05-25T20:15:30Z"
},
{
"tag": "v3.6.4",
"kind": "patch",
"published_at": "2026-05-25T18:50:07Z"
},
{
"tag": "v3.5.4",
"kind": "patch",
"published_at": "2026-05-25T13:00:43Z"
},
{
"tag": "v3.7.1",
"kind": "patch",
"published_at": "2026-05-07T18:39:00Z"
},
{
"tag": "v3.8.0-beta.4",
"kind": "prerelease",
"published_at": "2026-05-04T20:17:44Z"
},
{
"tag": "v3.8.0-beta.3",
"kind": "prerelease",
"published_at": "2026-05-01T20:32:00Z"
},
{
"tag": "v3.8.0-beta.2",
"kind": "prerelease",
"published_at": "2026-05-01T18:13:47Z"
},
{
"tag": "v3.8.0-beta.1",
"kind": "prerelease",
"published_at": "2026-05-01T14:16:28Z"
},
{
"tag": "v3.7.0",
"kind": "minor",
"published_at": "2026-04-30T18:08:30Z"
},
{
"tag": "v3.7.0-rc.2",
"kind": "prerelease",
"published_at": "2026-04-30T15:10:00Z"
},
{
"tag": "v3.7.0-beta.6",
"kind": "prerelease",
"published_at": "2026-04-30T15:03:58Z"
},
{
"tag": "v3.7.0-rc.1",
"kind": "prerelease",
"published_at": "2026-04-30T11:44:21Z"
},
{
"tag": "v3.7.0-beta.5",
"kind": "prerelease",
"published_at": "2026-04-29T21:21:02Z"
},
{
"tag": "v3.7.0-beta.4",
"kind": "prerelease",
"published_at": "2026-04-29T18:20:09Z"
},
{
"tag": "v3.7.0-beta.3",
"kind": "prerelease",
"published_at": "2026-04-29T15:12:38Z"
},
{
"tag": "v3.7.0-beta.2",
"kind": "prerelease",
"published_at": "2026-04-29T12:48:39Z"
},
{
"tag": "v3.7.0-beta.1",
"kind": "prerelease",
"published_at": "2026-04-27T21:51:43Z"
},
{
"tag": "v3.6.3",
"kind": "patch",
"published_at": "2026-04-20T12:53:13Z"
},
{
"tag": "v3.6.2",
"kind": "patch",
"published_at": "2026-04-17T15:45:38Z"
},
{
"tag": "v3.6.1",
"kind": "patch",
"published_at": "2026-04-14T19:21:18Z"
},
{
"tag": "v3.6.0",
"kind": "minor",
"published_at": "2026-04-13T19:53:36Z"
},
{
"tag": "v3.6.0-rc.9",
"kind": "prerelease",
"published_at": "2026-04-13T19:06:07Z"
},
{
"tag": "v3.6.0-beta.127",
"kind": "prerelease",
"published_at": "2026-04-13T18:52:12Z"
},
{
"tag": "v3.6.0-rc.8",
"kind": "prerelease",
"published_at": "2026-04-13T15:15:29Z"
},
{
"tag": "v3.6.0-beta.126",
"kind": "prerelease",
"published_at": "2026-04-13T13:28:22Z"
},
{
"tag": "v3.6.0-beta.125",
"kind": "prerelease",
"published_at": "2026-04-11T17:16:47Z"
},
{
"tag": "v3.6.0-beta.124",
"kind": "prerelease",
"published_at": "2026-04-07T17:09:14Z"
},
{
"tag": "v3.6.0-beta.123",
"kind": "prerelease",
"published_at": "2026-04-07T14:32:18Z"
},
{
"tag": "v3.6.0-beta.122",
"kind": "prerelease",
"published_at": "2026-04-06T21:37:55Z"
},
{
"tag": "v3.6.0-beta.121",
"kind": "prerelease",
"published_at": "2026-04-04T19:18:52Z"
},
{
"tag": "v3.6.0-beta.120",
"kind": "prerelease",
"published_at": "2026-04-04T15:34:49Z"
},
{
"tag": "v3.6.0-rc.7",
"kind": "prerelease",
"published_at": "2026-04-03T15:20:28Z"
},
{
"tag": "v3.6.0-beta.119",
"kind": "prerelease",
"published_at": "2026-04-03T15:07:19Z"
},
{
"tag": "v3.6.0-beta.118",
"kind": "prerelease",
"published_at": "2026-04-03T15:02:17Z"
},
{
"tag": "v3.6.0-rc.6",
"kind": "prerelease",
"published_at": "2026-04-02T15:49:32Z"
},
{
"tag": "v3.6.0-beta.117",
"kind": "prerelease",
"published_at": "2026-04-02T14:47:04Z"
},
{
"tag": "v3.6.0-beta.116",
"kind": "prerelease",
"published_at": "2026-04-01T20:59:51Z"
},
{
"tag": "v3.6.0-beta.115",
"kind": "prerelease",
"published_at": "2026-04-01T20:57:22Z"
},
{
"tag": "v3.6.0-beta.114",
"kind": "prerelease",
"published_at": "2026-04-01T12:11:52Z"
}
],
"recent_commits": [
{
"oid": "ac7f4c4630689c8de2153362eaf0c7c5b06db54e",
"body": "…e-path\n\nfeat(ledger): resolve migrations from absolute /migrations path",
"is_bot": false,
"headline": "Merge pull request #2249 from LerianStudio/feature/migrations-absolut…",
"author_name": "Ygohr Medeiros",
"author_login": "Ygohr",
"committed_at": "2026-07-22T14:48:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6de1b6205d47f9c9df028d4b8a966f64596f0052",
"body": "…wrench:",
"is_bot": false,
"headline": "chore: merge branch 'develop' into feature/migrations-absolute-path :…",
"author_name": "Ygohr Medeiros",
"author_login": "Ygohr",
"committed_at": "2026-07-22T14:32:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0486415de8872e1d0fe4d94aeed729cc31bfebe9",
"body": "fix(infra): provision tracer database via postgres-init sidecar",
"is_bot": false,
"headline": "Merge pull request #2247 from LerianStudio/fix/3419-infra-tracer-db",
"author_name": "Andrei Matiazi Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-22T14:19:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f6b6f40e7e9876c5e82149471bb0b25db883033d",
"body": "Trivy's Docker image scan flags GHSA-hrxh-6v49-42gf (gRPC-Go xDS RBAC / HTTP/2 vulnerabilities, CRITICAL/HIGH, fixable) in the ledger and tracer images, blocking the security gate. The advisory is fixed in google.golang.org/grpc v1.82.1. Minimal bump (v1.81.1 -> v1.82.1, no transitive churn); go build ./... and go vet pass.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "fix(deps): bump grpc-go to v1.82.1 for GHSA-hrxh-6v49-42gf :bug:",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-22T13:57:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9de0834bedb5a707e3f3ec2bfd8f452f29e4f799",
"body": "The in-process migrator resolves its source via filepath.Abs(os.Getwd()) on a CWD-relative path. Under the distroless :nonroot base the process runs with CWD /home/nonroot (0700, uid 65532) while the pod runs as uid 1000, so any path under the home dir is unreadable and migrate fails with open .: pe\n[…]\nions/{onboarding,transaction} and point the migrator config there, making resolution independent of CWD and the runtime user. Supersedes the WORKDIR / and home-dir staging attempts.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "fix(ledger): resolve migrations from absolute /migrations path :bug:",
"author_name": "Ygohr Medeiros",
"author_login": "Ygohr",
"committed_at": "2026-07-22T13:52:51Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "50b8057a4109376f414ad024d6c189a449eaca53",
"body": "postgres only auto-runs docker-entrypoint-initdb.d on a FRESH data volume, so an existing volume that predates a newly-added database (e.g. tracer) never receives it and that service crash-loops on `database \"tracer\" does not exist` (SQLSTATE 3D000).\n\nAdd a midaz-postgres-init one-shot sidecar (mirr\n[…]\nthe replicator role, both replication slots, and all three CREATE DATABASE statements -- so re-applying against a populated cluster provisions only what is missing and never errors.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "fix(infra): provision tracer database via postgres-init sidecar :bug:",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-22T13:22:59Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "763ac929bf4e82eee0efbe0ddd8b348982a2c768",
"body": "…n-rfc9457\n\nfix(tracer): correct HTTP status mapping and re-sync integration tests to RFC 9457",
"is_bot": false,
"headline": "Merge pull request #2246 from LerianStudio/fix/3418-tracer-integratio…",
"author_name": "Andrei Matiazi Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-22T12:27:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f08791e4515ebd3df855c939baf1e4d88626aa94",
"body": "…books:\n\nComplete the CodeRabbit follow-up: add 0143/413 and clarify 0422/504 in the POST-validation error-code documentation block (message populated for those; detail scrubbed >=500).\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "docs(tracer): document 413/504 message contract in error-code table :…",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T23:45:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7cf9b729afff27c2d38494984c986e268c9bec5c",
"body": "…_tube:\n\nAssert RFC 9457 detail (not just empty legacy message) across the validation/rules/uniqueness suites, use any over interface{}, document the 413/504 message exception, assert the problem+json media type, and drop refactor-history comments.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "test(tracer): address CodeRabbit review on the RFC 9457 re-sync :test…",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T23:22:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ce76c66215dea277e4efc562bf4fc931e08db925",
"body": "Add a Detail (json:\"detail\") field to testutil.ErrorResponse, drop the two ad-hoc detail helpers, and convert the empty-message assertions across the validation/rules/limits/audit suites to assert the real problem+json detail. Adds reservation payload-too-large coverage.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "test(tracer): assert RFC 9457 detail via testutil.Detail :test_tube:",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T22:57:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "31d4a623a87166fc30623d050034155fdc5ad710",
"body": "Mirror the validation handler: oversized reservation body returns PayloadTooLargeError (413) not 400, records a business (green) span, and shares a payload-size message derived from maxPayloadSize (100KB).\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "fix(tracer): return 413 for oversized reservation body, green span :bug:",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T22:46:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f6618a0d58084b87b6c1bf887e861c9c7102c2bc",
"body": "…l :bug:\n\nAdd PayloadTooLargeError to the IsBusinessError predicate (413 is a client error) so its span records green per T5; keep GatewayTimeoutError excluded (504 technical). Renumber ErrRequestHeaderFieldsTooLarge 0493->0497 to avoid collision with the readyz sentinels now on develop.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "fix(pkg): classify PayloadTooLargeError as business, renumber sentine…",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T22:46:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e4e970de7473b8caff5f8e7e8fabdf9cf641988c",
"body": "integ_chaos_notice expanded empty, leaving a bare semicolon that aborted the recipe under /bin/sh; expand to a shell no-op.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "build(tracer): fix test-integration Makefile shell syntax :package:",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T19:56:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "29378859eb9360de27f172023096bb3179a95432",
"body": "Align ~460 assertions to the Huma/RFC 9457 problem+json contract: numeric codes (TRC-* retired), specific titles, 400->422 for business errors, and the corrected 404/422/400/413/431/504 statuses now produced by the fixes.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "test(tracer): re-sync integration tests to RFC 9457 contract :test_tube:",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T19:56:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "57e0ca500a5769bba729bace5536570415a5d118",
"body": "Surface pre-typed business errors from command handlers (IsBusinessError passthrough) so rule/limit not-found return 404 and invalid limit transitions return 422; propagate raw CEL compiler errors on activate for 400/0340-0341; timeouts to 504 and oversized body to 413.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "fix(tracer): map domain errors to correct HTTP status :bug:",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T19:56:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c99435c6686841b509a33f48affbbb8a7e9e7919",
"body": "…bug:\n\nAdd GatewayTimeoutError (504) and PayloadTooLargeError (413) typed errors with problem.go classify arms, a 431 arm in the Fiber error handler, and an additive top-level message field (populated only for 413/504). Purely additive for the shared error platform; ledger mappings unchanged.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "fix(pkg): add GatewayTimeout/PayloadTooLarge errors and 431 mapping :…",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T19:56:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9c3802033b1d65e068b930f56777c03b681b2a89",
"body": "…omedir\n\nfix(ledger): stage migrations at /home/nonroot to match CWD",
"is_bot": false,
"headline": "Merge pull request #2245 from LerianStudio/fix/migration-dockerfile-h…",
"author_name": "Ygohr Medeiros",
"author_login": "Ygohr",
"committed_at": "2026-07-21T19:48:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bd420261ce07b1cf64ae10d4866447ccdc388bf2",
"body": "…wrench:",
"is_bot": false,
"headline": "chore: merge branch 'develop' into fix/migration-dockerfile-homedir :…",
"author_name": "Ygohr Medeiros",
"author_login": "Ygohr",
"committed_at": "2026-07-21T19:35:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2bdd3dda47e39ab2e151fd901bdbd9c6df03994b",
"body": "…vice-segments\n\nfeat(pkg): restore per-product streaming topic segments",
"is_bot": false,
"headline": "Merge pull request #2241 from LerianStudio/feature/3388-streaming-ser…",
"author_name": "Andrei Matiazi Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T19:35:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "44fac8c3c061e050f7b4ad85656594edc886f720",
"body": "…D :bug:\n\nThe migrator resolves its source via filepath.Abs(os.Getwd()) on the CWD-relative components/ledger/migrations path. The :nonroot base runs with CWD /home/nonroot, so the prior WORKDIR / from #2239 did not realign the running process. Stage the migrations under /home/nonroot, pin WORKDIR to match, and drop the docker-compose working_dir override so local and container resolution agree.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "fix(ledger): stage migrations under /home/nonroot to match runtime CW…",
"author_name": "Ygohr Medeiros",
"author_login": "Ygohr",
"committed_at": "2026-07-21T19:28:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7d3293727337a51e4a0e0a75ecfe7e634b31cf69",
"body": null,
"is_bot": false,
"headline": "Merge branch 'develop' into feature/3388-streaming-service-segments",
"author_name": "Andrei Matiazi Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T18:43:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2fcdac6d5cbdc9e86b158bb3a796fdb3a2594489",
"body": "feat(tracer): extend /readyz with redis, tenant-manager, streaming",
"is_bot": false,
"headline": "Merge pull request #2240 from LerianStudio/feature/tracer-readyz-extend",
"author_name": "Andrei Matiazi Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T18:43:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "04347f762a85f54088b97d453a4124c37d6db8e6",
"body": null,
"is_bot": false,
"headline": "Merge branch 'develop' into feature/tracer-readyz-extend",
"author_name": "Andrei Matiazi Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T18:36:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a82a98684954b10a3061e28e81f21e9160a9d3ff",
"body": "…d-ref\n\nfix(ci): pin shared workflow ref to v1.46.5",
"is_bot": false,
"headline": "Merge pull request #2242 from LerianStudio/fix/release-workflow-share…",
"author_name": "Ygohr Medeiros",
"author_login": "Ygohr",
"committed_at": "2026-07-21T18:35:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "46fb87745da7c2eea645e1e474e2063ee29f8d73",
"body": "…nch does not exist)",
"is_bot": false,
"headline": "fix(ci): pin shared workflow ref to v1.46.5 (feat/midaz-e2e-tests bra…",
"author_name": "gandalf-at-lerian",
"author_login": "gandalf-at-lerian",
"committed_at": "2026-07-21T18:14:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1678e6d3ada1b8943335d11091c4940b22dba82f",
"body": "…orkdir\n\nfix(ledger): pin runtime WORKDIR to / so migrations resolve",
"is_bot": false,
"headline": "Merge pull request #2239 from LerianStudio/fix/dockerfile-migration-w…",
"author_name": "Ygohr Medeiros",
"author_login": "Ygohr",
"committed_at": "2026-07-21T18:05:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d24ea85a568c895b027f45a16844d119707c7d68",
"body": "Shorten the strmServiceName / strmHolderCreated{Keys,Forbidden} / holder-test comments to the behavioral contract per CLAUDE.md, dropping unit-test/bootstrap-internal narration. No code or assertion changes. Addresses CodeRabbit on #2241.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "test(tests): trim e2e streaming comments to behavioral :test_tube:",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T17:52:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d977c7506871a184be9341e45f05b66e9c7332b9",
"body": "Replace the glob-like lerian.streaming.tracer_{rule,limit}.* shorthand (not a valid Kafka topic name) with the explicit 12 tracer_rule.*/tracer_limit.* topics. Addresses CodeRabbit on #2241.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "docs(docs): list concrete tracer provisioning topics :books:",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T17:52:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2f9cb1f7f2b4eba5ab45ccb4558081826d62279f",
"body": "A pure exemption still sets packageAppliedID (calculate-fee.go sets it for charge and exemption); only feeApplied=true is omitted, and that guard suppresses fee-charge.applied. Fix the inaccurate 'carries neither' claim in fees-events.md and the emitFeesAppliedEvent comment. Addresses CodeRabbit on #2241.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "docs(docs): correct fee exemption suppression wording :books:",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T17:41:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d7e18dca15ec9be3d1a15b52ac5543f65dc8b14a",
"body": "Keep the topic in the holder streaming test's failure messages but drop the raw holder id / ce-subject values (identifiers must not land in logs). Assertion logic unchanged. Addresses CodeRabbit on #2241.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "test(tests): omit holder id from streaming diagnostics :test_tube:",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T17:41:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "01be958906b838e3bbe304b2d9cd0b333dd599a9",
"body": "Fix a stale e2e test whose premise (holder.* has no wire-contract event) predated CRM holder streaming being consolidated into the ledger binary. holder.created IS emitted on lerian.streaming.crm_holder.created with PII (name/document) redacted; the test now asserts that redacted-emit contract (renamed from TestStreamingHolderCreateEmitsNothing). Verified live against the running app. (#3388)\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "test(tests): assert crm_holder.created emits redacted event :test_tube:",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T17:30:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "238ff3a3282374f6e85bfb53cf459bc374096e6f",
"body": "Add a TopicName case for key ledger.created under service ledger, catching any future strip-logic regression that would corrupt it to ledger_.created. Deferred-review hardening for #3388.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "test(pkg): guard resource-equals-service topic no-op :test_tube:",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T17:30:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d4b7d8c9d18fcfd977cab838053d3c3ed55500ac",
"body": "Regenerate the redpanda-init topic list to the 61 topics the emitters actually route to (35 ledger_ + 7 fee_/fee_charge + 7 crm_ + 12 tracer_); the prior list was stale for every topic (missing service segment + hyphen-underscore fold). RouteRequired needs these to exist locally. (#3388)\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "fix(infra): provision per-product streaming topics :bug:",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T17:30:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1eb7f642a06c66f21a976b1d8b780bb63133cf8d",
"body": "Update fees/crm/tracer event docs and CLAUDE.md streaming convention to the restored per-product segments (fee_*/crm_*/tracer_*) and note the process-wide ce-source. (#3388)\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "docs(docs): align streaming docs with per-product topics :books:",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T17:30:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "13a04b5edbb11356397bb11854b7940d8b472c5a",
"body": "Add an independent expected-service map covering all 49 events so every route's service segment (ledger/fee/crm) is locked at unit speed, closing the tautology in TestMidazCatalogRoutesAssembly. Refresh stale fees.applied/fees-package comments to fee-charge.applied/fee-packages. Review-gate fixes for #3388; test/comment only.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "test(ledger): harden per-product streaming route lock :test_tube:",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T17:30:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e9870b404343eac4c6e54e686c0a6021263e2110",
"body": "Replace the single ledger service segment with a paired registry (routedDefinition) so ledger core stays 'ledger', fees route under 'fee', and CRM under 'crm'. Restore the pre-consolidation fee contract: ResourceTypes fee-packages / fee-billing-packages (plural), topics lerian.streaming.fee_packages\n[…]\nling_packages.*, and re-home fees.applied as fee-charge.applied. CRM emits crm_holder.* / crm_instrument.*. Definition struct, TopicName, ce-source and route keys unchanged. (#3388)\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "feat(ledger): route streaming topics per product :sparkles:",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T17:30:33Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d5d3f48e648b892aed78db1b9ba35bd5e3fc9429",
"body": "Route tracer topics through pkgStreaming.TopicName(\"tracer\", key) instead of a local service-less prefix, yielding lerian.streaming.tracer_rule.* / tracer_limit.* per the platform convention (#3388). Event Definitions, ce-source, keys and ce-type unchanged.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "feat(tracer): add service segment to streaming topics :sparkles:",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T17:30:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b32437fd5444b6832156073e0924abded44b94f0",
"body": "Fold the producing-service segment cleanly for resources already namespaced by the service (fee-packages under service fee -> fee_packages, not fee_fee_packages). No-op for ledger/crm/tracer keys. Restores the pre-consolidation fee topic contract for #3388.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "feat(pkg): strip leading service prefix in TopicName :sparkles:",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T17:30:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "de5948cf2d47f59743f2a3a76b7000c574c826bb",
"body": "Short-circuit each new probe adapter (redis, tenant-manager, streaming) on a canceled context before invoking the external dependency, returning the sanitized down-path. Addresses CodeRabbit review on PR #2240.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "fix(tracer): check ctx.Err() before /readyz dependency probes :bug:",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T17:21:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "64d149fd43480b17eb3734e00c497cc9ae5a63f9",
"body": "…parkles:\n\nGrow the readiness cycle from 2 to 5 probes. Redis and tenant-manager are multi-tenant-only (skipped in single-tenant); streaming is advisory (present in checks + metrics but never gates HTTP status, matching its non-blocking posture). Tenant-manager stays a hard gate with reachable-4xx classified as up. Re-adds the Reason contract field and registers the new dep labels for readyz metrics.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "feat(tracer): extend /readyz with redis, tenant-manager, streaming :s…",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T17:21:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c2e8853eaf07b381cd0eba63dc1065dbbe04d934",
"body": "…sparkles:\n\nAdd numeric sentinels 0493-0496 (redis connection/ping, tenant-manager unavailable, streaming unhealthy) and map them to ServiceUnavailableError (503), extending the existing readyz sentinel family for the new tracer /readyz probes.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "feat(pkg): add readyz service-unavailable sentinels for tracer deps :…",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-21T17:21:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "79f4b6733294d6de74ea51821f1e83729494bc33",
"body": "…wrench:",
"is_bot": false,
"headline": "chore: merge branch 'develop' into fix/dockerfile-migration-workdir :…",
"author_name": "Ygohr Medeiros",
"author_login": "Ygohr",
"committed_at": "2026-07-21T16:27:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8ec0b91c89c67a2165f0b75e496e2724db744ba8",
"body": "Add \"fiat\" as an accepted asset type alongside \"currency\" (issue #673).\nFiat assets are currency-equivalent, so they go through the same ISO-4217\ncurrency-code validation as currency assets. Also corrects the\ninvalid-type error message to list the actual accepted values.\n\nClaude-Session: https://claude.ai/code/session_01RcQLK4qK1kbpvXWjuAR3Xh",
"is_bot": false,
"headline": "feat(ledger): accept \"fiat\" as asset type (#2232)",
"author_name": "Fred Amaral",
"author_login": "fredcamaral",
"committed_at": "2026-07-21T16:21:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "723a8cb1013c79e4f6680e1bb697eb8aed22c8ba",
"body": "The distroless :nonroot base defaults WORKDIR to /home/nonroot, but the migrator resolves its source from the CWD-relative components/ledger/migrations/{onboarding,transaction} while the image stages those files at /components/ledger/migrations/... . Under the nonroot WORKDIR the relative path resolved to a nonexistent directory, so migrate failed with \"open .: permission denied\" and the pod crash-looped. Pinning WORKDIR to / realigns the relative path with the staged files.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "fix(ledger): pin runtime WORKDIR to / so migrations resolve :bug:",
"author_name": "Ygohr Medeiros",
"author_login": "Ygohr",
"committed_at": "2026-07-21T14:42:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "40ee460f6792f73b64331042c266afcd1ad9b8bf",
"body": "feat: consolidate tracer, fees & CRM into the midaz v4 monorepo",
"is_bot": false,
"headline": "Merge pull request #2159 from LerianStudio/feat/monorepo-consolidation",
"author_name": "Clara Tersi",
"author_login": "ClaraTersi",
"committed_at": "2026-07-21T13:30:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bd8a5e308360491fea4f42ac77f6c38754738e22",
"body": null,
"is_bot": false,
"headline": "chore: merge branch 'develop' into feat/monorepo-consolidation :wrench:",
"author_name": "Ygohr Medeiros",
"author_login": "Ygohr",
"committed_at": "2026-07-20T19:53:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "141f9914fb846977289c3eaac41788b29984bc2e",
"body": "…-sync) :wrench:\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "chore(deps): merge origin/develop into monorepo-consolidation (3rd re…",
"author_name": "Ygohr Medeiros",
"author_login": "Ygohr",
"committed_at": "2026-07-20T19:40:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9c4c9e9ede476cc6c2ce653c0502810c630c4a6f",
"body": "…s-v1.46.5\n\nchore(ci): bump github-actions-shared-workflows to v1.46.5",
"is_bot": false,
"headline": "Merge pull request #2228 from LerianStudio/chore/bump-shared-workflow…",
"author_name": "L. Bedatty",
"author_login": "bedatty",
"committed_at": "2026-07-20T18:53:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "545d38032563f3f01b78ef3f3b9fa8a8c5291316",
"body": "chore: update CHANGELOGs for midaz:v3.8.0",
"is_bot": false,
"headline": "Merge pull request #2230 from LerianStudio/chore/backmerge-main-v3.8.0",
"author_name": "Ygohr Medeiros",
"author_login": "Ygohr",
"committed_at": "2026-07-20T18:32:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c802d446c116e09f09fff12700ccc7654ec72259",
"body": null,
"is_bot": false,
"headline": "chore(release): backmerge main into develop for v3.8.0 :wrench:",
"author_name": "Ygohr Medeiros",
"author_login": "Ygohr",
"committed_at": "2026-07-20T18:23:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a36f1609efdd19b497fa9020d75129f0dc25f317",
"body": null,
"is_bot": false,
"headline": "chore(ci): trigger pipeline validation for shared-workflows bump",
"author_name": "Lucas Bedatty",
"author_login": "bedatty",
"committed_at": "2026-07-20T17:15:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d4ac1ccb6c626a0f25ff8863e6e424cb0ddaedf1",
"body": null,
"is_bot": false,
"headline": "chore(ci): bump github-actions-shared-workflows to v1.46.5",
"author_name": "Lucas Bedatty",
"author_login": "bedatty",
"committed_at": "2026-07-20T16:54:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eb175cd68ef0a3b2bcc7e919be6c45a216373287",
"body": "chore(ci): re-wire e2e against the fuzzing environment (single-tenant)",
"is_bot": false,
"headline": "Merge pull request #2227 from LerianStudio/chore/wire-e2e-fuzzing-st-run",
"author_name": "L. Bedatty",
"author_login": "bedatty",
"committed_at": "2026-07-19T17:56:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d93cb0ef15032d41df956eddabcaef0ce75966ad",
"body": null,
"is_bot": false,
"headline": "chore(release): Update CHANGELOGs for midaz:v3.8.0 [skip ci]",
"author_name": "lerian-studio",
"author_login": "lerian-studio",
"committed_at": "2026-07-17T21:48:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "998e9600d8af6e6c385a4c20c35b5cd8d33d99ea",
"body": null,
"is_bot": false,
"headline": "chore(release): backmerge main into develop [skip ci]",
"author_name": "lerian-studio",
"author_login": "lerian-studio",
"committed_at": "2026-07-17T21:44:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1d89a05d428f3cb88d854ee33e1345f1b3f40059",
"body": "chore: release v3.8.0",
"is_bot": false,
"headline": "Merge pull request #2226 from LerianStudio/release-candidate",
"author_name": "Ygohr Medeiros",
"author_login": "Ygohr",
"committed_at": "2026-07-17T21:42:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4dc5fb3dc19d42562705bbd46b192f5d25b4960e",
"body": "Re-enable the e2e job (reverted in #2222) pointing at the\nfeat/midaz-e2e-tests shared workflow, single-tenant. service_domain\ndefaults to fuzzing.lerian.net in the shared workflow. Runs with the\nraised access-manager rate limits (gitops #1649) and the LEDGER_URL fix\nso the crm module provisions via the ledger. Makefile touch triggers a\nbeta and builds both components.",
"is_bot": false,
"headline": "chore(ci): re-wire e2e against the fuzzing env (single-tenant)",
"author_name": "Lucas Bedatty",
"author_login": "bedatty",
"committed_at": "2026-07-17T21:41:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "941ca4c45a771d23a53e0279187cd6bfbf11cb5c",
"body": "chore: promote develop to RC",
"is_bot": false,
"headline": "Merge pull request #2224 from LerianStudio/develop",
"author_name": "Ygohr Medeiros",
"author_login": "Ygohr",
"committed_at": "2026-07-17T21:03:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "36ccd4f4fd1a6b39a222ac3f58071e87cf9f5336",
"body": "chore: sync dev x rc",
"is_bot": false,
"headline": "Merge pull request #2225 from LerianStudio/chore/sync-rc-dev",
"author_name": "Ygohr Medeiros",
"author_login": "Ygohr",
"committed_at": "2026-07-17T20:58:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7f6fc3b213bf36d47f65427a53fe4a93492f39d8",
"body": null,
"is_bot": false,
"headline": "chore: sync release-candidate history into develop :wrench:",
"author_name": "Ygohr Medeiros",
"author_login": "Ygohr",
"committed_at": "2026-07-17T20:56:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c3e67bf18216e2a264293bcd41eeda7c737c3c30",
"body": "revert(ci): unblock develop — drop e2e wiring, keep shared workflow at v1.46.4",
"is_bot": false,
"headline": "Merge pull request #2222 from LerianStudio/chore/revert-e2e-wiring-3",
"author_name": "L. Bedatty",
"author_login": "bedatty",
"committed_at": "2026-07-17T20:56:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c1a67ef93181ed5835c8dc9f74fe6a79f3627dc8",
"body": "chore: merge back main",
"is_bot": false,
"headline": "Merge pull request #2223 from LerianStudio/chore/main-back-merge",
"author_name": "Ygohr Medeiros",
"author_login": "Ygohr",
"committed_at": "2026-07-17T20:53:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "93cc0deb91214495d131df731c52ed84771bb03a",
"body": null,
"is_bot": false,
"headline": "chore: merge branch 'develop' into chore/main-back-merge :wrench:",
"author_name": "Ygohr Medeiros",
"author_login": "Ygohr",
"committed_at": "2026-07-17T20:50:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e00e996df6366c694fbd1459d9ad4f271719edc6",
"body": "…t v1.46.4\n\nRevert the e2e wiring in release.yml (from #2221), keeping only the CI\nreference on the latest released shared-workflow tag (v1.46.4). Every\nrelease run on develop currently fails in the e2e suite (rate-limit\ninvestigation in progress), blocking the pipeline. The e2e work stays\ntracked in shared-workflows PR #583 and will be re-wired once ready.",
"is_bot": false,
"headline": "revert(ci): unblock develop — drop e2e wiring, keep shared workflow a…",
"author_name": "Lucas Bedatty",
"author_login": "bedatty",
"committed_at": "2026-07-17T20:49:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cb8e09edf13b94250ac14e3587a26ebdd53c0f0c",
"body": null,
"is_bot": false,
"headline": "chore: merge branch 'main' into chore/main-back-merge :wrench:",
"author_name": "Ygohr Medeiros",
"author_login": "Ygohr",
"committed_at": "2026-07-17T20:28:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8b1e97981d34ebc15e4e56fe3645469037979c69",
"body": "chore(ci): wire e2e against the fuzzing environment (single-tenant)",
"is_bot": false,
"headline": "Merge pull request #2221 from LerianStudio/chore/wire-e2e-fuzzing-st",
"author_name": "L. Bedatty",
"author_login": "bedatty",
"committed_at": "2026-07-17T20:23:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cedc28f00b2ae9a6fbb43c6b2d6a812477131891",
"body": "Re-enable the e2e job pointing at the feat/midaz-e2e-tests shared\nworkflow, single-tenant. service_domain is not set here — the shared\nworkflow now defaults to fuzzing.lerian.net, so URLs resolve to\n<app>.dev-st.fuzzing.lerian.net. Touch the Makefile (a shared_path) so\nmerging cuts a beta that runs the suite against fuzzing (a different\ningress than dev-st, avoiding its rate limiter).",
"is_bot": false,
"headline": "chore(ci): wire e2e against the fuzzing environment (single-tenant)",
"author_name": "Lucas Bedatty",
"author_login": "bedatty",
"committed_at": "2026-07-17T20:16:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bb3b7b0cfe452276a40cf15b0efcd63710ab651d",
"body": "chore: generating release candidate",
"is_bot": false,
"headline": "Merge pull request #2219 from LerianStudio/develop",
"author_name": "Clara Tersi",
"author_login": "ClaraTersi",
"committed_at": "2026-07-17T19:55:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7e8733c322b9c3e2d271fddc524fe5d0ca2c3d23",
"body": "revert(ci): unblock develop — drop e2e wiring, keep shared workflow at v1.46.4",
"is_bot": false,
"headline": "Merge pull request #2220 from LerianStudio/chore/revert-e2e-wiring-2",
"author_name": "L. Bedatty",
"author_login": "bedatty",
"committed_at": "2026-07-17T19:47:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7405106cc91c15ef93f6e00ec7c57f282df84370",
"body": "…t v1.46.4\n\nThe e2e job points the release pipeline at the feat/midaz-e2e-tests\nbranch, whose suite step is still failing (tenant-auth/config work in\nprogress) and blocks every release run on develop. Revert the e2e\nwiring in release.yml, keeping only the CI reference on the latest\nreleased shared-workflow tag (v1.46.4). The e2e work stays tracked in\nshared-workflows PR #583 and will be re-wired once it ships a release.",
"is_bot": false,
"headline": "revert(ci): unblock develop — drop e2e wiring, keep shared workflow a…",
"author_name": "Lucas Bedatty",
"author_login": "bedatty",
"committed_at": "2026-07-17T19:46:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "04c658e17af5d0c0d0849c3f36dac71935406f78",
"body": "chore: rc update develop",
"is_bot": false,
"headline": "Merge pull request #2218 from LerianStudio/chore/rc-update-develop",
"author_name": "Andrei Matiazi Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-17T19:35:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4583ee6b7ecac40da4046ca24f4b0fe707767a9d",
"body": null,
"is_bot": false,
"headline": "chore: sync release-candidate history into develop :wrench:",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-17T19:26:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ef8d5296fe783fc6c5b7597b2417c734d5e1a3df",
"body": "…-followups\n\nrefactor(pkg): centralize streaming topic naming, address PR #2216 review",
"is_bot": false,
"headline": "Merge pull request #2217 from LerianStudio/fix/streaming-topic-review…",
"author_name": "Andrei Matiazi Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-17T19:24:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5aadbe507d2e3ac2fd5b01833fd41aa3f0668fa0",
"body": "…view :hammer:\n\nHoist the duplicated streamingTopicName helper + prefix const into pkg/streaming (TopicName/TopicPrefix); ledger and crm bootstrap now call pkgStreaming.TopicName(service, key). Fix the stale crm streaming_integration_test.go expectations and docs/streaming/ledger-events.md (both sti\n[…]\n-changed/overdraft), and a consumer-regex + no-hyphen invariant loop over all routes in ledger and crm; crm bijection test now calls the helper instead of recomputing the transform.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "refactor(pkg): centralize streaming topic naming, address PR #2216 re…",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-17T19:14:14Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "cf9d66b3c9b73696b4c0a8c546ea6b4fc03872d4",
"body": "…ervice-prefix\n\nrefactor(ledger): prefix streaming topics with service name",
"is_bot": false,
"headline": "Merge pull request #2216 from LerianStudio/refactor/streaming-topic-s…",
"author_name": "Clara Tersi",
"author_login": "ClaraTersi",
"committed_at": "2026-07-17T18:59:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5385e2eddc21d00d7678b9e04607c5851e141f4c",
"body": "Replace the inline topic-derivation expression in buildRoutes with a documented streamingTopicName helper (ledger + crm). Behavior unchanged; the helper's doc comment states the contract: the service is folded into segment 1 and hyphens become underscores ONLY on the wire topic name to satisfy the streaming-hub ingest regex, while route keys/ce-types keep their hyphens.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "refactor(ledger): extract streamingTopicName helper :hammer:",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-17T18:35:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1298af577d59260794653d61d49d56e30c0be012",
"body": "Topic Destination names change from midaz.<resource>.<event> to lerian.streaming.<service>_<resource>.<event> (service = ledger/crm), with hyphens in resource/event converted to underscores in the topic name only. Route keys and ResourceType/EventType stay hyphenated (lib-streaming route-key regex r\n[…]\nevent (including previously-hyphenated ones) matches the consumer regex. Covers ledger + crm bootstrap, their tests, event doc comments, CLAUDE.md, and docs/streaming/crm-events.md.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "refactor(ledger): prefix streaming topics with service name :hammer:",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-17T18:10:03Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ef4cbbddfa9f3a5ec5aad298dea580edd3297fd7",
"body": "chore(ci): trigger a shared-path release to run the e2e end-to-end",
"is_bot": false,
"headline": "Merge pull request #2215 from LerianStudio/chore/trigger-e2e-run",
"author_name": "L. Bedatty",
"author_login": "bedatty",
"committed_at": "2026-07-17T17:16:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3f42ea7077367b5bddf7b08fe0c443bcb648d3a6",
"body": "Touch the Makefile (a shared_path) to cut a fresh beta that picks up the\nlatest feat/midaz-e2e-tests shared workflow (AWS CLI install step) and\nthe runner DNS fix, building both components so both e2e modules run.",
"is_bot": false,
"headline": "chore(ci): trigger a shared-path release to run the e2e end-to-end",
"author_name": "Lucas Bedatty",
"author_login": "bedatty",
"committed_at": "2026-07-17T17:15:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a13d24386dd36cccfefc8a8b97e4772f28636abe",
"body": "…t-v2\n\nchore(ci): re-wire end-to-end tests job to validate the pipeline",
"is_bot": false,
"headline": "Merge pull request #2214 from LerianStudio/chore/wire-e2e-tests-repor…",
"author_name": "L. Bedatty",
"author_login": "bedatty",
"committed_at": "2026-07-17T14:48:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b6f53449b152c22a59414e72f16d91fe3fb595f3",
"body": "…sting\n\nMakefile is a shared_path, so this forces both components to build and\nexercises both e2e modules on the next release.",
"is_bot": false,
"headline": "chore(ci): touch Makefile to trigger a shared-path release for e2e te…",
"author_name": "Lucas Bedatty",
"author_login": "bedatty",
"committed_at": "2026-07-17T14:34:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bd1f37c5f1e451574576d76000844bc2a931890c",
"body": "Re-enable the e2e job (ledger + crm, single-tenant) pointing at the\nfeat/midaz-e2e-tests shared workflow branch, now that the E2E_REPO_TOKEN\nhas read access to LerianStudio/end-to-end. Merging cuts a beta that\nexercises the e2e end-to-end. To be pinned to a released tag once\nshared-workflows PR #583 ships.",
"is_bot": false,
"headline": "chore(ci): re-wire end-to-end tests job to validate the pipeline",
"author_name": "Lucas Bedatty",
"author_login": "bedatty",
"committed_at": "2026-07-17T14:00:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "26c0ec5ab824b460b68e6d5a9cfdb0456e87b6b4",
"body": "chore: promote develop to release candidate",
"is_bot": false,
"headline": "Merge pull request #2211 from LerianStudio/develop",
"author_name": "Andrei Matiazi Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-17T13:54:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ab5c1ba563ed26d5a119c30fa2dcef7e9ddb59d8",
"body": "revert(ci): unblock develop — drop e2e wiring, bump shared workflow to v1.46.4",
"is_bot": false,
"headline": "Merge pull request #2213 from LerianStudio/chore/revert-e2e-wiring",
"author_name": "L. Bedatty",
"author_login": "bedatty",
"committed_at": "2026-07-17T13:48:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "353c6ede14c4690681400ed4e3c26152a6ae5ee4",
"body": "chore: sync release-candidate history into develop",
"is_bot": false,
"headline": "Merge pull request #2212 from LerianStudio/chore/rc-into-develop",
"author_name": "Andrei Matiazi Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-17T13:48:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "80aae1206491d9e9be6c281de68155abf1dbd700",
"body": "…o v1.46.4\n\nThe e2e job wired in #2209 pointed the release pipeline at the\nfeat/midaz-e2e-tests branch of the shared workflow, whose e2e step fails\n(pending token/config work) and blocks every release run on develop.\n\nRevert the release.yml e2e wiring back to the pre-#2209 state, keeping\nonly the CI reference bumped to the latest released shared-workflow tag\n(v1.46.4). The e2e work stays tracked in shared-workflows PR #583 and\nwill be re-wired once it ships a release.",
"is_bot": false,
"headline": "revert(ci): unblock develop — drop e2e wiring, bump shared workflow t…",
"author_name": "Lucas Bedatty",
"author_login": "bedatty",
"committed_at": "2026-07-17T13:44:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f9551d6adfef63e57d389f2872fcdc507b45bcf6",
"body": null,
"is_bot": false,
"headline": "chore: sync release-candidate history into develop :wrench:",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-17T13:29:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cd334b159594a40cae40b7d888c981b6e73c1eec",
"body": "refactor: rename topic prefix from lerian.streaming. to midaz.",
"is_bot": false,
"headline": "Merge pull request #2210 from LerianStudio/refactor/midaz-topic-prefix",
"author_name": "Clara Tersi",
"author_login": "ClaraTersi",
"committed_at": "2026-07-16T21:31:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "227893cfe7d7307b1302daa6ac367dca0522eced",
"body": null,
"is_bot": false,
"headline": "Merge branch 'develop' into refactor/midaz-topic-prefix",
"author_name": "Clara Tersi",
"author_login": "ClaraTersi",
"committed_at": "2026-07-16T21:26:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "836830b6ab42ffc2ed6201f1e35682bf697cc3f0",
"body": "chore(ci): wire end-to-end tests job reporting to Palantir",
"is_bot": false,
"headline": "Merge pull request #2209 from LerianStudio/chore/wire-e2e-tests-report",
"author_name": "L. Bedatty",
"author_login": "bedatty",
"committed_at": "2026-07-16T21:25:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3a63a1fe04497e2f577dfed4405477180f3d1999",
"body": "…:memo:\n\nFixes four CodeRabbit review comments: (1) correct event count from 38 to 35 (8 resources × 3 + 7 balance + 4 transaction = 35, not 38); (2) correct ce-subject exception count from four to five (4 balance events + transaction.reverted); (3) clarify balance.created field count as 15 or 16 wi\n[…]\nthe Excluded by design section to acknowledge that legalDocument, description, and metadata may carry human-identifying data and Midaz does not apply producer-level redaction today.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "docs(streaming): address CodeRabbit feedback on ledger event catalog …",
"author_name": "Clara Tersi",
"author_login": "ClaraTersi",
"committed_at": "2026-07-16T21:15:07Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "496114499b1b4082e15765ffa8248032e572ad1c",
"body": "… release\n\nThe release change-gate treats .github/* as docs/meta (ignore_globs), so a\nrelease.yml-only change would skip the release and never exercise the new\ne2e job. Makefile is a shared_path (and not ignored), so touching it fires\nthe release and builds both components, running both e2e modules. Removing\nthe stray trailing blank lines leaves a single POSIX-correct final newline.",
"is_bot": false,
"headline": "chore(ci): normalize Makefile trailing newline to trigger shared-path…",
"author_name": "Lucas Bedatty",
"author_login": "bedatty",
"committed_at": "2026-07-16T21:09:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8f26f0aa537460b8064eb00abe99ff11b38b8545",
"body": "Mirrors docs/streaming/crm-events.md for the ledger component. Covers all 38 registered events (organization, ledger, account, asset, portfolio, segment, operation-route, transaction-route, balance, transaction) with per-resource payload contracts, field counts from the JSONShape tests, trigger use \n[…]\nd composite subject, balance.config-changed two-branch emission, transaction lifecycle discriminator, suppression notes, scale/money-field exclusions). Uses the midaz. topic prefix.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "docs(streaming): add ledger event catalog :memo:",
"author_name": "Clara Tersi",
"author_login": "ClaraTersi",
"committed_at": "2026-07-16T20:54:24Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e14cee360bd4758b76e236eef59b29c838e467db",
"body": "…daz. :hammer:\n\nUpdates the streamingTopicPrefix const in both ledger and CRM bootstrap from \"lerian.streaming.\" to \"midaz.\" so all lib-streaming producer topics now take the shape midaz.<resource>.<event>. Syncs the two test assertion literals, the three event-doc comments, and the CLAUDE.md + docs/streaming/crm-events.md references.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "refactor(streaming): rename topic prefix from lerian.streaming. to mi…",
"author_name": "Clara Tersi",
"author_login": "ClaraTersi",
"committed_at": "2026-07-16T20:38:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5abae58a9744efde68ec2686699ddd023a32477e",
"body": null,
"is_bot": false,
"headline": "chore(ci): drop pending TODO comment, reformat s3_uploads as multi-line",
"author_name": "Lucas Bedatty",
"author_login": "bedatty",
"committed_at": "2026-07-16T18:48:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b819263be44deeceae52557a7823ee71e58441b7",
"body": "Enable the new e2e_tests job added by go-release.yml (ledger + crm\nmodules, single-tenant), which runs the LerianStudio/end-to-end suite\nagainst the deployed environment post-gitops-update and uploads the\nAllure report to lerian-e2e-artifacts, the S3 bucket Palantir\n(self-service-testing) already re\n[…]\now reference at the\nfeat/midaz-e2e-tests branch (LerianStudio/github-actions-shared-workflows#583)\nuntil that PR merges and cuts a release tag.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(ci): wire end-to-end tests job reporting to Palantir",
"author_name": "Lucas Bedatty",
"author_login": "bedatty",
"committed_at": "2026-07-16T18:29:55Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "71ad495aa862fc76a4a055a0cbb3453fded5507e",
"body": "…-sasl-delegation\n\nfeat(deps): adopt lib-streaming v1.9.0 TLS/SASL",
"is_bot": false,
"headline": "Merge pull request #2208 from LerianStudio/feature/3154-streaming-tls…",
"author_name": "Andrei Matiazi Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-16T17:30:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "70a77f4802e2e4b0f1acdcb206974cd9aaabe214",
"body": "Bump lib-streaming to v1.9.0 and delegate streaming transport auth\n(TLS + SASL) to its Builder in the ledger and crm bootstrap via\nTLSFromConfig/SASLFromConfig.\n\nRemoves midaz's hand-rolled SASL wiring (resolveSASLMechanism, the\nfranz-go sasl/plain/scram imports, and the StreamingSASL* Config\nfields\n[…]\nven wiring-seam tests (SASL-without-TLS fails closed;\nenabled happy path) and updates .env.example to the canonical\nSTREAMING_SASL_ALLOW_PLAINTEXT plus the new STREAMING_TLS_* vars.\n\nX-Lerian-Ref: 0x1",
"is_bot": false,
"headline": "feat(deps): adopt lib-streaming v1.9.0 TLS/SASL :sparkles:",
"author_name": "Andrei Schopf",
"author_login": "andreimatiazi",
"committed_at": "2026-07-16T17:16:57Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9c0cf498381cd3a035467eaa36cf58762cd89e32",
"body": "feat(ledger,crm): adopt lib-service-discovery v1.1.0",
"is_bot": false,
"headline": "Merge pull request #2207 from LerianStudio/feature/libsd-v1-upgrade",
"author_name": "Ygohr Medeiros",
"author_login": "Ygohr",
"committed_at": "2026-07-16T17:00:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e0f3b5442b54710170bf07881ef10a41bb0e50c2",
"body": null,
"is_bot": false,
"headline": "chore: bump lib-streaming :wrench:",
"author_name": "Ygohr Medeiros",
"author_login": "Ygohr",
"committed_at": "2026-07-16T15:53:46Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 100,
"commits_last_year": 3950,
"latest_release_at": "2026-07-22T14:50:35Z",
"latest_release_tag": "v4.0.0-beta.8",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 52,
"days_since_latest_release": 0,
"mean_days_between_releases": 0.3
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 87,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"ecosystem": {
"packages": [
{
"name": "github.com/LerianStudio/midaz/v4",
"exists": true,
"license": null,
"keywords": [],
"ecosystem": "go",
"matches_repo": true,
"registry_url": "https://pkg.go.dev/github.com/LerianStudio/midaz/v4",
"is_deprecated": false,
"latest_version": "v4.0.0-beta.8",
"repository_url": "https://github.com/LerianStudio/midaz",
"versions_count": 8,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": null,
"latest_published_at": "2026-07-22T14:48:44Z",
"latest_version_yanked": null,
"days_since_latest_publish": 0
}
]
},
"popularity": {
"forks": 92,
"stars": 424,
"watchers": 27,
"fork_history": {
"days": [
{
"date": "2024-06-07",
"count": 1
},
{
"date": "2024-10-08",
"count": 1
},
{
"date": "2024-10-31",
"count": 1
},
{
"date": "2024-11-23",
"count": 1
},
{
"date": "2024-11-25",
"count": 1
},
{
"date": "2024-12-13",
"count": 15
},
{
"date": "2024-12-16",
"count": 9
},
{
"date": "2024-12-18",
"count": 1
},
{
"date": "2025-01-07",
"count": 1
},
{
"date": "2025-01-08",
"count": 1
},
{
"date": "2025-01-20",
"count": 1
},
{
"date": "2025-01-22",
"count": 1
},
{
"date": "2025-01-24",
"count": 1
},
{
"date": "2025-01-28",
"count": 1
},
{
"date": "2025-01-29",
"count": 1
},
{
"date": "2025-02-13",
"count": 1
},
{
"date": "2025-02-18",
"count": 1
},
{
"date": "2025-03-02",
"count": 1
},
{
"date": "2025-03-10",
"count": 1
},
{
"date": "2025-03-20",
"count": 1
},
{
"date": "2025-04-08",
"count": 1
},
{
"date": "2025-05-09",
"count": 1
},
{
"date": "2025-05-13",
"count": 1
},
{
"date": "2025-05-24",
"count": 1
},
{
"date": "2025-06-19",
"count": 1
},
{
"date": "2025-06-20",
"count": 1
},
{
"date": "2025-07-10",
"count": 1
},
{
"date": "2025-07-11",
"count": 1
},
{
"date": "2025-07-30",
"count": 1
},
{
"date": "2025-08-17",
"count": 1
},
{
"date": "2025-08-21",
"count": 1
},
{
"date": "2025-08-22",
"count": 1
},
{
"date": "2025-08-23",
"count": 1
},
{
"date": "2025-09-11",
"count": 1
},
{
"date": "2025-09-15",
"count": 1
},
{
"date": "2025-09-19",
"count": 1
},
{
"date": "2025-10-14",
"count": 1
},
{
"date": "2025-10-21",
"count": 1
},
{
"date": "2025-11-02",
"count": 1
},
{
"date": "2025-11-04",
"count": 1
},
{
"date": "2025-11-17",
"count": 2
},
{
"date": "2025-11-26",
"count": 1
},
{
"date": "2025-12-01",
"count": 1
},
{
"date": "2025-12-02",
"count": 1
},
{
"date": "2025-12-23",
"count": 1
},
{
"date": "2025-12-29",
"count": 1
},
{
"date": "2026-01-17",
"count": 1
},
{
"date": "2026-01-19",
"count": 1
},
{
"date": "2026-01-25",
"count": 1
},
{
"date": "2026-01-30",
"count": 1
},
{
"date": "2026-02-04",
"count": 1
},
{
"date": "2026-02-13",
"count": 1
},
{
"date": "2026-02-26",
"count": 1
},
{
"date": "2026-03-14",
"count": 1
},
{
"date": "2026-03-16",
"count": 1
},
{
"date": "2026-04-11",
"count": 1
},
{
"date": "2026-04-16",
"count": 1
},
{
"date": "2026-04-24",
"count": 1
},
{
"date": "2026-05-04",
"count": 2
},
{
"date": "2026-05-06",
"count": 1
},
{
"date": "2026-05-07",
"count": 1
},
{
"date": "2026-05-20",
"count": 1
},
{
"date": "2026-06-02",
"count": 1
},
{
"date": "2026-06-07",
"count": 1
},
{
"date": "2026-06-15",
"count": 3
}
],
"complete": true,
"collected": 91,
"total_forks": 92
},
"star_history": null,
"open_issues_and_prs": 14
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": true,
"has_dockerfile": true,
"has_mcp_signal": false,
"bootstrap_files": [
"Makefile",
"components/infra/Makefile",
"components/ledger/Makefile",
"components/tracer/Makefile"
],
"api_schema_files": [
"proto/reservation/v1/reservation.proto"
],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [
"go.mod"
],
"largest_source_bytes": 180994,
"source_files_sampled": 1883,
"oversized_source_files": 30,
"agent_instruction_files": [
"AGENTS.md",
"CLAUDE.md",
"components/tracer/AGENTS.md",
"components/tracer/CLAUDE.md"
],
"agent_instruction_max_bytes": 25294
},
"dependencies": {
"manifests": [
"go.mod"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "brace-expansion",
"direct": false,
"version": "2.1.1",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-3jxr-9vmj-r5cp"
],
"fixed_version": "5.0.7",
"advisory_count": 1,
"oldest_advisory_days": 1
},
{
"name": "brace-expansion",
"direct": false,
"version": "5.0.6",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-3jxr-9vmj-r5cp"
],
"fixed_version": "5.0.7",
"advisory_count": 1,
"oldest_advisory_days": 1
},
{
"name": "fast-uri",
"direct": false,
"version": "3.1.2",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-4c8g-83qw-93j6",
"GHSA-v2hh-gcrm-f6hx"
],
"fixed_version": "4.1.1",
"advisory_count": 2,
"oldest_advisory_days": 1
},
{
"name": "js-yaml",
"direct": false,
"version": "4.1.1",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-52cp-r559-cp3m",
"GHSA-h67p-54hq-rp68"
],
"fixed_version": "4.3.0",
"advisory_count": 2,
"oldest_advisory_days": 37
},
{
"name": "undici",
"direct": false,
"version": "6.24.0",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-35p6-xmwp-9g52",
"GHSA-g8m3-5g58-fq7m",
"GHSA-p88m-4jfj-68fv",
"GHSA-vxpw-j846-p89q"
],
"fixed_version": "8.5.0",
"advisory_count": 4,
"oldest_advisory_days": 33
},
{
"name": "@opentelemetry/core",
"direct": false,
"version": "2.6.1",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 5.3,
"advisory_ids": [
"GHSA-8988-4f7v-96qf"
],
"fixed_version": "2.8.0",
"advisory_count": 1,
"oldest_advisory_days": 36
},
{
"name": "protobufjs",
"direct": false,
"version": "7.6.3",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 5.3,
"advisory_ids": [
"GHSA-j3f2-48v5-ccww"
],
"fixed_version": "8.6.6",
"advisory_count": 1,
"oldest_advisory_days": 1
},
{
"name": "dompurify",
"direct": false,
"version": "3.4.9",
"severity": "low",
"ecosystem": "npm",
"cvss_score": 0,
"advisory_ids": [
"GHSA-c2j3-45gr-mqc4",
"GHSA-cmwh-pvxp-8882"
],
"fixed_version": "3.4.12",
"advisory_count": 2,
"oldest_advisory_days": 34
},
{
"name": "golang.org/x/crypto",
"direct": false,
"version": "v0.53.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5932"
],
"fixed_version": null,
"advisory_count": 1,
"oldest_advisory_days": 14
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"low": 1,
"high": 5,
"unknown": 1,
"moderate": 2
},
"advisory_count": 15,
"affected_count": 9,
"assessed_count": 395,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"go"
],
"dependencies": [
{
"name": "github.com/LerianStudio/lib-auth/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.9.0"
},
{
"name": "github.com/Masterminds/squirrel",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.5.4"
},
{
"name": "github.com/antlr4-go/antlr/v4",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v4.13.1"
},
{
"name": "github.com/go-playground/locales",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.14.1"
},
{
"name": "github.com/go-playground/universal-translator",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.18.1"
},
{
"name": "github.com/gofiber/fiber/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.52.14"
},
{
"name": "github.com/jackc/pgx/v5",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v5.10.0"
},
{
"name": "github.com/lib/pq",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.12.3"
},
{
"name": "github.com/rabbitmq/amqp091-go",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.11.0"
},
{
"name": "github.com/redis/go-redis/v9",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v9.20.0"
},
{
"name": "github.com/shopspring/decimal",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.4.0"
},
{
"name": "github.com/stretchr/testify",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.11.1"
},
{
"name": "github.com/testcontainers/testcontainers-go",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.42.0"
},
{
"name": "github.com/vmihailenco/msgpack/v5",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v5.4.1"
},
{
"name": "go.opentelemetry.io/otel",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.44.0"
},
{
"name": "go.opentelemetry.io/otel/trace",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.44.0"
},
{
"name": "go.uber.org/mock",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.6.0"
},
{
"name": "google.golang.org/grpc",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.82.1"
},
{
"name": "google.golang.org/protobuf",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.36.11"
},
{
"name": "github.com/bxcodec/dbresolver/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.2.1"
},
{
"name": "github.com/golang-jwt/jwt/v5",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v5.3.1"
},
{
"name": "github.com/golang-migrate/migrate/v4",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v4.19.1"
},
{
"name": "github.com/joho/godotenv",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.5.1"
},
{
"name": "github.com/sony/gobreaker",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.0.0"
},
{
"name": "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.69.0"
},
{
"name": "go.opentelemetry.io/otel/sdk",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.44.0"
},
{
"name": "go.opentelemetry.io/otel/sdk/metric",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.44.0"
},
{
"name": "golang.org/x/text",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.39.0"
},
{
"name": "github.com/DATA-DOG/go-sqlmock",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.5.2"
},
{
"name": "github.com/LerianStudio/lib-commons/v5",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v5.10.0"
},
{
"name": "github.com/LerianStudio/lib-observability",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.1.0"
},
{
"name": "github.com/LerianStudio/lib-service-discovery",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.1.0"
},
{
"name": "github.com/LerianStudio/lib-streaming",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.9.0"
},
{
"name": "github.com/Shopify/toxiproxy/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.12.0"
},
{
"name": "github.com/alicebob/miniredis/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.38.0"
},
{
"name": "github.com/cucumber/godog",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.15.1"
},
{
"name": "github.com/danielgtaylor/huma/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.38.0"
},
{
"name": "github.com/docker/go-connections",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.7.0"
},
{
"name": "github.com/go-playground/validator/v10",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v10.30.3"
},
{
"name": "github.com/gofiber/adaptor/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.2.1"
},
{
"name": "github.com/gofiber/contrib/otelfiber/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.2.3"
},
{
"name": "github.com/google/cel-go",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.28.1"
},
{
"name": "github.com/hashicorp/vault/api",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.23.0"
},
{
"name": "github.com/moby/moby/api",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.54.2"
},
{
"name": "github.com/moby/moby/client",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.4.1"
},
{
"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/prometheus/client_model",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.6.2"
},
{
"name": "github.com/prometheus/otlptranslator",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.0.0"
},
{
"name": "github.com/testcontainers/testcontainers-go/modules/postgres",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.42.0"
},
{
"name": "github.com/testcontainers/testcontainers-go/modules/toxiproxy",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.42.0"
},
{
"name": "github.com/tink-crypto/tink-go/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.7.0"
},
{
"name": "github.com/twmb/franz-go",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.21.3"
},
{
"name": "github.com/twmb/franz-go/pkg/kadm",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.18.0"
},
{
"name": "github.com/twmb/franz-go/pkg/kmsg",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.13.1"
},
{
"name": "go.mongodb.org/mongo-driver/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.6.0"
},
{
"name": "go.opentelemetry.io/otel/exporters/prometheus",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.66.0"
},
{
"name": "go.uber.org/automaxprocs",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.6.0"
},
{
"name": "go.uber.org/goleak",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.3.0"
},
{
"name": "golang.org/x/sync",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.21.0"
},
{
"name": "gopkg.in/yaml.v3",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v3.0.1"
},
{
"name": "github.com/go-playground/validator",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v9.31.0+incompatible"
},
{
"name": "github.com/google/uuid",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.6.0"
},
{
"name": "github.com/iancoleman/strcase",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.3.0"
},
{
"name": "github.com/valyala/fasthttp",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.71.0"
},
{
"name": "gopkg.in/go-playground/validator.v9",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v9.31.0"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "github.com/alicebob/miniredis/v2",
"direct": true,
"version": "v2.38.0",
"ecosystem": "go"
},
{
"name": "github.com/antlr4-go/antlr/v4",
"direct": true,
"version": "v4.13.1",
"ecosystem": "go"
},
{
"name": "github.com/bxcodec/dbresolver/v2",
"direct": true,
"version": "v2.2.1",
"ecosystem": "go"
},
{
"name": "github.com/cucumber/godog",
"direct": true,
"version": "v0.15.1",
"ecosystem": "go"
},
{
"name": "github.com/danielgtaylor/huma/v2",
"direct": true,
"version": "v2.38.0",
"ecosystem": "go"
},
{
"name": "github.com/data-dog/go-sqlmock",
"direct": true,
"version": "v1.5.2",
"ecosystem": "go"
},
{
"name": "github.com/docker/go-connections",
"direct": true,
"version": "v0.7.0",
"ecosystem": "go"
},
{
"name": "github.com/go-playground/locales",
"direct": true,
"version": "v0.14.1",
"ecosystem": "go"
},
{
"name": "github.com/go-playground/universal-translator",
"direct": true,
"version": "v0.18.1",
"ecosystem": "go"
},
{
"name": "github.com/go-playground/validator",
"direct": true,
"version": "v9.31.0+incompatible",
"ecosystem": "go"
},
{
"name": "github.com/go-playground/validator/v10",
"direct": true,
"version": "v10.30.3",
"ecosystem": "go"
},
{
"name": "github.com/gofiber/adaptor/v2",
"direct": true,
"version": "v2.2.1",
"ecosystem": "go"
},
{
"name": "github.com/gofiber/contrib/otelfiber/v2",
"direct": true,
"version": "v2.2.3",
"ecosystem": "go"
},
{
"name": "github.com/gofiber/fiber/v2",
"direct": true,
"version": "v2.52.14",
"ecosystem": "go"
},
{
"name": "github.com/golang-jwt/jwt/v5",
"direct": true,
"version": "v5.3.1",
"ecosystem": "go"
},
{
"name": "github.com/golang-migrate/migrate/v4",
"direct": true,
"version": "v4.19.1",
"ecosystem": "go"
},
{
"name": "github.com/google/cel-go",
"direct": true,
"version": "v0.28.1",
"ecosystem": "go"
},
{
"name": "github.com/google/uuid",
"direct": true,
"version": "v1.6.0",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/vault/api",
"direct": true,
"version": "v1.23.0",
"ecosystem": "go"
},
{
"name": "github.com/iancoleman/strcase",
"direct": true,
"version": "v0.3.0",
"ecosystem": "go"
},
{
"name": "github.com/jackc/pgx/v5",
"direct": true,
"version": "v5.10.0",
"ecosystem": "go"
},
{
"name": "github.com/joho/godotenv",
"direct": true,
"version": "v1.5.1",
"ecosystem": "go"
},
{
"name": "github.com/lerianstudio/lib-auth/v2",
"direct": true,
"version": "v2.9.0",
"ecosystem": "go"
},
{
"name": "github.com/lerianstudio/lib-commons/v5",
"direct": true,
"version": "v5.10.0",
"ecosystem": "go"
},
{
"name": "github.com/lerianstudio/lib-observability",
"direct": true,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/lerianstudio/lib-service-discovery",
"direct": true,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/lerianstudio/lib-streaming",
"direct": true,
"version": "v1.9.0",
"ecosystem": "go"
},
{
"name": "github.com/lib/pq",
"direct": true,
"version": "v1.12.3",
"ecosystem": "go"
},
{
"name": "github.com/masterminds/squirrel",
"direct": true,
"version": "v1.5.4",
"ecosystem": "go"
},
{
"name": "github.com/moby/moby/api",
"direct": true,
"version": "v1.54.2",
"ecosystem": "go"
},
{
"name": "github.com/moby/moby/client",
"direct": true,
"version": "v0.4.1",
"ecosystem": "go"
},
{
"name": "github.com/pkg/errors",
"direct": true,
"version": "v0.9.1",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/client_golang",
"direct": true,
"version": "v1.23.2",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/client_model",
"direct": true,
"version": "v0.6.2",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/otlptranslator",
"direct": true,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/rabbitmq/amqp091-go",
"direct": true,
"version": "v1.11.0",
"ecosystem": "go"
},
{
"name": "github.com/redis/go-redis/v9",
"direct": true,
"version": "v9.20.0",
"ecosystem": "go"
},
{
"name": "github.com/shopify/toxiproxy/v2",
"direct": true,
"version": "v2.12.0",
"ecosystem": "go"
},
{
"name": "github.com/shopspring/decimal",
"direct": true,
"version": "v1.4.0",
"ecosystem": "go"
},
{
"name": "github.com/sony/gobreaker",
"direct": true,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/stretchr/testify",
"direct": true,
"version": "v1.11.1",
"ecosystem": "go"
},
{
"name": "github.com/testcontainers/testcontainers-go",
"direct": true,
"version": "v0.42.0",
"ecosystem": "go"
},
{
"name": "github.com/testcontainers/testcontainers-go/modules/postgres",
"direct": true,
"version": "v0.42.0",
"ecosystem": "go"
},
{
"name": "github.com/testcontainers/testcontainers-go/modules/toxiproxy",
"direct": true,
"version": "v0.42.0",
"ecosystem": "go"
},
{
"name": "github.com/tink-crypto/tink-go/v2",
"direct": true,
"version": "v2.7.0",
"ecosystem": "go"
},
{
"name": "github.com/twmb/franz-go",
"direct": true,
"version": "v1.21.3",
"ecosystem": "go"
},
{
"name": "github.com/twmb/franz-go/pkg/kadm",
"direct": true,
"version": "v1.18.0",
"ecosystem": "go"
},
{
"name": "github.com/twmb/franz-go/pkg/kmsg",
"direct": true,
"version": "v1.13.1",
"ecosystem": "go"
},
{
"name": "github.com/valyala/fasthttp",
"direct": true,
"version": "v1.71.0",
"ecosystem": "go"
},
{
"name": "github.com/vmihailenco/msgpack/v5",
"direct": true,
"version": "v5.4.1",
"ecosystem": "go"
},
{
"name": "go.mongodb.org/mongo-driver/v2",
"direct": true,
"version": "v2.6.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc",
"direct": true,
"version": "v0.69.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel",
"direct": true,
"version": "v1.44.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/exporters/prometheus",
"direct": true,
"version": "v0.66.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/sdk",
"direct": true,
"version": "v1.44.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/sdk/metric",
"direct": true,
"version": "v1.44.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/trace",
"direct": true,
"version": "v1.44.0",
"ecosystem": "go"
},
{
"name": "go.uber.org/automaxprocs",
"direct": true,
"version": "v1.6.0",
"ecosystem": "go"
},
{
"name": "go.uber.org/goleak",
"direct": true,
"version": "v1.3.0",
"ecosystem": "go"
},
{
"name": "go.uber.org/mock",
"direct": true,
"version": "v0.6.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/sync",
"direct": true,
"version": "v0.21.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/text",
"direct": true,
"version": "v0.39.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/grpc",
"direct": true,
"version": "v1.82.1",
"ecosystem": "go"
},
{
"name": "google.golang.org/protobuf",
"direct": true,
"version": "v1.36.11",
"ecosystem": "go"
},
{
"name": "gopkg.in/go-playground/validator.v9",
"direct": true,
"version": "v9.31.0",
"ecosystem": "go"
},
{
"name": "gopkg.in/yaml.v3",
"direct": true,
"version": "v3.0.1",
"ecosystem": "go"
},
{
"name": "cel.dev/expr",
"direct": false,
"version": "v0.25.2",
"ecosystem": "go"
},
{
"name": "cloud.google.com/go/auth",
"direct": false,
"version": "v0.20.0",
"ecosystem": "go"
},
{
"name": "cloud.google.com/go/auth/oauth2adapt",
"direct": false,
"version": "v0.2.8",
"ecosystem": "go"
},
{
"name": "cloud.google.com/go/compute/metadata",
"direct": false,
"version": "v0.9.0",
"ecosystem": "go"
},
{
"name": "cloud.google.com/go/iam",
"direct": false,
"version": "v1.11.0",
"ecosystem": "go"
},
{
"name": "dario.cat/mergo",
"direct": false,
"version": "v1.0.2",
"ecosystem": "go"
},
{
"name": "github.com/andybalholm/brotli",
"direct": false,
"version": "v1.2.1",
"ecosystem": "go"
},
{
"name": "github.com/armon/go-metrics",
"direct": false,
"version": "v0.4.1",
"ecosystem": "go"
},
{
"name": "github.com/azure/go-ansiterm",
"direct": false,
"version": "v0.0.0-20250102033503-faa5f7b0171c",
"ecosystem": "go"
},
{
"name": "github.com/beorn7/perks",
"direct": false,
"version": "v1.0.1",
"ecosystem": "go"
},
{
"name": "github.com/cenkalti/backoff/v4",
"direct": false,
"version": "v4.3.0",
"ecosystem": "go"
},
{
"name": "github.com/cenkalti/backoff/v5",
"direct": false,
"version": "v5.0.3",
"ecosystem": "go"
},
{
"name": "github.com/cespare/xxhash/v2",
"direct": false,
"version": "v2.3.0",
"ecosystem": "go"
},
{
"name": "github.com/clipperhouse/uax29/v2",
"direct": false,
"version": "v2.7.0",
"ecosystem": "go"
},
{
"name": "github.com/containerd/errdefs",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/containerd/errdefs/pkg",
"direct": false,
"version": "v0.3.0",
"ecosystem": "go"
},
{
"name": "github.com/containerd/log",
"direct": false,
"version": "v0.1.0",
"ecosystem": "go"
},
{
"name": "github.com/containerd/platforms",
"direct": false,
"version": "v0.2.1",
"ecosystem": "go"
},
{
"name": "github.com/cpuguy83/dockercfg",
"direct": false,
"version": "v0.3.2",
"ecosystem": "go"
},
{
"name": "github.com/cucumber/gherkin/go/v26",
"direct": false,
"version": "v26.2.0",
"ecosystem": "go"
},
{
"name": "github.com/cucumber/messages/go/v21",
"direct": false,
"version": "v21.0.1",
"ecosystem": "go"
},
{
"name": "github.com/davecgh/go-spew",
"direct": false,
"version": "v1.1.2-0.20180830191138-d8f796af33cc",
"ecosystem": "go"
},
{
"name": "github.com/distribution/reference",
"direct": false,
"version": "v0.6.0",
"ecosystem": "go"
},
{
"name": "github.com/docker/go-units",
"direct": false,
"version": "v0.5.0",
"ecosystem": "go"
},
{
"name": "github.com/ebitengine/purego",
"direct": false,
"version": "v0.10.1",
"ecosystem": "go"
},
{
"name": "github.com/fatih/color",
"direct": false,
"version": "v1.18.0",
"ecosystem": "go"
},
{
"name": "github.com/felixge/httpsnoop",
"direct": false,
"version": "v1.0.4",
"ecosystem": "go"
},
{
"name": "github.com/gabriel-vasile/mimetype",
"direct": false,
"version": "v1.4.13",
"ecosystem": "go"
},
{
"name": "github.com/go-jose/go-jose/v4",
"direct": false,
"version": "v4.1.4",
"ecosystem": "go"
},
{
"name": "github.com/go-logr/logr",
"direct": false,
"version": "v1.4.3",
"ecosystem": "go"
},
{
"name": "github.com/go-logr/stdr",
"direct": false,
"version": "v1.2.2",
"ecosystem": "go"
},
{
"name": "github.com/go-ole/go-ole",
"direct": false,
"version": "v1.3.0",
"ecosystem": "go"
},
{
"name": "github.com/go-redsync/redsync/v4",
"direct": false,
"version": "v4.16.0",
"ecosystem": "go"
},
{
"name": "github.com/go-viper/mapstructure/v2",
"direct": false,
"version": "v2.4.0",
"ecosystem": "go"
},
{
"name": "github.com/gofiber/fiber/v3",
"direct": false,
"version": "v3.3.0",
"ecosystem": "go"
},
{
"name": "github.com/gofiber/schema",
"direct": false,
"version": "v1.7.1",
"ecosystem": "go"
},
{
"name": "github.com/gofiber/utils/v2",
"direct": false,
"version": "v2.0.6",
"ecosystem": "go"
},
{
"name": "github.com/gofrs/uuid",
"direct": false,
"version": "v4.3.1+incompatible",
"ecosystem": "go"
},
{
"name": "github.com/google/s2a-go",
"direct": false,
"version": "v0.1.9",
"ecosystem": "go"
},
{
"name": "github.com/googleapis/enterprise-certificate-proxy",
"direct": false,
"version": "v0.3.16",
"ecosystem": "go"
},
{
"name": "github.com/googleapis/gax-go/v2",
"direct": false,
"version": "v2.22.0",
"ecosystem": "go"
},
{
"name": "github.com/grpc-ecosystem/grpc-gateway/v2",
"direct": false,
"version": "v2.29.0",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/consul/api",
"direct": false,
"version": "v1.34.2",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/errwrap",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-cleanhttp",
"direct": false,
"version": "v0.5.2",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-hclog",
"direct": false,
"version": "v1.6.3",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-immutable-radix",
"direct": false,
"version": "v1.3.1",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-memdb",
"direct": false,
"version": "v1.3.4",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-multierror",
"direct": false,
"version": "v1.1.1",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-retryablehttp",
"direct": false,
"version": "v0.7.8",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-rootcerts",
"direct": false,
"version": "v1.0.2",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-secure-stdlib/parseutil",
"direct": false,
"version": "v0.2.0",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-secure-stdlib/strutil",
"direct": false,
"version": "v0.1.2",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-sockaddr",
"direct": false,
"version": "v1.0.7",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/golang-lru",
"direct": false,
"version": "v0.5.4",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/hcl",
"direct": false,
"version": "v1.0.1-vault-7",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/serf",
"direct": false,
"version": "v0.10.1",
"ecosystem": "go"
},
{
"name": "github.com/jackc/pgpassfile",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/jackc/pgservicefile",
"direct": false,
"version": "v0.0.0-20240606120523-5a60cdf6a761",
"ecosystem": "go"
},
{
"name": "github.com/jackc/puddle/v2",
"direct": false,
"version": "v2.2.2",
"ecosystem": "go"
},
{
"name": "github.com/klauspost/compress",
"direct": false,
"version": "v1.18.6",
"ecosystem": "go"
},
{
"name": "github.com/lann/builder",
"direct": false,
"version": "v0.0.0-20180802200727-47ae307949d0",
"ecosystem": "go"
},
{
"name": "github.com/lann/ps",
"direct": false,
"version": "v0.0.0-20150810152359-62de8c46ede0",
"ecosystem": "go"
},
{
"name": "github.com/leodido/go-urn",
"direct": false,
"version": "v1.4.0",
"ecosystem": "go"
},
{
"name": "github.com/lufia/plan9stats",
"direct": false,
"version": "v0.0.0-20260330125221-c963978e514e",
"ecosystem": "go"
},
{
"name": "github.com/magiconair/properties",
"direct": false,
"version": "v1.8.10",
"ecosystem": "go"
},
{
"name": "github.com/mattn/go-colorable",
"direct": false,
"version": "v0.1.15",
"ecosystem": "go"
},
{
"name": "github.com/mattn/go-isatty",
"direct": false,
"version": "v0.0.22",
"ecosystem": "go"
},
{
"name": "github.com/mattn/go-runewidth",
"direct": false,
"version": "v0.0.24",
"ecosystem": "go"
},
{
"name": "github.com/microsoft/go-winio",
"direct": false,
"version": "v0.6.2",
"ecosystem": "go"
},
{
"name": "github.com/mitchellh/go-homedir",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/mitchellh/mapstructure",
"direct": false,
"version": "v1.5.0",
"ecosystem": "go"
},
{
"name": "github.com/moby/docker-image-spec",
"direct": false,
"version": "v1.3.1",
"ecosystem": "go"
},
{
"name": "github.com/moby/go-archive",
"direct": false,
"version": "v0.2.0",
"ecosystem": "go"
},
{
"name": "github.com/moby/patternmatcher",
"direct": false,
"version": "v0.6.1",
"ecosystem": "go"
},
{
"name": "github.com/moby/sys/sequential",
"direct": false,
"version": "v0.7.0",
"ecosystem": "go"
},
{
"name": "github.com/moby/sys/user",
"direct": false,
"version": "v0.4.0",
"ecosystem": "go"
},
{
"name": "github.com/moby/sys/userns",
"direct": false,
"version": "v0.1.0",
"ecosystem": "go"
},
{
"name": "github.com/moby/term",
"direct": false,
"version": "v0.5.2",
"ecosystem": "go"
},
{
"name": "github.com/munnerz/goautoneg",
"direct": false,
"version": "v0.0.0-20191010083416-a7dc8b61c822",
"ecosystem": "go"
},
{
"name": "github.com/opencontainers/go-digest",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/opencontainers/image-spec",
"direct": false,
"version": "v1.1.1",
"ecosystem": "go"
},
{
"name": "github.com/philhofer/fwd",
"direct": false,
"version": "v1.2.0",
"ecosystem": "go"
},
{
"name": "github.com/pierrec/lz4/v4",
"direct": false,
"version": "v4.1.27",
"ecosystem": "go"
},
{
"name": "github.com/pmezard/go-difflib",
"direct": false,
"version": "v1.0.1-0.20181226105442-5d4384ee4fb2",
"ecosystem": "go"
},
{
"name": "github.com/power-devops/perfstat",
"direct": false,
"version": "v0.0.0-20240221224432-82ca36839d55",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/common",
"direct": false,
"version": "v0.68.1",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/procfs",
"direct": false,
"version": "v0.20.1",
"ecosystem": "go"
},
{
"name": "github.com/ryanuber/go-glob",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/shirou/gopsutil",
"direct": false,
"version": "v3.21.11+incompatible",
"ecosystem": "go"
},
{
"name": "github.com/shirou/gopsutil/v4",
"direct": false,
"version": "v4.26.5",
"ecosystem": "go"
},
{
"name": "github.com/sirupsen/logrus",
"direct": false,
"version": "v1.9.4",
"ecosystem": "go"
},
{
"name": "github.com/spf13/pflag",
"direct": false,
"version": "v1.0.10",
"ecosystem": "go"
},
{
"name": "github.com/tinylib/msgp",
"direct": false,
"version": "v1.6.4",
"ecosystem": "go"
},
{
"name": "github.com/tklauser/go-sysconf",
"direct": false,
"version": "v0.4.0",
"ecosystem": "go"
},
{
"name": "github.com/tklauser/numcpus",
"direct": false,
"version": "v0.12.0",
"ecosystem": "go"
},
{
"name": "github.com/valyala/bytebufferpool",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/vmihailenco/tagparser/v2",
"direct": false,
"version": "v2.0.0",
"ecosystem": "go"
},
{
"name": "github.com/xdg-go/pbkdf2",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/xdg-go/scram",
"direct": false,
"version": "v1.2.0",
"ecosystem": "go"
},
{
"name": "github.com/xdg-go/stringprep",
"direct": false,
"version": "v1.0.4",
"ecosystem": "go"
},
{
"name": "github.com/youmark/pkcs8",
"direct": false,
"version": "v0.0.0-20240726163527-a2c0da244d78",
"ecosystem": "go"
},
{
"name": "github.com/yuin/gopher-lua",
"direct": false,
"version": "v1.1.2",
"ecosystem": "go"
},
{
"name": "github.com/yusufpapurcu/wmi",
"direct": false,
"version": "v1.2.4",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/auto/sdk",
"direct": false,
"version": "v1.2.1",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/contrib",
"direct": false,
"version": "v1.44.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/contrib/bridges/otelzap",
"direct": false,
"version": "v0.19.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",
"direct": false,
"version": "v0.69.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc",
"direct": false,
"version": "v0.20.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc",
"direct": false,
"version": "v1.44.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace",
"direct": false,
"version": "v1.44.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc",
"direct": false,
"version": "v1.44.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/log",
"direct": false,
"version": "v0.20.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/metric",
"direct": false,
"version": "v1.44.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/sdk/log",
"direct": false,
"version": "v0.20.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/proto/otlp",
"direct": false,
"version": "v1.10.0",
"ecosystem": "go"
},
{
"name": "go.uber.org/atomic",
"direct": false,
"version": "v1.11.0",
"ecosystem": "go"
},
{
"name": "go.uber.org/multierr",
"direct": false,
"version": "v1.11.0",
"ecosystem": "go"
},
{
"name": "go.uber.org/zap",
"direct": false,
"version": "v1.28.0",
"ecosystem": "go"
},
{
"name": "go.yaml.in/yaml/v3",
"direct": false,
"version": "v3.0.4",
"ecosystem": "go"
},
{
"name": "golang.org/x/crypto",
"direct": false,
"version": "v0.53.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/exp",
"direct": false,
"version": "v0.0.0-20260603202125-055de637280b",
"ecosystem": "go"
},
{
"name": "golang.org/x/mod",
"direct": false,
"version": "v0.37.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/net",
"direct": false,
"version": "v0.56.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/oauth2",
"direct": false,
"version": "v0.36.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/sys",
"direct": false,
"version": "v0.46.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/time",
"direct": false,
"version": "v0.15.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/api",
"direct": false,
"version": "v0.283.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/genproto/googleapis/api",
"direct": false,
"version": "v0.0.0-20260526163538-3dc84a4a5aaa",
"ecosystem": "go"
},
{
"name": "google.golang.org/genproto/googleapis/rpc",
"direct": false,
"version": "v0.0.0-20260526163538-3dc84a4a5aaa",
"ecosystem": "go"
},
{
"name": "gopkg.in/go-playground/assert.v1",
"direct": false,
"version": "v1.2.1",
"ecosystem": "go"
},
{
"name": "@babel/code-frame",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-identifier",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/runtime",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@emotion/is-prop-valid",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "@emotion/memoize",
"direct": false,
"version": "0.9.0",
"ecosystem": "npm"
},
{
"name": "@exodus/schemasafe",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "@faker-js/faker",
"direct": false,
"version": "7.6.0",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/momoa",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "@noble/hashes",
"direct": false,
"version": "1.8.0",
"ecosystem": "npm"
},
{
"name": "@nodable/entities",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/api",
"direct": false,
"version": "1.9.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/api-logs",
"direct": false,
"version": "0.214.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/context-async-hooks",
"direct": false,
"version": "2.6.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/core",
"direct": false,
"version": "2.6.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/exporter-trace-otlp-http",
"direct": false,
"version": "0.214.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/otlp-exporter-base",
"direct": false,
"version": "0.214.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/otlp-transformer",
"direct": false,
"version": "0.214.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/resources",
"direct": false,
"version": "2.6.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/sdk-logs",
"direct": false,
"version": "0.214.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/sdk-metrics",
"direct": false,
"version": "2.6.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/sdk-trace-base",
"direct": false,
"version": "2.6.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/sdk-trace-node",
"direct": false,
"version": "2.6.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/semantic-conventions",
"direct": false,
"version": "1.40.0",
"ecosystem": "npm"
},
{
"name": "@protobufjs/aspromise",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@protobufjs/base64",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@protobufjs/codegen",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "@protobufjs/eventemitter",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@protobufjs/fetch",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@protobufjs/float",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@protobufjs/inquire",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@protobufjs/path",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@protobufjs/pool",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@protobufjs/utf8",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@redocly/ajv",
"direct": false,
"version": "8.11.2",
"ecosystem": "npm"
},
{
"name": "@redocly/ajv",
"direct": false,
"version": "8.18.1",
"ecosystem": "npm"
},
{
"name": "@redocly/ajv",
"direct": false,
"version": "8.18.3",
"ecosystem": "npm"
},
{
"name": "@redocly/cli",
"direct": false,
"version": "2.32.2",
"ecosystem": "npm"
},
{
"name": "@redocly/cli-otel",
"direct": false,
"version": "0.3.1",
"ecosystem": "npm"
},
{
"name": "@redocly/config",
"direct": false,
"version": "0.22.0",
"ecosystem": "npm"
},
{
"name": "@redocly/config",
"direct": false,
"version": "0.49.0",
"ecosystem": "npm"
},
{
"name": "@redocly/openapi-core",
"direct": false,
"version": "1.34.15",
"ecosystem": "npm"
},
{
"name": "@redocly/openapi-core",
"direct": false,
"version": "2.32.2",
"ecosystem": "npm"
},
{
"name": "@redocly/respect-core",
"direct": false,
"version": "2.32.2",
"ecosystem": "npm"
},
{
"name": "@types/json-schema",
"direct": false,
"version": "7.0.15",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "25.9.3",
"ecosystem": "npm"
},
{
"name": "@types/trusted-types",
"direct": false,
"version": "2.0.7",
"ecosystem": "npm"
},
{
"name": "agent-base",
"direct": false,
"version": "7.1.4",
"ecosystem": "npm"
},
{
"name": "ajv-formats",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "anynum",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "better-ajv-errors",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "5.0.6",
"ecosystem": "npm"
},
{
"name": "call-me-maybe",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "camelize",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "classnames",
"direct": false,
"version": "2.5.1",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "7.0.4",
"ecosystem": "npm"
},
{
"name": "clsx",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "colorette",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "colorette",
"direct": false,
"version": "2.0.20",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "9.5.0",
"ecosystem": "npm"
},
{
"name": "cookie",
"direct": false,
"version": "0.7.2",
"ecosystem": "npm"
},
{
"name": "core-js",
"direct": false,
"version": "3.49.0",
"ecosystem": "npm"
},
{
"name": "css-color-keywords",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "css-to-react-native",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "csstype",
"direct": false,
"version": "3.2.3",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "4.4.3",
"ecosystem": "npm"
},
{
"name": "decko",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "dompurify",
"direct": false,
"version": "3.4.9",
"ecosystem": "npm"
},
{
"name": "dotenv",
"direct": false,
"version": "16.4.7",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "es6-promise",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "escalade",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "eventemitter3",
"direct": false,
"version": "5.0.4",
"ecosystem": "npm"
},
{
"name": "fast-deep-equal",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "fast-safe-stringify",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "fast-uri",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "fast-xml-builder",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "fast-xml-parser",
"direct": false,
"version": "5.8.0",
"ecosystem": "npm"
},
{
"name": "foreach",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "get-caller-file",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "13.0.6",
"ecosystem": "npm"
},
{
"name": "handlebars",
"direct": false,
"version": "4.7.9",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "http2-client",
"direct": false,
"version": "1.3.5",
"ecosystem": "npm"
},
{
"name": "https-proxy-agent",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "inherits",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "is-fullwidth-code-point",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "js-levenshtein",
"direct": false,
"version": "1.1.6",
"ecosystem": "npm"
},
{
"name": "js-tokens",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "json-pointer",
"direct": false,
"version": "0.6.2",
"ecosystem": "npm"
},
{
"name": "json-schema-to-ts",
"direct": false,
"version": "2.7.2",
"ecosystem": "npm"
},
{
"name": "json-schema-traverse",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "jsonpath-rfc9535",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "jsonpointer",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "leven",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "long",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "loose-envify",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "11.5.1",
"ecosystem": "npm"
},
{
"name": "lunr",
"direct": false,
"version": "2.3.9",
"ecosystem": "npm"
},
{
"name": "mark.js",
"direct": false,
"version": "8.11.1",
"ecosystem": "npm"
},
{
"name": "marked",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "10.2.5",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "5.1.9",
"ecosystem": "npm"
},
{
"name": "minimist",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "minipass",
"direct": false,
"version": "7.1.3",
"ecosystem": "npm"
},
{
"name": "mobx",
"direct": false,
"version": "6.16.1",
"ecosystem": "npm"
},
{
"name": "mobx-react",
"direct": false,
"version": "9.2.0",
"ecosystem": "npm"
},
{
"name": "mobx-react-lite",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "neo-async",
"direct": false,
"version": "2.6.2",
"ecosystem": "npm"
},
{
"name": "node-fetch",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "node-fetch-h2",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "node-readfiles",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "oas-kit-common",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "oas-linter",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "oas-resolver",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "oas-schema-walker",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "oas-validator",
"direct": false,
"version": "5.0.8",
"ecosystem": "npm"
},
{
"name": "object-assign",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "openapi-sampler",
"direct": false,
"version": "1.7.4",
"ecosystem": "npm"
},
{
"name": "outdent",
"direct": false,
"version": "0.8.0",
"ecosystem": "npm"
},
{
"name": "path-browserify",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "path-expression-matcher",
"direct": false,
"version": "1.5.0",
"ecosystem": "npm"
},
{
"name": "path-scurry",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "perfect-scrollbar",
"direct": false,
"version": "1.5.6",
"ecosystem": "npm"
},
{
"name": "picocolors",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "pluralize",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "polished",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "postcss-value-parser",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "prismjs",
"direct": false,
"version": "1.30.0",
"ecosystem": "npm"
},
{
"name": "prop-types",
"direct": false,
"version": "15.8.1",
"ecosystem": "npm"
},
{
"name": "protobufjs",
"direct": false,
"version": "7.6.3",
"ecosystem": "npm"
},
{
"name": "queue-microtask",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "randombytes",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "react",
"direct": false,
"version": "19.2.7",
"ecosystem": "npm"
},
{
"name": "react-dom",
"direct": false,
"version": "19.2.7",
"ecosystem": "npm"
},
{
"name": "react-is",
"direct": false,
"version": "16.13.1",
"ecosystem": "npm"
},
{
"name": "react-tabs",
"direct": false,
"version": "6.1.1",
"ecosystem": "npm"
},
{
"name": "readable-stream",
"direct": false,
"version": "3.6.2",
"ecosystem": "npm"
},
{
"name": "redoc",
"direct": false,
"version": "2.5.3",
"ecosystem": "npm"
},
{
"name": "reftools",
"direct": false,
"version": "1.1.9",
"ecosystem": "npm"
},
{
"name": "require-directory",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "require-from-string",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "safe-buffer",
"direct": false,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "scheduler",
"direct": false,
"version": "0.27.0",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.8.4",
"ecosystem": "npm"
},
{
"name": "set-cookie-parser",
"direct": false,
"version": "2.7.2",
"ecosystem": "npm"
},
{
"name": "should",
"direct": false,
"version": "13.2.3",
"ecosystem": "npm"
},
{
"name": "should-equal",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "should-format",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "should-type",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "should-type-adaptors",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "should-util",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "simple-websocket",
"direct": false,
"version": "9.1.0",
"ecosystem": "npm"
},
{
"name": "slugify",
"direct": false,
"version": "1.4.7",
"ecosystem": "npm"
},
{
"name": "source-map",
"direct": false,
"version": "0.6.1",
"ecosystem": "npm"
},
{
"name": "stickyfill",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "4.2.3",
"ecosystem": "npm"
},
{
"name": "string_decoder",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "strnum",
"direct": false,
"version": "2.4.0",
"ecosystem": "npm"
},
{
"name": "styled-components",
"direct": false,
"version": "6.4.2",
"ecosystem": "npm"
},
{
"name": "stylis",
"direct": false,
"version": "4.3.6",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "swagger2openapi",
"direct": false,
"version": "7.0.8",
"ecosystem": "npm"
},
{
"name": "tr46",
"direct": false,
"version": "0.0.3",
"ecosystem": "npm"
},
{
"name": "ts-algebra",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "uglify-js",
"direct": false,
"version": "3.19.3",
"ecosystem": "npm"
},
{
"name": "ulid",
"direct": false,
"version": "2.4.0",
"ecosystem": "npm"
},
{
"name": "ulid",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "undici",
"direct": false,
"version": "6.24.0",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "7.24.6",
"ecosystem": "npm"
},
{
"name": "uri-js-replace",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "url-template",
"direct": false,
"version": "2.0.8",
"ecosystem": "npm"
},
{
"name": "use-sync-external-store",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "util-deprecate",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "uuid",
"direct": false,
"version": "14.0.0",
"ecosystem": "npm"
},
{
"name": "webidl-conversions",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "whatwg-url",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "wordwrap",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "ws",
"direct": false,
"version": "7.5.11",
"ecosystem": "npm"
},
{
"name": "xml-naming",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "y18n",
"direct": false,
"version": "5.0.8",
"ecosystem": "npm"
},
{
"name": "yaml",
"direct": false,
"version": "1.10.3",
"ecosystem": "npm"
},
{
"name": "yaml-ast-parser",
"direct": false,
"version": "0.0.43",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "17.0.1",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "20.2.9",
"ecosystem": "npm"
}
],
"collected": true,
"truncated": false,
"total_count": 395,
"direct_count": 66,
"indirect_count": 329
}
},
"maintainership": {
"issues": {
"open_prs": 7,
"merged_prs": 1374,
"open_issues": 7,
"closed_ratio": 0.987,
"closed_issues": 514,
"closed_unmerged_prs": 338
},
"bus_factor": 2,
"bot_contributors": 3,
"top_contributors": [
{
"type": "User",
"login": "ClaraTersi",
"commits": 2091,
"avatar_url": "https://avatars.githubusercontent.com/u/537136?v=4"
},
{
"type": "User",
"login": "MartinezAvellan",
"commits": 1736,
"avatar_url": "https://avatars.githubusercontent.com/u/2437999?v=4"
},
{
"type": "User",
"login": "lerian-studio",
"commits": 680,
"avatar_url": "https://avatars.githubusercontent.com/u/164238338?v=4"
},
{
"type": "User",
"login": "fredcamaral",
"commits": 539,
"avatar_url": "https://avatars.githubusercontent.com/u/72324628?v=4"
},
{
"type": "User",
"login": "Ygohr",
"commits": 517,
"avatar_url": "https://avatars.githubusercontent.com/u/20357811?v=4"
},
{
"type": "User",
"login": "qnen",
"commits": 286,
"avatar_url": "https://avatars.githubusercontent.com/u/34200450?v=4"
},
{
"type": "User",
"login": "maxwelbm",
"commits": 267,
"avatar_url": "https://avatars.githubusercontent.com/u/52722027?v=4"
},
{
"type": "User",
"login": "caioaletroca",
"commits": 261,
"avatar_url": "https://avatars.githubusercontent.com/u/21264708?v=4"
},
{
"type": "User",
"login": "lfbarrile01",
"commits": 185,
"avatar_url": "https://avatars.githubusercontent.com/u/81171774?v=4"
},
{
"type": "User",
"login": "jeffersonrodrigues92",
"commits": 160,
"avatar_url": "https://avatars.githubusercontent.com/u/4447880?v=4"
}
],
"contributors_sampled": 34,
"top_contributor_share": 0.281
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"openapi-regen.yml",
"pr-validation.yml",
"release-notification.yml",
"release.yml",
"routine.yml"
],
"has_docs_dir": true,
"linter_configs": [
".golangci.yml"
],
"has_editorconfig": false,
"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": 5,
"reason": "branch protection is not maximal on development and all release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 10,
"reason": "8 out of 8 merged PRs checked by a CI test -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 10,
"reason": "all changesets reviewed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 6 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": 10,
"reason": "30 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10",
"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": 3,
"reason": "dependency not pinned by hash detected -- score normalized to 3",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 9,
"reason": "SAST tool is not run on all commits -- score normalized to 9",
"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": 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": "14 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "ac7f4c4630689c8de2153362eaf0c7c5b06db54e",
"ran_at": "2026-07-22T19:44:27Z",
"aggregate_score": 6.7,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": true,
"has_dependabot_config": true
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-22T14:50:59Z",
"oldest_open_prs": [
{
"number": 2158,
"created_at": "2026-06-22T19:45:08Z",
"last_comment_at": "2026-07-20T04:15:28Z",
"last_comment_author": "lerian-studio"
},
{
"number": 2233,
"created_at": "2026-07-21T13:31:46Z",
"last_comment_at": "2026-07-21T13:38:35Z",
"last_comment_author": "lerian-studio"
},
{
"number": 2234,
"created_at": "2026-07-21T13:31:55Z",
"last_comment_at": "2026-07-21T13:36:20Z",
"last_comment_author": "lerian-studio"
},
{
"number": 2235,
"created_at": "2026-07-21T13:31:56Z",
"last_comment_at": "2026-07-21T13:38:35Z",
"last_comment_author": "lerian-studio"
},
{
"number": 2236,
"created_at": "2026-07-21T13:32:58Z",
"last_comment_at": "2026-07-21T13:37:26Z",
"last_comment_author": "lerian-studio"
},
{
"number": 2237,
"created_at": "2026-07-21T13:33:18Z",
"last_comment_at": "2026-07-21T13:35:45Z",
"last_comment_author": "lerian-studio"
},
{
"number": 2248,
"created_at": "2026-07-22T14:22:54Z",
"last_comment_at": "2026-07-22T14:26:10Z",
"last_comment_author": "lerian-studio"
}
],
"last_merged_pr_at": "2026-07-22T14:48:45Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 678,
"created_at": "2025-04-07T20:33:42Z",
"last_comment_at": "2026-06-29T04:31:49Z",
"last_comment_author": "lerian-studio"
},
{
"number": 688,
"created_at": "2025-04-09T11:47:43Z",
"last_comment_at": "2026-06-29T04:31:47Z",
"last_comment_author": "lerian-studio"
},
{
"number": 1810,
"created_at": "2026-02-10T13:29:45Z",
"last_comment_at": "2026-06-29T04:31:40Z",
"last_comment_author": "lerian-studio"
},
{
"number": 1977,
"created_at": "2026-03-24T18:43:28Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1978,
"created_at": "2026-03-24T18:43:28Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 2011,
"created_at": "2026-03-31T14:11:31Z",
"last_comment_at": "2026-06-29T04:31:35Z",
"last_comment_author": "lerian-studio"
},
{
"number": 2013,
"created_at": "2026-03-31T14:18:18Z",
"last_comment_at": "2026-06-29T04:31:32Z",
"last_comment_author": "lerian-studio"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/LerianStudio/midaz",
"host": "github.com",
"name": "midaz",
"owner": "LerianStudio"
},
"metrics": {
"overall": {
"key": "overall",
"band": "good",
"name": "Overall health",
"note": null,
"notes": [],
"value": 83,
"inputs": {
"security": 74,
"vitality": 96,
"community": 76,
"governance": 78,
"engineering": 86
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "excellent",
"name": "Vitality",
"value": 96,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "excellent",
"name": "Development activity",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"commits_last_year": 3950,
"human_commit_share": 1,
"days_since_last_push": 0,
"active_weeks_last_year": 52
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "52/52 weeks with commits",
"points": 36,
"status": "met",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 52
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "3950 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 3950
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"releases_count": 100,
"latest_release_tag": "v4.0.0-beta.8",
"releases_from_tags": false,
"days_since_latest_release": 0,
"mean_days_between_releases": 0.3
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "100 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 100
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~0.3 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 0.3
}
}
],
"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": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 0,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 0 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 0
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "good",
"name": "Community & Adoption",
"value": 76,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "moderate",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 67,
"inputs": {
"forks": 92,
"stars": 424,
"watchers": 27,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "424 stars",
"points": 42.6,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 424
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "92 forks",
"points": 16.3,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 92
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "27 watchers",
"points": 7.9,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 27
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "excellent",
"name": "Community health",
"note": null,
"notes": [],
"value": 86,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "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": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 13.5,
"status": "met",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 6.3,
"status": "met",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "good",
"name": "Sustainability & Governance",
"value": 78,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "moderate",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 65,
"inputs": {
"bus_factor": 2,
"contributors_sampled": 34,
"top_contributor_share": 0.281
},
"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 28% of commits",
"points": 16.2,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 28
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "34 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 34
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 6 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "excellent",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 92,
"inputs": {
"merged_prs": 1374,
"open_issues": 7,
"closed_issues": 514,
"issue_closed_ratio": 0.987,
"closed_unmerged_prs": 338
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "99% of issues closed",
"points": 46.1,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 99
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "1374/1712 decided PRs merged",
"points": 30.7,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 1374,
"decided": 1712
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "all changesets reviewed",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 64,
"inputs": {
"followers": 204,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "LerianStudio",
"public_repos": 42,
"account_age_days": 1002
},
"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": "204 followers of LerianStudio",
"points": 16.6,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 204,
"login": "LerianStudio"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "42 public repos, account ~2 yr old",
"points": 17.4,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 42
}
},
{
"code": "account_age_years",
"params": {
"years": 2
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"github.com/LerianStudio/midaz/v4"
],
"ecosystems": "go",
"any_deprecated": false,
"min_days_since_publish": 0
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on go",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "go"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 0 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 0
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "8 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 8
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "excellent",
"name": "Engineering Quality",
"value": 86,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "good",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 84,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "5 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 5
}
}
],
"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": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "8 out of 8 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "excellent",
"name": "Documentation",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"topics": [
"accounting",
"cloud-native",
"core-banking",
"cqrs",
"double-entry-accounting",
"financial-infrastructure",
"fintech",
"golang",
"hexagonal-architecture",
"ledger",
"microservices",
"multi-currency",
"transactions",
"source-available"
],
"has_wiki": false,
"homepage": "https://docs.lerian.studio",
"has_readme": true,
"has_docs_dir": true,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://docs.lerian.studio",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": "14 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 14
}
}
],
"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": "good",
"name": "Security",
"value": 74,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Packaging. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"packaging"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 67,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 17,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 1,
"scorecard_aggregate": 6.7
},
"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 is not maximal on development and all release branches",
"points": 3.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "8 out of 8 merged PRs checked by a CI test -- score normalized to 10",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "all changesets reviewed",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 6 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": "30 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"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 3",
"points": 1.5,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 9",
"points": 4.5,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "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": "14 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 395 resolved dependencies against OSV. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"indirect_dependencies_free_of_known_advisories",
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 395
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 15,
"affected_packages": 9,
"assessed_packages": 395,
"unassessed_packages": 0,
"affected_by_severity": "high 5, moderate 2, low 1, unknown 1",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "transitive set not separable from development and test dependencies in this scope",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_scope_not_separable",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 395,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 11
},
"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": 84,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "excellent",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"has_llms_txt": true,
"legible_history_share": 0.97,
"agent_instruction_files": [
"AGENTS.md",
"CLAUDE.md",
"components/tracer/AGENTS.md",
"components/tracer/CLAUDE.md"
],
"agent_instruction_max_bytes": 25294
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "AGENTS.md, CLAUDE.md, components/tracer/AGENTS.md, components/tracer/CLAUDE.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "AGENTS.md, CLAUDE.md, components/tracer/AGENTS.md, components/tracer/CLAUDE.md"
}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": "llms.txt present",
"points": 15,
"status": "met",
"details": [
{
"code": "llms_txt_present",
"params": {}
}
],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "97 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 97,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "good",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 82,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"go.sum",
"package-lock.json"
],
"has_dockerfile": true,
"typed_language": true,
"bootstrap_files": [
"Makefile",
"components/infra/Makefile",
"components/ledger/Makefile",
"components/tracer/Makefile"
],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [],
"agent_commit_share": 0.01,
"toolchain_manifests": [
"go.mod"
],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "Makefile, components/infra/Makefile, components/ledger/Makefile, components/tracer/Makefile",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Makefile, components/infra/Makefile, components/ledger/Makefile, components/tracer/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": "1 of the last 100 commits agent-authored or agent-credited",
"points": 2,
"status": "partial",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 1,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "dependency automation configured, none observed in the sampled commits",
"points": 5,
"status": "partial",
"details": [
{
"code": "dependency_bot_config_only",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 3",
"points": 3,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 99,
"inputs": {
"primary_language": "Go",
"largest_source_bytes": 180994,
"source_files_sampled": 1883,
"oversized_source_files": 30
},
"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": "30/1883 source files over 60KB",
"points": 54.1,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 1883,
"oversized": 30
}
}
],
"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": [
"proto/reservation/v1/reservation.proto"
]
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": "proto/reservation/v1/reservation.proto",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "proto/reservation/v1/reservation.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": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
],
"report_type": "repository",
"generated_at": "2026-07-22T19:45:00.027032Z",
"schema_version": "0.26.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/l/LerianStudio/midaz.svg",
"full_name": "LerianStudio/midaz",
"license_state": "custom",
"license_spdx": null
}