原始 JSON 报告 机器可读
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 1709,
"has_wiki": true,
"homepage": null,
"languages": {
"CMake": 4945,
"Assembly": 370701,
"Makefile": 4790,
"Go Template": 1140
},
"pushed_at": "2026-07-21T17:27:38Z",
"created_at": "2017-09-14T04:14:01Z",
"owner_type": "User",
"updated_at": "2026-07-21T17:29:25Z",
"description": "BIOS for Intel 8088 based computers",
"is_archived": false,
"is_disabled": false,
"license_spdx": "GPL-3.0",
"default_branch": "master",
"license_spdx_raw": "GPL-3.0",
"primary_language": "Assembly",
"significant_languages": [
"Assembly"
]
},
"owner": {
"blog": "http://www.malinov.com/Home/sergeys-projects",
"name": "Sergey Kiselev",
"type": "User",
"login": "skiselev",
"company": "Intel",
"location": "Pacific Northwest, USA",
"followers": 601,
"avatar_url": "https://avatars.githubusercontent.com/u/11326662?v=4",
"created_at": "2015-03-05T05:46:39Z",
"is_verified": null,
"public_repos": 79,
"account_age_days": 4165
},
"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": "v1.0.1",
"kind": "patch",
"published_at": "2025-12-27T06:00:32Z"
},
{
"tag": "v1.0.0",
"kind": "major",
"published_at": "2023-10-12T04:06:15Z"
},
{
"tag": "v0.9.9",
"kind": "patch",
"published_at": "2023-02-01T04:03:47Z"
}
],
"recent_commits": [
{
"oid": "ce2ac99f7622853ade69ae26fdf27fe3c27a9a5d",
"body": null,
"is_bot": false,
"headline": "trigger build action on pull requests",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2026-07-21T17:27:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a4af458a72bc33c4be066b33bd76e8af2b24111c",
"body": null,
"is_bot": false,
"headline": "Update github-actions-build.yml",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2026-07-16T17:18:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "14123c713ad86a02a3c25a3b194374874022c604",
"body": null,
"is_bot": false,
"headline": "Update and rename github-actions-demo.yml to github-actions-build.yml",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2026-07-16T17:17:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b22ec25aff95692fb4d4fd7e16090cb8b08ec041",
"body": null,
"is_bot": false,
"headline": "Update github-actions-demo.yml",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2026-07-16T17:10:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e53b374b9c0b21a44acfd426b99465501d9b02f4",
"body": null,
"is_bot": false,
"headline": "Use sudo to run apt",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2026-07-16T17:08:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c9c3027d31454753aa052d265d5558f81f0a2e45",
"body": null,
"is_bot": false,
"headline": "Add build commands",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2026-07-16T17:06:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f705feccf904f272a1a619e1ccd81a2077f44485",
"body": null,
"is_bot": false,
"headline": "Create github-actions-demo.yml",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2026-07-16T16:56:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "48eaa3607d3a3bca09263c5f013492560cafbbca",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "Update version to 1.0.2. Bump up the year to 2026",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2026-03-28T00:10:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1f1d1dec4bdd213251772206d37c280b5e7af47e",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "print screen: save CX register when calling Int 10h Fn 03h",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2026-03-27T23:53:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a317475aa23b5b395a0145e275fc23b487eaced9",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "printer: preserve CX register, as it gets trashed by wait_for_port",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2026-03-27T23:51:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "422432f31762b81a85f9f595578217117c4535f1",
"body": "…ecksum, the extension scan would skip 2 KiB after the extension with the invalid checksum\n\nSigned-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "ROM BIOS extension scan: Fix an issue, where in case of an invalid ch…",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2026-03-26T16:08:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a6ba561997fe6b886b297e52312f102b048eae68",
"body": "…ments for the scroll\n\nSigned-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "video Teletype output: int 10h function 0Eh - Set video page. Fix com…",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2026-03-26T15:52:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1dcf74ea203f671b2905af380fdaf6cd6cff2cdf",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "ipl - If there are no floppy drives, 2 bytes were leaked on the stack",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2026-03-26T15:46:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "72e8f6374ad089e956cdfeae7dd370561b2dc709",
"body": "…tually\n\nreading from nmi_mask_reg. I'm not sure if the comment or the code was\nwrong, but the existing code wasn't doing anything.",
"is_bot": false,
"headline": "bios NMI: the comment says \"read the RTC to keep it happy\" but was ac…",
"author_name": "Kevin Day",
"author_login": "kdkd",
"committed_at": "2026-03-26T15:31:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f67f42a765371b22302ae0f891cb693aff840210",
"body": "size, prevent an infinite loop",
"is_bot": false,
"headline": "bios extension_scan: If a ROM extension BIOS incorrectly claimed to be 0",
"author_name": "Kevin Day",
"author_login": "kdkd",
"committed_at": "2026-03-26T15:31:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c59308f06f7ba210e84d538f20dd1ea035de4f3d",
"body": "… match\n\nthe pushes",
"is_bot": false,
"headline": "cpu MACHINE_HOMEBREW8088 estimate clock: the order of the pops didn't…",
"author_name": "Kevin Day",
"author_login": "kdkd",
"committed_at": "2026-03-26T15:31:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "98a28d5f48e92df63942585ce4a1dfbcb745f4c0",
"body": "…nction\n\nwere in the wrong order",
"is_bot": false,
"headline": "cpu MACHINE_FE2010A detect_chipset: the pops are at the end of the fu…",
"author_name": "Kevin Day",
"author_login": "kdkd",
"committed_at": "2026-03-26T15:30:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8cc1d1e1f63b0eeee5c0f346fb2f3a45aca7a370",
"body": "…ters,\n\nbut modified di without pushing it. This doesn't appear necessary with\nthe only place it's used, but the existing pushes aren't either.",
"is_bot": false,
"headline": "printer1 detect_parallel: This function was careful to preserve regis…",
"author_name": "Kevin Day",
"author_login": "kdkd",
"committed_at": "2026-03-26T15:30:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cda34d6984f39ce089cf4075a1e3ebe1699537e0",
"body": "…before\n\njumping to exit_check_error in the 720k path, but did for all others.",
"is_bot": false,
"headline": "floppy1 Set disk type for format: Int 13 function 17h did not set al …",
"author_name": "Kevin Day",
"author_login": "kdkd",
"committed_at": "2026-03-26T15:29:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4b70ddb95237b539e2a832ba38bd32d4018db9f3",
"body": "get_media_state is called and stored in BL before media types are detected.\nIf it discovers you have a 1.44M floppy further down, BL is still storing\nthe pre-detection value which means the 720K step rate gets used. This\nis fixed by calling get_media_state again after fdc_detect_media.",
"is_bot": false,
"headline": "floppy2 read/write/verify disk sectors: At the start of the function,",
"author_name": "Kevin Day",
"author_login": "kdkd",
"committed_at": "2026-03-26T15:29:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dab731a97f69b8a1c6d087cc7c876d12fc0e2953",
"body": "Confirmed by this datasheet and a few other I looked at:\nhttps://www.analog.com/media/en/technical-documentation/data-sheets/DS12885-DS12C887A.pdf\n\nIs there a chip where they are moved up by one?",
"is_bot": false,
"headline": "rtc: Control register C's bit definitions were off by one",
"author_name": "Kevin Day",
"author_login": "kdkd",
"committed_at": "2026-03-26T15:28:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fc42956993ed0eaa34a04751404299df37a3ba43",
"body": "…1 the\n\nfactor was loaded into ah instead of al. al was correctly set just above,\nso you always got the 2:1 scaling factor.",
"is_bot": false,
"headline": "ps2aux set scaling: int 15h function C206h, if scaling was set for 1:…",
"author_name": "Kevin Day",
"author_login": "kdkd",
"committed_at": "2026-03-26T15:28:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dff841cbd2639ec493b2dc5ca67f3209ee8ee7e3",
"body": "always leaving the repeat rate at 0 (30.0) regardless of what the caller\nrequested.",
"is_bot": false,
"headline": "keyboard set typematic rate: int 16h function 03h only sent the delay,",
"author_name": "Kevin Day",
"author_login": "kdkd",
"committed_at": "2026-03-26T15:28:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c9d44f53cdfe024855ea2adeacaeb1b469111f0f",
"body": "read/write modem control register was writing the content to the\nline control register, not the modem control register.",
"is_bot": false,
"headline": "serial2 read/write modem control register: int 14 function 05h,",
"author_name": "Kevin Day",
"author_login": "kdkd",
"committed_at": "2026-03-26T15:28:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "07d71627b9a9e008f3ed203569cba8682da0a1b3",
"body": "0Dh/0Ah were being set in ah, causing the last character printed to be sent\nthree times without any EOL.",
"is_bot": false,
"headline": "int_05 print screen - print_char uses al for the character, but the EOL",
"author_name": "Kevin Day",
"author_login": "kdkd",
"committed_at": "2026-03-26T15:27:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5e73863c0d0b7bcd519f8d0eabe95c9a5e0b2115",
"body": "fix some misspellings in code comments",
"is_bot": false,
"headline": "Merge pull request #79 from WilliamLeara/fix_misspellings",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2026-03-20T00:55:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7c2158f609c9acd7ddfcc79bb44874eb4b93c529",
"body": "no functional change\n\nSigned-off-by: William Leara <william.leara@dell.com>",
"is_bot": false,
"headline": "fix some misspellings in code comments",
"author_name": "William Leara",
"author_login": "WilliamLeara",
"committed_at": "2026-03-19T22:33:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fa76a4bca30db7446eed539323d7230e43547d31",
"body": null,
"is_bot": false,
"headline": "README: Update binaries links and descriptions",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2026-01-07T02:35:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "162a4d3a948dff319f8180125bd467a1ab990f37",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "Remove binary and list files from src",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2026-01-07T02:26:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "69ea5ceba7508512eb5720dff9d244de10995289",
"body": null,
"is_bot": false,
"headline": "Update README.md",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2025-12-27T06:02:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "70e3b8163032ab46aeb60ccc3a3605334975c38e",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "Update README, add more contributors",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2025-09-27T23:16:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "34940413c64608dc01cc224439b8e45252829c43",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "Update binaries to version 1.0.1",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2025-09-27T23:11:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "47058102f68d3bd67f4cfd20bbcb17119c917543",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "Update version to 1.0.1. Document changes",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2025-09-27T23:07:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dcc7298144629414c74bbaf3775c615f5368076d",
"body": "…ipset\n\nSigned-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "Add FE2010 chipset detection. Avoid using RTC at I/O 70h on FE2010 ch…",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2025-09-27T22:48:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "af21f7bf2f13528342ab8d74a3cbda850f6533f0",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "Add BIOS images with XUP configured for XT-IDE rev 2",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2025-09-27T21:37:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1d3f89cb2bb000ebdd312f21dc3f2b29fbc77c77",
"body": "Comment fixes",
"is_bot": false,
"headline": "Merge pull request #76 from matushorvath/comment-fixes",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2025-01-13T19:13:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5cce3d369564742098a0a62c050bd827b3707e78",
"body": null,
"is_bot": false,
"headline": "Comment fixes",
"author_name": "Matus Horvath",
"author_login": "matushorvath",
"committed_at": "2024-11-23T16:26:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "32f82ebde058d5f92dab9f1da4e5b1906e72c9df",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "Update binaries",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2024-05-08T23:01:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4f4312d173cbb26adebf9ce7a7a915ade11ede29",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "Disable check for the boot sector signature. Resolves #68",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2024-05-08T22:58:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8fd8cea2bbb94fb0e0ba03ed7d40034ea125c5d8",
"body": "…clude enough retries\n\nSigned-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "Remove retries in kbc_aux_send. kbc_aux_read/kbc_data_read already in…",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2024-02-06T22:56:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a03b60b6cef69a64ec2384f07534d3943a0d3775",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "Use LC_ALL instead LANG. This fixed CMake on macOS",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-12-02T06:24:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "703a1182da7d6a74fa7c0fd3d33e9fbb6ea4fbe0",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "Use 70h port to enable NMI on Xi8088",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-11-09T00:08:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "99e874d2816cfb0c3ea54ddc142a90cfaa1d1762",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "Reformat Homebrew8088 changes",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-11-08T23:58:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c837bc7d65f042447ab9990d8eca69eca1b6b698",
"body": "Further tweaks from Homebrew8088 support testing",
"is_bot": false,
"headline": "Merge pull request #55 from hak-foo/updated-hb8088",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-11-08T21:02:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "235d8e238881f05547f84dac9aa6582c142a96b7",
"body": "…DOS to show what instructions have the same (and therefore, compensatable) runtime changes between 0WS and 3WS",
"is_bot": false,
"headline": "Code as documentation: a quick sample that can be ran on a V40 under …",
"author_name": "Jack Zeal",
"author_login": "hak-foo",
"committed_at": "2023-11-08T03:30:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ecdd3ec50fad5cadf754acdaeba921a1416a40ae",
"body": "…timation, and realign constants",
"is_bot": false,
"headline": "Try a different, possibly better pairing of instructions for clock es…",
"author_name": "Jack Zeal",
"author_login": "hak-foo",
"committed_at": "2023-11-08T03:28:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dc44a53d842630de283ee0bdfe4fa0fc09eb1c1a",
"body": null,
"is_bot": false,
"headline": "Possibly insulated-from-waitstates clock test",
"author_name": "Jack Zeal",
"author_login": "hak-foo",
"committed_at": "2023-11-03T04:05:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9ab937c60e915d8b442e6d73458b618882cfaeb5",
"body": null,
"is_bot": false,
"headline": "Add clock estimation code",
"author_name": "Jack Zeal",
"author_login": "hak-foo",
"committed_at": "2023-11-02T05:21:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2dc9449e85b148d38bbed2a529b42e1f2b0f6f0c",
"body": null,
"is_bot": false,
"headline": "Better V40 detection, at least works on my specific hardware once",
"author_name": "Jack Zeal",
"author_login": "hak-foo",
"committed_at": "2023-11-01T03:54:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f73c3eed45d44c735fbddf9572a6985d313e1d03",
"body": null,
"is_bot": false,
"headline": "Remove faulty V40 detection code",
"author_name": "Jack Zeal",
"author_login": "hak-foo",
"committed_at": "2023-10-31T03:58:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7bde8d307dc80b07996fd8b620ea4509b1d2fb32",
"body": null,
"is_bot": false,
"headline": "Improved clock estimation logic",
"author_name": "Jack Zeal",
"author_login": "hak-foo",
"committed_at": "2023-10-31T03:34:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8d1662cc044a26a5131192230b433d36f1deb3dd",
"body": null,
"is_bot": false,
"headline": "Experimental clock speed estimation logic",
"author_name": "Jack Zeal",
"author_login": "hak-foo",
"committed_at": "2023-10-30T07:20:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4c605f95b2e27f90b66b44eb8fd7de2a28bbd29d",
"body": null,
"is_bot": false,
"headline": "Experimental attempts to differentiate V20 from V40",
"author_name": "Jack Zeal",
"author_login": "hak-foo",
"committed_at": "2023-10-27T04:14:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e42875d6bbdc04dfd98d53c09da71d84568f564d",
"body": null,
"is_bot": false,
"headline": "Make sure HB8088 build is in bulk builds",
"author_name": "Jack Zeal",
"author_login": "hak-foo",
"committed_at": "2023-10-27T04:14:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "864d530c1f4836bf95cfb988cc3f0acf44a88423",
"body": null,
"is_bot": false,
"headline": "Only make RTC options for HB8088 to ensure bulk builds are clean",
"author_name": "Jack Zeal",
"author_login": "hak-foo",
"committed_at": "2023-10-27T03:16:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a90081e93ea94a1588a6ccd1ffbd05b7bc6f744f",
"body": null,
"is_bot": false,
"headline": "Genericize config options",
"author_name": "Jack Zeal",
"author_login": "hak-foo",
"committed_at": "2023-10-27T02:42:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ced86a59e4bcd20a945a159d763d835e0215028d",
"body": null,
"is_bot": false,
"headline": "Support RTC at ports other than 0x70",
"author_name": "Jack Zeal",
"author_login": "hak-foo",
"committed_at": "2023-10-27T02:35:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "43d6175204e8d4206e0c805cd78149797f091a7a",
"body": "…s more configurable",
"is_bot": false,
"headline": "Use existing AT keyboard controller support, make default floppy type…",
"author_name": "Jack Zeal",
"author_login": "hak-foo",
"committed_at": "2023-10-27T02:27:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b43b6da900e771a1ad0bd31c4a66b1d64aeb7de6",
"body": "Initial support for HB8088 mainboard",
"is_bot": false,
"headline": "Merge pull request #54 from hak-foo/homebrew8088",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-10-26T05:12:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8a61fc6ad0aee6176e0143c42bc2c8992fe35a9f",
"body": null,
"is_bot": false,
"headline": "Show an appropriate model name in power on signature",
"author_name": "Jack Zeal",
"author_login": "hak-foo",
"committed_at": "2023-10-26T04:37:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "60b539f8bb5832b23bf7ab5c52ed8dc2b0658cd9",
"body": null,
"is_bot": false,
"headline": "Initial support for HB8088 mainboard",
"author_name": "Jack Zeal",
"author_login": "hak-foo",
"committed_at": "2023-10-26T04:31:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dfff4fddc8ea73c8ac27435238449fb09b9ef252",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "update change log, add acknowledgements",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-09-29T19:45:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ed6bf7c110b55107b01272ad7105094a480bfa96",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "Build images with PIT delay",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-09-29T19:25:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "12b360dd62d50e08f2ec8a71e19b4e6a9ff0b649",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "use PIT polling delays for FE2010A systems",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-09-28T22:00:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b2a691ddbd0d5b65d1839c97f803652d80e9c4e5",
"body": "delay_15us implementation using PIT polling",
"is_bot": false,
"headline": "Merge pull request #51 from 640-KB/master",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-09-28T22:01:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "385881bce7092a411d83ef8e651d481f8fa99414",
"body": null,
"is_bot": false,
"headline": "-1 byte",
"author_name": "640KB",
"author_login": "640-KB",
"committed_at": "2023-09-28T21:09:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "48a4d408c96c67374d45eb1d1417cded31e77993",
"body": null,
"is_bot": false,
"headline": "delay_15us implementation using PIT polling",
"author_name": "640KB",
"author_login": "640-KB",
"committed_at": "2023-09-28T20:36:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "371e63cf787c4fef746456e332ce44f161636392",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "int_08: Preserve DX register when calling INT 1Ch, addresses #44",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-09-07T19:03:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "031cfde553bf0ef387f6257be9eb8b777f82a18e",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "add bios-book8088.bin back to the repo",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-09-07T18:55:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "63b0b7f8a812dc2b4671aed261051b59c762e064",
"body": "…ild binary images\n\nSigned-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "Use full operating mode for XT-IDE (avoids conflict with BASIC); Rebu…",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-09-07T18:53:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e85a7c2647f2351e6dfc1e0053c8164f016cbbd4",
"body": "Update video row count upon setting the video mode",
"is_bot": false,
"headline": "Merge pull request #42 from zhmu/bugfix/update_video_rows",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-08-15T00:45:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "426a31809fbcd7a0ed7bb5adfd8550b4a4116aba",
"body": "Only 40x25 and 80x25 are supported modes, so the same value can always be used.",
"is_bot": false,
"headline": "Update video row count upon setting the video mode",
"author_name": "Rink Springer",
"author_login": "zhmu",
"committed_at": "2023-08-13T16:02:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3ca115140ac6d55d5f1d5a5031b89cb2bcfb74ed",
"body": null,
"is_bot": false,
"headline": "Update Build_Instructions-Windows.md",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-06-30T19:01:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b2c1e0a8dbb16c486c2475b3bf7019c371b281a5",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "Update Windows build instructions and the Makefile",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-06-30T18:59:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bf4c02daf0eade623590bac1ab8dc73078df3e2a",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "Update README with Book8088 NEC V20 image",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-06-30T16:59:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5c2036796f0a883bede52a80053af826b0a88983",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "Add XT-IDE with NEC V20 support for Book8088",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-06-30T16:58:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dee8229eaaa8c415893f8bba0cd4cf49223e741b",
"body": null,
"is_bot": false,
"headline": "Update Build_Instructions-Linux.md",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-06-28T23:23:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0d476fb298bdc17d3a72274156d551b8355bc469",
"body": null,
"is_bot": false,
"headline": "Update Build_Instructions-Linux.md",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-06-28T23:22:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4cb52f374d9736400958a053cff6644dfbb857ce",
"body": null,
"is_bot": false,
"headline": "Update Build_Instructions-Linux.md for CMake based build",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-06-28T23:22:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cbaaddc34426621d56c6ea74c8a7bbaed7898219",
"body": null,
"is_bot": false,
"headline": "Add links to BIOS binaries",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-06-28T23:10:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "37093b0873e34c2ad9ac4c9ebcca5c9977dc2ec2",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "Use CMake for building the BIOS",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-06-28T23:04:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ebcc587a16f84bff40e3a0daf06d85a6b13d0248",
"body": "Book8088",
"is_bot": false,
"headline": "Merge pull request #37 from skiselev/book8088",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-06-27T21:54:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bb6194c7b398a395d2605a2dde525487b28477eb",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "Remove XT-IDE r624",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-06-27T21:34:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "92cb75d128750fc8c6469fe190f050218be0093f",
"body": "…8088\n\nSigned-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "Update XT-IDE BIOS to r625. Configure XT-CF-Lite I/O to 300h for Book…",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-06-27T21:31:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2dc7f0456c585d8514809421852f1056561e9d91",
"body": "…t these bits\n\nSigned-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "Book8088: Port 61 bits 0 and 1 are read/write, use or/and to set/rese…",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-06-26T22:40:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a067b652183de7d7ba15a86ea9be80f6d75da36e",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "Fix Book8088 image size",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-06-22T03:48:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "89878591577863da4fa8da147571532a8fad6391",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "Build images for all supported machines and configurations",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-06-22T03:45:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f1cb44ef149cad0cced2700ab536fe19632851b8",
"body": "Signed-off-by: Sergey Kiselev <skiselev@gmail.com>",
"is_bot": false,
"headline": "Add support for Book8088",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-06-21T20:29:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3e329a644ef87f2bab1a8666accca416e590e8e6",
"body": "Fix D flat in startup sound",
"is_bot": false,
"headline": "Merge pull request #36 from 640-KB/master",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-05-22T22:58:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4eaf4292e4b083165a860f4bb3bbe0ce5fb23686",
"body": null,
"is_bot": false,
"headline": "Fix D flat in startup sound",
"author_name": "640KB",
"author_login": "640-KB",
"committed_at": "2023-05-22T22:28:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5a6a0fece620512f5ef24a7e13d15f58f916c11d",
"body": "Add LICENSE.txt and project links to README",
"is_bot": false,
"headline": "Merge pull request #34 from 0cjs/dev/cjs/23e21/readme-links",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-05-21T13:04:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "10cebcd60a6a4a3efe728d84a7852c3c035d3f16",
"body": "All the files say, \"You should have received a copy of the GNU General\nPublic License along with this program.\" So let's give them a copy!\n\nAlso, GitHub should to detect this and add the license to its metadata for\nthe project so it's displayed on the project page and found in searches\nsuch as `8088 license:gpl-3.0`. (Right now that finds just forks of this\nrepo that have added LICENSE.txt.)",
"is_bot": false,
"headline": "LICENSE: GPL v3 from https://www.gnu.org/licenses/gpl-3.0.txt",
"author_name": "Curt J. Sampson",
"author_login": "0cjs",
"committed_at": "2023-05-21T06:25:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0382baa72a2af72b7ac4d13920c0f995451dd460",
"body": null,
"is_bot": false,
"headline": "README: Add links to further info on the three systems mentioned",
"author_name": "Curt J. Sampson",
"author_login": "0cjs",
"committed_at": "2023-05-21T04:32:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f6bd403ed98f50a9632ef511ed92e89bcb1c90da",
"body": "Enable DRAM refresh on MACHINE_XT",
"is_bot": false,
"headline": "Merge pull request #33 from 640-KB/master",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-02-27T07:43:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3701bbeaded68f20ce9592c473ada43d330c2cb4",
"body": null,
"is_bot": false,
"headline": "Merge branch 'skiselev:master' into master",
"author_name": "640KB",
"author_login": "640-KB",
"committed_at": "2023-02-24T15:03:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f568c26b430e21f19cacfc877ced00a45c7791ff",
"body": null,
"is_bot": false,
"headline": "Enable DRAM refresh on MACHINE_XT",
"author_name": "640KB",
"author_login": "640-KB",
"committed_at": "2023-02-24T15:00:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4ec3c1cdefe6073e4c9649875e471f9bb2d289d1",
"body": "Fixes for MACHINE_XT build",
"is_bot": false,
"headline": "Merge pull request #32 from 640-KB/master",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-02-23T22:01:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4ddcbc2d0b02080f3014b1facb6d80817f3115f0",
"body": null,
"is_bot": false,
"headline": "MDA video adapter can only be mode 7",
"author_name": "640KB",
"author_login": "640-KB",
"committed_at": "2023-02-23T21:26:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1878b73be273ac1d3caf59c81a8f55b37c91ae11",
"body": null,
"is_bot": false,
"headline": "Fix MACHINE_XT PPI switch read, preserve IMR during detect_rom_ext",
"author_name": "640KB",
"author_login": "640-KB",
"committed_at": "2023-02-23T21:26:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d4d178908be6383f923a531611a5b1b8c17bb0c7",
"body": null,
"is_bot": false,
"headline": "Update README.md",
"author_name": "Sergey Kiselev",
"author_login": "skiselev",
"committed_at": "2023-02-01T03:41:39Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 3,
"commits_last_year": 35,
"latest_release_at": "2025-12-27T06:00:32Z",
"latest_release_tag": "v1.0.1",
"releases_from_tags": false,
"days_since_last_push": 9,
"active_weeks_last_year": 8,
"days_since_latest_release": 215,
"mean_days_between_releases": 530
},
"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": []
},
"popularity": {
"forks": 74,
"stars": 582,
"watchers": 28,
"fork_history": {
"days": [
{
"date": "2018-06-10",
"count": 1
},
{
"date": "2018-07-21",
"count": 1
},
{
"date": "2018-09-18",
"count": 1
},
{
"date": "2019-05-19",
"count": 1
},
{
"date": "2019-07-01",
"count": 1
},
{
"date": "2020-02-04",
"count": 1
},
{
"date": "2020-05-12",
"count": 1
},
{
"date": "2020-06-05",
"count": 1
},
{
"date": "2020-07-29",
"count": 1
},
{
"date": "2021-01-12",
"count": 1
},
{
"date": "2021-02-18",
"count": 1
},
{
"date": "2021-02-20",
"count": 1
},
{
"date": "2021-04-07",
"count": 1
},
{
"date": "2021-04-09",
"count": 1
},
{
"date": "2021-05-31",
"count": 1
},
{
"date": "2021-07-09",
"count": 1
},
{
"date": "2021-07-17",
"count": 1
},
{
"date": "2021-10-07",
"count": 1
},
{
"date": "2021-12-19",
"count": 1
},
{
"date": "2021-12-25",
"count": 1
},
{
"date": "2022-06-23",
"count": 1
},
{
"date": "2022-09-10",
"count": 1
},
{
"date": "2022-11-01",
"count": 1
},
{
"date": "2022-12-03",
"count": 1
},
{
"date": "2023-03-27",
"count": 1
},
{
"date": "2023-04-27",
"count": 1
},
{
"date": "2023-05-21",
"count": 1
},
{
"date": "2023-05-22",
"count": 1
},
{
"date": "2023-05-24",
"count": 1
},
{
"date": "2023-06-27",
"count": 1
},
{
"date": "2023-07-01",
"count": 1
},
{
"date": "2023-07-08",
"count": 2
},
{
"date": "2023-07-24",
"count": 1
},
{
"date": "2023-08-05",
"count": 1
},
{
"date": "2023-09-04",
"count": 1
},
{
"date": "2023-10-16",
"count": 3
},
{
"date": "2023-10-19",
"count": 1
},
{
"date": "2023-10-21",
"count": 1
},
{
"date": "2023-10-24",
"count": 2
},
{
"date": "2023-10-26",
"count": 1
},
{
"date": "2023-11-04",
"count": 1
},
{
"date": "2023-11-05",
"count": 1
},
{
"date": "2023-11-08",
"count": 1
},
{
"date": "2023-11-29",
"count": 1
},
{
"date": "2023-12-29",
"count": 1
},
{
"date": "2024-01-12",
"count": 1
},
{
"date": "2024-01-17",
"count": 1
},
{
"date": "2024-01-31",
"count": 1
},
{
"date": "2024-03-27",
"count": 1
},
{
"date": "2024-03-31",
"count": 1
},
{
"date": "2024-05-26",
"count": 1
},
{
"date": "2024-06-12",
"count": 1
},
{
"date": "2024-06-15",
"count": 1
},
{
"date": "2024-07-07",
"count": 1
},
{
"date": "2024-09-24",
"count": 1
},
{
"date": "2024-10-21",
"count": 1
},
{
"date": "2024-10-26",
"count": 1
},
{
"date": "2024-12-29",
"count": 1
},
{
"date": "2025-05-29",
"count": 1
},
{
"date": "2025-09-14",
"count": 1
},
{
"date": "2025-12-18",
"count": 1
},
{
"date": "2026-01-06",
"count": 1
},
{
"date": "2026-03-19",
"count": 1
},
{
"date": "2026-03-21",
"count": 1
},
{
"date": "2026-04-05",
"count": 1
},
{
"date": "2026-04-14",
"count": 1
},
{
"date": "2026-06-29",
"count": 1
},
{
"date": "2026-07-03",
"count": 1
}
],
"complete": true,
"collected": 72,
"total_forks": 74
},
"star_history": null,
"open_issues_and_prs": 12
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [
"src/Makefile"
],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [],
"largest_source_bytes": null,
"source_files_sampled": 0,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [],
"advisories": {
"error": "No resolved dependencies to assess",
"scope": "repository_graph",
"source": null,
"findings": [],
"collected": false,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 0,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [],
"dependencies": [],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [],
"collected": true,
"truncated": false,
"total_count": 0,
"direct_count": 0,
"indirect_count": 0
}
},
"maintainership": {
"issues": {
"open_prs": 0,
"merged_prs": 15,
"open_issues": 12,
"closed_ratio": 0.803,
"closed_issues": 49,
"closed_unmerged_prs": 6
},
"bus_factor": 1,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "skiselev",
"commits": 245,
"avatar_url": "https://avatars.githubusercontent.com/u/11326662?v=4"
},
{
"type": "User",
"login": "hak-foo",
"commits": 16,
"avatar_url": "https://avatars.githubusercontent.com/u/117552793?v=4"
},
{
"type": "User",
"login": "kdkd",
"commits": 12,
"avatar_url": "https://avatars.githubusercontent.com/u/2569413?v=4"
},
{
"type": "User",
"login": "640-KB",
"commits": 7,
"avatar_url": "https://avatars.githubusercontent.com/u/23486433?v=4"
},
{
"type": "User",
"login": "spark2k06",
"commits": 5,
"avatar_url": "https://avatars.githubusercontent.com/u/3509674?v=4"
},
{
"type": "User",
"login": "horkthane",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/37665479?v=4"
},
{
"type": "User",
"login": "0cjs",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/2586652?v=4"
},
{
"type": "User",
"login": "matushorvath",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/2482377?v=4"
},
{
"type": "User",
"login": "zhmu",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/10707814?v=4"
},
{
"type": "User",
"login": "WilliamLeara",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/524329?v=4"
}
],
"contributors_sampled": 10,
"top_contributor_share": 0.836
},
"quality_signals": {
"has_ci": true,
"has_tests": false,
"ci_workflows": [
"github-actions-build.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 1 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 1/29 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 3,
"reason": "project has 1 contributing companies or organizations -- score normalized to 3",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 0,
"reason": "no update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 5,
"reason": "7 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5",
"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": 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": "ce2ac99f7622853ade69ae26fdf27fe3c27a9a5d",
"ran_at": "2026-07-31T01:57:11Z",
"aggregate_score": 3.5,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": null,
"oldest_open_prs": [],
"last_merged_pr_at": "2026-03-20T00:55:21Z",
"ci_last_conclusion": null,
"oldest_open_issues": [
{
"number": 8,
"created_at": "2020-01-22T22:22:48Z",
"last_comment_at": "2020-01-26T17:56:07Z",
"last_comment_author": "pcem-maintainer"
},
{
"number": 15,
"created_at": "2021-12-31T20:15:56Z",
"last_comment_at": "2024-02-06T23:42:00Z",
"last_comment_author": "roytam1"
},
{
"number": 38,
"created_at": "2023-07-03T22:30:08Z",
"last_comment_at": "2023-10-16T16:55:47Z",
"last_comment_author": "explit28"
},
{
"number": 53,
"created_at": "2023-10-21T09:05:02Z",
"last_comment_at": "2023-10-26T09:07:58Z",
"last_comment_author": "toncho11"
},
{
"number": 59,
"created_at": "2023-12-10T21:42:56Z",
"last_comment_at": "2024-10-19T01:19:25Z",
"last_comment_author": "zhblue"
},
{
"number": 60,
"created_at": "2024-01-05T00:37:35Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 64,
"created_at": "2024-02-20T16:05:45Z",
"last_comment_at": "2024-02-20T19:26:23Z",
"last_comment_author": "skiselev"
},
{
"number": 65,
"created_at": "2024-02-28T17:52:29Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 70,
"created_at": "2024-06-05T20:41:27Z",
"last_comment_at": "2025-11-01T09:45:22Z",
"last_comment_author": "britelite78"
},
{
"number": 73,
"created_at": "2024-07-01T13:37:21Z",
"last_comment_at": "2025-01-14T02:12:36Z",
"last_comment_author": "explit28"
},
{
"number": 77,
"created_at": "2025-03-12T21:00:53Z",
"last_comment_at": "2025-03-22T00:18:25Z",
"last_comment_author": "trguhq"
},
{
"number": 82,
"created_at": "2026-04-09T18:13:09Z",
"last_comment_at": "2026-04-15T18:30:21Z",
"last_comment_author": "skiselev"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/skiselev/8088_bios",
"host": "github.com",
"name": "8088_bios",
"owner": "skiselev"
},
"metrics": {
"overall": {
"key": "overall",
"band": "at_risk",
"name": "Overall health",
"note": null,
"notes": [],
"value": 48,
"inputs": {
"security": 35,
"vitality": 53,
"community": 60,
"governance": 53,
"engineering": 34
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "moderate",
"name": "Vitality",
"value": 53,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "moderate",
"name": "Development activity",
"note": null,
"notes": [],
"value": 53,
"inputs": {
"commits_last_year": 35,
"human_commit_share": 1,
"days_since_last_push": 9,
"active_weeks_last_year": 8
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 9 days ago",
"points": 28.8,
"status": "partial",
"details": [
{
"code": "push_recency",
"params": {
"days": 9
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "8/52 weeks with commits",
"points": 5.5,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 8
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "35 commits in the last year",
"points": 14,
"status": "partial",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 35
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "7 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5",
"points": 5,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "moderate",
"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": 54,
"inputs": {
"releases_count": 3,
"latest_release_tag": "v1.0.1",
"releases_from_tags": false,
"days_since_latest_release": 215,
"mean_days_between_releases": 530
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "3 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 3
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 215 days ago",
"points": 16.2,
"status": "partial",
"details": [
{
"code": "release_recency",
"params": {
"days": 215
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~530 days",
"points": 5.4,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 530
}
}
],
"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": "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": 9,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 9 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 9
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "moderate",
"name": "Community & Adoption",
"value": 60,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "moderate",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 68,
"inputs": {
"forks": 74,
"stars": 582,
"watchers": 28,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "582 stars",
"points": 44.8,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 582
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "74 forks",
"points": 15.5,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 74
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "28 watchers",
"points": 8,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 28
}
}
],
"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
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 53,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "critical",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 29,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 10,
"top_contributor_share": 0.836
},
"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 84% of commits",
"points": 3.7,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 84
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "10 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 10
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 1 contributing companies or organizations -- score normalized to 3",
"points": 3,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "moderate",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 65,
"inputs": {
"merged_prs": 15,
"open_issues": 12,
"closed_issues": 49,
"issue_closed_ratio": 0.803,
"closed_unmerged_prs": 6
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "80% of issues closed",
"points": 37.5,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 80
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "15/21 decided PRs merged",
"points": 27.3,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 15,
"decided": 21
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 1/29 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": 69,
"inputs": {
"followers": 601,
"owner_type": "User",
"is_verified": null,
"owner_login": "skiselev",
"public_repos": 79,
"account_age_days": 4165
},
"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": "601 followers of skiselev",
"points": 20,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 601,
"login": "skiselev"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "79 public repos, account ~11 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 79
}
},
{
"code": "account_age_years",
"params": {
"years": 11
}
}
],
"max_points": 25
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "at_risk",
"name": "Engineering Quality",
"value": 34,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "critical",
"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": "1 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 1
}
}
],
"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 1 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": 50,
"inputs": {
"topics": [],
"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": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "at_risk",
"name": "Security",
"value": 35,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"packaging",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 35,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 16,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 2,
"scorecard_aggregate": 3.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 1 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 1/29 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 1 contributing companies or organizations -- score normalized to 3",
"points": 0.8,
"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": "no update tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "7 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5",
"points": 3.8,
"status": "partial",
"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": "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": "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": 9
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "critical",
"name": "AI Readiness",
"value": 13,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "critical",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 13,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.25,
"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": "25 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 13.3,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 25,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "critical",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 18,
"inputs": {
"has_nix": false,
"has_tests": false,
"lockfiles": [],
"has_dockerfile": false,
"typed_language": false,
"bootstrap_files": [
"src/Makefile"
],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "src/Makefile",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "src/Makefile"
}
}
],
"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": null,
"points": 0,
"status": "missed",
"details": [],
"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": "critical",
"name": "Code legibility for models",
"note": "Excluded from scoring (no data or not applicable): Manageable file sizes. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"manageable_file_sizes"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 1,
"inputs": {
"primary_language": "Assembly",
"largest_source_bytes": null,
"source_files_sampled": 0,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Assembly without a type-check config",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_typecheck_config_language",
"params": {
"language": "Assembly"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "no source files detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_source_files",
"params": {}
}
],
"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-31T01:57:21.482353Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/s/skiselev/8088_bios.svg",
"full_name": "skiselev/8088_bios",
"license_state": "standard",
"license_spdx": "GPL-3.0"
}