原始 JSON 报告 机器可读
{
"data": {
"icon": {
"bytes": 41780,
"width": 192,
"height": 192,
"rejected": [
{
"url": "https://api.nuget.org/v3-flatcontainer/z440.atl.core/7.16.0/icon",
"reason": "HTTP 404",
"source_type": "nuget"
}
],
"collected": true,
"media_type": "image/png",
"source_url": "https://avatars.githubusercontent.com/u/29414549?v=4&s=256",
"source_type": "avatar",
"content_hash": "070bb13205875a576ca11f4051a8f45e21f75b1953b24b758b40ffcdfc43b59a",
"candidates_considered": 2
},
"repo": {
"topics": [
"audio",
"opus",
"tak",
"m4a",
"ogg-vorbis",
"cuesheet",
"dsf",
"mp3",
"playlist",
"reader",
"parser",
"id3",
"metadata",
"wav",
"flac",
"tags",
"aac",
"chapters",
"lyrics",
"mp4"
],
"is_fork": false,
"size_kb": 66980,
"has_wiki": true,
"homepage": null,
"languages": {
"C#": 2450180,
"PLSQL": 407
},
"pushed_at": "2026-08-05T18:55:57Z",
"created_at": "2017-06-13T21:47:26Z",
"owner_type": "User",
"updated_at": "2026-08-05T18:50:17Z",
"description": "Fully managed, portable and easy-to-use C# library to read and edit audio data and metadata (tags) from various audio formats, playlists and CUE sheets",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "main",
"license_spdx_raw": "MIT",
"primary_language": "C#",
"significant_languages": [
"C#"
]
},
"owner": {
"blog": null,
"name": null,
"type": "User",
"login": "Zeugma440",
"company": null,
"location": null,
"followers": 23,
"avatar_url": "https://avatars.githubusercontent.com/u/29414549?v=4",
"created_at": "2017-06-13T21:46:41Z",
"is_verified": null,
"public_repos": 1,
"account_age_days": 3339
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "7.16",
"kind": "other",
"published_at": "2026-08-05T18:55:58Z"
},
{
"tag": "7.15.3",
"kind": "patch",
"published_at": "2026-05-31T08:18:51Z"
},
{
"tag": "7.14",
"kind": "other",
"published_at": "2026-05-26T07:10:06Z"
},
{
"tag": "7.13",
"kind": "other",
"published_at": "2026-04-23T08:58:53Z"
},
{
"tag": "7.12",
"kind": "other",
"published_at": "2026-04-05T11:21:25Z"
},
{
"tag": "7.11",
"kind": "other",
"published_at": "2026-02-07T13:15:49Z"
},
{
"tag": "7.10",
"kind": "other",
"published_at": "2026-01-06T12:07:57Z"
},
{
"tag": "7.09",
"kind": "other",
"published_at": "2025-11-22T09:38:50Z"
},
{
"tag": "7.08",
"kind": "other",
"published_at": "2025-11-16T15:19:28Z"
},
{
"tag": "7.07",
"kind": "other",
"published_at": "2025-11-09T09:46:56Z"
},
{
"tag": "7.06",
"kind": "other",
"published_at": "2025-10-25T11:30:59Z"
},
{
"tag": "7.05",
"kind": "other",
"published_at": "2025-09-20T06:44:05Z"
},
{
"tag": "7.04",
"kind": "other",
"published_at": "2025-09-13T08:50:44Z"
},
{
"tag": "7.03",
"kind": "other",
"published_at": "2025-08-09T09:38:33Z"
},
{
"tag": "7.02",
"kind": "other",
"published_at": "2025-07-19T14:28:43Z"
},
{
"tag": "7.01",
"kind": "other",
"published_at": "2025-07-14T10:03:22Z"
},
{
"tag": "7.00",
"kind": "other",
"published_at": "2025-06-28T09:38:10Z"
},
{
"tag": "6.26",
"kind": "other",
"published_at": "2025-06-15T07:51:18Z"
},
{
"tag": "6.25",
"kind": "other",
"published_at": "2025-06-09T07:43:09Z"
},
{
"tag": "6.24",
"kind": "other",
"published_at": "2025-05-16T18:38:34Z"
},
{
"tag": "6.23",
"kind": "other",
"published_at": "2025-05-02T08:43:09Z"
},
{
"tag": "6.22",
"kind": "other",
"published_at": "2025-04-24T15:03:14Z"
},
{
"tag": "6.21",
"kind": "other",
"published_at": "2025-04-22T14:41:35Z"
},
{
"tag": "6.20",
"kind": "other",
"published_at": "2025-03-30T20:10:43Z"
},
{
"tag": "6.19",
"kind": "other",
"published_at": "2025-03-09T10:00:46Z"
},
{
"tag": "6.18",
"kind": "other",
"published_at": "2025-02-23T11:39:18Z"
},
{
"tag": "6.17",
"kind": "other",
"published_at": "2025-02-16T10:34:53Z"
},
{
"tag": "6.16",
"kind": "other",
"published_at": "2025-02-08T10:26:33Z"
},
{
"tag": "6.15",
"kind": "other",
"published_at": "2025-02-02T09:14:52Z"
},
{
"tag": "6.14",
"kind": "other",
"published_at": "2025-01-25T20:54:49Z"
},
{
"tag": "6.13",
"kind": "other",
"published_at": "2025-01-22T08:20:10Z"
},
{
"tag": "6.12",
"kind": "other",
"published_at": "2025-01-11T16:42:01Z"
},
{
"tag": "6.11",
"kind": "other",
"published_at": "2024-12-22T15:33:39Z"
},
{
"tag": "6.10",
"kind": "other",
"published_at": "2024-12-15T13:27:31Z"
},
{
"tag": "6.09",
"kind": "other",
"published_at": "2024-12-01T15:10:05Z"
},
{
"tag": "6.08",
"kind": "other",
"published_at": "2024-11-08T20:24:28Z"
},
{
"tag": "6.07",
"kind": "other",
"published_at": "2024-11-02T14:31:34Z"
},
{
"tag": "6.06",
"kind": "other",
"published_at": "2024-10-19T08:13:32Z"
},
{
"tag": "6.05",
"kind": "other",
"published_at": "2024-09-29T16:27:06Z"
},
{
"tag": "6.04",
"kind": "other",
"published_at": "2024-09-07T16:27:02Z"
},
{
"tag": "6.03",
"kind": "other",
"published_at": "2024-09-04T18:51:40Z"
},
{
"tag": "6.02",
"kind": "other",
"published_at": "2024-09-01T07:33:01Z"
},
{
"tag": "6.01",
"kind": "other",
"published_at": "2024-08-11T08:32:22Z"
},
{
"tag": "5.26",
"kind": "other",
"published_at": "2024-08-04T20:21:43Z"
},
{
"tag": "5.25",
"kind": "other",
"published_at": "2024-06-02T06:59:00Z"
},
{
"tag": "5.24",
"kind": "other",
"published_at": "2024-05-27T06:04:20Z"
},
{
"tag": "5.23",
"kind": "other",
"published_at": "2024-05-01T07:10:56Z"
},
{
"tag": "5.22",
"kind": "other",
"published_at": "2024-04-17T15:30:46Z"
},
{
"tag": "5.21",
"kind": "other",
"published_at": "2024-03-27T07:52:44Z"
},
{
"tag": "5.20",
"kind": "other",
"published_at": "2024-02-20T19:31:47Z"
},
{
"tag": "5.19",
"kind": "other",
"published_at": "2024-02-12T19:44:27Z"
},
{
"tag": "5.18",
"kind": "other",
"published_at": "2024-01-31T06:47:56Z"
},
{
"tag": "5.17",
"kind": "other",
"published_at": "2024-01-28T15:26:03Z"
},
{
"tag": "5.16",
"kind": "other",
"published_at": "2024-01-12T06:58:06Z"
},
{
"tag": "5.15",
"kind": "other",
"published_at": "2024-01-07T10:14:08Z"
},
{
"tag": "5.14",
"kind": "other",
"published_at": "2024-01-04T20:16:24Z"
},
{
"tag": "5.13",
"kind": "other",
"published_at": "2024-01-01T20:35:24Z"
},
{
"tag": "5.12",
"kind": "other",
"published_at": "2023-11-04T14:55:34Z"
},
{
"tag": "5.11",
"kind": "other",
"published_at": "2023-10-22T12:47:07Z"
},
{
"tag": "5.10",
"kind": "other",
"published_at": "2023-10-18T19:07:33Z"
},
{
"tag": "5.09",
"kind": "other",
"published_at": "2023-10-08T19:44:25Z"
},
{
"tag": "5.08",
"kind": "other",
"published_at": "2023-09-21T19:17:32Z"
},
{
"tag": "5.07",
"kind": "other",
"published_at": "2023-09-15T17:07:49Z"
},
{
"tag": "5.06",
"kind": "other",
"published_at": "2023-09-01T07:14:11Z"
},
{
"tag": "5.05",
"kind": "other",
"published_at": "2023-08-25T17:33:26Z"
},
{
"tag": "5.04",
"kind": "other",
"published_at": "2023-08-24T19:42:48Z"
},
{
"tag": "5.03",
"kind": "other",
"published_at": "2023-08-21T19:48:11Z"
},
{
"tag": "5.02",
"kind": "other",
"published_at": "2023-08-18T12:47:41Z"
},
{
"tag": "5.01",
"kind": "other",
"published_at": "2023-08-16T06:26:55Z"
},
{
"tag": "5.00",
"kind": "other",
"published_at": "2023-08-14T13:16:18Z"
},
{
"tag": "4.36",
"kind": "other",
"published_at": "2023-07-28T10:58:22Z"
},
{
"tag": "4.35",
"kind": "other",
"published_at": "2023-07-24T19:46:59Z"
},
{
"tag": "4.34",
"kind": "other",
"published_at": "2023-06-20T20:11:58Z"
},
{
"tag": "4.33",
"kind": "other",
"published_at": "2023-05-10T19:50:23Z"
},
{
"tag": "4.32",
"kind": "other",
"published_at": "2023-05-07T12:06:54Z"
},
{
"tag": "4.31",
"kind": "other",
"published_at": "2023-04-17T13:44:25Z"
},
{
"tag": "4.29",
"kind": "other",
"published_at": "2023-04-05T13:11:31Z"
},
{
"tag": "4.28",
"kind": "other",
"published_at": "2023-04-03T17:01:01Z"
},
{
"tag": "4.27",
"kind": "other",
"published_at": "2023-03-31T17:19:28Z"
},
{
"tag": "4.26",
"kind": "other",
"published_at": "2023-03-27T19:10:29Z"
},
{
"tag": "4.25",
"kind": "other",
"published_at": "2023-03-23T10:29:43Z"
},
{
"tag": "4.24",
"kind": "other",
"published_at": "2023-03-19T14:02:43Z"
},
{
"tag": "4.23",
"kind": "other",
"published_at": "2023-03-12T16:51:29Z"
},
{
"tag": "4.22",
"kind": "other",
"published_at": "2023-03-11T19:24:36Z"
},
{
"tag": "4.21",
"kind": "other",
"published_at": "2023-03-09T20:23:16Z"
},
{
"tag": "4.20",
"kind": "other",
"published_at": "2023-02-26T12:58:58Z"
},
{
"tag": "4.19",
"kind": "other",
"published_at": "2023-02-07T20:43:57Z"
},
{
"tag": "4.18",
"kind": "other",
"published_at": "2023-01-05T20:35:01Z"
},
{
"tag": "4.17",
"kind": "other",
"published_at": "2022-12-22T20:32:35Z"
},
{
"tag": "4.16",
"kind": "other",
"published_at": "2022-12-09T16:16:26Z"
},
{
"tag": "4.15",
"kind": "other",
"published_at": "2022-12-05T20:54:09Z"
},
{
"tag": "4.14",
"kind": "other",
"published_at": "2022-11-23T20:22:05Z"
},
{
"tag": "4.13",
"kind": "other",
"published_at": "2022-10-25T06:09:48Z"
},
{
"tag": "4.12",
"kind": "other",
"published_at": "2022-10-16T06:48:25Z"
},
{
"tag": "4.11",
"kind": "other",
"published_at": "2022-10-10T14:06:24Z"
},
{
"tag": "4.10",
"kind": "other",
"published_at": "2022-09-20T19:06:51Z"
},
{
"tag": "4.09",
"kind": "other",
"published_at": "2022-07-15T20:06:10Z"
},
{
"tag": "4.08",
"kind": "other",
"published_at": "2022-06-12T16:05:58Z"
},
{
"tag": "4.07",
"kind": "other",
"published_at": "2022-05-25T16:36:06Z"
},
{
"tag": "4.06",
"kind": "other",
"published_at": "2022-05-21T13:42:10Z"
}
],
"recent_commits": [
{
"oid": "09e9703ecc18d416cd4c0ea02179d05315c63904",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/Zeugma440/atldotnet",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-08-05T18:49:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "252cab806faacc79b24e0c5d0c1e8c8198859ad0",
"body": null,
"is_bot": false,
"headline": "OGG : Properly read files illegally tagged with ID3v2 [#387]",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-08-05T18:49:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "40273c92c11e517694d9e9cbf9a20875a071468f",
"body": null,
"is_bot": false,
"headline": "Update README.md",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-07-03T15:39:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c18672e3dda3b7424858e9dc49ba866fe549d086",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/Zeugma440/atldotnet",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-06-07T10:52:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e6e587641f1fa293f33df4de5abda3791efed98f",
"body": "… in the correct order when rewriting the file [#385]",
"is_bot": false,
"headline": "General : Make sure zones that start at the same offset are processed…",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-06-07T10:52:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "de5aaed1317a52c46da236b6f7c49c0f1863d122",
"body": null,
"is_bot": false,
"headline": "Update nuget_build_release.yml",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-05-31T08:18:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "80839bc8f8b714ea0f70b5be327a7b5c7d1dbb20",
"body": null,
"is_bot": false,
"headline": "Avoid expanding secrets in a run block",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-05-31T08:14:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "07b1b28c23d422f638f8c7499b1ee2f384ce0f8b",
"body": null,
"is_bot": false,
"headline": "Avoid expanding secrets in a run block",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-05-31T08:06:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2eaa03d23689b8b09a36ff1115cc8e785359c15d",
"body": null,
"is_bot": false,
"headline": "Avoid expanding secrets in a run block",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-05-31T08:02:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "70aca599477e2d51df9f68deb735f33b5f03c857",
"body": null,
"is_bot": false,
"headline": "Avoid expanding secrets in a run block",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-05-31T08:00:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "67fa74b28d0fab18834dfe0b92c3d612f20ab247",
"body": null,
"is_bot": false,
"headline": "Avoid expanding secrets in a run block",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-05-31T07:54:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6d83e25f12cb6f48315d1232c11b8bc506b17f54",
"body": "Avoid expanding secrets in a run block",
"is_bot": false,
"headline": "Update nuget_build_release.yml",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-05-31T07:53:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eae8909087d2a97035ba193c0164d2c73b09b4f2",
"body": "…#381]",
"is_bot": false,
"headline": "MP4/M4A : Prevent reading samples table outside of moof/trun bounds […",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-05-30T12:30:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "511e3dd1882d5575e88f113bae5e5023340ed0db",
"body": "MP4 : Skip metadata fields without data atom",
"is_bot": false,
"headline": "Merge pull request #384 from Anthonyy232/fix/mp4-skip-field-without-data",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-05-30T09:01:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b463fe38e22a6e3373d7fee4adfa0ab1091ab0a3",
"body": null,
"is_bot": false,
"headline": "MP4 : Skip metadata fields without data atom",
"author_name": "Anthony La",
"author_login": "Anthonyy232",
"committed_at": "2026-05-27T05:39:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "29f4ab3fa6562cb0c800c4c6d699aa7767aa1f2d",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/Zeugma440/atldotnet",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-05-26T06:57:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eeed9e2e3487ece2379247442752ed7dfa07a393",
"body": null,
"is_bot": false,
"headline": "Change default I/O buffer to 64 KB",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-05-26T06:57:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "60d990d45d43cbba564e2b89f143a89a4c66d42c",
"body": "Fix negative duration on non-fragmented M4A files with moof atom",
"is_bot": false,
"headline": "Merge pull request #381 from lfeng1420/fix-mp4-negative-duration",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-05-18T11:40:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4a0c144320d12ae1dbdf90d725aed82761ffb1e9",
"body": null,
"is_bot": false,
"headline": "Fix negative duration on non-fragmented M4A files with moof atom",
"author_name": "lfeng",
"author_login": null,
"committed_at": "2026-05-17T15:56:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8eef539897ec1318e3ba0fa9a2767824aaa51a92",
"body": "…ues doesn't get detected as a new field [#379]",
"is_bot": false,
"headline": "General : Using an alternative case for the field ID in AdditionalVal…",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-05-10T08:48:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8d27355373bb200f2a13203c18bb5974699c6199",
"body": null,
"is_bot": false,
"headline": "Documentation",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-05-10T08:01:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b9680f90ce50efefcb4815440d1bd0c077bae48d",
"body": null,
"is_bot": false,
"headline": "Cleanup",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-04-23T09:14:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3b1d9ea251529128a5041b34ea54dcc027a80a8e",
"body": null,
"is_bot": false,
"headline": "Proper DFF support [#375]",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-04-23T08:52:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "18f28ea7bb7c7963a3d5704e63e618c83018f355",
"body": "…mpty [#377]",
"is_bot": false,
"headline": "WAV / BEXT : Prevent parsing issues when the CodingHistory field is e…",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-04-22T10:02:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5d0ed30964a4dd2e470ec28174a61e0af90537e0",
"body": null,
"is_bot": false,
"headline": "Proper DFF support [#375]",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-04-20T19:38:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "57ad1b24842b9b9cb645eb35dd5279655f46dd6d",
"body": "…ero length [#376]",
"is_bot": false,
"headline": "Fix PictureInfo reading all file data when corrupted header reads a z…",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-04-19T18:28:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "514d290810ed8a29eeacb18528a6eded61c93eed",
"body": null,
"is_bot": false,
"headline": "WMA : Support full date in YEAR field [#374]",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-04-05T11:18:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "442267bac4386d3c67f7aef27e10bb8fd7db8387",
"body": null,
"is_bot": false,
"headline": "APE : Support full date in YEAR field [#374]",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-04-02T19:18:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "06eeaa3b6a90e567fc11cdce1b78ccf8b09b2aac",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/Zeugma440/atldotnet",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-02-07T13:14:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4a959b757528487d6a9bda7e895b62de1add5f63",
"body": null,
"is_bot": false,
"headline": "Fix attempt for #372",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2026-02-07T13:13:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5b1966200449df6d3cb8d2208b9adfeaad5e69ef",
"body": "Bump GitHub Actions to use latest versions",
"is_bot": false,
"headline": "Merge pull request #370 from kitsumed/main",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-12-31T10:38:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "365d72176cd1882c0e297a6d1d8111d707a915e3",
"body": "Prepare for Deprecation of Node 20.",
"is_bot": false,
"headline": "Bump GitHub Actions to use latest versions",
"author_name": "Med",
"author_login": "kitsumed",
"committed_at": "2025-12-27T17:49:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "40a98e115eeb079f50ad1e828ee9343b225ce1eb",
"body": null,
"is_bot": false,
"headline": "Better implementation",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-12-26T10:09:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "91376f4d439c414f2cb989d0337b6879ef9002ec",
"body": null,
"is_bot": false,
"headline": "Vorbis : Handle tags without keys [#369]",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-12-26T09:58:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "281ffb0a4f6e00dc6d7225b66469732e5f3ba28a",
"body": null,
"is_bot": false,
"headline": "Version up",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-11-22T09:39:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c0190f504e391243bf21fd519c6ee79bd035297b",
"body": null,
"is_bot": false,
"headline": "Make Sonar happy",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-11-22T09:31:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "53e166a18ef3e3106d5dc089ac39e37780283d5c",
"body": null,
"is_bot": false,
"headline": "Use more Spans",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-11-22T09:19:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "650958ac74e5c72c42126c74fe46d5c969d9a7f4",
"body": null,
"is_bot": false,
"headline": "Adjust #366",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-11-19T20:31:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a89b44b03a4c29d4d4efefd860fafcbacf3a55ab",
"body": "Optimize BuildStrictLengthStringBytes",
"is_bot": false,
"headline": "Merge pull request #366 from Bond-009/strictlenstr",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-11-19T19:55:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a958ca00903a1fc8495dc71352ebe62b1b53751c",
"body": "Reduces the number of allocations in BuildStrictLengthStringBytes\nUse stackalloc in more places",
"is_bot": false,
"headline": "Optimize BuildStrictLengthStringBytes",
"author_name": "Bond_009",
"author_login": "Bond-009",
"committed_at": "2025-11-19T17:58:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "053a73abc01dd2c2b84712819b6a89935b499879",
"body": null,
"is_bot": false,
"headline": "Make Sonar happy",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-11-18T20:37:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4881ff6198da0093a79aef78f21b7e4b9d03dfd7",
"body": null,
"is_bot": false,
"headline": "Adjust #365",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-11-18T20:16:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bdd0dac2f0a3df67b13ad01f0c384698542263fd",
"body": "Make more use of Spans and their functions",
"is_bot": false,
"headline": "Merge pull request #365 from Bond-009/spans",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-11-18T20:12:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "daf84909cbc68d58114921852f217d719858a9e3",
"body": null,
"is_bot": false,
"headline": "WAV / XMP : Properly handle custom namespaces [#359]",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-11-18T20:05:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1467aee56e487ecdf77babdcdfca985b37320dda",
"body": "A lot of helper functions can be removed when using spans",
"is_bot": false,
"headline": "Make more use of Spans and their functions",
"author_name": "Bond_009",
"author_login": "Bond-009",
"committed_at": "2025-11-18T18:09:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eae7e7d9613bfc853a99738c6b510786fc4dd917",
"body": null,
"is_bot": false,
"headline": "Version up",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-11-16T15:19:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c43578c27cb00216c944ec2b306a5b66969122c0",
"body": "…ng LIST ADTL chunk in the file (and the other way around) 2/ Only write a LIST ADTL chunk when there is relevant data to write inside",
"is_bot": false,
"headline": "WAV : 1/ LIST INFO chunk can now be written even if there's an existi…",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-11-16T11:41:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "df5ff44cd0ff3b997fe27bdf40ef2f2f7a00aa9d",
"body": "…native prefixes [#359]",
"is_bot": false,
"headline": "Force writing native metadata if AdditionalFields explicitly contain …",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-11-16T11:00:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7a2f8d710c4ffd168e414f72f486be6a1c261d97",
"body": null,
"is_bot": false,
"headline": "Documentation",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-11-16T10:49:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d22e5c828b83832c4ea0ab0134f42e366bdbdb37",
"body": null,
"is_bot": false,
"headline": "Cleanup",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-11-16T10:28:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e346848d095361af54c199c9d0fca36b8dc9b532",
"body": "…ontainer (e.g. 'id3 ' chunk on WAV files)",
"is_bot": false,
"headline": "Removing ID3v2 metadata on a file with an embedder also removes the c…",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-11-16T10:28:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a41726f2e954ab9ac6aa6e44ce5930fc69bcef69",
"body": null,
"is_bot": false,
"headline": "Open test file using read only",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-11-16T10:26:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3912cfd0c83070b3f8066b7bce6ae1fd736b62f0",
"body": null,
"is_bot": false,
"headline": "Fix clear temp file during unit tests",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-11-16T10:26:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8d934459901b2323f0066e8b1296098c6f130959",
"body": null,
"is_bot": false,
"headline": "WEBM / MKA : Properly read files illegally tagged with ID3v2 [#364]",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-11-15T17:14:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "13816de78d6eafcf66792dde8f0982650d30a101",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/Zeugma440/atldotnet",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-11-09T19:08:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3d3740c41321e97799b2d85eb0e6c116e0190cde",
"body": "Minor performance improvements",
"is_bot": false,
"headline": "Merge pull request #363 from Bond-009/perf",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-11-09T19:07:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "21c01ac93ef51c8de97f1a63ed8967c44a5d61c0",
"body": "Replace Contains + IndexOf with just IndexOf\nUse Spans when possible\nReduce allocations\n\nBenchmark for the ParseFirstIntegerPart function:\n```\n| Method | Value | Mean | Error | StdDev | Gen0 | Allocated |\n|------- |------------- |----------:|----------:|----------:|-------:|----\n[…]\n0210 ns | - | - |\n| Old | ABC123ABC123 | 23.827 ns | 0.2125 ns | 0.1988 ns | 0.0027 | 136 B |\n| New | ABC123ABC123 | 8.610 ns | 0.0443 ns | 0.0414 ns | - | - |\n```",
"is_bot": false,
"headline": "Minor performance improvements",
"author_name": "Bond_009",
"author_login": "Bond-009",
"committed_at": "2025-11-09T18:34:32Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2c63ac38f53db8f296a101dc6016a854f8380f9b",
"body": null,
"is_bot": false,
"headline": "Add dff",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-11-09T09:51:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2ecdce7ac492a582eb938d080e0815eff5de0048",
"body": null,
"is_bot": false,
"headline": "Version up",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-11-09T09:47:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a4a26b2ae8f664596da97082a24dfe4403fe5ade",
"body": null,
"is_bot": false,
"headline": "Add DFF extension to Direct Stream Digital format",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-11-09T09:42:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "da10af9701a40335d6cbd00542a9eebf2a8a106e",
"body": null,
"is_bot": false,
"headline": "MP4 / M4A : Skip parasite hdlr atoms inside list atoms [#362]",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-11-07T18:04:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "06c1833c3142e21373948691fce37b251d998f64",
"body": null,
"is_bot": false,
"headline": "Don't crash when parsing gigantic disc / track numbers [#361]",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-10-31T19:27:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cbe4272d4ad9bc6da57de2040a78954be7a09e23",
"body": null,
"is_bot": false,
"headline": "Use full ConsoleLogger name",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-10-26T10:01:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3067b8c538ed9d374f15e49961c4153fef3306b2",
"body": null,
"is_bot": false,
"headline": "Version up",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-10-25T11:34:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dadc2d0289a91ddfa238a3a91cbca4046ef6f5bd",
"body": "…pter or located after track duration) [#358]",
"is_bot": false,
"headline": "MP4 : Ignore inconsistent Nero chapters (located before preceding cha…",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-10-25T10:08:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2ce2ea9ae94776eaaabe3a593a2ee3e0e4192b70",
"body": null,
"is_bot": false,
"headline": "Benchmark : Remove x times",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-10-25T09:11:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5bdcd09a8fc33d8f45e72f00753ca2a287221f45",
"body": "…F64 files [#358]",
"is_bot": false,
"headline": "WAV : Remove looks for subchunks located after the data subchunk on R…",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-10-25T09:11:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "781c3a48d3d58f9b72e80c7233753177457cf58b",
"body": null,
"is_bot": false,
"headline": "Benchmark app : RemoveAt + Use ATL ConsoleLogger",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-10-25T07:53:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b3908ae58fe9be41cf13f8ed0f8833538517b30e",
"body": null,
"is_bot": false,
"headline": "Add ConsoleLogger as part of ATL Core",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-10-24T08:57:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3f4e4c7f28dac42abe7f83d1dc544e459cef2d30",
"body": "…hunks _before_ the data subchunk to be compatible with very large files ((>4GB; RF64)",
"is_bot": false,
"headline": "WAV : As per ITU-R BS.2088-1 recommendations, write new metadata subc…",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-10-24T06:47:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c81c1f3df96a6231c2826e320cf8ffeed92cb3c3",
"body": null,
"is_bot": false,
"headline": "Adjust #357",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-09-13T18:56:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "72f82f403ad54a926a45fcee928a9131fc29dde5",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/Zeugma440/atldotnet",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-09-13T18:31:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3931b0c1547599f13adb5de26c6e6f66bbff6c9e",
"body": "The LRC format uses a different timecode convention from the one we are currently using. It represents time as MM:SS:XX, where XX is always two digits, indicating hundredths of a second (10 ms). Encoding the timecode simply as UUUU ms will cause most LRC parsers to fail.\n\nAdditionally, our current parser incorrectly decodes LRC timestamps, making the millisecond value only one-tenth of the intended value. This, in turn, causes converted formats—such as SRT—to have incorrect timecodes.",
"is_bot": false,
"headline": "Fix lrc milisecond encode format (#357)",
"author_name": "gnattu",
"author_login": "gnattu",
"committed_at": "2025-09-13T18:30:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "75dbaf1bce7df5683fd85b2d047f8a426068a3e5",
"body": null,
"is_bot": false,
"headline": "Version up",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-09-13T08:51:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b0eccea07547b3867069b43db8b98df5d3e92c9e",
"body": null,
"is_bot": false,
"headline": "Documentation",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-09-13T08:24:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b9a192016ce5639c056bdb9288c84a21e3895d5f",
"body": null,
"is_bot": false,
"headline": "Cleanup",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-09-13T08:22:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2c9a7f72dfeec391d087833fbc54ca26c990ece2",
"body": null,
"is_bot": false,
"headline": "Adjustments",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-09-13T08:17:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5e67b6aadb32087c2724eba308bdc92b1f2f498b",
"body": "…a truckload of MDAT atoms preceding the MOOV atom) [#356]",
"is_bot": false,
"headline": "MP4/M4A : Add more iterations to find the MOOV atom (some files have …",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-09-13T08:08:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "05ffd0c52b61896e57df47102bcb8ce5fe4a2408",
"body": "…[#353]",
"is_bot": false,
"headline": "WAV : Properly handle illegal ID3v2 tag at the beginning of the file …",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-09-12T20:47:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8fbcc5b230645bb1475d131dcf0da14d7ff997b3",
"body": null,
"is_bot": false,
"headline": "Cleanup; add unit tests",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-09-10T06:58:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "810d2cdfb4f3a515341b3971d4d350cbe813f8a1",
"body": null,
"is_bot": false,
"headline": "Add conversion from Farsi digits",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-09-10T06:47:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7949347cdddbb237acdb254f81cf6d9297b795aa",
"body": null,
"is_bot": false,
"headline": "Read arabic digits into YEAR field [#355]",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-09-08T19:10:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3cec8ea2e5eaea33df9a6e114369c07f13298de7",
"body": null,
"is_bot": false,
"headline": "ID3v2 : Fix frame ID at EOF",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-09-06T14:33:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6ac5a05c04565757e28ba4c168a7bae506d38785",
"body": null,
"is_bot": false,
"headline": "Add cases for multiple values in code snippets",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-08-24T14:34:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ddc43fe6d095ed9a48290dd2b06b297f5fa2ee1d",
"body": null,
"is_bot": false,
"headline": "Add documentation about multiple values",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-08-24T14:26:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "99e89d9957726e99e0a9a78d1cf34ca0dbc9e97a",
"body": null,
"is_bot": false,
"headline": "Version up",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-08-09T09:40:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9e26a95954596e729b4bfe9d61372ca1d40222b3",
"body": "…ields",
"is_bot": false,
"headline": "VorbisTag : Properly handle lyrics scattered across multiple LYRICS f…",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-08-09T09:32:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ab0d2b04956ecfd98f8727d3361d10b5bd643377",
"body": null,
"is_bot": false,
"headline": "MP4/M4A : Adding \".mp3\" to valid audio descriptors [#347]",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-07-26T10:06:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3dd140dfc8237802a5a43a87b79bc9b3d426830d",
"body": null,
"is_bot": false,
"headline": "Cleanup",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-07-26T10:01:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c50e8459f15842f48746af82456ebd2c9a186772",
"body": null,
"is_bot": false,
"headline": "Cleanup",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-07-26T09:54:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a4f6a34eb822e4083e1c302fee7f3995b6c1b3c6",
"body": "ISO_3_1_0 is now declared with 4 channels",
"is_bot": false,
"headline": "AC3 : Detects subwoofer in channels arrangement [#346]",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-07-19T09:10:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "74883be72e1d8fb2758c1528709b2ee76c08ea13",
"body": null,
"is_bot": false,
"headline": "OGG / OPUS / Speex : Read metadata from some corrupted headers [#345]",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-07-15T19:36:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b3070c2b6b7fa21573965512d6878ad1530ed122",
"body": null,
"is_bot": false,
"headline": "Cleanup",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-07-15T19:29:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "36f000772e98dfea3a733a3ec601f6c2918f4c19",
"body": null,
"is_bot": false,
"headline": "MPEG : Properly parse files with 3+ MPEG streams [#344]",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-07-15T18:59:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dcf6d4d245ceadd8b52177586d03dbe78eb92554",
"body": null,
"is_bot": false,
"headline": "Cleanup",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-07-14T19:30:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3a54874a898594922ff0bd089708a3c23c7debe3",
"body": null,
"is_bot": false,
"headline": "Cleanup",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-07-14T15:49:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eaa5eac997935f9d9dc35a513a84b365a42e5949",
"body": null,
"is_bot": false,
"headline": "Cleanup",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-07-14T15:48:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "115ab6dab96e6e4314fa76c7398e17786a793ead",
"body": null,
"is_bot": false,
"headline": "Cleanup",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-07-14T15:32:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4eeef5e10dfad629eb16f647043c113e4666a522",
"body": null,
"is_bot": false,
"headline": "Verrsion up",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-07-14T14:34:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2723d80ab689442b870f135e0fed1f51f8516f21",
"body": "…age size - Cont'ed [#343]",
"is_bot": false,
"headline": "Ogg/Opus/Speex : Better handling of Ogg page headers with incorrect p…",
"author_name": "Zeugma440",
"author_login": "Zeugma440",
"committed_at": "2025-07-14T09:54:03Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 100,
"commits_last_year": 85,
"latest_release_at": "2026-08-05T18:55:58Z",
"latest_release_tag": "7.16",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 21,
"days_since_latest_release": 0,
"mean_days_between_releases": 29.9
},
"artifacts": {
"collected": true,
"structure": [],
"declarations": [
{
"name": "ATL.UI-test",
"path": "ATL.UI-test/ATL.UI-test.csproj",
"tokens": [
"nuget.output_type:winexe",
"nuget.platform_tfm:windows"
],
"ecosystem": "nuget"
},
{
"name": "ATL.benchmark",
"path": "ATL.benchmark/ATL.benchmark.csproj",
"tokens": [
"nuget.output_type:exe"
],
"ecosystem": "nuget"
},
{
"name": "ATL.unit-test",
"path": "ATL.unit-test/ATL.unit-test.csproj",
"tokens": [
"nuget.not_packable"
],
"ecosystem": "nuget"
}
]
},
"community": {
"has_readme": true,
"has_license": true,
"readme_badges": {
"hosts": [
"github.com",
"shields.io",
"sonarcloud.io"
],
"total": 6,
"header": 3,
"collected": true,
"has_inspect_badge": false
},
"has_description": true,
"has_contributing": true,
"health_percentage": 71,
"has_issue_template": true,
"has_code_of_conduct": true,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "z440.atl.core",
"exists": true,
"license": null,
"keywords": [
"audio",
"metadata",
"tag",
"mp3",
"mp4",
"aac",
"id3v2",
"ogg",
"vorbis",
"opus",
"flac",
"playlist",
"cue"
],
"ecosystem": "nuget",
"categories": [],
"matches_repo": true,
"registry_url": "https://www.nuget.org/packages/z440.atl.core",
"declared_type": null,
"is_deprecated": false,
"latest_version": "7.16.0",
"repository_url": "https://github.com/Zeugma440/atldotnet",
"versions_count": 154,
"total_downloads": 629636,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": null,
"latest_published_at": "2026-08-05T18:56:28.950000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 0
}
]
},
"popularity": {
"forks": 68,
"stars": 568,
"watchers": 21,
"fork_history": {
"days": [
{
"date": "2018-01-19",
"count": 2
},
{
"date": "2018-06-04",
"count": 1
},
{
"date": "2018-08-10",
"count": 1
},
{
"date": "2019-04-06",
"count": 1
},
{
"date": "2019-04-30",
"count": 1
},
{
"date": "2019-08-11",
"count": 1
},
{
"date": "2019-08-26",
"count": 1
},
{
"date": "2019-11-09",
"count": 1
},
{
"date": "2020-01-02",
"count": 1
},
{
"date": "2020-05-07",
"count": 1
},
{
"date": "2020-05-12",
"count": 1
},
{
"date": "2020-06-27",
"count": 1
},
{
"date": "2020-07-17",
"count": 1
},
{
"date": "2020-09-06",
"count": 1
},
{
"date": "2020-09-08",
"count": 1
},
{
"date": "2020-09-12",
"count": 1
},
{
"date": "2020-10-23",
"count": 1
},
{
"date": "2020-11-02",
"count": 1
},
{
"date": "2020-11-16",
"count": 1
},
{
"date": "2020-12-12",
"count": 1
},
{
"date": "2020-12-14",
"count": 1
},
{
"date": "2021-01-24",
"count": 1
},
{
"date": "2021-01-30",
"count": 1
},
{
"date": "2021-04-20",
"count": 1
},
{
"date": "2021-04-28",
"count": 1
},
{
"date": "2021-05-14",
"count": 1
},
{
"date": "2021-08-19",
"count": 1
},
{
"date": "2021-09-15",
"count": 1
},
{
"date": "2022-01-06",
"count": 1
},
{
"date": "2022-01-13",
"count": 1
},
{
"date": "2022-03-08",
"count": 1
},
{
"date": "2022-03-29",
"count": 1
},
{
"date": "2022-04-04",
"count": 1
},
{
"date": "2022-05-21",
"count": 1
},
{
"date": "2022-09-08",
"count": 1
},
{
"date": "2022-09-26",
"count": 1
},
{
"date": "2023-02-16",
"count": 1
},
{
"date": "2023-02-23",
"count": 1
},
{
"date": "2023-06-05",
"count": 1
},
{
"date": "2023-06-19",
"count": 1
},
{
"date": "2023-06-28",
"count": 1
},
{
"date": "2023-10-11",
"count": 1
},
{
"date": "2023-10-12",
"count": 1
},
{
"date": "2023-10-23",
"count": 1
},
{
"date": "2024-01-03",
"count": 1
},
{
"date": "2024-02-13",
"count": 1
},
{
"date": "2024-02-16",
"count": 1
},
{
"date": "2024-02-28",
"count": 1
},
{
"date": "2024-03-06",
"count": 1
},
{
"date": "2024-04-03",
"count": 1
},
{
"date": "2024-04-16",
"count": 1
},
{
"date": "2024-04-20",
"count": 1
},
{
"date": "2024-05-29",
"count": 1
},
{
"date": "2024-09-04",
"count": 1
},
{
"date": "2024-11-24",
"count": 1
},
{
"date": "2024-11-26",
"count": 1
},
{
"date": "2024-12-24",
"count": 1
},
{
"date": "2024-12-31",
"count": 1
},
{
"date": "2025-03-22",
"count": 1
},
{
"date": "2025-05-02",
"count": 1
},
{
"date": "2025-06-05",
"count": 1
},
{
"date": "2025-07-16",
"count": 1
},
{
"date": "2025-09-02",
"count": 1
},
{
"date": "2025-11-09",
"count": 1
},
{
"date": "2026-04-25",
"count": 1
},
{
"date": "2026-05-17",
"count": 1
},
{
"date": "2026-05-27",
"count": 1
}
],
"complete": true,
"collected": 68,
"total_forks": 68
},
"star_history": null,
"open_issues_and_prs": 3
},
"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": [
"ATL.UI-test/ATL.UI-test.csproj",
"ATL.benchmark/ATL.benchmark.csproj",
"ATL.unit-test/ATL.unit-test.csproj",
"ATL/ATL.csproj"
],
"largest_source_bytes": 136903,
"source_files_sampled": 187,
"oversized_source_files": 5,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"ATL.UI-test/ATL.UI-test.csproj",
"ATL.benchmark/ATL.benchmark.csproj",
"ATL.unit-test/ATL.unit-test.csproj",
"ATL/ATL.csproj"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 11,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"nuget"
],
"dependencies": [
{
"name": "BenchmarkDotNet",
"manifest": "ATL.benchmark/ATL.benchmark.csproj",
"ecosystem": "nuget",
"version_constraint": "0.13.6"
},
{
"name": "BenchmarkDotNet.Annotations",
"manifest": "ATL.benchmark/ATL.benchmark.csproj",
"ecosystem": "nuget",
"version_constraint": "0.13.6"
},
{
"name": "TagLibSharp",
"manifest": "ATL.benchmark/ATL.benchmark.csproj",
"ecosystem": "nuget",
"version_constraint": "2.3.0"
},
{
"name": "coverlet.msbuild",
"manifest": "ATL.unit-test/ATL.unit-test.csproj",
"ecosystem": "nuget",
"version_constraint": "6.0.0"
},
{
"name": "Microsoft.NET.Test.Sdk",
"manifest": "ATL.unit-test/ATL.unit-test.csproj",
"ecosystem": "nuget",
"version_constraint": "17.6.3"
},
{
"name": "MSTest.TestAdapter",
"manifest": "ATL.unit-test/ATL.unit-test.csproj",
"ecosystem": "nuget",
"version_constraint": "3.1.1"
},
{
"name": "MSTest.TestFramework",
"manifest": "ATL.unit-test/ATL.unit-test.csproj",
"ecosystem": "nuget",
"version_constraint": "3.1.1"
},
{
"name": "coverlet.collector",
"manifest": "ATL.unit-test/ATL.unit-test.csproj",
"ecosystem": "nuget",
"version_constraint": "6.0.0"
},
{
"name": "System.Drawing.Common",
"manifest": "ATL.unit-test/ATL.unit-test.csproj",
"ecosystem": "nuget",
"version_constraint": "7.0.0"
},
{
"name": "Ude.NetStandard",
"manifest": "ATL/ATL.csproj",
"ecosystem": "nuget",
"version_constraint": "1.2.0"
},
{
"name": "Zomp.SyncMethodGenerator",
"manifest": "ATL/ATL.csproj",
"ecosystem": "nuget",
"version_constraint": "1.6.2"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "BenchmarkDotNet",
"direct": true,
"version": "0.13.6",
"ecosystem": "nuget"
},
{
"name": "BenchmarkDotNet.Annotations",
"direct": true,
"version": "0.13.6",
"ecosystem": "nuget"
},
{
"name": "coverlet.collector",
"direct": true,
"version": "6.0.0",
"ecosystem": "nuget"
},
{
"name": "coverlet.msbuild",
"direct": true,
"version": "6.0.0",
"ecosystem": "nuget"
},
{
"name": "Microsoft.NET.Test.Sdk",
"direct": true,
"version": "17.6.3",
"ecosystem": "nuget"
},
{
"name": "MSTest.TestAdapter",
"direct": true,
"version": "3.1.1",
"ecosystem": "nuget"
},
{
"name": "MSTest.TestFramework",
"direct": true,
"version": "3.1.1",
"ecosystem": "nuget"
},
{
"name": "System.Drawing.Common",
"direct": true,
"version": "7.0.0",
"ecosystem": "nuget"
},
{
"name": "TagLibSharp",
"direct": true,
"version": "2.3.0",
"ecosystem": "nuget"
},
{
"name": "Ude.NetStandard",
"direct": true,
"version": "1.2.0",
"ecosystem": "nuget"
},
{
"name": "Zomp.SyncMethodGenerator",
"direct": true,
"version": "1.6.2",
"ecosystem": "nuget"
}
],
"collected": true,
"truncated": false,
"total_count": 11,
"direct_count": 11,
"indirect_count": 0
}
},
"maintainership": {
"issues": {
"open_prs": 0,
"merged_prs": 31,
"open_issues": 3,
"closed_ratio": 0.99,
"closed_issues": 302,
"closed_unmerged_prs": 9
},
"bus_factor": 1,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "Zeugma440",
"commits": 2207,
"avatar_url": "https://avatars.githubusercontent.com/u/29414549?v=4"
},
{
"type": "User",
"login": "nlogozzo",
"commits": 11,
"avatar_url": "https://avatars.githubusercontent.com/u/17648453?v=4"
},
{
"type": "User",
"login": "kitsumed",
"commits": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/45147847?v=4"
},
{
"type": "User",
"login": "Bond-009",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/21289123?v=4"
},
{
"type": "User",
"login": "skolmer",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/2427106?v=4"
},
{
"type": "User",
"login": "gnattu",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/12995396?v=4"
},
{
"type": "User",
"login": "melinyi",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/83648656?v=4"
},
{
"type": "User",
"login": "sandreas",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/2050604?v=4"
},
{
"type": "User",
"login": "Numpsy",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/1178570?v=4"
},
{
"type": "User",
"login": "Anthonyy232",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/60626873?v=4"
}
],
"contributors_sampled": 13,
"top_contributor_share": 0.985
},
"quality_signals": {
"has_ci": true,
"has_tests": false,
"ci_workflows": [
"dotnet.yml",
"nuget_build_release.yml"
],
"has_docs_dir": false,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [],
"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": 0,
"reason": "0 out of 2 merged PRs checked by a CI test -- score normalized to 0",
"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 2/28 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 6,
"reason": "project has 2 contributing companies or organizations -- score normalized to 6",
"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": "21 commit(s) and 6 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": 10,
"reason": "packaging workflow 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": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 10,
"reason": "0 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "09e9703ecc18d416cd4c0ea02179d05315c63904",
"ran_at": "2026-08-05T19:05:58Z",
"aggregate_score": 5,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"recent_prs": {
"merged_7d": 0,
"decided_7d": 0,
"merged_30d": 0,
"authors_30d": 0,
"decided_30d": 0,
"sample_size": 40,
"window_days": 30,
"sample_exhausted": false,
"authors_probed_30d": 0,
"newcomer_merged_30d": 0,
"bot_prs_excluded_30d": 0,
"newcomer_authors_30d": 0,
"newcomer_decided_30d": 0
},
"ci_last_run_at": "2026-08-05T18:56:34Z",
"oldest_open_prs": [],
"last_merged_pr_at": "2026-05-30T09:01:28Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 147,
"created_at": "2022-05-21T15:25:54Z",
"last_comment_at": "2022-05-22T10:15:23Z",
"last_comment_author": "Zeugma440"
},
{
"number": 151,
"created_at": "2022-05-25T14:32:46Z",
"last_comment_at": "2022-08-25T07:28:04Z",
"last_comment_author": "sandreas"
},
{
"number": 387,
"created_at": "2026-07-26T09:35:11Z",
"last_comment_at": "2026-08-05T18:56:54Z",
"last_comment_author": "Zeugma440"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/Zeugma440/atldotnet",
"host": "github.com",
"name": "atldotnet",
"owner": "Zeugma440"
},
"metrics": {
"overall": {
"key": "overall",
"band": "good",
"name": "Overall health",
"note": "The weighted overall 63 is calibrated to 71 on the published index scale (record calibration 2026-08-02).",
"notes": [
{
"code": "overall_calibration",
"params": {
"raw": 63,
"calibrated": 71,
"calibration": "2026-08-02"
}
}
],
"value": 71,
"inputs": {
"security": 60,
"vitality": 87,
"community": 78,
"governance": 58,
"calibration": "2026-08-02",
"engineering": 38,
"ai_readiness": 34,
"weighted_overall_raw": 63
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "excellent",
"name": "Vitality",
"value": 87,
"weight": 0.21,
"metrics": [
{
"key": "development_activity",
"band": "good",
"name": "Development activity",
"note": null,
"notes": [],
"value": 78,
"inputs": {
"commits_last_year": 85,
"human_commit_share": 1,
"days_since_last_push": 0,
"active_weeks_last_year": 21
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "21/52 weeks with commits",
"points": 14.5,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 21
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "85 commits in the last year",
"points": 17.4,
"status": "partial",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 85
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "21 commit(s) and 6 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "exceptional",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 100,
"inputs": {
"releases_count": 100,
"latest_release_tag": "7.16",
"releases_from_tags": false,
"days_since_latest_release": 0,
"mean_days_between_releases": 29.9
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "100 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 100
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~29.9 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 29.9
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "exceptional",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 0,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 0 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 0
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "good",
"name": "Community & Adoption",
"value": 78,
"weight": 0.17,
"metrics": [
{
"key": "popularity",
"band": "good",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 67,
"inputs": {
"forks": 68,
"stars": 568,
"watchers": 21,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "568 stars",
"points": 44.7,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 568
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "68 forks",
"points": 15.2,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 68
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "21 watchers",
"points": 7.2,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 21
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "exceptional",
"name": "Community health",
"note": null,
"notes": [],
"value": 93,
"inputs": {
"has_readme": true,
"has_license": true,
"readme_badges": 6,
"has_contributing": true,
"has_issue_template": true,
"has_code_of_conduct": true,
"readme_badge_services": [
"github.com",
"shields.io",
"sonarcloud.io"
],
"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 (MIT)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "MIT"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 13.5,
"status": "met",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 7.2,
"status": "met",
"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": "good",
"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": 75,
"inputs": {
"packages": [
"z440.atl.core"
],
"dependents": null,
"ecosystems": "nuget",
"total_downloads": 629636,
"monthly_downloads": null
},
"components": [
{
"key": "total_downloads",
"name": "Total downloads",
"detail": "629,636 downloads all-time across nuget",
"points": 60.3,
"status": "partial",
"details": [
{
"code": "downloads_total",
"params": {
"count": 629636,
"ecosystems": "nuget"
}
}
],
"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.23,
"metrics": [
{
"key": "maintainer_resilience",
"band": "at_risk",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 29,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 13,
"top_contributor_share": 0.985
},
"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 98% of commits",
"points": 0.3,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 98
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "13 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 13
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 2 contributing companies or organizations -- score normalized to 6",
"points": 6,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": "Excluded from scoring (no data or not applicable): Newcomer PR acceptance. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"newcomer_pr_acceptance"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 74,
"inputs": {
"merged_prs": 31,
"open_issues": 3,
"closed_issues": 302,
"prs_merged_7d": 0,
"prs_decided_7d": 0,
"prs_merged_30d": 0,
"prs_decided_30d": 0,
"issue_closed_ratio": 0.99,
"closed_unmerged_prs": 9,
"first_time_authors_30d": 0,
"first_time_prs_merged_30d": 0,
"first_time_prs_decided_30d": 0
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "99% of issues closed",
"points": 41.6,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 99
}
}
],
"max_points": 42
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "31/40 decided PRs merged",
"points": 23.2,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 31,
"decided": 40
}
}
],
"max_points": 30
},
{
"key": "newcomer_pr_acceptance",
"name": "Newcomer PR acceptance",
"detail": "no first-time contributor's PR decided in 30d",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_newcomer_prs",
"params": {
"days": 30
}
}
],
"max_points": 13
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 2/28 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "weak",
"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": 43,
"inputs": {
"followers": 23,
"owner_type": "User",
"is_verified": null,
"owner_login": "Zeugma440",
"public_repos": 1,
"account_age_days": 3339
},
"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": "23 followers of Zeugma440",
"points": 9.9,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 23,
"login": "Zeugma440"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "1 public repos, account ~9 yr old",
"points": 14.2,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 1
}
},
{
"code": "account_age_years",
"params": {
"years": 9
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "exceptional",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"z440.atl.core"
],
"ecosystems": "nuget",
"any_deprecated": false,
"min_days_since_publish": 0
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on nuget",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "nuget"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 0 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 0
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "154 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 154
}
}
],
"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": "weak",
"name": "Engineering Quality",
"value": 38,
"weight": 0.19,
"metrics": [
{
"key": "engineering_practices",
"band": "at_risk",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 24,
"inputs": {
"has_ci": true,
"has_tests": false,
"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": 0,
"status": "missed",
"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": "0 out of 2 merged PRs checked by a CI test -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "moderate",
"name": "Documentation",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"topics": [
"audio",
"opus",
"tak",
"m4a",
"ogg-vorbis",
"cuesheet",
"dsf",
"mp3",
"playlist",
"reader",
"parser",
"id3",
"metadata",
"wav",
"flac",
"tags",
"aac",
"chapters",
"lyrics",
"mp4"
],
"has_wiki": true,
"homepage": null,
"has_readme": true,
"has_docs_dir": false,
"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": 0,
"status": "missed",
"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": "20 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 20
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 60,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 50,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 17,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 1,
"scorecard_aggregate": 5
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection not enabled on development/release branches",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "0 out of 2 merged PRs checked by a CI test -- score normalized to 0",
"points": 0,
"status": "missed",
"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 2/28 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 2 contributing companies or organizations -- score normalized to 6",
"points": 1.5,
"status": "partial",
"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": "21 commit(s) and 6 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 detected",
"points": 5,
"status": "met",
"details": [],
"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": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "0 existing vulnerabilities detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "exceptional",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 11 resolved dependencies against OSV. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"indirect_dependencies_free_of_known_advisories",
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 11
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 0,
"affected_packages": 0,
"assessed_packages": 11,
"unassessed_packages": 0,
"affected_by_severity": "none",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "transitive set not separable from development and test dependencies in this scope",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_scope_not_separable",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "exceptional",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 11,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "exceptional",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"commit_weight_rule": {
"min_commits": 50,
"min_commit_share": 0.1
},
"review_only_matches": 0,
"below_threshold_exposures": [],
"assessed_self_published_locations": 7
},
"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": "at_risk",
"name": "AI Readiness",
"value": 34,
"weight": 0.04,
"metrics": [
{
"key": "ai_agent_context",
"band": "critical",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 16,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.3,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "30 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 16,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 30,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "at_risk",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 24,
"inputs": {
"has_nix": false,
"has_tests": false,
"lockfiles": [],
"has_dockerfile": false,
"typed_language": true,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [
"ATL.UI-test/ATL.UI-test.csproj",
"ATL.benchmark/ATL.benchmark.csproj",
"ATL.unit-test/ATL.unit-test.csproj",
"ATL/ATL.csproj"
],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "ATL.UI-test/ATL.UI-test.csproj, ATL.benchmark/ATL.benchmark.csproj, ATL.unit-test/ATL.unit-test.csproj (toolchain convention, no task runner)",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "toolchain_convention",
"params": {
"files": "ATL.UI-test/ATL.UI-test.csproj, ATL.benchmark/ATL.benchmark.csproj, ATL.unit-test/ATL.unit-test.csproj"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 0,
"status": "missed",
"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": "C# (statically typed)",
"points": 11,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "C#"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "exceptional",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 98,
"inputs": {
"primary_language": "C#",
"largest_source_bytes": 136903,
"source_files_sampled": 187,
"oversized_source_files": 5
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "C# (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "C#"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "5/187 source files over 60KB",
"points": 53.5,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 187,
"oversized": 5
}
}
],
"max_points": 55
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? Carries a deliberately small weight: agent tooling is a real maintenance signal, but its absence must never gate the top of the scale (calibration saturates at raw 91, so 100/100 remains reachable with AI Readiness at zero)."
}
],
"classification": {
"top": [
"library",
"application"
],
"labels": [
"desktop",
"library"
],
"scores": {
"desktop": 8.4,
"library": 4.4,
"application": 3
},
"primary": "desktop",
"evidence": [
{
"tier": "distribution",
"label": "library",
"source": "registry:nuget",
"weight": 6
},
{
"tier": "declared",
"label": "desktop",
"source": "nuget.output_type:winexe",
"weight": 4.8
},
{
"tier": "declared",
"label": "desktop",
"source": "nuget.platform_tfm:windows",
"weight": 3.6
},
{
"tier": "declared",
"label": "library",
"source": "nuget.not_packable",
"weight": -3.6
},
{
"tier": "declared",
"label": "application",
"source": "nuget.output_type:exe",
"weight": 3
},
{
"tier": "description",
"label": "library",
"source": "description:library",
"weight": 2
}
],
"artifacts": [
{
"path": "ATL.UI-test/ATL.UI-test.csproj",
"labels": [
"desktop"
],
"ecosystem": "nuget"
},
{
"path": "ATL.benchmark/ATL.benchmark.csproj",
"labels": [
"application"
],
"ecosystem": "nuget"
},
{
"path": "ATL.unit-test/ATL.unit-test.csproj",
"labels": [],
"ecosystem": "nuget"
}
],
"confidence": "high",
"host_extension": false,
"runs_as_process": true,
"consumed_by_code": true
},
"metrics_version": "2.5.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
],
"report_type": "repository",
"generated_at": "2026-08-05T19:06:17.216631Z",
"schema_version": "0.31.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/z/Zeugma440/atldotnet.svg",
"full_name": "Zeugma440/atldotnet",
"license_state": "standard",
"license_spdx": "MIT"
}