Public record
Software health reportschema 0.26.0 · metrics 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 stars⑂ 1,537 forkssince May 2008View on GitHub ↗

Shopify/liquid holds a health index of 82 out of 100, placing it in the Good band. It scores highest on Community & Adoption (95/100) and lowest on AI Readiness (43/100). It was last updated 16 days ago. 6 contributors account for most of its recent work.

82
overall / 100
Good

Software health index

Metrics are grouped into weighted categories on one standardized 1–100 scale. Overall starts as their weighted mean; when public evidence triggers the High-Risk Jurisdiction Policy, the rating is adjusted and receives an At risk ceiling of 49. AI Readiness sits outside the overall score.

82
Excellent85-100Exemplary; meets essentially all checked criteria
Good70-84Healthy; minor gaps
Moderate50-69Acceptable with notable gaps; review recommended
At risk30-49Significant weaknesses; adoption warrants caution
Critical1-29Severe problems (abandoned, single-maintainer, no hygiene)
VitalityCommunity &AdoptionSustainability &GovernanceEngineeringQualitySecurityAI Readiness

Score profile

Each axis is a category. The shape matters more than the average — a healthy subject fills the whole shape, while a spike-and-crater profile means strength in one dimension is masking risk in another.

Ownership

ShopifyOrganization
8,334 followers1,219 public repossince Apr 2008

This repository is backed by an organization — shared, accountable stewardship that can outlive any single maintainer.

Package ecosystems

RegistryPackageVersionDownloads / moVersionsLast publish
RubyGemsliquid5.13.0-7122 days ago

Metrics by category

Vitality

Is the project alive — is code being written and are releases shipping?

82Good · 22% of overall
How it's scored
28.8/36Push recency — last push 16 days ago
18/36Commit cadence — 26/52 weeks with commits
18/18Commit volume — 137 commits in the last year
10/10OpenSSF Scorecard: Maintained — 12 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Inputs used
commits_last_year137
human_commit_share1
days_since_last_push16
active_weeks_last_year26
How it's scored
27/27Ships releases — 25 releases published
36/36Release recency — latest release 22 days ago
19.8/27Release cadence — a release every ~50.1 days
0/10OpenSSF Scorecard: Signed-Releases — no data
Inputs used
releases_count25
latest_release_tagv5.13.0
releases_from_tagsno
days_since_latest_release22
mean_days_between_releases50.1
Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.

Community & Adoption

Does the project have users, downloads, attention, and a welcoming setup for contributors?

95Excellent · 18% of overall
How it's scored
60/60Stars — 11,839 stars
25/25Forks — 1,537 forks
15/15Watchers — 722 watchers
Inputs used
forks1,537
stars11,839
watchers722
growth_stateorganic
growth_factor_pct100

Community health

85Excellent
How it's scored
22.5/22.5README
22.5/22.5License — recognized license (MIT)
18/18CONTRIBUTING guide
13.5/13.5Code of conduct
0/7.2Issue template
0/6.3PR template
Inputs used
has_readmeyes
has_licenseyes
has_contributingyes
has_issue_templateno
has_code_of_conductyes
has_pull_request_templateno
How it's scored
80/80Total downloads — 134,118,752 downloads all-time across rubygems
0/20Registry dependents — not reported by this ecosystem
Inputs used
packagesliquid
dependents
ecosystemsrubygems
total_downloads134,118,752
monthly_downloads
Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.

Sustainability & Governance

Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?

85Excellent · 24% of overall
How it's scored
48.6/54Bus factor — 6 contributor(s) cover half of all commits
18.3/22.5Commit distribution — top contributor authored 18% of commits
13.5/13.5Contributor breadth — 100 contributors
10/10OpenSSF Scorecard: Contributors — project has 39 contributing companies or organizations
Inputs used
bus_factor6
contributors_sampled100
top_contributor_share0.185
How it's scored
30.5/46.8Issue resolution — 65% of issues closed
27.3/38.3PR acceptance — 731/1,026 decided PRs merged
13.5/15OpenSSF Scorecard: Code-Review — Found 17/18 approved changesets -- score normalized to 9
Inputs used
merged_prs731
open_issues327
closed_issues613
issue_closed_ratio0.652
closed_unmerged_prs295
How it's scored
30/30Ownership backing — organization-owned
0/20Verified domain
25/25Owner reach — 8,334 followers of Shopify
25/25Track record — 1,219 public repos, account ~18 yr old
Inputs used
followers8,334
owner_typeOrganization
is_verified
owner_loginShopify
public_repos1,219
account_age_days6,665
How it's scored
25/25Published & resolvable — 1 package(s) on rubygems
35/35Publish recency — latest publish 22 days ago
20/20Version history — 71 published versions
20/20Not deprecated — active, not deprecated or yanked
Inputs used
packagesliquid
ecosystemsrubygems
any_deprecatedno
min_days_since_publish22

Engineering Quality

Are baseline engineering and documentation practices in place?

76Good · 20% of overall
How it's scored
24/24CI workflows — 2 workflow(s)
24/24Tests present
16/16Linter config — .rubocop.yml
0/9.6Pre-commit hooks
0/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 17 out of 17 merged PRs checked by a CI test -- score normalized to 10
Inputs used
has_ciyes
has_testsyes
has_editorconfigno
has_linter_configyes
has_precommit_configno

Documentation

65Moderate
How it's scored
30/30README
0/25Documentation directory
15/15Documentation / homepage site — https://shopify.github.io/liquid/
10/10Repository description
0/10Topics
10/10Wiki
Inputs used
topics
has_wikiyes
homepagehttps://shopify.github.io/liquid/
has_readmeyes
has_docs_dirno
has_descriptionyes

Security

Are visible security and supply-chain practices strong, without unresolved high-risk jurisdiction exposure?

73Good · 16% of overall
How it's scored
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — no data
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.5License — 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 — no data
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 — no data
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Inputs used
sourceopenssf_scorecard
checks_evaluated15
scorecard_versionv5.5.0
checks_inconclusive3
scorecard_aggregate7.3
Excluded from scoring (no data or not applicable): branch_protection, packaging, signed_releases. Remaining weights renormalized.

AI Readiness

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.

43At risk · 0% of overall
How it's scored
0/45Agent instructions — no CLAUDE.md / AGENTS.md / editor rules
0/15Machine-readable docs (llms.txt)
21.3/40Legible commit history — 40 of 100 human commits state their intent (structured subject or explanatory body)
Inputs used
has_llms_txtno
legible_history_share0.4
agent_instruction_files
agent_instruction_max_bytes
How it's scored
0/18One-command bootstrap
22/22Automated tests
11/11Lint / format config — .rubocop.yml
0/11Static type checking
0/10Reproducible environment
10/10Demonstrated agent practice — 9 of the last 100 commits agent-authored or agent-credited
5/8Automated maintenance — dependency automation configured, none observed in the sampled commits
7/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 7
Inputs used
has_nixno
has_testsyes
lockfiles
has_dockerfileno
typed_languageno
bootstrap_files
has_devcontainerno
has_linter_configyes
typecheck_configs
agent_commit_share0.09
toolchain_manifests
dependency_bot_commit_share0
How it's scored
0/45Type-checkable code — Ruby without a type-check config
55/55Manageable file sizes — 0/154 source files over 60KB
Inputs used
primary_languageRuby
largest_source_bytes47,235
source_files_sampled154
oversized_source_files0
How it's scored
0/40API schema (OpenAPI/GraphQL/proto)
0/20MCP server
40/40Runnable examples — example
Inputs used
example_dirsexample
has_mcp_signalno
api_schema_files

Key facts

11,839GitHub stars
100contributors
137commits, last 12 months
16days since last push
25releases
6bus factor
327open issues
RubyGemspackage ecosystems

Data collection warnings

  • No resolved dependencies carried a version and a supported ecosystem

More detail

Star and fork history 11,839 ★ / 1,537 ⇿
11,839Stars
1,537Forks
25Releases

When each star and fork was added, collected from GitHub and bucketed by day. Cumulative growth sits directly above the daily additions it is made of, so the two read against each other: steady organic accretion looks nothing like an abrupt, short-lived burst. Where that difference is measurable, it is reported as growth authenticity.

Only the most recent history is shown — this repository exceeds the collection window, so the earliest history is not captured.

02,0004,0006,0008,00010,00012,00011,8391,537232016-112021-092026-07
Major 0Minor 9Patch 15

Each point covers 9 days.

OpenSSF Scorecard 7.3 / 10
7.3aggregate

Independent, tool-agnostic security assessment from the open-source OpenSSF Scorecard. Each check rewards a security practice, not a specific vendor's tool. Checks Scorecard could not determine are marked n/a and excluded from the security score (never counted as zero).Scorecard v5.5.0 · 2026-07-21 23:31 UTC

10Binary-Artifactsno binaries found in the repo
n/aBranch-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
n/aPackagingpackaging 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
n/aSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
10Vulnerabilities0 existing vulnerabilities detected
Direct dependencies 3
RegistryPackageVersion constraintManifest
RubyGemsbase64Gemfile
RubyGemsliquid-specGemfile
RubyGemsactivesupportGemfile
All dependencies 17

Full resolved dependency set from the GitHub dependency graph: 3 direct and 14 indirect (transitive) packages. The transitive closure is complete when the repository commits a lockfile.

RegistryPackageVersionRelation
RubyGemsactivesupportdirect
RubyGemsbase64direct
RubyGemsliquid-specdirect
RubyGemsbenchmarkindirect
RubyGemsbenchmark-ipsindirect
RubyGemsbigdecimalindirect
RubyGemslru_reduxindirect
RubyGemsmemory_profilerindirect
RubyGemsminitestindirect
RubyGemsrakeindirect
RubyGemsrubocopindirect
RubyGemsrubocop-performanceindirect
RubyGemsrubocop-shopifyindirect
RubyGemsstackprofindirect
RubyGemsstrscanindirect
RubyGemsterminal-tableindirect
RubyGemswebrickindirect
Dependency advisories not assessed

Advisory matching could not run for this report: No resolved dependencies carried a version and a supported ecosystem

Raw JSON report machine-readable
{
  "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"
}

Scores are signals, not warranties. They reflect publicly visible practices on GitHub — not a code audit, and not a security guarantee.

Missing data is excluded and weights renormalized, never scored as zero. Methodology is versioned and open: metrics v1.13.0, schema v0.26.0 — full methodology · metrics wiki.

How one result sits in the wider record: aggregate statisticsRubyGems.