Informe JSON sin procesar legible por máquina
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 72341,
"has_wiki": false,
"homepage": null,
"languages": {
"R": 1561,
"Rust": 772338,
"Shell": 1485,
"Python": 1547
},
"pushed_at": "2026-07-10T08:21:53Z",
"created_at": "2017-12-23T11:43:13Z",
"owner_type": "User",
"updated_at": "2026-07-24T10:25:47Z",
"description": "Read alignment statistics for metagenomics",
"is_archived": false,
"is_disabled": false,
"license_spdx": "GPL-3.0",
"default_branch": "main",
"license_spdx_raw": "GPL-3.0",
"primary_language": "Rust",
"significant_languages": [
"Rust"
]
},
"owner": {
"blog": "https://research.qut.edu.au/cmr/team/ben-woodcroft",
"name": "Ben J Woodcroft",
"type": "User",
"login": "wwood",
"company": "Queensland University of Technology",
"location": "Brisbane, Australia",
"followers": 363,
"avatar_url": "https://avatars.githubusercontent.com/u/15348?v=4",
"created_at": "2008-06-28T03:57:02Z",
"is_verified": null,
"public_repos": 243,
"account_age_days": 6603
},
"license": {
"state": "standard",
"spdx_id": "GPL-3.0",
"raw_spdx": "GPL-3.0",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v0.8.0",
"kind": "minor",
"published_at": "2026-07-08T03:37:16Z"
},
{
"tag": "v0.7.0",
"kind": "minor",
"published_at": "2024-01-19T03:42:31Z"
},
{
"tag": "v0.6.1",
"kind": "patch",
"published_at": "2021-02-24T21:27:38Z"
},
{
"tag": "v0.6.0",
"kind": "minor",
"published_at": "2020-12-10T21:48:20Z"
},
{
"tag": "v0.5.0",
"kind": "minor",
"published_at": "2020-08-31T23:33:46Z"
},
{
"tag": "v0.4.0",
"kind": "minor",
"published_at": "2020-02-20T22:26:43Z"
},
{
"tag": "v0.3.2",
"kind": "patch",
"published_at": "2019-12-14T06:13:30Z"
},
{
"tag": "v0.3.1",
"kind": "patch",
"published_at": "2019-11-15T00:50:59Z"
},
{
"tag": "v0.3.0",
"kind": "minor",
"published_at": "2019-10-11T01:26:09Z"
},
{
"tag": "v0.2.0-alpha7",
"kind": "prerelease",
"published_at": "2019-05-28T02:31:31Z"
},
{
"tag": "v0.2.0-alpha6",
"kind": "prerelease",
"published_at": "2019-03-24T01:25:12Z"
},
{
"tag": "v0.2.0-alpha4",
"kind": "prerelease",
"published_at": "2019-02-09T13:33:05Z"
},
{
"tag": "v0.2.0-alpha3",
"kind": "prerelease",
"published_at": "2019-01-06T23:11:39Z"
}
],
"recent_commits": [
{
"oid": "5501168b14381040e069957fc6d919ce7fd773a7",
"body": "fix strobealign log error",
"is_bot": false,
"headline": "Merge pull request #302 from wwood/strobealign-fix",
"author_name": "Ben J Woodcroft",
"author_login": "wwood",
"committed_at": "2026-07-10T08:21:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6e2701c1150471bcc1b53b17927c986d2dfe1884",
"body": null,
"is_bot": false,
"headline": "fix strobealign log error",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2026-07-10T02:23:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2e5e6c780ec49a1b84f51d870f320ce819a76738",
"body": "…32gv\n\nUpdate finch to 0.6.3 and needletail to 0.7",
"is_bot": false,
"headline": "Merge pull request #301 from wwood/claude/finch-needletail-updates-r6…",
"author_name": "Ben J Woodcroft",
"author_login": "wwood",
"committed_at": "2026-07-09T02:09:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5edb965c64d907e3f091809d95eea5d0e4aab98d",
"body": "finch 0.6.3 requires needletail ^0.7, and needletail carries a\n`links = \"lzma\"` native library, so only one needletail major version\ncan exist in the dependency tree. Move coverm's direct needletail\ndependency from 0.5.* to 0.7.* to match.\n\ngalah is the other consumer of finch/needletail in the tree\n[…]\nnd finch 0.6.*) until a galah release with needletail\n0.7 is published.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01RgeCVEEvbQV5aZR6yST5FU",
"is_bot": false,
"headline": "Update finch to 0.6.3 and needletail to 0.7",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-07-09T01:35:01Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "2714a8e01b57ae735c112e8dbda0b4e0bdc989e8",
"body": null,
"is_bot": false,
"headline": "improve changelog",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2026-07-08T04:10:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3caffdd476992753f53e504e68dce3993e538521",
"body": null,
"is_bot": false,
"headline": "remove windows platform",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2026-07-08T03:22:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "528a7bbe9458988129950f3d18d38282beb8cd50",
"body": null,
"is_bot": false,
"headline": "Release v0.8.0",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2026-07-08T03:08:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "08a3590151e0da49ec83c18cad3f4e381a287568",
"body": null,
"is_bot": false,
"headline": "add demo to exclude",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2026-07-08T03:07:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6d5a893038dea306e291854005759af3549cfbcb",
"body": null,
"is_bot": false,
"headline": "add Cargo.lock",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2026-07-08T02:56:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6821736b0e26d1bb4418840f5cdb51bb68f4adaf",
"body": null,
"is_bot": false,
"headline": "change lto to true in profile.dist",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2026-07-08T02:41:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bc7a26b7f40c6790e41c22c808922dc1df97836b",
"body": null,
"is_bot": false,
"headline": "setup dist and add changelog",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2026-07-08T02:31:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "30b3acdc935ee8e9c8969763df519a4ca0c82e89",
"body": "…th minimap2.",
"is_bot": false,
"headline": "makedb: Improve suggested usage in print, standardise rammap usage wi…",
"author_name": "Ben Woodcroft",
"author_login": "wwood",
"committed_at": "2026-07-07T08:04:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "349930937c3f3a68705e1681f52141016ecb2e9a",
"body": "galah: Adjust for 0.5.2",
"is_bot": false,
"headline": "Merge pull request #299 from wwood/galah_adjust",
"author_name": "Ben J Woodcroft",
"author_login": "wwood",
"committed_at": "2026-07-07T04:57:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8e624608adef31ad09ae8d1b93ab4e5538d9e326",
"body": "… source",
"is_bot": true,
"headline": "Fix manually_check_args_at_runtime to accept --run-checkm2 as quality…",
"author_name": "copilot-swe-agent[bot]",
"author_login": "Copilot",
"committed_at": "2026-07-07T04:47:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f9ef832d10c4ec55e8a8afc481b33a155c0a75fc",
"body": "- Remove harmful `.value_delimiter(' ')` on --dereplication-reference-genomes\n which would incorrectly split single space-containing paths.\n- Actually wire --dereplication-reference-genomes / -list through to\n generate_galah_clusterer instead of always passing None, mirroring\n galah's own referen\n[…]\ning CheckM\n report is supplied, so makedb --run-checkm2 actually runs.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01RLvd19g5t8McWNE8nyTS5x",
"is_bot": false,
"headline": "galah: Address PR review comments on 0.5.2 adjustment",
"author_name": "Ben Woodcroft",
"author_login": "wwood",
"committed_at": "2026-07-07T03:51:25Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "51d222523fc60dc5f1517a92f84397324b080ac7",
"body": null,
"is_bot": false,
"headline": "galah: Adjust for 0.5.2",
"author_name": "Ben Woodcroft",
"author_login": "wwood",
"committed_at": "2026-07-07T02:29:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2c488a391c4a610b905eeed60ac206840e94b2b7",
"body": null,
"is_bot": false,
"headline": "makedb: Add further flags. Fix various docs and bugs.",
"author_name": "Ben Woodcroft",
"author_login": "wwood",
"committed_at": "2026-07-07T00:14:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d1caaf974de98588b76631f6901a38acc318508e",
"body": null,
"is_bot": false,
"headline": "ARCHITECTURE.md: New file.",
"author_name": "Ben Woodcroft",
"author_login": "wwood",
"committed_at": "2026-07-06T03:32:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ad0f131024c862ba930bcbdc76250b86d3a44b05",
"body": "…-ebc0a1\n\nAdd makedb mode to pre-generate mapping databases, and gff",
"is_bot": false,
"headline": "Merge pull request #293 from wwood/claude/per-gene-coverage-reporting…",
"author_name": "Ben J Woodcroft",
"author_login": "wwood",
"committed_at": "2026-07-06T03:16:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "899a5cc35e932d1f32b2da73d576d927f4103c7f",
"body": null,
"is_bot": true,
"headline": "Merge main into makedb branch",
"author_name": "copilot-swe-agent[bot]",
"author_login": "Copilot",
"committed_at": "2026-07-06T02:14:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cff2fe3488430a33704d14a73d78b1e5abf1766c",
"body": "Add minibwa as a mapper",
"is_bot": false,
"headline": "Merge pull request #295 from wwood/minibwa",
"author_name": "Ben J Woodcroft",
"author_login": "wwood",
"committed_at": "2026-07-06T02:08:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7bd614ea7ad476c33510beb6c43cea8310c9d947",
"body": null,
"is_bot": true,
"headline": "Use visible alias for rammap params option",
"author_name": "copilot-swe-agent[bot]",
"author_login": "Copilot",
"committed_at": "2026-07-06T01:58:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "edc2b1f40f4dee5b4ec628b9d2ebe1ce77c2c81f",
"body": null,
"is_bot": true,
"headline": "Clarify rammap single-end test comment",
"author_name": "copilot-swe-agent[bot]",
"author_login": "Copilot",
"committed_at": "2026-07-06T01:56:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3bf83ab192676c7cf5740a79d3b2302a595d9815",
"body": null,
"is_bot": true,
"headline": "Apply rustfmt to merged mapper branches",
"author_name": "copilot-swe-agent[bot]",
"author_login": "Copilot",
"committed_at": "2026-07-06T01:53:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2ad557312120d0ca8a683207db46f100fb389aff",
"body": null,
"is_bot": true,
"headline": "Merge origin/main and resolve mapper conflicts",
"author_name": "copilot-swe-agent[bot]",
"author_login": "Copilot",
"committed_at": "2026-07-06T01:53:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5222aba4ab101387e8029195896a4bf4a5011cd4",
"body": "Commit the rammap linux-64 conda package (1.1.1, build hfa8f182_0) into\nthe frozen lockfile so `pixi run --frozen` installs it in the locked CI\njob, matching how strobealign and bwa-mem2 are pinned. Package hash and\nmetadata taken from the bioconda repodata and verified against the\ndownloaded artifa\n[…]\nndency, libgcc >=14, is already satisfied by libgcc 15.1.0 in the lock.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01D4S2TfmfT9BsYgJF5VDz81",
"is_bot": false,
"headline": "Add rammap to pixi.lock",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-07-06T01:46:10Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "ab03e9ba3bd270951cbf975439d44128da155696",
"body": "rammap's `sr` preset enables fragment mode, which pulls read pairs from a\nsingle input file (this is how rammap maps interleaved reads). For\ngenuinely single-end input (`--single`) that would incorrectly consume\nthe file as interleaved pairs and drop an odd trailing read. Pass\n`--frag no` for ReadFo\n[…]\nmode behaviour.\n\nAdd a single-end rammap smoke test covering this path.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01D4S2TfmfT9BsYgJF5VDz81",
"is_bot": false,
"headline": "Map single-end reads correctly with rammap",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-07-06T01:46:10Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "8af37a01ea58576dac69b226c802317ac8be6646",
"body": "rammap, like bwa-mem2 and strobealign, is only installed on linux-64 (it\nis not available for osx via bioconda). The macOS CI jobs already skip\nthe bwa_mem2 and strobealign tests for this reason; add rammap to that\nskip list so test_make_rammap does not fail for a missing executable.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01D4S2TfmfT9BsYgJF5VDz81",
"is_bot": false,
"headline": "Skip rammap tests on macOS CI",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-07-06T01:46:10Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "97d41cb421dc517ce82f487b8d6ce143031efab9",
"body": "rammap (https://github.com/jwanglab/rammap) is a pure-Rust,\nminimap2-compatible read mapper available on Bioconda. Wire it in as a\nnew `--mapper rammap` choice alongside the existing mappers.\n\n- Add MappingProgram::RAMMAP and handle it in every mapping-program match\n (command construction, index ma\n[…]\n dependency\n list, and pixi test environment; add a `make` smoke test.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01D4S2TfmfT9BsYgJF5VDz81",
"is_bot": false,
"headline": "Add rammap as a mapping option",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-07-06T01:46:10Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "a344ba8fd47ea2a187ea5e5109e52a8d8dc85107",
"body": null,
"is_bot": false,
"headline": "remove minibwa-index arg - not needed",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2026-07-01T01:49:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "060e0569f82a310ad60282747507e2d4d533ca94",
"body": null,
"is_bot": false,
"headline": "add minibwa-use-index arg",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2026-07-01T01:26:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "22e8edb2d299a7a8c10b702b80b8f08040679d64",
"body": null,
"is_bot": false,
"headline": "fix macos tests",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2026-07-01T00:56:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cc8d8a3c8e8f1b7795005530bd01de14990d241b",
"body": null,
"is_bot": false,
"headline": "remove dashing again",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2026-07-01T00:56:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2d21de1771c6fe7e58f2af9106bf07aa5a551d28",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' into minibwa",
"author_name": "Samuel Aroney",
"author_login": "AroneyS",
"committed_at": "2026-07-01T00:49:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "feec618cdf0fb8b8fab73c236c5429d2debf6ba8",
"body": "Update strobealign index to format version 5 for strobealign 0.17.0",
"is_bot": false,
"headline": "Merge pull request #296 from wwood/claude/update-strobealign-db-7hos5n",
"author_name": "Samuel Aroney",
"author_login": "AroneyS",
"committed_at": "2026-07-01T00:47:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fab6c51d598a393b54def3c6e9e0ffa3295ee11a",
"body": "Instead of storing a version-specific strobealign index in git (which\nbreaks whenever strobealign is upgraded to a format that's incompatible\nwith the stored file), generate the index at runtime before the test\nruns. This way the index always matches the currently-installed\nstrobealign version.\n\nAls\n[…]\npendency conflict with\ndashing 0.4.0 over zlib version requirements).\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01BUkWFEp9YRYAVwvVDFudGU",
"is_bot": false,
"headline": "Fix strobealign pregenerated index test to be version-agnostic",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-26T03:25:43Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "5da16a4d5f0b0abcbcc9e63cfe0b5b7797ac99fc",
"body": "Regenerated tests/data/7seqs.fna.r100.sti using strobealign 0.17.0, which\nwrites index format version 5. The old index was version 3, incompatible\nwith strobealign >=0.17.0, causing test_strobealign_pregenerated_index to fail.\n\nAlso bumped the minimum strobealign version in pixi.toml to >=0.17.0 to\nmatch the index format.\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01BUkWFEp9YRYAVwvVDFudGU",
"is_bot": false,
"headline": "Update strobealign index to format version 5 for strobealign 0.17.0",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-26T03:05:55Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "b6b6d29b33e0e3739ae277e7ac9c11f21bcf13bf",
"body": "Integrate minibwa (https://github.com/lh3/minibwa) as a `-p minibwa`\nmapping option, modelled on the existing BWA integration since minibwa is\nBWT-based and requires a pre-built index.\n\n- Index: `minibwa index [-t N] <ref.fa> <out.prefix>` (prefix is a\n positional argument, not `-p`), producing `.l\n[…]\n was only an optional\ngalah precluster method (skani is the default).\n\nAdd assert_cli tests for coupled-read mapping and interleaved rejection.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Add minibwa as a mapper",
"author_name": "Ben Woodcroft",
"author_login": "wwood",
"committed_at": "2026-06-20T05:18:43Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "0b5233a56ddd22083e989cdee924d3167fbffb42",
"body": "When using --gff with --genome-fasta-files, CoverM concatenates the\nreferences and renames contigs to genome<separator>contig, but the\nGenomesAndContigs map is built from the original (un-prefixed) contig\nIDs. Consulting that map first dropped every feature as unassigned.\n\nResolve the genome using t\n[…]\narator ('~') is set, so genes now\nresolve via the prefixed contig name as documented.\n\nAdd a regression test mapping to --genome-fasta-directory with a GFF that\nuses the generated genome~contig names.",
"is_bot": false,
"headline": "genes: Fix genome resolution for generated concatenated references",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-11T23:17:48Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ead1bd1deb5372eeef663fa8c7b0677b4f4e81cb",
"body": "When --gff is given, report the contig each feature lies on as an extra\noutput column, and in genome mode also report the genome. The genome is\nresolved from the genome definition supplied on the command line (genome\nFASTAs, --genome-definition or --separator), and features on contigs not\nassigned t\n[…]\ngenome] entry columns.\n- Pad the synthesised relative_abundance \"unmapped\" row to keep columns\n aligned when entries carry the extra leading columns.\n- Update help text, README and tests accordingly.",
"is_bot": false,
"headline": "genes: Report contig (and genome in genome mode) columns",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-11T12:31:28Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "95435c143d164436f6c537d8cb65964bad3e548f",
"body": "Extend the per-gene coverage feature to `coverm genome`. When `--gff` is\nsupplied, coverage is reported once per gene/feature (using the chosen\nmethod(s)) rather than once per genome, reusing the same gene_coverage\nimplementation as `coverm contig`.\n\n- Add --gff/--gff-feature-type to the genome subc\n[…]\n gene_coverage when --gff is set, and label the\n output column \"Gene\".\n- Document the feature (including the genome~contig renaming caveat) in the\n full help and README, and add an integration test.",
"is_bot": false,
"headline": "genome: Support per-gene coverage via --gff",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-11T12:11:41Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "5eb83f23049679e96eae37ef989854d2e2bea624",
"body": "Add a new `--gff` option to `coverm contig` that reports coverage once per\ngene/feature (using the chosen coverage method(s)) rather than once per\ncontig. The user supplies a GFF (or GTF) file defining the features.\n\nPer-gene coverage is computed by slicing the per-contig pileup for each\nfeature's c\n[…]\n_base, anir) a read is assigned to a feature when its leftmost\nmapped position falls within the feature's coordinates. An optional\n`--gff-feature-type` restricts reporting to features of a given type.",
"is_bot": false,
"headline": "contig: Add --gff option to report coverage per gene",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-10T21:02:51Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4d5a1360caae9986c54b6d2363e8991e564f83c9",
"body": "Address two review comments on PR #290:\n\n- makedb no longer calls check_reference_existence, which for BWA inspects\n pre-existing index files beside the input reference. That made it impossible\n to build, say, a bwa-mem database from a FASTA that already had a bwa-mem2\n index next to it (the part\n[…]\nhe selected thread count to 'strobealign --create-index' via -t, so\n 'coverm makedb -p strobealign -t N' actually indexes with N threads, matching\n the minimap2 path and the --threads documentation.",
"is_bot": false,
"headline": "makedb: validate FASTA directly and honor --threads for strobealign",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-10T10:28:48Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "33dee59d56491b3d2f1076be9e65d96b0b9d32df",
"body": "Replace the is_none()/unwrap() pattern for max_score with a match, which\nclippy's unnecessary_unwrap lint flagged. Behaviour is unchanged: a strictly\nlower score is a loser, an equal score is a tie (pushed), and otherwise (no\nprevious winner, or a strictly higher score) it becomes the new sole winner.\n\nAlso apply rustfmt to the makedb code added in earlier commits. Together this\nlets the cargo-husky pre-commit hook (clippy -D warnings and rustfmt --check)\npass without --no-verify.",
"is_bot": false,
"headline": "Fix clippy unnecessary_unwrap in shard_bam_reader; apply rustfmt",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-10T08:53:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5b42c87d8f1c13b241b5a9d36bcbad473f1e9499",
"body": "Previously 'coverm makedb' rejected strobealign because its index is\nread-length specific and must reside alongside the reference FASTA. Both\nconstraints can be satisfied:\n\n- The read length can be set with --strobealign-params '-r <length>', or\n estimated by passing an example reads file (strobeal\n[…]\n coverm\ncontig, and document the strobealign workflow.\n\n(--no-verify: the pre-commit clippy hook fails on a pre-existing unrelated\nwarning in src/shard_bam_reader.rs under the current clippy version.)",
"is_bot": false,
"headline": "makedb: support strobealign databases via --strobealign-params",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-10T08:45:24Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7d25dade6cb56c4fad5e279e7175cb9df1d5b3c2",
"body": "Add a new 'coverm makedb' subcommand that builds persistent mapping\nindexes (databases) from reference genome or contig FASTA files, so they\ncan be reused across multiple 'coverm contig'/'coverm genome' runs\nwithout re-indexing.\n\nThe kind of database is selected with --mapper, and multiple --mapper\n\n[…]\nEADME and release.sh\n doc generation.\n\nNote: --no-verify used because the pre-commit clippy hook fails on a\npre-existing unrelated warning in src/shard_bam_reader.rs under the\ncurrent clippy version.",
"is_bot": false,
"headline": "Add makedb mode to pre-generate mapping databases",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-10T07:57:40Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "789b2f064655129cf321fbda31a57edd4be2afbb",
"body": null,
"is_bot": false,
"headline": "Fixed broken bioconda link",
"author_name": "Jack Hagen",
"author_login": "ThisIsNotANamepng",
"committed_at": "2026-04-08T23:41:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b75eb6c90b00af4e8fdd6c691efdcc299e8c887c",
"body": null,
"is_bot": false,
"headline": "README: Update run dev command to use release mode",
"author_name": "Ben J Woodcroft",
"author_login": "wwood",
"committed_at": "2026-01-16T22:05:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "55f5b15011dba4b8f54cde1fb58c01c10aa0a2f7",
"body": null,
"is_bot": false,
"headline": "pixi: Make coverm a project so it can be a source package.",
"author_name": "Ben Woodcroft",
"author_login": "wwood",
"committed_at": "2026-01-13T22:22:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "64a42cc1b46bdd089e062e0215aea62730966820",
"body": "Suggested by: Steven Robbins.",
"is_bot": false,
"headline": "coverm: Add -p minimap2-lr-hq option.",
"author_name": "Ben Woodcroft",
"author_login": "wwood",
"committed_at": "2026-01-09T03:33:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f835439452a3c12fd1732b9a7b8347c7c0e71ee4",
"body": null,
"is_bot": false,
"headline": "AGENTS.md: Initial effort.",
"author_name": "Ben J Woodcroft",
"author_login": "wwood",
"committed_at": "2026-01-09T03:20:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c91a9b923da819cee8515ba249b413adc8289edb",
"body": "…ory (#266)\n\n* Refactor BAM cache path helper\n\n* Revert generated docs\n\n* Rename BAM cache flags\n\n* test: cover cache directory legacy flag in genome",
"is_bot": false,
"headline": "Add option to name cached BAM outputs, rename --bam-file-cache-direct…",
"author_name": "Ben J Woodcroft",
"author_login": "wwood",
"committed_at": "2025-08-23T00:45:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "426a917845cce11cdd0b2f7418b245013fe254e1",
"body": null,
"is_bot": false,
"headline": "fmt: Apply it.",
"author_name": "Ben Woodcroft",
"author_login": "wwood",
"committed_at": "2025-07-29T00:52:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7399404cdc6ee9861fb46635035c112c211919df",
"body": null,
"is_bot": false,
"headline": "clippy: Apply it.",
"author_name": "Ben Woodcroft",
"author_login": "wwood",
"committed_at": "2025-07-29T00:52:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2d64a05aa242d7adba35f0ed3afbb6733890e246",
"body": "Reported by: @sarehaghababaee\nhttps://github.com/wwood/CoverM/discussions/263",
"is_bot": false,
"headline": "genome: Do not require checkm-tab-table when min-completeness.",
"author_name": "Ben Woodcroft",
"author_login": "wwood",
"committed_at": "2025-07-29T00:51:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "249e882e441ecb773cda9a2f300ea91e5ba361c8",
"body": null,
"is_bot": false,
"headline": "test: filter: Towards large header BAM inputs.",
"author_name": "Ben Woodcroft",
"author_login": "wwood",
"committed_at": "2025-07-23T01:26:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2bc226b258d72f564c74292d6cee22bfcce8c419",
"body": null,
"is_bot": false,
"headline": "add tolerance to no zeros tests",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2025-07-22T06:58:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "86ce10df5be3380de7db33d4a0b9c596afaae27b",
"body": null,
"is_bot": false,
"headline": "update galah to include contig clustering",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2025-07-22T04:07:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7eb2a26890507e8a67721936ff98d89c297c6612",
"body": null,
"is_bot": false,
"headline": "update pixi.lock",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2025-07-22T04:07:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "06ad7633c9a59107355c37eb80cb74d5694b04b3",
"body": null,
"is_bot": false,
"headline": "restrict minimap to below v2.29",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2025-07-22T04:07:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8d9e547f7c28810ce1f26d3986cdfcf34d5b73c1",
"body": null,
"is_bot": false,
"headline": "add osx-arm64 to supported platforms",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2025-07-22T04:07:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "252d4fa8238004458b0c482ae90d8b82ecafec49",
"body": null,
"is_bot": false,
"headline": "switch to proper pixi platform defined dependencies",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2025-07-22T04:07:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ee2c1330aa6926efac48f0ea6a2c8df4506a7e42",
"body": null,
"is_bot": false,
"headline": "fix test envs",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2025-07-22T04:07:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f7b670d79460d1b4937d8dd2ed4ec19717c54093",
"body": null,
"is_bot": false,
"headline": "switch to pixi",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2025-07-22T04:07:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a40ff65d1419a75f8862828d831b204ff61cc406",
"body": null,
"is_bot": false,
"headline": "fix clippy",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2025-07-22T04:07:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9f9118aac39eb1a7ecf22220acc330d9e856a70e",
"body": "* Fix ANIr example and add test\n\n* Fix ANIr calculation\n\n* fix unused assignment warning",
"is_bot": false,
"headline": "Add ANIr coverage method (#258)",
"author_name": "Ben J Woodcroft",
"author_login": "wwood",
"committed_at": "2025-07-17T05:59:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e062091b0263172648332e7c591a5603def049a6",
"body": null,
"is_bot": false,
"headline": "README: Clarify rpkm/tpm is for contigs/genomes, not genes. Fixed #248.",
"author_name": "Ben Woodcroft",
"author_login": "wwood",
"committed_at": "2025-05-01T02:53:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e67a92f621c02c71bcd0a781f226f8836fbddcde",
"body": null,
"is_bot": false,
"headline": "update citation to match github docs (#251)",
"author_name": "Samuel Aroney",
"author_login": "AroneyS",
"committed_at": "2025-04-29T23:44:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4a425fb280b85cdaf1a100f8f933172360226578",
"body": "* update citation\n\n* update citation with more info",
"is_bot": false,
"headline": "update citation (#250)",
"author_name": "Samuel Aroney",
"author_login": "AroneyS",
"committed_at": "2025-04-28T23:29:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9214faa29a96d35a8fe09d309c594a94819993c0",
"body": null,
"is_bot": false,
"headline": "tests: Harden.",
"author_name": "Ben Woodcroft",
"author_login": "wwood",
"committed_at": "2025-03-28T04:08:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8a9a89fa1a631bda345ca98d209c9f28231ceb6a",
"body": null,
"is_bot": false,
"headline": "test: Add one for #295.",
"author_name": "Ben Woodcroft",
"author_login": "wwood",
"committed_at": "2025-03-28T03:23:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "74e217600edb199562e5e8d8f6f50850dbc04255",
"body": "Update demo",
"is_bot": false,
"headline": "Merge pull request #240 from wwood/add-demo",
"author_name": "Ben J Woodcroft",
"author_login": "wwood",
"committed_at": "2025-03-25T06:43:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9325ef517baa603f1a4e3064bcecc51de0511bc5",
"body": null,
"is_bot": false,
"headline": "add markdown tables for outputs",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2025-03-24T01:21:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ccc2eed4b7aaa2548099a0d09107e920198a3f1f",
"body": null,
"is_bot": false,
"headline": "rewording",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2025-03-23T23:51:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "81be1c595fa1f09f96b78f2fb88040aa71fe3a2a",
"body": null,
"is_bot": false,
"headline": "remove coverage from \"coverage metrics\"",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2025-03-23T23:49:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9ecc745a942bf20779b47c2b07df6b44e26f6ae5",
"body": null,
"is_bot": false,
"headline": "put user into demo folder",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2025-03-23T23:49:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d42696d7334c2018090db4f9af0772118ad63fe7",
"body": null,
"is_bot": false,
"headline": "move demo before calculation methods",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2025-03-23T23:47:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d8a21393b2e8a61c67499f812ad3a8b16ce8b07b",
"body": null,
"is_bot": false,
"headline": "add more details to the demo",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2025-02-28T01:58:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "25ea3ca74c4f675a61dc7c37ce61ad34a3945799",
"body": "Add demo",
"is_bot": false,
"headline": "Merge pull request #239 from wwood/add-demo",
"author_name": "Samuel Aroney",
"author_login": "AroneyS",
"committed_at": "2025-02-27T02:56:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "93a2549c033ea82b8bc33d528887ae85f46bd94e",
"body": null,
"is_bot": false,
"headline": "demo: add more details",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2025-02-27T02:55:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8964a2aa1326e369d2d2513718ab44d9253ae6b0",
"body": null,
"is_bot": false,
"headline": "add demo content and walkthrough",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2025-02-26T04:32:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e8cd947a9aa17b47f7cca7cb2b19f53e87e64a94",
"body": null,
"is_bot": false,
"headline": "README.md: Add citation.",
"author_name": "Ben Woodcroft",
"author_login": "wwood",
"committed_at": "2025-01-28T00:54:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eb27cfb31a7bb7ce2375f6bc3cb22b1d65ab3afb",
"body": "Add arxiv doi",
"is_bot": false,
"headline": "Merge pull request #237 from wwood/AroneyS-patch-2",
"author_name": "Ben J Woodcroft",
"author_login": "wwood",
"committed_at": "2025-01-28T00:34:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "38bee0f2ef6e4bb83d671d4af937d55246b21819",
"body": "add strobealign to dependencies",
"is_bot": false,
"headline": "Merge pull request #235 from wwood/update-readme",
"author_name": "Ben J Woodcroft",
"author_login": "wwood",
"committed_at": "2025-01-28T00:33:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "04ff45c963227637a0048b786cc5568aa0706e60",
"body": null,
"is_bot": false,
"headline": "Add arxiv doi",
"author_name": "Samuel Aroney",
"author_login": "AroneyS",
"committed_at": "2025-01-27T22:25:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5e3c9cf5aeb8e10f973c21997e5365046b693fcd",
"body": "Fixes #108\nReported by: @LvbBo",
"is_bot": false,
"headline": "genomes_and_contigs: Improve error message for non-unique contig names.",
"author_name": "Ben Woodcroft",
"author_login": "wwood",
"committed_at": "2025-01-25T21:42:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "946ff4b17af520521d4133359a471cf9921e7112",
"body": "Update title",
"is_bot": false,
"headline": "Merge pull request #236 from wwood/AroneyS-patch-1",
"author_name": "Ben J Woodcroft",
"author_login": "wwood",
"committed_at": "2025-01-14T00:38:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f60206fe31653fff5c8ea5bf017b5fd9be828e93",
"body": null,
"is_bot": false,
"headline": "Update CITATION.cff",
"author_name": "Samuel Aroney",
"author_login": "AroneyS",
"committed_at": "2025-01-14T00:34:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e782c997bfe5538497391066df43661fcc52206b",
"body": null,
"is_bot": false,
"headline": "add \"one of\"",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2024-12-18T23:25:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "83588d7366a09609a19eb2062072e5c194d64d01",
"body": null,
"is_bot": false,
"headline": "add strobealign to dependencies",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2024-12-18T05:05:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e9938d35847b97e3ece5c1721b50c8a07e500e81",
"body": "fix dereplication docs",
"is_bot": false,
"headline": "Merge pull request #231 from wwood/fix-docs",
"author_name": "Ben J Woodcroft",
"author_login": "wwood",
"committed_at": "2024-12-05T03:50:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "446e4250f6645c1119ec812a8b21a63154151660",
"body": null,
"is_bot": false,
"headline": "fix skani case",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2024-12-05T02:51:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "38618c543b1cf88741c5bdebd33ca067940395d6",
"body": null,
"is_bot": false,
"headline": "fix dereplication docs",
"author_name": "AroneyS",
"author_login": "AroneyS",
"committed_at": "2024-12-05T01:10:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cb7b4583e9ae0e05b547ee5ad34afcbec63aad2d",
"body": "Strobealign aemb",
"is_bot": false,
"headline": "Merge pull request #225 from wwood/strobealign-aemb",
"author_name": "Ben J Woodcroft",
"author_login": "wwood",
"committed_at": "2024-10-22T23:27:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "31e28b4eac3d9dba7fc7f546fe00518da60ff36b",
"body": null,
"is_bot": false,
"headline": "test: Fix syntax.",
"author_name": "Ben Woodcroft",
"author_login": "wwood",
"committed_at": "2024-10-22T23:23:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "74f99d118de897c0d626cf478dac3bd9ba48c753",
"body": null,
"is_bot": false,
"headline": "Cargo.toml: Downgrade htslib to 0.46.",
"author_name": "Ben Woodcroft",
"author_login": "wwood",
"committed_at": "2024-10-22T23:09:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a5ea22030179e4730406666d6a5946e4443eb9eb",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' into strobealign-aemb",
"author_name": "Ben J Woodcroft",
"author_login": "wwood",
"committed_at": "2024-10-22T22:58:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f3855fd17699848bc496a20f8c0a17a22f68af9b",
"body": "Reported by: Hongyu Duan.",
"is_bot": false,
"headline": "lib: Accept u32 NM tags.",
"author_name": "Ben Woodcroft",
"author_login": "wwood",
"committed_at": "2024-10-22T22:37:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0829d962a0c9008fc63eb67a1dde384e341ab706",
"body": null,
"is_bot": false,
"headline": "strobealign: Adjust for v4 databases.",
"author_name": "Ben Woodcroft",
"author_login": "wwood",
"committed_at": "2024-10-06T21:54:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f93e739395373420f3f089180cb3ad8b4e8ff14e",
"body": "Fixes #219.\n\nSuggested by: @SDmetagenomics.",
"is_bot": false,
"headline": "mapq filtering: Implement it.",
"author_name": "Ben Woodcroft",
"author_login": "wwood",
"committed_at": "2024-10-06T21:54:21Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 13,
"commits_last_year": 55,
"latest_release_at": "2026-07-08T03:37:16Z",
"latest_release_tag": "v0.8.0",
"releases_from_tags": false,
"days_since_last_push": 17,
"active_weeks_last_year": 10,
"days_since_latest_release": 19,
"mean_days_between_releases": 288.7
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": false,
"health_percentage": 42,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "coverm",
"exists": true,
"license": "GPL-3.0",
"keywords": [],
"ecosystem": "crates",
"matches_repo": true,
"registry_url": "https://crates.io/crates/coverm",
"is_deprecated": false,
"latest_version": "0.8.0",
"repository_url": "https://github.com/wwood/CoverM",
"versions_count": 11,
"total_downloads": 16928,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": 40,
"first_published_at": "2019-03-24T01:51:41.729243Z",
"latest_published_at": "2026-07-08T03:08:36.708976Z",
"latest_version_yanked": false,
"days_since_latest_publish": 19
}
]
},
"popularity": {
"forks": 37,
"stars": 402,
"watchers": 9,
"fork_history": {
"days": [
{
"date": "2019-12-29",
"count": 1
},
{
"date": "2020-02-23",
"count": 1
},
{
"date": "2020-04-03",
"count": 1
},
{
"date": "2020-04-11",
"count": 1
},
{
"date": "2020-05-21",
"count": 1
},
{
"date": "2020-05-23",
"count": 1
},
{
"date": "2021-01-14",
"count": 1
},
{
"date": "2021-09-23",
"count": 1
},
{
"date": "2021-10-13",
"count": 1
},
{
"date": "2021-11-11",
"count": 1
},
{
"date": "2021-12-16",
"count": 1
},
{
"date": "2022-01-19",
"count": 1
},
{
"date": "2022-02-26",
"count": 1
},
{
"date": "2022-04-06",
"count": 1
},
{
"date": "2022-04-10",
"count": 1
},
{
"date": "2022-06-27",
"count": 1
},
{
"date": "2022-10-27",
"count": 1
},
{
"date": "2022-10-29",
"count": 1
},
{
"date": "2023-02-22",
"count": 1
},
{
"date": "2023-04-22",
"count": 1
},
{
"date": "2023-04-26",
"count": 1
},
{
"date": "2023-08-31",
"count": 1
},
{
"date": "2024-01-16",
"count": 1
},
{
"date": "2024-01-23",
"count": 1
},
{
"date": "2024-01-24",
"count": 1
},
{
"date": "2024-08-26",
"count": 1
},
{
"date": "2024-09-23",
"count": 1
},
{
"date": "2024-10-25",
"count": 1
},
{
"date": "2025-01-25",
"count": 1
},
{
"date": "2025-02-03",
"count": 1
},
{
"date": "2025-03-04",
"count": 1
},
{
"date": "2025-04-10",
"count": 1
},
{
"date": "2025-06-26",
"count": 1
},
{
"date": "2025-12-10",
"count": 1
},
{
"date": "2026-01-19",
"count": 1
},
{
"date": "2026-04-08",
"count": 1
},
{
"date": "2026-04-17",
"count": 1
}
],
"complete": true,
"collected": 37,
"total_forks": 37
},
"star_history": null,
"open_issues_and_prs": 68
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [
"Cargo.toml"
],
"largest_source_bytes": 157623,
"source_files_sampled": 21,
"oversized_source_files": 4,
"agent_instruction_files": [
"AGENTS.md"
],
"agent_instruction_max_bytes": 289
},
"dependencies": {
"manifests": [
"Cargo.toml"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "capnp",
"direct": false,
"version": "0.14.11",
"severity": "critical",
"ecosystem": "crates",
"cvss_score": 9.8,
"advisory_ids": [
"GHSA-5w5r-mf82-595p",
"RUSTSEC-2025-0143"
],
"fixed_version": "0.24.0",
"advisory_count": 2,
"oldest_advisory_days": 214
},
{
"name": "failure",
"direct": false,
"version": "0.1.8",
"severity": "critical",
"ecosystem": "crates",
"cvss_score": 9.8,
"advisory_ids": [
"GHSA-jq66-xh47-j9f3",
"GHSA-r98r-j25q-rmpr",
"RUSTSEC-2019-0036",
"RUSTSEC-2020-0036"
],
"fixed_version": null,
"advisory_count": 4,
"oldest_advisory_days": 2447
},
{
"name": "remove_dir_all",
"direct": false,
"version": "0.5.3",
"severity": "low",
"ecosystem": "crates",
"cvss_score": null,
"advisory_ids": [
"GHSA-mc8h-8q98-g5hr",
"RUSTSEC-2023-0018"
],
"fixed_version": "0.8.0",
"advisory_count": 2,
"oldest_advisory_days": 1248
},
{
"name": "ansi_term",
"direct": true,
"version": "0.12.1",
"severity": "unknown",
"ecosystem": "crates",
"cvss_score": null,
"advisory_ids": [
"RUSTSEC-2021-0139"
],
"fixed_version": null,
"advisory_count": 1,
"oldest_advisory_days": 1803
},
{
"name": "tempdir",
"direct": true,
"version": "0.3.7",
"severity": "unknown",
"ecosystem": "crates",
"cvss_score": null,
"advisory_ids": [
"RUSTSEC-2018-0017"
],
"fixed_version": null,
"advisory_count": 1,
"oldest_advisory_days": 3085
},
{
"name": "bincode",
"direct": false,
"version": "1.3.3",
"severity": "unknown",
"ecosystem": "crates",
"cvss_score": null,
"advisory_ids": [
"RUSTSEC-2025-0141"
],
"fixed_version": null,
"advisory_count": 1,
"oldest_advisory_days": 222
},
{
"name": "crossbeam-epoch",
"direct": false,
"version": "0.9.18",
"severity": "unknown",
"ecosystem": "crates",
"cvss_score": null,
"advisory_ids": [
"RUSTSEC-2026-0204"
],
"fixed_version": "0.9.20",
"advisory_count": 1,
"oldest_advisory_days": 20
},
{
"name": "custom_derive",
"direct": false,
"version": "0.1.7",
"severity": "unknown",
"ecosystem": "crates",
"cvss_score": null,
"advisory_ids": [
"RUSTSEC-2025-0058"
],
"fixed_version": null,
"advisory_count": 1,
"oldest_advisory_days": 322
},
{
"name": "difference",
"direct": false,
"version": "2.0.0",
"severity": "unknown",
"ecosystem": "crates",
"cvss_score": null,
"advisory_ids": [
"RUSTSEC-2020-0095"
],
"fixed_version": null,
"advisory_count": 1,
"oldest_advisory_days": 2044
},
{
"name": "fxhash",
"direct": false,
"version": "0.2.1",
"severity": "unknown",
"ecosystem": "crates",
"cvss_score": null,
"advisory_ids": [
"RUSTSEC-2025-0057"
],
"fixed_version": null,
"advisory_count": 1,
"oldest_advisory_days": 324
},
{
"name": "memmap",
"direct": false,
"version": "0.7.0",
"severity": "unknown",
"ecosystem": "crates",
"cvss_score": null,
"advisory_ids": [
"RUSTSEC-2020-0077"
],
"fixed_version": "0.7.1-0",
"advisory_count": 1,
"oldest_advisory_days": 2062
},
{
"name": "paste",
"direct": false,
"version": "1.0.15",
"severity": "unknown",
"ecosystem": "crates",
"cvss_score": null,
"advisory_ids": [
"RUSTSEC-2024-0436"
],
"fixed_version": null,
"advisory_count": 1,
"oldest_advisory_days": 657
},
{
"name": "proc-macro-error2",
"direct": false,
"version": "2.0.1",
"severity": "unknown",
"ecosystem": "crates",
"cvss_score": null,
"advisory_ids": [
"RUSTSEC-2026-0173"
],
"fixed_version": null,
"advisory_count": 1,
"oldest_advisory_days": 49
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"low": 1,
"unknown": 10,
"critical": 2
},
"advisory_count": 18,
"affected_count": 13,
"assessed_count": 255,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 2
},
"ecosystems": [
"crates"
],
"dependencies": [
{
"name": "bio",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "2.0.*"
},
{
"name": "rust-htslib",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.46.*"
},
{
"name": "clap",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "4.*"
},
{
"name": "clap_complete",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "4.*"
},
{
"name": "log",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.4.*"
},
{
"name": "env_logger",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.11.*"
},
{
"name": "nix",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.29.*"
},
{
"name": "tempdir",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.3.*"
},
{
"name": "tempfile",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "3.*"
},
{
"name": "ansi_term",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.12"
},
{
"name": "lazy_static",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1.4.0"
},
{
"name": "rand",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.8.*"
},
{
"name": "serde",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1.0"
},
{
"name": "version-compare",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.2.0"
},
{
"name": "bird_tool_utils",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": ">=0.5.2, <0.6.0"
},
{
"name": "galah",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "bird_tool_utils-man",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.4.0"
},
{
"name": "roff",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.2.*"
},
{
"name": "needletail",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.7.*"
},
{
"name": "csv",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1.*"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "ansi_term",
"direct": true,
"version": "0.12.1",
"ecosystem": "crates"
},
{
"name": "bio",
"direct": true,
"version": "2.0.3",
"ecosystem": "crates"
},
{
"name": "bird_tool_utils",
"direct": true,
"version": "0.5.2",
"ecosystem": "crates"
},
{
"name": "bird_tool_utils-man",
"direct": true,
"version": "0.4.0",
"ecosystem": "crates"
},
{
"name": "clap",
"direct": true,
"version": "4.6.1",
"ecosystem": "crates"
},
{
"name": "clap_complete",
"direct": true,
"version": "4.6.6",
"ecosystem": "crates"
},
{
"name": "csv",
"direct": true,
"version": "1.4.0",
"ecosystem": "crates"
},
{
"name": "env_logger",
"direct": true,
"version": "0.10.2",
"ecosystem": "crates"
},
{
"name": "env_logger",
"direct": true,
"version": "0.11.11",
"ecosystem": "crates"
},
{
"name": "galah",
"direct": true,
"version": "0.5.2",
"ecosystem": "crates"
},
{
"name": "lazy_static",
"direct": true,
"version": "1.5.0",
"ecosystem": "crates"
},
{
"name": "log",
"direct": true,
"version": "0.4.33",
"ecosystem": "crates"
},
{
"name": "needletail",
"direct": true,
"version": "0.7.3",
"ecosystem": "crates"
},
{
"name": "nix",
"direct": true,
"version": "0.29.0",
"ecosystem": "crates"
},
{
"name": "rand",
"direct": true,
"version": "0.4.6",
"ecosystem": "crates"
},
{
"name": "rand",
"direct": true,
"version": "0.8.6",
"ecosystem": "crates"
},
{
"name": "roff",
"direct": true,
"version": "0.1.0",
"ecosystem": "crates"
},
{
"name": "roff",
"direct": true,
"version": "0.2.2",
"ecosystem": "crates"
},
{
"name": "rust-htslib",
"direct": true,
"version": "0.46.0",
"ecosystem": "crates"
},
{
"name": "serde",
"direct": true,
"version": "1.0.228",
"ecosystem": "crates"
},
{
"name": "tempdir",
"direct": true,
"version": "0.3.7",
"ecosystem": "crates"
},
{
"name": "tempfile",
"direct": true,
"version": "3.27.0",
"ecosystem": "crates"
},
{
"name": "version-compare",
"direct": true,
"version": "0.2.1",
"ecosystem": "crates"
},
{
"name": "addr2line",
"direct": false,
"version": "0.25.1",
"ecosystem": "crates"
},
{
"name": "adler2",
"direct": false,
"version": "2.0.1",
"ecosystem": "crates"
},
{
"name": "aho-corasick",
"direct": false,
"version": "1.1.4",
"ecosystem": "crates"
},
{
"name": "anstream",
"direct": false,
"version": "1.0.0",
"ecosystem": "crates"
},
{
"name": "anstyle",
"direct": false,
"version": "1.0.14",
"ecosystem": "crates"
},
{
"name": "anstyle-parse",
"direct": false,
"version": "1.0.0",
"ecosystem": "crates"
},
{
"name": "anstyle-query",
"direct": false,
"version": "1.1.5",
"ecosystem": "crates"
},
{
"name": "anstyle-wincon",
"direct": false,
"version": "3.0.11",
"ecosystem": "crates"
},
{
"name": "anyhow",
"direct": false,
"version": "1.0.103",
"ecosystem": "crates"
},
{
"name": "approx",
"direct": false,
"version": "0.5.1",
"ecosystem": "crates"
},
{
"name": "assert_cli",
"direct": false,
"version": "0.6.3",
"ecosystem": "crates"
},
{
"name": "autocfg",
"direct": false,
"version": "1.5.1",
"ecosystem": "crates"
},
{
"name": "backtrace",
"direct": false,
"version": "0.3.76",
"ecosystem": "crates"
},
{
"name": "bincode",
"direct": false,
"version": "1.3.3",
"ecosystem": "crates"
},
{
"name": "bio-types",
"direct": false,
"version": "1.0.4",
"ecosystem": "crates"
},
{
"name": "bit-set",
"direct": false,
"version": "0.8.0",
"ecosystem": "crates"
},
{
"name": "bit-vec",
"direct": false,
"version": "0.8.0",
"ecosystem": "crates"
},
{
"name": "bitflags",
"direct": false,
"version": "1.3.2",
"ecosystem": "crates"
},
{
"name": "bitflags",
"direct": false,
"version": "2.13.0",
"ecosystem": "crates"
},
{
"name": "buffer-redux",
"direct": false,
"version": "1.1.0",
"ecosystem": "crates"
},
{
"name": "bv",
"direct": false,
"version": "0.11.1",
"ecosystem": "crates"
},
{
"name": "bytecount",
"direct": false,
"version": "0.6.9",
"ecosystem": "crates"
},
{
"name": "bytemuck",
"direct": false,
"version": "1.25.0",
"ecosystem": "crates"
},
{
"name": "byteorder",
"direct": false,
"version": "1.5.0",
"ecosystem": "crates"
},
{
"name": "bzip2",
"direct": false,
"version": "0.6.1",
"ecosystem": "crates"
},
{
"name": "capnp",
"direct": false,
"version": "0.14.11",
"ecosystem": "crates"
},
{
"name": "cargo-husky",
"direct": false,
"version": "1.5.0",
"ecosystem": "crates"
},
{
"name": "cc",
"direct": false,
"version": "1.2.65",
"ecosystem": "crates"
},
{
"name": "cfg-if",
"direct": false,
"version": "1.0.4",
"ecosystem": "crates"
},
{
"name": "cfg_aliases",
"direct": false,
"version": "0.2.1",
"ecosystem": "crates"
},
{
"name": "checkm",
"direct": false,
"version": "0.3.0",
"ecosystem": "crates"
},
{
"name": "clap_builder",
"direct": false,
"version": "4.6.0",
"ecosystem": "crates"
},
{
"name": "clap_lex",
"direct": false,
"version": "1.1.0",
"ecosystem": "crates"
},
{
"name": "cmake",
"direct": false,
"version": "0.1.58",
"ecosystem": "crates"
},
{
"name": "colorchoice",
"direct": false,
"version": "1.0.5",
"ecosystem": "crates"
},
{
"name": "colored",
"direct": false,
"version": "1.9.4",
"ecosystem": "crates"
},
{
"name": "concurrent-queue",
"direct": false,
"version": "2.5.0",
"ecosystem": "crates"
},
{
"name": "crc32fast",
"direct": false,
"version": "1.5.0",
"ecosystem": "crates"
},
{
"name": "crossbeam-deque",
"direct": false,
"version": "0.8.6",
"ecosystem": "crates"
},
{
"name": "crossbeam-epoch",
"direct": false,
"version": "0.9.18",
"ecosystem": "crates"
},
{
"name": "crossbeam-utils",
"direct": false,
"version": "0.8.21",
"ecosystem": "crates"
},
{
"name": "csv-core",
"direct": false,
"version": "0.1.13",
"ecosystem": "crates"
},
{
"name": "custom_derive",
"direct": false,
"version": "0.1.7",
"ecosystem": "crates"
},
{
"name": "defmt",
"direct": false,
"version": "1.1.0",
"ecosystem": "crates"
},
{
"name": "defmt-macros",
"direct": false,
"version": "1.1.0",
"ecosystem": "crates"
},
{
"name": "defmt-parser",
"direct": false,
"version": "1.0.0",
"ecosystem": "crates"
},
{
"name": "derive-new",
"direct": false,
"version": "0.5.9",
"ecosystem": "crates"
},
{
"name": "derive-new",
"direct": false,
"version": "0.6.0",
"ecosystem": "crates"
},
{
"name": "difference",
"direct": false,
"version": "2.0.0",
"ecosystem": "crates"
},
{
"name": "disjoint",
"direct": false,
"version": "0.8.0",
"ecosystem": "crates"
},
{
"name": "displaydoc",
"direct": false,
"version": "0.2.6",
"ecosystem": "crates"
},
{
"name": "editdistancek",
"direct": false,
"version": "1.0.2",
"ecosystem": "crates"
},
{
"name": "either",
"direct": false,
"version": "1.16.0",
"ecosystem": "crates"
},
{
"name": "enum-map",
"direct": false,
"version": "2.7.3",
"ecosystem": "crates"
},
{
"name": "enum-map-derive",
"direct": false,
"version": "0.17.0",
"ecosystem": "crates"
},
{
"name": "env_filter",
"direct": false,
"version": "2.0.0",
"ecosystem": "crates"
},
{
"name": "environment",
"direct": false,
"version": "0.1.1",
"ecosystem": "crates"
},
{
"name": "equivalent",
"direct": false,
"version": "1.0.2",
"ecosystem": "crates"
},
{
"name": "errno",
"direct": false,
"version": "0.3.14",
"ecosystem": "crates"
},
{
"name": "failure",
"direct": false,
"version": "0.1.8",
"ecosystem": "crates"
},
{
"name": "failure_derive",
"direct": false,
"version": "0.1.8",
"ecosystem": "crates"
},
{
"name": "fastrand",
"direct": false,
"version": "2.4.1",
"ecosystem": "crates"
},
{
"name": "feature-probe",
"direct": false,
"version": "0.1.1",
"ecosystem": "crates"
},
{
"name": "finch",
"direct": false,
"version": "0.6.3",
"ecosystem": "crates"
},
{
"name": "find-msvc-tools",
"direct": false,
"version": "0.1.9",
"ecosystem": "crates"
},
{
"name": "fixedbitset",
"direct": false,
"version": "0.4.2",
"ecosystem": "crates"
},
{
"name": "flate2",
"direct": false,
"version": "1.1.9",
"ecosystem": "crates"
},
{
"name": "form_urlencoded",
"direct": false,
"version": "1.2.2",
"ecosystem": "crates"
},
{
"name": "fs-utils",
"direct": false,
"version": "1.1.4",
"ecosystem": "crates"
},
{
"name": "fuchsia-cprng",
"direct": false,
"version": "0.1.1",
"ecosystem": "crates"
},
{
"name": "fxhash",
"direct": false,
"version": "0.2.1",
"ecosystem": "crates"
},
{
"name": "getrandom",
"direct": false,
"version": "0.2.17",
"ecosystem": "crates"
},
{
"name": "getrandom",
"direct": false,
"version": "0.3.4",
"ecosystem": "crates"
},
{
"name": "getrandom",
"direct": false,
"version": "0.4.3",
"ecosystem": "crates"
},
{
"name": "gimli",
"direct": false,
"version": "0.32.3",
"ecosystem": "crates"
},
{
"name": "glob",
"direct": false,
"version": "0.3.3",
"ecosystem": "crates"
},
{
"name": "hashbrown",
"direct": false,
"version": "0.17.1",
"ecosystem": "crates"
},
{
"name": "heck",
"direct": false,
"version": "0.5.0",
"ecosystem": "crates"
},
{
"name": "hermit-abi",
"direct": false,
"version": "0.5.2",
"ecosystem": "crates"
},
{
"name": "home",
"direct": false,
"version": "0.5.12",
"ecosystem": "crates"
},
{
"name": "hts-sys",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "humantime",
"direct": false,
"version": "2.3.0",
"ecosystem": "crates"
},
{
"name": "icu_collections",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_locale_core",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_normalizer",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_normalizer_data",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_properties",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_properties_data",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_provider",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "idna",
"direct": false,
"version": "1.1.0",
"ecosystem": "crates"
},
{
"name": "idna_adapter",
"direct": false,
"version": "1.2.2",
"ecosystem": "crates"
},
{
"name": "ieee754",
"direct": false,
"version": "0.2.6",
"ecosystem": "crates"
},
{
"name": "indexmap",
"direct": false,
"version": "2.14.0",
"ecosystem": "crates"
},
{
"name": "is-terminal",
"direct": false,
"version": "0.4.17",
"ecosystem": "crates"
},
{
"name": "is_terminal_polyfill",
"direct": false,
"version": "1.70.2",
"ecosystem": "crates"
},
{
"name": "itertools",
"direct": false,
"version": "0.13.0",
"ecosystem": "crates"
},
{
"name": "itertools-num",
"direct": false,
"version": "0.1.3",
"ecosystem": "crates"
},
{
"name": "itoa",
"direct": false,
"version": "1.0.18",
"ecosystem": "crates"
},
{
"name": "jiff",
"direct": false,
"version": "0.2.31",
"ecosystem": "crates"
},
{
"name": "jiff-static",
"direct": false,
"version": "0.2.31",
"ecosystem": "crates"
},
{
"name": "jobserver",
"direct": false,
"version": "0.1.34",
"ecosystem": "crates"
},
{
"name": "libbz2-rs-sys",
"direct": false,
"version": "0.2.5",
"ecosystem": "crates"
},
{
"name": "libc",
"direct": false,
"version": "0.2.186",
"ecosystem": "crates"
},
{
"name": "liblzma",
"direct": false,
"version": "0.3.6",
"ecosystem": "crates"
},
{
"name": "liblzma-sys",
"direct": false,
"version": "0.3.13",
"ecosystem": "crates"
},
{
"name": "libm",
"direct": false,
"version": "0.2.16",
"ecosystem": "crates"
},
{
"name": "libz-sys",
"direct": false,
"version": "1.1.29",
"ecosystem": "crates"
},
{
"name": "linear-map",
"direct": false,
"version": "1.2.0",
"ecosystem": "crates"
},
{
"name": "linux-raw-sys",
"direct": false,
"version": "0.12.1",
"ecosystem": "crates"
},
{
"name": "linux-raw-sys",
"direct": false,
"version": "0.4.15",
"ecosystem": "crates"
},
{
"name": "litemap",
"direct": false,
"version": "0.8.2",
"ecosystem": "crates"
},
{
"name": "matrixmultiply",
"direct": false,
"version": "0.3.10",
"ecosystem": "crates"
},
{
"name": "memchr",
"direct": false,
"version": "2.8.2",
"ecosystem": "crates"
},
{
"name": "memmap",
"direct": false,
"version": "0.7.0",
"ecosystem": "crates"
},
{
"name": "miniz_oxide",
"direct": false,
"version": "0.8.9",
"ecosystem": "crates"
},
{
"name": "multimap",
"direct": false,
"version": "0.10.1",
"ecosystem": "crates"
},
{
"name": "murmurhash3",
"direct": false,
"version": "0.0.5",
"ecosystem": "crates"
},
{
"name": "nalgebra",
"direct": false,
"version": "0.32.6",
"ecosystem": "crates"
},
{
"name": "nalgebra-macros",
"direct": false,
"version": "0.2.2",
"ecosystem": "crates"
},
{
"name": "ndarray",
"direct": false,
"version": "0.16.1",
"ecosystem": "crates"
},
{
"name": "newtype_derive",
"direct": false,
"version": "0.1.6",
"ecosystem": "crates"
},
{
"name": "num-complex",
"direct": false,
"version": "0.4.6",
"ecosystem": "crates"
},
{
"name": "num-integer",
"direct": false,
"version": "0.1.46",
"ecosystem": "crates"
},
{
"name": "num-rational",
"direct": false,
"version": "0.4.2",
"ecosystem": "crates"
},
{
"name": "num-traits",
"direct": false,
"version": "0.2.19",
"ecosystem": "crates"
},
{
"name": "object",
"direct": false,
"version": "0.37.3",
"ecosystem": "crates"
},
{
"name": "once_cell",
"direct": false,
"version": "1.21.4",
"ecosystem": "crates"
},
{
"name": "once_cell_polyfill",
"direct": false,
"version": "1.70.2",
"ecosystem": "crates"
},
{
"name": "ordered-float",
"direct": false,
"version": "4.6.0",
"ecosystem": "crates"
},
{
"name": "paste",
"direct": false,
"version": "1.0.15",
"ecosystem": "crates"
},
{
"name": "percent-encoding",
"direct": false,
"version": "2.3.2",
"ecosystem": "crates"
},
{
"name": "petgraph",
"direct": false,
"version": "0.6.5",
"ecosystem": "crates"
},
{
"name": "pkg-config",
"direct": false,
"version": "0.3.33",
"ecosystem": "crates"
},
{
"name": "portable-atomic",
"direct": false,
"version": "1.13.1",
"ecosystem": "crates"
},
{
"name": "portable-atomic-util",
"direct": false,
"version": "0.2.7",
"ecosystem": "crates"
},
{
"name": "potential_utf",
"direct": false,
"version": "0.1.5",
"ecosystem": "crates"
},
{
"name": "ppv-lite86",
"direct": false,
"version": "0.2.21",
"ecosystem": "crates"
},
{
"name": "proc-macro-error-attr2",
"direct": false,
"version": "2.0.0",
"ecosystem": "crates"
},
{
"name": "proc-macro-error2",
"direct": false,
"version": "2.0.1",
"ecosystem": "crates"
},
{
"name": "proc-macro2",
"direct": false,
"version": "1.0.106",
"ecosystem": "crates"
},
{
"name": "quick-error",
"direct": false,
"version": "1.2.3",
"ecosystem": "crates"
},
{
"name": "quote",
"direct": false,
"version": "1.0.46",
"ecosystem": "crates"
},
{
"name": "r-efi",
"direct": false,
"version": "5.3.0",
"ecosystem": "crates"
},
{
"name": "r-efi",
"direct": false,
"version": "6.0.0",
"ecosystem": "crates"
},
{
"name": "rand_chacha",
"direct": false,
"version": "0.3.1",
"ecosystem": "crates"
},
{
"name": "rand_core",
"direct": false,
"version": "0.3.1",
"ecosystem": "crates"
},
{
"name": "rand_core",
"direct": false,
"version": "0.4.2",
"ecosystem": "crates"
},
{
"name": "rand_core",
"direct": false,
"version": "0.6.4",
"ecosystem": "crates"
},
{
"name": "rand_distr",
"direct": false,
"version": "0.4.3",
"ecosystem": "crates"
},
{
"name": "rawpointer",
"direct": false,
"version": "0.2.1",
"ecosystem": "crates"
},
{
"name": "rayon",
"direct": false,
"version": "1.12.0",
"ecosystem": "crates"
},
{
"name": "rayon-core",
"direct": false,
"version": "1.13.0",
"ecosystem": "crates"
},
{
"name": "rdrand",
"direct": false,
"version": "0.4.0",
"ecosystem": "crates"
},
{
"name": "regex",
"direct": false,
"version": "1.12.4",
"ecosystem": "crates"
},
{
"name": "regex-automata",
"direct": false,
"version": "0.4.14",
"ecosystem": "crates"
},
{
"name": "regex-syntax",
"direct": false,
"version": "0.8.11",
"ecosystem": "crates"
},
{
"name": "remove_dir_all",
"direct": false,
"version": "0.5.3",
"ecosystem": "crates"
},
{
"name": "rustc-demangle",
"direct": false,
"version": "0.1.27",
"ecosystem": "crates"
},
{
"name": "rustc_version",
"direct": false,
"version": "0.1.7",
"ecosystem": "crates"
},
{
"name": "rustix",
"direct": false,
"version": "0.38.44",
"ecosystem": "crates"
},
{
"name": "rustix",
"direct": false,
"version": "1.1.4",
"ecosystem": "crates"
},
{
"name": "rustversion",
"direct": false,
"version": "1.0.22",
"ecosystem": "crates"
},
{
"name": "ryu",
"direct": false,
"version": "1.0.23",
"ecosystem": "crates"
},
{
"name": "safe_arch",
"direct": false,
"version": "0.7.4",
"ecosystem": "crates"
},
{
"name": "semver",
"direct": false,
"version": "0.1.20",
"ecosystem": "crates"
},
{
"name": "serde_core",
"direct": false,
"version": "1.0.228",
"ecosystem": "crates"
},
{
"name": "serde_derive",
"direct": false,
"version": "1.0.228",
"ecosystem": "crates"
},
{
"name": "serde_json",
"direct": false,
"version": "1.0.150",
"ecosystem": "crates"
},
{
"name": "shlex",
"direct": false,
"version": "2.0.1",
"ecosystem": "crates"
},
{
"name": "simba",
"direct": false,
"version": "0.8.1",
"ecosystem": "crates"
},
{
"name": "simd-adler32",
"direct": false,
"version": "0.3.9",
"ecosystem": "crates"
},
{
"name": "smallvec",
"direct": false,
"version": "1.15.2",
"ecosystem": "crates"
},
{
"name": "stable_deref_trait",
"direct": false,
"version": "1.2.1",
"ecosystem": "crates"
},
{
"name": "statrs",
"direct": false,
"version": "0.17.1",
"ecosystem": "crates"
},
{
"name": "strsim",
"direct": false,
"version": "0.11.1",
"ecosystem": "crates"
},
{
"name": "strum",
"direct": false,
"version": "0.26.3",
"ecosystem": "crates"
},
{
"name": "strum_macros",
"direct": false,
"version": "0.26.4",
"ecosystem": "crates"
},
{
"name": "syn",
"direct": false,
"version": "1.0.109",
"ecosystem": "crates"
},
{
"name": "syn",
"direct": false,
"version": "2.0.118",
"ecosystem": "crates"
},
{
"name": "synstructure",
"direct": false,
"version": "0.12.6",
"ecosystem": "crates"
},
{
"name": "synstructure",
"direct": false,
"version": "0.13.2",
"ecosystem": "crates"
},
{
"name": "termcolor",
"direct": false,
"version": "1.4.1",
"ecosystem": "crates"
},
{
"name": "thiserror",
"direct": false,
"version": "1.0.69",
"ecosystem": "crates"
},
{
"name": "thiserror",
"direct": false,
"version": "2.0.18",
"ecosystem": "crates"
},
{
"name": "thiserror-impl",
"direct": false,
"version": "1.0.69",
"ecosystem": "crates"
},
{
"name": "thiserror-impl",
"direct": false,
"version": "2.0.18",
"ecosystem": "crates"
},
{
"name": "tinystr",
"direct": false,
"version": "0.8.3",
"ecosystem": "crates"
},
{
"name": "triple_accel",
"direct": false,
"version": "0.4.0",
"ecosystem": "crates"
},
{
"name": "typenum",
"direct": false,
"version": "1.20.1",
"ecosystem": "crates"
},
{
"name": "unicode-ident",
"direct": false,
"version": "1.0.24",
"ecosystem": "crates"
},
{
"name": "unicode-xid",
"direct": false,
"version": "0.2.6",
"ecosystem": "crates"
},
{
"name": "url",
"direct": false,
"version": "2.5.8",
"ecosystem": "crates"
},
{
"name": "utf8_iter",
"direct": false,
"version": "1.0.4",
"ecosystem": "crates"
},
{
"name": "utf8parse",
"direct": false,
"version": "0.2.2",
"ecosystem": "crates"
},
{
"name": "vcpkg",
"direct": false,
"version": "0.2.15",
"ecosystem": "crates"
},
{
"name": "vec_map",
"direct": false,
"version": "0.8.2",
"ecosystem": "crates"
},
{
"name": "wasi",
"direct": false,
"version": "0.11.1+wasi-snapshot-preview1",
"ecosystem": "crates"
},
{
"name": "wasip2",
"direct": false,
"version": "1.0.4+wasi-0.2.12",
"ecosystem": "crates"
},
{
"name": "which",
"direct": false,
"version": "6.0.3",
"ecosystem": "crates"
},
{
"name": "wide",
"direct": false,
"version": "0.7.33",
"ecosystem": "crates"
},
{
"name": "winapi",
"direct": false,
"version": "0.3.9",
"ecosystem": "crates"
},
{
"name": "winapi-i686-pc-windows-gnu",
"direct": false,
"version": "0.4.0",
"ecosystem": "crates"
},
{
"name": "winapi-util",
"direct": false,
"version": "0.1.11",
"ecosystem": "crates"
},
{
"name": "winapi-x86_64-pc-windows-gnu",
"direct": false,
"version": "0.4.0",
"ecosystem": "crates"
},
{
"name": "windows-link",
"direct": false,
"version": "0.2.1",
"ecosystem": "crates"
},
{
"name": "windows-sys",
"direct": false,
"version": "0.59.0",
"ecosystem": "crates"
},
{
"name": "windows-sys",
"direct": false,
"version": "0.61.2",
"ecosystem": "crates"
},
{
"name": "windows-targets",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_aarch64_gnullvm",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_aarch64_msvc",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_i686_gnu",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_i686_gnullvm",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_i686_msvc",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_x86_64_gnu",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_x86_64_gnullvm",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_x86_64_msvc",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "winsafe",
"direct": false,
"version": "0.0.19",
"ecosystem": "crates"
},
{
"name": "wit-bindgen",
"direct": false,
"version": "0.57.1",
"ecosystem": "crates"
},
{
"name": "writeable",
"direct": false,
"version": "0.6.3",
"ecosystem": "crates"
},
{
"name": "yoke",
"direct": false,
"version": "0.8.3",
"ecosystem": "crates"
},
{
"name": "yoke-derive",
"direct": false,
"version": "0.8.2",
"ecosystem": "crates"
},
{
"name": "zerocopy",
"direct": false,
"version": "0.8.52",
"ecosystem": "crates"
},
{
"name": "zerocopy-derive",
"direct": false,
"version": "0.8.52",
"ecosystem": "crates"
},
{
"name": "zerofrom",
"direct": false,
"version": "0.1.8",
"ecosystem": "crates"
},
{
"name": "zerofrom-derive",
"direct": false,
"version": "0.1.7",
"ecosystem": "crates"
},
{
"name": "zerotrie",
"direct": false,
"version": "0.2.4",
"ecosystem": "crates"
},
{
"name": "zerovec",
"direct": false,
"version": "0.11.6",
"ecosystem": "crates"
},
{
"name": "zerovec-derive",
"direct": false,
"version": "0.11.3",
"ecosystem": "crates"
},
{
"name": "zmij",
"direct": false,
"version": "1.0.21",
"ecosystem": "crates"
},
{
"name": "zstd",
"direct": false,
"version": "0.13.3",
"ecosystem": "crates"
},
{
"name": "zstd-safe",
"direct": false,
"version": "7.2.4",
"ecosystem": "crates"
},
{
"name": "zstd-sys",
"direct": false,
"version": "2.0.16+zstd.1.5.7",
"ecosystem": "crates"
}
],
"collected": true,
"truncated": false,
"total_count": 255,
"direct_count": 23,
"indirect_count": 232
}
},
"maintainership": {
"issues": {
"open_prs": 9,
"merged_prs": 37,
"open_issues": 59,
"closed_ratio": 0.706,
"closed_issues": 142,
"closed_unmerged_prs": 45
},
"bus_factor": 1,
"bot_contributors": 3,
"top_contributors": [
{
"type": "User",
"login": "wwood",
"commits": 566,
"avatar_url": "https://avatars.githubusercontent.com/u/15348?v=4"
},
{
"type": "User",
"login": "AroneyS",
"commits": 48,
"avatar_url": "https://avatars.githubusercontent.com/u/41124903?v=4"
},
{
"type": "User",
"login": "claude",
"commits": 15,
"avatar_url": "https://avatars.githubusercontent.com/u/81847?v=4"
},
{
"type": "User",
"login": "lavafroth",
"commits": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/107522312?v=4"
},
{
"type": "User",
"login": "rhysnewell",
"commits": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/42852939?v=4"
},
{
"type": "User",
"login": "ThisIsNotANamepng",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/74005486?v=4"
}
],
"contributors_sampled": 6,
"top_contributor_share": 0.887
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"release.yml",
"test-coverm.yml"
],
"has_docs_dir": true,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"Cargo.lock"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 0,
"reason": "branch protection not enabled on development/release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 8,
"reason": "5 out of 6 merged PRs checked by a CI test -- score normalized to 8",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 0,
"reason": "Found 1/16 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 5 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 3 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": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": 0,
"reason": "Project has not signed or included provenance with any releases.",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 0,
"reason": "13 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "5501168b14381040e069957fc6d919ce7fd773a7",
"ran_at": "2026-07-27T09:22:15Z",
"aggregate_score": 4,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": true
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-10T08:23:47Z",
"oldest_open_prs": [
{
"number": 267,
"created_at": "2025-08-23T09:59:54Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 268,
"created_at": "2025-08-23T11:59:54Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 272,
"created_at": "2025-09-02T07:33:28Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 284,
"created_at": "2026-01-09T03:18:42Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 288,
"created_at": "2026-03-16T09:34:14Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 291,
"created_at": "2026-06-10T20:54:33Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 292,
"created_at": "2026-06-10T20:56:51Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 294,
"created_at": "2026-06-19T23:03:36Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 298,
"created_at": "2026-07-02T11:44:19Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2026-07-10T08:21:41Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 16,
"created_at": "2019-12-12T03:25:04Z",
"last_comment_at": "2025-12-08T04:19:58Z",
"last_comment_author": "diego00012138"
},
{
"number": 20,
"created_at": "2020-02-07T01:37:48Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 25,
"created_at": "2020-04-07T12:49:52Z",
"last_comment_at": "2020-12-17T11:48:26Z",
"last_comment_author": "apcamargo"
},
{
"number": 52,
"created_at": "2021-01-06T11:22:34Z",
"last_comment_at": "2023-03-20T13:00:06Z",
"last_comment_author": "jakobnissen"
},
{
"number": 66,
"created_at": "2021-04-29T16:40:53Z",
"last_comment_at": "2021-05-14T01:04:42Z",
"last_comment_author": "ZongzhiWu"
},
{
"number": 68,
"created_at": "2021-05-10T16:24:11Z",
"last_comment_at": "2021-05-19T03:54:49Z",
"last_comment_author": "jianshu93"
},
{
"number": 69,
"created_at": "2021-05-12T14:10:30Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 71,
"created_at": "2021-05-18T20:36:58Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 75,
"created_at": "2021-06-26T11:21:17Z",
"last_comment_at": "2021-06-28T03:44:40Z",
"last_comment_author": "wwood"
},
{
"number": 76,
"created_at": "2021-07-02T18:45:18Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 94,
"created_at": "2021-11-09T17:14:13Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 101,
"created_at": "2022-01-26T02:00:29Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 106,
"created_at": "2022-02-26T03:35:45Z",
"last_comment_at": "2022-03-08T02:47:52Z",
"last_comment_author": "jianshu93"
},
{
"number": 121,
"created_at": "2022-06-27T21:45:46Z",
"last_comment_at": "2022-07-19T04:47:25Z",
"last_comment_author": "rhysnewell"
},
{
"number": 124,
"created_at": "2022-07-14T19:05:38Z",
"last_comment_at": "2022-10-11T09:21:29Z",
"last_comment_author": "wwood"
},
{
"number": 126,
"created_at": "2022-08-02T07:24:15Z",
"last_comment_at": "2023-07-11T14:43:42Z",
"last_comment_author": "Somebodyatthdoor"
},
{
"number": 127,
"created_at": "2022-08-03T01:29:36Z",
"last_comment_at": "2023-09-01T15:43:30Z",
"last_comment_author": "faylward"
},
{
"number": 133,
"created_at": "2022-09-21T07:26:23Z",
"last_comment_at": "2022-11-03T15:04:21Z",
"last_comment_author": "earlylifemicro-lab"
},
{
"number": 138,
"created_at": "2022-11-01T12:32:06Z",
"last_comment_at": "2022-11-02T12:52:12Z",
"last_comment_author": "linlin0026"
},
{
"number": 144,
"created_at": "2022-12-14T18:22:28Z",
"last_comment_at": "2022-12-17T11:29:49Z",
"last_comment_author": "B-1991-ing"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/wwood/CoverM",
"host": "github.com",
"name": "CoverM",
"owner": "wwood"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 58,
"inputs": {
"security": 48,
"vitality": 67,
"community": 48,
"governance": 58,
"engineering": 64
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "moderate",
"name": "Vitality",
"value": 67,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "moderate",
"name": "Development activity",
"note": null,
"notes": [],
"value": 61,
"inputs": {
"commits_last_year": 55,
"human_commit_share": 0.94,
"days_since_last_push": 17,
"active_weeks_last_year": 10
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 17 days ago",
"points": 28.8,
"status": "partial",
"details": [
{
"code": "push_recency",
"params": {
"days": 17
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "10/52 weeks with commits",
"points": 6.9,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 10
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "55 commits in the last year",
"points": 15.7,
"status": "partial",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 55
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "good",
"name": "Release discipline",
"note": null,
"notes": [],
"value": 76,
"inputs": {
"releases_count": 13,
"latest_release_tag": "v0.8.0",
"releases_from_tags": false,
"days_since_latest_release": 19,
"mean_days_between_releases": 288.7
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "13 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 13
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 19 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 19
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~288.7 days",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 288.7
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 17,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 17 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 17
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "at_risk",
"name": "Community & Adoption",
"value": 48,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "moderate",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"forks": 37,
"stars": 402,
"watchers": 9,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "402 stars",
"points": 42.2,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 402
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "37 forks",
"points": 13,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 37
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "9 watchers",
"points": 5,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 9
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "moderate",
"name": "Community health",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (GPL-3.0)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "GPL-3.0"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "critical",
"name": "Ecosystem adoption (downloads)",
"note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"registry_dependents"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 27,
"inputs": {
"packages": [
"coverm"
],
"dependents": null,
"ecosystems": "crates",
"total_downloads": 16928,
"monthly_downloads": 40
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "40 downloads/month across crates",
"points": 21.5,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 40,
"ecosystems": "crates"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "not reported by this ecosystem",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_reported_by_this_ecosystem",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 58,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "at_risk",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 30,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 6,
"top_contributor_share": 0.887
},
"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 89% of commits",
"points": 2.5,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 89
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "6 contributors",
"points": 8.1,
"status": "partial",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 6
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 5 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "moderate",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"merged_prs": 37,
"open_issues": 59,
"closed_issues": 142,
"issue_closed_ratio": 0.706,
"closed_unmerged_prs": 45
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "71% of issues closed",
"points": 33,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 71
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "37/82 decided PRs merged",
"points": 17.3,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 37,
"decided": 82
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 1/16 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"verified_domain"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 67,
"inputs": {
"followers": 363,
"owner_type": "User",
"is_verified": null,
"owner_login": "wwood",
"public_repos": 243,
"account_age_days": 6603
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "personal (user) account",
"points": 10,
"status": "partial",
"details": [
{
"code": "owner_personal",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": "not applicable to user accounts",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_applicable_to_user_accounts",
"params": {}
}
],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "363 followers of wwood",
"points": 18.4,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 363,
"login": "wwood"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "243 public repos, account ~18 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 243
}
},
{
"code": "account_age_years",
"params": {
"years": 18
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"coverm"
],
"ecosystems": "crates",
"any_deprecated": false,
"min_days_since_publish": 19
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on crates",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "crates"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 19 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 19
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "11 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 11
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "moderate",
"name": "Engineering Quality",
"value": 64,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "moderate",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 64,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "2 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 2
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "5 out of 6 merged PRs checked by a CI test -- score normalized to 8",
"points": 16,
"status": "partial",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "moderate",
"name": "Documentation",
"note": null,
"notes": [],
"value": 65,
"inputs": {
"topics": [],
"has_wiki": false,
"homepage": null,
"has_readme": true,
"has_docs_dir": true,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "at_risk",
"name": "Security",
"value": 48,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Packaging. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"packaging"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 40,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 17,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 1,
"scorecard_aggregate": 4
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection not enabled on development/release branches",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "5 out of 6 merged PRs checked by a CI test -- score normalized to 8",
"points": 2,
"status": "partial",
"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 1/16 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 5 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 3 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 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "13 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "good",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 255 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"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 255
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 79,
"inputs": {
"source": "osv",
"advisories": 18,
"affected_packages": 13,
"assessed_packages": 255,
"unassessed_packages": 0,
"affected_by_severity": "critical 2, low 1, unknown 10",
"direct_affected_packages": 2
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "2 affected: ansi_term 0.12.1 (unknown), tempdir 0.3.7 (unknown)",
"points": 24.7,
"status": "partial",
"details": [
{
"code": "advisories_affected",
"params": {
"count": 2,
"packages": "ansi_term 0.12.1 (unknown), tempdir 0.3.7 (unknown)"
}
}
],
"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": "2 advisory-carrying package(s) unaddressed past 90 days; oldest published 3085 days ago",
"points": 34.8,
"status": "partial",
"details": [
{
"code": "advisories_stale",
"params": {
"days": 90,
"count": 2,
"oldest": 3085
}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 255,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 3
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "good",
"name": "AI Readiness",
"value": 75,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "good",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 73,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.532,
"agent_instruction_files": [
"AGENTS.md"
],
"agent_instruction_max_bytes": 289
},
"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": "50 of 94 human commits state their intent (structured subject or explanatory body)",
"points": 28.4,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 50,
"sampled": 94
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "good",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 71,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"Cargo.lock"
],
"has_dockerfile": false,
"typed_language": true,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [],
"agent_commit_share": 0.09,
"toolchain_manifests": [
"Cargo.toml"
],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "Cargo.toml (toolchain convention, no task runner)",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "toolchain_convention",
"params": {
"files": "Cargo.toml"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "Rust (statically typed)",
"points": 11,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Rust"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "9 of the last 100 commits agent-authored or agent-credited",
"points": 10,
"status": "met",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 9,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "dependency automation configured, none observed in the sampled commits",
"points": 5,
"status": "partial",
"details": [
{
"code": "dependency_bot_config_only",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"primary_language": "Rust",
"largest_source_bytes": 157623,
"source_files_sampled": 21,
"oversized_source_files": 4
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Rust (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Rust"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "4/21 source files over 60KB",
"points": 44.5,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 21,
"oversized": 4
}
}
],
"max_points": 55
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
],
"report_type": "repository",
"generated_at": "2026-07-27T09:22:40.844638Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/w/wwood/CoverM.svg",
"full_name": "wwood/CoverM",
"license_state": "standard",
"license_spdx": "GPL-3.0"
}