Raw JSON report machine-readable
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 13336,
"has_wiki": true,
"homepage": null,
"languages": {
"Go": 3042035,
"ANTLR": 31620,
"PLpgSQL": 92488,
"Makefile": 11322
},
"pushed_at": "2026-07-28T14:12:58Z",
"created_at": "2025-06-12T21:02:03Z",
"owner_type": "Organization",
"updated_at": "2026-07-28T14:21:57Z",
"description": null,
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "main",
"license_spdx_raw": "MIT",
"primary_language": "Go",
"significant_languages": [
"Go"
]
},
"owner": {
"blog": "https://specterops.io",
"name": "SpecterOps",
"type": "Organization",
"login": "SpecterOps",
"company": null,
"location": "United States of America",
"followers": 1243,
"avatar_url": "https://avatars.githubusercontent.com/u/25406560?v=4",
"created_at": "2017-01-28T18:34:40Z",
"is_verified": null,
"public_repos": 55,
"account_age_days": 3468
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v0.6.0",
"kind": "minor",
"published_at": "2026-07-01T17:43:44Z"
},
{
"tag": "v0.5.5",
"kind": "patch",
"published_at": "2026-05-29T23:48:09Z"
},
{
"tag": "v0.5.4",
"kind": "patch",
"published_at": "2026-05-22T20:47:16Z"
},
{
"tag": "v0.5.3",
"kind": "patch",
"published_at": "2026-05-21T15:42:03Z"
},
{
"tag": "v0.5.2",
"kind": "patch",
"published_at": "2026-05-20T20:49:58Z"
},
{
"tag": "v0.5.1",
"kind": "patch",
"published_at": "2026-05-19T20:46:17Z"
},
{
"tag": "v0.5.0",
"kind": "minor",
"published_at": "2026-05-15T22:10:09Z"
},
{
"tag": "v0.4.19",
"kind": "patch",
"published_at": "2026-05-01T21:07:16Z"
},
{
"tag": "v0.4.18",
"kind": "patch",
"published_at": "2026-04-23T22:08:04Z"
},
{
"tag": "v0.4.16",
"kind": "patch",
"published_at": "2026-04-14T14:12:20Z"
},
{
"tag": "v0.4.15",
"kind": "patch",
"published_at": "2026-04-07T19:04:04Z"
},
{
"tag": "v0.4.14",
"kind": "patch",
"published_at": "2026-03-30T17:55:29Z"
},
{
"tag": "v0.4.13",
"kind": "patch",
"published_at": "2026-03-24T22:44:31Z"
},
{
"tag": "v0.4.12",
"kind": "patch",
"published_at": "2026-03-24T19:31:56Z"
},
{
"tag": "v0.4.11",
"kind": "patch",
"published_at": "2026-03-24T19:27:24Z"
},
{
"tag": "v0.4.10",
"kind": "patch",
"published_at": "2026-02-27T19:02:25Z"
},
{
"tag": "v0.4.9",
"kind": "patch",
"published_at": "2026-02-18T23:28:28Z"
},
{
"tag": "v0.4.8",
"kind": "patch",
"published_at": "2026-02-12T03:41:14Z"
},
{
"tag": "v0.4.7",
"kind": "patch",
"published_at": "2026-02-05T21:10:30Z"
},
{
"tag": "v0.4.6",
"kind": "patch",
"published_at": "2026-02-05T17:51:13Z"
},
{
"tag": "v0.4.4",
"kind": "patch",
"published_at": "2026-01-29T21:52:09Z"
},
{
"tag": "v0.4.3",
"kind": "patch",
"published_at": "2026-01-23T23:13:57Z"
},
{
"tag": "v0.3.3",
"kind": "patch",
"published_at": "2026-01-15T21:09:43Z"
},
{
"tag": "v0.4.1",
"kind": "patch",
"published_at": "2026-01-15T00:12:08Z"
},
{
"tag": "v0.3.2",
"kind": "patch",
"published_at": "2026-01-06T16:59:36Z"
},
{
"tag": "v0.3.1",
"kind": "patch",
"published_at": "2025-12-09T16:40:29Z"
},
{
"tag": "v0.3.0",
"kind": "minor",
"published_at": "2025-09-10T13:00:35Z"
},
{
"tag": "v0.2.1",
"kind": "patch",
"published_at": "2025-08-18T17:29:25Z"
},
{
"tag": "v0.2.0",
"kind": "minor",
"published_at": "2025-07-08T02:45:16Z"
},
{
"tag": "v0.1.5",
"kind": "patch",
"published_at": "2025-06-27T16:56:09Z"
}
],
"recent_commits": [
{
"oid": "6638cc2e12160a7be184817af2b5ed41a7dad3da",
"body": "* fix: traversal predicate root step correlation BED-8321\n\n* test: coverage for multi-step directionless predicates - cr feedback",
"is_bot": false,
"headline": "fix: traversal predicate root step correlation BED-8321 (#108)",
"author_name": "Ulises Rangel",
"author_login": "urangel",
"committed_at": "2026-07-28T14:12:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f048db8526e465a500dbe38ea6f09eb4580f1cd1",
"body": null,
"is_bot": false,
"headline": "feat: Optimize PG graph database wipes - BED-8787",
"author_name": "Stephen Hinck",
"author_login": "StephenHinck",
"committed_at": "2026-07-22T22:12:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9b2f7bfe7d799d50a7b43b88385e96e86e4d683b",
"body": null,
"is_bot": false,
"headline": "feat(retriever): bound memory usage and support resumable dumps",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-07-22T03:09:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "de790c93c402e78442f3891cadcb529c245ee891",
"body": "* change to jsonl\n\n* support only postgres\n\n* fix it\n\n* remove collection verification in unpack\n\n* add buffer max length",
"is_bot": false,
"headline": "feat: change retriever output to jsonl (#106)",
"author_name": "Wesley Miller",
"author_login": "wes-mil",
"committed_at": "2026-07-16T15:58:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7f871e736caf2a94c70b4db4ef2f18b027b21e58",
"body": "…ainline (#105)",
"is_bot": false,
"headline": "chore: fallout work from bringing beagle back up to date with dawgs m…",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-07-10T17:20:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "baff26980d9fdcbb6612009f9cb2e4951f1f612b",
"body": null,
"is_bot": false,
"headline": "perf(pgsql): optimize traversal lowering and predicate planning (#104)",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-07-10T17:10:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "403c9289dd9ce5861c8d7316d1f2c5a6079750a5",
"body": null,
"is_bot": false,
"headline": "feat (cypher): port v2 query builder (#75)",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-07-09T22:07:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4ea10f4b33d0db3298720c17851cecd6ce0dc12a",
"body": null,
"is_bot": false,
"headline": "feat(cmd): add retriever graph dump tooling (#103)",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-07-09T15:39:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "44b68ea4dee770c469835ec27565e56d8fb9a6ca",
"body": null,
"is_bot": false,
"headline": "feat: Update deletion trigger to run on statement - BED-8796",
"author_name": "Stephen Hinck",
"author_login": "StephenHinck",
"committed_at": "2026-06-30T22:17:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "33c57ef084bbfd4c2d9b54c31ceffb0e01e2959d",
"body": null,
"is_bot": false,
"headline": "add cascade deletion integration test",
"author_name": "Stephen Hinck",
"author_login": "StephenHinck",
"committed_at": "2026-06-30T20:33:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0ba0bc8bf282397ce496895ddf4ebd0fa1130fa4",
"body": null,
"is_bot": false,
"headline": "fix go.sum",
"author_name": "Stephen Hinck",
"author_login": "StephenHinck",
"committed_at": "2026-06-29T22:43:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f0239e1cebb3c4b9eccaf73479be17b8fdee52fe",
"body": null,
"is_bot": false,
"headline": "feat: Update deletion trigger to run on statement - BED-8796",
"author_name": "Stephen Hinck",
"author_login": "StephenHinck",
"committed_at": "2026-06-29T22:37:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c7cdd30212e406048eb7b37a4719f51a36a5f1be",
"body": null,
"is_bot": false,
"headline": "feat: Optimize PG graph database wipes - BED-8787",
"author_name": "Stephen Hinck",
"author_login": "StephenHinck",
"committed_at": "2026-06-29T17:49:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8fbfba4114ae276525857042d1d04c64732cf8e3",
"body": "* chore: Standerdize Integration TestSetup\n\n* remove internal pkg\n\n* Resolve Merge Conflicts\n\n* Increase test coverage error pkg\n\n* Create unit tests collection pkg\n\n* Create mock dB interface collection pkg\n\n* address CR comments\n\n* update func signatures to accept valid enum values for cleanupMode\ninstead arbitrary integers\n\n* fix OptimizeStorage dependency\n\n* increase test coverage\n\n---------\n\nCo-authored-by: ykaiboussiSO <ykaiboussi@specterops.io>",
"is_bot": false,
"headline": "test(integration): standardize setup and rollback fixtures PQE-426 (#91)",
"author_name": "Dillon Lees",
"author_login": "ddlees",
"committed_at": "2026-06-23T15:00:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8f521840694ed378fa96d518b9d636a66a6a067a",
"body": "…relations BED-8320 (#98)\n\n* fix: exhaust all bindings in OptimizedRelationshipExist builder\n\n* fix: exhaust all bindings in buildDirectionlessTraversalRoot\n\n* fix: add outer correlation for directionless traversals\n\n* test: update translation test for undirected traversal w/ outer correlation\n\n* test: new translation tests for directionless traversals",
"is_bot": false,
"headline": "fix: optimized traversal bindings and directionless traversals w/ cor…",
"author_name": "Sean Johnson",
"author_login": "seanjSO",
"committed_at": "2026-06-22T17:30:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3265e86ed93e01e2876180599096c6a232e3a58c",
"body": "feat: VACUUM/ANALYZE - BED-8494",
"is_bot": false,
"headline": "Merge pull request #97 from SpecterOps/BED-8494",
"author_name": "Brandon Shearin",
"author_login": "brandonshearin",
"committed_at": "2026-06-17T17:34:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "25c716147d350a76a809d23c9c44cbd435b92645",
"body": null,
"is_bot": false,
"headline": "add slog to optimizeStorage; add dawgrun support",
"author_name": "Brandon Shearin",
"author_login": "brandonshearin",
"committed_at": "2026-06-16T20:15:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "80d8d4736369a4e48b17e824e76b7b2e531dc8cf",
"body": null,
"is_bot": false,
"headline": "unit test vacuum analyze",
"author_name": "Brandon Shearin",
"author_login": "brandonshearin",
"committed_at": "2026-06-16T18:44:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "73d98998cba96177ac618b0fd2de33649ec72c4b",
"body": null,
"is_bot": false,
"headline": "gate the vacuum behind n_dead_tup",
"author_name": "Brandon Shearin",
"author_login": "brandonshearin",
"committed_at": "2026-06-16T16:24:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "433ab4ea0f29ceaa8ab403072a71d0995c49c01e",
"body": "feat: OptimizeStorage method stub - BED-8353",
"is_bot": false,
"headline": "Merge pull request #96 from SpecterOps/BED-8353-v2",
"author_name": "Brandon Shearin",
"author_login": "brandonshearin",
"committed_at": "2026-06-15T19:23:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ac6d2a71bbe0f497f45097268a573848ae61e889",
"body": null,
"is_bot": false,
"headline": "specify node and edge parent tables",
"author_name": "Brandon Shearin",
"author_login": "brandonshearin",
"committed_at": "2026-06-15T19:16:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "08abcc29698dcac2b370768deea1135222dffd91",
"body": null,
"is_bot": false,
"headline": "internalCtx",
"author_name": "Brandon Shearin",
"author_login": "brandonshearin",
"committed_at": "2026-06-15T19:06:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2b785c9870b46a18be5a829ead1f11a1591c164c",
"body": null,
"is_bot": false,
"headline": "initial",
"author_name": "Brandon Shearin",
"author_login": "brandonshearin",
"committed_at": "2026-06-15T19:06:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6f33d3535b94528bc913f49a52cdea364808f3a7",
"body": null,
"is_bot": false,
"headline": "OptimizeStorage method stub",
"author_name": "Brandon Shearin",
"author_login": "brandonshearin",
"committed_at": "2026-06-15T18:55:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "488018bfc991c49134cc9da9acdb137d97788622",
"body": null,
"is_bot": false,
"headline": "chore: Bump test fixtures to use PG18 - BED-8581",
"author_name": "Stephen Hinck",
"author_login": "StephenHinck",
"committed_at": "2026-06-12T19:08:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6fd5c93bb482928a1077bb80bfee03b701d84cd6",
"body": null,
"is_bot": false,
"headline": "chore: Bump test fixtures to use PG18 - BED-8581",
"author_name": "Stephen Hinck",
"author_login": "StephenHinck",
"committed_at": "2026-06-09T22:40:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a637b4a34627d7e86ca6055bb64a5caecce52734",
"body": "…ED-8505 (#93)",
"is_bot": false,
"headline": "chore(cysql): add postgresql property index plan regression tests - B…",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-30T00:45:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "51f90e11203162aa7aec8121345a1273c6ff88d1",
"body": null,
"is_bot": false,
"headline": "update CONTRIBUTORS.md (#90)",
"author_name": "Mitchell Amundsen",
"author_login": "mamundsen-specter",
"committed_at": "2026-05-28T17:05:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5efb0a720e63a942c935166bd978026e3748c005",
"body": "* test: cover cypher walker edge cases\n\n* fix: complete cypher walker traversal\n\n* perf: reduce cypher walker branch allocations\n\n* test: enforce cypher walker node coverage\n\n* docs: define cypher walker semantics\n\n* feat: add structural cypher walker\n\n* fix: preserve typed nil syntax nodes\n\n* feat:\n[…]\nalker nil-branch overhead\n\n* docs: record walker coverage comparison\n\n* docs: capture cypher walker pr notes\n\n* docs: record final validation results\n\n* fix(walk): restore semantic traversal contracts",
"is_bot": false,
"headline": "Cypher AST Work and Cleanup (#89)",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-28T15:37:21Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9fe779703362543ce2ef6a46fd93f4c040ac1ac0",
"body": "* fix(pgsql): support aggregate operator projections\n\n* fix(cypher): prefer supported integer conversion\n\n* docs(pgsql): capture optimizer pass plan\n\n* feat(pgsql): analyze optimizer regions\n\n* test(pgsql): cover optimizer path safety\n\n* feat(pgsql): add optimizer pipeline hook\n\n* feat(pgsql): attac\n[…]\nest\n\n* test: smoke downstream DAWGS consumers\n\nValidated representative BHE and BHCE packages against the local DAWGS checkout with a temporary Go workspace.\n\n* fix: address coderabbit review findings",
"is_bot": false,
"headline": "CySQL Query Optimizer Framework (#88)",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-25T02:03:06Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "db560d01f9f44e738d277e40a238ba1c840fac15",
"body": "chore: move db configuration and modified NewPool BED-8293",
"is_bot": false,
"headline": "Merge pull request #87 from SpecterOps/BED-8293",
"author_name": "stephanieslamb",
"author_login": "stephanieslamb",
"committed_at": "2026-05-22T20:39:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f3198a701360ae982dcaae8d50612a7dd1a376d0",
"body": null,
"is_bot": false,
"headline": "ugh my brain. hopefully last integration test fix",
"author_name": "Stephanie Lamb",
"author_login": "stephanieslamb",
"committed_at": "2026-05-22T20:10:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3f99a7a7fee1f4ae039966cacd987378838a541c",
"body": null,
"is_bot": false,
"headline": "go mod tidy",
"author_name": "Stephanie Lamb",
"author_login": "stephanieslamb",
"committed_at": "2026-05-22T19:53:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "109b33207334a7f7252b0756d82f38b9582e8ac5",
"body": null,
"is_bot": false,
"headline": "updated integration tests",
"author_name": "Stephanie Lamb",
"author_login": "stephanieslamb",
"committed_at": "2026-05-22T19:52:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "407e2f16b15861bbefb3d40e65862d7221e24f08",
"body": null,
"is_bot": false,
"headline": "fixed build error",
"author_name": "Stephanie Lamb",
"author_login": "stephanieslamb",
"committed_at": "2026-05-22T19:40:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9217f67e8f1f7f0d8fb9c5005642b6d8b3a7c0b4",
"body": null,
"is_bot": false,
"headline": "refactored NewPool to take a pool config",
"author_name": "Stephanie Lamb",
"author_login": "stephanieslamb",
"committed_at": "2026-05-22T19:36:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ac3a9e741780d8d52d221cd3f7cf0c21dbd72414",
"body": null,
"is_bot": false,
"headline": "i am clearly blind. removing internal folder",
"author_name": "Stephanie Lamb",
"author_login": "stephanieslamb",
"committed_at": "2026-05-22T17:08:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "43031e5bdb644ee3068c9a10a5cbb6602061fb63",
"body": null,
"is_bot": false,
"headline": "missed internal pool calls",
"author_name": "Stephanie Lamb",
"author_login": "stephanieslamb",
"committed_at": "2026-05-22T17:05:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "32b66f0bad789963d360867b4e069251c4e571a5",
"body": null,
"is_bot": false,
"headline": "removed unused import",
"author_name": "Stephanie Lamb",
"author_login": "stephanieslamb",
"committed_at": "2026-05-22T16:45:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e049eb8af97aa99f5998c36f6bfa97941cf7a9e7",
"body": null,
"is_bot": false,
"headline": "moved NewPool out of internal package",
"author_name": "Stephanie Lamb",
"author_login": "stephanieslamb",
"committed_at": "2026-05-22T16:35:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ba88ac3b2d5bfd64422f6c7875802a5f1b4c2552",
"body": null,
"is_bot": false,
"headline": "updated tests to use internal pool package",
"author_name": "Stephanie Lamb",
"author_login": "stephanieslamb",
"committed_at": "2026-05-21T20:59:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9680d96a6092d3a284fe6282f6c96e1c79f7ba35",
"body": null,
"is_bot": false,
"headline": "updated go.mod, go.sum and tool to use internal NewPool",
"author_name": "Stephanie Lamb",
"author_login": "stephanieslamb",
"committed_at": "2026-05-21T20:35:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1008c1e35bf2c9b45b8877e645403fa0a73b0ebd",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' into BED-8293",
"author_name": "stephanieslamb",
"author_login": "stephanieslamb",
"committed_at": "2026-05-21T20:24:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f30a093dd9c4fb46514e81ed5aa86d999a4813b0",
"body": "chore: add internal only configuration/pool generation for internal\ntools/tests",
"is_bot": false,
"headline": "chore: move configuration out of dawgs",
"author_name": "Alyx Holms",
"author_login": "superlinkx",
"committed_at": "2026-05-21T17:54:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9131d971d0e12f432738282d6bca5b0f477bc750",
"body": "* feat(dawgrun): CLI mode support\n\n* fix(dawgrun): CLI mode disables highlighting if stdout is not a terminal\n\n* fix(dawgrun): rabbit penance\n\n* fix(dawgrun): add RunMode for filtering commands between CLI and REPL",
"is_bot": false,
"headline": "feat(dawgrun): CLI mode (#84)",
"author_name": "Sean Johnson",
"author_login": "seanjSO",
"committed_at": "2026-05-21T15:33:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3554eb0a8b06d9462577182b478912b613eed59b",
"body": "…245 (#85)",
"is_bot": false,
"headline": "fix: handle self referencing relationships and add panic guards BED-8…",
"author_name": "Ulises Rangel",
"author_login": "urangel",
"committed_at": "2026-05-21T14:57:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e671c6ed6df6bafb04b29d39fed360ef9450b631",
"body": "* fix(pgsql): support aggregate operator projections\n\n* fix(pgsql): resolve order by projection aliases\n\n* fix(cypher): prefer supported integer conversion",
"is_bot": false,
"headline": "fix: support found defects in UNWIND query forms - BED-8324 (#83)",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-20T20:49:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0a7ce90d349929507e49f0d06841aff4d9dc063f",
"body": "…QE-407 (#82)\n\n* chore: Implement Coverage Comparison Between Feature Branch Against Main\nBranch\n\nResolves: PQE-407\n\n* Pinning SHA on GH Actions\n\n* update main branch\n\n* Fix workflow dependency\n\n* Implement Reuseable Workflow\n\n* fix file issue\n\n* update file path\n\n* fix syntax error\n\n* update reference mapping",
"is_bot": false,
"headline": "chore: Implement Coverage Evaluation on Feature Branch Against Main P…",
"author_name": "Youssef Kaiboussi",
"author_login": "ykaiboussiSO",
"committed_at": "2026-05-20T18:56:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1ce8c88245c8de83d36b2e7a422bad244231a286",
"body": "* chore(integration): tests for pattern predicates fix\n\n* chore(test): regression tests for pattern predicates bug\n\n* fix(pg): fix sql correlation issue with pattern predicates\n\n* chore(test): translation tests for pattern predicates fix\n\n* add 'empty' testdata for cases w/ comprehensive fixtures\n\n* cleaning up tests\n\n* fix(pg): both-bound branching for directed traversal root building",
"is_bot": false,
"headline": "fix(pg): Inconsistent conditional pattern matching BED-6695 (#73)",
"author_name": "Sean Johnson",
"author_login": "seanjSO",
"committed_at": "2026-05-19T20:44:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0ee0b16b37d1806bbaba62591180284a0a26050c",
"body": "* chore: Create CI Workflow Build DAWGS PKGs\n\nResolves: PQE-406\n\n* Pinning SHA on all GH Actions",
"is_bot": false,
"headline": "chore: Create CI Workflow Build DAWGS PKGs (#81)",
"author_name": "Youssef Kaiboussi",
"author_login": "ykaiboussiSO",
"committed_at": "2026-05-19T15:41:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "25407d6d53620f39eae4fdd178495547a8ed8025",
"body": null,
"is_bot": false,
"headline": "fix(pg): align JSONB scalar query semantics",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-15T22:04:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7c11001f7fcacd6e3e89f2e339173f349aa2243a",
"body": null,
"is_bot": false,
"headline": "feat (crap): add quality signal metrics report",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-14T22:46:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f4372e2f38be157e9319d81d3e47a70a8fccfc02",
"body": null,
"is_bot": false,
"headline": "feat(cypher): support PgSQL nodes(path) result mapping - BED-8294",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-14T02:15:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "037a8d23d7c9a3ff5e6242661a1316d6ff019cc0",
"body": null,
"is_bot": false,
"headline": "chore (crap): measure quality",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-13T22:18:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0263a48d141f5923453238b694231d9065281110",
"body": null,
"is_bot": false,
"headline": "fix(dawgrun): select or init default graph on db connect (#78)",
"author_name": "Sean Johnson",
"author_login": "seanjSO",
"committed_at": "2026-05-13T15:20:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6e8415af064477499529286ed154b9544b041170",
"body": null,
"is_bot": false,
"headline": "fix (pgsql): narrow text equality compatibility to booleans",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-13T00:30:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "43e730ff9edb82b7f7b3f4714f8ca14b1c70a9dd",
"body": null,
"is_bot": false,
"headline": "test (pgsql): cover PostgreSQL property equality compatibility",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-13T00:29:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d6e19e544b95174829ea55d4113a2ef626d97115",
"body": null,
"is_bot": false,
"headline": "fix (pgsql): restore text property equality translation",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-13T00:29:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e5623e3713f4d6fc8dc6158b9ebec8bbdb9a8804",
"body": null,
"is_bot": false,
"headline": "fix(pg): map label name arrays to graph kinds",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-12T19:42:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ef81815a0251c25f4b52f9b4090e950fac7960dc",
"body": null,
"is_bot": false,
"headline": "fix(pgsql): infer wrapped expression type hints accurately",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-12T19:15:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ae5d313bf2a41b8dd8ce5d8766fea8b9775f6b47",
"body": null,
"is_bot": false,
"headline": "test (cysql): make labels ordering fixture collation independent",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-12T05:28:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "621a51b2351f3f5b2fa0a2cfe885b5e2d1f25c99",
"body": null,
"is_bot": false,
"headline": "fix(pgsql): materialize path bindings across WITH projections",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-12T05:28:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b07abd7920d3786bab40d2e9af700a9535325335",
"body": "…ions",
"is_bot": false,
"headline": "fix(pgsql): harden Cypher function translation edge cases and regress…",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-12T05:28:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "952dff13c4657b486e57cd500cdd9f16a418e903",
"body": "…g value to align with expected cypher behavior",
"is_bot": false,
"headline": "fix (pgsql): update type call to return relationship types as a strin…",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-12T05:28:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "096e1b0b8f2e83e349afa71e38c26bad1daf248f",
"body": "…- BP-526",
"is_bot": false,
"headline": "feat (pgsql): support relationships, startNode and endNode functions …",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-12T05:28:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2063eaba925e8fe10e8cf900aceb4d9482142e93",
"body": null,
"is_bot": false,
"headline": "fix (pgsql): fix cypher semantic drift for labels function",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-12T05:28:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1366719f3acc49cc5dded5f0930e928d8549a530",
"body": null,
"is_bot": false,
"headline": "fix(pgsql): preserve primer branch for zero-depth expansions",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-12T04:41:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c02addd9268dfddc4600c159632ad27a94f1d2e9",
"body": "…aggressive error",
"is_bot": false,
"headline": "fix (pgsql): pg 16 specific root/terminal id filter throws an overly …",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-12T04:28:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ed7ba8851ddf9579cc1c195a8121eb2ddb4070a9",
"body": "…ed to be rewritten",
"is_bot": false,
"headline": "fix (neo4j): remove rewrites from hot-path for queries that do not ne…",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-12T03:52:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "97032ae34c103d91137081bd54cf1619769d9d56",
"body": "…r zero hop traversals and use a more explicit AST tool",
"is_bot": false,
"headline": "fix (pgsql): remove divide by zero guard in shortest paths harness fo…",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-12T03:49:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c83def2f112a2b1a28b5565fa06175d7fcd16bf3",
"body": null,
"is_bot": false,
"headline": "fix(pgsql): rewrite array slices in projections and order clauses",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-12T03:20:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0d1de62e46d1650b635f9576f6fa5bc49c10b9b0",
"body": "…semantics",
"is_bot": false,
"headline": "fix (neo4j): rewrite temporal expressions to restore neo4j time-date …",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-12T03:13:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4beaafac6ead1bfd22a881881f35127c6ce771ed",
"body": null,
"is_bot": false,
"headline": "fix(pgsql): guard zero-hop expansion and resolve path aliases",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-12T02:41:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "166b0b2c75feb0c7808d856835491238521e2cbc",
"body": null,
"is_bot": false,
"headline": "test(integration): cover enforced head relationship path filtering",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-11T21:49:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9e1b8ef6d4a17fec6a2de631cb27c68dba787bf5",
"body": null,
"is_bot": false,
"headline": "fix(pgsql): rewrite value-form array slices in renamer",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-11T21:45:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f5163a9396119524e968054f803da510b6dd8aa7",
"body": null,
"is_bot": false,
"headline": "fix(pgsql): infer binary array expressions in quantifiers",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-11T21:39:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f0d1b0cd57305a0cee1fff3a438b5f0312d6c6c6",
"body": null,
"is_bot": false,
"headline": "fix(pgsql): reject unsupported property lookups directly",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-11T21:31:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "33a9e3522abae177aba6e7c73ef86e0c663eed69",
"body": null,
"is_bot": false,
"headline": "fix(pgsql): avoid duplicate paths in zero-hop expansions",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-11T21:25:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2d979e318eab336e9375c72539c13b75abff2ddf",
"body": null,
"is_bot": false,
"headline": "fix(pgsql): infer date interval arithmetic as timestamp",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-11T21:00:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ea126b4eb1c6b18f076c0305cdee32f3dd4a3e3e",
"body": "…D-5292",
"is_bot": false,
"headline": "feat(pgsql): support path list functions in expansion predicates - BE…",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-11T20:44:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "31dde310f6f42ecb2eddca8c09a506c021d731c8",
"body": "…risons - BED-5945",
"is_bot": false,
"headline": "fix(pgsql): infer temporal arithmetic for relationship property compa…",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-11T20:22:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6d0be96ee1397bcff3bc446873b6740ebe63928f",
"body": null,
"is_bot": false,
"headline": "fix(pgsql): handle zero-hop variable-length expansions - BP-2518",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-11T20:05:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a5c4df7908cb8a442a0908de9e7cbe37c879fea0",
"body": "…regation",
"is_bot": false,
"headline": "fix(pgsql): preserve WITH identifier aliases across shortest path agg…",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-11T19:47:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eea249f1782c69950386d56d0622eb2f2b57b84a",
"body": null,
"is_bot": false,
"headline": "fix(pg): optimize dynamic Cypher string predicates",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-10T01:20:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f74157a92e67bda0f671d407f2998b73a47e0fbd",
"body": "…ith neo4j behavior",
"is_bot": false,
"headline": "test: add semantic drift tests to cover pg cysql translation compat w…",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-09T07:28:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "127e67f4ee267480fba5a3456d884b1af57351db",
"body": null,
"is_bot": false,
"headline": "test: update neo4j integration tests",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-09T07:28:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0445e554fb10a6dd283cf4b16be8e4caa1aaee19",
"body": "…s file",
"is_bot": false,
"headline": "chore: fixup testing tooling and update execution guidance; add agent…",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-09T07:28:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9a17fc9392af664e0d18f74a1bbced52298e6f5a",
"body": null,
"is_bot": false,
"headline": "test (pg/cysql): cover more variants",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-09T07:28:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c857740e6e6f2a625e0ea331b59045dc213000f1",
"body": null,
"is_bot": false,
"headline": "fix: preserve Cypher empty list null semantics",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-09T07:28:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "26a8b0ed7208270d8fb5e1b2e223324098331fd9",
"body": null,
"is_bot": false,
"headline": "fix: preserve Cypher empty list equality semantics",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-09T07:28:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "47036719129530c35bb5bd67e6c4997d9271cb78",
"body": null,
"is_bot": false,
"headline": "test: expose Cypher empty list equality regression",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-09T07:28:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b1484811f785d0e1081ecc8388012bf38eabab47",
"body": null,
"is_bot": false,
"headline": "fix: normalize Cypher coalesced list types",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-09T07:28:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9cfd0c3631929a08b581c958b050960f131d55de",
"body": null,
"is_bot": false,
"headline": "test: expose Cypher coalesced list size regression",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-09T07:28:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "78d1842536e2d958944653c52a844252f6aaf251",
"body": null,
"is_bot": false,
"headline": "test: cover Cypher optional aggregate counts",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-09T07:28:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6fcd245890e72a96208d297259352b234197c5ed",
"body": null,
"is_bot": false,
"headline": "test: cover Cypher optional match filters",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-09T07:28:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bc1e91df5cbd8e2e7dad0ef7fe1be60bf1c311f1",
"body": null,
"is_bot": false,
"headline": "fix: escape Cypher dynamic string predicates",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-09T07:28:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "28f5b63ea649aef8cb4d037a883e9b1778efae3c",
"body": null,
"is_bot": false,
"headline": "test: expose Cypher parameter wildcard regressions",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-09T07:28:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bf65e7cd9aec37b59c9a037be85cb03c579b4805",
"body": null,
"is_bot": false,
"headline": "fix: preserve Cypher scalar predicate semantics",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-09T07:28:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ca7e60e9f3d6942e17c866553ccf50b09fe3f382",
"body": null,
"is_bot": false,
"headline": "test: expose Cypher scalar predicate regressions",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-09T07:28:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "da6eb85686ea5b87ebfb37d3425ef5711211b22c",
"body": null,
"is_bot": false,
"headline": "test: cover Cypher empty parameter list size",
"author_name": "John Hopper",
"author_login": "zinic",
"committed_at": "2026-05-09T07:28:39Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 30,
"commits_last_year": 257,
"latest_release_at": "2026-07-01T17:43:44Z",
"latest_release_tag": "v0.6.0",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 37,
"days_since_latest_release": 27,
"mean_days_between_releases": 8.7
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": false,
"has_contributing": false,
"health_percentage": 37,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": true
},
"ecosystem": {
"packages": [
{
"name": "github.com/specterops/dawgs",
"exists": true,
"license": null,
"keywords": [],
"ecosystem": "go",
"matches_repo": true,
"registry_url": "https://pkg.go.dev/github.com/specterops/dawgs",
"is_deprecated": false,
"latest_version": "v0.6.0",
"repository_url": "https://github.com/specterops/dawgs",
"versions_count": 40,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": null,
"latest_published_at": "2026-06-23T15:00:45Z",
"latest_version_yanked": null,
"days_since_latest_publish": 35
}
]
},
"popularity": {
"forks": 8,
"stars": 20,
"watchers": 0,
"fork_history": {
"days": [
{
"date": "2025-06-24",
"count": 1
},
{
"date": "2025-08-19",
"count": 1
},
{
"date": "2025-09-03",
"count": 1
},
{
"date": "2025-10-21",
"count": 1
},
{
"date": "2026-01-05",
"count": 1
},
{
"date": "2026-03-09",
"count": 1
},
{
"date": "2026-03-19",
"count": 1
},
{
"date": "2026-03-24",
"count": 1
}
],
"complete": true,
"collected": 8,
"total_forks": 8
},
"star_history": null,
"open_issues_and_prs": 3
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": true,
"has_mcp_signal": false,
"bootstrap_files": [
"Makefile"
],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [
"go.mod"
],
"largest_source_bytes": 838392,
"source_files_sampled": 392,
"oversized_source_files": 4,
"agent_instruction_files": [
"AGENTS.md"
],
"agent_instruction_max_bytes": 2804
},
"dependencies": {
"manifests": [
"go.mod"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"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": 21
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"unknown": 1
},
"advisory_count": 1,
"affected_count": 1,
"assessed_count": 231,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"go"
],
"dependencies": [
{
"name": "cuelang.org/go",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.17.0"
},
{
"name": "github.com/RoaringBitmap/roaring/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.19.0"
},
{
"name": "github.com/antlr4-go/antlr/v4",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v4.13.1"
},
{
"name": "github.com/axiomhq/hyperloglog",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.2.6"
},
{
"name": "github.com/bits-and-blooms/bitset",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.24.5"
},
{
"name": "github.com/cespare/xxhash/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.3.0"
},
{
"name": "github.com/fzipp/gocyclo",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.6.0"
},
{
"name": "github.com/gammazero/deque",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.2.1"
},
{
"name": "github.com/jackc/pgtype",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.14.4"
},
{
"name": "github.com/jackc/pgx/v5",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v5.10.0"
},
{
"name": "github.com/klauspost/compress",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.19.0"
},
{
"name": "github.com/neo4j/neo4j-go-driver/v5",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v5.28.4"
},
{
"name": "github.com/pashagolub/pgxmock/v5",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v5.1.0"
},
{
"name": "github.com/pelletier/go-toml/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.4.3"
},
{
"name": "github.com/stretchr/testify",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.11.1"
},
{
"name": "golang.org/x/tools",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.47.0"
},
{
"name": "github.com/alecthomas/chroma/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.27.0"
},
{
"name": "github.com/charmbracelet/lipgloss",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.1.0"
},
{
"name": "github.com/davecgh/go-spew",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.1.2-0.20180830191138-d8f796af33cc"
},
{
"name": "github.com/google/shlex",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20191202100458-e7afc7fbc510"
},
{
"name": "github.com/jedib0t/go-pretty/v6",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v6.8.2"
},
{
"name": "github.com/kanmu/go-sqlfmt",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.2-0.20200215095417-d1e63e2ee5eb"
},
{
"name": "github.com/mitchellh/go-wordwrap",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.0.1"
},
{
"name": "github.com/specterops/go-repl",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.0.1"
},
{
"name": "golang.org/x/term",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.44.0"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "cuelang.org/go",
"direct": true,
"version": "v0.17.0",
"ecosystem": "go"
},
{
"name": "github.com/alecthomas/chroma/v2",
"direct": true,
"version": "v2.27.0",
"ecosystem": "go"
},
{
"name": "github.com/antlr4-go/antlr/v4",
"direct": true,
"version": "v4.13.1",
"ecosystem": "go"
},
{
"name": "github.com/axiomhq/hyperloglog",
"direct": true,
"version": "v0.2.6",
"ecosystem": "go"
},
{
"name": "github.com/bits-and-blooms/bitset",
"direct": true,
"version": "v1.24.5",
"ecosystem": "go"
},
{
"name": "github.com/cespare/xxhash/v2",
"direct": true,
"version": "v2.3.0",
"ecosystem": "go"
},
{
"name": "github.com/charmbracelet/lipgloss",
"direct": true,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/davecgh/go-spew",
"direct": true,
"version": "v1.1.2-0.20180830191138-d8f796af33cc",
"ecosystem": "go"
},
{
"name": "github.com/fzipp/gocyclo",
"direct": true,
"version": "v0.6.0",
"ecosystem": "go"
},
{
"name": "github.com/gammazero/deque",
"direct": true,
"version": "v1.2.1",
"ecosystem": "go"
},
{
"name": "github.com/google/shlex",
"direct": true,
"version": "v0.0.0-20191202100458-e7afc7fbc510",
"ecosystem": "go"
},
{
"name": "github.com/jackc/pgtype",
"direct": true,
"version": "v1.14.4",
"ecosystem": "go"
},
{
"name": "github.com/jackc/pgx/v5",
"direct": true,
"version": "v5.10.0",
"ecosystem": "go"
},
{
"name": "github.com/jedib0t/go-pretty/v6",
"direct": true,
"version": "v6.8.2",
"ecosystem": "go"
},
{
"name": "github.com/kanmu/go-sqlfmt",
"direct": true,
"version": "v0.0.2-0.20200215095417-d1e63e2ee5eb",
"ecosystem": "go"
},
{
"name": "github.com/klauspost/compress",
"direct": true,
"version": "v1.19.0",
"ecosystem": "go"
},
{
"name": "github.com/mitchellh/go-wordwrap",
"direct": true,
"version": "v1.0.1",
"ecosystem": "go"
},
{
"name": "github.com/neo4j/neo4j-go-driver/v5",
"direct": true,
"version": "v5.28.4",
"ecosystem": "go"
},
{
"name": "github.com/pashagolub/pgxmock/v5",
"direct": true,
"version": "v5.1.0",
"ecosystem": "go"
},
{
"name": "github.com/pelletier/go-toml/v2",
"direct": true,
"version": "v2.4.3",
"ecosystem": "go"
},
{
"name": "github.com/roaringbitmap/roaring/v2",
"direct": true,
"version": "v2.19.0",
"ecosystem": "go"
},
{
"name": "github.com/specterops/go-repl",
"direct": true,
"version": "v1.0.1",
"ecosystem": "go"
},
{
"name": "github.com/stretchr/testify",
"direct": true,
"version": "v1.11.1",
"ecosystem": "go"
},
{
"name": "golang.org/x/term",
"direct": true,
"version": "v0.44.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/tools",
"direct": true,
"version": "v0.47.0",
"ecosystem": "go"
},
{
"name": "4d63.com/gocheckcompilerdirectives",
"direct": false,
"version": "v1.3.0",
"ecosystem": "go"
},
{
"name": "4d63.com/gochecknoglobals",
"direct": false,
"version": "v0.2.2",
"ecosystem": "go"
},
{
"name": "codeberg.org/chavacava/garif",
"direct": false,
"version": "v0.2.0",
"ecosystem": "go"
},
{
"name": "codeberg.org/polyfloyd/go-errorlint",
"direct": false,
"version": "v1.9.0",
"ecosystem": "go"
},
{
"name": "dev.gaijin.team/go/exhaustruct/v4",
"direct": false,
"version": "v4.0.0",
"ecosystem": "go"
},
{
"name": "dev.gaijin.team/go/golib",
"direct": false,
"version": "v0.6.0",
"ecosystem": "go"
},
{
"name": "github.com/4meepo/tagalign",
"direct": false,
"version": "v1.4.3",
"ecosystem": "go"
},
{
"name": "github.com/abirdcfly/dupword",
"direct": false,
"version": "v0.1.7",
"ecosystem": "go"
},
{
"name": "github.com/adminbenni/iota-mixing",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/alecthomas/go-check-sumtype",
"direct": false,
"version": "v0.3.1",
"ecosystem": "go"
},
{
"name": "github.com/alexkohler/nakedret/v2",
"direct": false,
"version": "v2.0.6",
"ecosystem": "go"
},
{
"name": "github.com/alexkohler/prealloc",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/alfatraining/structtag",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/alingse/asasalint",
"direct": false,
"version": "v0.0.11",
"ecosystem": "go"
},
{
"name": "github.com/alingse/nilnesserr",
"direct": false,
"version": "v0.2.0",
"ecosystem": "go"
},
{
"name": "github.com/alwxsin/noinlineerr",
"direct": false,
"version": "v1.0.5",
"ecosystem": "go"
},
{
"name": "github.com/antonboom/errname",
"direct": false,
"version": "v1.1.1",
"ecosystem": "go"
},
{
"name": "github.com/antonboom/nilnil",
"direct": false,
"version": "v1.1.1",
"ecosystem": "go"
},
{
"name": "github.com/antonboom/testifylint",
"direct": false,
"version": "v1.6.4",
"ecosystem": "go"
},
{
"name": "github.com/ashanbrown/forbidigo/v2",
"direct": false,
"version": "v2.3.0",
"ecosystem": "go"
},
{
"name": "github.com/ashanbrown/makezero/v2",
"direct": false,
"version": "v2.1.0",
"ecosystem": "go"
},
{
"name": "github.com/aymanbagabas/go-osc52/v2",
"direct": false,
"version": "v2.0.1",
"ecosystem": "go"
},
{
"name": "github.com/beorn7/perks",
"direct": false,
"version": "v1.0.1",
"ecosystem": "go"
},
{
"name": "github.com/bkielbasa/cyclop",
"direct": false,
"version": "v1.2.3",
"ecosystem": "go"
},
{
"name": "github.com/blizzy78/varnamelen",
"direct": false,
"version": "v0.8.0",
"ecosystem": "go"
},
{
"name": "github.com/bombsimon/wsl/v4",
"direct": false,
"version": "v4.7.0",
"ecosystem": "go"
},
{
"name": "github.com/bombsimon/wsl/v5",
"direct": false,
"version": "v5.6.0",
"ecosystem": "go"
},
{
"name": "github.com/breml/bidichk",
"direct": false,
"version": "v0.3.3",
"ecosystem": "go"
},
{
"name": "github.com/breml/errchkjson",
"direct": false,
"version": "v0.4.1",
"ecosystem": "go"
},
{
"name": "github.com/burntsushi/toml",
"direct": false,
"version": "v1.6.0",
"ecosystem": "go"
},
{
"name": "github.com/butuzov/ireturn",
"direct": false,
"version": "v0.4.0",
"ecosystem": "go"
},
{
"name": "github.com/butuzov/mirror",
"direct": false,
"version": "v1.3.0",
"ecosystem": "go"
},
{
"name": "github.com/catenacyber/perfsprint",
"direct": false,
"version": "v0.10.1",
"ecosystem": "go"
},
{
"name": "github.com/ccojocar/zxcvbn-go",
"direct": false,
"version": "v1.0.4",
"ecosystem": "go"
},
{
"name": "github.com/charithe/durationcheck",
"direct": false,
"version": "v0.0.11",
"ecosystem": "go"
},
{
"name": "github.com/charmbracelet/colorprofile",
"direct": false,
"version": "v0.4.3",
"ecosystem": "go"
},
{
"name": "github.com/charmbracelet/x/ansi",
"direct": false,
"version": "v0.11.7",
"ecosystem": "go"
},
{
"name": "github.com/charmbracelet/x/cellbuf",
"direct": false,
"version": "v0.0.15",
"ecosystem": "go"
},
{
"name": "github.com/charmbracelet/x/term",
"direct": false,
"version": "v0.2.2",
"ecosystem": "go"
},
{
"name": "github.com/ckaznocha/intrange",
"direct": false,
"version": "v0.3.1",
"ecosystem": "go"
},
{
"name": "github.com/clipperhouse/displaywidth",
"direct": false,
"version": "v0.11.0",
"ecosystem": "go"
},
{
"name": "github.com/clipperhouse/uax29/v2",
"direct": false,
"version": "v2.7.0",
"ecosystem": "go"
},
{
"name": "github.com/cockroachdb/apd/v3",
"direct": false,
"version": "v3.2.3",
"ecosystem": "go"
},
{
"name": "github.com/curioswitch/go-reassign",
"direct": false,
"version": "v0.3.0",
"ecosystem": "go"
},
{
"name": "github.com/daixiang0/gci",
"direct": false,
"version": "v0.13.7",
"ecosystem": "go"
},
{
"name": "github.com/dave/dst",
"direct": false,
"version": "v0.27.3",
"ecosystem": "go"
},
{
"name": "github.com/denis-tingaikin/go-header",
"direct": false,
"version": "v0.5.0",
"ecosystem": "go"
},
{
"name": "github.com/dgryski/go-metro",
"direct": false,
"version": "v0.0.0-20250106013310-edb8663e5e33",
"ecosystem": "go"
},
{
"name": "github.com/djarvur/go-err113",
"direct": false,
"version": "v0.1.1",
"ecosystem": "go"
},
{
"name": "github.com/dlclark/regexp2",
"direct": false,
"version": "v1.12.0",
"ecosystem": "go"
},
{
"name": "github.com/dlclark/regexp2/v2",
"direct": false,
"version": "v2.2.2",
"ecosystem": "go"
},
{
"name": "github.com/ettle/strcase",
"direct": false,
"version": "v0.2.0",
"ecosystem": "go"
},
{
"name": "github.com/fatih/color",
"direct": false,
"version": "v1.19.0",
"ecosystem": "go"
},
{
"name": "github.com/fatih/structtag",
"direct": false,
"version": "v1.2.0",
"ecosystem": "go"
},
{
"name": "github.com/firefart/nonamedreturns",
"direct": false,
"version": "v1.0.6",
"ecosystem": "go"
},
{
"name": "github.com/fsnotify/fsnotify",
"direct": false,
"version": "v1.9.0",
"ecosystem": "go"
},
{
"name": "github.com/ghostiam/protogetter",
"direct": false,
"version": "v0.3.20",
"ecosystem": "go"
},
{
"name": "github.com/go-critic/go-critic",
"direct": false,
"version": "v0.14.3",
"ecosystem": "go"
},
{
"name": "github.com/go-toolsmith/astcast",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/go-toolsmith/astcopy",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/go-toolsmith/astequal",
"direct": false,
"version": "v1.2.0",
"ecosystem": "go"
},
{
"name": "github.com/go-toolsmith/astfmt",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/go-toolsmith/astp",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/go-toolsmith/strparse",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/go-toolsmith/typep",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/go-viper/mapstructure/v2",
"direct": false,
"version": "v2.5.0",
"ecosystem": "go"
},
{
"name": "github.com/go-xmlfmt/xmlfmt",
"direct": false,
"version": "v1.1.3",
"ecosystem": "go"
},
{
"name": "github.com/gobwas/glob",
"direct": false,
"version": "v0.2.3",
"ecosystem": "go"
},
{
"name": "github.com/godoc-lint/godoc-lint",
"direct": false,
"version": "v0.11.2",
"ecosystem": "go"
},
{
"name": "github.com/gofrs/flock",
"direct": false,
"version": "v0.13.0",
"ecosystem": "go"
},
{
"name": "github.com/golangci/asciicheck",
"direct": false,
"version": "v0.5.0",
"ecosystem": "go"
},
{
"name": "github.com/golangci/dupl",
"direct": false,
"version": "v0.0.0-20250308024227-f665c8d69b32",
"ecosystem": "go"
},
{
"name": "github.com/golangci/go-printf-func-name",
"direct": false,
"version": "v0.1.1",
"ecosystem": "go"
},
{
"name": "github.com/golangci/gofmt",
"direct": false,
"version": "v0.0.0-20250106114630-d62b90e6713d",
"ecosystem": "go"
},
{
"name": "github.com/golangci/golangci-lint/v2",
"direct": false,
"version": "v2.11.4",
"ecosystem": "go"
},
{
"name": "github.com/golangci/golines",
"direct": false,
"version": "v0.15.0",
"ecosystem": "go"
},
{
"name": "github.com/golangci/misspell",
"direct": false,
"version": "v0.8.0",
"ecosystem": "go"
},
{
"name": "github.com/golangci/plugin-module-register",
"direct": false,
"version": "v0.1.2",
"ecosystem": "go"
},
{
"name": "github.com/golangci/revgrep",
"direct": false,
"version": "v0.8.0",
"ecosystem": "go"
},
{
"name": "github.com/golangci/swaggoswag",
"direct": false,
"version": "v0.0.0-20250504205917-77f2aca3143e",
"ecosystem": "go"
},
{
"name": "github.com/golangci/unconvert",
"direct": false,
"version": "v0.0.0-20250410112200-a129a6e6413e",
"ecosystem": "go"
},
{
"name": "github.com/google/go-cmp",
"direct": false,
"version": "v0.7.0",
"ecosystem": "go"
},
{
"name": "github.com/gordonklaus/ineffassign",
"direct": false,
"version": "v0.2.0",
"ecosystem": "go"
},
{
"name": "github.com/gostaticanalysis/analysisutil",
"direct": false,
"version": "v0.7.1",
"ecosystem": "go"
},
{
"name": "github.com/gostaticanalysis/comment",
"direct": false,
"version": "v1.5.0",
"ecosystem": "go"
},
{
"name": "github.com/gostaticanalysis/forcetypeassert",
"direct": false,
"version": "v0.2.0",
"ecosystem": "go"
},
{
"name": "github.com/gostaticanalysis/nilerr",
"direct": false,
"version": "v0.1.2",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-immutable-radix/v2",
"direct": false,
"version": "v2.1.0",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-version",
"direct": false,
"version": "v1.8.0",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/golang-lru/v2",
"direct": false,
"version": "v2.0.7",
"ecosystem": "go"
},
{
"name": "github.com/hexops/gotextdiff",
"direct": false,
"version": "v1.0.3",
"ecosystem": "go"
},
{
"name": "github.com/inconshreveable/mousetrap",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/jackc/pgio",
"direct": false,
"version": "v1.0.0",
"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/jgautheron/goconst",
"direct": false,
"version": "v1.8.2",
"ecosystem": "go"
},
{
"name": "github.com/jingyugao/rowserrcheck",
"direct": false,
"version": "v1.1.1",
"ecosystem": "go"
},
{
"name": "github.com/jjti/go-spancheck",
"direct": false,
"version": "v0.6.5",
"ecosystem": "go"
},
{
"name": "github.com/julz/importas",
"direct": false,
"version": "v0.2.0",
"ecosystem": "go"
},
{
"name": "github.com/kamstrup/intmap",
"direct": false,
"version": "v0.5.2",
"ecosystem": "go"
},
{
"name": "github.com/karamaru-alpha/copyloopvar",
"direct": false,
"version": "v1.2.2",
"ecosystem": "go"
},
{
"name": "github.com/kisielk/errcheck",
"direct": false,
"version": "v1.10.0",
"ecosystem": "go"
},
{
"name": "github.com/kkhaike/contextcheck",
"direct": false,
"version": "v1.1.6",
"ecosystem": "go"
},
{
"name": "github.com/kulti/thelper",
"direct": false,
"version": "v0.7.1",
"ecosystem": "go"
},
{
"name": "github.com/kunwardeep/paralleltest",
"direct": false,
"version": "v1.0.15",
"ecosystem": "go"
},
{
"name": "github.com/lasiar/canonicalheader",
"direct": false,
"version": "v1.1.2",
"ecosystem": "go"
},
{
"name": "github.com/ldez/exptostd",
"direct": false,
"version": "v0.4.5",
"ecosystem": "go"
},
{
"name": "github.com/ldez/gomoddirectives",
"direct": false,
"version": "v0.8.0",
"ecosystem": "go"
},
{
"name": "github.com/ldez/grignotin",
"direct": false,
"version": "v0.10.1",
"ecosystem": "go"
},
{
"name": "github.com/ldez/structtags",
"direct": false,
"version": "v0.6.1",
"ecosystem": "go"
},
{
"name": "github.com/ldez/tagliatelle",
"direct": false,
"version": "v0.7.2",
"ecosystem": "go"
},
{
"name": "github.com/ldez/usetesting",
"direct": false,
"version": "v0.5.0",
"ecosystem": "go"
},
{
"name": "github.com/leonklingele/grouper",
"direct": false,
"version": "v1.1.2",
"ecosystem": "go"
},
{
"name": "github.com/lucasb-eyer/go-colorful",
"direct": false,
"version": "v1.4.0",
"ecosystem": "go"
},
{
"name": "github.com/macabu/inamedparam",
"direct": false,
"version": "v0.2.0",
"ecosystem": "go"
},
{
"name": "github.com/manuelarte/embeddedstructfieldcheck",
"direct": false,
"version": "v0.4.0",
"ecosystem": "go"
},
{
"name": "github.com/manuelarte/funcorder",
"direct": false,
"version": "v0.5.0",
"ecosystem": "go"
},
{
"name": "github.com/maratori/testableexamples",
"direct": false,
"version": "v1.0.1",
"ecosystem": "go"
},
{
"name": "github.com/maratori/testpackage",
"direct": false,
"version": "v1.1.2",
"ecosystem": "go"
},
{
"name": "github.com/masterminds/semver/v3",
"direct": false,
"version": "v3.4.0",
"ecosystem": "go"
},
{
"name": "github.com/matoous/godox",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/mattn/go-colorable",
"direct": false,
"version": "v0.1.14",
"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/mgechev/revive",
"direct": false,
"version": "v1.15.0",
"ecosystem": "go"
},
{
"name": "github.com/mirrexone/unqueryvet",
"direct": false,
"version": "v1.5.4",
"ecosystem": "go"
},
{
"name": "github.com/mitchellh/go-homedir",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/moricho/tparallel",
"direct": false,
"version": "v0.3.2",
"ecosystem": "go"
},
{
"name": "github.com/mschoch/smat",
"direct": false,
"version": "v0.2.0",
"ecosystem": "go"
},
{
"name": "github.com/muesli/termenv",
"direct": false,
"version": "v0.16.0",
"ecosystem": "go"
},
{
"name": "github.com/munnerz/goautoneg",
"direct": false,
"version": "v0.0.0-20191010083416-a7dc8b61c822",
"ecosystem": "go"
},
{
"name": "github.com/nakabonne/nestif",
"direct": false,
"version": "v0.3.1",
"ecosystem": "go"
},
{
"name": "github.com/nishanths/exhaustive",
"direct": false,
"version": "v0.12.0",
"ecosystem": "go"
},
{
"name": "github.com/nishanths/predeclared",
"direct": false,
"version": "v0.2.2",
"ecosystem": "go"
},
{
"name": "github.com/nunnatsa/ginkgolinter",
"direct": false,
"version": "v0.23.0",
"ecosystem": "go"
},
{
"name": "github.com/openpeedeep/depguard/v2",
"direct": false,
"version": "v2.2.1",
"ecosystem": "go"
},
{
"name": "github.com/pkg/errors",
"direct": false,
"version": "v0.9.1",
"ecosystem": "go"
},
{
"name": "github.com/pmezard/go-difflib",
"direct": false,
"version": "v1.0.1-0.20181226105442-5d4384ee4fb2",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/client_golang",
"direct": false,
"version": "v1.22.0",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/client_model",
"direct": false,
"version": "v0.6.2",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/common",
"direct": false,
"version": "v0.63.0",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/procfs",
"direct": false,
"version": "v0.20.1",
"ecosystem": "go"
},
{
"name": "github.com/quasilyte/go-ruleguard",
"direct": false,
"version": "v0.4.5",
"ecosystem": "go"
},
{
"name": "github.com/quasilyte/go-ruleguard/dsl",
"direct": false,
"version": "v0.3.23",
"ecosystem": "go"
},
{
"name": "github.com/quasilyte/gogrep",
"direct": false,
"version": "v0.5.0",
"ecosystem": "go"
},
{
"name": "github.com/quasilyte/regex/syntax",
"direct": false,
"version": "v0.0.0-20210819130434-b3f0c404a727",
"ecosystem": "go"
},
{
"name": "github.com/quasilyte/stdinfo",
"direct": false,
"version": "v0.0.0-20220114132959-f7386bf02567",
"ecosystem": "go"
},
{
"name": "github.com/raeperd/recvcheck",
"direct": false,
"version": "v0.2.0",
"ecosystem": "go"
},
{
"name": "github.com/rivo/uniseg",
"direct": false,
"version": "v0.4.7",
"ecosystem": "go"
},
{
"name": "github.com/rogpeppe/go-internal",
"direct": false,
"version": "v1.15.0",
"ecosystem": "go"
},
{
"name": "github.com/ryancurrah/gomodguard",
"direct": false,
"version": "v1.4.1",
"ecosystem": "go"
},
{
"name": "github.com/ryanrolds/sqlclosecheck",
"direct": false,
"version": "v0.6.0",
"ecosystem": "go"
},
{
"name": "github.com/sagikazarmark/locafero",
"direct": false,
"version": "v0.12.0",
"ecosystem": "go"
},
{
"name": "github.com/sanposhiho/wastedassign/v2",
"direct": false,
"version": "v2.1.0",
"ecosystem": "go"
},
{
"name": "github.com/santhosh-tekuri/jsonschema/v6",
"direct": false,
"version": "v6.0.2",
"ecosystem": "go"
},
{
"name": "github.com/sashamelentyev/interfacebloat",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/sashamelentyev/usestdlibvars",
"direct": false,
"version": "v1.29.0",
"ecosystem": "go"
},
{
"name": "github.com/securego/gosec/v2",
"direct": false,
"version": "v2.24.8-0.20260309165252-619ce2117e08",
"ecosystem": "go"
},
{
"name": "github.com/sirupsen/logrus",
"direct": false,
"version": "v1.9.4",
"ecosystem": "go"
},
{
"name": "github.com/sivchari/containedctx",
"direct": false,
"version": "v1.0.3",
"ecosystem": "go"
},
{
"name": "github.com/sonatard/noctx",
"direct": false,
"version": "v0.5.1",
"ecosystem": "go"
},
{
"name": "github.com/sourcegraph/go-diff",
"direct": false,
"version": "v0.7.0",
"ecosystem": "go"
},
{
"name": "github.com/spf13/afero",
"direct": false,
"version": "v1.15.0",
"ecosystem": "go"
},
{
"name": "github.com/spf13/cast",
"direct": false,
"version": "v1.10.0",
"ecosystem": "go"
},
{
"name": "github.com/spf13/cobra",
"direct": false,
"version": "v1.10.2",
"ecosystem": "go"
},
{
"name": "github.com/spf13/pflag",
"direct": false,
"version": "v1.0.10",
"ecosystem": "go"
},
{
"name": "github.com/spf13/viper",
"direct": false,
"version": "v1.21.0",
"ecosystem": "go"
},
{
"name": "github.com/ssgreg/nlreturn/v2",
"direct": false,
"version": "v2.2.1",
"ecosystem": "go"
},
{
"name": "github.com/stbenjam/no-sprintf-host-port",
"direct": false,
"version": "v0.3.1",
"ecosystem": "go"
},
{
"name": "github.com/stretchr/objx",
"direct": false,
"version": "v0.5.3",
"ecosystem": "go"
},
{
"name": "github.com/subosito/gotenv",
"direct": false,
"version": "v1.6.0",
"ecosystem": "go"
},
{
"name": "github.com/tetafro/godot",
"direct": false,
"version": "v1.5.4",
"ecosystem": "go"
},
{
"name": "github.com/timakin/bodyclose",
"direct": false,
"version": "v0.0.0-20241222091800-1db5c5ca4d67",
"ecosystem": "go"
},
{
"name": "github.com/timonwong/loggercheck",
"direct": false,
"version": "v0.11.0",
"ecosystem": "go"
},
{
"name": "github.com/tomarrell/wrapcheck/v2",
"direct": false,
"version": "v2.12.0",
"ecosystem": "go"
},
{
"name": "github.com/tommy-muehle/go-mnd/v2",
"direct": false,
"version": "v2.5.1",
"ecosystem": "go"
},
{
"name": "github.com/ultraware/funlen",
"direct": false,
"version": "v0.2.0",
"ecosystem": "go"
},
{
"name": "github.com/ultraware/whitespace",
"direct": false,
"version": "v0.2.0",
"ecosystem": "go"
},
{
"name": "github.com/uudashr/gocognit",
"direct": false,
"version": "v1.2.1",
"ecosystem": "go"
},
{
"name": "github.com/uudashr/iface",
"direct": false,
"version": "v1.4.1",
"ecosystem": "go"
},
{
"name": "github.com/xen0n/gosmopolitan",
"direct": false,
"version": "v1.3.0",
"ecosystem": "go"
},
{
"name": "github.com/xo/terminfo",
"direct": false,
"version": "v0.0.0-20220910002029-abceb7e1c41e",
"ecosystem": "go"
},
{
"name": "github.com/yagipy/maintidx",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/yeya24/promlinter",
"direct": false,
"version": "v0.3.0",
"ecosystem": "go"
},
{
"name": "github.com/ykadowak/zerologlint",
"direct": false,
"version": "v0.1.5",
"ecosystem": "go"
},
{
"name": "gitlab.com/bosi/decorder",
"direct": false,
"version": "v0.4.2",
"ecosystem": "go"
},
{
"name": "go-simpler.org/musttag",
"direct": false,
"version": "v0.14.0",
"ecosystem": "go"
},
{
"name": "go-simpler.org/sloglint",
"direct": false,
"version": "v0.11.1",
"ecosystem": "go"
},
{
"name": "go.augendre.info/arangolint",
"direct": false,
"version": "v0.4.0",
"ecosystem": "go"
},
{
"name": "go.augendre.info/fatcontext",
"direct": false,
"version": "v0.9.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.27.1",
"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-20260611194520-c48552f49976",
"ecosystem": "go"
},
{
"name": "golang.org/x/exp/typeparams",
"direct": false,
"version": "v0.0.0-20260209203927-2842357ff358",
"ecosystem": "go"
},
{
"name": "golang.org/x/mod",
"direct": false,
"version": "v0.37.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/sync",
"direct": false,
"version": "v0.21.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/sys",
"direct": false,
"version": "v0.46.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/text",
"direct": false,
"version": "v0.39.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/protobuf",
"direct": false,
"version": "v1.36.11",
"ecosystem": "go"
},
{
"name": "gopkg.in/yaml.v3",
"direct": false,
"version": "v3.0.1",
"ecosystem": "go"
},
{
"name": "honnef.co/go/tools",
"direct": false,
"version": "v0.7.0",
"ecosystem": "go"
},
{
"name": "mvdan.cc/gofumpt",
"direct": false,
"version": "v0.9.2",
"ecosystem": "go"
},
{
"name": "mvdan.cc/unparam",
"direct": false,
"version": "v0.0.0-20251027182757-5beb8c8f8f15",
"ecosystem": "go"
}
],
"collected": true,
"truncated": false,
"total_count": 231,
"direct_count": 25,
"indirect_count": 206
}
},
"maintainership": {
"issues": {
"open_prs": 3,
"merged_prs": 83,
"open_issues": 0,
"closed_ratio": null,
"closed_issues": 0,
"closed_unmerged_prs": 22
},
"bus_factor": 1,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "zinic",
"commits": 166,
"avatar_url": "https://avatars.githubusercontent.com/u/25071?v=4"
},
{
"type": "User",
"login": "ykaiboussiSO",
"commits": 29,
"avatar_url": "https://avatars.githubusercontent.com/u/182781928?v=4"
},
{
"type": "User",
"login": "kpom-specter",
"commits": 23,
"avatar_url": "https://avatars.githubusercontent.com/u/185262305?v=4"
},
{
"type": "User",
"login": "LawsonWillard",
"commits": 18,
"avatar_url": "https://avatars.githubusercontent.com/u/46655228?v=4"
},
{
"type": "User",
"login": "stephanieslamb",
"commits": 13,
"avatar_url": "https://avatars.githubusercontent.com/u/173102465?v=4"
},
{
"type": "User",
"login": "brandonshearin",
"commits": 12,
"avatar_url": "https://avatars.githubusercontent.com/u/23143242?v=4"
},
{
"type": "User",
"login": "seanjSO",
"commits": 11,
"avatar_url": "https://avatars.githubusercontent.com/u/245947690?v=4"
},
{
"type": "User",
"login": "StephenHinck",
"commits": 8,
"avatar_url": "https://avatars.githubusercontent.com/u/12970156?v=4"
},
{
"type": "User",
"login": "urangel",
"commits": 6,
"avatar_url": "https://avatars.githubusercontent.com/u/16910931?v=4"
},
{
"type": "User",
"login": "superlinkx",
"commits": 6,
"avatar_url": "https://avatars.githubusercontent.com/u/466326?v=4"
}
],
"contributors_sampled": 17,
"top_contributor_share": 0.53
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"build.yml",
"conventional-commits.yml",
"go-test.yml",
"run-static-analysis.yml",
"upload-coverage-files.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"
],
"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": 1,
"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": "17 out of 17 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": 6,
"reason": "Found 11/18 approved changesets -- score normalized to 6",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 4 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": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 10,
"reason": "30 commit(s) and 0 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": 9,
"reason": "dependency not pinned by hash detected -- score normalized to 9",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 9,
"reason": "1 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "6638cc2e12160a7be184817af2b5ed41a7dad3da",
"ran_at": "2026-07-29T03:42:03Z",
"aggregate_score": 6.1,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": null,
"oldest_open_prs": [
{
"number": 79,
"created_at": "2026-05-12T23:52:06Z",
"last_comment_at": "2026-05-12T23:52:16Z",
"last_comment_author": "github-actions"
},
{
"number": 101,
"created_at": "2026-06-30T17:21:35Z",
"last_comment_at": "2026-07-22T23:37:03Z",
"last_comment_author": "coderabbitai"
},
{
"number": 107,
"created_at": "2026-07-24T15:23:15Z",
"last_comment_at": "2026-07-24T15:23:23Z",
"last_comment_author": "coderabbitai"
}
],
"last_merged_pr_at": "2026-07-28T14:12:58Z",
"ci_last_conclusion": null,
"oldest_open_issues": []
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/SpecterOps/DAWGS",
"host": "github.com",
"name": "DAWGS",
"owner": "SpecterOps"
},
"metrics": {
"overall": {
"key": "overall",
"band": "excellent",
"name": "Overall health",
"note": "The weighted overall 72 is calibrated to 86 on the published index scale (record calibration 2026-08-02).",
"notes": [
{
"code": "overall_calibration",
"params": {
"raw": 72,
"calibrated": 86,
"calibration": "2026-08-02"
}
}
],
"value": 86,
"inputs": {
"security": 69,
"vitality": 94,
"community": 42,
"governance": 70,
"calibration": "2026-08-02",
"engineering": 76,
"ai_readiness": 84,
"weighted_overall_raw": 72
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "exceptional",
"name": "Vitality",
"value": 94,
"weight": 0.21,
"metrics": [
{
"key": "development_activity",
"band": "excellent",
"name": "Development activity",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"commits_last_year": 257,
"human_commit_share": 1,
"days_since_last_push": 0,
"active_weeks_last_year": 37
},
"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": "37/52 weeks with commits",
"points": 25.6,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 37
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "257 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 257
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "exceptional",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 100,
"inputs": {
"releases_count": 30,
"latest_release_tag": "v0.6.0",
"releases_from_tags": false,
"days_since_latest_release": 27,
"mean_days_between_releases": 8.7
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "30 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 30
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 27 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 27
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~8.7 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 8.7
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "exceptional",
"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": 5,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 5 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 5
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "weak",
"name": "Community & Adoption",
"value": 42,
"weight": 0.17,
"metrics": [
{
"key": "popularity",
"band": "at_risk",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 28,
"inputs": {
"forks": 8,
"stars": 20,
"watchers": 0,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "20 stars",
"points": 20.7,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 20
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "8 forks",
"points": 7,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 8
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "0 watchers",
"points": 0,
"status": "missed",
"details": [
{
"code": "watchers",
"params": {
"count": 0
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "moderate",
"name": "Community health",
"note": null,
"notes": [],
"value": 57,
"inputs": {
"has_readme": true,
"has_license": true,
"readme_badges": null,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": false,
"readme_badge_services": [],
"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": "recognized license (MIT)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "MIT"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 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": 70,
"weight": 0.23,
"metrics": [
{
"key": "maintainer_resilience",
"band": "weak",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 43,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 17,
"top_contributor_share": 0.53
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "1 contributor(s) cover half of all commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 1
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 53% of commits",
"points": 10.6,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 53
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "17 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 17
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 4 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": "Excluded from scoring (no data or not applicable): Issue resolution, Newcomer PR acceptance. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"issue_resolution",
"newcomer_pr_acceptance"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 73,
"inputs": {
"merged_prs": 83,
"open_issues": 0,
"closed_issues": 0,
"prs_merged_7d": null,
"prs_decided_7d": null,
"prs_merged_30d": null,
"prs_decided_30d": null,
"issue_closed_ratio": null,
"closed_unmerged_prs": 22,
"first_time_authors_30d": null,
"first_time_prs_merged_30d": null,
"first_time_prs_decided_30d": null
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "no issues or no data",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_issues_or_data",
"params": {}
}
],
"max_points": 42
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "83/105 decided PRs merged",
"points": 23.7,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 83,
"decided": 105
}
}
],
"max_points": 30
},
{
"key": "newcomer_pr_acceptance",
"name": "Newcomer PR acceptance",
"detail": "no first-time contributor's PR decided in 30d",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_newcomer_prs",
"params": {
"days": 30
}
}
],
"max_points": 13
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 11/18 approved changesets -- score normalized to 6",
"points": 9,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "good",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 77,
"inputs": {
"followers": 1243,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "SpecterOps",
"public_repos": 55,
"account_age_days": 3468
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "1,243 followers of SpecterOps",
"points": 22.3,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 1243,
"login": "SpecterOps"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "55 public repos, account ~9 yr old",
"points": 24.7,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 55
}
},
{
"code": "account_age_years",
"params": {
"years": 9
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "exceptional",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"github.com/specterops/dawgs"
],
"ecosystems": "go",
"any_deprecated": false,
"min_days_since_publish": 35
},
"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 35 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 35
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "40 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 40
}
}
],
"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": "good",
"name": "Engineering Quality",
"value": 76,
"weight": 0.19,
"metrics": [
{
"key": "engineering_practices",
"band": "excellent",
"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": "17 out of 17 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "good",
"name": "Documentation",
"note": null,
"notes": [],
"value": 65,
"inputs": {
"topics": [],
"has_wiki": true,
"homepage": null,
"has_readme": true,
"has_docs_dir": true,
"has_description": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "good",
"name": "Security",
"value": 69,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"packaging",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 61,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 16,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 2,
"scorecard_aggregate": 6.1
},
"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": 0.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "17 out of 17 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": "Found 11/18 approved changesets -- score normalized to 6",
"points": 4.5,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 4 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 not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "30 commit(s) and 0 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 9",
"points": 4.5,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "1 existing vulnerabilities detected",
"points": 6.8,
"status": "partial",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "exceptional",
"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 231 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": 231
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 1,
"affected_packages": 1,
"assessed_packages": 231,
"unassessed_packages": 0,
"affected_by_severity": "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": "exceptional",
"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": 231,
"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": "exceptional",
"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"
],
"commit_weight_rule": {
"min_commits": 50,
"min_commit_share": 0.1
},
"review_only_matches": 0,
"below_threshold_exposures": [],
"assessed_self_published_locations": 9
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "excellent",
"name": "AI Readiness",
"value": 84,
"weight": 0.04,
"metrics": [
{
"key": "ai_agent_context",
"band": "excellent",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.65,
"agent_instruction_files": [
"AGENTS.md"
],
"agent_instruction_max_bytes": 2804
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "AGENTS.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "AGENTS.md"
}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "65 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 34.7,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 65,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "excellent",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 81,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"go.sum"
],
"has_dockerfile": true,
"typed_language": true,
"bootstrap_files": [
"Makefile"
],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [
"go.mod"
],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "Makefile",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Makefile"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": ".golangci.yml",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".golangci.yml"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "Go (statically typed)",
"points": 11,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Go"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "Dockerfile, lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Dockerfile, lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 9",
"points": 9,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "exceptional",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 99,
"inputs": {
"primary_language": "Go",
"largest_source_bytes": 838392,
"source_files_sampled": 392,
"oversized_source_files": 4
},
"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": "4/392 source files over 60KB",
"points": 54.4,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 392,
"oversized": 4
}
}
],
"max_points": 55
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? Carries a deliberately small weight: agent tooling is a real maintenance signal, but its absence must never gate the top of the scale (calibration saturates at raw 91, so 100/100 remains reachable with AI Readiness at zero)."
}
],
"classification": {
"labels": [
"library"
],
"scores": {
"library": 6
},
"primary": "library",
"evidence": [
{
"tier": "distribution",
"label": "library",
"source": "registry:go",
"weight": 6
}
],
"artifacts": [],
"confidence": "medium",
"host_extension": false,
"runs_as_process": false,
"consumed_by_code": true
},
"metrics_version": "2.3.1"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
],
"report_type": "repository",
"generated_at": "2026-07-29T03:42:25.193796Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/s/SpecterOps/DAWGS.svg",
"full_name": "SpecterOps/DAWGS",
"license_state": "standard",
"license_spdx": "MIT"
}