Informe JSON sin procesar legible por máquina
{
"data": {
"repo": {
"topics": [
"llvm",
"llvm-hs",
"haskell-bindings",
"code-generation",
"llvm-ir"
],
"is_fork": false,
"size_kb": 27152,
"has_wiki": true,
"homepage": null,
"languages": {
"C": 36593,
"C++": 116255,
"Nix": 1628,
"LLVM": 76290454,
"Haskell": 781785
},
"pushed_at": "2024-07-18T16:19:06Z",
"created_at": "2017-01-06T19:25:26Z",
"owner_type": "Organization",
"updated_at": "2026-07-18T20:32:38Z",
"description": "Haskell bindings for LLVM",
"is_archived": false,
"is_disabled": false,
"license_spdx": null,
"default_branch": "llvm-12",
"license_spdx_raw": null,
"primary_language": "LLVM",
"significant_languages": [
"LLVM"
]
},
"owner": {
"blog": null,
"name": "llvm-hs",
"type": "Organization",
"login": "llvm-hs",
"company": null,
"location": null,
"followers": 19,
"avatar_url": "https://avatars.githubusercontent.com/u/24985976?v=4",
"created_at": "2017-01-08T08:26:04Z",
"is_verified": null,
"public_repos": 8,
"account_age_days": 3481
},
"license": {
"state": "absent",
"spdx_id": null,
"raw_spdx": null,
"file_present": false,
"scorecard_found": false,
"profile_has_license": false
},
"activity": {
"releases": [
{
"tag": "v6.0.0",
"kind": "major",
"published_at": "2018-03-06T13:36:01Z"
},
{
"tag": "v5.1.1",
"kind": "patch",
"published_at": "2017-12-16T13:35:33Z"
},
{
"tag": "v5.1.0",
"kind": "minor",
"published_at": "2017-10-12T09:21:46Z"
},
{
"tag": "v5.0.0",
"kind": "major",
"published_at": "2017-09-07T20:14:09Z"
},
{
"tag": "v4.2.0",
"kind": "minor",
"published_at": "2017-06-20T13:47:20Z"
}
],
"recent_commits": [
{
"oid": "423220bffac4990d019fc088c46c5f25310d5a33",
"body": "As far as I understand, it's the recommended implementation of the\nObjectLayer at the moment. RuntimeDyld was designed for MCJIT and is\nbeing phased out (I think).",
"is_bot": false,
"headline": "Add support for ObjectLinkingLayer",
"author_name": "Adam Paszke",
"author_login": "apaszke",
"committed_at": "2022-10-11T13:35:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d694c1a0d8941591dffb8c2f7877712e04ab3e7e",
"body": null,
"is_bot": false,
"headline": "Add support for defining absolute symbols in JITDylibs",
"author_name": "Adam Paszke",
"author_login": "apaszke",
"committed_at": "2022-09-07T13:18:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "789e2b9e8b827d4c5e15b997f16e395fd2259c0f",
"body": "Those are generally tiny functions that we should encourage GHC to\ninline. The same approach is taken e.g. by the transformers library.",
"is_bot": false,
"headline": "Add INLINE annotations to monadic typeclasses",
"author_name": "Adam Paszke",
"author_login": "apaszke",
"committed_at": "2022-03-16T11:41:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eda85a2bbe362a0b89df5adce0cb65e4e755eac5",
"body": "`cxx-flags` aren't applied to `c-sources`, causing build errors on macOS.",
"is_bot": false,
"headline": "Use cxx-sources instead of c-sources in the Cabal file",
"author_name": "Adam Paszke",
"author_login": "apaszke",
"committed_at": "2022-02-04T21:13:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1a1fa3a81b5b5f58852e7c502b84f22847f34a0d",
"body": null,
"is_bot": false,
"headline": "Expose MustProgress function attribute in the AST (+ encode + decode)",
"author_name": "Adam Paszke",
"author_login": "apaszke",
"committed_at": "2022-02-04T21:13:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "92d153600930ef23efa163c12655c4d119ace610",
"body": null,
"is_bot": false,
"headline": "Add support for adding object files to a JITDylib.",
"author_name": "Dougal",
"author_login": "dougalm",
"committed_at": "2022-01-31T18:05:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9db657851caf0aa7805b26bcedbd5f445b70f929",
"body": "* IR-builder: use first terminator during codegen\r\n\r\nPreviously, the latest terminator instruction was always used (`br`,\r\n`condBr`, `ret`, ...). This limited composability when creating\r\ncombinators based on the IR builder.\r\n\r\nNow, we keep track of the first terminator which is more in line with\r\nh\n[…]\ny, this ret instruction would not be emitted!\r\n ret (bit 0)\r\n\r\n ret (bit 1)\r\n```\r\n\r\n* Add tests for emitting only first terminator\r\n\r\n* Update CHANGELOG\r\n\r\n* Add nested control flow test",
"is_bot": false,
"headline": "Better handling of terminators in IR builder (llvm-12) (#368)",
"author_name": "Luc Tielen",
"author_login": "luc-tielen",
"committed_at": "2021-10-15T11:44:21Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b87bfaf729fdef9c6bcfaa69267ae4d553fdf658",
"body": "Add int16 helper function",
"is_bot": false,
"headline": "Merge pull request #365 from luc-tielen/int16-helper-function",
"author_name": "Luc Tielen",
"author_login": "luc-tielen",
"committed_at": "2021-10-13T06:44:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cb81e470eefabf87b48915733f7a491a5a4b998c",
"body": null,
"is_bot": false,
"headline": "Add int16 helper function",
"author_name": "Luc Tielen",
"author_login": "luc-tielen",
"committed_at": "2021-09-23T14:31:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "80e881257e356edea333b8da65eb46782a8d3b14",
"body": "…resses #363)",
"is_bot": false,
"headline": "Eliminate use of Template Haskell from LLVM.Internal.FFI.Builder (add…",
"author_name": "Andrew",
"author_login": "andrew-wja",
"committed_at": "2021-09-02T13:52:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a64c808277a7475ff32b74d006d278b5e048ab6d",
"body": "…I layer to make it easier to debug when things go wrong",
"is_bot": false,
"headline": "Begin to refactor away the horrendous macro metaprogramming in the FF…",
"author_name": "Andrew",
"author_login": "andrew-wja",
"committed_at": "2021-09-01T16:10:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "daa835b8c1bd5f48886e312f80755eb1b641d90c",
"body": null,
"is_bot": false,
"headline": "Add note about implementation of new functionality to README",
"author_name": "Andrew",
"author_login": "andrew-wja",
"committed_at": "2021-09-01T09:20:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "226dafdcf1356175237492d666a3e6fa584d9e94",
"body": null,
"is_bot": false,
"headline": "Point to llvm-hs-examples in the README",
"author_name": "Andrew",
"author_login": "andrew-wja",
"committed_at": "2021-09-01T09:17:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "77704c8776b68ddb3b719b3e016bb45c833b5f59",
"body": null,
"is_bot": false,
"headline": "Update README to explain a little more how the project is structured.",
"author_name": "Andrew",
"author_login": "andrew-wja",
"committed_at": "2021-08-31T16:20:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fc4a4ea3bb62747415f713b97691bbcb1b8e37a9",
"body": "…e old, stale text, and encourage creation of issues for incomplete LLVM API coverage.",
"is_bot": false,
"headline": "More FFI gardening addressing #358, and update to the README to remov…",
"author_name": "Andrew",
"author_login": "andrew-wja",
"committed_at": "2021-08-31T15:19:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "24deb7771914693cde4bc0ceb5421373cc118013",
"body": "…diagnose what is causing the failures. Audit LLVM.Internal.FFI.Type for duplication of the LLVM C API and remove it (addresses #358).",
"is_bot": false,
"headline": "Turn off FNeg tests again so that we can work on making it easier to …",
"author_name": "Andrew",
"author_login": "andrew-wja",
"committed_at": "2021-08-31T14:07:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5bc0f8aa91935b4b7b628b05675441565fb97eaf",
"body": null,
"is_bot": false,
"headline": "Add FNeg specific test case",
"author_name": "Andrew",
"author_login": "andrew-wja",
"committed_at": "2021-08-31T13:28:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0c8795a95a8001c424af81a05b8ffacd774e76bd",
"body": null,
"is_bot": false,
"headline": "Remove 'flags' stanza from stack.yaml",
"author_name": "Andrew",
"author_login": "andrew-wja",
"committed_at": "2021-07-16T07:16:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1ef6876fc68b7e67c06930af1d53f3f67a418598",
"body": "…strip off an index while processing 'NamedTypeReference's in constant expressions",
"is_bot": false,
"headline": "Fix bug in the type indexing logic in LLVM.AST.Typed: we erroneously …",
"author_name": "Andrew",
"author_login": "andrew-wja",
"committed_at": "2021-07-15T16:09:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "44926b5635f04deeefb60e73f478ac3d123ecf87",
"body": null,
"is_bot": false,
"headline": "Apply 'typeOf' change in 'LLVM.IRBuilder.Instruction.fneg'",
"author_name": "Andrew",
"author_login": "andrew-wja",
"committed_at": "2021-07-15T14:48:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2d2025cf7a0bb3573c898edfa3b66fae8feeaaaf",
"body": "…r'. Fixes #351.",
"is_bot": false,
"headline": "Deal with failure of type resolution as opposed to just calling 'erro…",
"author_name": "Andrew",
"author_login": "andrew-wja",
"committed_at": "2021-07-15T14:45:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c5c566a2636ba1052fc143336ad5743f595d9fba",
"body": null,
"is_bot": false,
"headline": "Fix warning",
"author_name": "Andrew",
"author_login": "andrew-wja",
"committed_at": "2021-07-15T12:26:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b5a82872b5ca8e9cf7c4a0f672591c3ad18233c2",
"body": null,
"is_bot": false,
"headline": "Restore 'ghc-options' in stack.yaml. Fixes #354",
"author_name": "Andrew",
"author_login": "andrew-wja",
"committed_at": "2021-07-15T12:25:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5e3235201018eecb5edf4e40e01de1b0bd7d31ec",
"body": "…type of a getelementptr instruction, show the invalid index so the user has some chance of fixing the problem.",
"is_bot": false,
"headline": "When encountering an invalid struct index while computing the result …",
"author_name": "Andrew",
"author_login": "andrew-wja",
"committed_at": "2021-07-15T12:04:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "351683ed1c2f6b329e62439d42a158b1d804b846",
"body": "Fixes #354",
"is_bot": false,
"headline": "cabal: move ghc-options from stack.yaml to llvm-hs.cabal",
"author_name": "Trevor L. McDonell",
"author_login": "tmcdonell",
"committed_at": "2021-07-08T09:54:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4e52d884d44b7daaa4dc101f28903229c98f2999",
"body": "…ith or without RTTI. Reinstate the unfortunately necessary stanza in . Fixes #354.",
"is_bot": false,
"headline": "Add a user flag to control whether the build assumes LLVM was built w…",
"author_name": "Andrew",
"author_login": "andrew-wja",
"committed_at": "2021-07-07T17:37:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0011d78bc6b7c5adb92dfc1199016169f5b1fcea",
"body": null,
"is_bot": false,
"headline": "Fix stale line in previous merge",
"author_name": "Andrew",
"author_login": "andrew-wja",
"committed_at": "2021-07-07T16:38:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "227a33c183a4abc5dfbee50081ee793348e38355",
"body": "* Build fix for GHC-9\r\n\r\nFixes #338\r\n\r\n* Build fix for GHC-8.6\r\n\r\n* Build fix for GHC>=8.10\r\n\r\nFixes #315 (properly)\r\n\r\nCo-authored-by: Andrew Anderson <aanderso@tcd.ie>",
"is_bot": false,
"headline": "Build fixes (#352)",
"author_name": "Trevor L. McDonell",
"author_login": "tmcdonell",
"committed_at": "2021-07-07T16:27:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "132eb7cdf72305d8c62f976c26f2e5aec6bc5fa8",
"body": "* Handle NamedTypeReference in typeOf\r\n\r\n* Fix warning due to unused captures\r\n\r\n* Add a test for the resolution of typedefs (i.e. NamedTypeReference) in constant expressions\r\n\r\n* Add support for more DWARF operators (partially addresses #306)\r\n\r\n* Print an explicit error message for unhandled top-l\n[…]\nhe LLVM tools with debug info emission turned on (for example, 'clang -g' will produce IR that crashes llvm-hs).\r\n\r\n* Fix two type signatures that got lost in the cherry-picking from the llvm-9 branch",
"is_bot": false,
"headline": "Cherry-pick fixes from the llvm-9 branch (#353)",
"author_name": "Andrew Anderson",
"author_login": "andrew-wja",
"committed_at": "2021-07-07T16:21:50Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d8c71f10691c4f0f6a4df05c76add91d11427cdb",
"body": null,
"is_bot": false,
"headline": "Clean up cc-options in llvm-hs/llvm-hs.cabal",
"author_name": "Andrew",
"author_login": "andrew-wja",
"committed_at": "2021-05-24T09:21:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5a4f74ece083bd5824d16f44582b8b9f07492a82",
"body": null,
"is_bot": false,
"headline": "Rewrite some more of the OrcJIT tests for OrcJITv2 (#340)",
"author_name": "Andrew Anderson",
"author_login": "andrew-wja",
"committed_at": "2021-05-21T11:03:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "04a28862f717c8e54400cc390c1e3e295c770b06",
"body": "* Apply fix for #315 and update C++ standard version (LLVM 12 uses C++14)\r\n\r\n* Update build options and README to address #315",
"is_bot": false,
"headline": "Fix #315 (#339)",
"author_name": "Andrew Anderson",
"author_login": "andrew-wja",
"committed_at": "2021-05-20T10:40:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4aad4c4060a582c49116b70037d96eb863891e20",
"body": "…ileUnit -- change it in llvm-hs also to avoid divergence",
"is_bot": false,
"headline": "Upstream changed the name of the debugBaseAddress parameter to DIComp…",
"author_name": "Andrew",
"author_login": "andrew-wja",
"committed_at": "2021-04-28T14:20:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "be81b4c47ff479d0ecfcc9ae2ca71b76c58c9bed",
"body": "…nings generated by code in the LLVM release/9.x branch",
"is_bot": false,
"headline": "Add -Wno-init-list-lifetime options to cc-options to silence many war…",
"author_name": "Andrew",
"author_login": "andrew-wja",
"committed_at": "2021-04-28T14:20:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "721727464bed33420a60e6ef44f77f326adc21c8",
"body": null,
"is_bot": false,
"headline": "Add support for the FNeg instruction",
"author_name": "Andrew",
"author_login": "andrew-wja",
"committed_at": "2021-04-28T08:14:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b0126bf17529666461ac13a3c939d0fc3e4fbd0f",
"body": "…e getElementPtrType or getElementType",
"is_bot": false,
"headline": "Provide at least the bare minimum of help to the user when they misus…",
"author_name": "Andrew",
"author_login": "andrew-wja",
"committed_at": "2021-04-28T08:14:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "57da69772c0231e0e0b346c05bedaedc92eaecc6",
"body": null,
"is_bot": false,
"headline": "Depth 1 clone for llvm",
"author_name": "Andrew",
"author_login": "andrew-wja",
"committed_at": "2021-04-28T08:14:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9b1fe58a679298df4146faee874aff048d1d0bbf",
"body": "…y LLVM components, remove hardcoded parallelism limits and let cmake figure things out automatically",
"is_bot": false,
"headline": "Update the CI configuration -- don't build or download any unnecessar…",
"author_name": "Andrew",
"author_login": "andrew-wja",
"committed_at": "2021-04-28T08:14:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "48cec38fbb4c9b5e3c045b2b59c613def4df38e0",
"body": "The symbols they call in the LLVM C bindings are not resolved (as of 12 Apr 2021 and possibly before). (#322)\r\n\r\nIt seems reasonable to expect users of llvm-hs to be able to compose `writeFile stderr <$> ppLlvm <$> moduleAST`\r\n\r\nSince LLVM 12 changed the mask argument of `shufflevector` to a constant vector of `Int32`, `ppLlvm` requires a `Typed` instance for `[Int32]` for the above snippet to work properly.",
"is_bot": false,
"headline": "Remove dumpModule and dumpMetadata functions",
"author_name": "Andrew Anderson",
"author_login": "andrew-wja",
"committed_at": "2021-04-28T08:10:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fe126832c25d3d9c95dfb78b3d946b5f383b6a96",
"body": null,
"is_bot": false,
"headline": "Restore getSymbolAddressInProcess",
"author_name": "Adam Paszke",
"author_login": "apaszke",
"committed_at": "2021-04-28T08:09:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "285024daf27aaae9a3a1a2df3eccaf43d41bf3e3",
"body": "https://github.com/llvm/llvm-project/commit/65fd034b95d69fa0e634861ee165b502ceb92a12",
"is_bot": false,
"headline": "Fix Optimization.hs test: willreturn attributes are now inferred.",
"author_name": "Shaurya Gupta",
"author_login": "sureyeaah",
"committed_at": "2021-04-28T08:09:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ac42828bf88ae206b5b0b59a64b719501ab44a46",
"body": null,
"is_bot": false,
"headline": "Remove OrcJITv1, lots of cleanups and fixes.",
"author_name": "Adam Paszke",
"author_login": "apaszke",
"committed_at": "2021-04-28T08:08:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7d8f7bb4a1bfadf9f7b5ec67cf8375466172a82c",
"body": "Update llvm-hs from LLVM 9 to LLVM 12.\n\nList of changes:\n\n- Attributes\n - Various minor changes, not listed in detail.\n- Debug information\n - DIFlag: BlockByrefStruct and ArgumentNotModified removed.\n - DISubrange\n - New arguments: upperBound and stride.\n - Arguments {lowerBound,upperBound,\n[…]\ncJIT v2.\n- Update installation instructions for llvm-hs@llvm-12.\n- Fix CI for llvm-hs@llvm-12.\n - Vote for using GitHub Actions instead of Travis CI.\n\nCo-authored-by: Adam Paszke <apaszke@google.com>",
"is_bot": false,
"headline": "[WIP] Upgrade llvm-hs to LLVM 12.",
"author_name": "Dan Zheng",
"author_login": "dan-zheng",
"committed_at": "2021-04-28T08:07:39Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e4631c091b31588f97e19c52ebba9902b369906f",
"body": "* Add support for atomicrmw on floating point types\r\n\r\n* Generate rmw operation enum instead of defining separately",
"is_bot": false,
"headline": "Add support for atomicrmw on floating point types (#280)",
"author_name": "Trevor L. McDonell",
"author_login": "tmcdonell",
"committed_at": "2021-04-28T08:05:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9b2b4f9885e012b673a0c62de4c90dd9b6f2c7b1",
"body": "This reverts commit 5eac40827f256f40fe5a13b70635ef1aff3f0f6f.\n\nThis functionality is not in LLVM 9 and so shouldn't be on this branch",
"is_bot": false,
"headline": "Revert \"Add support for atomicrmw on floating point types (#280)\"",
"author_name": "Andrew",
"author_login": "andrew-wja",
"committed_at": "2021-04-28T07:59:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fc2d49c3c51b0e86e2f47b924bf486ff20bf1211",
"body": "There is still a lot of stuff missing but given that the existing API\r\nis going to go away in the next major LLVM release, I’m going to merge\r\nthis in the current state so we have at least something after that.",
"is_bot": false,
"headline": "First bindings for OrcJIT V2 (#286)",
"author_name": "Moritz Kiefer",
"author_login": "cocreature",
"committed_at": "2021-04-24T10:44:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5add12cca9647cf432ef248e1391fe3a67b70a0b",
"body": "\r\n- Fix all outstanding warnings when building against LLVM 9.0.1\r\n- Remove deprecated `ListT` instances\r\n- Remove redundant imports\r\n- Correct hard-coded assumption that size_t is 32 bits in `LLVM.AST.Constant`\r\n- Add a matching non-constant sizeof in `LLVM.IRBuilder.Instruction`\r\n- Update test for extractValue in `LLVM.Test.Constants` and add a link to the upstream bug filed on the LLVM bugzilla",
"is_bot": false,
"headline": "Gardening on the LLVM 9 branch (#325)",
"author_name": "Andrew Anderson",
"author_login": "andrew-wja",
"committed_at": "2021-04-23T10:16:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fb9b5006704404cb5768873f828ffa883873ef07",
"body": "* Handle NamedTypeReference in extractValue\r\n\r\nextractValue would error if given an alias to a struct/array,\r\nsince it relied on extractValueType that doesn't know about\r\naliases.\r\n\r\nNow it calls out the same function gep uses for type resolution.\r\nBecause gep also accepts pointers and vector types,\n[…]\ned types were given\r\n\r\nFixes #295\r\n\r\n* Add missing HasCallStack for gep / extractValue\r\n\r\nErrors in `gep` would not show the call stack due to this\r\n\r\nCo-authored-by: Andrew Anderson <aanderso@tcd.ie>",
"is_bot": false,
"headline": "Handle NamedTypeReference in extractValue (#317)",
"author_name": "Daniel Gorin",
"author_login": "jcpetruzza",
"committed_at": "2021-04-23T09:57:32Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c801232ad06c73b6c6d73cea820a00717263daaa",
"body": "`extractValue` is modified so that it can reconstruct its return type even in\r\nthe presence of `NamedTypeReference`. This implies a MonadModuleBuilder dependency as in `gep` because named type references need to be looked up in the module builder state.\r\n\r\nCo-authored-by: Guerric Chupin <guerric@chnik.fr>\r\nCo-authored-by: Andrew Anderson <aanderso@tcd.ie>",
"is_bot": false,
"headline": "[IRBuilder] Perform named type lookup in extractValue",
"author_name": "GuerricChupin",
"author_login": "GuerricChupin",
"committed_at": "2021-04-22T20:23:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "957b74b33d04b6d7ab883bbd9f4d13a16fcafab1",
"body": "Fix typeOf const struct whose type is named. Previously, the explicit struct type was emitted instead of the associated type name, making the AST uneccesarily verbose.",
"is_bot": false,
"headline": "Merge pull request #319 from jcpetruzza/fix-typeof-const-struct",
"author_name": "Andrew Anderson",
"author_login": "andrew-wja",
"committed_at": "2021-04-22T17:58:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9a10fd5f2e95058de5abf11d7d96d55240c4d8fb",
"body": "For a constant structure `c`, `typeOf c` would always return\na structure type with the type of all the values. However,\nwhen the constant structure has a named type reference as\ntype, that should be used instead.\n\nThis issue manifests when using llvm-hs-pretty, that can then\nproduce invalid LLVM IR.\n[…]\nlobal { i32, %t } {i32 42, %t {i8 42}}\n```\n\nWhen pretty-printed we get:\n\n```\n%t = type { i8 }\n@g = global { i32, %t } {i32 42, {i8} {i8 42}}\n```\n\nwhich LLVM rejects due to the `%t` vs `{i8}` mismatch.",
"is_bot": false,
"headline": "Fix typeOf const struct whose type is named",
"author_name": "Daniel Gorin",
"author_login": "jcpetruzza",
"committed_at": "2021-03-15T22:43:49Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "442bc488c39f0264930c95e2c98b5cf055d53e8e",
"body": "…y (#314)\n\nThis is useful when the compilation process is driven from outside of\r\nHaskell, making it impossible to know the regions in which they are\r\nvalid ahead of time.",
"is_bot": false,
"headline": "Make it possible to manage Contexts and Modules in a non-bracketed wa…",
"author_name": "Adam Paszke",
"author_login": "apaszke",
"committed_at": "2020-12-24T08:50:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a48170078dcf492860a00e70dedb65833f6aef54",
"body": null,
"is_bot": false,
"headline": "Add call stacks to partial functions (#305)",
"author_name": "Roman Cheplyaka",
"author_login": "UnkindPartition",
"committed_at": "2020-10-05T19:33:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8ef009876f6345cb066ab96330fee20578ba488c",
"body": null,
"is_bot": false,
"headline": "Link to mcc blog series from README (#302)",
"author_name": "Joseph Morag",
"author_login": "jmorag",
"committed_at": "2020-10-05T19:28:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4eb579a4cfc1e413dbc2eb232df07bf7e0126f77",
"body": "…-initialization (addressing #262) (#297)\n\nAdd NamedTypeReference to the set of allowable types in constant zero-initialization (addressing #262)",
"is_bot": false,
"headline": "Add NamedTypeReference to the set of allowable types in constant zero…",
"author_name": "andrew-wja",
"author_login": "andrew-wja",
"committed_at": "2020-05-03T15:09:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "86fc9a2042bbf82e4f3273980add3273032b85d5",
"body": null,
"is_bot": false,
"headline": "Fix CI (#300)",
"author_name": "Moritz Kiefer",
"author_login": "cocreature",
"committed_at": "2020-05-01T10:05:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b3a6fd0a7308ebf5fd820bc53106c7d8e98ea472",
"body": null,
"is_bot": false,
"headline": "Upgrade travis deps (#285)",
"author_name": "Moritz Kiefer",
"author_login": "cocreature",
"committed_at": "2019-11-16T09:45:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e3adea5a3e7da074274bd1181cdd4ca728df3cae",
"body": "fixes #282",
"is_bot": false,
"headline": "Support NoFree attribute (#284)",
"author_name": "Moritz Kiefer",
"author_login": "cocreature",
"committed_at": "2019-11-16T06:39:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5eac40827f256f40fe5a13b70635ef1aff3f0f6f",
"body": "* Add support for atomicrmw on floating point types\r\n\r\n* Generate rmw operation enum instead of defining separately",
"is_bot": false,
"headline": "Add support for atomicrmw on floating point types (#280)",
"author_name": "Trevor L. McDonell",
"author_login": "tmcdonell",
"committed_at": "2019-09-30T18:37:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "496072bad0068e48734942821594fbd77d9cd18b",
"body": null,
"is_bot": false,
"headline": "Update changelog for 9.0.1",
"author_name": "Moritz Kiefer",
"author_login": "cocreature",
"committed_at": "2019-09-28T14:07:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2f2ea875b7dc243ee332d7b3a5304b941abcec94",
"body": "* Update stack.yaml\r\n\r\n* Build fix for C++11 narrowing conversion",
"is_bot": false,
"headline": "Build fix for C++11 narrowing conversion (#279)",
"author_name": "Trevor L. McDonell",
"author_login": "tmcdonell",
"committed_at": "2019-09-26T10:56:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0307ac4db95da30c10c98d20cdbde6744870eae3",
"body": "* Expose LLVMOffsetOfElement",
"is_bot": false,
"headline": "Expose LLVMOffsetOfElement (#277)",
"author_name": "Deian Stefan",
"author_login": "deian",
"committed_at": "2019-09-26T06:54:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ddd23bf0379c863cec4ac03f17e03f4654f7f8dc",
"body": null,
"is_bot": false,
"headline": "Set changelog dates",
"author_name": "Moritz Kiefer",
"author_login": "cocreature",
"committed_at": "2019-09-06T05:44:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3d08076125057e64702c5f4f189852ecae326cdd",
"body": "* Upgrade to llvm 9\r\n\r\n* Fix GHC < 8.8\r\n\r\n* Update changelog",
"is_bot": false,
"headline": "Upgrade to llvm 9 (#275)",
"author_name": "Moritz Kiefer",
"author_login": "cocreature",
"committed_at": "2019-09-06T05:30:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a1b75e71fcba09312662a61946ddf6b933d87cba",
"body": "* Improve performance of fresh name generation\r\n\r\n* Make fresh name gen unambiguous\r\n\r\n* Fix failing tests due to change in fresh name gen",
"is_bot": false,
"headline": "Improve performance of fresh name generation (#271)",
"author_name": "Luc Tielen",
"author_login": "luc-tielen",
"committed_at": "2019-07-24T18:44:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0a82af1b8cb2480734c442286dccffbccc9464fc",
"body": null,
"is_bot": false,
"headline": "Point to newer nixpkgs (#270)",
"author_name": "Luc Tielen",
"author_login": "luc-tielen",
"committed_at": "2019-07-24T00:04:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "da64b02bcca059686a98c3a6458c0314eb6be77d",
"body": "Make withHostTargetMachine accept the code model, relocation model, and\r\noptimization level as arguments rather than assume the defaults.\r\n\r\nCloses #263.",
"is_bot": false,
"headline": "withHostTargetMachine: make some options configurable (#264)",
"author_name": "Roman Cheplyaka",
"author_login": "UnkindPartition",
"committed_at": "2019-06-09T11:47:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2dd2ba135633ac1732d9f24827436088855693b9",
"body": "…260)\n\nSee http://nondot.org/sabre/LLVMNotes/SizeOf-OffsetOf-VariableSizedStructs.txt",
"is_bot": false,
"headline": "Add platform independant sizeof primitive to IRBuilder.Instruction (#…",
"author_name": "James Faure",
"author_login": "jfaure",
"committed_at": "2019-05-16T05:32:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a0a62ed96bb3706ae5f15e98b866ddb2acc864a1",
"body": null,
"is_bot": false,
"headline": "Add changelog entry for globalStringPtr change",
"author_name": "Moritz Kiefer",
"author_login": "cocreature",
"committed_at": "2019-05-15T17:39:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "07e9b5396dd09f8afab8fb66c36350126c05e521",
"body": "…tant Gep instruction) (#258)",
"is_bot": false,
"headline": "globalStringPtr now returns returns a constant (changed to use a cons…",
"author_name": "James Faure",
"author_login": "jfaure",
"committed_at": "2019-05-15T17:30:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "de19e8cbe21c932c31d3f3bedd9ada6fccd2c2c2",
"body": null,
"is_bot": false,
"headline": "Add changelog entry for IRBuilder.Constant change",
"author_name": "Moritz Kiefer",
"author_login": "cocreature",
"committed_at": "2019-04-14T16:15:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f2b44bbe323af4b36847c8c0baaf96491922ba1e",
"body": null,
"is_bot": false,
"headline": "No monadic context for IRBuilder.Constant convenience functions (#255)",
"author_name": "James Faure",
"author_login": "jfaure",
"committed_at": "2019-04-14T16:11:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "debc885ac87d13036f92e3ed271a58997e93ea00",
"body": "Fix installation instructions for macOS",
"is_bot": false,
"headline": "Merge pull request #251 from eugmes/macos-instructions-fix",
"author_name": "Trevor L. McDonell",
"author_login": "tmcdonell",
"committed_at": "2019-03-29T14:56:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3b6c35ac24ad5fcfbc8b9e6f301f1df4a3e65e88",
"body": "The Homebrew formula is called llvm-8 and not llvm-8.0.",
"is_bot": false,
"headline": "Fix installation instructions for macOS",
"author_name": "Eugeniy Meshcheryakov",
"author_login": "eugmes",
"committed_at": "2019-03-29T10:48:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3fa58aa5b0271d6dd565c7ffcc30c1de49b9d78c",
"body": null,
"is_bot": false,
"headline": "Remove redundant import",
"author_name": "Moritz Kiefer",
"author_login": "cocreature",
"committed_at": "2019-03-10T15:00:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3ceb9d7d2bb43b319c9a3cecc80bc699903507ac",
"body": null,
"is_bot": false,
"headline": "Fix warnings in globalStringPtr",
"author_name": "Moritz Kiefer",
"author_login": "cocreature",
"committed_at": "2019-03-10T14:58:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "68fe71f4c970a82453f85d50defe18f913ee3c1e",
"body": null,
"is_bot": false,
"headline": "Update source repository branches",
"author_name": "Moritz Kiefer",
"author_login": "cocreature",
"committed_at": "2019-03-10T14:51:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b67f9bcc9ec472acc06da249fe8a4810b35c5464",
"body": null,
"is_bot": false,
"headline": "Add release dates to changelog",
"author_name": "Moritz Kiefer",
"author_login": "cocreature",
"committed_at": "2019-03-10T14:46:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "14cd8933c19edd7685af84fd3e7a5948f31a47a7",
"body": "…… (#246)\n\n* Fixed globalStringPtr to emit a gep (rather than a bitcast), and moved it to IRBuilder/Instruction.hs\r\n\r\n* Add int8 to IRBuilder/Constant.hs",
"is_bot": false,
"headline": "Fixed globalStringPtr to emit a gep (rather than a bitcast), and move…",
"author_name": "James Faure",
"author_login": "jfaure",
"committed_at": "2019-03-10T14:44:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "601443f123cb387ee0dc2279454abc9b8521a2b8",
"body": "* Port to LLVM 8.0",
"is_bot": false,
"headline": "Port to LLVM 8.0 (#249)",
"author_name": "Moritz Kiefer",
"author_login": "cocreature",
"committed_at": "2019-03-10T14:41:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "530b2b82254e8474bce627ba0ebdebca041898bc",
"body": null,
"is_bot": false,
"headline": "remove huge test",
"author_name": "Deian Stefan",
"author_login": "deian",
"committed_at": "2019-03-07T19:08:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "898dbaf90d7004b88bb5d68b3db95e7cb0c28fb4",
"body": null,
"is_bot": false,
"headline": "Support for UTF encoding",
"author_name": "Deian Stefan",
"author_login": "deian",
"committed_at": "2019-03-07T19:08:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d51b39ba2d6f05cdfe760f8682f4790f6b7a32df",
"body": "Fixes llvm-hs/llvm-hs#241",
"is_bot": false,
"headline": "update README.md",
"author_name": "Trevor L. McDonell",
"author_login": "tmcdonell",
"committed_at": "2019-02-18T18:44:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d4ce40d793bfb5fa31f8c597b48241e7d1b140a7",
"body": "fixes #242",
"is_bot": false,
"headline": "Make value field in DITemplateValueParameter optional",
"author_name": "Moritz Kiefer",
"author_login": "cocreature",
"committed_at": "2019-01-12T19:06:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c4ece6be7c0fddab52a7b799d980757599860f5a",
"body": null,
"is_bot": false,
"headline": "add support for mod dwarf op",
"author_name": "Deian Stefan",
"author_login": "deian",
"committed_at": "2019-01-12T15:44:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b232a633a03049bec2571e6774648230efb99915",
"body": null,
"is_bot": false,
"headline": "add not to pattern",
"author_name": "Deian Stefan",
"author_login": "deian",
"committed_at": "2019-01-08T19:23:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b8b7e5059e4c01f8dd4f660ffd8f9a04023e64b1",
"body": null,
"is_bot": false,
"headline": "Add support for additional DW_OPs",
"author_name": "Deian Stefan",
"author_login": "deian",
"committed_at": "2019-01-08T19:23:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fc2a3e6fc3adba19399f388a7b753a1cba09a7ec",
"body": "fixes #233",
"is_bot": false,
"headline": "Add regression test for metadata fixes",
"author_name": "Moritz Kiefer",
"author_login": "cocreature",
"committed_at": "2018-12-23T12:15:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8deed899c907e74d12e41eff0b38fc643e61f46e",
"body": null,
"is_bot": false,
"headline": "Make type' field in DITemplateParameter optional",
"author_name": "Moritz Kiefer",
"author_login": "cocreature",
"committed_at": "2018-12-23T12:15:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8a7e5183c37004a4b49b3b95d8369749efd0f37b",
"body": null,
"is_bot": false,
"headline": "Make baseType field optional",
"author_name": "Moritz Kiefer",
"author_login": "cocreature",
"committed_at": "2018-12-23T12:15:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "afeff2b5d99fb3a3a6fed22125e8f15e2d93d69b",
"body": null,
"is_bot": false,
"headline": "Update shell.nix",
"author_name": "Moritz Kiefer",
"author_login": "cocreature",
"committed_at": "2018-12-23T12:15:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7361d8a8472a1e7590a83fe8ca922d414e717be7",
"body": null,
"is_bot": false,
"headline": "use c++11 language",
"author_name": "Csaba Hruska",
"author_login": "csabahruska",
"committed_at": "2018-12-17T19:55:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4cf8da9e29a4b5a8c1c3851dcf72d00fbce216e4",
"body": null,
"is_bot": false,
"headline": "Add links to LLVM Reference in IRBuilder.Instruction",
"author_name": "Ville Tirronen",
"author_login": "aleator",
"committed_at": "2018-12-06T06:23:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1b6bf6f3a731c924f3538ed8f3faebaf06ff152d",
"body": null,
"is_bot": false,
"headline": "Fix documentation links for token and label types",
"author_name": "Ievgenii Meshcheriakov",
"author_login": null,
"committed_at": "2018-11-30T17:25:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "85d82fa1db0c11f377616c0cebafc8299bde822b",
"body": "Was casting from a charStar to a charStar instead of a *byteArray to a\ncharStar and causing an LLVM type error.",
"is_bot": false,
"headline": "Fix type error in globalStringPtr BitCast",
"author_name": "Joseph Morag",
"author_login": "jmorag",
"committed_at": "2018-11-30T17:24:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fe274ba407b6c094325e530438b7951af8ffa64d",
"body": "fixes #230",
"is_bot": false,
"headline": "Do not throw due to name collisions if variables have empty names",
"author_name": "Moritz Kiefer",
"author_login": "cocreature",
"committed_at": "2018-10-30T16:57:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e6c3e746c7643f39b00f0873fd97eacff79984c7",
"body": null,
"is_bot": false,
"headline": "Bump pretty-show upper bound",
"author_name": "Moritz Kiefer",
"author_login": "cocreature",
"committed_at": "2018-10-30T16:43:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ecebd73760149fdecf05d1ba5047e94f0c48524c",
"body": null,
"is_bot": false,
"headline": "Add missing srem instruction to IRBuilder.",
"author_name": "Eric Walkingshaw",
"author_login": "walkie",
"committed_at": "2018-10-16T18:20:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "98bdac30091ff51bf0c1778d88af9d789f63c3d9",
"body": null,
"is_bot": false,
"headline": "Bump up the version from 6 to 7",
"author_name": "Jaseem Abid",
"author_login": "jaseemabid",
"committed_at": "2018-10-15T09:03:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d85be6bd5a13b80d9d46743a183bdf915a2b7461",
"body": null,
"is_bot": false,
"headline": "Support llvm-config executables named llvm-config-7",
"author_name": "Moritz Kiefer",
"author_login": "cocreature",
"committed_at": "2018-09-29T08:06:12Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 5,
"commits_last_year": 0,
"latest_release_at": "2018-03-06T13:36:01Z",
"latest_release_tag": "v6.0.0",
"releases_from_tags": true,
"days_since_last_push": 733,
"active_weeks_last_year": 0,
"days_since_latest_release": 3059,
"mean_days_between_releases": 64.7
},
"community": {
"has_readme": true,
"has_license": false,
"has_description": true,
"has_contributing": false,
"health_percentage": 25,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": []
},
"popularity": {
"forks": 129,
"stars": 534,
"watchers": 20,
"fork_history": {
"days": [
{
"date": "2017-01-08",
"count": 2
},
{
"date": "2017-01-11",
"count": 1
},
{
"date": "2017-03-03",
"count": 1
},
{
"date": "2017-03-07",
"count": 1
},
{
"date": "2017-03-13",
"count": 1
},
{
"date": "2017-03-18",
"count": 1
},
{
"date": "2017-03-21",
"count": 1
},
{
"date": "2017-04-17",
"count": 1
},
{
"date": "2017-04-20",
"count": 1
},
{
"date": "2017-05-05",
"count": 1
},
{
"date": "2017-05-24",
"count": 1
},
{
"date": "2017-06-17",
"count": 1
},
{
"date": "2017-06-27",
"count": 1
},
{
"date": "2017-07-06",
"count": 1
},
{
"date": "2017-07-16",
"count": 1
},
{
"date": "2017-09-05",
"count": 1
},
{
"date": "2017-10-08",
"count": 1
},
{
"date": "2017-10-22",
"count": 1
},
{
"date": "2017-10-25",
"count": 1
},
{
"date": "2017-12-12",
"count": 1
},
{
"date": "2017-12-21",
"count": 1
},
{
"date": "2018-02-01",
"count": 1
},
{
"date": "2018-03-24",
"count": 1
},
{
"date": "2018-04-02",
"count": 1
},
{
"date": "2018-05-31",
"count": 1
},
{
"date": "2018-06-08",
"count": 2
},
{
"date": "2018-06-09",
"count": 1
},
{
"date": "2018-08-22",
"count": 1
},
{
"date": "2018-09-24",
"count": 1
},
{
"date": "2018-10-12",
"count": 1
},
{
"date": "2018-10-15",
"count": 2
},
{
"date": "2018-11-30",
"count": 1
},
{
"date": "2018-12-02",
"count": 1
},
{
"date": "2018-12-13",
"count": 1
},
{
"date": "2018-12-17",
"count": 2
},
{
"date": "2019-02-01",
"count": 1
},
{
"date": "2019-03-18",
"count": 1
},
{
"date": "2019-03-19",
"count": 1
},
{
"date": "2019-04-18",
"count": 1
},
{
"date": "2019-04-23",
"count": 1
},
{
"date": "2019-05-25",
"count": 1
},
{
"date": "2019-06-07",
"count": 1
},
{
"date": "2019-07-23",
"count": 1
},
{
"date": "2019-11-19",
"count": 1
},
{
"date": "2019-11-20",
"count": 1
},
{
"date": "2020-02-29",
"count": 1
},
{
"date": "2020-07-13",
"count": 1
},
{
"date": "2020-07-21",
"count": 1
},
{
"date": "2020-08-10",
"count": 1
},
{
"date": "2020-10-10",
"count": 1
},
{
"date": "2020-11-19",
"count": 1
},
{
"date": "2020-12-13",
"count": 1
},
{
"date": "2020-12-17",
"count": 1
},
{
"date": "2020-12-18",
"count": 1
},
{
"date": "2021-02-21",
"count": 1
},
{
"date": "2021-02-22",
"count": 1
},
{
"date": "2021-03-20",
"count": 1
},
{
"date": "2021-04-26",
"count": 1
},
{
"date": "2021-05-26",
"count": 1
},
{
"date": "2021-08-08",
"count": 1
},
{
"date": "2021-11-12",
"count": 1
},
{
"date": "2021-11-14",
"count": 1
},
{
"date": "2021-11-26",
"count": 1
},
{
"date": "2021-11-28",
"count": 1
},
{
"date": "2021-11-30",
"count": 1
},
{
"date": "2022-01-30",
"count": 1
},
{
"date": "2022-01-31",
"count": 1
},
{
"date": "2022-02-10",
"count": 1
},
{
"date": "2022-03-17",
"count": 1
},
{
"date": "2022-04-14",
"count": 1
},
{
"date": "2022-05-25",
"count": 1
},
{
"date": "2022-07-03",
"count": 1
},
{
"date": "2022-09-09",
"count": 1
},
{
"date": "2022-10-07",
"count": 1
},
{
"date": "2022-10-11",
"count": 1
},
{
"date": "2022-10-30",
"count": 1
},
{
"date": "2023-01-27",
"count": 1
},
{
"date": "2023-01-30",
"count": 1
},
{
"date": "2023-02-15",
"count": 1
},
{
"date": "2023-05-20",
"count": 1
},
{
"date": "2023-06-05",
"count": 1
},
{
"date": "2023-06-25",
"count": 1
},
{
"date": "2023-06-27",
"count": 1
},
{
"date": "2023-06-28",
"count": 1
},
{
"date": "2023-07-30",
"count": 1
},
{
"date": "2023-09-03",
"count": 1
},
{
"date": "2023-09-23",
"count": 1
},
{
"date": "2023-10-26",
"count": 1
},
{
"date": "2023-10-28",
"count": 1
},
{
"date": "2023-12-04",
"count": 1
},
{
"date": "2023-12-11",
"count": 1
},
{
"date": "2023-12-31",
"count": 1
},
{
"date": "2024-02-14",
"count": 1
},
{
"date": "2024-02-27",
"count": 1
},
{
"date": "2024-03-16",
"count": 1
},
{
"date": "2024-04-09",
"count": 1
},
{
"date": "2024-04-26",
"count": 1
},
{
"date": "2024-06-30",
"count": 1
},
{
"date": "2024-07-11",
"count": 1
},
{
"date": "2024-07-18",
"count": 1
},
{
"date": "2024-07-22",
"count": 1
},
{
"date": "2024-11-04",
"count": 1
},
{
"date": "2024-11-19",
"count": 1
},
{
"date": "2024-12-08",
"count": 1
},
{
"date": "2025-01-01",
"count": 1
},
{
"date": "2025-03-16",
"count": 1
},
{
"date": "2025-03-24",
"count": 1
},
{
"date": "2025-06-25",
"count": 1
},
{
"date": "2025-07-18",
"count": 1
},
{
"date": "2025-09-28",
"count": 1
},
{
"date": "2025-10-10",
"count": 1
},
{
"date": "2025-11-05",
"count": 1
},
{
"date": "2025-11-16",
"count": 1
},
{
"date": "2026-04-04",
"count": 1
}
],
"complete": true,
"collected": 118,
"total_forks": 129
},
"star_history": {
"days": [
{
"date": "2017-01-08",
"count": 6
},
{
"date": "2017-01-09",
"count": 1
},
{
"date": "2017-01-11",
"count": 3
},
{
"date": "2017-01-15",
"count": 1
},
{
"date": "2017-01-19",
"count": 2
},
{
"date": "2017-01-20",
"count": 2
},
{
"date": "2017-01-21",
"count": 1
},
{
"date": "2017-01-24",
"count": 1
},
{
"date": "2017-01-27",
"count": 1
},
{
"date": "2017-02-10",
"count": 1
},
{
"date": "2017-02-24",
"count": 1
},
{
"date": "2017-02-26",
"count": 1
},
{
"date": "2017-03-12",
"count": 1
},
{
"date": "2017-03-16",
"count": 2
},
{
"date": "2017-03-19",
"count": 11
},
{
"date": "2017-03-20",
"count": 8
},
{
"date": "2017-03-21",
"count": 2
},
{
"date": "2017-03-22",
"count": 3
},
{
"date": "2017-03-23",
"count": 5
},
{
"date": "2017-03-24",
"count": 1
},
{
"date": "2017-03-25",
"count": 1
},
{
"date": "2017-03-27",
"count": 1
},
{
"date": "2017-03-28",
"count": 2
},
{
"date": "2017-03-31",
"count": 1
},
{
"date": "2017-04-09",
"count": 1
},
{
"date": "2017-04-11",
"count": 1
},
{
"date": "2017-04-12",
"count": 1
},
{
"date": "2017-04-13",
"count": 1
},
{
"date": "2017-04-17",
"count": 5
},
{
"date": "2017-04-18",
"count": 1
},
{
"date": "2017-04-19",
"count": 4
},
{
"date": "2017-04-22",
"count": 1
},
{
"date": "2017-04-23",
"count": 2
},
{
"date": "2017-04-26",
"count": 2
},
{
"date": "2017-04-29",
"count": 1
},
{
"date": "2017-05-02",
"count": 1
},
{
"date": "2017-05-04",
"count": 2
},
{
"date": "2017-05-08",
"count": 1
},
{
"date": "2017-05-15",
"count": 1
},
{
"date": "2017-05-29",
"count": 1
},
{
"date": "2017-06-03",
"count": 1
},
{
"date": "2017-06-05",
"count": 1
},
{
"date": "2017-06-09",
"count": 1
},
{
"date": "2017-06-17",
"count": 1
},
{
"date": "2017-06-25",
"count": 2
},
{
"date": "2017-06-26",
"count": 1
},
{
"date": "2017-06-27",
"count": 1
},
{
"date": "2017-06-28",
"count": 1
},
{
"date": "2017-06-29",
"count": 1
},
{
"date": "2017-07-07",
"count": 1
},
{
"date": "2017-07-13",
"count": 1
},
{
"date": "2017-07-26",
"count": 2
},
{
"date": "2017-07-27",
"count": 2
},
{
"date": "2017-07-28",
"count": 1
},
{
"date": "2017-07-30",
"count": 1
},
{
"date": "2017-08-29",
"count": 1
},
{
"date": "2017-09-05",
"count": 1
},
{
"date": "2017-09-07",
"count": 2
},
{
"date": "2017-09-08",
"count": 3
},
{
"date": "2017-09-09",
"count": 1
},
{
"date": "2017-09-18",
"count": 1
},
{
"date": "2017-09-20",
"count": 1
},
{
"date": "2017-10-04",
"count": 1
},
{
"date": "2017-10-06",
"count": 1
},
{
"date": "2017-10-12",
"count": 1
},
{
"date": "2017-10-14",
"count": 2
},
{
"date": "2017-10-20",
"count": 2
},
{
"date": "2017-10-31",
"count": 1
},
{
"date": "2017-11-25",
"count": 2
},
{
"date": "2017-11-29",
"count": 1
},
{
"date": "2017-12-04",
"count": 1
},
{
"date": "2017-12-12",
"count": 1
},
{
"date": "2017-12-13",
"count": 1
},
{
"date": "2017-12-25",
"count": 1
},
{
"date": "2017-12-27",
"count": 1
},
{
"date": "2017-12-29",
"count": 1
},
{
"date": "2018-01-02",
"count": 1
},
{
"date": "2018-01-05",
"count": 3
},
{
"date": "2018-01-06",
"count": 1
},
{
"date": "2018-01-08",
"count": 2
},
{
"date": "2018-01-20",
"count": 1
},
{
"date": "2018-01-24",
"count": 2
},
{
"date": "2018-02-02",
"count": 1
},
{
"date": "2018-02-06",
"count": 1
},
{
"date": "2018-02-09",
"count": 1
},
{
"date": "2018-02-13",
"count": 1
},
{
"date": "2018-02-14",
"count": 2
},
{
"date": "2018-03-02",
"count": 1
},
{
"date": "2018-03-06",
"count": 2
},
{
"date": "2018-03-13",
"count": 1
},
{
"date": "2018-03-17",
"count": 1
},
{
"date": "2018-03-18",
"count": 1
},
{
"date": "2018-03-23",
"count": 1
},
{
"date": "2018-03-26",
"count": 1
},
{
"date": "2018-04-02",
"count": 1
},
{
"date": "2018-04-09",
"count": 3
},
{
"date": "2018-04-17",
"count": 1
},
{
"date": "2018-04-22",
"count": 1
},
{
"date": "2018-04-29",
"count": 1
},
{
"date": "2018-04-30",
"count": 1
},
{
"date": "2018-05-05",
"count": 1
},
{
"date": "2018-05-08",
"count": 1
},
{
"date": "2018-05-16",
"count": 1
},
{
"date": "2018-05-25",
"count": 1
},
{
"date": "2018-05-31",
"count": 1
},
{
"date": "2018-06-03",
"count": 1
},
{
"date": "2018-06-08",
"count": 2
},
{
"date": "2018-06-09",
"count": 3
},
{
"date": "2018-06-14",
"count": 1
},
{
"date": "2018-07-06",
"count": 1
},
{
"date": "2018-07-08",
"count": 1
},
{
"date": "2018-07-09",
"count": 1
},
{
"date": "2018-07-10",
"count": 1
},
{
"date": "2018-07-19",
"count": 1
},
{
"date": "2018-08-07",
"count": 1
},
{
"date": "2018-08-18",
"count": 1
},
{
"date": "2018-08-23",
"count": 1
},
{
"date": "2018-08-26",
"count": 2
},
{
"date": "2018-08-27",
"count": 3
},
{
"date": "2018-09-14",
"count": 1
},
{
"date": "2018-09-16",
"count": 1
},
{
"date": "2018-09-18",
"count": 1
},
{
"date": "2018-09-22",
"count": 1
},
{
"date": "2018-09-29",
"count": 1
},
{
"date": "2018-09-30",
"count": 1
},
{
"date": "2018-10-03",
"count": 1
},
{
"date": "2018-10-09",
"count": 1
},
{
"date": "2018-10-11",
"count": 1
},
{
"date": "2018-10-15",
"count": 2
},
{
"date": "2018-10-18",
"count": 1
},
{
"date": "2018-10-22",
"count": 1
},
{
"date": "2018-11-08",
"count": 1
},
{
"date": "2018-11-13",
"count": 1
},
{
"date": "2018-11-15",
"count": 1
},
{
"date": "2018-11-18",
"count": 1
},
{
"date": "2018-11-23",
"count": 1
},
{
"date": "2018-11-27",
"count": 2
},
{
"date": "2018-11-30",
"count": 1
},
{
"date": "2018-12-08",
"count": 1
},
{
"date": "2018-12-11",
"count": 1
},
{
"date": "2018-12-13",
"count": 1
},
{
"date": "2018-12-17",
"count": 1
},
{
"date": "2018-12-29",
"count": 1
},
{
"date": "2019-01-03",
"count": 1
},
{
"date": "2019-01-06",
"count": 1
},
{
"date": "2019-01-17",
"count": 1
},
{
"date": "2019-01-30",
"count": 3
},
{
"date": "2019-02-13",
"count": 1
},
{
"date": "2019-02-21",
"count": 1
},
{
"date": "2019-02-22",
"count": 1
},
{
"date": "2019-03-09",
"count": 1
},
{
"date": "2019-03-10",
"count": 1
},
{
"date": "2019-03-11",
"count": 1
},
{
"date": "2019-03-18",
"count": 1
},
{
"date": "2019-03-26",
"count": 2
},
{
"date": "2019-03-27",
"count": 1
},
{
"date": "2019-04-10",
"count": 1
},
{
"date": "2019-04-11",
"count": 1
},
{
"date": "2019-04-14",
"count": 1
},
{
"date": "2019-04-15",
"count": 1
},
{
"date": "2019-04-22",
"count": 1
},
{
"date": "2019-04-25",
"count": 1
},
{
"date": "2019-04-29",
"count": 1
},
{
"date": "2019-05-02",
"count": 1
},
{
"date": "2019-05-03",
"count": 1
},
{
"date": "2019-05-06",
"count": 1
},
{
"date": "2019-05-09",
"count": 1
},
{
"date": "2019-05-10",
"count": 1
},
{
"date": "2019-05-15",
"count": 1
},
{
"date": "2019-06-11",
"count": 1
},
{
"date": "2019-06-22",
"count": 1
},
{
"date": "2019-06-23",
"count": 1
},
{
"date": "2019-06-24",
"count": 1
},
{
"date": "2019-07-11",
"count": 2
},
{
"date": "2019-07-13",
"count": 1
},
{
"date": "2019-07-17",
"count": 1
},
{
"date": "2019-08-03",
"count": 1
},
{
"date": "2019-08-04",
"count": 1
},
{
"date": "2019-08-13",
"count": 1
},
{
"date": "2019-08-19",
"count": 2
},
{
"date": "2019-08-30",
"count": 2
},
{
"date": "2019-09-04",
"count": 1
},
{
"date": "2019-09-06",
"count": 3
},
{
"date": "2019-09-08",
"count": 1
},
{
"date": "2019-09-10",
"count": 2
},
{
"date": "2019-09-18",
"count": 1
},
{
"date": "2019-09-19",
"count": 1
},
{
"date": "2019-09-20",
"count": 1
},
{
"date": "2019-09-30",
"count": 1
},
{
"date": "2019-10-07",
"count": 1
},
{
"date": "2019-10-10",
"count": 1
},
{
"date": "2019-10-16",
"count": 1
},
{
"date": "2019-10-22",
"count": 1
},
{
"date": "2019-10-24",
"count": 1
},
{
"date": "2019-10-28",
"count": 1
},
{
"date": "2019-11-23",
"count": 1
},
{
"date": "2019-11-28",
"count": 1
},
{
"date": "2019-12-03",
"count": 2
},
{
"date": "2019-12-20",
"count": 2
},
{
"date": "2019-12-30",
"count": 1
},
{
"date": "2020-01-04",
"count": 1
},
{
"date": "2020-01-08",
"count": 2
},
{
"date": "2020-01-14",
"count": 1
},
{
"date": "2020-01-20",
"count": 1
},
{
"date": "2020-02-09",
"count": 1
},
{
"date": "2020-02-11",
"count": 1
},
{
"date": "2020-02-28",
"count": 1
},
{
"date": "2020-03-05",
"count": 1
},
{
"date": "2020-03-07",
"count": 2
},
{
"date": "2020-03-08",
"count": 1
},
{
"date": "2020-03-18",
"count": 1
},
{
"date": "2020-03-21",
"count": 1
},
{
"date": "2020-04-05",
"count": 1
},
{
"date": "2020-04-07",
"count": 1
},
{
"date": "2020-04-14",
"count": 3
},
{
"date": "2020-04-16",
"count": 1
},
{
"date": "2020-04-17",
"count": 1
},
{
"date": "2020-04-18",
"count": 1
},
{
"date": "2020-04-19",
"count": 2
},
{
"date": "2020-04-23",
"count": 1
},
{
"date": "2020-05-01",
"count": 1
},
{
"date": "2020-05-05",
"count": 3
},
{
"date": "2020-05-06",
"count": 2
},
{
"date": "2020-05-09",
"count": 1
},
{
"date": "2020-05-10",
"count": 1
},
{
"date": "2020-05-11",
"count": 1
},
{
"date": "2020-05-14",
"count": 1
},
{
"date": "2020-05-15",
"count": 1
},
{
"date": "2020-05-24",
"count": 1
},
{
"date": "2020-05-26",
"count": 1
},
{
"date": "2020-05-28",
"count": 1
},
{
"date": "2020-06-18",
"count": 1
},
{
"date": "2020-06-26",
"count": 1
},
{
"date": "2020-07-11",
"count": 1
},
{
"date": "2020-07-24",
"count": 1
},
{
"date": "2020-07-27",
"count": 1
},
{
"date": "2020-07-28",
"count": 1
},
{
"date": "2020-07-31",
"count": 1
},
{
"date": "2020-08-05",
"count": 1
},
{
"date": "2020-09-12",
"count": 1
},
{
"date": "2020-09-23",
"count": 1
},
{
"date": "2020-09-26",
"count": 1
},
{
"date": "2020-09-28",
"count": 1
},
{
"date": "2020-09-30",
"count": 1
},
{
"date": "2020-10-19",
"count": 1
},
{
"date": "2020-11-08",
"count": 1
},
{
"date": "2020-11-10",
"count": 1
},
{
"date": "2020-12-05",
"count": 1
},
{
"date": "2020-12-14",
"count": 1
},
{
"date": "2020-12-17",
"count": 2
},
{
"date": "2021-01-06",
"count": 1
},
{
"date": "2021-01-12",
"count": 1
},
{
"date": "2021-01-30",
"count": 1
},
{
"date": "2021-02-02",
"count": 2
},
{
"date": "2021-02-19",
"count": 2
},
{
"date": "2021-02-21",
"count": 1
},
{
"date": "2021-03-10",
"count": 1
},
{
"date": "2021-03-18",
"count": 1
},
{
"date": "2021-03-20",
"count": 1
},
{
"date": "2021-03-24",
"count": 1
},
{
"date": "2021-03-30",
"count": 1
},
{
"date": "2021-04-03",
"count": 1
},
{
"date": "2021-04-07",
"count": 1
},
{
"date": "2021-04-08",
"count": 1
},
{
"date": "2021-04-14",
"count": 4
},
{
"date": "2021-04-18",
"count": 1
},
{
"date": "2021-04-21",
"count": 1
},
{
"date": "2021-04-28",
"count": 1
},
{
"date": "2021-05-01",
"count": 1
},
{
"date": "2021-05-15",
"count": 2
},
{
"date": "2021-05-22",
"count": 1
},
{
"date": "2021-05-26",
"count": 2
},
{
"date": "2021-06-08",
"count": 1
},
{
"date": "2021-06-13",
"count": 1
},
{
"date": "2021-06-20",
"count": 1
},
{
"date": "2021-07-07",
"count": 1
},
{
"date": "2021-07-08",
"count": 1
},
{
"date": "2021-07-13",
"count": 1
},
{
"date": "2021-07-14",
"count": 1
},
{
"date": "2021-07-27",
"count": 1
},
{
"date": "2021-07-29",
"count": 1
},
{
"date": "2021-08-07",
"count": 1
},
{
"date": "2021-08-11",
"count": 1
},
{
"date": "2021-08-24",
"count": 1
},
{
"date": "2021-09-02",
"count": 1
},
{
"date": "2021-09-04",
"count": 1
},
{
"date": "2021-09-05",
"count": 1
},
{
"date": "2021-09-14",
"count": 1
},
{
"date": "2021-09-23",
"count": 1
},
{
"date": "2021-09-28",
"count": 1
},
{
"date": "2021-10-11",
"count": 1
},
{
"date": "2021-10-12",
"count": 1
},
{
"date": "2021-10-16",
"count": 1
},
{
"date": "2021-10-18",
"count": 1
},
{
"date": "2021-10-19",
"count": 1
},
{
"date": "2021-10-25",
"count": 1
},
{
"date": "2021-11-14",
"count": 1
},
{
"date": "2021-11-16",
"count": 1
},
{
"date": "2021-11-20",
"count": 1
},
{
"date": "2021-11-24",
"count": 1
},
{
"date": "2021-11-30",
"count": 1
},
{
"date": "2021-12-07",
"count": 2
},
{
"date": "2021-12-17",
"count": 1
},
{
"date": "2021-12-25",
"count": 1
},
{
"date": "2022-01-05",
"count": 1
},
{
"date": "2022-01-10",
"count": 1
},
{
"date": "2022-01-14",
"count": 1
},
{
"date": "2022-01-17",
"count": 1
},
{
"date": "2022-02-05",
"count": 1
},
{
"date": "2022-02-10",
"count": 1
},
{
"date": "2022-02-18",
"count": 1
},
{
"date": "2022-02-25",
"count": 1
},
{
"date": "2022-03-06",
"count": 1
},
{
"date": "2022-03-17",
"count": 1
},
{
"date": "2022-04-14",
"count": 1
},
{
"date": "2022-04-17",
"count": 2
},
{
"date": "2022-04-19",
"count": 1
},
{
"date": "2022-05-04",
"count": 2
},
{
"date": "2022-05-06",
"count": 1
},
{
"date": "2022-05-09",
"count": 1
},
{
"date": "2022-05-17",
"count": 1
},
{
"date": "2022-05-27",
"count": 1
},
{
"date": "2022-05-29",
"count": 1
},
{
"date": "2022-06-09",
"count": 1
},
{
"date": "2022-06-11",
"count": 1
},
{
"date": "2022-06-16",
"count": 1
},
{
"date": "2022-07-20",
"count": 1
},
{
"date": "2022-08-03",
"count": 1
},
{
"date": "2022-08-30",
"count": 1
},
{
"date": "2022-09-09",
"count": 1
},
{
"date": "2022-09-11",
"count": 1
},
{
"date": "2022-09-14",
"count": 1
},
{
"date": "2022-09-26",
"count": 1
},
{
"date": "2022-10-02",
"count": 2
},
{
"date": "2022-11-02",
"count": 1
},
{
"date": "2022-11-08",
"count": 1
},
{
"date": "2022-11-09",
"count": 2
},
{
"date": "2022-11-10",
"count": 1
},
{
"date": "2022-11-11",
"count": 1
},
{
"date": "2022-11-15",
"count": 1
},
{
"date": "2022-11-20",
"count": 1
},
{
"date": "2022-11-26",
"count": 1
},
{
"date": "2023-01-04",
"count": 1
},
{
"date": "2023-01-05",
"count": 1
},
{
"date": "2023-01-16",
"count": 1
},
{
"date": "2023-02-03",
"count": 1
},
{
"date": "2023-02-10",
"count": 1
},
{
"date": "2023-02-12",
"count": 1
},
{
"date": "2023-02-13",
"count": 1
},
{
"date": "2023-02-17",
"count": 1
},
{
"date": "2023-02-26",
"count": 2
},
{
"date": "2023-02-28",
"count": 1
},
{
"date": "2023-03-08",
"count": 1
},
{
"date": "2023-03-25",
"count": 1
},
{
"date": "2023-04-07",
"count": 1
},
{
"date": "2023-04-12",
"count": 1
},
{
"date": "2023-04-19",
"count": 1
},
{
"date": "2023-05-20",
"count": 1
},
{
"date": "2023-05-23",
"count": 2
},
{
"date": "2023-05-25",
"count": 1
},
{
"date": "2023-06-05",
"count": 1
},
{
"date": "2023-06-28",
"count": 1
},
{
"date": "2023-07-01",
"count": 1
},
{
"date": "2023-07-09",
"count": 1
},
{
"date": "2023-07-25",
"count": 1
},
{
"date": "2023-08-03",
"count": 1
},
{
"date": "2023-08-10",
"count": 1
},
{
"date": "2023-08-25",
"count": 1
},
{
"date": "2023-09-04",
"count": 1
},
{
"date": "2023-09-19",
"count": 1
},
{
"date": "2023-10-30",
"count": 1
},
{
"date": "2023-11-01",
"count": 1
},
{
"date": "2023-11-25",
"count": 1
},
{
"date": "2023-12-14",
"count": 1
},
{
"date": "2023-12-15",
"count": 1
},
{
"date": "2024-02-07",
"count": 1
},
{
"date": "2024-02-23",
"count": 1
},
{
"date": "2024-03-29",
"count": 1
},
{
"date": "2024-04-16",
"count": 1
},
{
"date": "2024-04-19",
"count": 1
},
{
"date": "2024-04-23",
"count": 1
},
{
"date": "2024-05-04",
"count": 1
},
{
"date": "2024-05-10",
"count": 1
},
{
"date": "2024-06-01",
"count": 1
},
{
"date": "2024-06-11",
"count": 1
},
{
"date": "2024-06-30",
"count": 1
},
{
"date": "2024-08-11",
"count": 1
},
{
"date": "2024-08-13",
"count": 1
},
{
"date": "2024-08-24",
"count": 1
},
{
"date": "2024-08-30",
"count": 1
},
{
"date": "2024-09-02",
"count": 1
},
{
"date": "2024-10-10",
"count": 1
},
{
"date": "2024-10-29",
"count": 1
},
{
"date": "2024-11-04",
"count": 1
},
{
"date": "2024-11-09",
"count": 4
},
{
"date": "2024-11-10",
"count": 3
},
{
"date": "2024-11-11",
"count": 2
},
{
"date": "2024-12-17",
"count": 1
},
{
"date": "2024-12-23",
"count": 1
},
{
"date": "2025-02-08",
"count": 1
},
{
"date": "2025-02-21",
"count": 1
},
{
"date": "2025-03-09",
"count": 1
},
{
"date": "2025-03-13",
"count": 1
},
{
"date": "2025-05-17",
"count": 1
},
{
"date": "2025-05-25",
"count": 1
},
{
"date": "2025-06-05",
"count": 1
},
{
"date": "2025-07-12",
"count": 1
},
{
"date": "2025-09-09",
"count": 1
},
{
"date": "2025-09-15",
"count": 1
},
{
"date": "2025-10-13",
"count": 1
},
{
"date": "2025-11-04",
"count": 1
},
{
"date": "2025-11-26",
"count": 1
},
{
"date": "2025-12-30",
"count": 1
},
{
"date": "2026-01-08",
"count": 1
},
{
"date": "2026-01-21",
"count": 1
},
{
"date": "2026-03-24",
"count": 1
},
{
"date": "2026-03-26",
"count": 1
},
{
"date": "2026-05-03",
"count": 1
},
{
"date": "2026-05-20",
"count": 3
},
{
"date": "2026-07-18",
"count": 1
}
],
"complete": true,
"collected": 532,
"total_stars": 534
},
"open_issues_and_prs": 64
},
"ai_readiness": {
"has_nix": true,
"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": [],
"largest_source_bytes": 28897,
"source_files_sampled": 42,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [],
"advisories": {
"error": null,
"scope": null,
"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": "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
"source": null,
"packages": [],
"collected": false,
"truncated": false,
"total_count": null,
"direct_count": null,
"indirect_count": null
}
},
"maintainership": {
"issues": {
"open_prs": 24,
"merged_prs": 202,
"open_issues": 40,
"closed_ratio": 0.793,
"closed_issues": 153,
"closed_unmerged_prs": 19
},
"bus_factor": 2,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "cocreature",
"commits": 374,
"avatar_url": "https://avatars.githubusercontent.com/u/1313584?v=4"
},
{
"type": "User",
"login": "bscarlet",
"commits": 279,
"avatar_url": "https://avatars.githubusercontent.com/u/4196463?v=4"
},
{
"type": "User",
"login": "ollef",
"commits": 39,
"avatar_url": "https://avatars.githubusercontent.com/u/197549?v=4"
},
{
"type": "User",
"login": "sdiehl",
"commits": 32,
"avatar_url": "https://avatars.githubusercontent.com/u/236767?v=4"
},
{
"type": "User",
"login": "andrew-wja",
"commits": 32,
"avatar_url": "https://avatars.githubusercontent.com/u/27865123?v=4"
},
{
"type": "User",
"login": "tmcdonell",
"commits": 19,
"avatar_url": "https://avatars.githubusercontent.com/u/728113?v=4"
},
{
"type": "User",
"login": "minad",
"commits": 12,
"avatar_url": "https://avatars.githubusercontent.com/u/50754?v=4"
},
{
"type": "User",
"login": "apaszke",
"commits": 8,
"avatar_url": "https://avatars.githubusercontent.com/u/4583066?v=4"
},
{
"type": "User",
"login": "aherrmann",
"commits": 6,
"avatar_url": "https://avatars.githubusercontent.com/u/732652?v=4"
},
{
"type": "User",
"login": "deian",
"commits": 6,
"avatar_url": "https://avatars.githubusercontent.com/u/374012?v=4"
}
],
"contributors_sampled": 43,
"top_contributor_share": 0.426
},
"quality_signals": {
"has_ci": false,
"has_tests": true,
"ci_workflows": [],
"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 11 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": 3,
"reason": "Found 4/11 approved changesets -- score normalized to 3",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 31 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": null,
"reason": "no workflows found",
"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": 0,
"reason": "license file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 0,
"reason": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"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": null,
"reason": "no dependencies found",
"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": null,
"reason": "No tokens found",
"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": "423220bffac4990d019fc088c46c5f25310d5a33",
"ran_at": "2026-07-22T08:02:07Z",
"aggregate_score": 2.8,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": null,
"oldest_open_prs": [
{
"number": 373,
"created_at": "2021-11-12T11:21:07Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 376,
"created_at": "2021-11-26T02:25:44Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 377,
"created_at": "2021-11-30T16:43:42Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 378,
"created_at": "2021-12-31T01:15:53Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 379,
"created_at": "2021-12-31T03:58:31Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 380,
"created_at": "2022-01-14T10:20:46Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 381,
"created_at": "2022-01-14T10:49:15Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 389,
"created_at": "2022-03-17T21:42:04Z",
"last_comment_at": "2023-02-05T01:03:12Z",
"last_comment_author": "Bodigrim"
},
{
"number": 406,
"created_at": "2022-09-21T16:23:15Z",
"last_comment_at": "2022-10-19T21:30:20Z",
"last_comment_author": "npatsakula"
},
{
"number": 410,
"created_at": "2022-11-05T18:16:13Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 418,
"created_at": "2023-03-28T18:09:29Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 422,
"created_at": "2023-06-25T15:55:33Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 423,
"created_at": "2023-06-25T19:40:08Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 424,
"created_at": "2023-06-25T20:52:14Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 425,
"created_at": "2023-06-28T10:49:35Z",
"last_comment_at": "2024-04-14T12:39:59Z",
"last_comment_author": "tomsmeding"
},
{
"number": 426,
"created_at": "2023-07-30T07:59:57Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 429,
"created_at": "2024-02-27T14:52:30Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 430,
"created_at": "2024-03-29T19:53:38Z",
"last_comment_at": "2025-03-25T23:17:49Z",
"last_comment_author": "cassandracomar"
},
{
"number": 431,
"created_at": "2024-07-11T13:56:33Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 432,
"created_at": "2024-07-18T13:28:19Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2023-03-03T11:29:26Z",
"ci_last_conclusion": null,
"oldest_open_issues": [
{
"number": 4,
"created_at": "2017-01-07T14:06:01Z",
"last_comment_at": "2017-01-07T14:33:42Z",
"last_comment_author": "cocreature"
},
{
"number": 130,
"created_at": "2017-08-20T10:11:10Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 148,
"created_at": "2017-10-18T13:45:35Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 259,
"created_at": "2019-05-13T21:50:04Z",
"last_comment_at": "2019-05-15T17:34:03Z",
"last_comment_author": "cocreature"
},
{
"number": 268,
"created_at": "2019-07-17T14:27:52Z",
"last_comment_at": "2021-12-03T22:29:52Z",
"last_comment_author": "aboeglin"
},
{
"number": 276,
"created_at": "2019-09-06T05:15:18Z",
"last_comment_at": "2021-05-26T15:29:29Z",
"last_comment_author": "cartazio"
},
{
"number": 290,
"created_at": "2020-02-13T10:02:02Z",
"last_comment_at": "2021-05-10T10:57:42Z",
"last_comment_author": "andrew-wja"
},
{
"number": 299,
"created_at": "2020-04-30T19:11:58Z",
"last_comment_at": "2021-06-15T12:24:56Z",
"last_comment_author": "andrew-wja"
},
{
"number": 304,
"created_at": "2020-06-18T22:56:35Z",
"last_comment_at": "2020-07-02T10:50:23Z",
"last_comment_author": "tmcdonell"
},
{
"number": 306,
"created_at": "2020-07-16T17:05:02Z",
"last_comment_at": "2021-06-16T09:45:32Z",
"last_comment_author": "andrew-wja"
},
{
"number": 307,
"created_at": "2020-07-20T15:25:49Z",
"last_comment_at": "2021-06-17T15:48:54Z",
"last_comment_author": "andrew-wja"
},
{
"number": 309,
"created_at": "2020-08-25T09:59:39Z",
"last_comment_at": "2021-05-10T10:47:29Z",
"last_comment_author": "andrew-wja"
},
{
"number": 310,
"created_at": "2020-09-03T02:31:13Z",
"last_comment_at": "2020-10-12T20:39:21Z",
"last_comment_author": "TravisWhitaker"
},
{
"number": 311,
"created_at": "2020-09-05T03:02:32Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 312,
"created_at": "2020-09-17T17:00:01Z",
"last_comment_at": "2021-05-10T15:18:24Z",
"last_comment_author": "sfultong"
},
{
"number": 329,
"created_at": "2021-04-28T08:55:18Z",
"last_comment_at": "2021-08-14T09:37:25Z",
"last_comment_author": "andrew-wja"
},
{
"number": 334,
"created_at": "2021-05-06T08:36:05Z",
"last_comment_at": "2021-05-10T10:11:40Z",
"last_comment_author": "andrew-wja"
},
{
"number": 341,
"created_at": "2021-05-21T11:53:24Z",
"last_comment_at": "2021-11-02T13:21:48Z",
"last_comment_author": "UnkindPartition"
},
{
"number": 345,
"created_at": "2021-06-08T15:18:54Z",
"last_comment_at": "2021-06-09T19:13:01Z",
"last_comment_author": "andrew-wja"
},
{
"number": 349,
"created_at": "2021-06-17T16:09:00Z",
"last_comment_at": "2023-06-07T07:31:02Z",
"last_comment_author": "aboeglin"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/llvm-hs/llvm-hs",
"host": "github.com",
"name": "llvm-hs",
"owner": "llvm-hs"
},
"metrics": {
"overall": {
"key": "overall",
"band": "critical",
"name": "Overall health",
"note": "Abandonment Policy applies a 60% multiplier to weighted overall health and gives it a ceiling of 49.",
"notes": [
{
"code": "abandonment_overall_adjustment",
"params": {
"cap": 49,
"pct": 60
}
}
],
"value": 24,
"inputs": {
"security": 28,
"vitality": 17,
"community": 48,
"governance": 65,
"engineering": 38,
"abandonment_cap": 49,
"abandonment_state": "likely_abandoned",
"abandonment_multiplier": 60,
"weighted_overall_before_abandonment": 40,
"overall_after_abandonment_multiplier": 24
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "critical",
"name": "Vitality",
"value": 17,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "critical",
"name": "Development activity",
"note": null,
"notes": [],
"value": 1,
"inputs": {
"commits_last_year": 0,
"human_commit_share": 1,
"days_since_last_push": 733,
"active_weeks_last_year": 0
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 733 days ago",
"points": 0,
"status": "missed",
"details": [
{
"code": "push_recency",
"params": {
"days": 733
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "0/52 weeks with commits",
"points": 0,
"status": "missed",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 0
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "0 commits in the last year",
"points": 0,
"status": "missed",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 0
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "at_risk",
"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": 40,
"inputs": {
"releases_count": 5,
"latest_release_tag": "v6.0.0",
"releases_from_tags": true,
"days_since_latest_release": 3059,
"mean_days_between_releases": 64.7
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "5 version tags (no GitHub releases)",
"points": 16.2,
"status": "partial",
"details": [
{
"code": "version_tags_no_releases",
"params": {
"count": 5
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 3059 days ago",
"points": 0,
"status": "missed",
"details": [
{
"code": "release_recency",
"params": {
"days": 3059
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~64.7 days",
"points": 19.8,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 64.7
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "moderate",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"cap": 49,
"state": "likely_abandoned",
"guards": [],
"signals": [
"unanswered_contributions",
"issue_rot",
"release_stall",
"scorecard_unmaintained"
],
"red_flag": true,
"multiplier_pct": 60,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": 20,
"unanswered_open_issues": 9,
"days_since_last_merged_pr": 1236,
"days_since_last_human_commit": 1379,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "no human commit for 1379 days; 4 unmet obligation(s): pull requests unanswered, issues unanswered, releases stalled, Scorecard reports it unmaintained",
"points": 60,
"status": "partial",
"details": [
{
"code": "abandonment_flagged",
"params": {
"days": 1379,
"count": 4,
"signals": "pull requests unanswered, issues unanswered, releases stalled, Scorecard reports it unmaintained"
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "at_risk",
"name": "Community & Adoption",
"value": 48,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "moderate",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 69,
"inputs": {
"forks": 129,
"stars": 534,
"watchers": 20,
"growth_state": "organic",
"growth_factor_pct": 100
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "534 stars",
"points": 44.2,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 534
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "129 forks",
"points": 17.6,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 129
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "20 watchers",
"points": 7.1,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 20
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "critical",
"name": "Community health",
"note": null,
"notes": [],
"value": 25,
"inputs": {
"has_readme": true,
"has_license": false,
"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": "no license file detected",
"points": 0,
"status": "missed",
"details": [
{
"code": "license_absent",
"params": {}
}
],
"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": 65,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "moderate",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 62,
"inputs": {
"bus_factor": 2,
"contributors_sampled": 43,
"top_contributor_share": 0.426
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "2 contributor(s) cover half of all commits",
"points": 25.2,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 2
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 43% of commits",
"points": 12.9,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 43
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "43 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 43
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 31 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 77,
"inputs": {
"merged_prs": 202,
"open_issues": 40,
"closed_issues": 153,
"issue_closed_ratio": 0.793,
"closed_unmerged_prs": 19
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "79% of issues closed",
"points": 37.1,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 79
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "202/221 decided PRs merged",
"points": 35,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 202,
"decided": 221
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 4/11 approved changesets -- score normalized to 3",
"points": 4.5,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 58,
"inputs": {
"followers": 19,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "llvm-hs",
"public_repos": 8,
"account_age_days": 3481
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "19 followers of llvm-hs",
"points": 9.4,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 19,
"login": "llvm-hs"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "8 public repos, account ~9 yr old",
"points": 18.9,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 8
}
},
{
"code": "account_age_years",
"params": {
"years": 9
}
}
],
"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": 38,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "critical",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 24,
"inputs": {
"has_ci": false,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "0 out of 11 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": [
"llvm",
"llvm-hs",
"haskell-bindings",
"code-generation",
"llvm-ir"
],
"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": "5 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 5
}
}
],
"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": "critical",
"name": "Security",
"value": 28,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "critical",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Dangerous-Workflow, Packaging, Pinned-Dependencies, Signed-Releases, Token-Permissions. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"dangerous_workflow",
"packaging",
"pinned_dependencies",
"signed_releases",
"token_permissions"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 28,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 13,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 5,
"scorecard_aggregate": 2.8
},
"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 11 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 4/11 approved changesets -- score normalized to 3",
"points": 2.2,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 31 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no workflows found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"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 not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"points": 0,
"status": "missed",
"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": "no dependencies found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"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": "No tokens found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"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": 11
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "at_risk",
"name": "AI Readiness",
"value": 35,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "critical",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 25,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.47,
"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": "47 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 25.1,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 47,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "at_risk",
"name": "Verify loop (build / test / typecheck)",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Pinned-Dependencies. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_pinned_dependencies"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 36,
"inputs": {
"has_nix": true,
"has_tests": true,
"lockfiles": [],
"has_dockerfile": false,
"typed_language": false,
"bootstrap_files": [],
"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": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "Nix",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Nix"
}
}
],
"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": "no dependencies found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "moderate",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"primary_language": "LLVM",
"largest_source_bytes": 28897,
"source_files_sampled": 42,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "LLVM without a type-check config",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_typecheck_config_language",
"params": {
"language": "LLVM"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/42 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 42,
"oversized": 0
}
}
],
"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": [
"GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
],
"report_type": "repository",
"generated_at": "2026-07-22T08:02:40.667066Z",
"schema_version": "0.26.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/l/llvm-hs/llvm-hs.svg",
"full_name": "llvm-hs/llvm-hs",
"license_state": "absent",
"license_spdx": null
}