公开记录
软件健康报告模式 0.26.0 · 指标 1.13.0 · 2026-07-21 23:32 UTC

Shopify / liquid

Liquid markup language. Safe, customer facing template language for flexible web apps.

Ruby · LiquidMIT★ 11,839 星标⑂ 1,537 复刻始于 2008年5月在 GitHub 上查看 ↗

Shopify/liquid 的健康指数为 100 分中的 82 分,处于「良好」区间。 其得分最高的类别是Community & Adoption(95/100),最低的是AI Readiness(43/100)。 最近一次更新在 16 天前。 近期的大部分工作由 6 位贡献者完成。

82
总分 / 100
良好

软件健康指数

指标归入加权类别,统一采用 1–100 量表。总体分先取类别加权平均;当公开证据触发高风险司法辖区政策时,评级会按政策调整,并设置 49(有风险)的上限。AI 就绪度不计入总体分。

82
优秀85-100堪称典范;基本满足所有检验标准
良好70-84健康;仅有轻微不足
中等50-69可接受,但存在明显不足;建议进行审查
存在风险30-49存在重大薄弱环节;采用时应保持审慎
危急1-29问题严重(项目被弃置、仅有单一维护者、缺乏基本工程规范)
活力社区与采用可持续性与治理工程质量安全AI 就绪度

评分画像

每条轴代表一个类别。形状比平均值更重要——健康的对象会填满整个图形,而“一峰一谷”式画像意味着某一维度的优势正掩盖另一维度的风险。

所有权

Shopify组织
8,334 关注者1,219 个公开仓库始于 2008年4月

该仓库由组织支持——共同承担、可问责的托管责任,可延续于任何单一维护者之后。

软件包生态系统

注册表软件包版本月下载量版本数最近发布
RubyGemsliquid5.13.0-7122 天前

按类别列示的指标

活力

项目是否仍有生命——是否仍在编写代码,是否仍在发布版本?

82良好 · 占总体的 22%
评分方式
28.8/36推送新近度 — 最近一次推送于 16 天前
18/36提交节奏 — 52 周中有 26 周有提交
18/18提交量 — 最近一年 137 次提交
10/10OpenSSF Scorecard:Maintained — 12 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
所用输入
commits_last_year137
human_commit_share1
days_since_last_push16
active_weeks_last_year26

发布纪律

92优秀
评分方式
27/27有发布版本 — 已发布 25 个发布版本
36/36发布时效 — 最近一次发布版本于 22 天前
19.8/27发布节奏 — 约每 50.1 天发布一次
0/10OpenSSF Scorecard:Signed-Releases — 无数据
所用输入
releases_count25
latest_release_tagv5.13.0
releases_from_tags
days_since_latest_release22
mean_days_between_releases50.1
已排除计分(无数据或不适用):OpenSSF Scorecard:Signed-Releases。 其余权重已重新归一化。

社区与采用

项目是否拥有用户、下载量与关注度,并具备欢迎贡献者参与的配置?

95优秀 · 占总体的 18%
评分方式
60/60星标 — 11,839 个星标
25/25复刻 — 1,537 个复刻
15/15关注者 — 722 位关注者
所用输入
forks1,537
stars11,839
watchers722
growth_stateorganic
growth_factor_pct100

社区健康

85优秀
评分方式
22.5/22.5README
22.5/22.5许可证 — 可识别的许可证(MIT)
18/18CONTRIBUTING 指南
13.5/13.5行为准则
0/7.2议题模板
0/6.3PR 模板
所用输入
has_readme
has_license
has_contributing
has_issue_template
has_code_of_conduct
has_pull_request_template
评分方式
80/80累计下载量 — rubygems 合计历史 134,118,752 次下载
0/20注册表被依赖数 — 该生态系统不报告此项
所用输入
packagesliquid
dependents
ecosystemsrubygems
total_downloads134,118,752
monthly_downloads
已排除计分(无数据或不适用):注册表被依赖数。 其余权重已重新归一化。

可持续性与治理

项目能否在其成员之外延续——巴士系数、响应能力、由谁支持,以及软件包的维护状况?

85优秀 · 占总体的 24%
评分方式
48.6/54巴士系数 — 6 位贡献者贡献了半数提交
18.3/22.5提交分布 — 头号贡献者编写了 18% 的提交
13.5/13.5贡献者广度 — 100 位贡献者
10/10OpenSSF Scorecard:Contributors — project has 39 contributing companies or organizations
所用输入
bus_factor6
contributors_sampled100
top_contributor_share0.185
评分方式
30.5/46.8议题解决 — 65% 的议题已关闭
27.3/38.3PR 接受 — 已裁定的 PR 中 731/1,026 已合并
13.5/15OpenSSF Scorecard:Code-Review — Found 17/18 approved changesets -- score normalized to 9
所用输入
merged_prs731
open_issues327
closed_issues613
issue_closed_ratio0.652
closed_unmerged_prs295
评分方式
30/30所有权背书 — 组织持有
0/20已验证域名
25/25所有者影响力 — Shopify 有 8,334 位关注者
25/25既往记录 — 1,219 个公开仓库,账户约 18 年
所用输入
followers8,334
owner_typeOrganization
is_verified
owner_loginShopify
public_repos1,219
account_age_days6,665
评分方式
25/25已发布且可解析 — rubygems 上有 1 个软件包
35/35发布时效 — 最近一次发布于 22 天前
20/20版本历史 — 71 个已发布版本
20/20未被弃用 — 活跃,未被弃用或撤回
所用输入
packagesliquid
ecosystemsrubygems
any_deprecated
min_days_since_publish22

工程质量

基础的工程与文档实践是否到位?

76良好 · 占总体的 20%

工程实践

84良好
评分方式
24/24CI 工作流 — 2 个工作流
24/24存在测试
16/16Linter 配置 — .rubocop.yml
0/9.6Pre-commit 钩子
0/6.4.editorconfig
20/20OpenSSF Scorecard:CI-Tests — 17 out of 17 merged PRs checked by a CI test -- score normalized to 10
所用输入
has_ci
has_tests
has_editorconfig
has_linter_config
has_precommit_config

文档

65中等
评分方式
30/30README
0/25文档目录
15/15文档 / 主页站点 — https://shopify.github.io/liquid/
10/10仓库描述
0/10主题标签
10/10Wiki
所用输入
topics
has_wiki
homepagehttps://shopify.github.io/liquid/
has_readme
has_docs_dir
has_description

安全

可见的安全与供应链实践是否稳固,且不存在未解决的高风险司法辖区暴露?

73良好 · 占总体的 16%

安全态势

73良好
评分方式
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — 无数据
2.5/2.5CI-Tests — 17 out of 17 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
6.8/7.5Code-Review — Found 17/18 approved changesets -- score normalized to 9
2.5/2.5Contributors — project has 39 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5许可证 — license file detected
7.5/7.5Maintained — 12 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — 无数据
3.5/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 7
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
4.5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — 无数据
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
所用输入
sourceopenssf_scorecard
checks_evaluated15
scorecard_versionv5.5.0
checks_inconclusive3
scorecard_aggregate7.3
已排除计分(无数据或不适用):branch_protection, packaging, signed_releases。 其余权重已重新归一化。

AI 就绪度

该仓库在多大程度上具备与 AI 编码代理协同开发与维护的条件?这是一枚独立的实验性徽章——权重为 0.0,因此单独呈现,不影响总体健康评分。

43存在风险 · 占总体的 0%
评分方式
0/45代理指令 — 没有 CLAUDE.md / AGENTS.md / 编辑器规则
0/15机器可读文档(llms.txt)
21.3/40可读的提交历史 — 100 次人类提交中有 40 次说明了意图(结构化标题或解释性正文)
所用输入
has_llms_txt
legible_history_share0.4
agent_instruction_files
agent_instruction_max_bytes
评分方式
0/18一条命令的引导启动
22/22自动化测试
11/11Lint / 格式化配置 — .rubocop.yml
0/11静态类型检查
0/10可复现环境
10/10已体现的代理实践 — 最近 100 次提交中有 9 次由代理编写或署名代理
5/8自动化维护 — 已配置依赖自动化,但在抽样提交中未观察到
7/10OpenSSF Scorecard:Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 7
所用输入
has_nix
has_tests
lockfiles
has_dockerfile
typed_language
bootstrap_files
has_devcontainer
has_linter_config
typecheck_configs
agent_commit_share0.09
toolchain_manifests
dependency_bot_commit_share0
评分方式
0/45可类型检查的代码 — Ruby,未配置类型检查
55/55可控的文件大小 — 采样的 154 个源文件中有 0 个超过 60KB
所用输入
primary_languageRuby
largest_source_bytes47,235
source_files_sampled154
oversized_source_files0

机器可读接口

40存在风险
评分方式
0/40API 模式(OpenAPI/GraphQL/proto)
0/20MCP 服务器
40/40可运行示例 — example
所用输入
example_dirsexample
has_mcp_signal
api_schema_files

关键数据

11,839GitHub 星标
100贡献者
137最近 12 个月提交数
16距最近推送天数
25发布版本数
6巴士系数(bus factor)
327开放议题
RubyGems软件包生态系统数

数据采集警告

  • No resolved dependencies carried a version and a supported ecosystem

更多细节

Star 与 Fork 历史 11,839 ★ / 1,537 ⇿
11,839Star
1,537Fork
25发布

每颗 star 和每个 fork 的添加时间,来自 GitHub 并按天汇总。累计增长位于其构成来源——每日新增——的正上方,二者可相互对照:稳定的自然增长与短暂的突增形态截然不同。当这一差别可被衡量时,它会作为增长真实性予以报告。

仅显示最近的历史——该仓库超出采集窗口,因此未采集最早的历史记录。

02,0004,0006,0008,00010,00012,00011,8391,537232016-112021-092026-07
主版本 0次版本 9修订 15

每个点涵盖 9 天。

OpenSSF Scorecard 7.3 / 10
7.3综合

来自开源项目 OpenSSF Scorecard 的独立、工具无关的安全评估。每项检查奖励的是安全实践本身,而非特定供应商的工具。Scorecard 无法判定的检查项标记为 不适用,并从安全评分中剔除(绝不按零分计)。Scorecard v5.5.0 · 2026-07-21 23:31 UTC

10Binary-Artifactsno binaries found in the repo
不适用Branch-Protectioninternal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
10CI-Tests17 out of 17 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
9Code-ReviewFound 17/18 approved changesets -- score normalized to 9
10Contributorsproject has 39 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained12 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
不适用Packagingpackaging workflow not detected
7Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 7
0SASTSAST tool is not run on all commits -- score normalized to 0
9Security-Policysecurity policy file detected
不适用Signed-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
10Vulnerabilities0 existing vulnerabilities detected
直接依赖 3
注册表软件包版本约束清单文件
RubyGemsbase64Gemfile
RubyGemsliquid-specGemfile
RubyGemsactivesupportGemfile
全部依赖 17

来自 GitHub 依赖图的完整解析依赖集合:3 个直接依赖与 14 个间接(传递)软件包。仓库提交锁文件时,传递闭包才是完整的。

注册表软件包版本关系
RubyGemsactivesupport直接
RubyGemsbase64直接
RubyGemsliquid-spec直接
RubyGemsbenchmark间接
RubyGemsbenchmark-ips间接
RubyGemsbigdecimal间接
RubyGemslru_redux间接
RubyGemsmemory_profiler间接
RubyGemsminitest间接
RubyGemsrake间接
RubyGemsrubocop间接
RubyGemsrubocop-performance间接
RubyGemsrubocop-shopify间接
RubyGemsstackprof间接
RubyGemsstrscan间接
RubyGemsterminal-table间接
RubyGemswebrick间接
依赖安全公告 未评估

本报告未能完成公告比对:No resolved dependencies carried a version and a supported ecosystem

原始 JSON 报告 机器可读
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 6592,
      "has_wiki": true,
      "homepage": "https://shopify.github.io/liquid/",
      "languages": {
        "Ruby": 611544,
        "Liquid": 72882
      },
      "pushed_at": "2026-07-05T18:56:26Z",
      "created_at": "2008-05-08T15:27:26Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-21T20:10:33Z",
      "description": "Liquid markup language. Safe, customer facing template language for flexible web apps. ",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "Ruby",
      "significant_languages": [
        "Ruby",
        "Liquid"
      ]
    },
    "owner": {
      "blog": "https://shopify.engineering/",
      "name": "Shopify",
      "type": "Organization",
      "login": "Shopify",
      "company": null,
      "location": "The Internet",
      "followers": 8334,
      "avatar_url": "https://avatars.githubusercontent.com/u/8085?v=4",
      "created_at": "2008-04-21T18:02:10Z",
      "is_verified": null,
      "public_repos": 1219,
      "account_age_days": 6665
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v5.13.0",
          "kind": "minor",
          "published_at": "2026-06-29T15:47:37Z"
        },
        {
          "tag": "v5.12.0",
          "kind": "minor",
          "published_at": "2026-03-18T15:57:50Z"
        },
        {
          "tag": "v5.11.0",
          "kind": "minor",
          "published_at": "2025-11-19T17:06:55Z"
        },
        {
          "tag": "v5.10.0",
          "kind": "minor",
          "published_at": "2025-10-30T11:30:40Z"
        },
        {
          "tag": "v5.9.0",
          "kind": "minor",
          "published_at": "2025-10-27T16:28:58Z"
        },
        {
          "tag": "v5.8.7",
          "kind": "patch",
          "published_at": "2025-06-09T19:44:07Z"
        },
        {
          "tag": "v5.8.6",
          "kind": "patch",
          "published_at": "2025-04-14T15:53:29Z"
        },
        {
          "tag": "v5.8.5",
          "kind": "patch",
          "published_at": "2025-04-14T15:28:13Z"
        },
        {
          "tag": "v5.8.4",
          "kind": "patch",
          "published_at": "2025-04-09T19:02:48Z"
        },
        {
          "tag": "v5.8.3",
          "kind": "patch",
          "published_at": "2025-04-04T16:35:37Z"
        },
        {
          "tag": "v5.8.2",
          "kind": "patch",
          "published_at": "2025-04-04T16:35:21Z"
        },
        {
          "tag": "v5.8.1",
          "kind": "patch",
          "published_at": "2025-02-26T12:16:35Z"
        },
        {
          "tag": "v5.8.0",
          "kind": "minor",
          "published_at": "2025-02-25T10:04:16Z"
        },
        {
          "tag": "v5.7.3",
          "kind": "patch",
          "published_at": "2025-02-24T10:59:03Z"
        },
        {
          "tag": "v5.7.2",
          "kind": "patch",
          "published_at": "2025-01-31T16:59:37Z"
        },
        {
          "tag": "v5.7.1",
          "kind": "patch",
          "published_at": "2025-01-24T13:13:02Z"
        },
        {
          "tag": "v5.7.0",
          "kind": "minor",
          "published_at": "2025-01-17T13:26:42Z"
        },
        {
          "tag": "v5.6.4",
          "kind": "patch",
          "published_at": "2025-01-14T03:30:55Z"
        },
        {
          "tag": "v5.6.3",
          "kind": "patch",
          "published_at": "2025-01-13T22:38:47Z"
        },
        {
          "tag": "v5.6.2",
          "kind": "patch",
          "published_at": "2025-01-13T21:23:33Z"
        },
        {
          "tag": "v5.6.1",
          "kind": "patch",
          "published_at": "2025-01-13T20:17:08Z"
        },
        {
          "tag": "v5.6.0",
          "kind": "minor",
          "published_at": "2024-12-19T20:07:30Z"
        },
        {
          "tag": "v5.6.0.rc1",
          "kind": "other",
          "published_at": "2024-11-04T20:30:21Z"
        },
        {
          "tag": "v5.5.1",
          "kind": "patch",
          "published_at": "2024-11-04T20:29:52Z"
        },
        {
          "tag": "v5.5.0",
          "kind": "minor",
          "published_at": "2024-03-21T19:54:02Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "807d45a6b3d4568e64e86b375e3702df2c7c860c",
          "body": "Keep the historical blank-body inline-error suppression for lax and strict parse modes, but stop suppressing the rendered error text when the template was parsed in strict2. Raised-error rendering continues to raise in all modes.\n\nStore the resolved template error mode on the render context while a \n[…]\nng whether a blank tag should hide inline error text.\n\nAdd integration coverage for lax/strict suppression, strict2 non-suppression across blank body forms, nonblank bodies, and raised-error behavior.",
          "is_bot": false,
          "headline": "Surface blank-body inline errors in strict2",
          "author_name": "Tobi Lütke",
          "author_login": "tobi",
          "committed_at": "2026-07-05T18:56:24Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7a5e45fc4784e6e2e3092f2eb6f613644f1e2e5a",
          "body": null,
          "is_bot": false,
          "headline": "Bump to 5.13.0 (#2103)",
          "author_name": "Guilherme Carreiro",
          "author_login": "karreiro",
          "committed_at": "2026-06-29T15:41:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9efca9f718e901141a1786ecdd10609fff811b6a",
          "body": null,
          "is_bot": false,
          "headline": "Use liquid-spec branch for `self` specs",
          "author_name": "Ian Ker-Seymer",
          "author_login": "ianks",
          "committed_at": "2026-06-12T03:20:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "529800f46ba452c9baedda83b29cfa0240d0ac57",
          "body": null,
          "is_bot": false,
          "headline": "Let environment `self` shadow `SelfDrop`",
          "author_name": "Ian Ker-Seymer",
          "author_login": "ianks",
          "committed_at": "2026-06-12T03:20:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7b368dffb844c44a9466226d1a243b05aafc5be5",
          "body": null,
          "is_bot": false,
          "headline": "Fix `SelfDrop` equality (#2091)",
          "author_name": "Guilherme Carreiro",
          "author_login": "karreiro",
          "committed_at": "2026-06-05T08:47:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "742ac3dbf5432c6c2689ea00da604d7379f73799",
          "body": null,
          "is_bot": false,
          "headline": "Prevent `SelfDrop` context mutation across render boundaries (#2082)",
          "author_name": "Guilherme Carreiro",
          "author_login": "karreiro",
          "committed_at": "2026-05-20T07:34:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1954a2655cf4d427b6c9169354832638740f2db5",
          "body": null,
          "is_bot": false,
          "headline": "Update liquid-spec adapters",
          "author_name": "Ian Ker-Seymer",
          "author_login": "ianks",
          "committed_at": "2026-04-28T14:11:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6d81b1b68cf576cc9643ada149c7aa06c25304b8",
          "body": "Remove \"strict2\" from bare bracket error message",
          "is_bot": false,
          "headline": "Merge pull request #2077 from Shopify/remove-strict2-from-error-message",
          "author_name": "Alok Swamy",
          "author_login": "aswamy",
          "committed_at": "2026-04-24T20:21:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dfddd8f390038402fbf5ddf133eaf81375a7ab1a",
          "body": "Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Remove \"strict2\" from bare bracket error message",
          "author_name": "Alok Swamy",
          "author_login": "aswamy",
          "committed_at": "2026-04-24T20:18:05Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "95ce7e7fa1d4ae80cfd650c4e066d85508190905",
          "body": "Add strict2_parse to increment and decrement tags",
          "is_bot": false,
          "headline": "Merge pull request #2067 from Shopify/strict2-increment-decrement",
          "author_name": "Alok Swamy",
          "author_login": "aswamy",
          "committed_at": "2026-04-24T20:11:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "197d755e0ccf5ed216636f95f45f5725857d8e75",
          "body": "Add strict2_parse to assign and capture tags",
          "is_bot": false,
          "headline": "Merge pull request #2065 from Shopify/strict2-assign-capture",
          "author_name": "Alok Swamy",
          "author_login": "aswamy",
          "committed_at": "2026-04-24T20:10:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d0c5444db14178efc15b7ec3dc538ab2683da859",
          "body": "Reject bare-bracket syntax in strict2 and introduce `self` keyword",
          "is_bot": false,
          "headline": "Merge pull request #2060 from Shopify/bare-bracket-self-keyword",
          "author_name": "Alok Swamy",
          "author_login": "aswamy",
          "committed_at": "2026-04-24T20:06:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c99036046eba682c9ce50afe37ba639279df84f0",
          "body": "Both tags previously accepted any string as a variable name via\n`markup.strip`. Now they use `parse_with_selected_parser` and validate\nthe variable name with `p.consume(:id)` in strict2 mode.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Add strict2_parse to increment and decrement tags",
          "author_name": "Alok Swamy",
          "author_login": "aswamy",
          "committed_at": "2026-03-27T19:32:53Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "a9c85622ddd784078c2eed34b19a351fe57362cf",
          "body": "Skip slow test raising many exceptions on non-CRuby",
          "is_bot": false,
          "headline": "Merge pull request #2066 from eregon/skip-slow-test",
          "author_name": "Kevin Menard",
          "author_login": "nirvdrum",
          "committed_at": "2026-03-26T06:14:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9f4d7e78b880f2e72d01cbe610ea5b99d7dd6db8",
          "body": null,
          "is_bot": false,
          "headline": "Skip slow test raising many exceptions on non-CRuby",
          "author_name": "Benoit Daloze",
          "author_login": "eregon",
          "committed_at": "2026-03-25T16:20:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0d5c15a03e847b139ab8a696486d6e657390a424",
          "body": "Both tags previously used only regex (VariableSignature) to validate\nvariable names, which allowed invalid identifiers like (a(b(c) and\n[x.y] in all parse modes.\n\n- assign: strict2_parse uses Parser to validate the LHS as a valid\n  identifier before delegating RHS to Variable\n- capture: strict2_pars\n[…]\nrSwitching and dispatch through\n  strict_parse_with_error_mode_fallback\n- Lax mode is unchanged — invalid names are still accepted\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Add strict2_parse to assign and capture tags",
          "author_name": "Alok Swamy",
          "author_login": "aswamy",
          "committed_at": "2026-03-25T16:07:23Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "fd68d076ddc9d9c65cabbccc6dd5a1b4b9ab0af3",
          "body": "Add TruffleRuby in CI",
          "is_bot": false,
          "headline": "Merge pull request #2038 from eregon/truffleruby-ci",
          "author_name": "Kevin Menard",
          "author_login": "nirvdrum",
          "committed_at": "2026-03-25T15:53:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "96aa47d13f19b5117385d31f12136fd9d409b39a",
          "body": null,
          "is_bot": false,
          "headline": "Add TruffleRuby in CI",
          "author_name": "Benoit Daloze",
          "author_login": "eregon",
          "committed_at": "2026-03-25T15:46:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ad70c5c4591c860fc67a1c51d3de0856fedc377c",
          "body": null,
          "is_bot": false,
          "headline": "Improve no Symbol leak tests to be more reliable",
          "author_name": "Benoit Daloze",
          "author_login": "eregon",
          "committed_at": "2026-03-25T15:46:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d824de701c57d839b2cd378179e79eb0acab54cc",
          "body": null,
          "is_bot": false,
          "headline": "Adapt slice filter to work on non-64 bit platforms",
          "author_name": "Benoit Daloze",
          "author_login": "eregon",
          "committed_at": "2026-03-25T15:46:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "346166b600f08856250534faa3693742332b0349",
          "body": "Store @is_for_loop during parsing so consumers can determine the\nwith/for keyword from the AST instead of re-parsing raw markup.\nMatches the existing pattern in the Render tag.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Add for_loop? to Include tag for AST-based keyword detection",
          "author_name": "Alok Swamy",
          "author_login": "aswamy",
          "committed_at": "2026-03-24T18:52:55Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "532b4390634b111b0cae447347d7a6afd04b8d75",
          "body": "Add bare-bracket rejection to Parser#expression in strict2 mode, so that\n`['var']` is disallowed and `self['var']` is the required syntax.\n\n- Add `Expression::SELF` constant ('self')\n- Add `Parser#reject_bare_brackets` option, checked in `expression`\n- Add `ParseContext#reject_bare_brackets?` and `f\n[…]\nokups\n- Add `Variable#==` for rewriter state comparison\n- Update `Context#find_variable` to return `VariableLookupDrop` for `self`\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Reject bare-bracket syntax in strict2 and introduce `self` keyword",
          "author_name": "Alok Swamy",
          "author_login": "aswamy",
          "committed_at": "2026-03-23T16:13:59Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "dd37353cca46f81c7708847708086ab91eaf382d",
          "body": "Update ruby/setup-ruby to v1.295.0 for ubuntu-24.04 support",
          "is_bot": false,
          "headline": "Merge pull request #2062 from Shopify/update-setup-ruby",
          "author_name": "Alok Swamy",
          "author_login": "aswamy",
          "committed_at": "2026-03-19T19:29:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e80f775f898e8a6e928d9e78caa951d3c438bd67",
          "body": "The pinned version (v1.273.0) does not have prebuilt `ruby-head` binaries\nfor `ubuntu-24.04`, which `ubuntu-latest` now resolves to. This causes CI\nto fail with \"Unavailable version head for ruby on ubuntu-24.04\".\n\nUpdating to v1.295.0 picks up ubuntu-24.04 support for all Ruby versions\nincluding head builds.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Update ruby/setup-ruby from v1.273.0 to v1.295.0",
          "author_name": "Alok Swamy",
          "author_login": "aswamy",
          "committed_at": "2026-03-19T19:22:56Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "59d8d0d22db3b4865deecde0ab2683bea25a1e9f",
          "body": "* feat: add cumulative resource score tracking across partial renders\n\nAdd cumulative_render_score and cumulative_assign_score counters to\nResourceLimits that accumulate across reset() calls, with optional\ncumulative_render_score_limit and cumulative_assign_score_limit to\ncap total work across all p\n[…]\numulative limits in reset() itself. Since reset() is called before\nthe begin/rescue MemoryError block in Template#render, the raise\npropagates to the parent naturally — no changes to BlockBody needed.",
          "is_bot": false,
          "headline": "Add cumulative resource score tracking across partial renders (#2058)",
          "author_name": "Ian Ker-Seymer",
          "author_login": "ianks",
          "committed_at": "2026-03-18T15:54:46Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5fa36267aa1f97ab1f87971ef948bc6730c42e58",
          "body": "Fix rubocop offenses in test file",
          "is_bot": false,
          "headline": "Merge pull request #2054 from Shopify/gg-fix-rubocop-offenses",
          "author_name": "Gray Gilmore",
          "author_login": "graygilmore",
          "committed_at": "2026-03-06T21:28:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a72b604680288bfbe82ccb782351e666bb8922e1",
          "body": null,
          "is_bot": false,
          "headline": "Fix rubocop offenses in test file",
          "author_name": "Gray Gilmore",
          "author_login": "graygilmore",
          "committed_at": "2026-03-06T21:27:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3e76244cd28901cf2124cfa5974c58205d84bbef",
          "body": "Add squish filter",
          "is_bot": false,
          "headline": "Merge pull request #2050 from bakura10/squish-filter",
          "author_name": "Gray Gilmore",
          "author_login": "graygilmore",
          "committed_at": "2026-03-06T21:22:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d589c516974058d84ce0e17ab51cd37ae91bfa21",
          "body": null,
          "is_bot": false,
          "headline": "Add squish filter",
          "author_name": "Michaël Gallego",
          "author_login": "bakura10",
          "committed_at": "2026-02-19T01:03:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d897899f6654c476e58e884bc8e24924600e5801",
          "body": "Update the specs to new signature and fix CI",
          "is_bot": false,
          "headline": "Merge pull request #2036 from Shopify/cp-fix-rubocop",
          "author_name": "CP Clermont",
          "author_login": "charlespwd",
          "committed_at": "2026-01-14T14:14:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa817c4cfd8a0ca693698193a4d6d19c1ecbe42e",
          "body": "liquid-spec main changed the adapter API:\n- compile block now receives (ctx, source, options) and should store\n  the template in ctx[:template]\n- render block now receives (ctx, assigns, options) and retrieves\n  the template from ctx[:template]\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Update liquid-spec adapters for new ctx-based API",
          "author_name": "Charles-P. Clermont",
          "author_login": "charlespwd",
          "committed_at": "2026-01-13T18:06:55Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "7d90b524ea4450f473b4ece5aa1c12af2dece47b",
          "body": null,
          "is_bot": false,
          "headline": "Remove on pull_request trigger. It's redundant.",
          "author_name": "Charles-P. Clermont",
          "author_login": "charlespwd",
          "committed_at": "2026-01-12T18:27:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bbcf8d6ad8a8b1e051a7f013f84168ed7f470bab",
          "body": null,
          "is_bot": false,
          "headline": "Better matrix CI check names",
          "author_name": "Charles-P. Clermont",
          "author_login": "charlespwd",
          "committed_at": "2026-01-12T18:27:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "51ff08db7b77607a76753c0bd35333d8ee425bd5",
          "body": null,
          "is_bot": false,
          "headline": "Fix CI",
          "author_name": "Charles-P. Clermont",
          "author_login": "charlespwd",
          "committed_at": "2026-01-12T18:06:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eaa9f215bf90d05ef5113055dfc42e85e991dd3c",
          "body": "- ruby_liquid_lax.rb: Tests lax parsing mode with :lax_parsing feature\n- ruby_liquid_yjit.rb: Tests YJIT + strict mode + ActiveSupport\n\nMatrix results: 4483 matched, 18 different (lax edge cases), 61 skipped\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Add lax and YJIT liquid-spec adapters",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-06T01:11:29Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ccd05e869ce4c2b050863d5b9c466b6cc770cfd3",
          "body": "- Implement liquid_blank? and liquid_empty? methods in Condition\n  to emulate ActiveSupport's behavior when it's not loaded\n- This ensures templates like `{% if x == blank %}` work identically\n  whether ActiveSupport is loaded or not\n- Update liquid-spec adapters for new API (ctx parameter)\n- Add rake spec task for running liquid-spec matrix\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Make blank/empty comparisons invariant to ActiveSupport",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-06T00:54:43Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "a4a29f3e0836cfd04c1b55b52e92d36914424e7d",
          "body": "…upport\n\nRequire liquid-spec to be run on commit automatically and related fixes",
          "is_bot": false,
          "headline": "Merge pull request #2034 from Shopify/fix-liquid-spec-without-actives…",
          "author_name": "Tobias Lütke",
          "author_login": "tobi",
          "committed_at": "2026-01-02T03:32:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0058e4322ba0099206f9b263b9b80f25e2d1be30",
          "body": null,
          "is_bot": false,
          "headline": "Add fail-fast: false to prevent job cancellation",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-02T03:30:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "50e1789537edc78a3c8f53949d3dd4e8302df9b5",
          "body": null,
          "is_bot": false,
          "headline": "Use liquid-spec feature branch until PR is merged",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-02T03:29:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "79a2e042ff66e6dfb05314edce735fd19b05de03",
          "body": null,
          "is_bot": false,
          "headline": "Use liquid-spec main branch",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-02T03:24:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ddee08fb95484d0134748949b71a083696905e0e",
          "body": "Both adapters now pass with 0 failures:\n- ruby_liquid.rb: 4194 passed (skips activesupport and shopify_error_handling specs)\n- ruby_liquid_with_active_support.rb: 4203 passed (skips shopify_error_handling specs)",
          "is_bot": false,
          "headline": "Add activesupport feature to with_active_support adapter",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-02T03:21:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2988f1a5009b1b4947495a11fa7f055e0d33482f",
          "body": null,
          "is_bot": false,
          "headline": "Update liquid-spec to branch with per-spec required_features support",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-02T03:15:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ef13b2dfd5886f9af680129fbe2e4626ae54355f",
          "body": "- nil is NOT empty (but IS blank) - matches Shopify production\n- String first/last returns '' for empty strings, not nil - matches ActiveSupport\n- Add test for nil not being empty",
          "is_bot": false,
          "headline": "Fix empty? semantics and string first/last for empty strings",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-02T03:06:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b0fb0ad83fe24e153715378f0284cdceafe0353f",
          "body": null,
          "is_bot": false,
          "headline": "Run liquid-spec for all adapters in spec/*.rb",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-02T03:02:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ae26cb29ac62c0c08fa58f30578a1de6e569ee16",
          "body": null,
          "is_bot": false,
          "headline": "Disable auto-require for activesupport gem",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-02T03:00:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "608a877053e76e31c2829426b257aa2c37032eee",
          "body": null,
          "is_bot": false,
          "headline": "Add spec adapter with ActiveSupport for comparison testing",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-02T03:00:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d321adae77f926e74b7ac5820a352fff47e7fa05",
          "body": null,
          "is_bot": false,
          "headline": "Fix spec adapter for liquid-spec API (template, assigns, options)",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-02T02:59:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "53641e19ce2682847e3b616126a706a3c2efb5bc",
          "body": null,
          "is_bot": false,
          "headline": "Pin liquid-spec to minimum required commit 3d1b492",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-02T02:57:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ccd10a986a0ef43b68a50f24e234cde806df3568",
          "body": null,
          "is_bot": false,
          "headline": "Pin liquid-spec to main branch",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-02T02:56:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f4890de9d5e845285d7eac55ec3f2651ef7764df",
          "body": null,
          "is_bot": false,
          "headline": "hm",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-02T02:54:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7e3ccbc1886d869dcb26456533c0f5b8e4f4be6d",
          "body": null,
          "is_bot": false,
          "headline": "test",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-02T02:49:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e0b46049afc9452e43564883282f99e7d1ccf7ec",
          "body": null,
          "is_bot": false,
          "headline": "Add Ruby 3.4 yjit, 4.0 zjit, and head zjit to CI matrix",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-02T02:44:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "19528a9b3f3c3841a6e19a7b375a269775b508ad",
          "body": null,
          "is_bot": false,
          "headline": "Update CI matrix: remove Ruby 3.0-3.2, add Ruby 4.0",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-02T02:42:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "34c274d3149cedd4fea250cb7e687d7dbb05ef5b",
          "body": "… comma",
          "is_bot": false,
          "headline": "Fix rubocop: rename ruby-liquid.rb to ruby_liquid.rb and add trailing…",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-02T02:42:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "533d470723ce234de824534857f225236cf2dcbf",
          "body": null,
          "is_bot": false,
          "headline": "Fix spec job to include :spec bundle group",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-02T02:35:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "05f9c2a0300d8fba14e1a26e94952c9f2c42e322",
          "body": "- Add liquid-spec gem from GitHub to :spec group\n- Create spec/ruby-liquid.rb adapter for the reference implementation\n- Add spec job to CI workflow to run liquid-spec tests",
          "is_bot": false,
          "headline": "Add liquid-spec for conformance testing",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-02T02:34:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "af58800c1605a9c0033a50b3a22897f8003e979e",
          "body": null,
          "is_bot": false,
          "headline": "Update rubocop-shopify to 2.18.0 and fix new offenses",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-02T01:22:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "361d1d52b167d83f5f9a94c659d40643ab9a0012",
          "body": null,
          "is_bot": false,
          "headline": "Fix rubocop offenses from 1.82 upgrade",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-02T01:20:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "391c0df57ae7033bac09277c9ff2b31da37f0c76",
          "body": null,
          "is_bot": false,
          "headline": "Update rubocop to 1.82.0 for Ruby 4.0 support",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-02T01:19:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0ed29760c07cc20504aa46463185bfffa318396d",
          "body": null,
          "is_bot": false,
          "headline": "Add benchmark gem for Ruby 4.0 compatibility",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-02T01:18:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0e3548d39ec28ec1cb843b44e8503a9a433b2055",
          "body": null,
          "is_bot": false,
          "headline": "Remove redundant else-clause",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-02T01:16:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "33bac87a5cf4192ce478162849465cbde1f15bc5",
          "body": "Implement ActiveSupport-compatible behaviors internally so Liquid works\ncorrectly without ActiveSupport being loaded:\n\n1. String first/last via property access (name.first, name.last)\n   - VariableLookup now handles string[0] and string[-1] for first/last\n\n2. String first/last via filters (name | fi\n[…]\nc failures for templates like:\n- {{ name.first }} / {{ name | first }} on strings\n- {% if x == blank %} for whitespace strings, empty hashes/arrays\n- {% case ' ' %}{% when blank %} matching whitespace",
          "is_bot": false,
          "headline": "Address liquid-spec issues without ActiveSupport loaded",
          "author_name": "Tobi Lutke",
          "author_login": "tobi",
          "committed_at": "2026-01-02T01:14:21Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a60a6c0d9370b45de2e2b0e2d8c00515a8f0eb12",
          "body": "…to-liquid-spec\n\nMake new tests serializable to liquid-spec",
          "is_bot": false,
          "headline": "Merge pull request #2027 from Shopify/cp-make-new-tests-serializable-…",
          "author_name": "CP Clermont",
          "author_login": "charlespwd",
          "committed_at": "2025-12-18T20:41:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bad29caaae0e374366d28eadf3b45fb07ae4ec01",
          "body": null,
          "is_bot": false,
          "headline": "Fixup GH action",
          "author_name": "Charles-P. Clermont",
          "author_login": "charlespwd",
          "committed_at": "2025-12-18T20:39:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cbeff64708ed74d2297d803e27b7b9b8b29af3d6",
          "body": "(No anonymous classes)",
          "is_bot": false,
          "headline": "Make new tests serializable to liquid-spec",
          "author_name": "Charles-P. Clermont",
          "author_login": "charlespwd",
          "committed_at": "2025-12-18T18:56:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "22e979a6fae0038c703a95c7421f159f71934a38",
          "body": "## Summary\n\n- BigDecimal values now stringify using `to_s(\"F\")` format instead of the default `to_s`\n\n## Why\n\nRuby's default `BigDecimal#to_s` produces engineering/scientific notation for certain values:\n\n```ruby\nBigDecimal(\"0.00001\").to_s      # => \"0.1E-4\"\nBigDecimal(\"12345678.9\").to_s   # => \"0.1\n[…]\nput in templates. Using `to_s(\"F\")` produces the expected floating-point format:\n\n```ruby\nBigDecimal(\"0.00001\").to_s(\"F\")      # => \"0.00001\"\nBigDecimal(\"12345678.9\").to_s(\"F\")   # => \"12345678.9\"\n```",
          "is_bot": false,
          "headline": "Use floating-point format for BigDecimal stringification (#2022)",
          "author_name": "Ian Ker-Seymer",
          "author_login": "ianks",
          "committed_at": "2025-12-05T20:54:52Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "735d551168fcbf205b4699d422b707acbd54357f",
          "body": "Preserve literal semantics in strict2 case/when",
          "is_bot": false,
          "headline": "Merge pull request #2016 from Shopify/jb-method-literals",
          "author_name": "Julia",
          "author_login": "dejmedus",
          "committed_at": "2025-12-04T16:11:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fa27bfe6e0eff396407bfb031ef1de5f5014e206",
          "body": "Previously, strict2 case/when used `safe_parse_expression`\nto parse when expressions causing `blank`/`empty` to be\ntreated as string literals (Expression::LITERALS maps 'empty' => ''),\nrather than method literals\n\nThis caused unexpected behavior:\n\n```\n{%- case empty_obj -%}\n{%- when empty -%}\n  prev\n[…]\n== '' is false)\n  now: renders (empty_obj.empty? is true)\n{%- endcase -%}\n```\n\nThis commit instead calls `Condition.parse_expression`\nwith `safe: true`, which will correctly handle `blank`\nand `empty`",
          "is_bot": false,
          "headline": "Preserve literal semantics in strict2 case/when",
          "author_name": "Julia Boutin",
          "author_login": "dejmedus",
          "committed_at": "2025-11-28T22:51:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "32b50ecafecae41b924f3e3120c6dc587efdd800",
          "body": "This commit reverts the Inline Snippets tag (#2001) and bumps\nLiquid to 5.11. For now, the inclusion of Inline Snippets\nin the latest Liquid release is being treated as a bug.\n\nWhile #2001 does implement the scope contained in RFC#1916,\nwe need to take a step back to make sure we’re setting our\nsights high enough with this feature, and that we’re truly\nsupporting theme developers in the ways they need.\n\nIf you have any feedback, please leave a comment on RFC#1916.\n\n- Liquid Developer Tools",
          "is_bot": false,
          "headline": "Bump Liquid to 5.11.0 (#2012)",
          "author_name": "Guilherme Carreiro",
          "author_login": "karreiro",
          "committed_at": "2025-11-19T17:03:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cbd8a0a2ee2cd3f12516c52558e5a894d1fd792a",
          "body": "Don't raise if no variable found when `using context.key?` with `strict_variables`",
          "is_bot": false,
          "headline": "Merge pull request #2007 from Shopify/gg-change-key-behavior",
          "author_name": "Gray Gilmore",
          "author_login": "graygilmore",
          "committed_at": "2025-11-04T21:01:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9973f3399e6531ac381e798039f41f33d65aa508",
          "body": "Previously if you set `strict_variables` to `true` on the context using\n`key?('key_name')` would raise a `Liquid::UndefinedVariable` error.\nRaising this error makes sense if you're trying to access the variable\ndirectly with something like  `context['key_name']` but by using `key?`\nyou're safely checking if it exists first.\n\nYou should be able to enable `strict_variables` and use `key?` in\ncombination with each other to ensure code safety.",
          "is_bot": false,
          "headline": "Don't raise if no variable found when using context.key?",
          "author_name": "Gray Gilmore",
          "author_login": "graygilmore",
          "committed_at": "2025-10-30T22:33:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "248f3a412f59da16fc184bc0bbd92522a1f62393",
          "body": null,
          "is_bot": false,
          "headline": "Bump to 5.10.0",
          "author_name": "Guilherme Carreiro",
          "author_login": "karreiro",
          "committed_at": "2025-10-30T11:28:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a16ec56a402e898145354e8a213bb7f0a2408b43",
          "body": "…sages in the render tag",
          "is_bot": false,
          "headline": "Update error handling for keeping backward-compatibility on error mes…",
          "author_name": "Guilherme Carreiro",
          "author_login": "karreiro",
          "committed_at": "2025-10-30T11:00:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "12fd93fbe2de580d2615bfeb8f1c67c0a805edbf",
          "body": null,
          "is_bot": false,
          "headline": "Missing inline snippets should display same error as filebased",
          "author_name": "Julia Boutin",
          "author_login": "dejmedus",
          "committed_at": "2025-10-30T11:00:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5ceb0e9cec9f6f49b479a6df655e53ce1f5cf715",
          "body": null,
          "is_bot": false,
          "headline": "Raise error on invalid snippet name",
          "author_name": "Julia Boutin",
          "author_login": "dejmedus",
          "committed_at": "2025-10-30T11:00:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "98fbd985d8792481189e2c937df6609c33d1fa7c",
          "body": null,
          "is_bot": false,
          "headline": "Remove unneeded read method",
          "author_name": "Julia Boutin",
          "author_login": "dejmedus",
          "committed_at": "2025-10-30T11:00:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ae05ba071cf2a9c7d60ebd5a55a51fac674b29fc",
          "body": null,
          "is_bot": false,
          "headline": "Add liquid_public_docs yard tag to snippet tag",
          "author_name": "Julia Boutin",
          "author_login": "dejmedus",
          "committed_at": "2025-10-30T11:00:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "42051311488f108af1f3c44d388f37b7d59d92fe",
          "body": null,
          "is_bot": false,
          "headline": "Extract snippet resource scoring logic into assign_score_of",
          "author_name": "Julia Boutin",
          "author_login": "dejmedus",
          "committed_at": "2025-10-30T11:00:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "db350c54ff24f2bb9c6878f2d85348fb9d34f9ba",
          "body": null,
          "is_bot": false,
          "headline": "Allow render tag to recognize drops that respond to to_partial",
          "author_name": "Julia Boutin",
          "author_login": "dejmedus",
          "committed_at": "2025-10-30T11:00:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0cc6cdd5531fdf6e5f82966b3c52c7ecc7a3be09",
          "body": null,
          "is_bot": false,
          "headline": "Remove ... syntax references",
          "author_name": "Julia Boutin",
          "author_login": "dejmedus",
          "committed_at": "2025-10-30T11:00:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "40e45e32ac867f742a64da6b5272954909c74586",
          "body": null,
          "is_bot": false,
          "headline": "Raise syntax error on incorrect render identifier type",
          "author_name": "Julia Boutin",
          "author_login": "dejmedus",
          "committed_at": "2025-10-30T11:00:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d4d2237b90096ce85f1c99e4d04e92772bfd4967",
          "body": null,
          "is_bot": false,
          "headline": "Support prop spreading",
          "author_name": "Julia Boutin",
          "author_login": "dejmedus",
          "committed_at": "2025-10-30T11:00:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0ceeefba02cec894e3a58a749410de12ef7ff969",
          "body": null,
          "is_bot": false,
          "headline": "Implement resource limits and remove leftover string references",
          "author_name": "Julia Boutin",
          "author_login": "dejmedus",
          "committed_at": "2025-10-30T11:00:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "65fb80a347e5f7dabc2a867ce2c998a82beae2ae",
          "body": null,
          "is_bot": false,
          "headline": "Render arguments should maintain correct precedence",
          "author_name": "Julia Boutin",
          "author_login": "dejmedus",
          "committed_at": "2025-10-30T11:00:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "489a03118ce27053fd162f0160e029a2f0af3ba5",
          "body": null,
          "is_bot": false,
          "headline": "Remove inline snippet specific example files",
          "author_name": "Julia Boutin",
          "author_login": "dejmedus",
          "committed_at": "2025-10-30T11:00:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "99116638fdc3093118e936bac5326eab789b0adc",
          "body": "This commit updates the render method to share parts\nof the snippet and block rendering logic to enable\ninline snippets to support `with`, `for`, and `as`\nsyntax",
          "is_bot": false,
          "headline": "Support with, for, and as inline snippet syntax",
          "author_name": "Julia Boutin",
          "author_login": "dejmedus",
          "committed_at": "2025-10-30T11:00:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9bcfd32e65a6b8ef7ef823d4a7b0335953ae6eab",
          "body": null,
          "is_bot": false,
          "headline": "Support ... inline snippet syntax",
          "author_name": "Julia Boutin",
          "author_login": "dejmedus",
          "committed_at": "2025-10-30T11:00:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c7ad1c90ca683332e21d08a85f2e90a538f20a01",
          "body": "Currently, snippet files identified by strings. This\nPR makes changes to render to allow for new inline\nsnippets to use variables as identifiers instead",
          "is_bot": false,
          "headline": "Change inline snippet identifier from string to variable",
          "author_name": "Julia Boutin",
          "author_login": "dejmedus",
          "committed_at": "2025-10-30T11:00:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "12bbbc4537753e519eae5afeb1573f1a7d0f6e2a",
          "body": null,
          "is_bot": false,
          "headline": "Create SnippetDrop and set in scope",
          "author_name": "Julia Boutin",
          "author_login": "dejmedus",
          "committed_at": "2025-10-30T11:00:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1eca707c4a40a035b924500726720dbffd5c4214",
          "body": "Previously, inline snippets syntax looked a bit\ndifferent, they:\n\n- used strings as tag identifiers\n- defined tag arguments {% snippet \"input\" |type| %}\n\nThis PR updates snippets to better reflect\nthe currently proposed syntax\n\nCo-authored-by: Orlando Qiu <orlando.qiu@shopify.com>",
          "is_bot": false,
          "headline": "Update inline snippets syntax",
          "author_name": "Julia Boutin",
          "author_login": "dejmedus",
          "committed_at": "2025-10-30T11:00:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ed9c4e31c40f94077d52afcb48391210c9b912ff",
          "body": "Inline snippets will reduce code duplication and\nimprove the developer experience, eliminating the\nneed for one-off snippet files",
          "is_bot": false,
          "headline": "Introduce new inline snippets tag",
          "author_name": "Josh Faigan",
          "author_login": "EvilGenius13",
          "committed_at": "2025-10-30T11:00:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c357f91e0c677327180c8e745b6e1bf867d65ab2",
          "body": null,
          "is_bot": false,
          "headline": "Bump to 5.9.0",
          "author_name": "Guilherme Carreiro",
          "author_login": "karreiro",
          "committed_at": "2025-10-27T16:25:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1f58216f48b5671fe25090d1cb251bb083cc3858",
          "body": null,
          "is_bot": false,
          "headline": "Add unit test mixing positional and kwargs arguments",
          "author_name": "Guilherme Carreiro",
          "author_login": "karreiro",
          "committed_at": "2025-10-27T15:33:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d38795168b8c4aad243d0b466c15adac30f4920c",
          "body": "Co-authored-by: Gray Gilmore <graygilmore@gmail.com>",
          "is_bot": false,
          "headline": "Update test/integration/tags/table_row_test.rb",
          "author_name": "Guilherme Carreiro",
          "author_login": "karreiro",
          "committed_at": "2025-10-27T15:33:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "51f312b2206e521e5c64769b2a16e3df44ddcaaa",
          "body": "Co-authored-by: Gray Gilmore <graygilmore@gmail.com>",
          "is_bot": false,
          "headline": "Update README.md",
          "author_name": "Guilherme Carreiro",
          "author_login": "karreiro",
          "committed_at": "2025-10-27T15:33:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "44f0429c089dda91b4d4fdd6548554522622d15a",
          "body": null,
          "is_bot": false,
          "headline": "Extract `/\\w+:0x\\h{8}/` regex to `UNNAMED_CYCLE_PATTERN` constant",
          "author_name": "Guilherme Carreiro",
          "author_login": "karreiro",
          "committed_at": "2025-10-27T15:33:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e57b7efe4e1cb3bc1ecf65887d07e881c0132448",
          "body": null,
          "is_bot": false,
          "headline": "Simplify render/include tags following PR review feedback",
          "author_name": "Guilherme Carreiro",
          "author_login": "karreiro",
          "committed_at": "2025-10-27T15:33:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "15430c0770fbd759a52d18790f27b19690f3b335",
          "body": "The benchmark results show that rigid mode performs a bit better than both strict\nand lax modes across most metrics, including tokenization, parsing, rendering,\nand their combined operations. Rigid mode consistently delivers the highest\nnumber of iterations per second, with performance differences s\n[…]\n20.019775s\n             render:    663.752 (± 2.6%) i/s    (1.51 ms/i)  -    13.268k in  20.010303s\n     parse & render:    116.464 (± 2.6%) i/s    (8.59 ms/i)  -     2.332k in  20.037869s\nliquid$\n```",
          "is_bot": false,
          "headline": "Add rigid mode to `rake benchmark` task",
          "author_name": "Guilherme Carreiro",
          "author_login": "karreiro",
          "committed_at": "2025-10-27T15:33:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6aa4041c0f33da8420891b10d9d1f668ab7e0456",
          "body": null,
          "is_bot": false,
          "headline": "Rename `with_error_mode(...)` to `with_error_modes(...)`",
          "author_name": "Guilherme Carreiro",
          "author_login": "karreiro",
          "committed_at": "2025-10-27T15:33:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d63dd104de53ced56afa7e74a161847b3daf5a60",
          "body": "Co-authored-by: Alok Swamy <alok.swamy@shopify.com>",
          "is_bot": false,
          "headline": "Update test/integration/tags/render_tag_test.rb",
          "author_name": "Guilherme Carreiro",
          "author_login": "karreiro",
          "committed_at": "2025-10-27T15:33:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 25,
      "commits_last_year": 137,
      "latest_release_at": "2026-06-29T15:47:37Z",
      "latest_release_tag": "v5.13.0",
      "releases_from_tags": false,
      "days_since_last_push": 16,
      "active_weeks_last_year": 26,
      "days_since_latest_release": 22,
      "mean_days_between_releases": 50.1
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 75,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "liquid",
          "exists": true,
          "license": "MIT",
          "keywords": [],
          "ecosystem": "rubygems",
          "matches_repo": true,
          "registry_url": "https://rubygems.org/gems/liquid",
          "is_deprecated": false,
          "latest_version": "5.13.0",
          "repository_url": "https://github.com/Shopify/liquid",
          "versions_count": 71,
          "total_downloads": 134118752,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": "2009-07-25T18:10:21Z",
          "latest_published_at": "2026-06-29T15:45:47.737000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 22
        }
      ]
    },
    "popularity": {
      "forks": 1537,
      "stars": 11839,
      "watchers": 722,
      "fork_history": {
        "days": [
          {
            "date": "2016-11-29",
            "count": 1
          },
          {
            "date": "2016-12-05",
            "count": 1
          },
          {
            "date": "2016-12-12",
            "count": 1
          },
          {
            "date": "2016-12-15",
            "count": 1
          },
          {
            "date": "2016-12-16",
            "count": 1
          },
          {
            "date": "2016-12-19",
            "count": 1
          },
          {
            "date": "2016-12-27",
            "count": 1
          },
          {
            "date": "2017-01-03",
            "count": 1
          },
          {
            "date": "2017-01-04",
            "count": 1
          },
          {
            "date": "2017-01-08",
            "count": 2
          },
          {
            "date": "2017-01-15",
            "count": 1
          },
          {
            "date": "2017-01-16",
            "count": 1
          },
          {
            "date": "2017-01-17",
            "count": 1
          },
          {
            "date": "2017-01-19",
            "count": 1
          },
          {
            "date": "2017-01-24",
            "count": 1
          },
          {
            "date": "2017-01-25",
            "count": 1
          },
          {
            "date": "2017-01-27",
            "count": 1
          },
          {
            "date": "2017-02-09",
            "count": 1
          },
          {
            "date": "2017-02-13",
            "count": 1
          },
          {
            "date": "2017-02-18",
            "count": 1
          },
          {
            "date": "2017-02-20",
            "count": 1
          },
          {
            "date": "2017-02-21",
            "count": 1
          },
          {
            "date": "2017-02-22",
            "count": 2
          },
          {
            "date": "2017-02-24",
            "count": 1
          },
          {
            "date": "2017-02-27",
            "count": 1
          },
          {
            "date": "2017-02-28",
            "count": 1
          },
          {
            "date": "2017-03-02",
            "count": 1
          },
          {
            "date": "2017-03-06",
            "count": 1
          },
          {
            "date": "2017-03-11",
            "count": 1
          },
          {
            "date": "2017-03-13",
            "count": 1
          },
          {
            "date": "2017-03-14",
            "count": 1
          },
          {
            "date": "2017-03-22",
            "count": 1
          },
          {
            "date": "2017-03-29",
            "count": 1
          },
          {
            "date": "2017-03-30",
            "count": 1
          },
          {
            "date": "2017-04-02",
            "count": 1
          },
          {
            "date": "2017-04-03",
            "count": 1
          },
          {
            "date": "2017-04-11",
            "count": 1
          },
          {
            "date": "2017-04-14",
            "count": 1
          },
          {
            "date": "2017-04-28",
            "count": 1
          },
          {
            "date": "2017-05-03",
            "count": 2
          },
          {
            "date": "2017-05-10",
            "count": 1
          },
          {
            "date": "2017-05-12",
            "count": 1
          },
          {
            "date": "2017-05-16",
            "count": 1
          },
          {
            "date": "2017-05-19",
            "count": 1
          },
          {
            "date": "2017-05-20",
            "count": 3
          },
          {
            "date": "2017-06-02",
            "count": 1
          },
          {
            "date": "2017-06-05",
            "count": 1
          },
          {
            "date": "2017-06-06",
            "count": 2
          },
          {
            "date": "2017-06-07",
            "count": 1
          },
          {
            "date": "2017-06-14",
            "count": 1
          },
          {
            "date": "2017-06-25",
            "count": 1
          },
          {
            "date": "2017-06-26",
            "count": 1
          },
          {
            "date": "2017-06-27",
            "count": 1
          },
          {
            "date": "2017-06-29",
            "count": 2
          },
          {
            "date": "2017-06-30",
            "count": 1
          },
          {
            "date": "2017-07-03",
            "count": 1
          },
          {
            "date": "2017-07-13",
            "count": 1
          },
          {
            "date": "2017-07-15",
            "count": 1
          },
          {
            "date": "2017-07-16",
            "count": 1
          },
          {
            "date": "2017-07-19",
            "count": 1
          },
          {
            "date": "2017-07-21",
            "count": 1
          },
          {
            "date": "2017-07-28",
            "count": 1
          },
          {
            "date": "2017-08-02",
            "count": 1
          },
          {
            "date": "2017-08-04",
            "count": 1
          },
          {
            "date": "2017-08-11",
            "count": 1
          },
          {
            "date": "2017-08-17",
            "count": 1
          },
          {
            "date": "2017-08-22",
            "count": 1
          },
          {
            "date": "2017-08-24",
            "count": 1
          },
          {
            "date": "2017-08-25",
            "count": 2
          },
          {
            "date": "2017-08-26",
            "count": 1
          },
          {
            "date": "2017-08-31",
            "count": 1
          },
          {
            "date": "2017-09-03",
            "count": 1
          },
          {
            "date": "2017-09-05",
            "count": 1
          },
          {
            "date": "2017-09-07",
            "count": 1
          },
          {
            "date": "2017-09-12",
            "count": 1
          },
          {
            "date": "2017-09-13",
            "count": 1
          },
          {
            "date": "2017-09-14",
            "count": 2
          },
          {
            "date": "2017-09-23",
            "count": 1
          },
          {
            "date": "2017-10-08",
            "count": 1
          },
          {
            "date": "2017-10-16",
            "count": 1
          },
          {
            "date": "2017-10-17",
            "count": 1
          },
          {
            "date": "2017-10-19",
            "count": 2
          },
          {
            "date": "2017-10-25",
            "count": 1
          },
          {
            "date": "2017-10-28",
            "count": 1
          },
          {
            "date": "2017-11-02",
            "count": 1
          },
          {
            "date": "2017-11-03",
            "count": 1
          },
          {
            "date": "2017-11-05",
            "count": 1
          },
          {
            "date": "2017-11-06",
            "count": 1
          },
          {
            "date": "2017-11-07",
            "count": 2
          },
          {
            "date": "2017-11-08",
            "count": 1
          },
          {
            "date": "2017-11-11",
            "count": 1
          },
          {
            "date": "2017-11-13",
            "count": 2
          },
          {
            "date": "2017-11-14",
            "count": 2
          },
          {
            "date": "2017-11-15",
            "count": 1
          },
          {
            "date": "2017-11-19",
            "count": 1
          },
          {
            "date": "2017-11-20",
            "count": 1
          },
          {
            "date": "2017-11-21",
            "count": 2
          },
          {
            "date": "2017-11-25",
            "count": 1
          },
          {
            "date": "2017-11-28",
            "count": 1
          },
          {
            "date": "2017-12-03",
            "count": 1
          },
          {
            "date": "2017-12-04",
            "count": 3
          },
          {
            "date": "2017-12-05",
            "count": 1
          },
          {
            "date": "2017-12-07",
            "count": 2
          },
          {
            "date": "2017-12-08",
            "count": 1
          },
          {
            "date": "2017-12-09",
            "count": 1
          },
          {
            "date": "2017-12-11",
            "count": 1
          },
          {
            "date": "2017-12-12",
            "count": 2
          },
          {
            "date": "2017-12-13",
            "count": 1
          },
          {
            "date": "2017-12-14",
            "count": 2
          },
          {
            "date": "2017-12-19",
            "count": 2
          },
          {
            "date": "2017-12-26",
            "count": 1
          },
          {
            "date": "2017-12-28",
            "count": 1
          },
          {
            "date": "2017-12-31",
            "count": 1
          },
          {
            "date": "2018-01-09",
            "count": 1
          },
          {
            "date": "2018-01-12",
            "count": 1
          },
          {
            "date": "2018-01-19",
            "count": 1
          },
          {
            "date": "2018-01-20",
            "count": 1
          },
          {
            "date": "2018-01-21",
            "count": 1
          },
          {
            "date": "2018-01-25",
            "count": 2
          },
          {
            "date": "2018-02-06",
            "count": 3
          },
          {
            "date": "2018-02-07",
            "count": 1
          },
          {
            "date": "2018-02-08",
            "count": 1
          },
          {
            "date": "2018-02-11",
            "count": 1
          },
          {
            "date": "2018-02-13",
            "count": 1
          },
          {
            "date": "2018-02-19",
            "count": 1
          },
          {
            "date": "2018-02-22",
            "count": 1
          },
          {
            "date": "2018-02-28",
            "count": 2
          },
          {
            "date": "2018-03-06",
            "count": 2
          },
          {
            "date": "2018-03-07",
            "count": 1
          },
          {
            "date": "2018-03-12",
            "count": 1
          },
          {
            "date": "2018-03-14",
            "count": 1
          },
          {
            "date": "2018-03-17",
            "count": 1
          },
          {
            "date": "2018-03-23",
            "count": 1
          },
          {
            "date": "2018-04-04",
            "count": 1
          },
          {
            "date": "2018-04-06",
            "count": 1
          },
          {
            "date": "2018-04-14",
            "count": 1
          },
          {
            "date": "2018-04-16",
            "count": 1
          },
          {
            "date": "2018-04-19",
            "count": 1
          },
          {
            "date": "2018-04-20",
            "count": 1
          },
          {
            "date": "2018-04-21",
            "count": 1
          },
          {
            "date": "2018-04-22",
            "count": 1
          },
          {
            "date": "2018-04-23",
            "count": 1
          },
          {
            "date": "2018-04-28",
            "count": 1
          },
          {
            "date": "2018-05-01",
            "count": 1
          },
          {
            "date": "2018-05-06",
            "count": 1
          },
          {
            "date": "2018-05-07",
            "count": 1
          },
          {
            "date": "2018-05-11",
            "count": 1
          },
          {
            "date": "2018-05-14",
            "count": 1
          },
          {
            "date": "2018-05-15",
            "count": 1
          },
          {
            "date": "2018-05-18",
            "count": 1
          },
          {
            "date": "2018-05-23",
            "count": 1
          },
          {
            "date": "2018-05-24",
            "count": 1
          },
          {
            "date": "2018-06-03",
            "count": 1
          },
          {
            "date": "2018-06-05",
            "count": 1
          },
          {
            "date": "2018-06-06",
            "count": 1
          },
          {
            "date": "2018-06-18",
            "count": 2
          },
          {
            "date": "2018-06-20",
            "count": 1
          },
          {
            "date": "2018-06-21",
            "count": 1
          },
          {
            "date": "2018-06-22",
            "count": 1
          },
          {
            "date": "2018-06-23",
            "count": 1
          },
          {
            "date": "2018-06-30",
            "count": 1
          },
          {
            "date": "2018-07-20",
            "count": 1
          },
          {
            "date": "2018-07-25",
            "count": 1
          },
          {
            "date": "2018-08-01",
            "count": 2
          },
          {
            "date": "2018-08-04",
            "count": 1
          },
          {
            "date": "2018-08-06",
            "count": 1
          },
          {
            "date": "2018-08-07",
            "count": 1
          },
          {
            "date": "2018-08-08",
            "count": 1
          },
          {
            "date": "2018-08-10",
            "count": 2
          },
          {
            "date": "2018-08-16",
            "count": 1
          },
          {
            "date": "2018-08-17",
            "count": 1
          },
          {
            "date": "2018-08-22",
            "count": 1
          },
          {
            "date": "2018-08-27",
            "count": 1
          },
          {
            "date": "2018-08-28",
            "count": 1
          },
          {
            "date": "2018-08-31",
            "count": 2
          },
          {
            "date": "2018-09-09",
            "count": 2
          },
          {
            "date": "2018-09-23",
            "count": 1
          },
          {
            "date": "2018-09-26",
            "count": 1
          },
          {
            "date": "2018-09-27",
            "count": 1
          },
          {
            "date": "2018-10-01",
            "count": 1
          },
          {
            "date": "2018-10-08",
            "count": 1
          },
          {
            "date": "2018-10-14",
            "count": 1
          },
          {
            "date": "2018-10-17",
            "count": 1
          },
          {
            "date": "2018-11-01",
            "count": 3
          },
          {
            "date": "2018-11-11",
            "count": 1
          },
          {
            "date": "2018-11-12",
            "count": 1
          },
          {
            "date": "2018-11-14",
            "count": 2
          },
          {
            "date": "2018-11-18",
            "count": 1
          },
          {
            "date": "2018-11-20",
            "count": 1
          },
          {
            "date": "2018-11-21",
            "count": 2
          },
          {
            "date": "2018-11-22",
            "count": 1
          },
          {
            "date": "2018-11-24",
            "count": 1
          },
          {
            "date": "2018-12-01",
            "count": 1
          },
          {
            "date": "2018-12-04",
            "count": 1
          },
          {
            "date": "2018-12-16",
            "count": 1
          },
          {
            "date": "2018-12-17",
            "count": 1
          },
          {
            "date": "2018-12-25",
            "count": 1
          },
          {
            "date": "2019-01-14",
            "count": 1
          },
          {
            "date": "2019-01-15",
            "count": 1
          },
          {
            "date": "2019-01-20",
            "count": 1
          },
          {
            "date": "2019-01-23",
            "count": 1
          },
          {
            "date": "2019-01-27",
            "count": 1
          },
          {
            "date": "2019-01-28",
            "count": 1
          },
          {
            "date": "2019-01-31",
            "count": 1
          },
          {
            "date": "2019-02-07",
            "count": 3
          },
          {
            "date": "2019-02-10",
            "count": 1
          },
          {
            "date": "2019-02-11",
            "count": 1
          },
          {
            "date": "2019-02-12",
            "count": 1
          },
          {
            "date": "2019-02-13",
            "count": 1
          },
          {
            "date": "2019-02-14",
            "count": 1
          },
          {
            "date": "2019-02-15",
            "count": 1
          },
          {
            "date": "2019-02-20",
            "count": 1
          },
          {
            "date": "2019-02-21",
            "count": 1
          },
          {
            "date": "2019-02-26",
            "count": 1
          },
          {
            "date": "2019-02-28",
            "count": 1
          },
          {
            "date": "2019-03-11",
            "count": 1
          },
          {
            "date": "2019-03-13",
            "count": 1
          },
          {
            "date": "2019-03-18",
            "count": 1
          },
          {
            "date": "2019-03-20",
            "count": 1
          },
          {
            "date": "2019-03-25",
            "count": 1
          },
          {
            "date": "2019-04-01",
            "count": 1
          },
          {
            "date": "2019-04-08",
            "count": 1
          },
          {
            "date": "2019-04-09",
            "count": 2
          },
          {
            "date": "2019-04-15",
            "count": 1
          },
          {
            "date": "2019-04-17",
            "count": 1
          },
          {
            "date": "2019-04-22",
            "count": 1
          },
          {
            "date": "2019-04-23",
            "count": 1
          },
          {
            "date": "2019-04-25",
            "count": 1
          },
          {
            "date": "2019-04-26",
            "count": 1
          },
          {
            "date": "2019-05-07",
            "count": 1
          },
          {
            "date": "2019-05-17",
            "count": 2
          },
          {
            "date": "2019-05-21",
            "count": 1
          },
          {
            "date": "2019-05-22",
            "count": 1
          },
          {
            "date": "2019-05-26",
            "count": 1
          },
          {
            "date": "2019-05-28",
            "count": 1
          },
          {
            "date": "2019-06-03",
            "count": 1
          },
          {
            "date": "2019-06-06",
            "count": 1
          },
          {
            "date": "2019-06-07",
            "count": 1
          },
          {
            "date": "2019-06-14",
            "count": 1
          },
          {
            "date": "2019-06-18",
            "count": 1
          },
          {
            "date": "2019-06-19",
            "count": 1
          },
          {
            "date": "2019-06-20",
            "count": 1
          },
          {
            "date": "2019-06-25",
            "count": 1
          },
          {
            "date": "2019-07-10",
            "count": 1
          },
          {
            "date": "2019-07-11",
            "count": 1
          },
          {
            "date": "2019-07-13",
            "count": 1
          },
          {
            "date": "2019-07-16",
            "count": 1
          },
          {
            "date": "2019-07-19",
            "count": 1
          },
          {
            "date": "2019-07-26",
            "count": 1
          },
          {
            "date": "2019-07-28",
            "count": 1
          },
          {
            "date": "2019-08-04",
            "count": 1
          },
          {
            "date": "2019-08-08",
            "count": 1
          },
          {
            "date": "2019-08-16",
            "count": 1
          },
          {
            "date": "2019-08-17",
            "count": 2
          },
          {
            "date": "2019-08-28",
            "count": 1
          },
          {
            "date": "2019-08-29",
            "count": 1
          },
          {
            "date": "2019-08-31",
            "count": 1
          },
          {
            "date": "2019-09-03",
            "count": 1
          },
          {
            "date": "2019-09-06",
            "count": 1
          },
          {
            "date": "2019-09-11",
            "count": 1
          },
          {
            "date": "2019-09-24",
            "count": 1
          },
          {
            "date": "2019-09-27",
            "count": 1
          },
          {
            "date": "2019-10-01",
            "count": 2
          },
          {
            "date": "2019-10-04",
            "count": 1
          },
          {
            "date": "2019-10-05",
            "count": 1
          },
          {
            "date": "2019-10-08",
            "count": 1
          },
          {
            "date": "2019-10-12",
            "count": 1
          },
          {
            "date": "2019-10-14",
            "count": 1
          },
          {
            "date": "2019-10-16",
            "count": 1
          },
          {
            "date": "2019-10-21",
            "count": 1
          },
          {
            "date": "2019-10-22",
            "count": 1
          },
          {
            "date": "2019-10-23",
            "count": 1
          },
          {
            "date": "2019-11-01",
            "count": 1
          },
          {
            "date": "2019-11-06",
            "count": 1
          },
          {
            "date": "2019-11-07",
            "count": 2
          },
          {
            "date": "2019-11-11",
            "count": 1
          },
          {
            "date": "2019-11-13",
            "count": 1
          },
          {
            "date": "2019-11-21",
            "count": 1
          },
          {
            "date": "2019-11-25",
            "count": 2
          },
          {
            "date": "2019-12-09",
            "count": 1
          },
          {
            "date": "2019-12-12",
            "count": 1
          },
          {
            "date": "2019-12-13",
            "count": 1
          },
          {
            "date": "2019-12-19",
            "count": 1
          },
          {
            "date": "2019-12-25",
            "count": 1
          },
          {
            "date": "2020-01-03",
            "count": 2
          },
          {
            "date": "2020-01-10",
            "count": 1
          },
          {
            "date": "2020-01-13",
            "count": 1
          },
          {
            "date": "2020-01-15",
            "count": 1
          },
          {
            "date": "2020-01-16",
            "count": 1
          },
          {
            "date": "2020-01-21",
            "count": 1
          },
          {
            "date": "2020-01-23",
            "count": 1
          },
          {
            "date": "2020-01-26",
            "count": 1
          },
          {
            "date": "2020-01-27",
            "count": 1
          },
          {
            "date": "2020-01-29",
            "count": 1
          },
          {
            "date": "2020-01-31",
            "count": 1
          },
          {
            "date": "2020-02-07",
            "count": 1
          },
          {
            "date": "2020-02-08",
            "count": 2
          },
          {
            "date": "2020-02-14",
            "count": 1
          },
          {
            "date": "2020-02-18",
            "count": 1
          },
          {
            "date": "2020-02-21",
            "count": 1
          },
          {
            "date": "2020-02-25",
            "count": 2
          },
          {
            "date": "2020-02-26",
            "count": 1
          },
          {
            "date": "2020-02-28",
            "count": 1
          },
          {
            "date": "2020-02-29",
            "count": 1
          },
          {
            "date": "2020-03-10",
            "count": 1
          },
          {
            "date": "2020-03-13",
            "count": 1
          },
          {
            "date": "2020-03-19",
            "count": 1
          },
          {
            "date": "2020-03-28",
            "count": 1
          },
          {
            "date": "2020-04-01",
            "count": 1
          },
          {
            "date": "2020-04-02",
            "count": 1
          },
          {
            "date": "2020-04-05",
            "count": 1
          },
          {
            "date": "2020-04-16",
            "count": 1
          },
          {
            "date": "2020-04-19",
            "count": 1
          },
          {
            "date": "2020-04-20",
            "count": 1
          },
          {
            "date": "2020-04-21",
            "count": 1
          },
          {
            "date": "2020-04-27",
            "count": 1
          },
          {
            "date": "2020-05-01",
            "count": 1
          },
          {
            "date": "2020-05-02",
            "count": 1
          },
          {
            "date": "2020-05-03",
            "count": 1
          },
          {
            "date": "2020-05-04",
            "count": 1
          },
          {
            "date": "2020-05-05",
            "count": 1
          },
          {
            "date": "2020-05-07",
            "count": 1
          },
          {
            "date": "2020-05-10",
            "count": 1
          },
          {
            "date": "2020-05-12",
            "count": 2
          },
          {
            "date": "2020-05-14",
            "count": 1
          },
          {
            "date": "2020-05-19",
            "count": 1
          },
          {
            "date": "2020-05-21",
            "count": 1
          },
          {
            "date": "2020-05-27",
            "count": 1
          },
          {
            "date": "2020-05-28",
            "count": 1
          },
          {
            "date": "2020-06-07",
            "count": 1
          },
          {
            "date": "2020-06-09",
            "count": 1
          },
          {
            "date": "2020-06-10",
            "count": 1
          },
          {
            "date": "2020-06-11",
            "count": 1
          },
          {
            "date": "2020-06-14",
            "count": 1
          },
          {
            "date": "2020-06-19",
            "count": 1
          },
          {
            "date": "2020-06-24",
            "count": 1
          },
          {
            "date": "2020-06-30",
            "count": 1
          },
          {
            "date": "2020-07-06",
            "count": 1
          },
          {
            "date": "2020-07-09",
            "count": 1
          },
          {
            "date": "2020-07-12",
            "count": 1
          },
          {
            "date": "2020-07-14",
            "count": 1
          },
          {
            "date": "2020-07-18",
            "count": 1
          },
          {
            "date": "2020-07-28",
            "count": 1
          },
          {
            "date": "2020-07-30",
            "count": 1
          },
          {
            "date": "2020-08-02",
            "count": 1
          },
          {
            "date": "2020-08-04",
            "count": 1
          },
          {
            "date": "2020-08-05",
            "count": 1
          },
          {
            "date": "2020-08-09",
            "count": 1
          },
          {
            "date": "2020-08-11",
            "count": 2
          },
          {
            "date": "2020-08-14",
            "count": 1
          },
          {
            "date": "2020-08-24",
            "count": 1
          },
          {
            "date": "2020-09-01",
            "count": 1
          },
          {
            "date": "2020-09-07",
            "count": 3
          },
          {
            "date": "2020-09-08",
            "count": 1
          },
          {
            "date": "2020-09-10",
            "count": 1
          },
          {
            "date": "2020-09-12",
            "count": 1
          },
          {
            "date": "2020-09-14",
            "count": 1
          },
          {
            "date": "2020-09-15",
            "count": 1
          },
          {
            "date": "2020-09-18",
            "count": 1
          },
          {
            "date": "2020-09-19",
            "count": 1
          },
          {
            "date": "2020-09-21",
            "count": 1
          },
          {
            "date": "2020-09-23",
            "count": 1
          },
          {
            "date": "2020-09-26",
            "count": 1
          },
          {
            "date": "2020-10-02",
            "count": 1
          },
          {
            "date": "2020-10-03",
            "count": 1
          },
          {
            "date": "2020-10-05",
            "count": 2
          },
          {
            "date": "2020-10-09",
            "count": 1
          },
          {
            "date": "2020-10-13",
            "count": 1
          },
          {
            "date": "2020-10-19",
            "count": 1
          },
          {
            "date": "2020-10-20",
            "count": 1
          },
          {
            "date": "2020-10-26",
            "count": 1
          },
          {
            "date": "2020-11-02",
            "count": 1
          },
          {
            "date": "2020-11-05",
            "count": 1
          },
          {
            "date": "2020-11-09",
            "count": 1
          },
          {
            "date": "2020-11-12",
            "count": 1
          },
          {
            "date": "2020-11-13",
            "count": 1
          },
          {
            "date": "2020-11-16",
            "count": 1
          },
          {
            "date": "2020-11-17",
            "count": 1
          },
          {
            "date": "2020-11-22",
            "count": 1
          },
          {
            "date": "2020-11-23",
            "count": 1
          },
          {
            "date": "2020-11-25",
            "count": 3
          },
          {
            "date": "2020-11-27",
            "count": 1
          },
          {
            "date": "2020-11-29",
            "count": 1
          },
          {
            "date": "2020-12-01",
            "count": 1
          },
          {
            "date": "2020-12-02",
            "count": 1
          },
          {
            "date": "2020-12-07",
            "count": 1
          },
          {
            "date": "2020-12-14",
            "count": 1
          },
          {
            "date": "2020-12-15",
            "count": 1
          },
          {
            "date": "2020-12-24",
            "count": 1
          },
          {
            "date": "2020-12-26",
            "count": 1
          },
          {
            "date": "2020-12-28",
            "count": 1
          },
          {
            "date": "2021-01-02",
            "count": 1
          },
          {
            "date": "2021-01-03",
            "count": 1
          },
          {
            "date": "2021-01-05",
            "count": 1
          },
          {
            "date": "2021-01-14",
            "count": 1
          },
          {
            "date": "2021-01-16",
            "count": 1
          },
          {
            "date": "2021-01-18",
            "count": 1
          },
          {
            "date": "2021-01-19",
            "count": 1
          },
          {
            "date": "2021-01-20",
            "count": 1
          },
          {
            "date": "2021-01-21",
            "count": 1
          },
          {
            "date": "2021-01-22",
            "count": 1
          },
          {
            "date": "2021-01-23",
            "count": 1
          },
          {
            "date": "2021-01-25",
            "count": 1
          },
          {
            "date": "2021-01-28",
            "count": 1
          },
          {
            "date": "2021-02-10",
            "count": 1
          },
          {
            "date": "2021-02-11",
            "count": 1
          },
          {
            "date": "2021-03-12",
            "count": 1
          },
          {
            "date": "2021-03-26",
            "count": 1
          },
          {
            "date": "2021-03-28",
            "count": 1
          },
          {
            "date": "2021-03-30",
            "count": 2
          },
          {
            "date": "2021-03-31",
            "count": 1
          },
          {
            "date": "2021-04-04",
            "count": 1
          },
          {
            "date": "2021-04-08",
            "count": 1
          },
          {
            "date": "2021-04-12",
            "count": 1
          },
          {
            "date": "2021-04-16",
            "count": 1
          },
          {
            "date": "2021-04-19",
            "count": 1
          },
          {
            "date": "2021-04-25",
            "count": 1
          },
          {
            "date": "2021-04-27",
            "count": 1
          },
          {
            "date": "2021-04-28",
            "count": 1
          },
          {
            "date": "2021-04-29",
            "count": 1
          },
          {
            "date": "2021-05-01",
            "count": 1
          },
          {
            "date": "2021-05-06",
            "count": 1
          },
          {
            "date": "2021-05-11",
            "count": 2
          },
          {
            "date": "2021-05-14",
            "count": 1
          },
          {
            "date": "2021-05-19",
            "count": 1
          },
          {
            "date": "2021-05-21",
            "count": 1
          },
          {
            "date": "2021-05-23",
            "count": 2
          },
          {
            "date": "2021-05-30",
            "count": 1
          },
          {
            "date": "2021-05-31",
            "count": 1
          },
          {
            "date": "2021-06-01",
            "count": 1
          },
          {
            "date": "2021-06-04",
            "count": 1
          },
          {
            "date": "2021-06-05",
            "count": 1
          },
          {
            "date": "2021-06-12",
            "count": 1
          },
          {
            "date": "2021-06-22",
            "count": 1
          },
          {
            "date": "2021-06-23",
            "count": 1
          },
          {
            "date": "2021-06-24",
            "count": 1
          },
          {
            "date": "2021-06-25",
            "count": 1
          },
          {
            "date": "2021-06-28",
            "count": 1
          },
          {
            "date": "2021-07-01",
            "count": 1
          },
          {
            "date": "2021-07-06",
            "count": 3
          },
          {
            "date": "2021-07-09",
            "count": 1
          },
          {
            "date": "2021-07-10",
            "count": 1
          },
          {
            "date": "2021-07-12",
            "count": 1
          },
          {
            "date": "2021-07-13",
            "count": 1
          },
          {
            "date": "2021-07-15",
            "count": 2
          },
          {
            "date": "2021-07-23",
            "count": 1
          },
          {
            "date": "2021-08-03",
            "count": 1
          },
          {
            "date": "2021-08-04",
            "count": 1
          },
          {
            "date": "2021-08-16",
            "count": 1
          },
          {
            "date": "2021-08-21",
            "count": 2
          },
          {
            "date": "2021-08-31",
            "count": 1
          },
          {
            "date": "2021-09-02",
            "count": 1
          },
          {
            "date": "2021-09-03",
            "count": 1
          },
          {
            "date": "2021-09-22",
            "count": 1
          },
          {
            "date": "2021-10-01",
            "count": 1
          },
          {
            "date": "2021-10-02",
            "count": 1
          },
          {
            "date": "2021-10-06",
            "count": 2
          },
          {
            "date": "2021-10-08",
            "count": 1
          },
          {
            "date": "2021-10-09",
            "count": 1
          },
          {
            "date": "2021-10-16",
            "count": 1
          },
          {
            "date": "2021-10-20",
            "count": 1
          },
          {
            "date": "2021-10-26",
            "count": 2
          },
          {
            "date": "2021-11-02",
            "count": 1
          },
          {
            "date": "2021-11-03",
            "count": 1
          },
          {
            "date": "2021-11-04",
            "count": 1
          },
          {
            "date": "2021-11-05",
            "count": 1
          },
          {
            "date": "2021-11-09",
            "count": 1
          },
          {
            "date": "2021-11-10",
            "count": 1
          },
          {
            "date": "2021-11-12",
            "count": 1
          },
          {
            "date": "2021-11-14",
            "count": 1
          },
          {
            "date": "2021-11-16",
            "count": 1
          },
          {
            "date": "2021-11-18",
            "count": 2
          },
          {
            "date": "2021-11-22",
            "count": 1
          },
          {
            "date": "2021-11-23",
            "count": 2
          },
          {
            "date": "2021-11-25",
            "count": 1
          },
          {
            "date": "2021-11-26",
            "count": 1
          },
          {
            "date": "2021-11-28",
            "count": 1
          },
          {
            "date": "2021-12-01",
            "count": 1
          },
          {
            "date": "2021-12-10",
            "count": 1
          },
          {
            "date": "2021-12-18",
            "count": 1
          },
          {
            "date": "2021-12-20",
            "count": 1
          },
          {
            "date": "2021-12-24",
            "count": 2
          },
          {
            "date": "2021-12-25",
            "count": 1
          },
          {
            "date": "2021-12-26",
            "count": 1
          },
          {
            "date": "2021-12-28",
            "count": 1
          },
          {
            "date": "2021-12-31",
            "count": 1
          },
          {
            "date": "2022-01-03",
            "count": 1
          },
          {
            "date": "2022-01-05",
            "count": 2
          },
          {
            "date": "2022-01-06",
            "count": 1
          },
          {
            "date": "2022-01-11",
            "count": 1
          },
          {
            "date": "2022-01-14",
            "count": 1
          },
          {
            "date": "2022-01-15",
            "count": 1
          },
          {
            "date": "2022-01-16",
            "count": 1
          },
          {
            "date": "2022-01-22",
            "count": 1
          },
          {
            "date": "2022-01-27",
            "count": 2
          },
          {
            "date": "2022-01-28",
            "count": 1
          },
          {
            "date": "2022-01-30",
            "count": 1
          },
          {
            "date": "2022-02-01",
            "count": 1
          },
          {
            "date": "2022-02-03",
            "count": 1
          },
          {
            "date": "2022-02-09",
            "count": 1
          },
          {
            "date": "2022-02-10",
            "count": 1
          },
          {
            "date": "2022-02-14",
            "count": 1
          },
          {
            "date": "2022-02-15",
            "count": 1
          },
          {
            "date": "2022-02-19",
            "count": 1
          },
          {
            "date": "2022-02-25",
            "count": 1
          },
          {
            "date": "2022-03-01",
            "count": 2
          },
          {
            "date": "2022-03-02",
            "count": 1
          },
          {
            "date": "2022-03-04",
            "count": 1
          },
          {
            "date": "2022-03-05",
            "count": 1
          },
          {
            "date": "2022-03-09",
            "count": 1
          },
          {
            "date": "2022-03-10",
            "count": 1
          },
          {
            "date": "2022-03-15",
            "count": 1
          },
          {
            "date": "2022-03-16",
            "count": 2
          },
          {
            "date": "2022-03-22",
            "count": 1
          },
          {
            "date": "2022-03-25",
            "count": 1
          },
          {
            "date": "2022-03-27",
            "count": 1
          },
          {
            "date": "2022-04-02",
            "count": 2
          },
          {
            "date": "2022-04-04",
            "count": 1
          },
          {
            "date": "2022-04-14",
            "count": 1
          },
          {
            "date": "2022-05-09",
            "count": 1
          },
          {
            "date": "2022-05-14",
            "count": 1
          },
          {
            "date": "2022-05-16",
            "count": 1
          },
          {
            "date": "2022-05-20",
            "count": 1
          },
          {
            "date": "2022-05-21",
            "count": 1
          },
          {
            "date": "2022-05-25",
            "count": 1
          },
          {
            "date": "2022-05-31",
            "count": 2
          },
          {
            "date": "2022-06-02",
            "count": 2
          },
          {
            "date": "2022-06-12",
            "count": 1
          },
          {
            "date": "2022-06-19",
            "count": 1
          },
          {
            "date": "2022-06-25",
            "count": 1
          },
          {
            "date": "2022-06-28",
            "count": 1
          },
          {
            "date": "2022-07-02",
            "count": 1
          },
          {
            "date": "2022-07-05",
            "count": 1
          },
          {
            "date": "2022-07-06",
            "count": 1
          },
          {
            "date": "2022-07-12",
            "count": 2
          },
          {
            "date": "2022-07-14",
            "count": 2
          },
          {
            "date": "2022-07-25",
            "count": 1
          },
          {
            "date": "2022-07-30",
            "count": 1
          },
          {
            "date": "2022-08-01",
            "count": 1
          },
          {
            "date": "2022-08-02",
            "count": 2
          },
          {
            "date": "2022-08-07",
            "count": 1
          },
          {
            "date": "2022-08-08",
            "count": 1
          },
          {
            "date": "2022-08-10",
            "count": 1
          },
          {
            "date": "2022-08-17",
            "count": 1
          },
          {
            "date": "2022-08-19",
            "count": 1
          },
          {
            "date": "2022-08-21",
            "count": 1
          },
          {
            "date": "2022-08-25",
            "count": 1
          },
          {
            "date": "2022-08-26",
            "count": 1
          },
          {
            "date": "2022-08-29",
            "count": 1
          },
          {
            "date": "2022-09-05",
            "count": 1
          },
          {
            "date": "2022-09-11",
            "count": 1
          },
          {
            "date": "2022-09-15",
            "count": 1
          },
          {
            "date": "2022-09-20",
            "count": 1
          },
          {
            "date": "2022-10-03",
            "count": 1
          },
          {
            "date": "2022-10-05",
            "count": 1
          },
          {
            "date": "2022-10-06",
            "count": 1
          },
          {
            "date": "2022-10-12",
            "count": 1
          },
          {
            "date": "2022-10-13",
            "count": 2
          },
          {
            "date": "2022-10-28",
            "count": 1
          },
          {
            "date": "2022-10-31",
            "count": 1
          },
          {
            "date": "2022-11-01",
            "count": 2
          },
          {
            "date": "2022-11-02",
            "count": 1
          },
          {
            "date": "2022-11-07",
            "count": 1
          },
          {
            "date": "2022-11-09",
            "count": 1
          },
          {
            "date": "2022-11-10",
            "count": 1
          },
          {
            "date": "2022-11-20",
            "count": 1
          },
          {
            "date": "2022-11-30",
            "count": 1
          },
          {
            "date": "2022-12-02",
            "count": 1
          },
          {
            "date": "2022-12-03",
            "count": 1
          },
          {
            "date": "2022-12-13",
            "count": 1
          },
          {
            "date": "2022-12-18",
            "count": 1
          },
          {
            "date": "2022-12-25",
            "count": 1
          },
          {
            "date": "2023-01-11",
            "count": 1
          },
          {
            "date": "2023-01-14",
            "count": 1
          },
          {
            "date": "2023-01-17",
            "count": 5
          },
          {
            "date": "2023-01-19",
            "count": 1
          },
          {
            "date": "2023-01-22",
            "count": 1
          },
          {
            "date": "2023-01-24",
            "count": 2
          },
          {
            "date": "2023-01-25",
            "count": 1
          },
          {
            "date": "2023-01-27",
            "count": 1
          },
          {
            "date": "2023-01-28",
            "count": 1
          },
          {
            "date": "2023-02-01",
            "count": 1
          },
          {
            "date": "2023-02-08",
            "count": 1
          },
          {
            "date": "2023-02-19",
            "count": 1
          },
          {
            "date": "2023-02-20",
            "count": 1
          },
          {
            "date": "2023-02-24",
            "count": 2
          },
          {
            "date": "2023-02-27",
            "count": 1
          },
          {
            "date": "2023-03-02",
            "count": 2
          },
          {
            "date": "2023-03-05",
            "count": 1
          },
          {
            "date": "2023-03-17",
            "count": 1
          },
          {
            "date": "2023-03-28",
            "count": 1
          },
          {
            "date": "2023-03-29",
            "count": 1
          },
          {
            "date": "2023-04-01",
            "count": 1
          },
          {
            "date": "2023-04-02",
            "count": 1
          },
          {
            "date": "2023-04-03",
            "count": 1
          },
          {
            "date": "2023-04-10",
            "count": 1
          },
          {
            "date": "2023-04-11",
            "count": 1
          },
          {
            "date": "2023-04-14",
            "count": 1
          },
          {
            "date": "2023-04-26",
            "count": 1
          },
          {
            "date": "2023-04-30",
            "count": 1
          },
          {
            "date": "2023-05-07",
            "count": 2
          },
          {
            "date": "2023-05-18",
            "count": 1
          },
          {
            "date": "2023-05-20",
            "count": 1
          },
          {
            "date": "2023-05-23",
            "count": 1
          },
          {
            "date": "2023-05-26",
            "count": 1
          },
          {
            "date": "2023-05-29",
            "count": 1
          },
          {
            "date": "2023-05-30",
            "count": 1
          },
          {
            "date": "2023-06-07",
            "count": 1
          },
          {
            "date": "2023-06-08",
            "count": 1
          },
          {
            "date": "2023-06-10",
            "count": 1
          },
          {
            "date": "2023-06-12",
            "count": 1
          },
          {
            "date": "2023-06-24",
            "count": 1
          },
          {
            "date": "2023-06-29",
            "count": 1
          },
          {
            "date": "2023-07-03",
            "count": 2
          },
          {
            "date": "2023-07-05",
            "count": 1
          },
          {
            "date": "2023-07-06",
            "count": 1
          },
          {
            "date": "2023-07-20",
            "count": 1
          },
          {
            "date": "2023-07-23",
            "count": 1
          },
          {
            "date": "2023-08-03",
            "count": 1
          },
          {
            "date": "2023-08-24",
            "count": 1
          },
          {
            "date": "2023-08-25",
            "count": 1
          },
          {
            "date": "2023-08-26",
            "count": 1
          },
          {
            "date": "2023-08-28",
            "count": 1
          },
          {
            "date": "2023-08-31",
            "count": 1
          },
          {
            "date": "2023-09-02",
            "count": 1
          },
          {
            "date": "2023-09-04",
            "count": 1
          },
          {
            "date": "2023-09-07",
            "count": 2
          },
          {
            "date": "2023-09-11",
            "count": 1
          },
          {
            "date": "2023-09-28",
            "count": 1
          },
          {
            "date": "2023-09-29",
            "count": 1
          },
          {
            "date": "2023-10-03",
            "count": 1
          },
          {
            "date": "2023-10-04",
            "count": 1
          },
          {
            "date": "2023-10-08",
            "count": 1
          },
          {
            "date": "2023-10-17",
            "count": 1
          },
          {
            "date": "2023-10-20",
            "count": 1
          },
          {
            "date": "2023-10-22",
            "count": 1
          },
          {
            "date": "2023-10-24",
            "count": 1
          },
          {
            "date": "2023-11-01",
            "count": 1
          },
          {
            "date": "2023-11-04",
            "count": 1
          },
          {
            "date": "2023-11-05",
            "count": 1
          },
          {
            "date": "2023-11-09",
            "count": 1
          },
          {
            "date": "2023-11-13",
            "count": 2
          },
          {
            "date": "2023-11-15",
            "count": 1
          },
          {
            "date": "2023-11-20",
            "count": 1
          },
          {
            "date": "2023-11-21",
            "count": 1
          },
          {
            "date": "2023-11-22",
            "count": 1
          },
          {
            "date": "2023-11-24",
            "count": 1
          },
          {
            "date": "2023-11-26",
            "count": 1
          },
          {
            "date": "2023-11-30",
            "count": 1
          },
          {
            "date": "2023-12-05",
            "count": 1
          },
          {
            "date": "2023-12-09",
            "count": 1
          },
          {
            "date": "2023-12-19",
            "count": 1
          },
          {
            "date": "2023-12-27",
            "count": 2
          },
          {
            "date": "2023-12-29",
            "count": 1
          },
          {
            "date": "2024-01-17",
            "count": 1
          },
          {
            "date": "2024-01-19",
            "count": 2
          },
          {
            "date": "2024-01-23",
            "count": 2
          },
          {
            "date": "2024-01-24",
            "count": 1
          },
          {
            "date": "2024-01-29",
            "count": 1
          },
          {
            "date": "2024-02-01",
            "count": 1
          },
          {
            "date": "2024-02-03",
            "count": 2
          },
          {
            "date": "2024-02-14",
            "count": 1
          },
          {
            "date": "2024-02-15",
            "count": 1
          },
          {
            "date": "2024-02-16",
            "count": 1
          },
          {
            "date": "2024-02-22",
            "count": 1
          },
          {
            "date": "2024-02-23",
            "count": 1
          },
          {
            "date": "2024-02-26",
            "count": 1
          },
          {
            "date": "2024-03-09",
            "count": 1
          },
          {
            "date": "2024-03-12",
            "count": 1
          },
          {
            "date": "2024-03-29",
            "count": 2
          },
          {
            "date": "2024-04-03",
            "count": 2
          },
          {
            "date": "2024-04-18",
            "count": 1
          },
          {
            "date": "2024-04-19",
            "count": 1
          },
          {
            "date": "2024-04-23",
            "count": 1
          },
          {
            "date": "2024-05-10",
            "count": 2
          },
          {
            "date": "2024-05-11",
            "count": 1
          },
          {
            "date": "2024-05-13",
            "count": 1
          },
          {
            "date": "2024-05-17",
            "count": 1
          },
          {
            "date": "2024-05-21",
            "count": 1
          },
          {
            "date": "2024-05-23",
            "count": 1
          },
          {
            "date": "2024-05-25",
            "count": 1
          },
          {
            "date": "2024-05-26",
            "count": 1
          },
          {
            "date": "2024-05-30",
            "count": 1
          },
          {
            "date": "2024-05-31",
            "count": 1
          },
          {
            "date": "2024-06-09",
            "count": 2
          },
          {
            "date": "2024-06-10",
            "count": 1
          },
          {
            "date": "2024-06-12",
            "count": 2
          },
          {
            "date": "2024-06-18",
            "count": 1
          },
          {
            "date": "2024-06-20",
            "count": 2
          },
          {
            "date": "2024-06-23",
            "count": 1
          },
          {
            "date": "2024-06-28",
            "count": 1
          },
          {
            "date": "2024-07-02",
            "count": 1
          },
          {
            "date": "2024-07-04",
            "count": 1
          },
          {
            "date": "2024-07-11",
            "count": 1
          },
          {
            "date": "2024-07-23",
            "count": 1
          },
          {
            "date": "2024-07-24",
            "count": 1
          },
          {
            "date": "2024-07-31",
            "count": 1
          },
          {
            "date": "2024-08-23",
            "count": 1
          },
          {
            "date": "2024-08-24",
            "count": 1
          },
          {
            "date": "2024-08-26",
            "count": 1
          },
          {
            "date": "2024-08-28",
            "count": 1
          },
          {
            "date": "2024-08-30",
            "count": 1
          },
          {
            "date": "2024-09-11",
            "count": 2
          },
          {
            "date": "2024-09-14",
            "count": 1
          },
          {
            "date": "2024-09-16",
            "count": 1
          },
          {
            "date": "2024-09-30",
            "count": 1
          },
          {
            "date": "2024-10-02",
            "count": 1
          },
          {
            "date": "2024-10-08",
            "count": 1
          },
          {
            "date": "2024-10-17",
            "count": 1
          },
          {
            "date": "2024-10-19",
            "count": 1
          },
          {
            "date": "2024-10-21",
            "count": 1
          },
          {
            "date": "2024-10-24",
            "count": 1
          },
          {
            "date": "2024-10-28",
            "count": 1
          },
          {
            "date": "2024-11-03",
            "count": 2
          },
          {
            "date": "2024-11-08",
            "count": 1
          },
          {
            "date": "2024-11-10",
            "count": 1
          },
          {
            "date": "2024-11-12",
            "count": 1
          },
          {
            "date": "2024-11-14",
            "count": 1
          },
          {
            "date": "2024-11-20",
            "count": 1
          },
          {
            "date": "2024-11-25",
            "count": 2
          },
          {
            "date": "2024-11-26",
            "count": 2
          },
          {
            "date": "2024-11-29",
            "count": 1
          },
          {
            "date": "2024-11-30",
            "count": 2
          },
          {
            "date": "2024-12-12",
            "count": 1
          },
          {
            "date": "2024-12-14",
            "count": 1
          },
          {
            "date": "2024-12-21",
            "count": 1
          },
          {
            "date": "2024-12-23",
            "count": 1
          },
          {
            "date": "2024-12-25",
            "count": 1
          },
          {
            "date": "2024-12-27",
            "count": 1
          },
          {
            "date": "2025-01-06",
            "count": 1
          },
          {
            "date": "2025-01-07",
            "count": 1
          },
          {
            "date": "2025-01-10",
            "count": 2
          },
          {
            "date": "2025-01-14",
            "count": 1
          },
          {
            "date": "2025-01-17",
            "count": 1
          },
          {
            "date": "2025-01-20",
            "count": 1
          },
          {
            "date": "2025-01-25",
            "count": 1
          },
          {
            "date": "2025-01-26",
            "count": 1
          },
          {
            "date": "2025-01-30",
            "count": 2
          },
          {
            "date": "2025-01-31",
            "count": 1
          },
          {
            "date": "2025-02-05",
            "count": 1
          },
          {
            "date": "2025-02-08",
            "count": 1
          },
          {
            "date": "2025-02-12",
            "count": 2
          },
          {
            "date": "2025-02-17",
            "count": 1
          },
          {
            "date": "2025-02-18",
            "count": 1
          },
          {
            "date": "2025-02-19",
            "count": 1
          },
          {
            "date": "2025-02-27",
            "count": 1
          },
          {
            "date": "2025-03-02",
            "count": 1
          },
          {
            "date": "2025-03-04",
            "count": 1
          },
          {
            "date": "2025-03-05",
            "count": 1
          },
          {
            "date": "2025-03-06",
            "count": 1
          },
          {
            "date": "2025-03-13",
            "count": 1
          },
          {
            "date": "2025-03-15",
            "count": 1
          },
          {
            "date": "2025-03-22",
            "count": 2
          },
          {
            "date": "2025-03-27",
            "count": 1
          },
          {
            "date": "2025-04-06",
            "count": 1
          },
          {
            "date": "2025-04-07",
            "count": 1
          },
          {
            "date": "2025-04-09",
            "count": 2
          },
          {
            "date": "2025-04-10",
            "count": 1
          },
          {
            "date": "2025-04-21",
            "count": 2
          },
          {
            "date": "2025-04-24",
            "count": 1
          },
          {
            "date": "2025-04-25",
            "count": 1
          },
          {
            "date": "2025-04-28",
            "count": 1
          },
          {
            "date": "2025-05-01",
            "count": 1
          },
          {
            "date": "2025-05-09",
            "count": 3
          },
          {
            "date": "2025-05-12",
            "count": 1
          },
          {
            "date": "2025-05-15",
            "count": 1
          },
          {
            "date": "2025-05-16",
            "count": 2
          },
          {
            "date": "2025-05-19",
            "count": 1
          },
          {
            "date": "2025-05-20",
            "count": 1
          },
          {
            "date": "2025-05-24",
            "count": 1
          },
          {
            "date": "2025-05-26",
            "count": 1
          },
          {
            "date": "2025-05-30",
            "count": 1
          },
          {
            "date": "2025-05-31",
            "count": 1
          },
          {
            "date": "2025-06-04",
            "count": 1
          },
          {
            "date": "2025-06-09",
            "count": 1
          },
          {
            "date": "2025-06-11",
            "count": 1
          },
          {
            "date": "2025-06-12",
            "count": 1
          },
          {
            "date": "2025-06-14",
            "count": 1
          },
          {
            "date": "2025-06-15",
            "count": 1
          },
          {
            "date": "2025-06-17",
            "count": 1
          },
          {
            "date": "2025-06-23",
            "count": 1
          },
          {
            "date": "2025-06-30",
            "count": 1
          },
          {
            "date": "2025-07-02",
            "count": 1
          },
          {
            "date": "2025-07-05",
            "count": 1
          },
          {
            "date": "2025-07-09",
            "count": 1
          },
          {
            "date": "2025-07-15",
            "count": 1
          },
          {
            "date": "2025-07-16",
            "count": 1
          },
          {
            "date": "2025-07-18",
            "count": 1
          },
          {
            "date": "2025-08-09",
            "count": 1
          },
          {
            "date": "2025-08-16",
            "count": 1
          },
          {
            "date": "2025-08-28",
            "count": 1
          },
          {
            "date": "2025-09-05",
            "count": 1
          },
          {
            "date": "2025-09-06",
            "count": 1
          },
          {
            "date": "2025-09-07",
            "count": 2
          },
          {
            "date": "2025-09-08",
            "count": 2
          },
          {
            "date": "2025-09-10",
            "count": 1
          },
          {
            "date": "2025-09-12",
            "count": 1
          },
          {
            "date": "2025-09-15",
            "count": 1
          },
          {
            "date": "2025-09-24",
            "count": 1
          },
          {
            "date": "2025-09-27",
            "count": 1
          },
          {
            "date": "2025-09-29",
            "count": 1
          },
          {
            "date": "2025-09-30",
            "count": 1
          },
          {
            "date": "2025-10-16",
            "count": 1
          },
          {
            "date": "2025-10-18",
            "count": 1
          },
          {
            "date": "2025-10-27",
            "count": 1
          },
          {
            "date": "2025-11-02",
            "count": 1
          },
          {
            "date": "2025-11-11",
            "count": 1
          },
          {
            "date": "2025-11-15",
            "count": 1
          },
          {
            "date": "2025-11-20",
            "count": 1
          },
          {
            "date": "2025-11-21",
            "count": 1
          },
          {
            "date": "2025-11-22",
            "count": 1
          },
          {
            "date": "2025-11-23",
            "count": 1
          },
          {
            "date": "2025-11-25",
            "count": 1
          },
          {
            "date": "2025-12-01",
            "count": 1
          },
          {
            "date": "2025-12-03",
            "count": 2
          },
          {
            "date": "2025-12-07",
            "count": 1
          },
          {
            "date": "2025-12-24",
            "count": 1
          },
          {
            "date": "2025-12-26",
            "count": 1
          },
          {
            "date": "2025-12-31",
            "count": 3
          },
          {
            "date": "2026-01-02",
            "count": 1
          },
          {
            "date": "2026-01-03",
            "count": 1
          },
          {
            "date": "2026-01-09",
            "count": 1
          },
          {
            "date": "2026-01-13",
            "count": 1
          },
          {
            "date": "2026-01-18",
            "count": 1
          },
          {
            "date": "2026-01-20",
            "count": 1
          },
          {
            "date": "2026-01-21",
            "count": 1
          },
          {
            "date": "2026-01-24",
            "count": 2
          },
          {
            "date": "2026-01-26",
            "count": 1
          },
          {
            "date": "2026-01-27",
            "count": 1
          },
          {
            "date": "2026-02-04",
            "count": 1
          },
          {
            "date": "2026-02-14",
            "count": 1
          },
          {
            "date": "2026-02-17",
            "count": 1
          },
          {
            "date": "2026-02-19",
            "count": 1
          },
          {
            "date": "2026-02-23",
            "count": 2
          },
          {
            "date": "2026-02-25",
            "count": 1
          },
          {
            "date": "2026-03-01",
            "count": 1
          },
          {
            "date": "2026-03-06",
            "count": 1
          },
          {
            "date": "2026-03-07",
            "count": 1
          },
          {
            "date": "2026-03-09",
            "count": 1
          },
          {
            "date": "2026-03-13",
            "count": 1
          },
          {
            "date": "2026-03-14",
            "count": 1
          },
          {
            "date": "2026-03-15",
            "count": 1
          },
          {
            "date": "2026-03-27",
            "count": 1
          },
          {
            "date": "2026-03-31",
            "count": 1
          },
          {
            "date": "2026-04-02",
            "count": 1
          },
          {
            "date": "2026-04-03",
            "count": 1
          },
          {
            "date": "2026-04-04",
            "count": 1
          },
          {
            "date": "2026-04-05",
            "count": 1
          },
          {
            "date": "2026-04-06",
            "count": 1
          },
          {
            "date": "2026-04-07",
            "count": 1
          },
          {
            "date": "2026-04-12",
            "count": 1
          },
          {
            "date": "2026-04-13",
            "count": 2
          },
          {
            "date": "2026-04-28",
            "count": 1
          },
          {
            "date": "2026-04-30",
            "count": 1
          },
          {
            "date": "2026-05-13",
            "count": 1
          },
          {
            "date": "2026-05-14",
            "count": 1
          },
          {
            "date": "2026-05-15",
            "count": 1
          },
          {
            "date": "2026-05-19",
            "count": 1
          },
          {
            "date": "2026-05-25",
            "count": 1
          },
          {
            "date": "2026-05-26",
            "count": 1
          },
          {
            "date": "2026-05-27",
            "count": 1
          },
          {
            "date": "2026-05-30",
            "count": 1
          },
          {
            "date": "2026-05-31",
            "count": 1
          },
          {
            "date": "2026-06-07",
            "count": 1
          },
          {
            "date": "2026-06-08",
            "count": 1
          },
          {
            "date": "2026-06-11",
            "count": 1
          },
          {
            "date": "2026-06-12",
            "count": 3
          },
          {
            "date": "2026-06-22",
            "count": 1
          },
          {
            "date": "2026-06-27",
            "count": 1
          },
          {
            "date": "2026-07-01",
            "count": 1
          },
          {
            "date": "2026-07-04",
            "count": 2
          },
          {
            "date": "2026-07-05",
            "count": 1
          },
          {
            "date": "2026-07-09",
            "count": 2
          },
          {
            "date": "2026-07-15",
            "count": 2
          },
          {
            "date": "2026-07-20",
            "count": 2
          }
        ],
        "complete": false,
        "collected": 1000,
        "total_forks": 1537
      },
      "star_history": {
        "days": [
          {
            "date": "2024-09-23",
            "count": 1
          },
          {
            "date": "2024-09-24",
            "count": 2
          },
          {
            "date": "2024-09-25",
            "count": 1
          },
          {
            "date": "2024-09-26",
            "count": 1
          },
          {
            "date": "2024-09-29",
            "count": 1
          },
          {
            "date": "2024-09-30",
            "count": 1
          },
          {
            "date": "2024-10-01",
            "count": 3
          },
          {
            "date": "2024-10-02",
            "count": 2
          },
          {
            "date": "2024-10-03",
            "count": 1
          },
          {
            "date": "2024-10-05",
            "count": 2
          },
          {
            "date": "2024-10-07",
            "count": 1
          },
          {
            "date": "2024-10-08",
            "count": 5
          },
          {
            "date": "2024-10-09",
            "count": 3
          },
          {
            "date": "2024-10-10",
            "count": 2
          },
          {
            "date": "2024-10-11",
            "count": 3
          },
          {
            "date": "2024-10-13",
            "count": 2
          },
          {
            "date": "2024-10-15",
            "count": 2
          },
          {
            "date": "2024-10-16",
            "count": 1
          },
          {
            "date": "2024-10-17",
            "count": 3
          },
          {
            "date": "2024-10-18",
            "count": 2
          },
          {
            "date": "2024-10-19",
            "count": 3
          },
          {
            "date": "2024-10-20",
            "count": 2
          },
          {
            "date": "2024-10-21",
            "count": 2
          },
          {
            "date": "2024-10-22",
            "count": 2
          },
          {
            "date": "2024-10-23",
            "count": 1
          },
          {
            "date": "2024-10-24",
            "count": 2
          },
          {
            "date": "2024-10-25",
            "count": 4
          },
          {
            "date": "2024-10-26",
            "count": 1
          },
          {
            "date": "2024-10-27",
            "count": 2
          },
          {
            "date": "2024-10-28",
            "count": 1
          },
          {
            "date": "2024-10-29",
            "count": 3
          },
          {
            "date": "2024-10-30",
            "count": 4
          },
          {
            "date": "2024-10-31",
            "count": 3
          },
          {
            "date": "2024-11-02",
            "count": 1
          },
          {
            "date": "2024-11-03",
            "count": 1
          },
          {
            "date": "2024-11-04",
            "count": 1
          },
          {
            "date": "2024-11-05",
            "count": 4
          },
          {
            "date": "2024-11-06",
            "count": 1
          },
          {
            "date": "2024-11-07",
            "count": 4
          },
          {
            "date": "2024-11-08",
            "count": 1
          },
          {
            "date": "2024-11-09",
            "count": 1
          },
          {
            "date": "2024-11-10",
            "count": 1
          },
          {
            "date": "2024-11-12",
            "count": 2
          },
          {
            "date": "2024-11-14",
            "count": 2
          },
          {
            "date": "2024-11-15",
            "count": 3
          },
          {
            "date": "2024-11-16",
            "count": 3
          },
          {
            "date": "2024-11-17",
            "count": 6
          },
          {
            "date": "2024-11-19",
            "count": 4
          },
          {
            "date": "2024-11-20",
            "count": 2
          },
          {
            "date": "2024-11-21",
            "count": 3
          },
          {
            "date": "2024-11-24",
            "count": 1
          },
          {
            "date": "2024-11-25",
            "count": 3
          },
          {
            "date": "2024-11-26",
            "count": 3
          },
          {
            "date": "2024-11-27",
            "count": 1
          },
          {
            "date": "2024-11-28",
            "count": 2
          },
          {
            "date": "2024-11-29",
            "count": 3
          },
          {
            "date": "2024-11-30",
            "count": 1
          },
          {
            "date": "2024-12-03",
            "count": 4
          },
          {
            "date": "2024-12-04",
            "count": 1
          },
          {
            "date": "2024-12-05",
            "count": 3
          },
          {
            "date": "2024-12-07",
            "count": 1
          },
          {
            "date": "2024-12-08",
            "count": 2
          },
          {
            "date": "2024-12-10",
            "count": 2
          },
          {
            "date": "2024-12-11",
            "count": 1
          },
          {
            "date": "2024-12-12",
            "count": 2
          },
          {
            "date": "2024-12-13",
            "count": 2
          },
          {
            "date": "2024-12-14",
            "count": 3
          },
          {
            "date": "2024-12-16",
            "count": 2
          },
          {
            "date": "2024-12-17",
            "count": 2
          },
          {
            "date": "2024-12-18",
            "count": 3
          },
          {
            "date": "2024-12-19",
            "count": 3
          },
          {
            "date": "2024-12-22",
            "count": 3
          },
          {
            "date": "2024-12-23",
            "count": 3
          },
          {
            "date": "2024-12-24",
            "count": 3
          },
          {
            "date": "2024-12-25",
            "count": 1
          },
          {
            "date": "2024-12-26",
            "count": 1
          },
          {
            "date": "2024-12-27",
            "count": 1
          },
          {
            "date": "2024-12-30",
            "count": 1
          },
          {
            "date": "2025-01-01",
            "count": 2
          },
          {
            "date": "2025-01-02",
            "count": 4
          },
          {
            "date": "2025-01-03",
            "count": 2
          },
          {
            "date": "2025-01-05",
            "count": 1
          },
          {
            "date": "2025-01-07",
            "count": 3
          },
          {
            "date": "2025-01-08",
            "count": 2
          },
          {
            "date": "2025-01-09",
            "count": 3
          },
          {
            "date": "2025-01-10",
            "count": 1
          },
          {
            "date": "2025-01-11",
            "count": 1
          },
          {
            "date": "2025-01-13",
            "count": 1
          },
          {
            "date": "2025-01-14",
            "count": 2
          },
          {
            "date": "2025-01-15",
            "count": 3
          },
          {
            "date": "2025-01-16",
            "count": 3
          },
          {
            "date": "2025-01-18",
            "count": 1
          },
          {
            "date": "2025-01-19",
            "count": 2
          },
          {
            "date": "2025-01-20",
            "count": 2
          },
          {
            "date": "2025-01-22",
            "count": 2
          },
          {
            "date": "2025-01-23",
            "count": 1
          },
          {
            "date": "2025-01-24",
            "count": 3
          },
          {
            "date": "2025-01-25",
            "count": 2
          },
          {
            "date": "2025-01-26",
            "count": 2
          },
          {
            "date": "2025-01-27",
            "count": 3
          },
          {
            "date": "2025-01-28",
            "count": 3
          },
          {
            "date": "2025-01-31",
            "count": 3
          },
          {
            "date": "2025-02-01",
            "count": 1
          },
          {
            "date": "2025-02-04",
            "count": 3
          },
          {
            "date": "2025-02-05",
            "count": 5
          },
          {
            "date": "2025-02-06",
            "count": 2
          },
          {
            "date": "2025-02-07",
            "count": 1
          },
          {
            "date": "2025-02-09",
            "count": 3
          },
          {
            "date": "2025-02-10",
            "count": 3
          },
          {
            "date": "2025-02-12",
            "count": 4
          },
          {
            "date": "2025-02-14",
            "count": 1
          },
          {
            "date": "2025-02-17",
            "count": 2
          },
          {
            "date": "2025-02-18",
            "count": 4
          },
          {
            "date": "2025-02-19",
            "count": 1
          },
          {
            "date": "2025-02-20",
            "count": 1
          },
          {
            "date": "2025-02-21",
            "count": 1
          },
          {
            "date": "2025-02-22",
            "count": 1
          },
          {
            "date": "2025-02-23",
            "count": 5
          },
          {
            "date": "2025-02-25",
            "count": 2
          },
          {
            "date": "2025-02-26",
            "count": 2
          },
          {
            "date": "2025-02-27",
            "count": 1
          },
          {
            "date": "2025-02-28",
            "count": 2
          },
          {
            "date": "2025-03-01",
            "count": 1
          },
          {
            "date": "2025-03-03",
            "count": 2
          },
          {
            "date": "2025-03-04",
            "count": 1
          },
          {
            "date": "2025-03-05",
            "count": 2
          },
          {
            "date": "2025-03-06",
            "count": 3
          },
          {
            "date": "2025-03-07",
            "count": 4
          },
          {
            "date": "2025-03-08",
            "count": 2
          },
          {
            "date": "2025-03-09",
            "count": 3
          },
          {
            "date": "2025-03-10",
            "count": 3
          },
          {
            "date": "2025-03-13",
            "count": 1
          },
          {
            "date": "2025-03-14",
            "count": 1
          },
          {
            "date": "2025-03-15",
            "count": 1
          },
          {
            "date": "2025-03-16",
            "count": 1
          },
          {
            "date": "2025-03-17",
            "count": 1
          },
          {
            "date": "2025-03-18",
            "count": 3
          },
          {
            "date": "2025-03-19",
            "count": 3
          },
          {
            "date": "2025-03-20",
            "count": 1
          },
          {
            "date": "2025-03-21",
            "count": 1
          },
          {
            "date": "2025-03-22",
            "count": 3
          },
          {
            "date": "2025-03-23",
            "count": 4
          },
          {
            "date": "2025-03-24",
            "count": 3
          },
          {
            "date": "2025-03-25",
            "count": 1
          },
          {
            "date": "2025-03-27",
            "count": 1
          },
          {
            "date": "2025-03-28",
            "count": 2
          },
          {
            "date": "2025-03-29",
            "count": 2
          },
          {
            "date": "2025-03-30",
            "count": 2
          },
          {
            "date": "2025-03-31",
            "count": 1
          },
          {
            "date": "2025-04-03",
            "count": 2
          },
          {
            "date": "2025-04-04",
            "count": 3
          },
          {
            "date": "2025-04-05",
            "count": 1
          },
          {
            "date": "2025-04-07",
            "count": 2
          },
          {
            "date": "2025-04-08",
            "count": 2
          },
          {
            "date": "2025-04-10",
            "count": 1
          },
          {
            "date": "2025-04-11",
            "count": 2
          },
          {
            "date": "2025-04-13",
            "count": 1
          },
          {
            "date": "2025-04-15",
            "count": 2
          },
          {
            "date": "2025-04-16",
            "count": 2
          },
          {
            "date": "2025-04-18",
            "count": 2
          },
          {
            "date": "2025-04-19",
            "count": 1
          },
          {
            "date": "2025-04-20",
            "count": 1
          },
          {
            "date": "2025-04-21",
            "count": 2
          },
          {
            "date": "2025-04-22",
            "count": 2
          },
          {
            "date": "2025-04-24",
            "count": 3
          },
          {
            "date": "2025-04-25",
            "count": 3
          },
          {
            "date": "2025-04-27",
            "count": 2
          },
          {
            "date": "2025-04-28",
            "count": 1
          },
          {
            "date": "2025-05-01",
            "count": 3
          },
          {
            "date": "2025-05-02",
            "count": 1
          },
          {
            "date": "2025-05-03",
            "count": 1
          },
          {
            "date": "2025-05-05",
            "count": 1
          },
          {
            "date": "2025-05-06",
            "count": 1
          },
          {
            "date": "2025-05-07",
            "count": 2
          },
          {
            "date": "2025-05-08",
            "count": 2
          },
          {
            "date": "2025-05-09",
            "count": 2
          },
          {
            "date": "2025-05-10",
            "count": 1
          },
          {
            "date": "2025-05-11",
            "count": 2
          },
          {
            "date": "2025-05-12",
            "count": 2
          },
          {
            "date": "2025-05-13",
            "count": 1
          },
          {
            "date": "2025-05-14",
            "count": 1
          },
          {
            "date": "2025-05-15",
            "count": 2
          },
          {
            "date": "2025-05-16",
            "count": 2
          },
          {
            "date": "2025-05-18",
            "count": 1
          },
          {
            "date": "2025-05-19",
            "count": 1
          },
          {
            "date": "2025-05-20",
            "count": 1
          },
          {
            "date": "2025-05-22",
            "count": 4
          },
          {
            "date": "2025-05-25",
            "count": 1
          },
          {
            "date": "2025-05-26",
            "count": 3
          },
          {
            "date": "2025-05-27",
            "count": 2
          },
          {
            "date": "2025-05-28",
            "count": 2
          },
          {
            "date": "2025-05-29",
            "count": 1
          },
          {
            "date": "2025-05-30",
            "count": 2
          },
          {
            "date": "2025-05-31",
            "count": 2
          },
          {
            "date": "2025-06-01",
            "count": 2
          },
          {
            "date": "2025-06-03",
            "count": 1
          },
          {
            "date": "2025-06-04",
            "count": 1
          },
          {
            "date": "2025-06-06",
            "count": 2
          },
          {
            "date": "2025-06-07",
            "count": 1
          },
          {
            "date": "2025-06-08",
            "count": 1
          },
          {
            "date": "2025-06-09",
            "count": 1
          },
          {
            "date": "2025-06-10",
            "count": 1
          },
          {
            "date": "2025-06-11",
            "count": 2
          },
          {
            "date": "2025-06-12",
            "count": 2
          },
          {
            "date": "2025-06-13",
            "count": 1
          },
          {
            "date": "2025-06-15",
            "count": 1
          },
          {
            "date": "2025-06-16",
            "count": 1
          },
          {
            "date": "2025-06-17",
            "count": 2
          },
          {
            "date": "2025-06-18",
            "count": 2
          },
          {
            "date": "2025-06-19",
            "count": 1
          },
          {
            "date": "2025-06-20",
            "count": 2
          },
          {
            "date": "2025-06-21",
            "count": 1
          },
          {
            "date": "2025-06-22",
            "count": 1
          },
          {
            "date": "2025-06-23",
            "count": 2
          },
          {
            "date": "2025-06-24",
            "count": 5
          },
          {
            "date": "2025-06-25",
            "count": 1
          },
          {
            "date": "2025-06-26",
            "count": 1
          },
          {
            "date": "2025-06-27",
            "count": 2
          },
          {
            "date": "2025-06-29",
            "count": 5
          },
          {
            "date": "2025-07-01",
            "count": 2
          },
          {
            "date": "2025-07-03",
            "count": 2
          },
          {
            "date": "2025-07-04",
            "count": 3
          },
          {
            "date": "2025-07-06",
            "count": 1
          },
          {
            "date": "2025-07-07",
            "count": 1
          },
          {
            "date": "2025-07-08",
            "count": 3
          },
          {
            "date": "2025-07-10",
            "count": 1
          },
          {
            "date": "2025-07-11",
            "count": 1
          },
          {
            "date": "2025-07-14",
            "count": 1
          },
          {
            "date": "2025-07-16",
            "count": 2
          },
          {
            "date": "2025-07-17",
            "count": 1
          },
          {
            "date": "2025-07-20",
            "count": 1
          },
          {
            "date": "2025-07-21",
            "count": 1
          },
          {
            "date": "2025-07-22",
            "count": 2
          },
          {
            "date": "2025-07-23",
            "count": 3
          },
          {
            "date": "2025-07-24",
            "count": 3
          },
          {
            "date": "2025-07-26",
            "count": 3
          },
          {
            "date": "2025-07-28",
            "count": 1
          },
          {
            "date": "2025-07-29",
            "count": 2
          },
          {
            "date": "2025-08-01",
            "count": 1
          },
          {
            "date": "2025-08-02",
            "count": 2
          },
          {
            "date": "2025-08-03",
            "count": 2
          },
          {
            "date": "2025-08-04",
            "count": 1
          },
          {
            "date": "2025-08-05",
            "count": 4
          },
          {
            "date": "2025-08-06",
            "count": 2
          },
          {
            "date": "2025-08-07",
            "count": 4
          },
          {
            "date": "2025-08-08",
            "count": 4
          },
          {
            "date": "2025-08-09",
            "count": 2
          },
          {
            "date": "2025-08-10",
            "count": 1
          },
          {
            "date": "2025-08-11",
            "count": 3
          },
          {
            "date": "2025-08-12",
            "count": 3
          },
          {
            "date": "2025-08-13",
            "count": 2
          },
          {
            "date": "2025-08-17",
            "count": 1
          },
          {
            "date": "2025-08-18",
            "count": 3
          },
          {
            "date": "2025-08-19",
            "count": 1
          },
          {
            "date": "2025-08-20",
            "count": 2
          },
          {
            "date": "2025-08-21",
            "count": 2
          },
          {
            "date": "2025-08-22",
            "count": 1
          },
          {
            "date": "2025-08-24",
            "count": 3
          },
          {
            "date": "2025-08-25",
            "count": 1
          },
          {
            "date": "2025-08-27",
            "count": 4
          },
          {
            "date": "2025-08-29",
            "count": 2
          },
          {
            "date": "2025-08-31",
            "count": 2
          },
          {
            "date": "2025-09-01",
            "count": 1
          },
          {
            "date": "2025-09-02",
            "count": 2
          },
          {
            "date": "2025-09-04",
            "count": 1
          },
          {
            "date": "2025-09-05",
            "count": 5
          },
          {
            "date": "2025-09-06",
            "count": 1
          },
          {
            "date": "2025-09-07",
            "count": 3
          },
          {
            "date": "2025-09-08",
            "count": 1
          },
          {
            "date": "2025-09-09",
            "count": 3
          },
          {
            "date": "2025-09-11",
            "count": 4
          },
          {
            "date": "2025-09-12",
            "count": 2
          },
          {
            "date": "2025-09-14",
            "count": 3
          },
          {
            "date": "2025-09-15",
            "count": 1
          },
          {
            "date": "2025-09-16",
            "count": 3
          },
          {
            "date": "2025-09-18",
            "count": 1
          },
          {
            "date": "2025-09-20",
            "count": 1
          },
          {
            "date": "2025-09-21",
            "count": 2
          },
          {
            "date": "2025-09-22",
            "count": 1
          },
          {
            "date": "2025-09-23",
            "count": 1
          },
          {
            "date": "2025-09-24",
            "count": 1
          },
          {
            "date": "2025-09-26",
            "count": 1
          },
          {
            "date": "2025-09-28",
            "count": 1
          },
          {
            "date": "2025-09-29",
            "count": 1
          },
          {
            "date": "2025-09-30",
            "count": 3
          },
          {
            "date": "2025-10-02",
            "count": 4
          },
          {
            "date": "2025-10-03",
            "count": 4
          },
          {
            "date": "2025-10-05",
            "count": 1
          },
          {
            "date": "2025-10-07",
            "count": 1
          },
          {
            "date": "2025-10-08",
            "count": 2
          },
          {
            "date": "2025-10-09",
            "count": 2
          },
          {
            "date": "2025-10-10",
            "count": 1
          },
          {
            "date": "2025-10-13",
            "count": 3
          },
          {
            "date": "2025-10-14",
            "count": 1
          },
          {
            "date": "2025-10-15",
            "count": 3
          },
          {
            "date": "2025-10-17",
            "count": 2
          },
          {
            "date": "2025-10-19",
            "count": 1
          },
          {
            "date": "2025-10-23",
            "count": 2
          },
          {
            "date": "2025-10-26",
            "count": 1
          },
          {
            "date": "2025-10-27",
            "count": 7
          },
          {
            "date": "2025-10-28",
            "count": 1
          },
          {
            "date": "2025-10-29",
            "count": 3
          },
          {
            "date": "2025-10-31",
            "count": 1
          },
          {
            "date": "2025-11-01",
            "count": 2
          },
          {
            "date": "2025-11-02",
            "count": 2
          },
          {
            "date": "2025-11-03",
            "count": 4
          },
          {
            "date": "2025-11-04",
            "count": 3
          },
          {
            "date": "2025-11-05",
            "count": 3
          },
          {
            "date": "2025-11-06",
            "count": 2
          },
          {
            "date": "2025-11-08",
            "count": 2
          },
          {
            "date": "2025-11-09",
            "count": 2
          },
          {
            "date": "2025-11-10",
            "count": 3
          },
          {
            "date": "2025-11-11",
            "count": 2
          },
          {
            "date": "2025-11-12",
            "count": 2
          },
          {
            "date": "2025-11-13",
            "count": 3
          },
          {
            "date": "2025-11-15",
            "count": 2
          },
          {
            "date": "2025-11-16",
            "count": 1
          },
          {
            "date": "2025-11-17",
            "count": 4
          },
          {
            "date": "2025-11-18",
            "count": 2
          },
          {
            "date": "2025-11-19",
            "count": 4
          },
          {
            "date": "2025-11-20",
            "count": 3
          },
          {
            "date": "2025-11-21",
            "count": 4
          },
          {
            "date": "2025-11-22",
            "count": 2
          },
          {
            "date": "2025-11-23",
            "count": 1
          },
          {
            "date": "2025-11-24",
            "count": 1
          },
          {
            "date": "2025-11-25",
            "count": 1
          },
          {
            "date": "2025-11-26",
            "count": 2
          },
          {
            "date": "2025-11-27",
            "count": 3
          },
          {
            "date": "2025-11-28",
            "count": 1
          },
          {
            "date": "2025-11-29",
            "count": 1
          },
          {
            "date": "2025-11-30",
            "count": 1
          },
          {
            "date": "2025-12-01",
            "count": 3
          },
          {
            "date": "2025-12-02",
            "count": 1
          },
          {
            "date": "2025-12-03",
            "count": 2
          },
          {
            "date": "2025-12-05",
            "count": 1
          },
          {
            "date": "2025-12-06",
            "count": 1
          },
          {
            "date": "2025-12-07",
            "count": 1
          },
          {
            "date": "2025-12-08",
            "count": 1
          },
          {
            "date": "2025-12-09",
            "count": 3
          },
          {
            "date": "2025-12-10",
            "count": 4
          },
          {
            "date": "2025-12-11",
            "count": 2
          },
          {
            "date": "2025-12-12",
            "count": 2
          },
          {
            "date": "2025-12-13",
            "count": 1
          },
          {
            "date": "2025-12-14",
            "count": 2
          },
          {
            "date": "2025-12-15",
            "count": 4
          },
          {
            "date": "2025-12-16",
            "count": 5
          },
          {
            "date": "2025-12-17",
            "count": 1
          },
          {
            "date": "2025-12-18",
            "count": 4
          },
          {
            "date": "2025-12-21",
            "count": 1
          },
          {
            "date": "2025-12-22",
            "count": 3
          },
          {
            "date": "2025-12-23",
            "count": 2
          },
          {
            "date": "2025-12-24",
            "count": 1
          },
          {
            "date": "2025-12-25",
            "count": 2
          },
          {
            "date": "2025-12-26",
            "count": 4
          },
          {
            "date": "2025-12-28",
            "count": 1
          },
          {
            "date": "2025-12-30",
            "count": 1
          },
          {
            "date": "2025-12-31",
            "count": 2
          },
          {
            "date": "2026-01-01",
            "count": 2
          },
          {
            "date": "2026-01-02",
            "count": 1
          },
          {
            "date": "2026-01-04",
            "count": 1
          },
          {
            "date": "2026-01-05",
            "count": 3
          },
          {
            "date": "2026-01-06",
            "count": 1
          },
          {
            "date": "2026-01-07",
            "count": 3
          },
          {
            "date": "2026-01-08",
            "count": 2
          },
          {
            "date": "2026-01-09",
            "count": 2
          },
          {
            "date": "2026-01-10",
            "count": 1
          },
          {
            "date": "2026-01-11",
            "count": 1
          },
          {
            "date": "2026-01-13",
            "count": 3
          },
          {
            "date": "2026-01-14",
            "count": 2
          },
          {
            "date": "2026-01-15",
            "count": 1
          },
          {
            "date": "2026-01-19",
            "count": 1
          },
          {
            "date": "2026-01-20",
            "count": 2
          },
          {
            "date": "2026-01-21",
            "count": 2
          },
          {
            "date": "2026-01-22",
            "count": 1
          },
          {
            "date": "2026-01-23",
            "count": 3
          },
          {
            "date": "2026-01-26",
            "count": 2
          },
          {
            "date": "2026-01-27",
            "count": 1
          },
          {
            "date": "2026-01-28",
            "count": 1
          },
          {
            "date": "2026-01-29",
            "count": 3
          },
          {
            "date": "2026-01-30",
            "count": 2
          },
          {
            "date": "2026-01-31",
            "count": 3
          },
          {
            "date": "2026-02-02",
            "count": 2
          },
          {
            "date": "2026-02-03",
            "count": 1
          },
          {
            "date": "2026-02-04",
            "count": 1
          },
          {
            "date": "2026-02-05",
            "count": 3
          },
          {
            "date": "2026-02-06",
            "count": 1
          },
          {
            "date": "2026-02-08",
            "count": 1
          },
          {
            "date": "2026-02-09",
            "count": 1
          },
          {
            "date": "2026-02-12",
            "count": 1
          },
          {
            "date": "2026-02-14",
            "count": 1
          },
          {
            "date": "2026-02-15",
            "count": 2
          },
          {
            "date": "2026-02-16",
            "count": 3
          },
          {
            "date": "2026-02-18",
            "count": 1
          },
          {
            "date": "2026-02-19",
            "count": 1
          },
          {
            "date": "2026-02-20",
            "count": 1
          },
          {
            "date": "2026-02-21",
            "count": 2
          },
          {
            "date": "2026-02-22",
            "count": 1
          },
          {
            "date": "2026-02-23",
            "count": 1
          },
          {
            "date": "2026-02-24",
            "count": 3
          },
          {
            "date": "2026-02-25",
            "count": 1
          },
          {
            "date": "2026-02-26",
            "count": 1
          },
          {
            "date": "2026-02-27",
            "count": 2
          },
          {
            "date": "2026-02-28",
            "count": 2
          },
          {
            "date": "2026-03-01",
            "count": 1
          },
          {
            "date": "2026-03-02",
            "count": 2
          },
          {
            "date": "2026-03-03",
            "count": 2
          },
          {
            "date": "2026-03-04",
            "count": 1
          },
          {
            "date": "2026-03-05",
            "count": 2
          },
          {
            "date": "2026-03-06",
            "count": 1
          },
          {
            "date": "2026-03-08",
            "count": 1
          },
          {
            "date": "2026-03-09",
            "count": 4
          },
          {
            "date": "2026-03-11",
            "count": 1
          },
          {
            "date": "2026-03-12",
            "count": 1
          },
          {
            "date": "2026-03-13",
            "count": 8
          },
          {
            "date": "2026-03-14",
            "count": 4
          },
          {
            "date": "2026-03-15",
            "count": 6
          },
          {
            "date": "2026-03-16",
            "count": 2
          },
          {
            "date": "2026-03-17",
            "count": 1
          },
          {
            "date": "2026-03-19",
            "count": 5
          },
          {
            "date": "2026-03-20",
            "count": 1
          },
          {
            "date": "2026-03-21",
            "count": 1
          },
          {
            "date": "2026-03-23",
            "count": 2
          },
          {
            "date": "2026-03-24",
            "count": 4
          },
          {
            "date": "2026-03-26",
            "count": 2
          },
          {
            "date": "2026-03-27",
            "count": 2
          },
          {
            "date": "2026-03-28",
            "count": 2
          },
          {
            "date": "2026-03-29",
            "count": 4
          },
          {
            "date": "2026-03-30",
            "count": 2
          },
          {
            "date": "2026-03-31",
            "count": 7
          },
          {
            "date": "2026-04-02",
            "count": 3
          },
          {
            "date": "2026-04-03",
            "count": 2
          },
          {
            "date": "2026-04-05",
            "count": 3
          },
          {
            "date": "2026-04-06",
            "count": 1
          },
          {
            "date": "2026-04-07",
            "count": 1
          },
          {
            "date": "2026-04-10",
            "count": 2
          },
          {
            "date": "2026-04-13",
            "count": 3
          },
          {
            "date": "2026-04-14",
            "count": 1
          },
          {
            "date": "2026-04-15",
            "count": 3
          },
          {
            "date": "2026-04-16",
            "count": 2
          },
          {
            "date": "2026-04-17",
            "count": 1
          },
          {
            "date": "2026-04-18",
            "count": 3
          },
          {
            "date": "2026-04-19",
            "count": 1
          },
          {
            "date": "2026-04-20",
            "count": 3
          },
          {
            "date": "2026-04-21",
            "count": 1
          },
          {
            "date": "2026-04-22",
            "count": 1
          },
          {
            "date": "2026-04-26",
            "count": 1
          },
          {
            "date": "2026-04-27",
            "count": 5
          },
          {
            "date": "2026-04-28",
            "count": 4
          },
          {
            "date": "2026-04-29",
            "count": 1
          },
          {
            "date": "2026-04-30",
            "count": 2
          },
          {
            "date": "2026-05-01",
            "count": 3
          },
          {
            "date": "2026-05-03",
            "count": 1
          },
          {
            "date": "2026-05-04",
            "count": 1
          },
          {
            "date": "2026-05-05",
            "count": 1
          },
          {
            "date": "2026-05-09",
            "count": 1
          },
          {
            "date": "2026-05-10",
            "count": 1
          },
          {
            "date": "2026-05-11",
            "count": 1
          },
          {
            "date": "2026-05-12",
            "count": 2
          },
          {
            "date": "2026-05-13",
            "count": 1
          },
          {
            "date": "2026-05-14",
            "count": 2
          },
          {
            "date": "2026-05-18",
            "count": 1
          },
          {
            "date": "2026-05-19",
            "count": 1
          },
          {
            "date": "2026-05-20",
            "count": 1
          },
          {
            "date": "2026-05-21",
            "count": 2
          },
          {
            "date": "2026-05-22",
            "count": 1
          },
          {
            "date": "2026-05-26",
            "count": 1
          },
          {
            "date": "2026-05-27",
            "count": 1
          },
          {
            "date": "2026-05-28",
            "count": 4
          },
          {
            "date": "2026-05-29",
            "count": 2
          },
          {
            "date": "2026-05-30",
            "count": 1
          },
          {
            "date": "2026-06-01",
            "count": 1
          },
          {
            "date": "2026-06-02",
            "count": 1
          },
          {
            "date": "2026-06-03",
            "count": 1
          },
          {
            "date": "2026-06-05",
            "count": 1
          },
          {
            "date": "2026-06-06",
            "count": 1
          },
          {
            "date": "2026-06-07",
            "count": 1
          },
          {
            "date": "2026-06-08",
            "count": 2
          },
          {
            "date": "2026-06-12",
            "count": 3
          },
          {
            "date": "2026-06-14",
            "count": 1
          },
          {
            "date": "2026-06-16",
            "count": 1
          },
          {
            "date": "2026-06-18",
            "count": 1
          },
          {
            "date": "2026-06-19",
            "count": 1
          },
          {
            "date": "2026-06-22",
            "count": 4
          },
          {
            "date": "2026-06-23",
            "count": 1
          },
          {
            "date": "2026-06-24",
            "count": 2
          },
          {
            "date": "2026-06-25",
            "count": 2
          },
          {
            "date": "2026-06-26",
            "count": 1
          },
          {
            "date": "2026-06-28",
            "count": 1
          },
          {
            "date": "2026-06-29",
            "count": 1
          },
          {
            "date": "2026-06-30",
            "count": 1
          },
          {
            "date": "2026-07-01",
            "count": 2
          },
          {
            "date": "2026-07-02",
            "count": 1
          },
          {
            "date": "2026-07-03",
            "count": 2
          },
          {
            "date": "2026-07-04",
            "count": 2
          },
          {
            "date": "2026-07-05",
            "count": 1
          },
          {
            "date": "2026-07-06",
            "count": 1
          },
          {
            "date": "2026-07-07",
            "count": 1
          },
          {
            "date": "2026-07-08",
            "count": 1
          },
          {
            "date": "2026-07-09",
            "count": 5
          },
          {
            "date": "2026-07-10",
            "count": 1
          },
          {
            "date": "2026-07-14",
            "count": 2
          },
          {
            "date": "2026-07-15",
            "count": 1
          },
          {
            "date": "2026-07-16",
            "count": 2
          },
          {
            "date": "2026-07-17",
            "count": 1
          },
          {
            "date": "2026-07-19",
            "count": 2
          },
          {
            "date": "2026-07-21",
            "count": 2
          }
        ],
        "complete": false,
        "collected": 1000,
        "total_stars": 11839
      },
      "open_issues_and_prs": 423
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "example"
      ],
      "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": 47235,
      "source_files_sampled": 154,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "Gemfile"
      ],
      "advisories": {
        "error": "No resolved dependencies carried a version and a supported ecosystem",
        "scope": "repository_graph",
        "source": null,
        "findings": [],
        "collected": false,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 0,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 17,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "rubygems"
      ],
      "dependencies": [
        {
          "name": "base64",
          "manifest": "Gemfile",
          "ecosystem": "rubygems",
          "version_constraint": null
        },
        {
          "name": "liquid-spec",
          "manifest": "Gemfile",
          "ecosystem": "rubygems",
          "version_constraint": null
        },
        {
          "name": "activesupport",
          "manifest": "Gemfile",
          "ecosystem": "rubygems",
          "version_constraint": null
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "activesupport",
            "direct": true,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "base64",
            "direct": true,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "liquid-spec",
            "direct": true,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "benchmark",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "benchmark-ips",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "bigdecimal",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "lru_redux",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "memory_profiler",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "minitest",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "rake",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "rubocop",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "rubocop-performance",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "rubocop-shopify",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "stackprof",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "strscan",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "terminal-table",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "webrick",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 17,
        "direct_count": 3,
        "indirect_count": 14
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 96,
        "merged_prs": 731,
        "open_issues": 327,
        "closed_ratio": 0.652,
        "closed_issues": 613,
        "closed_unmerged_prs": 295
      },
      "bus_factor": 6,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "dylanahsmith",
          "commits": 317,
          "avatar_url": "https://avatars.githubusercontent.com/u/954402?v=4"
        },
        {
          "type": "User",
          "login": "pushrax",
          "commits": 179,
          "avatar_url": "https://avatars.githubusercontent.com/u/984857?v=4"
        },
        {
          "type": "User",
          "login": "fw42",
          "commits": 149,
          "avatar_url": "https://avatars.githubusercontent.com/u/2072686?v=4"
        },
        {
          "type": "User",
          "login": "ggmichaelgo",
          "commits": 124,
          "avatar_url": "https://avatars.githubusercontent.com/u/2475611?v=4"
        },
        {
          "type": "User",
          "login": "trishume",
          "commits": 76,
          "avatar_url": "https://avatars.githubusercontent.com/u/887610?v=4"
        },
        {
          "type": "User",
          "login": "karreiro",
          "commits": 55,
          "avatar_url": "https://avatars.githubusercontent.com/u/1079279?v=4"
        },
        {
          "type": "User",
          "login": "peterzhu2118",
          "commits": 41,
          "avatar_url": "https://avatars.githubusercontent.com/u/15860699?v=4"
        },
        {
          "type": "User",
          "login": "titanous",
          "commits": 40,
          "avatar_url": "https://avatars.githubusercontent.com/u/13026?v=4"
        },
        {
          "type": "User",
          "login": "tobi",
          "commits": 40,
          "avatar_url": "https://avatars.githubusercontent.com/u/347?v=4"
        },
        {
          "type": "User",
          "login": "shopmike",
          "commits": 39,
          "avatar_url": "https://avatars.githubusercontent.com/u/53470248?v=4"
        }
      ],
      "contributors_sampled": 100,
      "top_contributor_share": 0.185
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "cla.yml",
        "liquid.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [
        ".rubocop.yml"
      ],
      "has_editorconfig": false,
      "has_linter_config": true,
      "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": null,
            "reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "17 out of 17 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 9,
            "reason": "Found 17/18 approved changesets -- score normalized to 9",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 39 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "12 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 7,
            "reason": "dependency not pinned by hash detected -- score normalized to 7",
            "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": 9,
            "reason": "security policy file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 10,
            "reason": "0 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "807d45a6b3d4568e64e86b375e3702df2c7c860c",
        "ran_at": "2026-07-21T23:31:44Z",
        "aggregate_score": 7.3,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-20T21:06:51Z",
      "oldest_open_prs": [
        {
          "number": 336,
          "created_at": "2014-04-08T22:35:42Z",
          "last_comment_at": "2021-10-26T03:56:00Z",
          "last_comment_author": "maogongzi"
        },
        {
          "number": 456,
          "created_at": "2014-10-10T12:45:11Z",
          "last_comment_at": "2020-06-07T22:03:56Z",
          "last_comment_author": "stedman"
        },
        {
          "number": 561,
          "created_at": "2015-05-12T18:07:38Z",
          "last_comment_at": "2015-05-17T00:15:19Z",
          "last_comment_author": "dylanahsmith"
        },
        {
          "number": 624,
          "created_at": "2015-07-14T02:44:39Z",
          "last_comment_at": "2016-01-13T20:28:28Z",
          "last_comment_author": "dylanahsmith"
        },
        {
          "number": 644,
          "created_at": "2015-08-20T15:14:51Z",
          "last_comment_at": "2016-01-13T19:42:51Z",
          "last_comment_author": "rickydazla"
        },
        {
          "number": 694,
          "created_at": "2016-02-01T16:47:13Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 750,
          "created_at": "2016-04-25T16:15:38Z",
          "last_comment_at": "2016-04-25T17:50:46Z",
          "last_comment_author": "dylanahsmith"
        },
        {
          "number": 779,
          "created_at": "2016-07-15T18:40:25Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 878,
          "created_at": "2017-03-29T13:19:57Z",
          "last_comment_at": "2018-12-21T20:25:22Z",
          "last_comment_author": "dyspop"
        },
        {
          "number": 916,
          "created_at": "2017-08-09T16:17:18Z",
          "last_comment_at": "2017-08-11T15:28:43Z",
          "last_comment_author": "pushrax"
        },
        {
          "number": 1028,
          "created_at": "2018-09-13T21:17:27Z",
          "last_comment_at": "2023-01-04T01:12:00Z",
          "last_comment_author": "pudiva"
        },
        {
          "number": 1071,
          "created_at": "2019-03-11T22:20:14Z",
          "last_comment_at": "2023-11-06T21:48:21Z",
          "last_comment_author": "gjtorikian"
        },
        {
          "number": 1078,
          "created_at": "2019-03-18T21:39:38Z",
          "last_comment_at": "2019-03-19T10:13:39Z",
          "last_comment_author": "krystof-k"
        },
        {
          "number": 1079,
          "created_at": "2019-03-24T07:37:29Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1084,
          "created_at": "2019-04-01T06:29:35Z",
          "last_comment_at": "2020-11-26T02:26:45Z",
          "last_comment_author": "er1"
        },
        {
          "number": 1124,
          "created_at": "2019-08-08T23:44:26Z",
          "last_comment_at": "2019-09-02T06:36:08Z",
          "last_comment_author": "shopmike"
        },
        {
          "number": 1138,
          "created_at": "2019-08-29T01:41:15Z",
          "last_comment_at": "2019-09-19T16:49:05Z",
          "last_comment_author": "shopmike"
        },
        {
          "number": 1146,
          "created_at": "2019-08-31T14:20:15Z",
          "last_comment_at": "2023-08-31T13:52:27Z",
          "last_comment_author": "bmandl"
        },
        {
          "number": 1155,
          "created_at": "2019-09-16T11:45:45Z",
          "last_comment_at": "2019-09-16T13:26:53Z",
          "last_comment_author": "shopmike"
        },
        {
          "number": 1159,
          "created_at": "2019-09-18T05:03:10Z",
          "last_comment_at": "2019-09-19T17:20:23Z",
          "last_comment_author": "shopmike"
        }
      ],
      "last_merged_pr_at": "2026-06-29T15:41:55Z",
      "ci_last_conclusion": "SKIPPED",
      "oldest_open_issues": [
        {
          "number": 138,
          "created_at": "2012-08-19T05:29:55Z",
          "last_comment_at": "2025-12-17T18:32:45Z",
          "last_comment_author": "evulse"
        },
        {
          "number": 213,
          "created_at": "2013-06-20T14:28:03Z",
          "last_comment_at": "2014-03-24T14:19:11Z",
          "last_comment_author": "fw42"
        },
        {
          "number": 224,
          "created_at": "2013-07-12T14:36:30Z",
          "last_comment_at": "2016-01-31T16:55:56Z",
          "last_comment_author": "pushrax"
        },
        {
          "number": 344,
          "created_at": "2014-04-27T23:30:21Z",
          "last_comment_at": "2014-04-28T18:09:54Z",
          "last_comment_author": "j-h-a"
        },
        {
          "number": 394,
          "created_at": "2014-07-23T22:46:07Z",
          "last_comment_at": "2020-09-04T00:01:31Z",
          "last_comment_author": "samip5"
        },
        {
          "number": 422,
          "created_at": "2014-08-17T19:39:54Z",
          "last_comment_at": "2016-06-20T16:00:38Z",
          "last_comment_author": "amw"
        },
        {
          "number": 507,
          "created_at": "2015-01-09T21:53:15Z",
          "last_comment_at": "2015-07-06T20:06:47Z",
          "last_comment_author": "pushrax"
        },
        {
          "number": 523,
          "created_at": "2015-02-09T07:31:03Z",
          "last_comment_at": "2015-04-15T17:10:18Z",
          "last_comment_author": "tyteen4a03"
        },
        {
          "number": 544,
          "created_at": "2015-03-30T17:14:06Z",
          "last_comment_at": "2015-03-30T17:15:54Z",
          "last_comment_author": "fw42"
        },
        {
          "number": 560,
          "created_at": "2015-05-12T17:11:56Z",
          "last_comment_at": "2023-01-31T23:17:18Z",
          "last_comment_author": "asbjornu"
        },
        {
          "number": 567,
          "created_at": "2015-05-13T22:05:09Z",
          "last_comment_at": "2020-08-11T13:10:26Z",
          "last_comment_author": "hexerei"
        },
        {
          "number": 580,
          "created_at": "2015-05-29T18:29:32Z",
          "last_comment_at": "2018-04-03T09:22:01Z",
          "last_comment_author": "kj"
        },
        {
          "number": 635,
          "created_at": "2015-07-30T21:00:44Z",
          "last_comment_at": "2022-04-19T14:29:48Z",
          "last_comment_author": "dylanahsmith"
        },
        {
          "number": 668,
          "created_at": "2015-11-09T21:09:18Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 671,
          "created_at": "2015-11-18T13:04:33Z",
          "last_comment_at": "2016-01-28T21:29:05Z",
          "last_comment_author": "pushrax"
        },
        {
          "number": 678,
          "created_at": "2015-12-05T12:07:49Z",
          "last_comment_at": "2016-01-06T23:04:01Z",
          "last_comment_author": "parkr"
        },
        {
          "number": 698,
          "created_at": "2016-02-04T17:12:42Z",
          "last_comment_at": "2018-06-26T23:19:07Z",
          "last_comment_author": "Convincible"
        },
        {
          "number": 699,
          "created_at": "2016-02-08T16:05:56Z",
          "last_comment_at": "2020-11-25T12:00:46Z",
          "last_comment_author": "matthijskooijman"
        },
        {
          "number": 701,
          "created_at": "2016-02-15T23:24:55Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 708,
          "created_at": "2016-03-15T11:20:06Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/Shopify/liquid",
    "host": "github.com",
    "name": "liquid",
    "owner": "Shopify"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "good",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 82,
      "inputs": {
        "security": 73,
        "vitality": 82,
        "community": 95,
        "governance": 85,
        "engineering": 76
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "good",
        "name": "Vitality",
        "value": 82,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "good",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "commits_last_year": 137,
              "human_commit_share": 1,
              "days_since_last_push": 16,
              "active_weeks_last_year": 26
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 16 days ago",
                "points": 28.8,
                "status": "partial",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 16
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "26/52 weeks with commits",
                "points": 18,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 26
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "137 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 137
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "12 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "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": 92,
            "inputs": {
              "releases_count": 25,
              "latest_release_tag": "v5.13.0",
              "releases_from_tags": false,
              "days_since_latest_release": 22,
              "mean_days_between_releases": 50.1
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "25 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 25
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 22 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 22
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~50.1 days",
                "points": 19.8,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 50.1
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 16,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 16 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 16
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "excellent",
        "name": "Community & Adoption",
        "value": 95,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "excellent",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "forks": 1537,
              "stars": 11839,
              "watchers": 722,
              "growth_state": "organic",
              "growth_factor_pct": 100
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "11,839 stars",
                "points": 60,
                "status": "met",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 11839
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "1,537 forks",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 1537
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "722 watchers",
                "points": 15,
                "status": "met",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 722
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "excellent",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "excellent",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "packages": [
                "liquid"
              ],
              "dependents": null,
              "ecosystems": "rubygems",
              "total_downloads": 134118752,
              "monthly_downloads": null
            },
            "components": [
              {
                "key": "total_downloads",
                "name": "Total downloads",
                "detail": "134,118,752 downloads all-time across rubygems",
                "points": 80,
                "status": "met",
                "details": [
                  {
                    "code": "downloads_total",
                    "params": {
                      "count": 134118752,
                      "ecosystems": "rubygems"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "excellent",
        "name": "Sustainability & Governance",
        "value": 85,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "excellent",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "bus_factor": 6,
              "contributors_sampled": 100,
              "top_contributor_share": 0.185
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "6 contributor(s) cover half of all commits",
                "points": 48.6,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 6
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 18% of commits",
                "points": 18.3,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 18
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "100 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 39 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 71,
            "inputs": {
              "merged_prs": 731,
              "open_issues": 327,
              "closed_issues": 613,
              "issue_closed_ratio": 0.652,
              "closed_unmerged_prs": 295
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "65% of issues closed",
                "points": 30.5,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 65
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "731/1026 decided PRs merged",
                "points": 27.3,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 731,
                      "decided": 1026
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 17/18 approved changesets -- score normalized to 9",
                "points": 13.5,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "followers": 8334,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "Shopify",
              "public_repos": 1219,
              "account_age_days": 6665
            },
            "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": "8,334 followers of Shopify",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 8334,
                      "login": "Shopify"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "1219 public repos, account ~18 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 1219
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 18
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "liquid"
              ],
              "ecosystems": "rubygems",
              "any_deprecated": false,
              "min_days_since_publish": 22
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on rubygems",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "rubygems"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 22 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 22
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "71 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 71
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "good",
        "name": "Engineering Quality",
        "value": 76,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "good",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 84,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "2 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": ".rubocop.yml",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".rubocop.yml"
                    }
                  }
                ],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "17 out of 17 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 65,
            "inputs": {
              "topics": [],
              "has_wiki": true,
              "homepage": "https://shopify.github.io/liquid/",
              "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": "https://shopify.github.io/liquid/",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "good",
        "name": "Security",
        "value": 73,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "good",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Branch-Protection, Packaging, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "branch_protection",
                    "packaging",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 73,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 15,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 3,
              "scorecard_aggregate": 7.3
            },
            "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": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "17 out of 17 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 17/18 approved changesets -- score normalized to 9",
                "points": 6.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 39 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "12 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 7",
                "points": 3.5,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file detected",
                "points": 4.5,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "0 existing vulnerabilities detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 16
            },
            "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": 43,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "critical",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 21,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.4,
              "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": "40 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 21.3,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 40,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": false,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [],
              "agent_commit_share": 0.09,
              "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": ".rubocop.yml",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".rubocop.yml"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "9 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 9,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "dependency automation configured, none observed in the sampled commits",
                "points": 5,
                "status": "partial",
                "details": [
                  {
                    "code": "dependency_bot_config_only",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 7",
                "points": 7,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "moderate",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "primary_language": "Ruby",
              "largest_source_bytes": 47235,
              "source_files_sampled": 154,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Ruby without a type-check config",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_typecheck_config_language",
                    "params": {
                      "language": "Ruby"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/154 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 154,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "at_risk",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "example"
              ],
              "has_mcp_signal": false,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "example",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "example"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "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": [
    "No resolved dependencies carried a version and a supported ecosystem"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-21T23:32:13.583281Z",
  "schema_version": "0.26.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/s/Shopify/liquid.svg",
  "full_name": "Shopify/liquid",
  "license_state": "standard",
  "license_spdx": "MIT"
}

评分是信号,而非担保。 评分反映的是 GitHub 上公开可见的实践——不是代码审计,也不是安全保证。

缺失数据将被剔除并重新归一化权重,绝不按零分计。方法论已版本化并公开:指标 v1.13.0、模式 v0.26.0—— 完整方法论 · 指标知识库.

单项结果在整体记录中的位置: 汇总统计RubyGems.