Публічний реєстр
Звіт про здоров'я програмного забезпеченнясхема 0.25.0 · метрики 1.13.0 · 2026-07-21 21:53 UTC

sqshq / piggymetrics

Microservice Architecture with Spring Boot, Spring Cloud and Docker

Java · CSS · JavaScriptMIT★ 13 942 зірки⑂ 6 406 форківз бер. 2015 р.Переглянути на GitHub ↗

sqshq/piggymetrics має індекс здоров’я 25 зі 100, що відповідає смузі «Критичний». Найвищий показник — Community & Adoption (77/100), найнижчий — Vitality (25/100). Останнє оновлення було 795 днів тому. Більшість нещодавньої роботи виконує один учасник.

25
загалом / 100
Критичний

Індекс здоров'я програмного забезпечення

Метрики згруповано у зважені категорії на шкалі 1–100. Загальна оцінка починається як їхнє середнє; коли публічні дані активують Політику юрисдикцій високого ризику, рейтинг коригується й отримує верхню межу 49 («Під ризиком»). Готовність до ШІ не входить до індексу.

25
Відмінний85-100Зразковий; відповідає практично всім перевіреним критеріям
Добрий70-84Здоровий; незначні прогалини
Помірний50-69Прийнятний, але з помітними прогалинами; рекомендовано перевірку
У зоні ризику30-49Суттєві слабкі місця; впровадження потребує обережності
Критичний1-29Серйозні проблеми (покинутий, єдиний мейнтейнер, без базової гігієни)
ЖиттєздатністьСпільнота тавпровадженняСталість таврядуванняІнженернаякістьБезпекаГотовність доШІ

Профіль оцінок

Кожна вісь — окрема категорія. Форма важить більше, ніж середнє: здоровий об'єкт заповнює всю фігуру, тоді як профіль із піками та провалами означає, що сила в одному вимірі маскує ризик в іншому.

Abandonment Policy applies a 60% multiplier to weighted overall health and gives it a ceiling of 49.

Власність

Alexander LukyanchikovОсобистий обліковий запис
1 089 підписників33 публічні репозиторіїз лист. 2013 р.

Цей репозиторій належить особистому обліковому запису. Проєкт з єдиним власником несе більший ризик безперервності, ніж підтримуваний організацією.

Метрики за категоріями

Життєздатність

Чи живий проєкт — чи пишеться код і чи виходять релізи?

25Критичний · 22% загального індексу
Як обчислюється оцінка
0/36Свіжість push — останній push 795 дн. тому
0/36Ритм комітів — 0/52 тижнів із комітами
0/18Обсяг комітів — 0 комітів за останній рік
0/10OpenSSF Scorecard: Maintained — 0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Використані вхідні дані
commits_last_year0
human_commit_share1
days_since_last_push795
active_weeks_last_year0
Як обчислюється оцінка
27/27Випускає релізи — опубліковано 2 релізів
0/36Свіжість релізів — останній реліз 2 921 дн. тому
27/27Ритм релізів — реліз кожні ~0 дн.
0/10OpenSSF Scorecard: Signed-Releases — немає даних
Використані вхідні дані
releases_count2
latest_release_tagspring.version.2.0.3
releases_from_tagsні
days_since_latest_release2 921
mean_days_between_releases0
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: Signed-Releases. Залишкові ваги перенормовано.

Спільнота та впровадження

Чи має проєкт користувачів, завантаження, увагу та влаштовані умови для контриб’юторів?

77Добрий · 18% загального індексу
Як обчислюється оцінка
60/60Зірки — 13 942 зірок
25/25Форки — 6 406 форків
15/15Спостерігачі — 804 спостерігачів
Використані вхідні дані
forks6 406
stars13 942
watchers804
growth_stateorganic
growth_factor_pct100
Як обчислюється оцінка
22.5/22.5README
22.5/22.5Ліцензія — визнана ліцензія (MIT)
0/18Настанови CONTRIBUTING
0/13.5Кодекс поведінки
0/7.2Шаблон issue
0/6.3Шаблон PR
Використані вхідні дані
has_readmeтак
has_licenseтак
has_contributingні
has_issue_templateні
has_code_of_conductні
has_pull_request_templateні

Сталість та врядування

Чи переживе проєкт своїх людей — бас-фактор, реактивність, хто за ним стоїть і як супроводжуються пакети?

45У зоні ризику · 24% загального індексу
Як обчислюється оцінка
9/54Бас-фактор — на 1 контриб’ютор(ів) припадає половина всіх комітів
4.5/22.5Розподіл комітів — головний контриб’ютор — автор 80% комітів
13.5/13.5Широта контриб’юторів — 12 контриб’юторів
0/10OpenSSF Scorecard: Contributors — project has 0 contributing companies or organizations -- score normalized to 0
Використані вхідні дані
bus_factor1
contributors_sampled12
top_contributor_share0,799
Як обчислюється оцінка
0/46.8Вирішення issue — немає issue або даних
16.2/38.3Прийняття PR — злито 22/52 вирішених PR
6/15OpenSSF Scorecard: Code-Review — Found 8/19 approved changesets -- score normalized to 4
Використані вхідні дані
merged_prs22
open_issues0
closed_issues0
issue_closed_ratio
closed_unmerged_prs30
Виключено з оцінювання (немає даних або не застосовно): Вирішення issue. Залишкові ваги перенормовано.
Як обчислюється оцінка
10/30Підтримка власника — особистий (користувацький) обліковий запис
0/20Верифікований домен — не застосовно до користувацьких облікових записів
21.8/25Охоплення власника — 1 089 підписників у sqshq
23.2/25Послужний список — 33 публічних репозиторіїв, вік облікового запису ~12 р.
Використані вхідні дані
followers1 089
owner_typeUser
is_verified
owner_loginsqshq
public_repos33
account_age_days4 617
Виключено з оцінювання (немає даних або не застосовно): Верифікований домен. Залишкові ваги перенормовано.

Інженерна якість

Чи наявні базові інженерні практики та документація?

34У зоні ризику · 20% загального індексу
Як обчислюється оцінка
0/24Процеси CI
24/24Наявні тести
0/16Конфігурація лінтера
0/9.6Pre-commit-хуки
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — 0 out of 8 merged PRs checked by a CI test -- score normalized to 0
Використані вхідні дані
has_ciні
has_testsтак
has_editorconfigні
has_linter_configні
has_precommit_configні

Документація

50Помірний
Як обчислюється оцінка
30/30README
0/25Каталог документації
0/15Сайт документації / домашня сторінка
10/10Опис репозиторію
10/10Теми — 5 тем
0/10Wiki
Використані вхідні дані
topicsspring-boot, spring-cloud, microservices, docker, microservice
has_wikiні
homepage
has_readmeтак
has_docs_dirні
has_descriptionтак

Безпека

Чи міцні видимі практики безпеки й ланцюга постачання, без непослабленої пов’язаності з юрисдикціями високого ризику?

33У зоні ризику · 16% загального індексу

Стан безпеки

23Критичний
Як обчислюється оцінка
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
0/2.5CI-Tests — 0 out of 8 merged PRs checked by a CI test -- score normalized to 0
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
3/7.5Code-Review — Found 8/19 approved changesets -- score normalized to 4
0/2.5Contributors — project has 0 contributing companies or organizations -- score normalized to 0
0/10Dangerous-Workflow — немає даних
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Ліцензія — license file detected
0/7.5Maintained — 0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
0/5Packaging — немає даних
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — немає даних
0/7.5Token-Permissions — немає даних
4.5/7.5Vulnerabilities — 4 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated14
scorecard_versionv5.5.0
checks_inconclusive4
scorecard_aggregate2,3
Виключено з оцінювання (немає даних або не застосовно): dangerous_workflow, packaging, signed_releases, token_permissions. Залишкові ваги перенормовано.
Як обчислюється оцінка
18.5/35Прямі залежності без відомих сповіщень — уражено 1: com.google.guava:guava 19.0 (moderate 5.9)
0/25Непрямі залежності без відомих сповіщень — транзитивний набір не відокремлюється від залежностей розробки й тестування в цьому обсязі
34.9/40Немає задавнених сповіщень — 1 пакет(ів) зі сповіщеннями без реакції понад 90 дн.; найдавніше опубліковано 2 227 дн. тому
Використані вхідні дані
sourceosv
advisories4
affected_packages2
assessed_packages5
unassessed_packages22
affected_by_severitymoderate 2
direct_affected_packages1
Виключено з оцінювання (немає даних або не застосовно): Непрямі залежності без відомих сповіщень. Залишкові ваги перенормовано. Звірено 5 резолвлених залежностей із OSV. 22 не вдалося оцінити — немає резолвленої версії, непідтримувана екосистема або поза межами звітованого переліку пакетів. Цей репозиторій не публікує пакета, який резолвить індекс, тож натомість оцінено граф залежностей репозиторію. Цей граф змішує закріплені версії для розробки й тестування зі справді постачаними залежностями, тож оцінюються лише задекларовані runtime-залежності; транзитивні знахідки подаються як контекст і в оцінку не входять. Досяжність не аналізується.

Готовність до ШІ

Наскільки репозиторій оснащений для розробки та супроводу за участі ШІ-агентів? Незалежний, експериментальний бейдж — вага 0.0, тож він подається окремо і не впливає на загальний індекс здоров'я.

48У зоні ризику · 0% загального індексу
Як обчислюється оцінка
0/45Інструкції для агентів — немає CLAUDE.md / AGENTS.md / правил редактора
0/15Машиночитана документація (llms.txt)
13.3/40Читабельна історія комітів — намір зазначено у 25 з 100 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share0,25
agent_instruction_files
agent_instruction_max_bytes
Як обчислюється оцінка
12.6/18Розгортання однією командою — account-service/pom.xml, auth-service/pom.xml, config/pom.xml (домовленість інструментарію, без раннера задач)
22/22Автоматизовані тести
0/11Конфігурація лінтера / форматера
11/11Статична перевірка типів — Java (статично типізована)
10/10Відтворюване середовище — Dockerfile
0/10Підтверджена практика роботи з агентами — серед останніх 100 комітів немає створених агентом
0/8Автоматизоване супроводження — автоматичних оновлень залежностей не виявлено
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Використані вхідні дані
has_nixні
has_testsтак
lockfiles
has_dockerfileтак
typed_languageтак
bootstrap_files
has_devcontainerні
has_linter_configні
typecheck_configs
agent_commit_share0
toolchain_manifestsaccount-service/pom.xml, auth-service/pom.xml, config/pom.xml, gateway/pom.xml, monitoring/pom.xml, notification-service/pom.xml, pom.xml, registry/pom.xml, statistics-service/pom.xml, turbine-stream-service/pom.xml
dependency_bot_commit_share0
Як обчислюється оцінка
45/45Типізований код — Java (статично типізована)
54/55Керовані розміри файлів — 2/105 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languageJava
largest_source_bytes93 434
source_files_sampled105
oversized_source_files2

Ключові факти

13 942зірок GitHub
12контриб'юторів
0комітів за останні 12 місяців
795днів від останнього пушу
2релізів
1бас-фактор
0відкритих issue
Mavenпакетних екосистем

Попередження щодо збору даних

  • Could not fetch maven package 'com.piggymetrics:config' from its registry
  • Could not fetch maven package 'com.piggymetrics:gateway' from its registry
  • Could not fetch maven package 'com.piggymetrics:registry' from its registry
  • Could not fetch maven package 'com.piggymetrics:monitoring' from its registry
  • Could not fetch maven package 'com.piggymetrics:auth-service' from its registry
  • Could not fetch maven package 'com.piggymetrics:account-service' from its registry
  • Could not fetch maven package 'com.piggymetrics:statistics-service' from its registry
  • Could not fetch maven package 'com.piggymetrics:notification-service' from its registry

Докладніше

Історія зірок і форків 13 942 ★ / 6 406 ⇿
13 942Зірки
6 406Форки

Коли додано кожну зірку й форк — зібрано з GitHub і згруповано за днями. Кумулятивне зростання розміщено просто над денними додаваннями, з яких воно складається, тож їх видно одне проти одного: рівномірне органічне накопичення виглядає зовсім інакше, ніж різкий короткочасний сплеск. Там, де цю різницю можна виміряти, її подано як автентичність росту.

Показано лише найновішу історію — цей репозиторій перевищує вікно збору, тож найраніша історія не захоплена.

4 0006 0008 00010 00012 00014 00013 9426 406172022-092024-082026-07

Кожна точка охоплює 4 днів.

OpenSSF Scorecard 2.3 / 10
2.3сукупно

Незалежна, не прив'язана до інструментів оцінка безпеки від відкритого проєкту OpenSSF Scorecard. Кожна перевірка винагороджує практику безпеки, а не інструмент конкретного постачальника. Перевірки, які Scorecard не зміг визначити, позначено н/д і виключено з оцінки безпеки (вони ніколи не зараховуються як нуль).Scorecard v5.5.0 · 2026-07-21 21:53 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
0CI-Tests0 out of 8 merged PRs checked by a CI test -- score normalized to 0
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
4Code-ReviewFound 8/19 approved changesets -- score normalized to 4
0Contributorsproject has 0 contributing companies or organizations -- score normalized to 0
н/дDangerous-Workflowno workflows found
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
0Maintained0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
н/дPackagingpackaging workflow not detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
н/дSigned-Releasesno releases found
н/дToken-PermissionsNo tokens found
6Vulnerabilities4 existing vulnerabilities detected
Прямі залежності 59
РеєстрПакетОбмеження версіїМаніфест
Mavenorg.springframework.cloud:spring-cloud-starter-oauth2account-service/pom.xml
Mavenorg.springframework.boot:spring-boot-starter-securityaccount-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-configaccount-service/pom.xml
Mavenorg.springframework.boot:spring-boot-starter-webaccount-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-openfeignaccount-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-netflix-eureka-clientaccount-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-sleuthaccount-service/pom.xml
Mavenorg.springframework.boot:spring-boot-starter-data-mongodbaccount-service/pom.xml
Mavenorg.springframework.boot:spring-boot-starter-actuatoraccount-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-bus-amqpaccount-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-netflix-hystrixaccount-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-netflix-hystrix-streamaccount-service/pom.xml
Mavenorg.springframework.boot:spring-boot-starter-data-mongodbauth-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-configauth-service/pom.xml
Mavenorg.springframework.boot:spring-boot-starter-securityauth-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-oauth2auth-service/pom.xml
Mavenorg.springframework.boot:spring-boot-starter-webauth-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-netflix-eureka-clientauth-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-sleuthauth-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-config-serverconfig/pom.xml
Mavenorg.springframework.boot:spring-boot-starter-securityconfig/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-netflix-zuulgateway/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-configgateway/pom.xml
Mavenorg.springframework.cloud:spring-cloud-startergateway/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-netflix-eureka-clientgateway/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-sleuthgateway/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-configmonitoring/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-netflix-hystrix-dashboardmonitoring/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-oauth2notification-service/pom.xml
Mavenorg.springframework.boot:spring-boot-starter-securitynotification-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-confignotification-service/pom.xml
Mavenorg.springframework.boot:spring-boot-starter-webnotification-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-openfeignnotification-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-netflix-eureka-clientnotification-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-sleuthnotification-service/pom.xml
Mavenorg.springframework.boot:spring-boot-starter-data-mongodbnotification-service/pom.xml
Mavenorg.springframework.boot:spring-boot-starter-actuatornotification-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-bus-amqpnotification-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-netflix-hystrix-streamnotification-service/pom.xml
Mavenorg.springframework.boot:spring-boot-starter-mailnotification-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-dependencies${spring-cloud.version}pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-netflix-eureka-serverregistry/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-configregistry/pom.xml
Mavenorg.springframework.boot:spring-boot-starter-securitystatistics-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-configstatistics-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-oauth2statistics-service/pom.xml
Mavenorg.springframework.boot:spring-boot-starter-webstatistics-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-openfeignstatistics-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-netflix-eureka-clientstatistics-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-sleuthstatistics-service/pom.xml
Mavenorg.springframework.boot:spring-boot-starter-data-mongodbstatistics-service/pom.xml
Mavenorg.springframework.boot:spring-boot-starter-actuatorstatistics-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-bus-amqpstatistics-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-netflix-hystrix-streamstatistics-service/pom.xml
Mavencom.google.guava:guava19.0statistics-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-configturbine-stream-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-netflix-eureka-clientturbine-stream-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-netflix-turbine-streamturbine-stream-service/pom.xml
Mavenorg.springframework.cloud:spring-cloud-starter-stream-rabbitturbine-stream-service/pom.xml
Усі залежності 27

Повний розв'язаний набір залежностей із графа залежностей GitHub: 22 прямих і 5 непрямих (транзитивних) пакетів. Транзитивне замикання є повним, коли в репозиторії закомічено lockfile.

РеєстрПакетВерсіяЗв'язок
Mavencom.google.guava:guava19.0пряма
Mavenorg.springframework.boot:spring-boot-starter-actuatorпряма
Mavenorg.springframework.boot:spring-boot-starter-data-mongodbпряма
Mavenorg.springframework.boot:spring-boot-starter-mailпряма
Mavenorg.springframework.boot:spring-boot-starter-securityпряма
Mavenorg.springframework.boot:spring-boot-starter-webпряма
Mavenorg.springframework.cloud:spring-cloud-config-serverпряма
Mavenorg.springframework.cloud:spring-cloud-dependenciesFinchley.RELEASEпряма
Mavenorg.springframework.cloud:spring-cloud-netflix-hystrix-streamпряма
Mavenorg.springframework.cloud:spring-cloud-starterпряма
Mavenorg.springframework.cloud:spring-cloud-starter-bus-amqpпряма
Mavenorg.springframework.cloud:spring-cloud-starter-configпряма
Mavenorg.springframework.cloud:spring-cloud-starter-netflix-eureka-clientпряма
Mavenorg.springframework.cloud:spring-cloud-starter-netflix-eureka-serverпряма
Mavenorg.springframework.cloud:spring-cloud-starter-netflix-hystrixпряма
Mavenorg.springframework.cloud:spring-cloud-starter-netflix-hystrix-dashboardпряма
Mavenorg.springframework.cloud:spring-cloud-starter-netflix-turbine-streamпряма
Mavenorg.springframework.cloud:spring-cloud-starter-netflix-zuulпряма
Mavenorg.springframework.cloud:spring-cloud-starter-oauth2пряма
Mavenorg.springframework.cloud:spring-cloud-starter-openfeignпряма
Mavenorg.springframework.cloud:spring-cloud-starter-sleuthпряма
Mavenorg.springframework.cloud:spring-cloud-starter-stream-rabbitпряма
Mavencom.jayway.jsonpath:json-path2.2.0непряма
Mavende.flapdoodle.embed:de.flapdoodle.embed.mongo1.50.3непряма
Mavenorg.jacoco:jacoco-maven-plugin0.7.6.201602180812непряма
Mavenorg.springframework.boot:spring-boot-maven-pluginнепряма
Mavenorg.springframework.boot:spring-boot-starter-testнепряма
Сповіщення про залежності 2

Цей репозиторій не публікує пакета, який розпізнає індекс, тож оцінено його власний граф залежностей — 5 пакетів, серед яких є й піниї розробки та тестування, що ніколи не постачаються: 2 мають відомі сповіщення, з них 1 прямі. 22 не вдалося оцінити — немає резолвленої версії, непідтримувана екосистема або поза наведеним переліком пакетів.

ПакетВерсіяЗв'язокКритичністьСповіщеньВиправлено в
com.google.guava:guava19.0прямапомірна332.0.0-android
com.jayway.jsonpath:json-path2.2.0непрямапомірна12.9.0

Сповіщення означає, що версія, записана в графі залежностей, потрапляє в уражений діапазон. Досяжність не аналізується, а граф містить піниї розробки й тестування — знахідка може стосуватися інструментів, а не поставленого коду.

Звіт у форматі JSON машиночитний
{
  "data": {
    "repo": {
      "topics": [
        "spring-boot",
        "spring-cloud",
        "microservices",
        "docker",
        "microservice"
      ],
      "is_fork": false,
      "size_kb": 1512,
      "has_wiki": false,
      "homepage": null,
      "languages": {
        "CSS": 88825,
        "HTML": 33611,
        "Java": 133754,
        "Shell": 1016,
        "Dockerfile": 2123,
        "JavaScript": 63426
      },
      "pushed_at": "2024-05-17T09:38:48Z",
      "created_at": "2015-03-29T17:56:31Z",
      "owner_type": "User",
      "updated_at": "2026-07-21T16:47:17Z",
      "description": "Microservice Architecture with Spring Boot, Spring Cloud and Docker",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "master",
      "license_spdx_raw": "MIT",
      "primary_language": "Java",
      "significant_languages": [
        "Java",
        "CSS",
        "JavaScript",
        "HTML"
      ]
    },
    "owner": {
      "blog": "linkedin.com/in/sqshq",
      "name": "Alexander Lukyanchikov",
      "type": "User",
      "login": "sqshq",
      "company": null,
      "location": "San Francisco Bay Area",
      "followers": 1089,
      "avatar_url": "https://avatars.githubusercontent.com/u/6069066?v=4",
      "created_at": "2013-11-29T19:59:03Z",
      "is_verified": null,
      "public_repos": 33,
      "account_age_days": 4617
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "spring.version.2.0.3",
          "kind": "other",
          "published_at": "2018-07-22T21:22:08Z"
        },
        {
          "tag": "spring.version.1.3.5",
          "kind": "other",
          "published_at": "2018-07-22T21:20:03Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "6bb2cf9ddbca980b664d3edbb6ff775d75369278",
          "body": null,
          "is_bot": false,
          "headline": "Update README.md",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2021-11-15T23:36:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d1522dd4dccb0faa16755f9da7e9505b8a98f178",
          "body": null,
          "is_bot": false,
          "headline": "Update README.md",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2021-11-12T06:39:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fd5ee3c555ea9cd6067eacf3f2a3e8b85fe4fe77",
          "body": "Update README.md",
          "is_bot": false,
          "headline": "Merge pull request #64 from ramazansakin/master",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2021-01-19T20:08:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8df591dffa5513423a288d863f5e35b31e5eeb40",
          "body": "typo fix",
          "is_bot": false,
          "headline": "Update README.md",
          "author_name": "Ramazan Sakin",
          "author_login": "ramazansakin",
          "committed_at": "2021-01-19T18:25:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ad4fabed06d83e83dc2a82e2afc3be085cb286a8",
          "body": null,
          "is_bot": false,
          "headline": "Update README.md",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2020-02-02T04:29:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f935a0731523e5a6c0daffb28a2b6b7f1036f2d7",
          "body": null,
          "is_bot": false,
          "headline": "Update README.md",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2020-02-02T04:17:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cf6eac005582b538127ca8f33b0cc1d0636ce312",
          "body": null,
          "is_bot": false,
          "headline": "Update .travis.yml",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2019-12-21T23:37:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "70133dc1ad871f1754e999c756376090e9a68cee",
          "body": null,
          "is_bot": false,
          "headline": "Add dist:trusty to travis.yml",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2019-12-21T23:09:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "81924fc28e87a364d11c4278388f49aff809adb0",
          "body": "add env file for faster docker-compose bootstrapping",
          "is_bot": false,
          "headline": "Merge pull request #57 from spiashko/env-file",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2019-09-15T20:00:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3817a047fa89f5e5e88a04305c2b62657d3e11aa",
          "body": null,
          "is_bot": false,
          "headline": "adjust readme for .env file usage",
          "author_name": "Siarhei Piashko",
          "author_login": null,
          "committed_at": "2019-09-15T11:14:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "73840b4f192326416c563b7970dbef6e4c9d32ce",
          "body": "Revert \"Fix Monitoring server port missing\"",
          "is_bot": false,
          "headline": "Merge pull request #56 from spiashko/master",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2019-09-14T17:06:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aaf8e174d7a56e71780897f5c84757bcd26067f6",
          "body": null,
          "is_bot": false,
          "headline": "add env file for faster docker-compose bootstrapping",
          "author_name": "Siarhei Piashko",
          "author_login": null,
          "committed_at": "2019-09-14T15:58:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fd32bf935bbf154376b8326cd31533e4c67b8d3c",
          "body": "This reverts commit d3beabc5\n\ndocker-compose ports section has mapping <host>:<container>\nso specified port with 9000 brought to wrong port mapping therefore dashboard is not available",
          "is_bot": false,
          "headline": "Revert \"Fix Monitoring server port missing\"",
          "author_name": "Siarhei Piashko",
          "author_login": null,
          "committed_at": "2019-09-14T15:42:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0ea268e8c10edafcf4ef1f84517db900f098a750",
          "body": "Fix readme broken link",
          "is_bot": false,
          "headline": "Merge pull request #52 from elkolotfi/fixReadme",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2019-07-30T14:18:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "48d822a70fef85d8fcbb4b272efc717c15b57b57",
          "body": "MongoDB container for windows (and mac) contributors",
          "is_bot": false,
          "headline": "Merge pull request #53 from elkolotfi/windowsMacContribute",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2019-07-30T14:17:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "55ed483298b429cbf4c993f1333e5e3099556023",
          "body": null,
          "is_bot": false,
          "headline": "Fix MongoDb containers [init.sh]",
          "author_name": "elkolotfi",
          "author_login": "elkolotfi",
          "committed_at": "2019-07-30T13:19:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "49c2d6a901e3e227ea7e89a34e0826e77f3a6ea1",
          "body": null,
          "is_bot": false,
          "headline": "fix hystrix dashboard repo link on README.md",
          "author_name": "elkolotfi",
          "author_login": "elkolotfi",
          "committed_at": "2019-07-30T13:16:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "20237e62b4305dc888aa55b61e1e103fbd3856bf",
          "body": "Fix Monitoring server port missing",
          "is_bot": false,
          "headline": "Merge pull request #48 from zuzhi/master",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2019-04-08T01:03:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d3beabc5461cd591331cca1dbd4d7b04c1bfe233",
          "body": "It should be 9000 according to README",
          "is_bot": false,
          "headline": "Fix Monitoring server port missing",
          "author_name": "zuzhi",
          "author_login": null,
          "committed_at": "2019-04-04T09:25:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "07a86f3665062653c22ab2db824dff91d2849632",
          "body": "fix a typo in README.md",
          "is_bot": false,
          "headline": "Merge pull request #46 from Sam-WEI/master",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2019-04-02T02:54:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ac05b97babfc05e880e8ae010ffa6e7a39ded442",
          "body": null,
          "is_bot": false,
          "headline": "Fix a typo in README.md",
          "author_name": "Sam Wei",
          "author_login": "Sam-WEI",
          "committed_at": "2019-03-09T19:17:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3fe6e1555c18422d8fcf1fca82ebc82ecb4ebd3b",
          "body": null,
          "is_bot": false,
          "headline": "Fix a typo in README.md",
          "author_name": "Sam Wei",
          "author_login": "Sam-WEI",
          "committed_at": "2019-03-09T16:51:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0409199b2a674ed458953114fd5ed61211ba109e",
          "body": null,
          "is_bot": false,
          "headline": "fix a typo in README.md",
          "author_name": "Sam Wei",
          "author_login": "Sam-WEI",
          "committed_at": "2019-03-09T16:22:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8ce92fe723a701bca9545b5dc5e0cdc8b0c7bd50",
          "body": null,
          "is_bot": false,
          "headline": "Update README.md",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2019-02-03T19:49:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e7b982836f73ffa3d1a679498bfca5b727881e44",
          "body": null,
          "is_bot": false,
          "headline": "Update README with a link to the piggymetrics.tk",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2018-11-28T04:16:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "836a97f2b387ff921591f967e601145c2001c0dc",
          "body": null,
          "is_bot": false,
          "headline": "fixed exchange rates test after the provider API change",
          "author_name": "sqshq",
          "author_login": "sqshq",
          "committed_at": "2018-09-25T12:55:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "480ce4a2ee5adfe6eb23c367c7e691ca8352cb06",
          "body": "add eclipse ignore files",
          "is_bot": false,
          "headline": "Merge pull request #43 from clevertension/add-eclipse-ignore",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2018-09-23T18:35:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "018a3e42e7428e3909fda9f49d57673290352b91",
          "body": null,
          "is_bot": false,
          "headline": "add eclipse ignore files",
          "author_name": "clevertension",
          "author_login": "clevertension",
          "committed_at": "2018-09-22T10:01:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b8baaf40b63752f0256921c9aa3ea819d28b0f51",
          "body": null,
          "is_bot": false,
          "headline": "update travis.yml to support changes in docker login command",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2018-09-16T12:22:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "20e23d1701671841940f1cd55f4647fcf40871a1",
          "body": null,
          "is_bot": false,
          "headline": "update README.md",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2018-09-15T22:30:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7d1ebc18449ab203fa7ff11fc57a3eb05b805aa2",
          "body": "Feature/turbine stream service",
          "is_bot": false,
          "headline": "Merge pull request #41 from Dovchiproeng/feature/turbine-stream-service",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2018-09-15T22:23:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5d606f12d50d7f40a088066e6dbdac632dc4d7f4",
          "body": null,
          "is_bot": false,
          "headline": "change artifact id to turbine-stream-service",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-09-15T20:15:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cca06422b31df0e1109ea41cd517e40646b2f1dd",
          "body": null,
          "is_bot": false,
          "headline": "mongodb dockerfile update to resolve possible certificates issue",
          "author_name": "sqshq",
          "author_login": "sqshq",
          "committed_at": "2018-09-15T09:37:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "469455d23549417fca3e8c7f5d521638e7996612",
          "body": null,
          "is_bot": false,
          "headline": "add unit test for StatisticsServiceClientFallback",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-09-11T05:54:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5cb4627330e1559107ea0871f2363e2cc936e23f",
          "body": null,
          "is_bot": false,
          "headline": "add turbine build to travis",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-09-10T07:32:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a8bf0f68cfb2db2dc74ab0918071e9e64257f067",
          "body": null,
          "is_bot": false,
          "headline": "add fallback on update statistic for account service",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-09-10T07:21:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1fcd9dfc7b4352cc7d4fd644e9f18c707e0a6c2f",
          "body": null,
          "is_bot": false,
          "headline": "remove unuse feature in monitoring service",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-09-10T07:20:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "57e5b059d59f826d66e7afa9d69991b87c2c982b",
          "body": null,
          "is_bot": false,
          "headline": "add turbine stream service module to parent pom",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-09-10T07:19:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3a7e3ecd2020829a504abec005d35f15f7c1c841",
          "body": null,
          "is_bot": false,
          "headline": "add turbine stream service",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-09-10T07:17:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5c2880d4a3905399a74b778db4d46f22c4401385",
          "body": "…changeratesapi.io",
          "is_bot": false,
          "headline": "#34 fixed exchange rates client in order to support API changes in ex…",
          "author_name": "sqshq",
          "author_login": "sqshq",
          "committed_at": "2018-08-26T20:29:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "62174f21ba5fdbc3f7918eb5e6ca3d60066100f4",
          "body": "Add Spring Cloud Sleuth for distributed tracing",
          "is_bot": false,
          "headline": "Merge pull request #29 from thanus/master",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2018-08-26T13:06:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "72a2541b59cb3287194198e6074c00a281f2d01d",
          "body": "…alization\n\ncentralize spring version in root pom file",
          "is_bot": false,
          "headline": "Merge pull request #28 from Dovchiproeng/feature/spring-version-centr…",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2018-08-26T13:04:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "25ef0412ad6ab3ab49d8d9fa1abb71e2990563ee",
          "body": "Fix issue 32 of Container is unhealthy",
          "is_bot": false,
          "headline": "Merge pull request #33 from clevertension/master",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2018-08-22T02:55:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "38d8e1dd30459ba8088ce7fefa3f9eb088737521",
          "body": null,
          "is_bot": false,
          "headline": "Fix issue 32 of Container is unhealthy",
          "author_name": "clevertension",
          "author_login": "clevertension",
          "committed_at": "2018-08-22T02:07:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9cdc74f1e2859330a4471ec097f36cd4a26915c9",
          "body": "A common pattern used in microservices is distributed tracing which\nmakes analyzing problems and searching through logs easier. Spring Cloud\nSleuth implements this. A section about distributed tracing/sleuth has\nalso been added to the README.",
          "is_bot": false,
          "headline": "Add Spring Cloud Sleuth for distributed tracing",
          "author_name": "thanus",
          "author_login": "thanus",
          "committed_at": "2018-07-27T07:09:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dbe1cb946c8edc04f2379f3c648dbdff26c7b9aa",
          "body": null,
          "is_bot": false,
          "headline": "centralize spring version in root pom file",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-23T03:53:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2060d05aec9867e6bc73491c590365f2ab9203a0",
          "body": null,
          "is_bot": false,
          "headline": "Delete issue-template.md",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2018-07-22T22:20:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "41587194b84cf2562713f6421baa17793dd03bc8",
          "body": null,
          "is_bot": false,
          "headline": "Update issue templates",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2018-07-22T22:19:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ec0edc097391e3f76e0379860747181da1938c9c",
          "body": null,
          "is_bot": false,
          "headline": "Create issue template",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2018-07-22T22:17:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e8e2c870a2f01a9daf3b683cb2247a7022f891dc",
          "body": null,
          "is_bot": false,
          "headline": "Update README.md",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2018-07-22T21:57:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ab19a248b8bfe19de7b2f74c99230e1ef94de7a6",
          "body": "Feature/update spring",
          "is_bot": false,
          "headline": "Merge pull request #25 from Dovchiproeng/feature/update-spring",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2018-07-22T15:50:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "667595e4716236464d77d7644b2942cbb821b4c3",
          "body": null,
          "is_bot": false,
          "headline": "enable actuator security in config server",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-18T06:57:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7772ef63067069e7fe4825d4981e6aaed1676bd6",
          "body": "related to PR #24",
          "is_bot": false,
          "headline": "update exchange rate provider when init in frontend",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-18T06:56:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cbe50834e8ab327d20e7a709b0526ddd80aba425",
          "body": null,
          "is_bot": false,
          "headline": "change context-path to servlet-context-path",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-18T05:05:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "811e2792ba3e0f22f2f4dc8b168518004a03a403",
          "body": "This reverts commit f7f5a15",
          "is_bot": false,
          "headline": "Revert \"default stripPrefix=true in gateway\"",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-18T05:02:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f7f5a15c4c31c8684f41a6a9537b993a94b78934",
          "body": null,
          "is_bot": false,
          "headline": "default stripPrefix=true in gateway",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-18T05:00:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "40be6ea9f7879d46eb50e07db2b168bd3da4ee23",
          "body": null,
          "is_bot": false,
          "headline": "remove secret from browser client",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-17T16:19:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b2ff99fb11cba32390f372105c56e665f56b461f",
          "body": null,
          "is_bot": false,
          "headline": "specific password encoder instead of using id password encoder",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-17T06:21:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f58f61b438d28e27419dc7d3cfde35314988d1c1",
          "body": "https://spring.io/blog/2017/11/01/spring-security-5-0-0-rc1-released#password-storage-format",
          "is_bot": false,
          "headline": "spring security 5 always require password encoder id",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-17T05:49:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0a71de6d6f3d4db97df469e47b72b6de7940752b",
          "body": null,
          "is_bot": false,
          "headline": "update default spring security user password in config server",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-17T04:36:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "73345731b0bd0824280debb3aa3d2a65366f85f8",
          "body": null,
          "is_bot": false,
          "headline": "fix unit test",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-16T06:39:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3ecad94e24f410970ec01f27a2c42ffad2bd081e",
          "body": null,
          "is_bot": false,
          "headline": "add single quote for RecipientRepository",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-16T06:39:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "33fafc7df10b976cd534032e3cf48d5e9ccdd2cd",
          "body": null,
          "is_bot": false,
          "headline": "fix openfiegn import for accountServiceClient",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-16T06:38:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7ea73058d8e1d3b1ce4ce57b3a01aad5505a8c5b",
          "body": "…test purpose",
          "is_bot": false,
          "headline": "separate config from NotificationApplication for loose coupling unit …",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-16T06:37:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cda40fb26f5e39a214040b0263362732b6799cf3",
          "body": "…hley",
          "is_bot": false,
          "headline": "update notification server to spring boot 2.0.3 and spring cloud finc…",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-16T06:36:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fc69832ba56f904b29ca60e8d351528310f2b2e0",
          "body": null,
          "is_bot": false,
          "headline": "update monitor server to spring boot 2.0.3 and spring cloud finchley",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-16T06:18:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7358254d9402cd8be9a78f252d15c7b2d92fb070",
          "body": null,
          "is_bot": false,
          "headline": "change server.context-path to server.servlet.context-path",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-16T06:17:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "801279a1b6844de75c1630b31b773b7e0e04352e",
          "body": null,
          "is_bot": false,
          "headline": "update gateway server to spring boot 2.0.3 and spring cloud finchley",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-16T06:12:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "820c5d967ebc515834ec033fdda10dfe3e12ab56",
          "body": null,
          "is_bot": false,
          "headline": "fix statistic service's unit test",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-16T06:02:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c90fff1fb5b6a6a5335c903f8b960522b0d2b88c",
          "body": null,
          "is_bot": false,
          "headline": "fix openfeign import",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-16T06:01:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa536d888b4c76ffc623592187110d2f500137b1",
          "body": "…st purpose",
          "is_bot": false,
          "headline": "separate config from Statistic Application for loose coupling unit te…",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-16T06:01:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "91eaaa8ec1687019ed68a10691b4d872723c087d",
          "body": null,
          "is_bot": false,
          "headline": "update statstic service to spring boot 2.0.3 and spring cloud finchley",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-16T05:59:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "afa572429ca41347f440c7618219f3c361ac1994",
          "body": null,
          "is_bot": false,
          "headline": "fix unit test for account service",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-16T05:41:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e9bc8d469e894449a8e580cb20b92f047343c9ac",
          "body": null,
          "is_bot": false,
          "headline": "fix openfeign import for account service",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-16T05:41:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5c1522a6a43a5606a2a0886a023cc3c585cf67f9",
          "body": "…purpose",
          "is_bot": false,
          "headline": "separate config from AccountApplication for loose coupling unit test …",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-16T05:41:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a3a091feb94a761211f2a9e514fcd6ed6fb01bd3",
          "body": null,
          "is_bot": false,
          "headline": "update auth server to spring boot 2.0.3 and spring cloud finchley",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-16T05:41:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9ee137c49640c63a44ad39aa44c8c13b2ef95741",
          "body": null,
          "is_bot": false,
          "headline": "fix unit test for auth-server",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-16T05:41:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f9cb2e0a4b85a79c7bb9b67671b64f24d68bf08b",
          "body": null,
          "is_bot": false,
          "headline": "fix repository error for auth service",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-16T05:41:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8d462c470afc3f7a0afeda1985fd5838e9a38f4a",
          "body": "…pose",
          "is_bot": false,
          "headline": "separate config from auth application for loose couping unit test pur…",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-16T05:41:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1be5dffa8e444110e40e063494a1813169ca791a",
          "body": null,
          "is_bot": false,
          "headline": "update auth server to spring boot 2.0.3 and spring cloud finchley",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-16T05:41:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "50d896e8a20c150b4f2972edd2d421d69e552aa8",
          "body": null,
          "is_bot": false,
          "headline": "update registry server to spring boot 2.0.3 and spring cloud finchley",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-16T05:41:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bd74c7c1446566a659a84e8aed376b6359c4c3b1",
          "body": null,
          "is_bot": false,
          "headline": "update config server to spring boot 2.0.3 and spring cloud finchley",
          "author_name": "Chi Dov",
          "author_login": null,
          "committed_at": "2018-07-16T05:41:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b4210755048fbaeac9191e77b99e38ed5b215399",
          "body": null,
          "is_bot": false,
          "headline": "Merge remote-tracking branch 'upstream/master'",
          "author_name": "Chi Dov",
          "author_login": "chidov",
          "committed_at": "2018-07-16T05:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "50504c0321ad153f4249826b790a9d7fd9c0e803",
          "body": "Switch exchange-rates provider",
          "is_bot": false,
          "headline": "Merge pull request #24 from Q1nt/change-exchange-rates-service",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2018-07-10T11:46:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "54c0efd3c9206294f21587b8012dd099d09172b9",
          "body": "Added overloaded get-rates method with 'symbols' request parameter,\nwhich allows limiting response to specific currencies.\nUpdated existing get-rates method with default implementation, which\nretrieves rates only for known system currencies (currency enum values).",
          "is_bot": false,
          "headline": "Enhance exchange-rates client with the ability to request specific rates",
          "author_name": "Q1nt",
          "author_login": "solo-yolo",
          "committed_at": "2018-07-10T07:57:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "447ebc6410271cf7e3b6d2a12ffef3d53402c936",
          "body": "Discontinued fixer.io exchange-rates provider was replaced with\nexchangeratesapi.io\nIt's claimed to be compatible with fixer.io, so no additional changes\nrequired",
          "is_bot": false,
          "headline": "Replace discontinued fixer.io exchange-rates api with",
          "author_name": "Q1nt",
          "author_login": "solo-yolo",
          "committed_at": "2018-07-10T07:36:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4935509426242fbef6f937e1f82232c0e8d6f243",
          "body": "Add exchange-rates-client fallback implementation",
          "is_bot": false,
          "headline": "Merge pull request #23 from Q1nt/add-exchange-rates-fallback",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2018-07-08T23:36:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5763e9009adb1ec7bb1ff5d83c9223bcf3b949d7",
          "body": "Added exchange-rates-client fallback implementation, which returns\nempty ExchangeRatesContainer.",
          "is_bot": false,
          "headline": "Add exchange-rates-client fallback implementation",
          "author_name": "Q1nt",
          "author_login": "solo-yolo",
          "committed_at": "2018-07-06T11:01:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eaec3c0d29e5b1b3e69f5a0ef2dd406840ed74e1",
          "body": "Update attribution.html by removing typo",
          "is_bot": false,
          "headline": "Merge pull request #22 from Zanoshky/patch-1",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2018-06-02T03:33:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ef317218af5ac870c16459c3cdad20376db499a2",
          "body": null,
          "is_bot": false,
          "headline": "Update attribution.html",
          "author_name": "Zanoshky",
          "author_login": "Zanoshky",
          "committed_at": "2018-05-29T08:29:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1715202fcb0358413c9e645cb2e0dcf856bb56ee",
          "body": "Fix issue with connectivity to Mongo",
          "is_bot": false,
          "headline": "Merge pull request #21 from AlekseySpiridonov/master",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2018-05-04T02:57:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9928dc2cef61b3f3db15ef99077aa07e63161f94",
          "body": null,
          "is_bot": false,
          "headline": "Fix issue with connectivity to Mongo",
          "author_name": "Aleksey Spiridonov",
          "author_login": "AlekseySpiridonov",
          "committed_at": "2018-03-22T08:22:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "914ed4781a1999a70dcdc5e2d4a5133ae296f4c6",
          "body": "Added build project directions to 'Before you start' subsection",
          "is_bot": false,
          "headline": "Merge pull request #17 from ddubson/master",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2017-08-03T18:22:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e36f3a0a19ddfd91fdf27612fbd98368e61cb646",
          "body": "…ADME",
          "is_bot": false,
          "headline": "Added build project directions to 'Before you start' subsection in RE…",
          "author_name": "Dmitriy Dubson",
          "author_login": null,
          "committed_at": "2017-08-03T15:15:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "49d45b83466c9cf14913cb8b12b77607ca3b75d1",
          "body": null,
          "is_bot": false,
          "headline": "minor README update",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2017-07-08T23:07:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ca63664979327f5d79a0a552b233b2ee9a6e905b",
          "body": null,
          "is_bot": false,
          "headline": "minor README update",
          "author_name": "Alexander Lukyanchikov",
          "author_login": "sqshq",
          "committed_at": "2017-07-08T23:02:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "be941219dae901ef687cb3a642ee0de3384596d8",
          "body": null,
          "is_bot": false,
          "headline": "minor README update",
          "author_name": "sqshq",
          "author_login": "sqshq",
          "committed_at": "2017-05-11T21:10:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7a7b03eeb3c2d238a6b3cebe247019c0e089ff5e",
          "body": null,
          "is_bot": false,
          "headline": "docker-compose depends_on option added",
          "author_name": "sqshq",
          "author_login": "sqshq",
          "committed_at": "2017-05-09T17:49:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b6bdb80e95ef5a705f1dcf961ab89fd215fedea0",
          "body": "…n option)",
          "is_bot": false,
          "headline": "docker healthcheck for config service (needed for compose's depends_o…",
          "author_name": "sqshq",
          "author_login": "sqshq",
          "committed_at": "2017-05-09T17:48:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "28dacdc1eee9607da16165a3f99a60d0447f12e9",
          "body": null,
          "is_bot": false,
          "headline": "minor README update",
          "author_name": "sqshq",
          "author_login": "sqshq",
          "committed_at": "2017-05-09T17:47:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 2,
      "commits_last_year": 0,
      "latest_release_at": "2018-07-22T21:22:08Z",
      "latest_release_tag": "spring.version.2.0.3",
      "releases_from_tags": false,
      "days_since_last_push": 795,
      "active_weeks_last_year": 0,
      "days_since_latest_release": 2921,
      "mean_days_between_releases": 0
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 57,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": []
    },
    "popularity": {
      "forks": 6406,
      "stars": 13942,
      "watchers": 804,
      "fork_history": {
        "days": [
          {
            "date": "2022-09-07",
            "count": 1
          },
          {
            "date": "2022-09-08",
            "count": 10
          },
          {
            "date": "2022-09-09",
            "count": 2
          },
          {
            "date": "2022-09-13",
            "count": 3
          },
          {
            "date": "2022-09-14",
            "count": 1
          },
          {
            "date": "2022-09-15",
            "count": 3
          },
          {
            "date": "2022-09-16",
            "count": 1
          },
          {
            "date": "2022-09-17",
            "count": 2
          },
          {
            "date": "2022-09-18",
            "count": 1
          },
          {
            "date": "2022-09-19",
            "count": 4
          },
          {
            "date": "2022-09-20",
            "count": 1
          },
          {
            "date": "2022-09-22",
            "count": 2
          },
          {
            "date": "2022-09-23",
            "count": 3
          },
          {
            "date": "2022-09-24",
            "count": 3
          },
          {
            "date": "2022-09-25",
            "count": 1
          },
          {
            "date": "2022-09-26",
            "count": 2
          },
          {
            "date": "2022-09-27",
            "count": 1
          },
          {
            "date": "2022-09-28",
            "count": 1
          },
          {
            "date": "2022-10-03",
            "count": 1
          },
          {
            "date": "2022-10-04",
            "count": 1
          },
          {
            "date": "2022-10-10",
            "count": 2
          },
          {
            "date": "2022-10-11",
            "count": 1
          },
          {
            "date": "2022-10-12",
            "count": 1
          },
          {
            "date": "2022-10-13",
            "count": 4
          },
          {
            "date": "2022-10-17",
            "count": 1
          },
          {
            "date": "2022-10-18",
            "count": 2
          },
          {
            "date": "2022-10-19",
            "count": 4
          },
          {
            "date": "2022-10-21",
            "count": 1
          },
          {
            "date": "2022-10-25",
            "count": 1
          },
          {
            "date": "2022-10-26",
            "count": 2
          },
          {
            "date": "2022-10-27",
            "count": 2
          },
          {
            "date": "2022-10-28",
            "count": 1
          },
          {
            "date": "2022-10-29",
            "count": 1
          },
          {
            "date": "2022-10-30",
            "count": 1
          },
          {
            "date": "2022-10-31",
            "count": 2
          },
          {
            "date": "2022-11-01",
            "count": 1
          },
          {
            "date": "2022-11-04",
            "count": 4
          },
          {
            "date": "2022-11-05",
            "count": 1
          },
          {
            "date": "2022-11-06",
            "count": 1
          },
          {
            "date": "2022-11-07",
            "count": 1
          },
          {
            "date": "2022-11-08",
            "count": 1
          },
          {
            "date": "2022-11-10",
            "count": 1
          },
          {
            "date": "2022-11-11",
            "count": 1
          },
          {
            "date": "2022-11-12",
            "count": 2
          },
          {
            "date": "2022-11-13",
            "count": 1
          },
          {
            "date": "2022-11-14",
            "count": 1
          },
          {
            "date": "2022-11-16",
            "count": 2
          },
          {
            "date": "2022-11-17",
            "count": 1
          },
          {
            "date": "2022-11-18",
            "count": 1
          },
          {
            "date": "2022-11-19",
            "count": 1
          },
          {
            "date": "2022-11-22",
            "count": 2
          },
          {
            "date": "2022-11-25",
            "count": 1
          },
          {
            "date": "2022-11-26",
            "count": 1
          },
          {
            "date": "2022-11-27",
            "count": 1
          },
          {
            "date": "2022-11-28",
            "count": 1
          },
          {
            "date": "2022-11-29",
            "count": 3
          },
          {
            "date": "2022-11-30",
            "count": 1
          },
          {
            "date": "2022-12-01",
            "count": 2
          },
          {
            "date": "2022-12-02",
            "count": 1
          },
          {
            "date": "2022-12-05",
            "count": 1
          },
          {
            "date": "2022-12-06",
            "count": 1
          },
          {
            "date": "2022-12-08",
            "count": 1
          },
          {
            "date": "2022-12-09",
            "count": 1
          },
          {
            "date": "2022-12-14",
            "count": 1
          },
          {
            "date": "2022-12-15",
            "count": 1
          },
          {
            "date": "2022-12-19",
            "count": 2
          },
          {
            "date": "2022-12-20",
            "count": 2
          },
          {
            "date": "2022-12-21",
            "count": 2
          },
          {
            "date": "2022-12-22",
            "count": 2
          },
          {
            "date": "2022-12-25",
            "count": 4
          },
          {
            "date": "2022-12-26",
            "count": 1
          },
          {
            "date": "2022-12-28",
            "count": 1
          },
          {
            "date": "2023-01-02",
            "count": 1
          },
          {
            "date": "2023-01-04",
            "count": 1
          },
          {
            "date": "2023-01-05",
            "count": 1
          },
          {
            "date": "2023-01-06",
            "count": 1
          },
          {
            "date": "2023-01-11",
            "count": 3
          },
          {
            "date": "2023-01-13",
            "count": 1
          },
          {
            "date": "2023-01-15",
            "count": 2
          },
          {
            "date": "2023-01-16",
            "count": 1
          },
          {
            "date": "2023-01-18",
            "count": 1
          },
          {
            "date": "2023-01-19",
            "count": 2
          },
          {
            "date": "2023-01-20",
            "count": 1
          },
          {
            "date": "2023-01-29",
            "count": 2
          },
          {
            "date": "2023-01-31",
            "count": 2
          },
          {
            "date": "2023-02-03",
            "count": 3
          },
          {
            "date": "2023-02-05",
            "count": 2
          },
          {
            "date": "2023-02-10",
            "count": 1
          },
          {
            "date": "2023-02-12",
            "count": 2
          },
          {
            "date": "2023-02-15",
            "count": 1
          },
          {
            "date": "2023-02-16",
            "count": 2
          },
          {
            "date": "2023-02-19",
            "count": 2
          },
          {
            "date": "2023-02-20",
            "count": 1
          },
          {
            "date": "2023-02-21",
            "count": 1
          },
          {
            "date": "2023-02-22",
            "count": 1
          },
          {
            "date": "2023-02-23",
            "count": 1
          },
          {
            "date": "2023-02-25",
            "count": 4
          },
          {
            "date": "2023-02-28",
            "count": 2
          },
          {
            "date": "2023-03-01",
            "count": 1
          },
          {
            "date": "2023-03-04",
            "count": 1
          },
          {
            "date": "2023-03-05",
            "count": 1
          },
          {
            "date": "2023-03-08",
            "count": 1
          },
          {
            "date": "2023-03-09",
            "count": 2
          },
          {
            "date": "2023-03-13",
            "count": 3
          },
          {
            "date": "2023-03-14",
            "count": 1
          },
          {
            "date": "2023-03-15",
            "count": 1
          },
          {
            "date": "2023-03-18",
            "count": 1
          },
          {
            "date": "2023-03-19",
            "count": 1
          },
          {
            "date": "2023-03-20",
            "count": 1
          },
          {
            "date": "2023-03-21",
            "count": 2
          },
          {
            "date": "2023-03-22",
            "count": 1
          },
          {
            "date": "2023-03-24",
            "count": 1
          },
          {
            "date": "2023-03-26",
            "count": 2
          },
          {
            "date": "2023-03-28",
            "count": 2
          },
          {
            "date": "2023-03-29",
            "count": 1
          },
          {
            "date": "2023-03-30",
            "count": 1
          },
          {
            "date": "2023-03-31",
            "count": 1
          },
          {
            "date": "2023-04-08",
            "count": 1
          },
          {
            "date": "2023-04-09",
            "count": 1
          },
          {
            "date": "2023-04-13",
            "count": 1
          },
          {
            "date": "2023-04-15",
            "count": 1
          },
          {
            "date": "2023-04-16",
            "count": 1
          },
          {
            "date": "2023-04-19",
            "count": 1
          },
          {
            "date": "2023-04-26",
            "count": 1
          },
          {
            "date": "2023-04-28",
            "count": 1
          },
          {
            "date": "2023-05-01",
            "count": 1
          },
          {
            "date": "2023-05-05",
            "count": 3
          },
          {
            "date": "2023-05-06",
            "count": 2
          },
          {
            "date": "2023-05-07",
            "count": 2
          },
          {
            "date": "2023-05-08",
            "count": 1
          },
          {
            "date": "2023-05-09",
            "count": 2
          },
          {
            "date": "2023-05-10",
            "count": 1
          },
          {
            "date": "2023-05-11",
            "count": 3
          },
          {
            "date": "2023-05-12",
            "count": 1
          },
          {
            "date": "2023-05-16",
            "count": 1
          },
          {
            "date": "2023-05-18",
            "count": 1
          },
          {
            "date": "2023-05-19",
            "count": 2
          },
          {
            "date": "2023-05-22",
            "count": 1
          },
          {
            "date": "2023-05-23",
            "count": 2
          },
          {
            "date": "2023-05-24",
            "count": 1
          },
          {
            "date": "2023-05-26",
            "count": 2
          },
          {
            "date": "2023-05-27",
            "count": 1
          },
          {
            "date": "2023-05-30",
            "count": 2
          },
          {
            "date": "2023-05-31",
            "count": 2
          },
          {
            "date": "2023-06-01",
            "count": 1
          },
          {
            "date": "2023-06-02",
            "count": 1
          },
          {
            "date": "2023-06-04",
            "count": 1
          },
          {
            "date": "2023-06-08",
            "count": 4
          },
          {
            "date": "2023-06-13",
            "count": 1
          },
          {
            "date": "2023-06-14",
            "count": 1
          },
          {
            "date": "2023-06-15",
            "count": 1
          },
          {
            "date": "2023-06-20",
            "count": 3
          },
          {
            "date": "2023-06-21",
            "count": 3
          },
          {
            "date": "2023-06-23",
            "count": 1
          },
          {
            "date": "2023-06-24",
            "count": 2
          },
          {
            "date": "2023-06-25",
            "count": 1
          },
          {
            "date": "2023-06-27",
            "count": 1
          },
          {
            "date": "2023-06-28",
            "count": 3
          },
          {
            "date": "2023-06-29",
            "count": 1
          },
          {
            "date": "2023-06-30",
            "count": 2
          },
          {
            "date": "2023-07-01",
            "count": 3
          },
          {
            "date": "2023-07-02",
            "count": 2
          },
          {
            "date": "2023-07-04",
            "count": 1
          },
          {
            "date": "2023-07-06",
            "count": 2
          },
          {
            "date": "2023-07-10",
            "count": 1
          },
          {
            "date": "2023-07-11",
            "count": 1
          },
          {
            "date": "2023-07-12",
            "count": 3
          },
          {
            "date": "2023-07-14",
            "count": 3
          },
          {
            "date": "2023-07-19",
            "count": 1
          },
          {
            "date": "2023-07-23",
            "count": 1
          },
          {
            "date": "2023-07-24",
            "count": 1
          },
          {
            "date": "2023-07-28",
            "count": 1
          },
          {
            "date": "2023-07-30",
            "count": 1
          },
          {
            "date": "2023-08-04",
            "count": 1
          },
          {
            "date": "2023-08-06",
            "count": 1
          },
          {
            "date": "2023-08-07",
            "count": 2
          },
          {
            "date": "2023-08-08",
            "count": 1
          },
          {
            "date": "2023-08-13",
            "count": 1
          },
          {
            "date": "2023-08-14",
            "count": 1
          },
          {
            "date": "2023-08-15",
            "count": 4
          },
          {
            "date": "2023-08-18",
            "count": 2
          },
          {
            "date": "2023-08-19",
            "count": 1
          },
          {
            "date": "2023-08-23",
            "count": 2
          },
          {
            "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-30",
            "count": 2
          },
          {
            "date": "2023-09-03",
            "count": 1
          },
          {
            "date": "2023-09-04",
            "count": 3
          },
          {
            "date": "2023-09-05",
            "count": 2
          },
          {
            "date": "2023-09-06",
            "count": 1
          },
          {
            "date": "2023-09-07",
            "count": 1
          },
          {
            "date": "2023-09-12",
            "count": 3
          },
          {
            "date": "2023-09-17",
            "count": 1
          },
          {
            "date": "2023-09-18",
            "count": 3
          },
          {
            "date": "2023-09-20",
            "count": 1
          },
          {
            "date": "2023-09-23",
            "count": 2
          },
          {
            "date": "2023-09-24",
            "count": 2
          },
          {
            "date": "2023-09-26",
            "count": 2
          },
          {
            "date": "2023-09-27",
            "count": 2
          },
          {
            "date": "2023-09-28",
            "count": 1
          },
          {
            "date": "2023-09-29",
            "count": 1
          },
          {
            "date": "2023-09-30",
            "count": 1
          },
          {
            "date": "2023-10-02",
            "count": 1
          },
          {
            "date": "2023-10-08",
            "count": 1
          },
          {
            "date": "2023-10-10",
            "count": 1
          },
          {
            "date": "2023-10-15",
            "count": 1
          },
          {
            "date": "2023-10-17",
            "count": 1
          },
          {
            "date": "2023-10-18",
            "count": 3
          },
          {
            "date": "2023-10-19",
            "count": 1
          },
          {
            "date": "2023-10-22",
            "count": 1
          },
          {
            "date": "2023-10-31",
            "count": 2
          },
          {
            "date": "2023-11-02",
            "count": 1
          },
          {
            "date": "2023-11-05",
            "count": 1
          },
          {
            "date": "2023-11-06",
            "count": 2
          },
          {
            "date": "2023-11-07",
            "count": 1
          },
          {
            "date": "2023-11-08",
            "count": 1
          },
          {
            "date": "2023-11-09",
            "count": 1
          },
          {
            "date": "2023-11-10",
            "count": 2
          },
          {
            "date": "2023-11-15",
            "count": 2
          },
          {
            "date": "2023-11-20",
            "count": 1
          },
          {
            "date": "2023-11-22",
            "count": 2
          },
          {
            "date": "2023-11-23",
            "count": 1
          },
          {
            "date": "2023-11-26",
            "count": 1
          },
          {
            "date": "2023-11-28",
            "count": 1
          },
          {
            "date": "2023-11-30",
            "count": 1
          },
          {
            "date": "2023-12-03",
            "count": 1
          },
          {
            "date": "2023-12-05",
            "count": 1
          },
          {
            "date": "2023-12-06",
            "count": 1
          },
          {
            "date": "2023-12-07",
            "count": 2
          },
          {
            "date": "2023-12-08",
            "count": 1
          },
          {
            "date": "2023-12-10",
            "count": 1
          },
          {
            "date": "2023-12-13",
            "count": 1
          },
          {
            "date": "2023-12-15",
            "count": 1
          },
          {
            "date": "2023-12-17",
            "count": 1
          },
          {
            "date": "2023-12-23",
            "count": 1
          },
          {
            "date": "2023-12-25",
            "count": 1
          },
          {
            "date": "2023-12-28",
            "count": 1
          },
          {
            "date": "2023-12-29",
            "count": 2
          },
          {
            "date": "2023-12-30",
            "count": 1
          },
          {
            "date": "2024-01-03",
            "count": 1
          },
          {
            "date": "2024-01-09",
            "count": 1
          },
          {
            "date": "2024-01-10",
            "count": 1
          },
          {
            "date": "2024-01-11",
            "count": 1
          },
          {
            "date": "2024-01-12",
            "count": 1
          },
          {
            "date": "2024-01-14",
            "count": 2
          },
          {
            "date": "2024-01-17",
            "count": 1
          },
          {
            "date": "2024-01-18",
            "count": 1
          },
          {
            "date": "2024-01-19",
            "count": 3
          },
          {
            "date": "2024-01-20",
            "count": 1
          },
          {
            "date": "2024-01-21",
            "count": 1
          },
          {
            "date": "2024-01-22",
            "count": 1
          },
          {
            "date": "2024-01-23",
            "count": 5
          },
          {
            "date": "2024-01-30",
            "count": 1
          },
          {
            "date": "2024-01-31",
            "count": 1
          },
          {
            "date": "2024-02-01",
            "count": 1
          },
          {
            "date": "2024-02-02",
            "count": 1
          },
          {
            "date": "2024-02-08",
            "count": 1
          },
          {
            "date": "2024-02-10",
            "count": 1
          },
          {
            "date": "2024-02-12",
            "count": 2
          },
          {
            "date": "2024-02-13",
            "count": 1
          },
          {
            "date": "2024-02-15",
            "count": 1
          },
          {
            "date": "2024-02-19",
            "count": 1
          },
          {
            "date": "2024-02-21",
            "count": 2
          },
          {
            "date": "2024-02-24",
            "count": 1
          },
          {
            "date": "2024-02-25",
            "count": 1
          },
          {
            "date": "2024-02-26",
            "count": 1
          },
          {
            "date": "2024-02-27",
            "count": 1
          },
          {
            "date": "2024-03-05",
            "count": 1
          },
          {
            "date": "2024-03-06",
            "count": 1
          },
          {
            "date": "2024-03-07",
            "count": 1
          },
          {
            "date": "2024-03-09",
            "count": 1
          },
          {
            "date": "2024-03-10",
            "count": 3
          },
          {
            "date": "2024-03-13",
            "count": 1
          },
          {
            "date": "2024-03-14",
            "count": 2
          },
          {
            "date": "2024-03-15",
            "count": 1
          },
          {
            "date": "2024-03-16",
            "count": 1
          },
          {
            "date": "2024-03-19",
            "count": 1
          },
          {
            "date": "2024-03-24",
            "count": 1
          },
          {
            "date": "2024-03-25",
            "count": 1
          },
          {
            "date": "2024-03-27",
            "count": 1
          },
          {
            "date": "2024-03-29",
            "count": 2
          },
          {
            "date": "2024-04-01",
            "count": 1
          },
          {
            "date": "2024-04-03",
            "count": 2
          },
          {
            "date": "2024-04-07",
            "count": 1
          },
          {
            "date": "2024-04-08",
            "count": 1
          },
          {
            "date": "2024-04-10",
            "count": 1
          },
          {
            "date": "2024-04-11",
            "count": 1
          },
          {
            "date": "2024-04-12",
            "count": 1
          },
          {
            "date": "2024-04-16",
            "count": 1
          },
          {
            "date": "2024-04-17",
            "count": 1
          },
          {
            "date": "2024-04-18",
            "count": 1
          },
          {
            "date": "2024-04-19",
            "count": 2
          },
          {
            "date": "2024-04-22",
            "count": 1
          },
          {
            "date": "2024-04-23",
            "count": 1
          },
          {
            "date": "2024-04-25",
            "count": 1
          },
          {
            "date": "2024-04-26",
            "count": 1
          },
          {
            "date": "2024-04-27",
            "count": 2
          },
          {
            "date": "2024-04-30",
            "count": 1
          },
          {
            "date": "2024-05-03",
            "count": 1
          },
          {
            "date": "2024-05-04",
            "count": 1
          },
          {
            "date": "2024-05-05",
            "count": 1
          },
          {
            "date": "2024-05-12",
            "count": 1
          },
          {
            "date": "2024-05-15",
            "count": 1
          },
          {
            "date": "2024-05-16",
            "count": 2
          },
          {
            "date": "2024-05-17",
            "count": 2
          },
          {
            "date": "2024-05-19",
            "count": 1
          },
          {
            "date": "2024-05-22",
            "count": 2
          },
          {
            "date": "2024-05-23",
            "count": 1
          },
          {
            "date": "2024-05-28",
            "count": 1
          },
          {
            "date": "2024-05-30",
            "count": 1
          },
          {
            "date": "2024-05-31",
            "count": 1
          },
          {
            "date": "2024-06-07",
            "count": 1
          },
          {
            "date": "2024-06-08",
            "count": 1
          },
          {
            "date": "2024-06-10",
            "count": 2
          },
          {
            "date": "2024-06-11",
            "count": 2
          },
          {
            "date": "2024-06-15",
            "count": 1
          },
          {
            "date": "2024-06-18",
            "count": 1
          },
          {
            "date": "2024-06-21",
            "count": 2
          },
          {
            "date": "2024-06-22",
            "count": 2
          },
          {
            "date": "2024-06-27",
            "count": 3
          },
          {
            "date": "2024-07-01",
            "count": 1
          },
          {
            "date": "2024-07-03",
            "count": 2
          },
          {
            "date": "2024-07-07",
            "count": 1
          },
          {
            "date": "2024-07-08",
            "count": 1
          },
          {
            "date": "2024-07-09",
            "count": 1
          },
          {
            "date": "2024-07-11",
            "count": 2
          },
          {
            "date": "2024-07-14",
            "count": 2
          },
          {
            "date": "2024-07-20",
            "count": 1
          },
          {
            "date": "2024-07-21",
            "count": 1
          },
          {
            "date": "2024-07-25",
            "count": 2
          },
          {
            "date": "2024-07-27",
            "count": 1
          },
          {
            "date": "2024-07-29",
            "count": 1
          },
          {
            "date": "2024-07-30",
            "count": 2
          },
          {
            "date": "2024-07-31",
            "count": 2
          },
          {
            "date": "2024-08-01",
            "count": 1
          },
          {
            "date": "2024-08-02",
            "count": 1
          },
          {
            "date": "2024-08-04",
            "count": 1
          },
          {
            "date": "2024-08-05",
            "count": 1
          },
          {
            "date": "2024-08-06",
            "count": 1
          },
          {
            "date": "2024-08-07",
            "count": 1
          },
          {
            "date": "2024-08-08",
            "count": 1
          },
          {
            "date": "2024-08-10",
            "count": 1
          },
          {
            "date": "2024-08-12",
            "count": 1
          },
          {
            "date": "2024-08-16",
            "count": 1
          },
          {
            "date": "2024-08-17",
            "count": 3
          },
          {
            "date": "2024-08-20",
            "count": 2
          },
          {
            "date": "2024-08-21",
            "count": 1
          },
          {
            "date": "2024-08-26",
            "count": 1
          },
          {
            "date": "2024-08-27",
            "count": 1
          },
          {
            "date": "2024-08-28",
            "count": 1
          },
          {
            "date": "2024-08-29",
            "count": 1
          },
          {
            "date": "2024-08-30",
            "count": 1
          },
          {
            "date": "2024-09-02",
            "count": 1
          },
          {
            "date": "2024-09-05",
            "count": 2
          },
          {
            "date": "2024-09-07",
            "count": 1
          },
          {
            "date": "2024-09-08",
            "count": 2
          },
          {
            "date": "2024-09-10",
            "count": 1
          },
          {
            "date": "2024-09-11",
            "count": 1
          },
          {
            "date": "2024-09-12",
            "count": 1
          },
          {
            "date": "2024-09-14",
            "count": 1
          },
          {
            "date": "2024-09-15",
            "count": 2
          },
          {
            "date": "2024-09-16",
            "count": 1
          },
          {
            "date": "2024-09-17",
            "count": 1
          },
          {
            "date": "2024-09-18",
            "count": 1
          },
          {
            "date": "2024-09-19",
            "count": 1
          },
          {
            "date": "2024-09-20",
            "count": 1
          },
          {
            "date": "2024-09-23",
            "count": 1
          },
          {
            "date": "2024-09-25",
            "count": 1
          },
          {
            "date": "2024-09-26",
            "count": 1
          },
          {
            "date": "2024-09-28",
            "count": 1
          },
          {
            "date": "2024-09-29",
            "count": 2
          },
          {
            "date": "2024-10-01",
            "count": 1
          },
          {
            "date": "2024-10-02",
            "count": 1
          },
          {
            "date": "2024-10-04",
            "count": 1
          },
          {
            "date": "2024-10-06",
            "count": 2
          },
          {
            "date": "2024-10-07",
            "count": 1
          },
          {
            "date": "2024-10-08",
            "count": 2
          },
          {
            "date": "2024-10-09",
            "count": 1
          },
          {
            "date": "2024-10-11",
            "count": 1
          },
          {
            "date": "2024-10-13",
            "count": 1
          },
          {
            "date": "2024-10-14",
            "count": 2
          },
          {
            "date": "2024-10-17",
            "count": 1
          },
          {
            "date": "2024-10-21",
            "count": 1
          },
          {
            "date": "2024-10-23",
            "count": 1
          },
          {
            "date": "2024-10-24",
            "count": 1
          },
          {
            "date": "2024-10-26",
            "count": 1
          },
          {
            "date": "2024-10-27",
            "count": 2
          },
          {
            "date": "2024-10-30",
            "count": 1
          },
          {
            "date": "2024-11-01",
            "count": 1
          },
          {
            "date": "2024-11-04",
            "count": 2
          },
          {
            "date": "2024-11-05",
            "count": 1
          },
          {
            "date": "2024-11-07",
            "count": 1
          },
          {
            "date": "2024-11-13",
            "count": 2
          },
          {
            "date": "2024-11-17",
            "count": 1
          },
          {
            "date": "2024-11-25",
            "count": 1
          },
          {
            "date": "2024-11-27",
            "count": 1
          },
          {
            "date": "2024-11-28",
            "count": 1
          },
          {
            "date": "2024-11-29",
            "count": 1
          },
          {
            "date": "2024-12-01",
            "count": 1
          },
          {
            "date": "2024-12-02",
            "count": 1
          },
          {
            "date": "2024-12-14",
            "count": 1
          },
          {
            "date": "2024-12-15",
            "count": 1
          },
          {
            "date": "2024-12-16",
            "count": 2
          },
          {
            "date": "2024-12-17",
            "count": 1
          },
          {
            "date": "2024-12-18",
            "count": 1
          },
          {
            "date": "2024-12-20",
            "count": 1
          },
          {
            "date": "2024-12-24",
            "count": 1
          },
          {
            "date": "2024-12-27",
            "count": 1
          },
          {
            "date": "2024-12-29",
            "count": 1
          },
          {
            "date": "2025-01-01",
            "count": 1
          },
          {
            "date": "2025-01-03",
            "count": 2
          },
          {
            "date": "2025-01-07",
            "count": 1
          },
          {
            "date": "2025-01-11",
            "count": 2
          },
          {
            "date": "2025-01-12",
            "count": 1
          },
          {
            "date": "2025-01-16",
            "count": 4
          },
          {
            "date": "2025-01-18",
            "count": 1
          },
          {
            "date": "2025-01-20",
            "count": 1
          },
          {
            "date": "2025-01-26",
            "count": 1
          },
          {
            "date": "2025-01-27",
            "count": 1
          },
          {
            "date": "2025-01-28",
            "count": 1
          },
          {
            "date": "2025-02-01",
            "count": 1
          },
          {
            "date": "2025-02-02",
            "count": 2
          },
          {
            "date": "2025-02-07",
            "count": 1
          },
          {
            "date": "2025-02-09",
            "count": 2
          },
          {
            "date": "2025-02-11",
            "count": 4
          },
          {
            "date": "2025-02-15",
            "count": 1
          },
          {
            "date": "2025-02-16",
            "count": 2
          },
          {
            "date": "2025-02-18",
            "count": 1
          },
          {
            "date": "2025-02-19",
            "count": 2
          },
          {
            "date": "2025-02-20",
            "count": 1
          },
          {
            "date": "2025-02-21",
            "count": 1
          },
          {
            "date": "2025-02-23",
            "count": 1
          },
          {
            "date": "2025-02-24",
            "count": 3
          },
          {
            "date": "2025-02-28",
            "count": 3
          },
          {
            "date": "2025-03-01",
            "count": 1
          },
          {
            "date": "2025-03-04",
            "count": 1
          },
          {
            "date": "2025-03-05",
            "count": 2
          },
          {
            "date": "2025-03-06",
            "count": 3
          },
          {
            "date": "2025-03-09",
            "count": 1
          },
          {
            "date": "2025-03-10",
            "count": 2
          },
          {
            "date": "2025-03-13",
            "count": 1
          },
          {
            "date": "2025-03-15",
            "count": 1
          },
          {
            "date": "2025-03-16",
            "count": 1
          },
          {
            "date": "2025-03-21",
            "count": 4
          },
          {
            "date": "2025-03-25",
            "count": 2
          },
          {
            "date": "2025-03-26",
            "count": 2
          },
          {
            "date": "2025-03-27",
            "count": 2
          },
          {
            "date": "2025-03-28",
            "count": 1
          },
          {
            "date": "2025-03-30",
            "count": 1
          },
          {
            "date": "2025-03-31",
            "count": 1
          },
          {
            "date": "2025-04-04",
            "count": 3
          },
          {
            "date": "2025-04-06",
            "count": 1
          },
          {
            "date": "2025-04-07",
            "count": 1
          },
          {
            "date": "2025-04-10",
            "count": 1
          },
          {
            "date": "2025-04-15",
            "count": 2
          },
          {
            "date": "2025-04-16",
            "count": 1
          },
          {
            "date": "2025-04-17",
            "count": 1
          },
          {
            "date": "2025-04-20",
            "count": 3
          },
          {
            "date": "2025-04-21",
            "count": 1
          },
          {
            "date": "2025-04-23",
            "count": 2
          },
          {
            "date": "2025-04-24",
            "count": 3
          },
          {
            "date": "2025-04-25",
            "count": 2
          },
          {
            "date": "2025-04-26",
            "count": 1
          },
          {
            "date": "2025-04-28",
            "count": 2
          },
          {
            "date": "2025-04-29",
            "count": 2
          },
          {
            "date": "2025-04-30",
            "count": 1
          },
          {
            "date": "2025-05-01",
            "count": 5
          },
          {
            "date": "2025-05-04",
            "count": 1
          },
          {
            "date": "2025-05-07",
            "count": 1
          },
          {
            "date": "2025-05-13",
            "count": 1
          },
          {
            "date": "2025-05-15",
            "count": 1
          },
          {
            "date": "2025-05-16",
            "count": 1
          },
          {
            "date": "2025-05-18",
            "count": 1
          },
          {
            "date": "2025-05-19",
            "count": 1
          },
          {
            "date": "2025-05-20",
            "count": 1
          },
          {
            "date": "2025-05-23",
            "count": 1
          },
          {
            "date": "2025-05-24",
            "count": 2
          },
          {
            "date": "2025-05-26",
            "count": 2
          },
          {
            "date": "2025-05-28",
            "count": 1
          },
          {
            "date": "2025-05-30",
            "count": 2
          },
          {
            "date": "2025-06-01",
            "count": 2
          },
          {
            "date": "2025-06-02",
            "count": 2
          },
          {
            "date": "2025-06-04",
            "count": 1
          },
          {
            "date": "2025-06-05",
            "count": 3
          },
          {
            "date": "2025-06-08",
            "count": 1
          },
          {
            "date": "2025-06-09",
            "count": 1
          },
          {
            "date": "2025-06-12",
            "count": 1
          },
          {
            "date": "2025-06-17",
            "count": 1
          },
          {
            "date": "2025-06-19",
            "count": 1
          },
          {
            "date": "2025-06-21",
            "count": 1
          },
          {
            "date": "2025-06-22",
            "count": 1
          },
          {
            "date": "2025-06-23",
            "count": 1
          },
          {
            "date": "2025-06-25",
            "count": 1
          },
          {
            "date": "2025-06-27",
            "count": 1
          },
          {
            "date": "2025-06-28",
            "count": 2
          },
          {
            "date": "2025-06-29",
            "count": 1
          },
          {
            "date": "2025-07-02",
            "count": 2
          },
          {
            "date": "2025-07-04",
            "count": 1
          },
          {
            "date": "2025-07-05",
            "count": 1
          },
          {
            "date": "2025-07-07",
            "count": 1
          },
          {
            "date": "2025-07-09",
            "count": 1
          },
          {
            "date": "2025-07-10",
            "count": 1
          },
          {
            "date": "2025-07-12",
            "count": 1
          },
          {
            "date": "2025-07-16",
            "count": 2
          },
          {
            "date": "2025-07-18",
            "count": 2
          },
          {
            "date": "2025-07-23",
            "count": 1
          },
          {
            "date": "2025-07-24",
            "count": 1
          },
          {
            "date": "2025-07-25",
            "count": 3
          },
          {
            "date": "2025-07-26",
            "count": 1
          },
          {
            "date": "2025-07-27",
            "count": 2
          },
          {
            "date": "2025-07-29",
            "count": 2
          },
          {
            "date": "2025-07-30",
            "count": 1
          },
          {
            "date": "2025-08-01",
            "count": 1
          },
          {
            "date": "2025-08-03",
            "count": 2
          },
          {
            "date": "2025-08-04",
            "count": 1
          },
          {
            "date": "2025-08-05",
            "count": 1
          },
          {
            "date": "2025-08-06",
            "count": 2
          },
          {
            "date": "2025-08-07",
            "count": 1
          },
          {
            "date": "2025-08-08",
            "count": 1
          },
          {
            "date": "2025-08-10",
            "count": 1
          },
          {
            "date": "2025-08-11",
            "count": 2
          },
          {
            "date": "2025-08-12",
            "count": 2
          },
          {
            "date": "2025-08-13",
            "count": 2
          },
          {
            "date": "2025-08-14",
            "count": 1
          },
          {
            "date": "2025-08-15",
            "count": 1
          },
          {
            "date": "2025-08-16",
            "count": 2
          },
          {
            "date": "2025-08-18",
            "count": 1
          },
          {
            "date": "2025-08-20",
            "count": 1
          },
          {
            "date": "2025-08-21",
            "count": 2
          },
          {
            "date": "2025-08-22",
            "count": 5
          },
          {
            "date": "2025-08-23",
            "count": 2
          },
          {
            "date": "2025-08-24",
            "count": 2
          },
          {
            "date": "2025-08-25",
            "count": 2
          },
          {
            "date": "2025-08-26",
            "count": 3
          },
          {
            "date": "2025-08-29",
            "count": 1
          },
          {
            "date": "2025-08-30",
            "count": 3
          },
          {
            "date": "2025-09-01",
            "count": 1
          },
          {
            "date": "2025-09-03",
            "count": 1
          },
          {
            "date": "2025-09-07",
            "count": 1
          },
          {
            "date": "2025-09-09",
            "count": 2
          },
          {
            "date": "2025-09-10",
            "count": 1
          },
          {
            "date": "2025-09-11",
            "count": 2
          },
          {
            "date": "2025-09-12",
            "count": 2
          },
          {
            "date": "2025-09-14",
            "count": 1
          },
          {
            "date": "2025-09-16",
            "count": 3
          },
          {
            "date": "2025-09-19",
            "count": 1
          },
          {
            "date": "2025-09-20",
            "count": 1
          },
          {
            "date": "2025-09-21",
            "count": 2
          },
          {
            "date": "2025-09-23",
            "count": 2
          },
          {
            "date": "2025-09-24",
            "count": 2
          },
          {
            "date": "2025-09-25",
            "count": 1
          },
          {
            "date": "2025-09-26",
            "count": 1
          },
          {
            "date": "2025-09-28",
            "count": 2
          },
          {
            "date": "2025-09-30",
            "count": 1
          },
          {
            "date": "2025-10-03",
            "count": 2
          },
          {
            "date": "2025-10-05",
            "count": 1
          },
          {
            "date": "2025-10-06",
            "count": 3
          },
          {
            "date": "2025-10-08",
            "count": 1
          },
          {
            "date": "2025-10-09",
            "count": 1
          },
          {
            "date": "2025-10-11",
            "count": 1
          },
          {
            "date": "2025-10-13",
            "count": 2
          },
          {
            "date": "2025-10-14",
            "count": 3
          },
          {
            "date": "2025-10-15",
            "count": 1
          },
          {
            "date": "2025-10-16",
            "count": 1
          },
          {
            "date": "2025-10-21",
            "count": 1
          },
          {
            "date": "2025-10-22",
            "count": 1
          },
          {
            "date": "2025-10-23",
            "count": 1
          },
          {
            "date": "2025-10-24",
            "count": 1
          },
          {
            "date": "2025-10-25",
            "count": 2
          },
          {
            "date": "2025-10-26",
            "count": 1
          },
          {
            "date": "2025-11-01",
            "count": 2
          },
          {
            "date": "2025-11-03",
            "count": 2
          },
          {
            "date": "2025-11-05",
            "count": 3
          },
          {
            "date": "2025-11-08",
            "count": 1
          },
          {
            "date": "2025-11-10",
            "count": 1
          },
          {
            "date": "2025-11-11",
            "count": 1
          },
          {
            "date": "2025-11-18",
            "count": 1
          },
          {
            "date": "2025-11-23",
            "count": 3
          },
          {
            "date": "2025-11-24",
            "count": 1
          },
          {
            "date": "2025-11-27",
            "count": 1
          },
          {
            "date": "2025-11-28",
            "count": 1
          },
          {
            "date": "2025-12-02",
            "count": 1
          },
          {
            "date": "2025-12-03",
            "count": 1
          },
          {
            "date": "2025-12-04",
            "count": 2
          },
          {
            "date": "2025-12-05",
            "count": 1
          },
          {
            "date": "2025-12-06",
            "count": 1
          },
          {
            "date": "2025-12-08",
            "count": 2
          },
          {
            "date": "2025-12-12",
            "count": 2
          },
          {
            "date": "2025-12-18",
            "count": 1
          },
          {
            "date": "2025-12-26",
            "count": 1
          },
          {
            "date": "2025-12-28",
            "count": 1
          },
          {
            "date": "2026-01-01",
            "count": 1
          },
          {
            "date": "2026-01-07",
            "count": 1
          },
          {
            "date": "2026-01-10",
            "count": 3
          },
          {
            "date": "2026-01-12",
            "count": 1
          },
          {
            "date": "2026-01-13",
            "count": 1
          },
          {
            "date": "2026-01-14",
            "count": 1
          },
          {
            "date": "2026-01-18",
            "count": 1
          },
          {
            "date": "2026-01-19",
            "count": 3
          },
          {
            "date": "2026-01-20",
            "count": 1
          },
          {
            "date": "2026-01-24",
            "count": 1
          },
          {
            "date": "2026-01-27",
            "count": 1
          },
          {
            "date": "2026-01-28",
            "count": 1
          },
          {
            "date": "2026-01-31",
            "count": 1
          },
          {
            "date": "2026-02-01",
            "count": 2
          },
          {
            "date": "2026-02-03",
            "count": 1
          },
          {
            "date": "2026-02-04",
            "count": 1
          },
          {
            "date": "2026-02-05",
            "count": 1
          },
          {
            "date": "2026-02-06",
            "count": 1
          },
          {
            "date": "2026-02-07",
            "count": 2
          },
          {
            "date": "2026-02-11",
            "count": 1
          },
          {
            "date": "2026-02-13",
            "count": 2
          },
          {
            "date": "2026-02-14",
            "count": 1
          },
          {
            "date": "2026-02-15",
            "count": 1
          },
          {
            "date": "2026-02-17",
            "count": 2
          },
          {
            "date": "2026-02-18",
            "count": 1
          },
          {
            "date": "2026-02-19",
            "count": 1
          },
          {
            "date": "2026-02-20",
            "count": 1
          },
          {
            "date": "2026-02-21",
            "count": 1
          },
          {
            "date": "2026-02-22",
            "count": 2
          },
          {
            "date": "2026-02-24",
            "count": 1
          },
          {
            "date": "2026-02-25",
            "count": 2
          },
          {
            "date": "2026-03-03",
            "count": 1
          },
          {
            "date": "2026-03-04",
            "count": 1
          },
          {
            "date": "2026-03-05",
            "count": 3
          },
          {
            "date": "2026-03-08",
            "count": 1
          },
          {
            "date": "2026-03-09",
            "count": 1
          },
          {
            "date": "2026-03-11",
            "count": 1
          },
          {
            "date": "2026-03-13",
            "count": 2
          },
          {
            "date": "2026-03-14",
            "count": 2
          },
          {
            "date": "2026-03-17",
            "count": 2
          },
          {
            "date": "2026-03-19",
            "count": 2
          },
          {
            "date": "2026-03-23",
            "count": 2
          },
          {
            "date": "2026-03-26",
            "count": 1
          },
          {
            "date": "2026-03-28",
            "count": 1
          },
          {
            "date": "2026-03-29",
            "count": 1
          },
          {
            "date": "2026-03-30",
            "count": 1
          },
          {
            "date": "2026-03-31",
            "count": 1
          },
          {
            "date": "2026-04-04",
            "count": 1
          },
          {
            "date": "2026-04-06",
            "count": 2
          },
          {
            "date": "2026-04-08",
            "count": 1
          },
          {
            "date": "2026-04-10",
            "count": 1
          },
          {
            "date": "2026-04-11",
            "count": 1
          },
          {
            "date": "2026-04-14",
            "count": 1
          },
          {
            "date": "2026-04-15",
            "count": 1
          },
          {
            "date": "2026-04-16",
            "count": 1
          },
          {
            "date": "2026-04-18",
            "count": 1
          },
          {
            "date": "2026-04-22",
            "count": 1
          },
          {
            "date": "2026-04-29",
            "count": 2
          },
          {
            "date": "2026-05-03",
            "count": 2
          },
          {
            "date": "2026-05-05",
            "count": 1
          },
          {
            "date": "2026-05-07",
            "count": 2
          },
          {
            "date": "2026-05-11",
            "count": 1
          },
          {
            "date": "2026-05-12",
            "count": 1
          },
          {
            "date": "2026-05-14",
            "count": 1
          },
          {
            "date": "2026-05-15",
            "count": 1
          },
          {
            "date": "2026-05-17",
            "count": 2
          },
          {
            "date": "2026-05-18",
            "count": 1
          },
          {
            "date": "2026-05-19",
            "count": 2
          },
          {
            "date": "2026-05-20",
            "count": 1
          },
          {
            "date": "2026-05-22",
            "count": 1
          },
          {
            "date": "2026-05-24",
            "count": 2
          },
          {
            "date": "2026-05-29",
            "count": 1
          },
          {
            "date": "2026-05-31",
            "count": 1
          },
          {
            "date": "2026-06-01",
            "count": 2
          },
          {
            "date": "2026-06-02",
            "count": 2
          },
          {
            "date": "2026-06-03",
            "count": 2
          },
          {
            "date": "2026-06-05",
            "count": 1
          },
          {
            "date": "2026-06-06",
            "count": 1
          },
          {
            "date": "2026-06-08",
            "count": 1
          },
          {
            "date": "2026-06-09",
            "count": 1
          },
          {
            "date": "2026-06-10",
            "count": 1
          },
          {
            "date": "2026-06-14",
            "count": 2
          },
          {
            "date": "2026-06-15",
            "count": 2
          },
          {
            "date": "2026-06-16",
            "count": 1
          },
          {
            "date": "2026-06-17",
            "count": 3
          },
          {
            "date": "2026-06-19",
            "count": 1
          },
          {
            "date": "2026-06-21",
            "count": 2
          },
          {
            "date": "2026-06-27",
            "count": 1
          },
          {
            "date": "2026-06-28",
            "count": 1
          },
          {
            "date": "2026-07-01",
            "count": 1
          },
          {
            "date": "2026-07-02",
            "count": 2
          },
          {
            "date": "2026-07-04",
            "count": 1
          },
          {
            "date": "2026-07-05",
            "count": 2
          },
          {
            "date": "2026-07-07",
            "count": 1
          },
          {
            "date": "2026-07-14",
            "count": 2
          },
          {
            "date": "2026-07-18",
            "count": 1
          },
          {
            "date": "2026-07-21",
            "count": 1
          }
        ],
        "complete": false,
        "collected": 1000,
        "total_forks": 6406
      },
      "star_history": {
        "days": [
          {
            "date": "2024-10-16",
            "count": 2
          },
          {
            "date": "2024-10-17",
            "count": 1
          },
          {
            "date": "2024-10-18",
            "count": 1
          },
          {
            "date": "2024-10-20",
            "count": 3
          },
          {
            "date": "2024-10-21",
            "count": 1
          },
          {
            "date": "2024-10-22",
            "count": 2
          },
          {
            "date": "2024-10-23",
            "count": 4
          },
          {
            "date": "2024-10-24",
            "count": 1
          },
          {
            "date": "2024-10-25",
            "count": 4
          },
          {
            "date": "2024-10-26",
            "count": 1
          },
          {
            "date": "2024-10-27",
            "count": 3
          },
          {
            "date": "2024-10-29",
            "count": 2
          },
          {
            "date": "2024-10-30",
            "count": 3
          },
          {
            "date": "2024-10-31",
            "count": 1
          },
          {
            "date": "2024-11-03",
            "count": 1
          },
          {
            "date": "2024-11-04",
            "count": 1
          },
          {
            "date": "2024-11-05",
            "count": 2
          },
          {
            "date": "2024-11-06",
            "count": 1
          },
          {
            "date": "2024-11-07",
            "count": 3
          },
          {
            "date": "2024-11-09",
            "count": 2
          },
          {
            "date": "2024-11-10",
            "count": 4
          },
          {
            "date": "2024-11-11",
            "count": 2
          },
          {
            "date": "2024-11-14",
            "count": 3
          },
          {
            "date": "2024-11-16",
            "count": 2
          },
          {
            "date": "2024-11-17",
            "count": 3
          },
          {
            "date": "2024-11-18",
            "count": 5
          },
          {
            "date": "2024-11-20",
            "count": 1
          },
          {
            "date": "2024-11-21",
            "count": 1
          },
          {
            "date": "2024-11-22",
            "count": 1
          },
          {
            "date": "2024-11-23",
            "count": 2
          },
          {
            "date": "2024-11-24",
            "count": 1
          },
          {
            "date": "2024-11-25",
            "count": 3
          },
          {
            "date": "2024-11-26",
            "count": 1
          },
          {
            "date": "2024-11-27",
            "count": 1
          },
          {
            "date": "2024-11-28",
            "count": 1
          },
          {
            "date": "2024-11-29",
            "count": 3
          },
          {
            "date": "2024-11-30",
            "count": 1
          },
          {
            "date": "2024-12-02",
            "count": 4
          },
          {
            "date": "2024-12-03",
            "count": 3
          },
          {
            "date": "2024-12-04",
            "count": 1
          },
          {
            "date": "2024-12-08",
            "count": 2
          },
          {
            "date": "2024-12-09",
            "count": 2
          },
          {
            "date": "2024-12-11",
            "count": 1
          },
          {
            "date": "2024-12-12",
            "count": 1
          },
          {
            "date": "2024-12-13",
            "count": 1
          },
          {
            "date": "2024-12-14",
            "count": 1
          },
          {
            "date": "2024-12-15",
            "count": 1
          },
          {
            "date": "2024-12-16",
            "count": 2
          },
          {
            "date": "2024-12-17",
            "count": 1
          },
          {
            "date": "2024-12-18",
            "count": 1
          },
          {
            "date": "2024-12-19",
            "count": 1
          },
          {
            "date": "2024-12-20",
            "count": 3
          },
          {
            "date": "2024-12-22",
            "count": 1
          },
          {
            "date": "2024-12-23",
            "count": 1
          },
          {
            "date": "2024-12-24",
            "count": 3
          },
          {
            "date": "2024-12-25",
            "count": 1
          },
          {
            "date": "2024-12-26",
            "count": 4
          },
          {
            "date": "2024-12-27",
            "count": 1
          },
          {
            "date": "2024-12-29",
            "count": 5
          },
          {
            "date": "2024-12-30",
            "count": 1
          },
          {
            "date": "2024-12-31",
            "count": 1
          },
          {
            "date": "2025-01-01",
            "count": 1
          },
          {
            "date": "2025-01-02",
            "count": 2
          },
          {
            "date": "2025-01-03",
            "count": 1
          },
          {
            "date": "2025-01-04",
            "count": 1
          },
          {
            "date": "2025-01-05",
            "count": 1
          },
          {
            "date": "2025-01-06",
            "count": 1
          },
          {
            "date": "2025-01-07",
            "count": 2
          },
          {
            "date": "2025-01-10",
            "count": 3
          },
          {
            "date": "2025-01-11",
            "count": 1
          },
          {
            "date": "2025-01-12",
            "count": 2
          },
          {
            "date": "2025-01-13",
            "count": 2
          },
          {
            "date": "2025-01-15",
            "count": 2
          },
          {
            "date": "2025-01-16",
            "count": 2
          },
          {
            "date": "2025-01-17",
            "count": 1
          },
          {
            "date": "2025-01-18",
            "count": 3
          },
          {
            "date": "2025-01-19",
            "count": 2
          },
          {
            "date": "2025-01-21",
            "count": 1
          },
          {
            "date": "2025-01-22",
            "count": 2
          },
          {
            "date": "2025-01-23",
            "count": 3
          },
          {
            "date": "2025-01-25",
            "count": 1
          },
          {
            "date": "2025-01-26",
            "count": 1
          },
          {
            "date": "2025-01-27",
            "count": 1
          },
          {
            "date": "2025-01-28",
            "count": 1
          },
          {
            "date": "2025-01-29",
            "count": 2
          },
          {
            "date": "2025-01-30",
            "count": 1
          },
          {
            "date": "2025-01-31",
            "count": 2
          },
          {
            "date": "2025-02-01",
            "count": 3
          },
          {
            "date": "2025-02-03",
            "count": 1
          },
          {
            "date": "2025-02-04",
            "count": 1
          },
          {
            "date": "2025-02-05",
            "count": 1
          },
          {
            "date": "2025-02-06",
            "count": 3
          },
          {
            "date": "2025-02-07",
            "count": 2
          },
          {
            "date": "2025-02-08",
            "count": 2
          },
          {
            "date": "2025-02-09",
            "count": 2
          },
          {
            "date": "2025-02-10",
            "count": 1
          },
          {
            "date": "2025-02-11",
            "count": 1
          },
          {
            "date": "2025-02-12",
            "count": 3
          },
          {
            "date": "2025-02-14",
            "count": 3
          },
          {
            "date": "2025-02-15",
            "count": 4
          },
          {
            "date": "2025-02-16",
            "count": 2
          },
          {
            "date": "2025-02-17",
            "count": 1
          },
          {
            "date": "2025-02-18",
            "count": 1
          },
          {
            "date": "2025-02-19",
            "count": 1
          },
          {
            "date": "2025-02-20",
            "count": 3
          },
          {
            "date": "2025-02-21",
            "count": 4
          },
          {
            "date": "2025-02-22",
            "count": 4
          },
          {
            "date": "2025-02-23",
            "count": 1
          },
          {
            "date": "2025-02-24",
            "count": 1
          },
          {
            "date": "2025-02-26",
            "count": 4
          },
          {
            "date": "2025-02-27",
            "count": 4
          },
          {
            "date": "2025-02-28",
            "count": 4
          },
          {
            "date": "2025-03-01",
            "count": 2
          },
          {
            "date": "2025-03-02",
            "count": 1
          },
          {
            "date": "2025-03-03",
            "count": 2
          },
          {
            "date": "2025-03-04",
            "count": 2
          },
          {
            "date": "2025-03-05",
            "count": 2
          },
          {
            "date": "2025-03-06",
            "count": 1
          },
          {
            "date": "2025-03-07",
            "count": 2
          },
          {
            "date": "2025-03-08",
            "count": 3
          },
          {
            "date": "2025-03-09",
            "count": 3
          },
          {
            "date": "2025-03-10",
            "count": 4
          },
          {
            "date": "2025-03-11",
            "count": 6
          },
          {
            "date": "2025-03-12",
            "count": 2
          },
          {
            "date": "2025-03-13",
            "count": 1
          },
          {
            "date": "2025-03-14",
            "count": 1
          },
          {
            "date": "2025-03-15",
            "count": 4
          },
          {
            "date": "2025-03-16",
            "count": 2
          },
          {
            "date": "2025-03-17",
            "count": 2
          },
          {
            "date": "2025-03-18",
            "count": 6
          },
          {
            "date": "2025-03-19",
            "count": 3
          },
          {
            "date": "2025-03-20",
            "count": 1
          },
          {
            "date": "2025-03-21",
            "count": 2
          },
          {
            "date": "2025-03-23",
            "count": 3
          },
          {
            "date": "2025-03-24",
            "count": 7
          },
          {
            "date": "2025-03-25",
            "count": 3
          },
          {
            "date": "2025-03-26",
            "count": 3
          },
          {
            "date": "2025-03-27",
            "count": 2
          },
          {
            "date": "2025-03-28",
            "count": 5
          },
          {
            "date": "2025-03-30",
            "count": 4
          },
          {
            "date": "2025-04-01",
            "count": 2
          },
          {
            "date": "2025-04-02",
            "count": 5
          },
          {
            "date": "2025-04-03",
            "count": 1
          },
          {
            "date": "2025-04-04",
            "count": 2
          },
          {
            "date": "2025-04-05",
            "count": 3
          },
          {
            "date": "2025-04-06",
            "count": 2
          },
          {
            "date": "2025-04-07",
            "count": 1
          },
          {
            "date": "2025-04-08",
            "count": 2
          },
          {
            "date": "2025-04-10",
            "count": 1
          },
          {
            "date": "2025-04-11",
            "count": 3
          },
          {
            "date": "2025-04-13",
            "count": 1
          },
          {
            "date": "2025-04-14",
            "count": 1
          },
          {
            "date": "2025-04-15",
            "count": 4
          },
          {
            "date": "2025-04-16",
            "count": 1
          },
          {
            "date": "2025-04-17",
            "count": 3
          },
          {
            "date": "2025-04-18",
            "count": 6
          },
          {
            "date": "2025-04-19",
            "count": 6
          },
          {
            "date": "2025-04-20",
            "count": 5
          },
          {
            "date": "2025-04-21",
            "count": 3
          },
          {
            "date": "2025-04-22",
            "count": 6
          },
          {
            "date": "2025-04-23",
            "count": 3
          },
          {
            "date": "2025-04-24",
            "count": 4
          },
          {
            "date": "2025-04-25",
            "count": 2
          },
          {
            "date": "2025-04-27",
            "count": 1
          },
          {
            "date": "2025-04-28",
            "count": 1
          },
          {
            "date": "2025-04-30",
            "count": 3
          },
          {
            "date": "2025-05-01",
            "count": 1
          },
          {
            "date": "2025-05-02",
            "count": 4
          },
          {
            "date": "2025-05-03",
            "count": 1
          },
          {
            "date": "2025-05-06",
            "count": 4
          },
          {
            "date": "2025-05-07",
            "count": 1
          },
          {
            "date": "2025-05-08",
            "count": 3
          },
          {
            "date": "2025-05-09",
            "count": 1
          },
          {
            "date": "2025-05-10",
            "count": 1
          },
          {
            "date": "2025-05-11",
            "count": 1
          },
          {
            "date": "2025-05-12",
            "count": 1
          },
          {
            "date": "2025-05-14",
            "count": 1
          },
          {
            "date": "2025-05-15",
            "count": 5
          },
          {
            "date": "2025-05-17",
            "count": 2
          },
          {
            "date": "2025-05-18",
            "count": 4
          },
          {
            "date": "2025-05-19",
            "count": 1
          },
          {
            "date": "2025-05-20",
            "count": 2
          },
          {
            "date": "2025-05-21",
            "count": 1
          },
          {
            "date": "2025-05-23",
            "count": 2
          },
          {
            "date": "2025-05-25",
            "count": 3
          },
          {
            "date": "2025-05-26",
            "count": 4
          },
          {
            "date": "2025-05-27",
            "count": 2
          },
          {
            "date": "2025-05-28",
            "count": 1
          },
          {
            "date": "2025-05-29",
            "count": 2
          },
          {
            "date": "2025-05-30",
            "count": 1
          },
          {
            "date": "2025-06-01",
            "count": 1
          },
          {
            "date": "2025-06-02",
            "count": 3
          },
          {
            "date": "2025-06-03",
            "count": 2
          },
          {
            "date": "2025-06-04",
            "count": 3
          },
          {
            "date": "2025-06-05",
            "count": 1
          },
          {
            "date": "2025-06-06",
            "count": 2
          },
          {
            "date": "2025-06-07",
            "count": 2
          },
          {
            "date": "2025-06-08",
            "count": 5
          },
          {
            "date": "2025-06-10",
            "count": 1
          },
          {
            "date": "2025-06-11",
            "count": 1
          },
          {
            "date": "2025-06-12",
            "count": 2
          },
          {
            "date": "2025-06-13",
            "count": 2
          },
          {
            "date": "2025-06-15",
            "count": 2
          },
          {
            "date": "2025-06-16",
            "count": 1
          },
          {
            "date": "2025-06-17",
            "count": 1
          },
          {
            "date": "2025-06-18",
            "count": 5
          },
          {
            "date": "2025-06-19",
            "count": 2
          },
          {
            "date": "2025-06-20",
            "count": 1
          },
          {
            "date": "2025-06-21",
            "count": 1
          },
          {
            "date": "2025-06-22",
            "count": 5
          },
          {
            "date": "2025-06-23",
            "count": 1
          },
          {
            "date": "2025-06-25",
            "count": 2
          },
          {
            "date": "2025-06-26",
            "count": 2
          },
          {
            "date": "2025-06-27",
            "count": 2
          },
          {
            "date": "2025-06-28",
            "count": 2
          },
          {
            "date": "2025-06-29",
            "count": 1
          },
          {
            "date": "2025-06-30",
            "count": 2
          },
          {
            "date": "2025-07-01",
            "count": 1
          },
          {
            "date": "2025-07-02",
            "count": 1
          },
          {
            "date": "2025-07-03",
            "count": 1
          },
          {
            "date": "2025-07-04",
            "count": 2
          },
          {
            "date": "2025-07-05",
            "count": 2
          },
          {
            "date": "2025-07-06",
            "count": 1
          },
          {
            "date": "2025-07-10",
            "count": 2
          },
          {
            "date": "2025-07-11",
            "count": 2
          },
          {
            "date": "2025-07-12",
            "count": 3
          },
          {
            "date": "2025-07-14",
            "count": 4
          },
          {
            "date": "2025-07-15",
            "count": 2
          },
          {
            "date": "2025-07-16",
            "count": 2
          },
          {
            "date": "2025-07-17",
            "count": 2
          },
          {
            "date": "2025-07-18",
            "count": 2
          },
          {
            "date": "2025-07-19",
            "count": 2
          },
          {
            "date": "2025-07-20",
            "count": 1
          },
          {
            "date": "2025-07-21",
            "count": 2
          },
          {
            "date": "2025-07-22",
            "count": 2
          },
          {
            "date": "2025-07-23",
            "count": 3
          },
          {
            "date": "2025-07-24",
            "count": 2
          },
          {
            "date": "2025-07-25",
            "count": 2
          },
          {
            "date": "2025-07-26",
            "count": 1
          },
          {
            "date": "2025-07-27",
            "count": 1
          },
          {
            "date": "2025-07-28",
            "count": 2
          },
          {
            "date": "2025-07-30",
            "count": 1
          },
          {
            "date": "2025-07-31",
            "count": 2
          },
          {
            "date": "2025-08-01",
            "count": 1
          },
          {
            "date": "2025-08-02",
            "count": 3
          },
          {
            "date": "2025-08-04",
            "count": 1
          },
          {
            "date": "2025-08-05",
            "count": 2
          },
          {
            "date": "2025-08-06",
            "count": 2
          },
          {
            "date": "2025-08-07",
            "count": 4
          },
          {
            "date": "2025-08-08",
            "count": 1
          },
          {
            "date": "2025-08-09",
            "count": 2
          },
          {
            "date": "2025-08-11",
            "count": 1
          },
          {
            "date": "2025-08-12",
            "count": 3
          },
          {
            "date": "2025-08-13",
            "count": 1
          },
          {
            "date": "2025-08-14",
            "count": 4
          },
          {
            "date": "2025-08-15",
            "count": 1
          },
          {
            "date": "2025-08-16",
            "count": 3
          },
          {
            "date": "2025-08-17",
            "count": 2
          },
          {
            "date": "2025-08-18",
            "count": 3
          },
          {
            "date": "2025-08-19",
            "count": 2
          },
          {
            "date": "2025-08-20",
            "count": 3
          },
          {
            "date": "2025-08-21",
            "count": 1
          },
          {
            "date": "2025-08-22",
            "count": 2
          },
          {
            "date": "2025-08-23",
            "count": 1
          },
          {
            "date": "2025-08-24",
            "count": 1
          },
          {
            "date": "2025-08-25",
            "count": 6
          },
          {
            "date": "2025-08-26",
            "count": 2
          },
          {
            "date": "2025-08-27",
            "count": 1
          },
          {
            "date": "2025-08-28",
            "count": 2
          },
          {
            "date": "2025-08-29",
            "count": 1
          },
          {
            "date": "2025-08-30",
            "count": 3
          },
          {
            "date": "2025-08-31",
            "count": 1
          },
          {
            "date": "2025-09-01",
            "count": 1
          },
          {
            "date": "2025-09-03",
            "count": 3
          },
          {
            "date": "2025-09-04",
            "count": 3
          },
          {
            "date": "2025-09-05",
            "count": 1
          },
          {
            "date": "2025-09-06",
            "count": 2
          },
          {
            "date": "2025-09-07",
            "count": 2
          },
          {
            "date": "2025-09-08",
            "count": 2
          },
          {
            "date": "2025-09-09",
            "count": 1
          },
          {
            "date": "2025-09-10",
            "count": 5
          },
          {
            "date": "2025-09-11",
            "count": 4
          },
          {
            "date": "2025-09-12",
            "count": 6
          },
          {
            "date": "2025-09-14",
            "count": 2
          },
          {
            "date": "2025-09-16",
            "count": 2
          },
          {
            "date": "2025-09-17",
            "count": 3
          },
          {
            "date": "2025-09-18",
            "count": 2
          },
          {
            "date": "2025-09-19",
            "count": 2
          },
          {
            "date": "2025-09-20",
            "count": 3
          },
          {
            "date": "2025-09-21",
            "count": 4
          },
          {
            "date": "2025-09-22",
            "count": 1
          },
          {
            "date": "2025-09-23",
            "count": 1
          },
          {
            "date": "2025-09-24",
            "count": 1
          },
          {
            "date": "2025-09-26",
            "count": 2
          },
          {
            "date": "2025-09-27",
            "count": 1
          },
          {
            "date": "2025-09-28",
            "count": 3
          },
          {
            "date": "2025-09-29",
            "count": 1
          },
          {
            "date": "2025-09-30",
            "count": 1
          },
          {
            "date": "2025-10-01",
            "count": 4
          },
          {
            "date": "2025-10-02",
            "count": 2
          },
          {
            "date": "2025-10-04",
            "count": 2
          },
          {
            "date": "2025-10-06",
            "count": 2
          },
          {
            "date": "2025-10-07",
            "count": 4
          },
          {
            "date": "2025-10-08",
            "count": 1
          },
          {
            "date": "2025-10-12",
            "count": 1
          },
          {
            "date": "2025-10-13",
            "count": 2
          },
          {
            "date": "2025-10-14",
            "count": 1
          },
          {
            "date": "2025-10-15",
            "count": 2
          },
          {
            "date": "2025-10-16",
            "count": 3
          },
          {
            "date": "2025-10-17",
            "count": 2
          },
          {
            "date": "2025-10-18",
            "count": 1
          },
          {
            "date": "2025-10-19",
            "count": 2
          },
          {
            "date": "2025-10-20",
            "count": 1
          },
          {
            "date": "2025-10-21",
            "count": 2
          },
          {
            "date": "2025-10-22",
            "count": 1
          },
          {
            "date": "2025-10-23",
            "count": 3
          },
          {
            "date": "2025-10-24",
            "count": 2
          },
          {
            "date": "2025-10-26",
            "count": 1
          },
          {
            "date": "2025-10-29",
            "count": 1
          },
          {
            "date": "2025-10-30",
            "count": 1
          },
          {
            "date": "2025-10-31",
            "count": 1
          },
          {
            "date": "2025-11-01",
            "count": 1
          },
          {
            "date": "2025-11-02",
            "count": 4
          },
          {
            "date": "2025-11-03",
            "count": 2
          },
          {
            "date": "2025-11-05",
            "count": 1
          },
          {
            "date": "2025-11-07",
            "count": 3
          },
          {
            "date": "2025-11-09",
            "count": 1
          },
          {
            "date": "2025-11-11",
            "count": 2
          },
          {
            "date": "2025-11-12",
            "count": 1
          },
          {
            "date": "2025-11-13",
            "count": 2
          },
          {
            "date": "2025-11-14",
            "count": 1
          },
          {
            "date": "2025-11-15",
            "count": 1
          },
          {
            "date": "2025-11-16",
            "count": 1
          },
          {
            "date": "2025-11-17",
            "count": 3
          },
          {
            "date": "2025-11-18",
            "count": 3
          },
          {
            "date": "2025-11-19",
            "count": 2
          },
          {
            "date": "2025-11-20",
            "count": 2
          },
          {
            "date": "2025-11-21",
            "count": 1
          },
          {
            "date": "2025-11-22",
            "count": 1
          },
          {
            "date": "2025-11-28",
            "count": 2
          },
          {
            "date": "2025-11-29",
            "count": 1
          },
          {
            "date": "2025-11-30",
            "count": 1
          },
          {
            "date": "2025-12-01",
            "count": 1
          },
          {
            "date": "2025-12-02",
            "count": 2
          },
          {
            "date": "2025-12-03",
            "count": 1
          },
          {
            "date": "2025-12-04",
            "count": 1
          },
          {
            "date": "2025-12-05",
            "count": 2
          },
          {
            "date": "2025-12-06",
            "count": 1
          },
          {
            "date": "2025-12-07",
            "count": 2
          },
          {
            "date": "2025-12-08",
            "count": 4
          },
          {
            "date": "2025-12-11",
            "count": 2
          },
          {
            "date": "2025-12-12",
            "count": 1
          },
          {
            "date": "2025-12-13",
            "count": 1
          },
          {
            "date": "2025-12-14",
            "count": 1
          },
          {
            "date": "2025-12-17",
            "count": 1
          },
          {
            "date": "2025-12-18",
            "count": 1
          },
          {
            "date": "2025-12-19",
            "count": 3
          },
          {
            "date": "2025-12-20",
            "count": 4
          },
          {
            "date": "2025-12-21",
            "count": 2
          },
          {
            "date": "2025-12-22",
            "count": 4
          },
          {
            "date": "2025-12-23",
            "count": 2
          },
          {
            "date": "2025-12-24",
            "count": 1
          },
          {
            "date": "2025-12-25",
            "count": 1
          },
          {
            "date": "2025-12-27",
            "count": 3
          },
          {
            "date": "2025-12-28",
            "count": 1
          },
          {
            "date": "2025-12-29",
            "count": 2
          },
          {
            "date": "2025-12-30",
            "count": 2
          },
          {
            "date": "2026-01-02",
            "count": 1
          },
          {
            "date": "2026-01-03",
            "count": 2
          },
          {
            "date": "2026-01-04",
            "count": 1
          },
          {
            "date": "2026-01-07",
            "count": 4
          },
          {
            "date": "2026-01-08",
            "count": 1
          },
          {
            "date": "2026-01-09",
            "count": 2
          },
          {
            "date": "2026-01-10",
            "count": 6
          },
          {
            "date": "2026-01-11",
            "count": 1
          },
          {
            "date": "2026-01-12",
            "count": 1
          },
          {
            "date": "2026-01-16",
            "count": 1
          },
          {
            "date": "2026-01-17",
            "count": 2
          },
          {
            "date": "2026-01-18",
            "count": 2
          },
          {
            "date": "2026-01-19",
            "count": 2
          },
          {
            "date": "2026-01-20",
            "count": 1
          },
          {
            "date": "2026-01-21",
            "count": 4
          },
          {
            "date": "2026-01-24",
            "count": 1
          },
          {
            "date": "2026-01-25",
            "count": 1
          },
          {
            "date": "2026-01-27",
            "count": 1
          },
          {
            "date": "2026-01-28",
            "count": 2
          },
          {
            "date": "2026-01-29",
            "count": 3
          },
          {
            "date": "2026-01-31",
            "count": 1
          },
          {
            "date": "2026-02-01",
            "count": 4
          },
          {
            "date": "2026-02-02",
            "count": 1
          },
          {
            "date": "2026-02-03",
            "count": 1
          },
          {
            "date": "2026-02-04",
            "count": 2
          },
          {
            "date": "2026-02-05",
            "count": 1
          },
          {
            "date": "2026-02-10",
            "count": 1
          },
          {
            "date": "2026-02-11",
            "count": 2
          },
          {
            "date": "2026-02-12",
            "count": 1
          },
          {
            "date": "2026-02-13",
            "count": 1
          },
          {
            "date": "2026-02-14",
            "count": 1
          },
          {
            "date": "2026-02-15",
            "count": 1
          },
          {
            "date": "2026-02-17",
            "count": 2
          },
          {
            "date": "2026-02-18",
            "count": 1
          },
          {
            "date": "2026-02-20",
            "count": 1
          },
          {
            "date": "2026-02-22",
            "count": 2
          },
          {
            "date": "2026-02-23",
            "count": 4
          },
          {
            "date": "2026-02-24",
            "count": 3
          },
          {
            "date": "2026-02-25",
            "count": 3
          },
          {
            "date": "2026-02-27",
            "count": 3
          },
          {
            "date": "2026-03-03",
            "count": 1
          },
          {
            "date": "2026-03-04",
            "count": 1
          },
          {
            "date": "2026-03-05",
            "count": 1
          },
          {
            "date": "2026-03-06",
            "count": 1
          },
          {
            "date": "2026-03-10",
            "count": 4
          },
          {
            "date": "2026-03-11",
            "count": 1
          },
          {
            "date": "2026-03-12",
            "count": 2
          },
          {
            "date": "2026-03-13",
            "count": 2
          },
          {
            "date": "2026-03-14",
            "count": 1
          },
          {
            "date": "2026-03-15",
            "count": 2
          },
          {
            "date": "2026-03-16",
            "count": 1
          },
          {
            "date": "2026-03-17",
            "count": 3
          },
          {
            "date": "2026-03-19",
            "count": 2
          },
          {
            "date": "2026-03-21",
            "count": 2
          },
          {
            "date": "2026-03-22",
            "count": 3
          },
          {
            "date": "2026-03-23",
            "count": 2
          },
          {
            "date": "2026-03-24",
            "count": 1
          },
          {
            "date": "2026-03-25",
            "count": 1
          },
          {
            "date": "2026-03-26",
            "count": 1
          },
          {
            "date": "2026-03-28",
            "count": 2
          },
          {
            "date": "2026-03-31",
            "count": 2
          },
          {
            "date": "2026-04-02",
            "count": 1
          },
          {
            "date": "2026-04-03",
            "count": 3
          },
          {
            "date": "2026-04-07",
            "count": 2
          },
          {
            "date": "2026-04-08",
            "count": 3
          },
          {
            "date": "2026-04-09",
            "count": 1
          },
          {
            "date": "2026-04-10",
            "count": 1
          },
          {
            "date": "2026-04-11",
            "count": 1
          },
          {
            "date": "2026-04-14",
            "count": 2
          },
          {
            "date": "2026-04-17",
            "count": 1
          },
          {
            "date": "2026-04-18",
            "count": 2
          },
          {
            "date": "2026-04-19",
            "count": 2
          },
          {
            "date": "2026-04-20",
            "count": 3
          },
          {
            "date": "2026-04-21",
            "count": 3
          },
          {
            "date": "2026-04-22",
            "count": 1
          },
          {
            "date": "2026-04-24",
            "count": 2
          },
          {
            "date": "2026-04-27",
            "count": 3
          },
          {
            "date": "2026-04-28",
            "count": 2
          },
          {
            "date": "2026-04-29",
            "count": 1
          },
          {
            "date": "2026-04-30",
            "count": 1
          },
          {
            "date": "2026-05-01",
            "count": 1
          },
          {
            "date": "2026-05-03",
            "count": 1
          },
          {
            "date": "2026-05-06",
            "count": 2
          },
          {
            "date": "2026-05-07",
            "count": 1
          },
          {
            "date": "2026-05-09",
            "count": 2
          },
          {
            "date": "2026-05-10",
            "count": 1
          },
          {
            "date": "2026-05-12",
            "count": 1
          },
          {
            "date": "2026-05-13",
            "count": 3
          },
          {
            "date": "2026-05-15",
            "count": 1
          },
          {
            "date": "2026-05-16",
            "count": 1
          },
          {
            "date": "2026-05-17",
            "count": 1
          },
          {
            "date": "2026-05-18",
            "count": 2
          },
          {
            "date": "2026-05-19",
            "count": 2
          },
          {
            "date": "2026-05-20",
            "count": 2
          },
          {
            "date": "2026-05-22",
            "count": 2
          },
          {
            "date": "2026-05-23",
            "count": 3
          },
          {
            "date": "2026-05-24",
            "count": 2
          },
          {
            "date": "2026-05-28",
            "count": 1
          },
          {
            "date": "2026-05-29",
            "count": 2
          },
          {
            "date": "2026-05-30",
            "count": 1
          },
          {
            "date": "2026-05-31",
            "count": 3
          },
          {
            "date": "2026-06-02",
            "count": 1
          },
          {
            "date": "2026-06-03",
            "count": 3
          },
          {
            "date": "2026-06-04",
            "count": 1
          },
          {
            "date": "2026-06-05",
            "count": 2
          },
          {
            "date": "2026-06-06",
            "count": 4
          },
          {
            "date": "2026-06-07",
            "count": 1
          },
          {
            "date": "2026-06-08",
            "count": 1
          },
          {
            "date": "2026-06-09",
            "count": 3
          },
          {
            "date": "2026-06-10",
            "count": 2
          },
          {
            "date": "2026-06-12",
            "count": 2
          },
          {
            "date": "2026-06-13",
            "count": 2
          },
          {
            "date": "2026-06-16",
            "count": 1
          },
          {
            "date": "2026-06-17",
            "count": 2
          },
          {
            "date": "2026-06-18",
            "count": 2
          },
          {
            "date": "2026-06-20",
            "count": 3
          },
          {
            "date": "2026-06-24",
            "count": 3
          },
          {
            "date": "2026-06-25",
            "count": 1
          },
          {
            "date": "2026-06-27",
            "count": 2
          },
          {
            "date": "2026-06-29",
            "count": 2
          },
          {
            "date": "2026-07-01",
            "count": 3
          },
          {
            "date": "2026-07-03",
            "count": 2
          },
          {
            "date": "2026-07-05",
            "count": 3
          },
          {
            "date": "2026-07-07",
            "count": 2
          },
          {
            "date": "2026-07-08",
            "count": 1
          },
          {
            "date": "2026-07-09",
            "count": 1
          },
          {
            "date": "2026-07-10",
            "count": 1
          },
          {
            "date": "2026-07-11",
            "count": 1
          },
          {
            "date": "2026-07-15",
            "count": 1
          },
          {
            "date": "2026-07-16",
            "count": 1
          },
          {
            "date": "2026-07-20",
            "count": 1
          },
          {
            "date": "2026-07-21",
            "count": 2
          }
        ],
        "complete": false,
        "collected": 1000,
        "total_stars": 13942
      },
      "open_issues_and_prs": 24
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [
        "account-service/pom.xml",
        "auth-service/pom.xml",
        "config/pom.xml",
        "gateway/pom.xml",
        "monitoring/pom.xml",
        "notification-service/pom.xml",
        "pom.xml",
        "registry/pom.xml",
        "statistics-service/pom.xml",
        "turbine-stream-service/pom.xml"
      ],
      "largest_source_bytes": 93434,
      "source_files_sampled": 105,
      "oversized_source_files": 2,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "account-service/pom.xml",
        "auth-service/pom.xml",
        "config/pom.xml",
        "gateway/pom.xml",
        "monitoring/pom.xml",
        "notification-service/pom.xml",
        "pom.xml",
        "registry/pom.xml",
        "statistics-service/pom.xml",
        "turbine-stream-service/pom.xml"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "com.google.guava:guava",
            "direct": true,
            "version": "19.0",
            "severity": "moderate",
            "ecosystem": "maven",
            "cvss_score": 5.9,
            "advisory_ids": [
              "GHSA-5mg8-w23w-74h3",
              "GHSA-7g45-4rm6-3mm3",
              "GHSA-mvr2-9pj6-7w5j"
            ],
            "fixed_version": "32.0.0-android",
            "advisory_count": 3,
            "oldest_advisory_days": 2227
          },
          {
            "name": "com.jayway.jsonpath:json-path",
            "direct": false,
            "version": "2.2.0",
            "severity": "moderate",
            "ecosystem": "maven",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-pfh2-hfmq-phg5"
            ],
            "fixed_version": "2.9.0",
            "advisory_count": 1,
            "oldest_advisory_days": 937
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "moderate": 2
        },
        "advisory_count": 4,
        "affected_count": 2,
        "assessed_count": 5,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 22,
        "direct_affected_count": 1
      },
      "ecosystems": [
        "maven"
      ],
      "dependencies": [
        {
          "name": "org.springframework.cloud:spring-cloud-starter-oauth2",
          "manifest": "account-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.boot:spring-boot-starter-security",
          "manifest": "account-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-config",
          "manifest": "account-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.boot:spring-boot-starter-web",
          "manifest": "account-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-openfeign",
          "manifest": "account-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-netflix-eureka-client",
          "manifest": "account-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-sleuth",
          "manifest": "account-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.boot:spring-boot-starter-data-mongodb",
          "manifest": "account-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.boot:spring-boot-starter-actuator",
          "manifest": "account-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-bus-amqp",
          "manifest": "account-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-netflix-hystrix",
          "manifest": "account-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-netflix-hystrix-stream",
          "manifest": "account-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.boot:spring-boot-starter-data-mongodb",
          "manifest": "auth-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-config",
          "manifest": "auth-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.boot:spring-boot-starter-security",
          "manifest": "auth-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-oauth2",
          "manifest": "auth-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.boot:spring-boot-starter-web",
          "manifest": "auth-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-netflix-eureka-client",
          "manifest": "auth-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-sleuth",
          "manifest": "auth-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-config-server",
          "manifest": "config/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.boot:spring-boot-starter-security",
          "manifest": "config/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-netflix-zuul",
          "manifest": "gateway/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-config",
          "manifest": "gateway/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter",
          "manifest": "gateway/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-netflix-eureka-client",
          "manifest": "gateway/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-sleuth",
          "manifest": "gateway/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-config",
          "manifest": "monitoring/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-netflix-hystrix-dashboard",
          "manifest": "monitoring/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-oauth2",
          "manifest": "notification-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.boot:spring-boot-starter-security",
          "manifest": "notification-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-config",
          "manifest": "notification-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.boot:spring-boot-starter-web",
          "manifest": "notification-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-openfeign",
          "manifest": "notification-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-netflix-eureka-client",
          "manifest": "notification-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-sleuth",
          "manifest": "notification-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.boot:spring-boot-starter-data-mongodb",
          "manifest": "notification-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.boot:spring-boot-starter-actuator",
          "manifest": "notification-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-bus-amqp",
          "manifest": "notification-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-netflix-hystrix-stream",
          "manifest": "notification-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.boot:spring-boot-starter-mail",
          "manifest": "notification-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-dependencies",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spring-cloud.version}"
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-netflix-eureka-server",
          "manifest": "registry/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-config",
          "manifest": "registry/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.boot:spring-boot-starter-security",
          "manifest": "statistics-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-config",
          "manifest": "statistics-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-oauth2",
          "manifest": "statistics-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.boot:spring-boot-starter-web",
          "manifest": "statistics-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-openfeign",
          "manifest": "statistics-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-netflix-eureka-client",
          "manifest": "statistics-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-sleuth",
          "manifest": "statistics-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.boot:spring-boot-starter-data-mongodb",
          "manifest": "statistics-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.boot:spring-boot-starter-actuator",
          "manifest": "statistics-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-bus-amqp",
          "manifest": "statistics-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-netflix-hystrix-stream",
          "manifest": "statistics-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "com.google.guava:guava",
          "manifest": "statistics-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "19.0"
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-config",
          "manifest": "turbine-stream-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-netflix-eureka-client",
          "manifest": "turbine-stream-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-netflix-turbine-stream",
          "manifest": "turbine-stream-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.springframework.cloud:spring-cloud-starter-stream-rabbit",
          "manifest": "turbine-stream-service/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "com.google.guava:guava",
            "direct": true,
            "version": "19.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.boot:spring-boot-starter-actuator",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.boot:spring-boot-starter-data-mongodb",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.boot:spring-boot-starter-mail",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.boot:spring-boot-starter-security",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.boot:spring-boot-starter-web",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.cloud:spring-cloud-config-server",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.cloud:spring-cloud-dependencies",
            "direct": true,
            "version": "Finchley.RELEASE",
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.cloud:spring-cloud-netflix-hystrix-stream",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.cloud:spring-cloud-starter",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.cloud:spring-cloud-starter-bus-amqp",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.cloud:spring-cloud-starter-config",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.cloud:spring-cloud-starter-netflix-eureka-client",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.cloud:spring-cloud-starter-netflix-eureka-server",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.cloud:spring-cloud-starter-netflix-hystrix",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.cloud:spring-cloud-starter-netflix-hystrix-dashboard",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.cloud:spring-cloud-starter-netflix-turbine-stream",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.cloud:spring-cloud-starter-netflix-zuul",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.cloud:spring-cloud-starter-oauth2",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.cloud:spring-cloud-starter-openfeign",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.cloud:spring-cloud-starter-sleuth",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.cloud:spring-cloud-starter-stream-rabbit",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "com.jayway.jsonpath:json-path",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "maven"
          },
          {
            "name": "de.flapdoodle.embed:de.flapdoodle.embed.mongo",
            "direct": false,
            "version": "1.50.3",
            "ecosystem": "maven"
          },
          {
            "name": "org.jacoco:jacoco-maven-plugin",
            "direct": false,
            "version": "0.7.6.201602180812",
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.boot:spring-boot-maven-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.boot:spring-boot-starter-test",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 27,
        "direct_count": 22,
        "indirect_count": 5
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 24,
        "merged_prs": 22,
        "open_issues": 0,
        "closed_ratio": null,
        "closed_issues": 0,
        "closed_unmerged_prs": 30
      },
      "bus_factor": 1,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "sqshq",
          "commits": 218,
          "avatar_url": "https://avatars.githubusercontent.com/u/6069066?v=4"
        },
        {
          "type": "User",
          "login": "chidov",
          "commits": 39,
          "avatar_url": "https://avatars.githubusercontent.com/u/5102972?v=4"
        },
        {
          "type": "User",
          "login": "solo-yolo",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/5343218?v=4"
        },
        {
          "type": "User",
          "login": "Sam-WEI",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/1344516?v=4"
        },
        {
          "type": "User",
          "login": "clevertension",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/346723?v=4"
        },
        {
          "type": "User",
          "login": "elkolotfi",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/50873438?v=4"
        },
        {
          "type": "User",
          "login": "AlekseySpiridonov",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/37653382?v=4"
        },
        {
          "type": "User",
          "login": "ddubson",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/437269?v=4"
        },
        {
          "type": "User",
          "login": "ramazansakin",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/9968219?v=4"
        },
        {
          "type": "User",
          "login": "gitter-badger",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/8518239?v=4"
        }
      ],
      "contributors_sampled": 12,
      "top_contributor_share": 0.799
    },
    "quality_signals": {
      "has_ci": false,
      "has_tests": true,
      "ci_workflows": [],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 0,
            "reason": "0 out of 8 merged PRs checked by a CI test -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 4,
            "reason": "Found 8/19 approved changesets -- score normalized to 4",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 0,
            "reason": "project has 0 contributing companies or organizations -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": null,
            "reason": "no workflows found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 0,
            "reason": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": null,
            "reason": "No tokens found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 6,
            "reason": "4 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "6bb2cf9ddbca980b664d3edbb6ff775d75369278",
        "ran_at": "2026-07-21T21:53:12Z",
        "aggregate_score": 2.3,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": null,
      "oldest_open_prs": [
        {
          "number": 54,
          "created_at": "2019-08-07T20:43:50Z",
          "last_comment_at": "2019-08-08T10:33:23Z",
          "last_comment_author": "elkolotfi"
        },
        {
          "number": 55,
          "created_at": "2019-09-04T02:02:11Z",
          "last_comment_at": "2022-07-12T13:40:37Z",
          "last_comment_author": "vqp1928"
        },
        {
          "number": 61,
          "created_at": "2020-04-16T19:04:48Z",
          "last_comment_at": "2020-07-19T23:52:11Z",
          "last_comment_author": "codecov-commenter"
        },
        {
          "number": 65,
          "created_at": "2021-07-17T01:13:20Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 66,
          "created_at": "2021-08-30T11:05:36Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 67,
          "created_at": "2021-11-15T07:46:43Z",
          "last_comment_at": "2022-11-03T08:52:22Z",
          "last_comment_author": "vqp1928"
        },
        {
          "number": 70,
          "created_at": "2023-07-14T07:15:12Z",
          "last_comment_at": "2023-08-09T10:48:36Z",
          "last_comment_author": "vqp1928"
        },
        {
          "number": 73,
          "created_at": "2023-12-28T07:50:59Z",
          "last_comment_at": "2023-12-28T07:52:14Z",
          "last_comment_author": "vqp1928"
        },
        {
          "number": 74,
          "created_at": "2024-01-22T17:16:05Z",
          "last_comment_at": "2024-01-22T17:17:37Z",
          "last_comment_author": "vqp1928"
        },
        {
          "number": 75,
          "created_at": "2024-01-22T17:16:06Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 76,
          "created_at": "2024-01-22T17:16:18Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 77,
          "created_at": "2024-01-22T17:16:21Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 83,
          "created_at": "2025-03-15T04:43:20Z",
          "last_comment_at": "2025-03-15T04:47:01Z",
          "last_comment_author": "Rahulbudhiraja25"
        },
        {
          "number": 84,
          "created_at": "2025-03-24T22:46:06Z",
          "last_comment_at": "2025-09-12T02:16:30Z",
          "last_comment_author": "vqp1928"
        },
        {
          "number": 88,
          "created_at": "2025-10-21T11:51:40Z",
          "last_comment_at": "2025-10-21T11:53:23Z",
          "last_comment_author": "vqp1928"
        },
        {
          "number": 90,
          "created_at": "2025-10-24T08:20:35Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 91,
          "created_at": "2025-11-27T06:59:58Z",
          "last_comment_at": "2025-11-27T09:53:17Z",
          "last_comment_author": "Mohamed-Azharudeen"
        },
        {
          "number": 92,
          "created_at": "2025-12-12T15:48:59Z",
          "last_comment_at": "2025-12-12T15:50:37Z",
          "last_comment_author": "vqp1928"
        },
        {
          "number": 93,
          "created_at": "2025-12-15T18:16:48Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 97,
          "created_at": "2026-04-16T18:24:02Z",
          "last_comment_at": "2026-04-16T18:25:48Z",
          "last_comment_author": "vqp1928"
        }
      ],
      "last_merged_pr_at": "2021-01-19T20:08:07Z",
      "ci_last_conclusion": null,
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/sqshq/piggymetrics",
    "host": "github.com",
    "name": "piggymetrics",
    "owner": "sqshq"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "critical",
      "name": "Overall health",
      "note": "Abandonment Policy applies a 60% multiplier to weighted overall health and gives it a ceiling of 49.",
      "notes": [
        {
          "code": "abandonment_overall_adjustment",
          "params": {
            "cap": 49,
            "pct": 60
          }
        }
      ],
      "value": 25,
      "inputs": {
        "security": 33,
        "vitality": 25,
        "community": 77,
        "governance": 45,
        "engineering": 34,
        "abandonment_cap": 49,
        "abandonment_state": "likely_abandoned",
        "abandonment_multiplier": 60,
        "weighted_overall_before_abandonment": 42,
        "overall_after_abandonment_multiplier": 25
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "critical",
        "name": "Vitality",
        "value": 25,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "critical",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "commits_last_year": 0,
              "human_commit_share": 1,
              "days_since_last_push": 795,
              "active_weeks_last_year": 0
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 795 days ago",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 795
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "0/52 weeks with commits",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "0 commits in the last year",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "moderate",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 60,
            "inputs": {
              "releases_count": 2,
              "latest_release_tag": "spring.version.2.0.3",
              "releases_from_tags": false,
              "days_since_latest_release": 2921,
              "mean_days_between_releases": 0
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "2 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 2921 days ago",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 2921
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~0 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 0
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "moderate",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 60,
            "inputs": {
              "cap": 49,
              "state": "likely_abandoned",
              "guards": [],
              "signals": [
                "unanswered_contributions",
                "unfixed_advisory",
                "scorecard_unmaintained"
              ],
              "red_flag": true,
              "multiplier_pct": 60,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": 19,
              "unanswered_open_issues": 0,
              "days_since_last_merged_pr": 2009,
              "days_since_last_human_commit": 1708,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "no human commit for 1708 days; 3 unmet obligation(s): pull requests unanswered, a fixed advisory left unapplied, Scorecard reports it unmaintained",
                "points": 60,
                "status": "partial",
                "details": [
                  {
                    "code": "abandonment_flagged",
                    "params": {
                      "days": 1708,
                      "count": 3,
                      "signals": "pull requests unanswered, a fixed advisory left unapplied, Scorecard reports it unmaintained"
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "good",
        "name": "Community & Adoption",
        "value": 77,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "excellent",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "forks": 6406,
              "stars": 13942,
              "watchers": 804,
              "growth_state": "organic",
              "growth_factor_pct": 100
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "13,942 stars",
                "points": 60,
                "status": "met",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 13942
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "6,406 forks",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 6406
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "804 watchers",
                "points": 15,
                "status": "met",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 804
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (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": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "at_risk",
        "name": "Sustainability & Governance",
        "value": 45,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 27,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 12,
              "top_contributor_share": 0.799
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 80% of commits",
                "points": 4.5,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 80
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "12 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 12
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 0 contributing companies or organizations -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "at_risk",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "issue_resolution"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 42,
            "inputs": {
              "merged_prs": 22,
              "open_issues": 0,
              "closed_issues": 0,
              "issue_closed_ratio": null,
              "closed_unmerged_prs": 30
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "no issues or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_issues_or_data",
                    "params": {}
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "22/52 decided PRs merged",
                "points": 16.2,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 22,
                      "decided": 52
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 8/19 approved changesets -- score normalized to 4",
                "points": 6,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "verified_domain"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 69,
            "inputs": {
              "followers": 1089,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "sqshq",
              "public_repos": 33,
              "account_age_days": 4617
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "personal (user) account",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_personal",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": "not applicable to user accounts",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_applicable_to_user_accounts",
                    "params": {}
                  }
                ],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "1,089 followers of sqshq",
                "points": 21.8,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 1089,
                      "login": "sqshq"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "33 public repos, account ~12 yr old",
                "points": 23.2,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 33
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 12
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "at_risk",
        "name": "Engineering Quality",
        "value": 34,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "critical",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 24,
            "inputs": {
              "has_ci": false,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "0 out of 8 merged PRs checked by a CI test -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "topics": [
                "spring-boot",
                "spring-cloud",
                "microservices",
                "docker",
                "microservice"
              ],
              "has_wiki": false,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": false,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "5 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 33,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "critical",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Dangerous-Workflow, Packaging, Signed-Releases, Token-Permissions. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "dangerous_workflow",
                    "packaging",
                    "signed_releases",
                    "token_permissions"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 23,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 14,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 4,
              "scorecard_aggregate": 2.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": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "0 out of 8 merged PRs checked by a CI test -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 8/19 approved changesets -- score normalized to 4",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 0 contributing companies or organizations -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no workflows found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "No tokens found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "4 existing vulnerabilities detected",
                "points": 4.5,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "good",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 5 resolved dependencies against OSV; 22 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 5
                }
              },
              {
                "code": "advisories_unassessed",
                "params": {
                  "count": 22
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 71,
            "inputs": {
              "source": "osv",
              "advisories": 4,
              "affected_packages": 2,
              "assessed_packages": 5,
              "unassessed_packages": 22,
              "affected_by_severity": "moderate 2",
              "direct_affected_packages": 1
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "1 affected: com.google.guava:guava 19.0 (moderate 5.9)",
                "points": 18.5,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 1,
                      "packages": "com.google.guava:guava 19.0 (moderate 5.9)"
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "1 advisory-carrying package(s) unaddressed past 90 days; oldest published 2227 days ago",
                "points": 34.9,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_stale",
                    "params": {
                      "days": 90,
                      "count": 1,
                      "oldest": 2227
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 5,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 11
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "at_risk",
        "name": "AI Readiness",
        "value": 48,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "critical",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 13,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.25,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "25 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 13.3,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 25,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 56,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": true,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0,
              "toolchain_manifests": [
                "account-service/pom.xml",
                "auth-service/pom.xml",
                "config/pom.xml",
                "gateway/pom.xml",
                "monitoring/pom.xml",
                "notification-service/pom.xml",
                "pom.xml",
                "registry/pom.xml",
                "statistics-service/pom.xml",
                "turbine-stream-service/pom.xml"
              ],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "account-service/pom.xml, auth-service/pom.xml, config/pom.xml (toolchain convention, no task runner)",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "toolchain_convention",
                    "params": {
                      "files": "account-service/pom.xml, auth-service/pom.xml, config/pom.xml"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "Java (statically typed)",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Java"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 99,
            "inputs": {
              "primary_language": "Java",
              "largest_source_bytes": 93434,
              "source_files_sampled": 105,
              "oversized_source_files": 2
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Java (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Java"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "2/105 source files over 60KB",
                "points": 54,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 105,
                      "oversized": 2
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Could not fetch maven package 'com.piggymetrics:config' from its registry",
    "Could not fetch maven package 'com.piggymetrics:gateway' from its registry",
    "Could not fetch maven package 'com.piggymetrics:registry' from its registry",
    "Could not fetch maven package 'com.piggymetrics:monitoring' from its registry",
    "Could not fetch maven package 'com.piggymetrics:auth-service' from its registry",
    "Could not fetch maven package 'com.piggymetrics:account-service' from its registry",
    "Could not fetch maven package 'com.piggymetrics:statistics-service' from its registry",
    "Could not fetch maven package 'com.piggymetrics:notification-service' from its registry"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-21T21:53:27.800385Z",
  "schema_version": "0.25.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/s/sqshq/piggymetrics.svg",
  "full_name": "sqshq/piggymetrics",
  "license_state": "standard",
  "license_spdx": "MIT"
}

Оцінки — це сигнали, а не гарантії. Вони відображають публічно видимі практики на GitHub — це не аудит коду й не гарантія безпеки.

Відсутні дані виключаються, а ваги перенормовуються — нуль за відсутність ніколи не ставиться. Методологія версіонована й відкрита: метрики v1.13.0, схема v0.25.0 — повна методологія · вікі метрик.

Як окремий результат виглядає на тлі всього реєстру: сукупна статистика.