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

snowflakedb / snowflake-ingest-java

Java SDK for the Snowflake Ingest Service -

JavaApache-2.0★ 81 зірка⑂ 68 форківз жовт. 2016 р.Переглянути на GitHub ↗

snowflakedb/snowflake-ingest-java має індекс здоров’я 66 зі 100, що відповідає смузі «Помірний». Найвищий показник — Sustainability & Governance (86/100), найнижчий — Security (40/100). Останнє оновлення було 12 днів тому. Більшість нещодавньої роботи виконують 5 учасників.

66
загалом / 100
Помірний

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

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

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

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

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

Власність

SnowflakeОрганізація
1 616 підписників63 публічні репозиторіїз січ. 2014 р.

За цим репозиторієм стоїть організація — спільна, підзвітна опіка, здатна пережити будь-якого окремого мейнтейнера.

Пакетні екосистеми

РеєстрПакетВерсіяЗавантажень / місВерсіїОстання публікація
Mavennet.snowflake:snowflake-ingest-sdk4.4.3-unshaded-9381 день тому

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

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

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

77Добрий · 22% загального індексу
Як обчислюється оцінка
28.8/36Свіжість push — останній push 12 дн. тому
15.2/36Ритм комітів — 22/52 тижнів із комітами
16.2/18Обсяг комітів — 63 комітів за останній рік
1/10OpenSSF Scorecard: Maintained — 2 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 1
Використані вхідні дані
commits_last_year63
human_commit_share1
days_since_last_push12
active_weeks_last_year22
Як обчислюється оцінка
27/27Випускає релізи — опубліковано 58 релізів
36/36Свіжість релізів — останній реліз 88 дн. тому
27/27Ритм релізів — реліз кожні ~42,2 дн.
0/10OpenSSF Scorecard: Signed-Releases — немає даних
Використані вхідні дані
releases_count58
latest_release_tagv4.4.3
releases_from_tagsні
days_since_latest_release88
mean_days_between_releases42,2
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: Signed-Releases. Залишкові ваги перенормовано.

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

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

51Помірний · 18% загального індексу
Як обчислюється оцінка
30.9/60Зірки — 81 зірок
15.2/25Форки — 68 форків
6.2/15Спостерігачі — 14 спостерігачів
Використані вхідні дані
forks68
stars81
watchers14
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Як обчислюється оцінка
22.5/22.5README
22.5/22.5Ліцензія — визнана ліцензія (Apache-2.0)
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ні

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

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

86Відмінний · 24% загального індексу
Як обчислюється оцінка
45.9/54Бас-фактор — на 5 контриб’ютор(ів) припадає половина всіх комітів
17.2/22.5Розподіл комітів — головний контриб’ютор — автор 24% комітів
13.5/13.5Широта контриб’юторів — 47 контриб’юторів
10/10OpenSSF Scorecard: Contributors — project has 4 contributing companies or organizations
Використані вхідні дані
bus_factor5
contributors_sampled47
top_contributor_share0,237
Як обчислюється оцінка
37.4/46.8Вирішення issue — закрито 80% issue
29.4/38.3Прийняття PR — злито 601/781 вирішених PR
15/15OpenSSF Scorecard: Code-Review — all changesets reviewed
Використані вхідні дані
merged_prs601
open_issues71
closed_issues285
issue_closed_ratio0,801
closed_unmerged_prs180
Як обчислюється оцінка
30/30Підтримка власника — у власності організації
0/20Верифікований домен
23.1/25Охоплення власника — 1 616 підписників у snowflakedb
25/25Послужний список — 63 публічних репозиторіїв, вік облікового запису ~12 р.
Використані вхідні дані
followers1 616
owner_typeOrganization
is_verified
owner_loginsnowflakedb
public_repos63
account_age_days4 570

Супровід пакетів

100Відмінний
Як обчислюється оцінка
25/25Опубліковано й доступно — 1 пакет(ів) у maven
35/35Свіжість публікацій — остання публікація 81 дн. тому
20/20Історія версій — 93 опублікованих версій
20/20Не застарілий — активний, не deprecated і не yanked
Використані вхідні дані
packagesnet.snowflake:snowflake-ingest-sdk
ecosystemsmaven
any_deprecatedні
min_days_since_publish81

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

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

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

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

55Помірний
Як обчислюється оцінка
30/30README
0/25Каталог документації
15/15Сайт документації / домашня сторінка — http://www.snowflake.net
10/10Опис репозиторію
0/10Теми
0/10Wiki
Використані вхідні дані
topics
has_wikiні
homepagehttp://www.snowflake.net
has_readmeтак
has_docs_dirні
has_descriptionтак

Безпека

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

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

Стан безпеки

42У зоні ризику
Як обчислюється оцінка
7.5/7.5Binary-Artifacts — no binaries found in the repo
0.8/7.5Branch-Protection — branch protection is not maximal on development and all release branches
0/2.5CI-Tests — 1 out of 30 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
7.5/7.5Code-Review — all changesets reviewed
2.5/2.5Contributors — project has 4 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Ліцензія — license file detected
0.8/7.5Maintained — 2 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 1
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 — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 76 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate4,2
Виключено з оцінювання (немає даних або не застосовно): packaging, signed_releases. Залишкові ваги перенормовано.
Як обчислюється оцінка
8.1/35Прямі залежності без відомих сповіщень — уражено 4: com.fasterxml.jackson.core:jackson-core 2.18.1 (high 7.5), com.fasterxml.jackson.core:jackson-databind 2.18.1 (high 8.1), org.bouncycastle:bcprov-jdk18on 1.79 (high 7.7), ще +1
4.4/25Непрямі залежності без відомих сповіщень — уражено 7: io.airlift:aircompressor 0.27 (high 7.5), io.netty:netty-codec 4.1.127.Final (high 7.5), io.netty:netty-codec-http 4.1.127.Final (high 7.5), ще +4
19.3/40Немає задавнених сповіщень — 6 пакет(ів) зі сповіщеннями без реакції понад 90 дн.; найдавніше опубліковано 226 дн. тому
Використані вхідні дані
sourceosv
advisories42
affected_packages11
assessed_packages136
unassessed_packages0
affected_by_severityhigh 8, moderate 3
direct_affected_packages4
Звірено з runtime-замиканням залежностей maven:net.snowflake:snowflake-ingest-sdk@4.4.3-unshaded — тим, що тягне за собою встановлення опублікованого пакета, — 136 пакетів. Досяжність не аналізується.

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

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

73Добрий · 0% загального індексу
Як обчислюється оцінка
45/45Інструкції для агентів — src/main/java/net/snowflake/ingest/connection/CLAUDE.md, src/main/java/net/snowflake/ingest/example/CLAUDE.md, src/main/java/net/snowflake/ingest/streaming/CLAUDE.md, src/main/java/net/snowflake/ingest/streaming/internal/CLAUDE.md, src/main/java/net/snowflake/ingest/streaming/internal/fileTransferAgent/CLAUDE.md, src/main/java/net/snowflake/ingest/streaming/internal/serialization/CLAUDE.md, src/main/java/net/snowflake/ingest/utils/CLAUDE.md, src/main/java/org/apache/parquet/hadoop/CLAUDE.md, src/test/java/net/snowflake/ingest/CLAUDE.md, src/test/java/net/snowflake/ingest/connection/CLAUDE.md, src/test/java/net/snowflake/ingest/streaming/internal/CLAUDE.md, src/test/java/net/snowflake/ingest/streaming/internal/datatypes/CLAUDE.md, src/test/java/net/snowflake/ingest/streaming/internal/it/CLAUDE.md, src/test/java/net/snowflake/ingest/utils/CLAUDE.md
0/15Машиночитана документація (llms.txt)
40/40Читабельна історія комітів — намір зазначено у 93 з 100 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share0,93
agent_instruction_filessrc/main/java/net/snowflake/ingest/connection/CLAUDE.md, src/main/java/net/snowflake/ingest/example/CLAUDE.md, src/main/java/net/snowflake/ingest/streaming/CLAUDE.md, src/main/java/net/snowflake/ingest/streaming/internal/CLAUDE.md, src/main/java/net/snowflake/ingest/streaming/internal/fileTransferAgent/CLAUDE.md, src/main/java/net/snowflake/ingest/streaming/internal/serialization/CLAUDE.md, src/main/java/net/snowflake/ingest/utils/CLAUDE.md, src/main/java/org/apache/parquet/hadoop/CLAUDE.md, src/test/java/net/snowflake/ingest/CLAUDE.md, src/test/java/net/snowflake/ingest/connection/CLAUDE.md, src/test/java/net/snowflake/ingest/streaming/internal/CLAUDE.md, src/test/java/net/snowflake/ingest/streaming/internal/datatypes/CLAUDE.md, src/test/java/net/snowflake/ingest/streaming/internal/it/CLAUDE.md, src/test/java/net/snowflake/ingest/utils/CLAUDE.md
agent_instruction_max_bytes4 277
Як обчислюється оцінка
12.6/18Розгортання однією командою — e2e-jar-test/core/pom.xml, e2e-jar-test/fips/pom.xml, e2e-jar-test/pom.xml (домовленість інструментарію, без раннера задач)
22/22Автоматизовані тести
11/11Конфігурація лінтера / форматера
11/11Статична перевірка типів — Java (статично типізована)
0/10Відтворюване середовище
10/10Підтверджена практика роботи з агентами — 36 з останніх 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,36
toolchain_manifestse2e-jar-test/core/pom.xml, e2e-jar-test/fips/pom.xml, e2e-jar-test/pom.xml, e2e-jar-test/standard/pom.xml, pom.xml, sdk-wrapper/pom.xml
dependency_bot_commit_share0
Як обчислюється оцінка
45/45Типізований код — Java (статично типізована)
54.2/55Керовані розміри файлів — 5/363 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languageJava
largest_source_bytes99 644
source_files_sampled363
oversized_source_files5
Як обчислюється оцінка
0/40Схема API (OpenAPI/GraphQL/proto)
0/20Сервер MCP
40/40Придатні до запуску приклади — example
Використані вхідні дані
example_dirsexample
has_mcp_signalні
api_schema_files

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

81зірок GitHub
47контриб'юторів
63комітів за останні 12 місяців
12днів від останнього пушу
58релізів
5бас-фактор
71відкритих issue
Mavenпакетних екосистем

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

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • Could not fetch maven package 'net.snowflake:sdk-wrapper' from its registry

Докладніше

Історія зірок і форків 0 ★ / 68 ⇿
0Зірки
68Форки
58Релізи

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

01325385063756522018-032022-042026-06
Мажорні 3Мінорні 9Патчі 34

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

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

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

10Binary-Artifactsno binaries found in the repo
1Branch-Protectionbranch protection is not maximal on development and all release branches
0CI-Tests1 out of 30 merged PRs checked by a CI test -- score normalized to 0
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
10Code-Reviewall changesets reviewed
10Contributorsproject has 4 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
1Maintained2 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 1
н/д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
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities76 existing vulnerabilities detected
Прямі залежності 104
РеєстрПакетОбмеження версіїМаніфест
Mavenio.netty:netty-bom4.1.124.Finale2e-jar-test/pom.xml
Mavencom.fasterxml.jackson.core:jackson-databind2.18.1e2e-jar-test/pom.xml
Mavennet.snowflake:snowflake-ingest-sdk4.4.3e2e-jar-test/pom.xml
Mavennet.snowflake:snowflake-jdbc-fips3.22.0e2e-jar-test/pom.xml
Mavennet.snowflake:snowflake-jdbc-thin3.25.1e2e-jar-test/pom.xml
Mavennet.snowflake.snowflake-ingest-java-e2e-jar-test:core${project.version}e2e-jar-test/pom.xml
Mavenorg.bouncycastle:bc-fips2.1.1e2e-jar-test/pom.xml
Mavenorg.bouncycastle:bcpkix-fips2.0.7e2e-jar-test/pom.xml
Mavenorg.slf4j:slf4j-simple1.7.36e2e-jar-test/pom.xml
Mavencom.fasterxml.jackson:jackson-bom${fasterxml.version}pom.xml
Mavenio.grpc:grpc-bom${grpc.version}pom.xml
Mavenio.netty:netty-bom${netty.version}pom.xml
Mavencom.google.code.gson:gson${gson.version}pom.xml
Mavencom.google.guava:failureaccess1.0.3pom.xml
Mavencom.google.guava:guava${guava.version}pom.xml
Mavencom.google.http-client:google-http-client${google.httpclient.version}pom.xml
Mavencom.google.http-client:google-http-client-gson${google.httpclient.version}pom.xml
Mavencom.google.protobuf:protobuf-java${protobuf.version}pom.xml
Mavencom.nimbusds:nimbus-jose-jwt${nimbusds.version}pom.xml
Mavencommons-codec:commons-codec${commonscodec.version}pom.xml
Mavencommons-io:commons-io${commonsio.version}pom.xml
Mavennet.minidev:json-smart${net.minidev.version}pom.xml
Mavennet.snowflake:snowflake-jdbc-thin${snowjdbc.version}pom.xml
Mavenorg.apache.avro:avro${avro.version}pom.xml
Mavenorg.apache.commons:commons-compress${commonscompress.version}pom.xml
Mavenorg.apache.commons:commons-configuration2${commonsconfiguration2.version}pom.xml
Mavenorg.apache.commons:commons-lang3${commonslang3.version}pom.xml
Mavenorg.apache.hadoop:hadoop-common${hadoop.version}pom.xml
Mavenorg.apache.httpcomponents:httpclient${apache.httpclient.version}pom.xml
Mavenorg.apache.httpcomponents:httpcore${apache.httpcomponents.version}pom.xml
Mavenorg.apache.iceberg:iceberg-api${iceberg.version}pom.xml
Mavenorg.apache.iceberg:iceberg-core${iceberg.version}pom.xml
Mavenorg.apache.iceberg:iceberg-parquet${iceberg.version}pom.xml
Mavenorg.apache.parquet:parquet-column${parquet.version}pom.xml
Mavenorg.apache.parquet:parquet-common${parquet.version}pom.xml
Mavenorg.apache.parquet:parquet-hadoop${parquet.version}pom.xml
Mavenorg.apache.yetus:audience-annotations${yetus.version}pom.xml
Mavenorg.bouncycastle:bcpkix-jdk18on${bouncycastle.version}pom.xml
Mavenorg.bouncycastle:bcprov-jdk18on${bouncycastle.version}pom.xml
Mavenorg.bouncycastle:bcutil-jdk18on${bouncycastle.version}pom.xml
Mavenorg.codehaus.jackson:jackson-core-asl${codehaus.version}pom.xml
Mavenorg.codehaus.jackson:jackson-jaxrs${codehaus.version}pom.xml
Mavenorg.codehaus.jackson:jackson-xc${codehaus.version}pom.xml
Mavenorg.codehaus.woodstox:stax2-api4.2.1pom.xml
Mavenorg.objenesis:objenesis${objenesis.version}pom.xml
Mavenorg.slf4j:jcl-over-slf4j${slf4j.version}pom.xml
Mavenorg.slf4j:slf4j-api${slf4j.version}pom.xml
Mavenorg.threeten:threetenbp${threetenbp.version}pom.xml
Mavenorg.xerial.snappy:snappy-java${snappy.version}pom.xml
Mavencom.amazonaws:aws-java-sdk-core${amazonaws.version}pom.xml
Mavencom.amazonaws:aws-java-sdk-kms${amazonaws.version}pom.xml
Mavencom.amazonaws:aws-java-sdk-s3${amazonaws.version}pom.xml
Mavencom.fasterxml.jackson.core:jackson-annotationspom.xml
Mavencom.fasterxml.jackson.core:jackson-corepom.xml
Mavencom.fasterxml.jackson.core:jackson-databindpom.xml
Mavencom.github.ben-manes.caffeine:caffeine2.9.3pom.xml
Mavencom.google.api:gax2.57.0pom.xml
Mavencom.google.auth:google-auth-library-credentials1.29.0pom.xml
Mavencom.google.auth:google-auth-library-oauth2-http1.29.0pom.xml
Mavencom.google.cloud:google-cloud-core2.47.0pom.xml
Mavencom.google.cloud:google-cloud-storage2.44.1pom.xml
Mavencom.google.code.findbugs:jsr3053.0.2pom.xml
Mavencom.google.guava:guavapom.xml
Mavencom.microsoft.azure:azure-storage5.0.0pom.xml
Mavencom.nimbusds:nimbus-jose-jwtpom.xml
Mavencommons-codec:commons-codecpom.xml
Mavencommons-io:commons-iopom.xml
Mavenio.dropwizard.metrics:metrics-core4.1.22pom.xml
Mavenio.dropwizard.metrics:metrics-jmx4.1.22pom.xml
Mavenio.dropwizard.metrics:metrics-jvm4.1.22pom.xml
Mavenio.grpc:grpc-netty${grpc.version}pom.xml
Mavennet.bytebuddy:byte-buddy-agentpom.xml
Mavennet.minidev:json-smartpom.xml
Mavenorg.apache.commons:commons-lang3pom.xml
Mavenorg.apache.commons:commons-textpom.xml
Mavenorg.apache.hadoop:hadoop-commonpom.xml
Mavenorg.apache.hadoop:hadoop-mapreduce-client-corepom.xml
Mavenorg.apache.httpcomponents:httpclientpom.xml
Mavenorg.apache.httpcomponents:httpcorepom.xml
Mavenorg.apache.iceberg:iceberg-apipom.xml
Mavenorg.apache.iceberg:iceberg-corepom.xml
Mavenorg.apache.iceberg:iceberg-parquetpom.xml
Mavenorg.apache.parquet:parquet-columnpom.xml
Mavenorg.apache.parquet:parquet-commonpom.xml
Mavenorg.apache.parquet:parquet-hadooppom.xml
Mavenorg.bouncycastle:bcpkix-jdk18onpom.xml
Mavenorg.bouncycastle:bcprov-jdk18onpom.xml
Mavenorg.bouncycastle:bcutil-jdk18onpom.xml
Mavenorg.slf4j:slf4j-apipom.xml
Mavencom.github.luben:zstd-jni1.5.6-5pom.xml
Mavencom.google.protobuf:protobuf-javapom.xml
Mavenorg.slf4j:jcl-over-slf4jpom.xml
Mavenorg.xerial.snappy:snappy-javapom.xml
Mavencom.google.cloud.tools:linkage-checker-enforcer-rules1.5.13pom.xml
Mavenorg.codehaus.mojo:extra-enforcer-rules1.3pom.xml
Mavennet.snowflake:snowflake-ingest-sdkperfsdk-wrapper/pom.xml
Mavencom.linecorp.armeria:armeria${armeria.version}sdk-wrapper/pom.xml
Mavencom.fasterxml.jackson.core:jackson-core${jackson.version}sdk-wrapper/pom.xml
Mavencom.fasterxml.jackson.core:jackson-databind${jackson.version}sdk-wrapper/pom.xml
Mavencom.fasterxml.jackson.core:jackson-annotations${jackson.version}sdk-wrapper/pom.xml
Mavencommons-cli:commons-cli${commons-cli.version}sdk-wrapper/pom.xml
Mavenorg.slf4j:slf4j-api${slf4j.version}sdk-wrapper/pom.xml
Mavench.qos.logback:logback-classic${logback.version}sdk-wrapper/pom.xml
Mavench.qos.logback:logback-core${logback.version}sdk-wrapper/pom.xml
Усі залежності 150

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

РеєстрПакетВерсіяЗв'язок
Mavench.qos.logback:logback-classic1.4.14пряма
Mavench.qos.logback:logback-core1.4.14пряма
Mavencom.amazonaws:aws-java-sdk-core1.12.655пряма
Mavencom.amazonaws:aws-java-sdk-kms1.12.655пряма
Mavencom.amazonaws:aws-java-sdk-s31.12.655пряма
Mavencom.fasterxml.jackson.core:jackson-annotationsпряма
Mavencom.fasterxml.jackson.core:jackson-annotations2.15.3пряма
Mavencom.fasterxml.jackson.core:jackson-coreпряма
Mavencom.fasterxml.jackson.core:jackson-core2.15.3пряма
Mavencom.fasterxml.jackson.core:jackson-databindпряма
Mavencom.fasterxml.jackson.core:jackson-databind2.15.3пряма
Mavencom.fasterxml.jackson.core:jackson-databind2.18.1пряма
Mavencom.fasterxml.jackson:jackson-bom2.18.1пряма
Mavencom.github.ben-manes.caffeine:caffeine2.9.3пряма
Mavencom.github.luben:zstd-jni1.5.6-5пряма
Mavencom.google.api:gax2.57.0пряма
Mavencom.google.auth:google-auth-library-credentials1.29.0пряма
Mavencom.google.auth:google-auth-library-oauth2-http1.29.0пряма
Mavencom.google.cloud.tools:linkage-checker-enforcer-rules1.5.13пряма
Mavencom.google.cloud:google-cloud-core2.47.0пряма
Mavencom.google.cloud:google-cloud-storage2.44.1пряма
Mavencom.google.code.findbugs:jsr3053.0.2пряма
Mavencom.google.code.gson:gson2.11.0пряма
Mavencom.google.guava:failureaccess1.0.3пряма
Mavencom.google.guava:guavaпряма
Mavencom.google.guava:guava33.4.8-jreпряма
Mavencom.google.http-client:google-http-client1.45.0пряма
Mavencom.google.http-client:google-http-client-gson1.45.0пряма
Mavencom.google.protobuf:protobuf-javaпряма
Mavencom.google.protobuf:protobuf-java4.27.5пряма
Mavencom.linecorp.armeria:armeria1.24.3пряма
Mavencom.microsoft.azure:azure-storage5.0.0пряма
Mavencom.nimbusds:nimbus-jose-jwtпряма
Mavencom.nimbusds:nimbus-jose-jwt10.0.2пряма
Mavencommons-cli:commons-cli1.6.0пряма
Mavencommons-codec:commons-codecпряма
Mavencommons-codec:commons-codec1.18.0пряма
Mavencommons-io:commons-ioпряма
Mavencommons-io:commons-io2.17.0пряма
Mavenio.dropwizard.metrics:metrics-core4.1.22пряма
Mavenio.dropwizard.metrics:metrics-jmx4.1.22пряма
Mavenio.dropwizard.metrics:metrics-jvm4.1.22пряма
Mavenio.grpc:grpc-bom1.77.0пряма
Mavenio.grpc:grpc-netty1.77.0пряма
Mavenio.netty:netty-bom4.1.124пряма
Mavenio.netty:netty-bom4.1.127пряма
Mavennet.bytebuddy:byte-buddy-agentпряма
Mavennet.bytebuddy:byte-buddy-agent1.14.9пряма
Mavennet.minidev:json-smartпряма
Mavennet.minidev:json-smart2.5.2пряма
Mavennet.snowflake.snowflake-ingest-java-e2e-jar-test:coreпряма
Mavennet.snowflake.snowflake-ingest-java-e2e-jar-test:core1.0-SNAPSHOTпряма
Mavennet.snowflake:snowflake-ingest-sdkпряма
Mavennet.snowflake:snowflake-ingest-sdk4.4.3пряма
Mavennet.snowflake:snowflake-ingest-sdkperfпряма
Mavennet.snowflake:snowflake-jdbc-fipsпряма
Mavennet.snowflake:snowflake-jdbc-fips3.22.0пряма
Mavennet.snowflake:snowflake-jdbc-thinпряма
Mavennet.snowflake:snowflake-jdbc-thin3.25.1пряма
Mavenorg.apache.avro:avro1.11.4пряма
Mavenorg.apache.commons:commons-compress1.27.1пряма
Mavenorg.apache.commons:commons-configuration22.10.1пряма
Mavenorg.apache.commons:commons-lang3пряма
Mavenorg.apache.commons:commons-lang33.18.0пряма
Mavenorg.apache.commons:commons-textпряма
Mavenorg.apache.commons:commons-text1.13.0пряма
Mavenorg.apache.hadoop:hadoop-commonпряма
Mavenorg.apache.hadoop:hadoop-common3.4.2пряма
Mavenorg.apache.hadoop:hadoop-mapreduce-client-coreпряма
Mavenorg.apache.hadoop:hadoop-mapreduce-client-core3.4.2пряма
Mavenorg.apache.httpcomponents:httpclientпряма
Mavenorg.apache.httpcomponents:httpclient4.5.14пряма
Mavenorg.apache.httpcomponents:httpcoreпряма
Mavenorg.apache.httpcomponents:httpcore4.4.16пряма
Mavenorg.apache.iceberg:iceberg-apiпряма
Mavenorg.apache.iceberg:iceberg-api1.6.1пряма
Mavenorg.apache.iceberg:iceberg-coreпряма
Mavenorg.apache.iceberg:iceberg-core1.6.1пряма
Mavenorg.apache.iceberg:iceberg-parquetпряма
Mavenorg.apache.iceberg:iceberg-parquet1.6.1пряма
Mavenorg.apache.parquet:parquet-columnпряма
Mavenorg.apache.parquet:parquet-column1.14.4пряма
Mavenorg.apache.parquet:parquet-commonпряма
Mavenorg.apache.parquet:parquet-common1.14.4пряма
Mavenorg.apache.parquet:parquet-hadoopпряма
Mavenorg.apache.parquet:parquet-hadoop1.14.4пряма
Mavenorg.apache.yetus:audience-annotations0.13.0пряма
Mavenorg.bouncycastle:bc-fips2.1.1пряма
Mavenorg.bouncycastle:bcpkix-fips2.0.7пряма
Mavenorg.bouncycastle:bcpkix-jdk18onпряма
Mavenorg.bouncycastle:bcpkix-jdk18on1.79пряма
Mavenorg.bouncycastle:bcprov-jdk18onпряма
Mavenorg.bouncycastle:bcprov-jdk18on1.79пряма
Mavenorg.bouncycastle:bcutil-jdk18onпряма
Mavenorg.bouncycastle:bcutil-jdk18on1.79пряма
Mavenorg.codehaus.jackson:jackson-core-asl1.9.13пряма
Mavenorg.codehaus.jackson:jackson-jaxrs1.9.13пряма
Mavenorg.codehaus.jackson:jackson-xc1.9.13пряма
Mavenorg.codehaus.mojo:extra-enforcer-rules1.3пряма
Mavenorg.codehaus.woodstox:stax2-api4.2.1пряма
Mavenorg.objenesis:objenesis3.1пряма
Mavenorg.slf4j:jcl-over-slf4jпряма
Mavenorg.slf4j:jcl-over-slf4j1.7.36пряма
Mavenorg.slf4j:slf4j-apiпряма
Mavenorg.slf4j:slf4j-api1.7.36пряма
Mavenorg.slf4j:slf4j-api2.0.9пряма
Mavenorg.slf4j:slf4j-simpleпряма
Mavenorg.slf4j:slf4j-simple1.7.36пряма
Mavenorg.threeten:threetenbp1.7.0пряма
Mavenorg.xerial.snappy:snappy-javaпряма
Mavenorg.xerial.snappy:snappy-java1.1.10.5пряма
Mavencom.github.ekryd.sortpom:sortpom-maven-plugin3.0.1непряма
Mavenjunit:junitнепряма
Mavenjunit:junit4.13.2непряма
Mavennet.bytebuddy:byte-buddy1.14.9непряма
Mavenorg.apache.maven.plugins:maven-compiler-plugin2.5.1непряма
Mavenorg.apache.maven.plugins:maven-compiler-plugin3.11.0непряма
Mavenorg.apache.maven.plugins:maven-dependency-pluginнепряма
Mavenorg.apache.maven.plugins:maven-dependency-plugin3.6.0непряма
Mavenorg.apache.maven.plugins:maven-enforcer-pluginнепряма
Mavenorg.apache.maven.plugins:maven-enforcer-plugin3.4.1непряма
Mavenorg.apache.maven.plugins:maven-enforcer-plugin3.5непряма
Mavenorg.apache.maven.plugins:maven-failsafe-pluginнепряма
Mavenorg.apache.maven.plugins:maven-failsafe-plugin3.0.0-M5непряма
Mavenorg.apache.maven.plugins:maven-gpg-plugin3.2.8непряма
Mavenorg.apache.maven.plugins:maven-javadoc-plugin2.10.4непряма
Mavenorg.apache.maven.plugins:maven-shade-plugin3.5.1непряма
Mavenorg.apache.maven.plugins:maven-shade-plugin3.5.2непряма
Mavenorg.apache.maven.plugins:maven-source-plugin3.0.1непряма
Mavenorg.apache.maven.plugins:maven-surefire-pluginнепряма
Mavenorg.apache.maven.plugins:maven-surefire-plugin3.2.5непряма
Mavenorg.assertj:assertj-coreнепряма
Mavenorg.assertj:assertj-core3.26.3непряма
Mavenorg.codehaus.mojo:build-helper-maven-plugin3.6.1непряма
Mavenorg.codehaus.mojo:exec-maven-pluginнепряма
Mavenorg.codehaus.mojo:exec-maven-plugin3.2.0непряма
Mavenorg.codehaus.mojo:license-maven-plugin2.0.1непряма
Mavenorg.hamcrest:hamcrest-core1.3непряма
Mavenorg.jacoco:jacoco-maven-plugin0.8.13непряма
Mavenorg.junit.jupiter:junit-jupiter5.10.1непряма
Mavenorg.mockito:mockito-coreнепряма
Mavenorg.mockito:mockito-core3.7.7непряма
Mavenorg.openjdk.jmh:jmh-coreнепряма
Mavenorg.openjdk.jmh:jmh-core1.34непряма
Mavenorg.openjdk.jmh:jmh-generator-annprocessнепряма
Mavenorg.openjdk.jmh:jmh-generator-annprocess1.34непряма
Mavenorg.powermock:powermock-api-mockito22.0.9непряма
Mavenorg.powermock:powermock-core2.0.9непряма
Mavenorg.powermock:powermock-module-junit42.0.9непряма
Mavenorg.sonatype.central:central-publishing-maven-plugin0.8.0непряма
Сповіщення про залежності 11

Встановлення maven:net.snowflake:snowflake-ingest-sdk@4.4.3-unshaded тягне 136 пакетів, прямих і транзитивних: 11 мають відомі сповіщення, з них 4 — прямі залежності.

ПакетВерсіяЗв'язокКритичністьСповіщеньВиправлено в
com.fasterxml.jackson.core:jackson-core2.18.1прямависока23.2.1
com.fasterxml.jackson.core:jackson-databind2.18.1прямависока73.2.1
org.bouncycastle:bcprov-jdk18on1.79прямависока21.84
io.airlift:aircompressor0.27непрямависока13.4
io.netty:netty-codec4.1.127.Finalнепрямависока24.2.16.Final
io.netty:netty-codec-http4.1.127.Finalнепрямависока164.2.16.Final
io.netty:netty-codec-http24.1.127.Finalнепрямависока64.2.16.Final
io.netty:netty-handler4.1.127.Finalнепрямависока34.2.15.Final
org.bouncycastle:bcpkix-jdk18on1.79прямапомірна11.84
io.netty:netty-handler-proxy4.1.127.Finalнепрямапомірна14.2.13.Final
io.opentelemetry:opentelemetry-api1.42.1непрямапомірна11.62.0

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

Звіт у форматі JSON машиночитний
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 50335,
      "has_wiki": false,
      "homepage": "http://www.snowflake.net",
      "languages": {
        "Java": 2841932,
        "Shell": 18555,
        "Python": 14802,
        "PowerShell": 813
      },
      "pushed_at": "2026-07-14T18:42:54Z",
      "created_at": "2016-10-05T22:08:01Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-14T18:06:15Z",
      "description": "Java SDK for the Snowflake Ingest Service -",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "Apache-2.0",
      "default_branch": "master",
      "license_spdx_raw": "Apache-2.0",
      "primary_language": "Java",
      "significant_languages": [
        "Java"
      ]
    },
    "owner": {
      "blog": "https://snowflake.com",
      "name": "Snowflake",
      "type": "Organization",
      "login": "snowflakedb",
      "company": null,
      "location": "In the ☁",
      "followers": 1616,
      "avatar_url": "https://avatars.githubusercontent.com/u/6453780?v=4",
      "created_at": "2014-01-20T19:36:18Z",
      "is_verified": null,
      "public_repos": 63,
      "account_age_days": 4570
    },
    "license": {
      "state": "standard",
      "spdx_id": "Apache-2.0",
      "raw_spdx": "Apache-2.0",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v4.4.3",
          "kind": "patch",
          "published_at": "2026-04-29T23:06:51Z"
        },
        {
          "tag": "v4.4.2",
          "kind": "patch",
          "published_at": "2026-01-12T20:09:39Z"
        },
        {
          "tag": "v4.4.1",
          "kind": "patch",
          "published_at": "2026-01-07T01:27:06Z"
        },
        {
          "tag": "v4.4.0",
          "kind": "minor",
          "published_at": "2025-11-19T01:27:38Z"
        },
        {
          "tag": "v4.3.2",
          "kind": "patch",
          "published_at": "2025-11-03T17:55:30Z"
        },
        {
          "tag": "v4.3.1",
          "kind": "patch",
          "published_at": "2025-10-08T23:42:31Z"
        },
        {
          "tag": "v4.3.0",
          "kind": "minor",
          "published_at": "2025-08-20T20:15:58Z"
        },
        {
          "tag": "v4.1.0",
          "kind": "minor",
          "published_at": "2025-06-11T20:41:52Z"
        },
        {
          "tag": "v4.0.1",
          "kind": "patch",
          "published_at": "2025-06-03T00:30:42Z"
        },
        {
          "tag": "v4.0.0",
          "kind": "major",
          "published_at": "2025-04-14T23:55:36Z"
        },
        {
          "tag": "v3.1.2",
          "kind": "patch",
          "published_at": "2025-03-13T23:43:21Z"
        },
        {
          "tag": "v3.1.2-beta.unshaded",
          "kind": "prerelease",
          "published_at": "2025-03-13T22:01:13Z"
        },
        {
          "tag": "v3.1.1",
          "kind": "patch",
          "published_at": "2025-02-26T17:35:05Z"
        },
        {
          "tag": "v3.1.0",
          "kind": "minor",
          "published_at": "2025-02-20T17:07:20Z"
        },
        {
          "tag": "v3.0.1",
          "kind": "patch",
          "published_at": "2024-12-03T18:15:52Z"
        },
        {
          "tag": "v3.0.0",
          "kind": "major",
          "published_at": "2024-11-12T23:19:39Z"
        },
        {
          "tag": "v2.3.0",
          "kind": "minor",
          "published_at": "2024-10-11T02:35:17Z"
        },
        {
          "tag": "v2.2.2",
          "kind": "patch",
          "published_at": "2024-09-12T22:12:26Z"
        },
        {
          "tag": "v2.2.1",
          "kind": "patch",
          "published_at": "2024-09-05T17:04:01Z"
        },
        {
          "tag": "v2.2.0",
          "kind": "minor",
          "published_at": "2024-08-09T17:52:09Z"
        },
        {
          "tag": "v2.1.2",
          "kind": "patch",
          "published_at": "2024-07-25T21:04:02Z"
        },
        {
          "tag": "v2.1.1",
          "kind": "patch",
          "published_at": "2024-05-09T17:29:13Z"
        },
        {
          "tag": "v2.1.0",
          "kind": "minor",
          "published_at": "2024-02-28T00:18:15Z"
        },
        {
          "tag": "v2.0.5",
          "kind": "patch",
          "published_at": "2024-01-22T17:11:17Z"
        },
        {
          "tag": "v2.0.4",
          "kind": "patch",
          "published_at": "2023-10-31T23:36:32Z"
        },
        {
          "tag": "v2.0.3",
          "kind": "patch",
          "published_at": "2023-09-01T00:00:18Z"
        },
        {
          "tag": "v2.0.2",
          "kind": "patch",
          "published_at": "2023-07-25T19:18:43Z"
        },
        {
          "tag": "v2.0.1",
          "kind": "patch",
          "published_at": "2023-06-14T22:26:44Z"
        },
        {
          "tag": "v2.0.0",
          "kind": "major",
          "published_at": "2023-06-13T20:17:14Z"
        },
        {
          "tag": "v1.1.4",
          "kind": "patch",
          "published_at": "2023-05-17T20:47:43Z"
        },
        {
          "tag": "v1.1.3",
          "kind": "patch",
          "published_at": "2023-04-25T17:45:33Z"
        },
        {
          "tag": "v1.1.2",
          "kind": "patch",
          "published_at": "2023-04-21T22:36:56Z"
        },
        {
          "tag": "v1.1.1",
          "kind": "patch",
          "published_at": "2023-03-24T21:40:23Z"
        },
        {
          "tag": "v1.1.0",
          "kind": "minor",
          "published_at": "2023-02-24T20:41:58Z"
        },
        {
          "tag": "v1.0.3-beta.1",
          "kind": "prerelease",
          "published_at": "2023-02-17T21:55:34Z"
        },
        {
          "tag": "v1.0.3-beta",
          "kind": "prerelease",
          "published_at": "2023-02-08T20:46:52Z"
        },
        {
          "tag": "v1.0.2-beta.7",
          "kind": "prerelease",
          "published_at": "2022-12-09T20:06:09Z"
        },
        {
          "tag": "v1.0.2-beta.6",
          "kind": "prerelease",
          "published_at": "2022-11-15T00:55:19Z"
        },
        {
          "tag": "v1.0.2-beta.5",
          "kind": "prerelease",
          "published_at": "2022-09-30T20:32:20Z"
        },
        {
          "tag": "v1.0.2-beta.4",
          "kind": "prerelease",
          "published_at": "2022-08-25T21:32:39Z"
        },
        {
          "tag": "v0.10.8",
          "kind": "patch",
          "published_at": "2022-08-03T00:04:16Z"
        },
        {
          "tag": "v1.0.2-beta.3",
          "kind": "prerelease",
          "published_at": "2022-07-29T18:23:56Z"
        },
        {
          "tag": "v0.10.4-beta.3",
          "kind": "prerelease",
          "published_at": "2022-06-29T06:39:47Z"
        },
        {
          "tag": "v1.0.2-beta.2",
          "kind": "prerelease",
          "published_at": "2022-06-16T19:18:39Z"
        },
        {
          "tag": "v0.10.7",
          "kind": "patch",
          "published_at": "2022-05-06T20:14:17Z"
        },
        {
          "tag": "v0.10.4-beta.2",
          "kind": "prerelease",
          "published_at": "2022-04-22T16:24:20Z"
        },
        {
          "tag": "v0.10.6",
          "kind": "patch",
          "published_at": "2022-04-20T16:10:18Z"
        },
        {
          "tag": "v0.10.4-beta",
          "kind": "prerelease",
          "published_at": "2022-04-20T22:21:05Z"
        },
        {
          "tag": "v0.10.3",
          "kind": "patch",
          "published_at": "2021-06-01T21:50:07Z"
        },
        {
          "tag": "v0.10.2",
          "kind": "patch",
          "published_at": "2021-02-10T13:23:04Z"
        },
        {
          "tag": "v0.10.1",
          "kind": "patch",
          "published_at": "2021-01-21T22:10:35Z"
        },
        {
          "tag": "v0.10.0",
          "kind": "minor",
          "published_at": "2021-01-20T23:12:27Z"
        },
        {
          "tag": "v0.9.12",
          "kind": "patch",
          "published_at": "2020-11-09T22:44:57Z"
        },
        {
          "tag": "v0.9.11",
          "kind": "patch",
          "published_at": "2020-10-12T19:46:22Z"
        },
        {
          "tag": "v0.9.10",
          "kind": "patch",
          "published_at": "2020-10-05T18:01:17Z"
        },
        {
          "tag": "v0.9.9",
          "kind": "patch",
          "published_at": "2020-06-03T17:51:46Z"
        },
        {
          "tag": "v0.9.7",
          "kind": "patch",
          "published_at": "2020-03-19T17:07:21Z"
        },
        {
          "tag": "v0.9.1",
          "kind": "patch",
          "published_at": "2018-07-27T17:30:16Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "38a6d6be75c2da71c5d60622aa83b1a6094fdb19",
          "body": "Maven Central (repo.maven.apache.org) began returning HTTP 429 during\nthe 4.4.3-unshaded release when resolving\ncom.google.cloud:first-party-dependencies:3.18.0 (a transitive parent\nPOM of com.google.cloud.opentelemetry:exporter-metrics). The existing\nsettings.xml used <repository id=\"central\"> to r\n[…]\nd time.\n\nVerified by re-cutting the 4.4.3-unshaded release: previously-failing\nartifact resolution now succeeds against the Artifactory mirror.\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[NO-SNOW] Route Maven deploy scripts through Artifactory mirror (#1153)",
          "author_name": "Alec Huang",
          "author_login": "sfc-gh-alhuang",
          "committed_at": "2026-05-07T22:06:29Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e051dd72c87a97d2206f146e006d5e4df73fc398",
          "body": "* Release SDK 4.4.3\n\n* Trigger CI rerun",
          "is_bot": false,
          "headline": "Release SDK 4.4.3 (#1151)",
          "author_name": "Alec Huang",
          "author_login": "sfc-gh-alhuang",
          "committed_at": "2026-04-29T21:30:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "248a4f7ecbce6df4a39072d472d67d151fcd130c",
          "body": "… (#1148)\n\n* Fix dependency issues: add hamcrest-core, exclude JDBC vulnerabilities\n\n- Add hamcrest-core:1.3 as explicit test dependency (used by ported\n  tests: RestRequestTest, JdbcHttpUtilTest, SnowflakeConnectStringTest,\n  SecretDetectorTest)\n- Exclude vulnerable transitive deps from snowflake-j\n[…]\ntext) <noreply@anthropic.com>\n\n* Update copyright year to 2026\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[NO-SNOW] Exclude vulnerable transitive deps from snowflake-jdbc-thin…",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-04-14T21:50:07Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8ec7c2b0b7825e83f0b1399aee461c34e9cebef9",
          "body": "… (#1147)\n\n* [SNOW-3249917] Port 25 missing JDBC unit tests for replicated classes\n\nPort unit tests from snowflake-jdbc v3.25.1 for all replicated classes\nthat had JDBC tests but were missing ingest tests. All converted from\nJUnit 5 to JUnit 4 to match project test infrastructure.\n\nTests ported:\n- S\n[…]\nnse: CDDL-1.1/GPL-2.0)\n  - javax.annotation-api (license: CDDL-1.1/GPL-2.0)\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] Port 25 missing JDBC unit tests for replicated classes…",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-04-14T00:30:42Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "137b006efde037df9d3ea750639de427606ac522",
          "body": "* [SNOW-3249917] JDBC removal Step 11d: Demote JDBC to test scope\n\n- Change snowflake-jdbc-thin scope to test in pom.xml (used only by\n  TestUtils.java for IT result verification)\n- Remove JDBC shade relocation rules from Maven Shade plugin\n\nJDBC is no longer shipped in the SDK jar. Zero net.snowfla\n[…]\nan explicit dependency for JDBC connections\nto Snowflake during test setup.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 11d: Demote JDBC to test scope (#1146)",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-04-08T17:49:04Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1378627e76faca71c8a5a1b32cd0db6f94a99be9",
          "body": "…erences (#1145)\n\n* [SNOW-3249917] JDBC removal Step 11a (part 2): Replicate HttpUtil, swap callers, clean up FQN refs\n\nReplicate JDBC's HttpUtil as JdbcHttpUtil (renamed to avoid collision with\ningest's utils.HttpUtil). Swap all callers to use replicated REST\ninfrastructure. Clean up all FQN JDBC r\n[…]\neanup but remains in\ncompile scope until Step 11d demotes it to test scope.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 11b: Clean up remaining FQN JDBC ref…",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-04-08T02:30:40Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "97d355df4ad7d3b27417c523320cf36d2443e3e1",
          "body": "…ap callers (#1144)\n\n* [SNOW-3249917] JDBC removal Step 11a (part 2): Replicate HttpUtil, swap callers to replicated REST infrastructure\n\nReplicate JDBC's HttpUtil as JdbcHttpUtil (renamed to avoid collision with\ningest's existing net.snowflake.ingest.utils.HttpUtil). Also replicate\nSnowflakeMutable\n[…]\nmaven-dependency-plugin:analyze-only requires\nit to be declared explicitly.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 11a (part 2): Replicate HttpUtil, sw…",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-04-07T21:16:40Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "363bc93fe7ea1c4e1b8e323d85506766c3c84e4f",
          "body": "…retry infrastructure (#1143)\n\n* Update JDBC removal plan: add Step 11 (final cleanup)\n\nStep 10c/10c2 done (remove SFSession). After those, 6 JDBC imports +\n~70 FQN references remain. Split final cleanup into Step 11:\n\n- 11a: Create HttpRequestHelper, replace 6 JDBC HTTP calls\n- 11b: Remove 47 FQN S\n[…]\nseDetails\ninlined as a local method since it requires JDBC's SFLogger type.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 11a: Replicate RestRequest and HTTP …",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-04-07T18:26:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "c3f03a849a96638b9873f72875c3b89477f8d2cc",
          "body": "…exceptions + telemetry (#1136)\n\nRemove SFSession/SFBaseSession from SnowflakeSQLLoggedException and\nTelemetryClient. Session was always null from ingest callers.\n\nSnowflakeSQLLoggedException:\n- Remove SFBaseSession/SFSession from all 15 constructor signatures\n- Remove IB telemetry dead code (sessio\n[…]\nUtil + SnowflakeSQLException in\nTelemetryClient, HttpUtil + RestRequest + ExecTimeTelemetryData +\nHttpResponseContextDto in SnowflakeGCSClient)\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 10c (part 2): Remove SFSession from …",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-04-07T06:52:31Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "57ce4ac10d76cde7876e3ca0bf73bede5a69c8c1",
          "body": "…tack (#1135)\n\nRemove SFSession/SFBaseSession parameters and dead session-based code\nfrom the storage client stack. Session was always null from ingest callers.\n\nStorage clients (SnowflakeS3Client, SnowflakeAzureClient, SnowflakeGCSClient):\n- Remove SFSession/SFBaseSession fields and constructor par\n[…]\n\n\nRemaining SFSession imports (3): SnowflakeSQLLoggedException (constructor\nparams), TelemetryClient (session-based code) — to be handled next.\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 10c: Remove SFSession from storage s…",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-04-06T23:54:22Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "9c2348150ffdf887a9c0437e1ed2548d3dbceeea",
          "body": "* [SNOW-3249917] JDBC removal Step 10b: Swap SFException imports\n\nMechanical import swaps — remove SFException JDBC imports from files\nwhere the replicated SFException is now in the same package:\n\n- SnowflakeSQLException: remove import (SFException in same package)\n- SnowflakeSQLLoggedException: rem\n[…]\n JDBC to test scope (27 remaining imports with\n  massive dependency chains)\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 10b: Swap SFException imports (#1134)",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-04-02T21:49:47Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1d3b13a6767605fa8aa5f3fdc1786c85c0aa574b",
          "body": "…classes (#1132)\n\nVerbatim replication of remaining JDBC classes with self-contained\ndependency trees:\n\n- SFException (127 lines) — exception type used by SnowflakeSQLException\n  and TelemetryEvent. Source: net.snowflake.client.core.SFException\n- HttpResponseContextDto (54 lines) — HTTP response con\n[…]\net.snowflake.client.util.ThrowingCallable\n- StorageClientUtil: added getEpochTimeInMicroSeconds (from SnowflakeUtil,\n  used by TimeMeasurement)\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 10a: Replicate remaining small JDBC …",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-04-02T19:46:08Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e1a5541562dfd6fa27fc0fd0736e74ce0baeb3d8",
          "body": "Mechanical import swaps only — no logic changes:\n\nSnowflakeSQLLoggedException (6 of 12 JDBC imports swapped):\n- ObjectMapperFactory → same package (already replicated)\n- SqlState → same package (already replicated)\n- TelemetryEvent → same package (replicated in Step 9b)\n- TelemetryService (OOB) → sa\n[…]\n TelemetryThreadPool → ingest version (replicated in Step 9b)\nKept from JDBC: HttpUtil, SFSession, SnowflakeConnectionV1, SnowflakeSQLException\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 9c: Swap telemetry imports (#1131)",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-04-02T09:06:17Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "5f3a88e3c8629ccc96156cd9c093bcd916e8f0d8",
          "body": "…emetryService (OOB) (#1130)\n\n[SNOW-3249917] JDBC removal Step 9b: Replicate OOB telemetry classes\n\nVerbatim replication of JDBC OOB telemetry infrastructure:\n\n- TelemetryEvent (182 lines) — telemetry event builder with\n  MetricBuilder/LogBuilder. Source:\n  net.snowflake.client.jdbc.telemetryOOB.Tel\n[…]\nd SnowflakeDriver.implementVersion\n\nSFException kept from JDBC temporarily (used as parameter type in\nTelemetryEvent.LogBuilder.withException).\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 9b: Replicate TelemetryEvent and Tel…",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-04-02T00:48:00Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "7b7b7ce9ef335b30e40feb985abc845d4ed73061",
          "body": "…ependencies (#1129)\n\nVerbatim replication of JDBC classes needed by TelemetryEvent and\nTelemetryService (OOB):\n\n- TelemetryThreadPool (61 lines) — singleton thread pool for async\n  telemetry. Source: net.snowflake.client.jdbc.telemetryOOB.TelemetryThreadPool\n- SFTimestamp (20 lines) — UTC timestamp\n[…]\nonnectString\n- SnowflakeDriverConstants — constants from LoginInfoDTO.SF_JDBC_APP_ID\n  (\"JDBC\") and SnowflakeDriver.implementVersion (\"3.25.1\")\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 9b (prep): Replicate OOB telemetry d…",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-04-01T23:07:32Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "c4d91ae2906e02fc5744ed3f743e5a76476ab3a4",
          "body": "…cated classes (#1128)\n\n* [SNOW-3249917] JDBC removal Step 9a: Clean up replicated class imports\n\nRemove or swap JDBC imports in replicated classes:\n- ErrorCode, SnowflakeFileTransferAgent: remove SqlState import (same package)\n- TelemetryClient, TelemetryData, TelemetryUtil: swap ObjectMapperFactor\n[…]\n changes\n- Step 10: handle remaining JDBC types (SFSession stubs, GCS HTTP)\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 9a: Mechanical import swaps in repli…",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-04-01T20:55:21Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "cf3e04e9f419f7f8f26ca772c17a2339515e72a7",
          "body": "…(#1127)\n\nSwap all JDBC imports to ingest versions in:\n- InternalStage: all 7 JDBC imports replaced, parseConfigureResponseMapper\n  removed (no longer needed since replicated SnowflakeFileTransferAgent\n  uses same Jackson version), parseFileLocationInfo simplified to\n  createFileTransferNode\n- Inter\n[…]\nternalStageTest: update all JDBC imports to ingest versions\n\nInternalStage and all streaming/internal files are now fully free of JDBC\nimports.\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 8e: Swap all remaining JDBC imports …",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-04-01T18:58:24Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "5f1951b37f41cf4f58b3e9d8e0b13739bd2d5305",
          "body": "…ntations (#1124)\n\n* Update JDBC removal plan: add Steps 8d-8e, progress summary\n\nRestructured remaining steps:\n- Step 8c: helper classes + interface (PR #1123, done)\n- Step 8d: storage client implementations (S3/Azure/GCS + factory +\n  uploadWithoutConnection) — next PR\n- Step 8e: swap ALL imports \n[…]\npendencies through google-cloud-storage but need to be declared\nexplicitly.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 8d: Replicate storage client impleme…",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-04-01T03:05:08Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1c40b357e6c978d32fd8f31a73eb288c68cb0aef",
          "body": "…1133)\n\nAdd Maven resolver retry config for CI network flakiness\n\nAdd .mvn/maven.config with:\n- aether.connector.retryCount=3: retry failed artifact downloads up to\n  3 times (default is 1)\n- aether.connector.requestTimeout=60000: 60s timeout for artifact\n  resolution requests (default is lower)\n\nThis addresses transient Maven Central connectivity failures in CI\n(e.g. maven-jar-plugin resolution errors).\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[NO-SNOW] Add Maven resolver retry config for CI network flakiness (#…",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-04-01T00:38:35Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "13492ae2238da4d942cd28b67d17916259db6269",
          "body": "…onfig, SnowflakeStorageClient, helper classes (#1123)\n\n* [SNOW-3249917] JDBC removal Step 8c: Replicate SnowflakeFileTransferConfig\n\nVerbatim replication of the file transfer config builder from JDBC.\n\nPermitted differences: package, OCSPMode uses ingest version,\nSFSession replaced with Object (alw\n[…]\nive dependency through\naws-java-sdk-s3 but needs to be declared explicitly.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 8c: Replicate SnowflakeFileTransferC…",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-03-30T19:13:44Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "6b295e42ebbeb13fa9264f6213a87a784700af27",
          "body": "…etadataV1, ObjectMapperFactory, expand SqlState (#1121)\n\nVerbatim replication of three more classes from JDBC:\n- SnowflakeFileTransferMetadataV1 (109 lines) — file transfer metadata,\n  depends on StageInfo/RemoteStoreFileEncryptionMaterial/CommandType (all\n  replicated in previous steps)\n- Snowflak\n[…]\nStage\n(which still needs JDBC types for the uploadWithoutConnection path).\nAll types will be swapped together when the upload path is replaced.\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 8b: Replicate SnowflakeFileTransferM…",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-03-30T07:03:39Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "cf96fa80c837cce880f2b93641bc25954dd115a3",
          "body": "…FileEncryptionMaterial (#1120)\n\nVerbatim replication of two data classes from JDBC:\n- StageInfo (229 lines) — stage descriptor with StageType enum, credentials,\n  region, endpoint, presigned URL. @SnowflakeJdbcInternalApi removed.\n- RemoteStoreFileEncryptionMaterial (46 lines) — encryption key hold\n[…]\nhtly coupled with\nSnowflakeFileTransferMetadataV1 (metadata.getStageInfo() returns JDBC's\nStageInfo). Both must be swapped together in Step 8b.\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 8a: Replicate StageInfo, RemoteStore…",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-03-28T21:51:01Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "4f83d0fe965821738b1580ecdcef684f511a62fa",
          "body": "…as (#1119)\n\n* Update JDBC removal plan: split Step 7b into 7b (parsing) and 7c (upload)\n\nStep 7b: Replicate getFileTransferMetadatas and helper methods verbatim\nStep 7c: Route uploadWithoutConnection through IcebergFileTransferAgent\n  (which is the existing replication of JDBC's upload stack)\n\nCo-A\n[…]\n TelemetryClient JDBC imports (6 imports)\n- Step 10: Remove JDBC dependency\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 7b: Replicate getFileTransferMetadat…",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-03-27T22:54:29Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1a4ad1a6b49e2eddcbc324ebb5c3bbdeae29aaf9",
          "body": "…(Steps 5a, 5b) (#1118)\n\n[SNOW-3249917] Add unit tests for replicated ErrorCode, ResourceBundleManager, SnowflakeSQLException, SnowflakeSQLLoggedException\n\nPort tests from snowflake-jdbc for replicated error/exception classes:\n- ErrorCodeTest: message code range, SQL states, CLOUD_STORAGE_CREDENTIAL\n[…]\nt: constructors, error code lookup, retry info, defaults\n- SnowflakeSQLLoggedExceptionTest: null session, OOB/IB value creation, maskStacktrace\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] Add unit tests for replicated error/exception classes …",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-03-25T00:15:21Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "ef76d330669ade49ec79367fbc82ddfdb6c44449",
          "body": "…tion imports (#1116)\n\n* [SNOW-3249917] JDBC removal Step 7a: Inline error helpers, swap exception imports\n\nInline SnowflakeFileTransferAgent.throwJCEMissingError() and\nthrowNoSpaceLeftError() into StorageClientUtil, and swap all\nexception/ErrorCode imports in storage clients:\n\n- StorageClientUtil: \n[…]\nlled\nfrom IcebergFileTransferAgent which already declares throws Exception.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 7a: Inline error helpers, swap excep…",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-03-24T22:39:31Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "953e69e6761ce2214cd4cff3a3dd3598dae50958",
          "body": "* [SNOW-3249917] JDBC removal Step 6: Replicate Telemetry classes\n\nReplicate JDBC telemetry classes and swap imports in TelemetryService:\n\n- TelemetryClient: batches and sends telemetry data via HTTP POST.\n  JDBC imports kept temporarily (HttpUtil, ObjectMapperFactory,\n  SFSession, SnowflakeConnecti\n[…]\nreation, buffer ops,\n  close behavior, disable telemetry, invalid auth type\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 6: Replicate Telemetry classes (#1115)",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-03-24T19:02:54Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "5d9a7c14cf446f03375688204c309bceccb3c31f",
          "body": "…SQLLoggedException (#1114)\n\nReplicate exception classes from snowflake-jdbc (v3.25.1). Create the\nclasses only — no import swaps in storage clients yet. Import swaps\nare deferred to Step 7 when SnowflakeFileTransferAgent is replaced,\nbecause the storage clients' throws clauses would need to be wide\n[…]\nelemetry/session imports kept\n  temporarily (all callers pass null for session)\n- CLOUD_STORAGE_CREDENTIALS_EXPIRED constant added to ErrorCode\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 5b: SnowflakeSQLException, Snowflake…",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-03-22T11:51:07Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "195084e0ddcf9c73e38a119e6a008b0a9f95e13d",
          "body": "… (#1113)\n\nReplicate from snowflake-jdbc (v3.25.1):\n\n- ErrorCode: full enum with all 69 error codes, verbatim copy.\n  SqlState import temporarily uses JDBC shaded path. Placed in\n  fileTransferAgent package (not utils) because utils already has\n  its own ErrorCode. No import swaps yet — storage clie\n[…]\nource). Manages localized error message lookup.\n- jdbc_error_messages.properties: error message templates copied\n  verbatim from JDBC thin jar.\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 5a: ErrorCode, ResourceBundleManager…",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-03-22T10:28:48Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "587a14f1cd24f3b737a9a587d75ece28fae2c6bc",
          "body": "Replicate from snowflake-jdbc (v3.25.1):\n\n- HttpClientSettingsKey: value class wrapping OCSPMode + proxy\n  properties, copied verbatim from JDBC source\n- IngestSSLConnectionSocketFactory: SSL socket factory that optionally\n  disables SOCKS proxy (renamed from SFSSLConnectionSocketFactory)\n- StorageC\n[…]\nkeSQLException until Step 5),\n  createDefaultExecutorService\n\nAll replicated classes now use SFLogger (from Step 2b) instead of\nSLF4J directly.\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 4: HTTP settings + SSL factory (#1111)",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-03-22T07:32:41Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8b2cdfa98f7e03e13fad35bf7f578ac8fb436ae8",
          "body": "Create ingest-owned replacements for JDBC storage layer types:\n\n- StorageObjectMetadata: own interface (replaces JDBC cloud storage\n  interface). IcebergCommonObjectMetadata and IcebergS3ObjectMetadata\n  already implement it — just swap the import.\n- FileBackedOutputStream: own class that buffers in\n[…]\nMap).\n\nAll three are in the fileTransferAgent package (same package as all\nconsumers), so no new imports needed — just remove the JDBC imports.\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 3: Storage data types + utils (#1110)",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-03-22T00:38:31Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "9eea97626817df1fbbc3c4fc6f53da49166cb5d1",
          "body": "…e (#1112)\n\n* [SNOW-3249917] JDBC removal Step 2: Enums, constants, proxy utils\n\nCreate ingest-owned replacements for JDBC leaf classes and swap all\nimports:\n\n- SFSessionProperty: enum with 9 property keys (string values match\n  JDBC exactly)\n- OCSPMode: OCSP mode enum (created but not swapped yet —\n[…]\nss depends on\n  javax.servlet via yammer metrics — not on ingest classpath)\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 2b: Replicate SFLogger infrastructur…",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-03-20T23:57:32Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "7bb6dafdc94208522389207db2198ac3f88c5e9f",
          "body": "…109)\n\nCreate ingest-owned replacements for JDBC leaf classes and swap all\nimports:\n\n- SFSessionProperty: enum with 9 property keys (string values match\n  JDBC exactly)\n- OCSPMode: OCSP mode enum (created but not swapped yet — blocked by\n  SnowflakeUtil.convertProxyPropertiesToHttpClientKey in\n  Ice\n[…]\ndated .plans/JDBC_REMOVAL_PLAN.md with iterative removal approach,\nkey constraint about not changing call-site behavior, and 200-line\nPR limit.\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 2: Enums, constants, proxy utils (#1…",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-03-20T01:41:23Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "ac334a40b51fd5a0813bff0a551c60dd2ac2c1a5",
          "body": "…tch (#1100)\n\n[SNOW-3249917] JDBC removal Phase 1a: Replicate Power10, SFPair, Stopwatch\n\nReplicate three simple utility classes from snowflake-jdbc (v3.25.1)\ninto the ingest SDK and update all import references:\n\n- Power10: powers-of-10 lookup tables used by TimestampWrapper and\n  DataValidationUti\n[…]\ntorage clients\n\nAlso removes the SnowflakeDateTimeFormat import from DataValidationUtil\n(was only referenced in Javadoc comments, not in code).\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] JDBC removal Step 1: Replicate Power10, SFPair, Stopwa…",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-03-19T21:39:20Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "0374010f5017706fdd6bd63596381e65f0088c37",
          "body": "Move and update JDBC removal plan\n\n- Move JDBC_REMOVAL_PLAN.md → .plans/JDBC_REMOVAL_PLAN.md\n- Add Replication Verification section: after each phase Claude fetches\n  the JDBC original at v3.25.1, normalises package/import differences,\n  diffs the bodies, and emits a structured report; any unexpecte\n[…]\nnternalStageManager.java to Files Affected Summary\n- Fix InternalStageTest imports list: add HttpUtil and\n  CLOUD_STORAGE_CREDENTIALS_EXPIRED\n\nCo-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[NO-SNOW] Move and update JDBC removal plan (#1099)",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-03-19T04:28:06Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "7474e5173050b3bc08494e44fe5af5e366963fed",
          "body": "* Add subdirectory CLAUDE.md context files\n\nAdds Claude Code context files for each major source package so that AI\nassistants have accurate, focused documentation when working in a specific\nsubdirectory.  Follows the same style as snowflake-eng/snowflake-ingest-sdk.\n\nPackages covered:\n- connection/\n[…]\nage (package-private\n  Parquet internals) and warns against moving them\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[NO-SNOW] Add subdirectory CLAUDE.md context files (#1097)",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-03-19T03:02:10Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "d8bb89001a73e3143cdbdf61559d0ff044031405",
          "body": "* NO-SNOW: Exclude .claude/** from workflow triggers\n\nAdds paths-ignore: ['.claude/**'] to all workflow push and pull_request\ntriggers so that changes to AI context files (CLAUDE.md, memory files,\nplans) don't fire CI unnecessarily.\n\nWorkflows updated: End2EndTest, GoogleJavaFormat, semgrep, snyk-pr\n[…]\nes.\n\nWorkflows updated: End2EndTest, GoogleJavaFormat, semgrep, snyk-pr\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "NO-SNOW: Exclude .claude/** from workflow triggers (#1098)",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-03-19T00:53:21Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "3b338730b1fb4b4425e4477d36dbf49ce63af0e1",
          "body": "Add JDBC removal plan\n\nDocuments the plan to remove the snowflake-jdbc-thin dependency by\nreplicating all required classes directly in this repo. Covers:\n- Why and how JDBC is currently used\n- Guiding principle: replication only, no functional changes\n- 5 phases of migration ordered by complexity\n- Test migration policy for porting JDBC unit tests\n- Full list of affected files and new classes to create\n\nCo-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "[SNOW-3249917] Add JDBC removal plan (#1096)",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2026-03-18T06:14:34Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "59f42d30f084fb57eb0c72896738e3fe2224feda",
          "body": null,
          "is_bot": false,
          "headline": "Release SDK 4.4.2 (#1093)",
          "author_name": "Sai Samrat Karlapudi",
          "author_login": "sfc-gh-skarlapudi",
          "committed_at": "2026-01-12T19:25:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "52b6ae8696dac40ecc2ee9fecca4113b80f257d0",
          "body": "Fix netty-codec-http vulnerability (CVE in 4.1.124.Final)",
          "is_bot": false,
          "headline": "SNOW-2994074: Fix vulns (#1092)",
          "author_name": "Sai Samrat Karlapudi",
          "author_login": "sfc-gh-skarlapudi",
          "committed_at": "2026-01-12T04:57:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e6d7522897aa6705d1eae0db1e13fdecddeac537",
          "body": null,
          "is_bot": false,
          "headline": "Release SDK 4.4.1 (#1090)",
          "author_name": "Sai Samrat Karlapudi",
          "author_login": "sfc-gh-skarlapudi",
          "committed_at": "2026-01-06T23:19:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "95340192f21807ed9f8dee7d76ed3af13a783e3d",
          "body": "* SNOW-2890719 Fix null count validation error for repeated fields\n\n* Disable test",
          "is_bot": false,
          "headline": "SNOW-2890719 Fix null count validation error for repeated fields (#1089)",
          "author_name": "Alec Huang",
          "author_login": "sfc-gh-alhuang",
          "committed_at": "2025-12-18T16:11:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bee47818c6af2a4de9c932155ba85d052ab3bca5",
          "body": "4.4.0 Release",
          "is_bot": false,
          "headline": "4.4.0 Release (#1087)",
          "author_name": "Artem Minyaylov",
          "author_login": "sfc-gh-aminyaylov",
          "committed_at": "2025-11-18T02:45:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dbe5c17f2cac2dbc6aa2df6575042053705084a3",
          "body": null,
          "is_bot": false,
          "headline": "SNOW-2274579: Fix bouncycastle vuln (#1086)",
          "author_name": "Sai Samrat Karlapudi",
          "author_login": "sfc-gh-skarlapudi",
          "committed_at": "2025-11-17T22:23:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ce9385c1e76fa0cf97f630c6f39b24862e91cd38",
          "body": "## Problem\n\nWhen the primary deployment URL is updated, the client throws a `CHANNEL_INVALID`​ error. The user responds by re-opening the channel, which succeeds. However, ingestion continues to fail due to the deployment mismatch.\n\n## Solution\n\nClient is automatically closed if it detects the prima\n[…]\n**deployment** **ID** **mismatch**: we are registering a file with the wrong deployment\n3. **Server-side** **encryption** **key** **mismatch**: we are registering a file with an invalid encryption key",
          "is_bot": false,
          "headline": "[SNOW-2464956] Close client on primary deployment change (#1078)",
          "author_name": "Artem Minyaylov",
          "author_login": "sfc-gh-aminyaylov",
          "committed_at": "2025-11-11T17:53:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4e8bd295f5b7b3220fe70b6b2d9160b5084b149f",
          "body": null,
          "is_bot": false,
          "headline": "v4.3.2 release (#1083)",
          "author_name": "Alec Huang",
          "author_login": "sfc-gh-alhuang",
          "committed_at": "2025-11-03T17:41:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "79070464c973814f4440be75203c56dba8b31ec2",
          "body": null,
          "is_bot": false,
          "headline": "NO-SNOW enable IcebergKmsEncryptionIT (#1084)",
          "author_name": "Alec Huang",
          "author_login": "sfc-gh-alhuang",
          "committed_at": "2025-10-31T22:30:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f90d2c925c2ddb5ae8ca4e7163175f403df5eb53",
          "body": null,
          "is_bot": false,
          "headline": "SNOW-2532710 Fix Iceberg Non-encrypted Volumes Compatibility (#1082)",
          "author_name": "Dariusz Seweryn",
          "author_login": "sfc-gh-dseweryn",
          "committed_at": "2025-10-31T17:43:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "50a51df530db8de8dc981b20113a0b0ad76b0387",
          "body": null,
          "is_bot": false,
          "headline": "V4.3.1 Release (#1077)",
          "author_name": "Alec Huang",
          "author_login": "sfc-gh-alhuang",
          "committed_at": "2025-10-08T23:25:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d5d3f085eca8f536e52bb3d507fce1e4d68ca933",
          "body": "…#1076)",
          "is_bot": false,
          "headline": "SNOW-2302576 Honor the encryption option set on the external volume (…",
          "author_name": "Alec Huang",
          "author_login": "sfc-gh-alhuang",
          "committed_at": "2025-10-06T23:41:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d954cba38aab44eaf7df4a49bb6fa91e1c49526f",
          "body": null,
          "is_bot": false,
          "headline": "Add comment describing the importance of PPN algorithm stability (#1074)",
          "author_name": "Purujit Saha",
          "author_login": "sfc-gh-psaha",
          "committed_at": "2025-09-17T17:41:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1e23ae5999df3ab1df8e3cfc53ed72e61c22004b",
          "body": "- Upgraded Hadoop dependencies from 3.4.1 to 3.4.2\n- Removed minimal UnmodifiableMap class and reference to Commons Collection 3.2.2 with dependency removed from Hadoop 3.4.2",
          "is_bot": false,
          "headline": "SNOW-2169740 Removed UnmodifiableMap for Hadoop 3.4.2 (#1073)",
          "author_name": "David Handermann",
          "author_login": "sfc-gh-dhandermann",
          "committed_at": "2025-09-10T17:17:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9c288be35bda3f63b416f0ee9da9de0fc9b10d38",
          "body": "### TL;DR\n\nUpdated version from 4.3.0 to 4.3.0-SNAPSHOT across all relevant files.",
          "is_bot": false,
          "headline": "NO-SNOW 4.3.0-SNAPSHOT (#1072)",
          "author_name": "Alec Huang",
          "author_login": "sfc-gh-alhuang",
          "committed_at": "2025-09-04T01:57:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "75e8bc131d4c37c1a23e1cf834b1f820770ad191",
          "body": null,
          "is_bot": false,
          "headline": "4.3.0 release (#1060)",
          "author_name": "Alec Huang",
          "author_login": "sfc-gh-alhuang",
          "committed_at": "2025-08-20T01:03:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2567300398800a02f0bc110732ee07cd45241cc2",
          "body": null,
          "is_bot": false,
          "headline": "NO-SNOW Fix v4.2.0 unshaded pom.xml (#1058)",
          "author_name": "Alec Huang",
          "author_login": "sfc-gh-alhuang",
          "committed_at": "2025-08-19T23:19:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "abef6e4bcfd0987da30389c2e452448aa43e836e",
          "body": null,
          "is_bot": false,
          "headline": "SNOW-2269948: Fix netty http2 vuln (#1056)",
          "author_name": "Sai Samrat Karlapudi",
          "author_login": "sfc-gh-skarlapudi",
          "committed_at": "2025-08-18T18:13:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fad7d19d36b6afc2c29e5e6fd5b2afa40abdeba3",
          "body": "SNOW-2266937 Fix bouncycastle vulns",
          "is_bot": false,
          "headline": "SNOW-2266937: Fix bouncycastle vulns (#1051)",
          "author_name": "Sai Samrat Karlapudi",
          "author_login": "sfc-gh-skarlapudi",
          "committed_at": "2025-08-15T00:15:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1ebf67a29269e35ce4c6b164550a3d70059cda3e",
          "body": "* FLOW-4820 Openflow x SPCS x GCP support\n\n* Fix Jacoco issue",
          "is_bot": false,
          "headline": "FLOW-4820 Openflow x SPCS x GCP support (#1034)",
          "author_name": "Alec Huang",
          "author_login": "sfc-gh-alhuang",
          "committed_at": "2025-08-14T00:37:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0b4d2bf8f89fd13ff8fd353e2004b5236afff30c",
          "body": null,
          "is_bot": false,
          "headline": "NO-SNOW Fix 4.2.0 unshaded release (#1044)",
          "author_name": "Alec Huang",
          "author_login": "sfc-gh-alhuang",
          "committed_at": "2025-08-13T22:43:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f6a3901f7635dd71844d68046c734abacd9fc569",
          "body": null,
          "is_bot": false,
          "headline": "SNOW-2264004: Fix bouncycastle vuln (#1043)",
          "author_name": "Sai Samrat Karlapudi",
          "author_login": "sfc-gh-skarlapudi",
          "committed_at": "2025-08-13T21:30:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "af780b21bf6d4b2d8f2bf107e85abd82a4ba5380",
          "body": null,
          "is_bot": false,
          "headline": "NO-SNOW Fix central publisher portal signing process (#1039)",
          "author_name": "Alec Huang",
          "author_login": "sfc-gh-alhuang",
          "committed_at": "2025-08-05T08:17:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "345ea08c553edb8d6bd412c38cdd046bc552e45f",
          "body": "Revert \"V5.0.0 Release (#1037)\"\n\nThis reverts commit 26976c42ca2b4cfc37bf2d02ab106d8af30cbe07.",
          "is_bot": false,
          "headline": "Revert \"V5.0.0 Release\" (#1038)",
          "author_name": "Alec Huang",
          "author_login": "sfc-gh-alhuang",
          "committed_at": "2025-08-04T21:35:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "26976c42ca2b4cfc37bf2d02ab106d8af30cbe07",
          "body": null,
          "is_bot": false,
          "headline": "V5.0.0 Release (#1037)",
          "author_name": "Alec Huang",
          "author_login": "sfc-gh-alhuang",
          "committed_at": "2025-07-31T21:29:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c3af9051530f64bcf5e39aedcd440de1d926e636",
          "body": "…on (#1031)",
          "is_bot": false,
          "headline": "SNOW-2218309 Fix upload/registration path mismatch in Iceberg ingesti…",
          "author_name": "Alec Huang",
          "author_login": "sfc-gh-alhuang",
          "committed_at": "2025-07-29T23:48:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c3d9300e9bb95e7a18e83b829334dcc6adde0a16",
          "body": "…Publisher Portal (#1030)\n\n- Replace nexus-staging-maven-plugin with central-publishing-maven-plugin v0.8.0\n- Add build-helper-maven-plugin v3.6.1 for POM artifact attachment\n- Update deployment script to use Central Publisher Portal API\n- Simplify staging/release process (handled automatically by n\n[…]\nAdd version properties for consistent plugin management\n\nFixes compatibility with new Central Publisher Portal after OSSRH EOL (June 30, 2025) References: https://central.sonatype.org/pages/ossrh-eol/",
          "is_bot": false,
          "headline": "SNOW-2205198: Migrate Maven Central publishing from OSSRH to Central …",
          "author_name": "Toby Zhang",
          "author_login": "sfc-gh-tzhang",
          "committed_at": "2025-07-18T02:53:28Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "be5c70bd5271b702a5df507ccf8d0a786b992061",
          "body": null,
          "is_bot": false,
          "headline": "SNOW-2205584 Refresh TMK in client on channel reopen (#1029)",
          "author_name": "Lukas Sembera",
          "author_login": "sfc-gh-lsembera",
          "committed_at": "2025-07-16T10:51:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "88138e781580b44ce9e2d8ee0c05603f4b37740a",
          "body": null,
          "is_bot": false,
          "headline": "4.2.0 release  (#1023)",
          "author_name": "Toby Zhang",
          "author_login": "sfc-gh-tzhang",
          "committed_at": "2025-07-15T21:45:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "faade27cd569127ac1845b81f2c11def2a36e4f5",
          "body": "…us-jose-jwt and org.apache.commons:commons-lang3 version (#1028)",
          "is_bot": false,
          "headline": "SNOW-2201967 & SNOW-2201968 & SNOW-2203301: Upgrade com.nimbusds:nimb…",
          "author_name": "Lukas Probst",
          "author_login": "sfc-gh-lprobst",
          "committed_at": "2025-07-15T13:13:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "da94ba8596e89421342849b9a0b4d10b0f39bd7e",
          "body": "…nnels (#1022)\n\nWe have seen the issue in the O11y case when the chunk queue is full, channel write starts return QUEUE_FULL error, and it causes the channel to be invalidated. Channel invalidation results in a new set of channel reopen, which makes the issue even worse.\n\nWith this PR:\n- We will kee\n[…]\nnds before invalidating the channel.\n- Add a limit on the registration queue and throttle insertRows once it reaches a certain size\n- Both parameters are configurable in case there is any regressions.",
          "is_bot": false,
          "headline": "SNOW-2174149: Keep retrying on QUEUE_FULL instead of invalidating cha…",
          "author_name": "Toby Zhang",
          "author_login": "sfc-gh-tzhang",
          "committed_at": "2025-07-15T04:03:32Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "584fb080a0d583997117a18cd3196fc6435c4ebf",
          "body": null,
          "is_bot": false,
          "headline": "Set version to 4.1.1-SNAPSHOT (#1021)",
          "author_name": "Lukas Sembera",
          "author_login": "sfc-gh-lsembera",
          "committed_at": "2025-06-24T17:03:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "32fe3ab7dba94f82909995a2b076892081d98d42",
          "body": "* Add unit tests for http client retry strategy\n\n* Refactor test code\n\n* Java format",
          "is_bot": false,
          "headline": "[SNOW-2134338] Add unit tests for http client retry strategy (#1017)",
          "author_name": "Artem Minyaylov",
          "author_login": "sfc-gh-aminyaylov",
          "committed_at": "2025-06-17T21:59:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cad5fbc0f986766f13fd069d3a729c6222098f40",
          "body": null,
          "is_bot": false,
          "headline": "NO-SNOW Fix codecov report upload (#1016)",
          "author_name": "Alec Huang",
          "author_login": "sfc-gh-alhuang",
          "committed_at": "2025-06-17T04:12:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1cd64137219da10e001b61aa32d509a9f445704c",
          "body": "…icate PPN (#1012)",
          "is_bot": false,
          "headline": "SNOW-1798717: Add Snowpipe Streaming tests with DT and verify no dupl…",
          "author_name": "Toby Zhang",
          "author_login": "sfc-gh-tzhang",
          "committed_at": "2025-06-12T22:46:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a8586516ee0f9168083da9d4782ef9901e6355e3",
          "body": "* insert rows api\n\n* formatted file\n\n* updated insert rows api\n\n* updated insert rows api",
          "is_bot": false,
          "headline": "insert rows api (#1011)",
          "author_name": "Dhara Shah",
          "author_login": "sfc-gh-dshah",
          "committed_at": "2025-06-12T21:11:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c60c29e73653be340888ac3b3451afa71e1af6d6",
          "body": "* http server wrapper\n\n* fixing formatter error\n\n* solved build version issue\n\n* updated read me doc\n\n* rebased to master\n\n* resolved google formatter eorror\n\n* formatting files\n\n* updated README.md file",
          "is_bot": false,
          "headline": "http server wrapper (#1010)",
          "author_name": "Dhara Shah",
          "author_login": "sfc-gh-dshah",
          "committed_at": "2025-06-09T19:22:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2340826f1cd0436ba5679dd4265f1ffbcdae42f5",
          "body": "upgrade jdbc to 3.24.2",
          "is_bot": false,
          "headline": "SNOW-2132694 Upgrade jdbc to 3.24.2 (#1007)",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2025-06-03T18:16:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "86088c0079185905808d9fae3c9023015d51166c",
          "body": "fix update_project_version file to force using python3",
          "is_bot": false,
          "headline": "NO-SNOW Fix update_project_version file to force using python3 (#1009)",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2025-06-03T16:52:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "74bf9908024881140548a2d5d29f8e01a9ed01cb",
          "body": null,
          "is_bot": false,
          "headline": "SDK release 4.1.0 (#1005)",
          "author_name": "Lukas Sembera",
          "author_login": "sfc-gh-lsembera",
          "committed_at": "2025-05-30T07:42:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d325264d45f5f345da2993771a71405d80818c96",
          "body": "…#1004)",
          "is_bot": false,
          "headline": "SNOW-1947290: Retry on org.apache.http.conn.ConnectTimeoutException (…",
          "author_name": "Toby Zhang",
          "author_login": "sfc-gh-tzhang",
          "committed_at": "2025-05-17T00:09:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b93d9469ecc570844ceda2b64fb6ba32ed35e730",
          "body": "…d table (#1003)",
          "is_bot": false,
          "headline": "SNOW-1903895 Add end-to-end test for disabled streaming on partitione…",
          "author_name": "Alec Huang",
          "author_login": "sfc-gh-alhuang",
          "committed_at": "2025-05-01T00:33:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3e1ebb4d4241a90bc69e34e6946dce7c379e7703",
          "body": null,
          "is_bot": false,
          "headline": "SNOW-1772196 Validate JSON object fields for \\u0000 (#972)",
          "author_name": "Alec Huang",
          "author_login": "sfc-gh-alhuang",
          "committed_at": "2025-04-17T05:30:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "101088b0be3e245fd0f03e3e0f4c89a524e35f29",
          "body": null,
          "is_bot": false,
          "headline": "NO-SNOW Fix merge gate (#1001)",
          "author_name": "Alec Huang",
          "author_login": "sfc-gh-alhuang",
          "committed_at": "2025-04-17T03:32:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3228239343b204a3ae6f6063b68c6bd9a419d11e",
          "body": "* 4.0.0-snapshot\n\n* also update requrest builder",
          "is_bot": false,
          "headline": "4.0.0-snapshot (#976)",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2025-04-11T00:32:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bcd2614fb3568bea57743c89779433203495a805",
          "body": "release 4.0.0",
          "is_bot": false,
          "headline": "Release 4.0.0 (#975)",
          "author_name": "Gibbs Geng",
          "author_login": "sfc-gh-ggeng",
          "committed_at": "2025-04-10T22:37:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3cbaebfe26f59dc3a8b8e973649e3f1a1014438c",
          "body": "- Added netty-bom for consistent Netty versioning\n- Excluded animal-sniffer-annotations from Google libraries\n- Excluded auto-value-annotations from Google libraries\n- Excluded conscrypt-openjdk-uber from Google libraries\n- Excluded jsr305 annotations from Google libraries\n- Excluded threetenbp from\n[…]\nsoup from snowflake-jdbc-thin\n- Excluded grpc-xds from Google libraries\n- Replaced grpc-netty-shaded with grpc-netty\n- Updated hadoop-shaded-protobuf exclusion\n- Upgraded Netty from 4.1.118 to 4.1.119",
          "is_bot": false,
          "headline": "SNOW-2004494 Exclude unnecessary dependencies (#971)",
          "author_name": "David Handermann",
          "author_login": "sfc-gh-dhandermann",
          "committed_at": "2025-03-28T16:48:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2cf034dc90a8ead04ce9d71a5c0e0fd0560f013f",
          "body": "…th invalid channel  (#969)\n\nInvalidate channel object when server side responses with invalid channel",
          "is_bot": false,
          "headline": "SNOW-2000249: Invalidate channel object when server side responses wi…",
          "author_name": "Toby Zhang",
          "author_login": "sfc-gh-tzhang",
          "committed_at": "2025-03-25T16:38:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "91cfe08c6dc5efc9019b1cf23573fb384b7035f7",
          "body": "…hin (#947)\n\n- Replaced shaded Apache HTTP Client with standard packages\n- Replaced shaded Google Guava with standard packages\n- Replaced shaded Apache commons-io with standard packages\n- Replaced shaded Jackson JSON with standard packages\n- Replaced shaded Gson with Jackson ObjectMapper in OAuthCli\n[…]\nE2E tests\n- Added clean step for E2E tests\n- Run integration test with unshaded version\n- Updated README.md for FIPS to list snowflake-jdbc-thin for exclusion\n- Upgraded JSON Smart from 2.4.9 to 2.5.2",
          "is_bot": false,
          "headline": "SNOW-1257851 Refactored dependencies and imports for snowflake-jdbc-t…",
          "author_name": "David Handermann",
          "author_login": "sfc-gh-dhandermann",
          "committed_at": "2025-03-24T21:10:29Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "cfe5d64b68feb4649c2cc4f272d95fc92acf3cd8",
          "body": "…estClient interface (#965)\n\nExposing flush API as part of the SnowflakeStreamingIngestClient interface, this is still a beta function which may introduce issues if not used in a proper way.",
          "is_bot": false,
          "headline": "SNOW-1995342: Exposing flush API as part of the SnowflakeStreamingIng…",
          "author_name": "Toby Zhang",
          "author_login": "sfc-gh-tzhang",
          "committed_at": "2025-03-20T23:57:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "23ba5e4d3ac52c8c8ba29be24f521b1eaee1e45a",
          "body": "…ded version (#962)\n\n* testing unshaded downloading dependencies before deploy\n\n* testing unshaded download dependencies before deploy\n\n* unshaded testing download dependencies before deploy\n\n* testing getting specific dependencie plexus\n\n* try disable pooling\n\n* testing unshaded\n\n* testing unshaded\n\n* testing unshaded\n\n* download dependencies and release",
          "is_bot": false,
          "headline": "SNOW-1983454: Download required dependencies before release for unsha…",
          "author_name": "Angel Antonio Avalos Cisneros",
          "author_login": "sfc-gh-anavalos",
          "committed_at": "2025-03-17T18:40:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c0a7675b900ba20f4b7a047f5b09fe7c3073285f",
          "body": "* testing to download dependencies first\n\n* uncomment the code to close and release",
          "is_bot": false,
          "headline": "SNOW-1983454: Download required dependencies before release (#961)",
          "author_name": "Angel Antonio Avalos Cisneros",
          "author_login": "sfc-gh-anavalos",
          "committed_at": "2025-03-17T17:35:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d8073806fc088b171f37d1e79698f1ec184d4505",
          "body": "Release 3.1.2",
          "is_bot": false,
          "headline": "Release 3.1.2 (#959)",
          "author_name": "Alec Huang",
          "author_login": "sfc-gh-alhuang",
          "committed_at": "2025-03-13T23:13:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "393f302106d7ff1954c5fedee212150eb015b79e",
          "body": "…ad and registration (#958)",
          "is_bot": false,
          "headline": "SNOW-1950183 Resolve Iceberg ingestion filename mismatch between uplo…",
          "author_name": "Alec Huang",
          "author_login": "sfc-gh-alhuang",
          "committed_at": "2025-03-07T20:38:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7f1f7e4c50365399776e27de653b1eacac6e238e",
          "body": "… (#934)\n\n- Improve SDK local setup documentation to enable logging\n- Move the storageManager creation into the try-catch block so that the http client will be cleaned in case of exceptions",
          "is_bot": false,
          "headline": "SNOW-1798694: Improve SDK local setup documentation to enable logging…",
          "author_name": "Toby Zhang",
          "author_login": "sfc-gh-tzhang",
          "committed_at": "2025-02-28T00:43:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bcf6a7753031b88e5164d7d6e25d8901bbaac75b",
          "body": "* 3.1.1\n\n* format\n\n---------\n\nCo-authored-by: Xin Huang <xin.huang@snowflake.com>",
          "is_bot": false,
          "headline": "Release 3.1.1 (#954)",
          "author_name": "Alec Huang",
          "author_login": "sfc-gh-alhuang",
          "committed_at": "2025-02-26T06:07:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f1fc322154a369a5c3b0a07cdef2b45360f54a5a",
          "body": null,
          "is_bot": false,
          "headline": "Adds richer docstring information to key classes (#955)",
          "author_name": "Tyler Jones",
          "author_login": "sfc-gh-tjones",
          "committed_at": "2025-02-26T04:09:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "154223c745f2442ce3eabf742fcb3360dede8e48",
          "body": "* Updates Java formatter script and dependency",
          "is_bot": false,
          "headline": "Updates Java formatter script and dependency (#951)",
          "author_name": "Tyler Jones",
          "author_login": "sfc-gh-tjones",
          "committed_at": "2025-02-26T02:18:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fa18ab9d8cb614ef6dd6c577fd68f08d3d447500",
          "body": null,
          "is_bot": false,
          "headline": "SNOW-1947905 Fix proxy setting for OAuth http client (#948)",
          "author_name": "Alec Huang",
          "author_login": "sfc-gh-alhuang",
          "committed_at": "2025-02-25T22:49:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2cdee358db965486aa6d7db58af862a25142ff11",
          "body": "* add parameters to retry and timeout\n\n* try disabling pool\n\n* try disabling keepalive\n\n* testing timeout to 120\n\n* executing mvm with local settings no tests and then regular deploy to ossrh\n\n* testing local settings\n\n* using artifactory in the settings.xml\n\n* execute with more log info\n\n* testing executing internal maven first\n\n* testing keep alive as false\n\n* testing with pool false\n\n* remove commented code\n\n* add comment deleted by mistake\n\n* add space",
          "is_bot": false,
          "headline": "SNOW-1948462: Fix Jenkins job to push artifacts to Maven (#949)",
          "author_name": "Angel Antonio Avalos Cisneros",
          "author_login": "sfc-gh-anavalos",
          "committed_at": "2025-02-25T18:40:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "41bdcdb9e70949d8e28c26795278df08e050bb59",
          "body": null,
          "is_bot": false,
          "headline": "SNOW-1881734 Silence uploadWithoutConnection exception log (#942)",
          "author_name": "Lukas Sembera",
          "author_login": "sfc-gh-lsembera",
          "committed_at": "2025-02-25T15:35:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "834ededf0d44ffc2a48f3b88fa19640642ebad06",
          "body": "This reverts commit fb4a0234b87696a2b97e50eb94e040eaa682cb92.\r\n\r\nThe unshaded PR should not be merged.",
          "is_bot": false,
          "headline": "Revert \"v3.1.0-unshaded release (#939)\" (#944)",
          "author_name": "Toby Zhang",
          "author_login": "sfc-gh-tzhang",
          "committed_at": "2025-02-18T06:40:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fa6da28498b30074af862d6847f35533b92bbf6f",
          "body": null,
          "is_bot": false,
          "headline": "Revert of df6bc9e85b2fd872d912bff5c47571ed237737ec (#941)",
          "author_name": "Konstantinos Kloudas",
          "author_login": "sfc-gh-kkloudas",
          "committed_at": "2025-02-17T17:03:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 58,
      "commits_last_year": 63,
      "latest_release_at": "2026-04-29T23:06:51Z",
      "latest_release_tag": "v4.4.3",
      "releases_from_tags": false,
      "days_since_last_push": 12,
      "active_weeks_last_year": 22,
      "days_since_latest_release": 88,
      "mean_days_between_releases": 42.2
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 37,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "net.snowflake:snowflake-ingest-sdk",
          "exists": true,
          "license": "The Apache Software License, Version 2.0",
          "keywords": [],
          "ecosystem": "maven",
          "matches_repo": true,
          "registry_url": "https://central.sonatype.com/artifact/net.snowflake/snowflake-ingest-sdk",
          "is_deprecated": false,
          "latest_version": "4.4.3-unshaded",
          "repository_url": "https://github.com/snowflakedb/snowflake-ingest-java/tree/master",
          "versions_count": 93,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-05-06T22:57:29Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 81
        }
      ]
    },
    "popularity": {
      "forks": 68,
      "stars": 81,
      "watchers": 14,
      "fork_history": {
        "days": [
          {
            "date": "2018-03-05",
            "count": 1
          },
          {
            "date": "2018-06-26",
            "count": 1
          },
          {
            "date": "2018-08-06",
            "count": 1
          },
          {
            "date": "2018-12-17",
            "count": 1
          },
          {
            "date": "2019-01-22",
            "count": 1
          },
          {
            "date": "2019-05-19",
            "count": 1
          },
          {
            "date": "2019-06-20",
            "count": 1
          },
          {
            "date": "2019-10-22",
            "count": 1
          },
          {
            "date": "2020-03-03",
            "count": 1
          },
          {
            "date": "2020-04-23",
            "count": 1
          },
          {
            "date": "2020-06-11",
            "count": 1
          },
          {
            "date": "2020-11-23",
            "count": 1
          },
          {
            "date": "2021-02-17",
            "count": 1
          },
          {
            "date": "2021-09-03",
            "count": 1
          },
          {
            "date": "2021-10-04",
            "count": 1
          },
          {
            "date": "2021-12-23",
            "count": 1
          },
          {
            "date": "2022-01-13",
            "count": 1
          },
          {
            "date": "2022-04-05",
            "count": 1
          },
          {
            "date": "2022-05-13",
            "count": 1
          },
          {
            "date": "2022-10-21",
            "count": 1
          },
          {
            "date": "2022-10-31",
            "count": 1
          },
          {
            "date": "2022-11-01",
            "count": 1
          },
          {
            "date": "2022-11-16",
            "count": 1
          },
          {
            "date": "2022-11-18",
            "count": 1
          },
          {
            "date": "2022-12-15",
            "count": 1
          },
          {
            "date": "2022-12-20",
            "count": 1
          },
          {
            "date": "2023-01-15",
            "count": 1
          },
          {
            "date": "2023-01-16",
            "count": 1
          },
          {
            "date": "2023-02-03",
            "count": 2
          },
          {
            "date": "2023-03-16",
            "count": 1
          },
          {
            "date": "2023-04-27",
            "count": 1
          },
          {
            "date": "2023-05-02",
            "count": 1
          },
          {
            "date": "2023-06-01",
            "count": 1
          },
          {
            "date": "2023-09-03",
            "count": 1
          },
          {
            "date": "2023-10-02",
            "count": 1
          },
          {
            "date": "2023-10-16",
            "count": 1
          },
          {
            "date": "2024-01-19",
            "count": 1
          },
          {
            "date": "2024-01-25",
            "count": 1
          },
          {
            "date": "2024-02-15",
            "count": 1
          },
          {
            "date": "2024-04-03",
            "count": 1
          },
          {
            "date": "2024-05-05",
            "count": 1
          },
          {
            "date": "2024-06-11",
            "count": 1
          },
          {
            "date": "2024-06-26",
            "count": 1
          },
          {
            "date": "2024-07-08",
            "count": 1
          },
          {
            "date": "2024-08-01",
            "count": 1
          },
          {
            "date": "2024-09-16",
            "count": 1
          },
          {
            "date": "2024-10-02",
            "count": 1
          },
          {
            "date": "2024-10-10",
            "count": 1
          },
          {
            "date": "2024-10-19",
            "count": 1
          },
          {
            "date": "2024-10-22",
            "count": 1
          },
          {
            "date": "2024-12-18",
            "count": 1
          },
          {
            "date": "2025-01-13",
            "count": 1
          },
          {
            "date": "2025-02-23",
            "count": 1
          },
          {
            "date": "2025-04-24",
            "count": 1
          },
          {
            "date": "2025-06-12",
            "count": 1
          },
          {
            "date": "2025-06-17",
            "count": 1
          },
          {
            "date": "2025-07-08",
            "count": 1
          },
          {
            "date": "2025-07-28",
            "count": 1
          },
          {
            "date": "2025-07-31",
            "count": 1
          },
          {
            "date": "2025-11-06",
            "count": 1
          },
          {
            "date": "2026-01-25",
            "count": 1
          },
          {
            "date": "2026-04-14",
            "count": 1
          },
          {
            "date": "2026-04-29",
            "count": 1
          },
          {
            "date": "2026-06-16",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 65,
        "total_forks": 68
      },
      "star_history": null,
      "open_issues_and_prs": 91
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "example"
      ],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [
        "e2e-jar-test/core/pom.xml",
        "e2e-jar-test/fips/pom.xml",
        "e2e-jar-test/pom.xml",
        "e2e-jar-test/standard/pom.xml",
        "pom.xml",
        "sdk-wrapper/pom.xml"
      ],
      "largest_source_bytes": 99644,
      "source_files_sampled": 363,
      "oversized_source_files": 5,
      "agent_instruction_files": [
        "src/main/java/net/snowflake/ingest/connection/CLAUDE.md",
        "src/main/java/net/snowflake/ingest/example/CLAUDE.md",
        "src/main/java/net/snowflake/ingest/streaming/CLAUDE.md",
        "src/main/java/net/snowflake/ingest/streaming/internal/CLAUDE.md",
        "src/main/java/net/snowflake/ingest/streaming/internal/fileTransferAgent/CLAUDE.md",
        "src/main/java/net/snowflake/ingest/streaming/internal/serialization/CLAUDE.md",
        "src/main/java/net/snowflake/ingest/utils/CLAUDE.md",
        "src/main/java/org/apache/parquet/hadoop/CLAUDE.md",
        "src/test/java/net/snowflake/ingest/CLAUDE.md",
        "src/test/java/net/snowflake/ingest/connection/CLAUDE.md",
        "src/test/java/net/snowflake/ingest/streaming/internal/CLAUDE.md",
        "src/test/java/net/snowflake/ingest/streaming/internal/datatypes/CLAUDE.md",
        "src/test/java/net/snowflake/ingest/streaming/internal/it/CLAUDE.md",
        "src/test/java/net/snowflake/ingest/utils/CLAUDE.md"
      ],
      "agent_instruction_max_bytes": 4277
    },
    "dependencies": {
      "manifests": [
        "e2e-jar-test/pom.xml",
        "pom.xml",
        "sdk-wrapper/pom.xml"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [
          {
            "name": "com.fasterxml.jackson.core:jackson-core",
            "direct": true,
            "version": "2.18.1",
            "severity": "high",
            "ecosystem": "maven",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-72hv-8253-57qq",
              "GHSA-r7wm-3cxj-wff9"
            ],
            "fixed_version": "3.2.1",
            "advisory_count": 2,
            "oldest_advisory_days": 149
          },
          {
            "name": "com.fasterxml.jackson.core:jackson-databind",
            "direct": true,
            "version": "2.18.1",
            "severity": "high",
            "ecosystem": "maven",
            "cvss_score": 8.1,
            "advisory_ids": [
              "GHSA-3pjw-73gf-8qr5",
              "GHSA-5gvw-p9qm-jgwh",
              "GHSA-5jmj-h7xm-6q6v",
              "GHSA-hgj6-7826-r7m5",
              "GHSA-j3rv-43j4-c7qm",
              "GHSA-mhm7-754m-9p8w",
              "GHSA-rmj7-2vxq-3g9f"
            ],
            "fixed_version": "3.2.1",
            "advisory_count": 7,
            "oldest_advisory_days": 33
          },
          {
            "name": "org.bouncycastle:bcprov-jdk18on",
            "direct": true,
            "version": "1.79",
            "severity": "high",
            "ecosystem": "maven",
            "cvss_score": 7.7,
            "advisory_ids": [
              "GHSA-574f-3g2m-x479",
              "GHSA-c3fc-8qff-9hwx"
            ],
            "fixed_version": "1.84",
            "advisory_count": 2,
            "oldest_advisory_days": 100
          },
          {
            "name": "io.airlift:aircompressor",
            "direct": false,
            "version": "0.27",
            "severity": "high",
            "ecosystem": "maven",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-vx9q-rhv9-3jvg"
            ],
            "fixed_version": "3.4",
            "advisory_count": 1,
            "oldest_advisory_days": 226
          },
          {
            "name": "io.netty:netty-codec",
            "direct": false,
            "version": "4.1.127.Final",
            "severity": "high",
            "ecosystem": "maven",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-558v-64gr-wgg4",
              "GHSA-mj4r-2hfc-f8p6"
            ],
            "fixed_version": "4.2.16.Final",
            "advisory_count": 2,
            "oldest_advisory_days": 81
          },
          {
            "name": "io.netty:netty-codec-http",
            "direct": false,
            "version": "4.1.127.Final",
            "severity": "high",
            "ecosystem": "maven",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-38f8-5428-x5cv",
              "GHSA-4mp9-239f-g9hg",
              "GHSA-57rv-r2g8-2cj3",
              "GHSA-6cqp-g7gg-8hr5",
              "GHSA-6jqx-86gh-f27w",
              "GHSA-84h7-rjj3-6jx4",
              "GHSA-f6hv-jmp6-3vwv",
              "GHSA-gcjf-9mgh-3p7g",
              "GHSA-hvcg-qmg6-jm4c",
              "GHSA-jppx-w49h-x2qq"
            ],
            "fixed_version": "4.2.16.Final",
            "advisory_count": 16,
            "oldest_advisory_days": 223
          },
          {
            "name": "io.netty:netty-codec-http2",
            "direct": false,
            "version": "4.1.127.Final",
            "severity": "high",
            "ecosystem": "maven",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-563q-j3cm-6jxm",
              "GHSA-5x3r-wrvg-rp6q",
              "GHSA-c2gf-v879-257j",
              "GHSA-c69g-56f8-xwqj",
              "GHSA-f6hv-jmp6-3vwv",
              "GHSA-w9fj-cfpg-grvv"
            ],
            "fixed_version": "4.2.16.Final",
            "advisory_count": 6,
            "oldest_advisory_days": 122
          },
          {
            "name": "io.netty:netty-handler",
            "direct": false,
            "version": "4.1.127.Final",
            "severity": "high",
            "ecosystem": "maven",
            "cvss_score": 8.1,
            "advisory_ids": [
              "GHSA-3qp7-7mw8-wx86",
              "GHSA-c653-97m9-rcg9",
              "GHSA-x4gw-5cx5-pgmh"
            ],
            "fixed_version": "4.2.15.Final",
            "advisory_count": 3,
            "oldest_advisory_days": 48
          },
          {
            "name": "org.bouncycastle:bcpkix-jdk18on",
            "direct": true,
            "version": "1.79",
            "severity": "moderate",
            "ecosystem": "maven",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-wg6q-6289-32hp"
            ],
            "fixed_version": "1.84",
            "advisory_count": 1,
            "oldest_advisory_days": 102
          },
          {
            "name": "io.netty:netty-handler-proxy",
            "direct": false,
            "version": "4.1.127.Final",
            "severity": "moderate",
            "ecosystem": "maven",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-45q3-82m4-75jr"
            ],
            "fixed_version": "4.2.13.Final",
            "advisory_count": 1,
            "oldest_advisory_days": 81
          },
          {
            "name": "io.opentelemetry:opentelemetry-api",
            "direct": false,
            "version": "1.42.1",
            "severity": "moderate",
            "ecosystem": "maven",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-rcgg-9c38-7xpx"
            ],
            "fixed_version": "1.62.0",
            "advisory_count": 1,
            "oldest_advisory_days": 73
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "high": 8,
          "moderate": 3
        },
        "advisory_count": 42,
        "affected_count": 11,
        "assessed_count": 136,
        "malicious_count": 0,
        "assessed_package": "maven:net.snowflake:snowflake-ingest-sdk@4.4.3-unshaded",
        "unassessed_count": 0,
        "direct_affected_count": 4
      },
      "ecosystems": [
        "maven"
      ],
      "dependencies": [
        {
          "name": "io.netty:netty-bom",
          "manifest": "e2e-jar-test/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "4.1.124.Final"
        },
        {
          "name": "com.fasterxml.jackson.core:jackson-databind",
          "manifest": "e2e-jar-test/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "2.18.1"
        },
        {
          "name": "net.snowflake:snowflake-ingest-sdk",
          "manifest": "e2e-jar-test/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "4.4.3"
        },
        {
          "name": "net.snowflake:snowflake-jdbc-fips",
          "manifest": "e2e-jar-test/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "3.22.0"
        },
        {
          "name": "net.snowflake:snowflake-jdbc-thin",
          "manifest": "e2e-jar-test/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "3.25.1"
        },
        {
          "name": "net.snowflake.snowflake-ingest-java-e2e-jar-test:core",
          "manifest": "e2e-jar-test/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.bouncycastle:bc-fips",
          "manifest": "e2e-jar-test/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "2.1.1"
        },
        {
          "name": "org.bouncycastle:bcpkix-fips",
          "manifest": "e2e-jar-test/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "2.0.7"
        },
        {
          "name": "org.slf4j:slf4j-simple",
          "manifest": "e2e-jar-test/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "1.7.36"
        },
        {
          "name": "com.fasterxml.jackson:jackson-bom",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${fasterxml.version}"
        },
        {
          "name": "io.grpc:grpc-bom",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${grpc.version}"
        },
        {
          "name": "io.netty:netty-bom",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${netty.version}"
        },
        {
          "name": "com.google.code.gson:gson",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${gson.version}"
        },
        {
          "name": "com.google.guava:failureaccess",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "1.0.3"
        },
        {
          "name": "com.google.guava:guava",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${guava.version}"
        },
        {
          "name": "com.google.http-client:google-http-client",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${google.httpclient.version}"
        },
        {
          "name": "com.google.http-client:google-http-client-gson",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${google.httpclient.version}"
        },
        {
          "name": "com.google.protobuf:protobuf-java",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${protobuf.version}"
        },
        {
          "name": "com.nimbusds:nimbus-jose-jwt",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${nimbusds.version}"
        },
        {
          "name": "commons-codec:commons-codec",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${commonscodec.version}"
        },
        {
          "name": "commons-io:commons-io",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${commonsio.version}"
        },
        {
          "name": "net.minidev:json-smart",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${net.minidev.version}"
        },
        {
          "name": "net.snowflake:snowflake-jdbc-thin",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${snowjdbc.version}"
        },
        {
          "name": "org.apache.avro:avro",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${avro.version}"
        },
        {
          "name": "org.apache.commons:commons-compress",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${commonscompress.version}"
        },
        {
          "name": "org.apache.commons:commons-configuration2",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${commonsconfiguration2.version}"
        },
        {
          "name": "org.apache.commons:commons-lang3",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${commonslang3.version}"
        },
        {
          "name": "org.apache.hadoop:hadoop-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${hadoop.version}"
        },
        {
          "name": "org.apache.httpcomponents:httpclient",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${apache.httpclient.version}"
        },
        {
          "name": "org.apache.httpcomponents:httpcore",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${apache.httpcomponents.version}"
        },
        {
          "name": "org.apache.iceberg:iceberg-api",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${iceberg.version}"
        },
        {
          "name": "org.apache.iceberg:iceberg-core",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${iceberg.version}"
        },
        {
          "name": "org.apache.iceberg:iceberg-parquet",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${iceberg.version}"
        },
        {
          "name": "org.apache.parquet:parquet-column",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${parquet.version}"
        },
        {
          "name": "org.apache.parquet:parquet-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${parquet.version}"
        },
        {
          "name": "org.apache.parquet:parquet-hadoop",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${parquet.version}"
        },
        {
          "name": "org.apache.yetus:audience-annotations",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${yetus.version}"
        },
        {
          "name": "org.bouncycastle:bcpkix-jdk18on",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${bouncycastle.version}"
        },
        {
          "name": "org.bouncycastle:bcprov-jdk18on",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${bouncycastle.version}"
        },
        {
          "name": "org.bouncycastle:bcutil-jdk18on",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${bouncycastle.version}"
        },
        {
          "name": "org.codehaus.jackson:jackson-core-asl",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${codehaus.version}"
        },
        {
          "name": "org.codehaus.jackson:jackson-jaxrs",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${codehaus.version}"
        },
        {
          "name": "org.codehaus.jackson:jackson-xc",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${codehaus.version}"
        },
        {
          "name": "org.codehaus.woodstox:stax2-api",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "4.2.1"
        },
        {
          "name": "org.objenesis:objenesis",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${objenesis.version}"
        },
        {
          "name": "org.slf4j:jcl-over-slf4j",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${slf4j.version}"
        },
        {
          "name": "org.slf4j:slf4j-api",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${slf4j.version}"
        },
        {
          "name": "org.threeten:threetenbp",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${threetenbp.version}"
        },
        {
          "name": "org.xerial.snappy:snappy-java",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${snappy.version}"
        },
        {
          "name": "com.amazonaws:aws-java-sdk-core",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${amazonaws.version}"
        },
        {
          "name": "com.amazonaws:aws-java-sdk-kms",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${amazonaws.version}"
        },
        {
          "name": "com.amazonaws:aws-java-sdk-s3",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${amazonaws.version}"
        },
        {
          "name": "com.fasterxml.jackson.core:jackson-annotations",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "com.fasterxml.jackson.core:jackson-core",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "com.fasterxml.jackson.core:jackson-databind",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "com.github.ben-manes.caffeine:caffeine",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "2.9.3"
        },
        {
          "name": "com.google.api:gax",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "2.57.0"
        },
        {
          "name": "com.google.auth:google-auth-library-credentials",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "1.29.0"
        },
        {
          "name": "com.google.auth:google-auth-library-oauth2-http",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "1.29.0"
        },
        {
          "name": "com.google.cloud:google-cloud-core",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "2.47.0"
        },
        {
          "name": "com.google.cloud:google-cloud-storage",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "2.44.1"
        },
        {
          "name": "com.google.code.findbugs:jsr305",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "3.0.2"
        },
        {
          "name": "com.google.guava:guava",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "com.microsoft.azure:azure-storage",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "5.0.0"
        },
        {
          "name": "com.nimbusds:nimbus-jose-jwt",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "commons-codec:commons-codec",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "commons-io:commons-io",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "io.dropwizard.metrics:metrics-core",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "4.1.22"
        },
        {
          "name": "io.dropwizard.metrics:metrics-jmx",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "4.1.22"
        },
        {
          "name": "io.dropwizard.metrics:metrics-jvm",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "4.1.22"
        },
        {
          "name": "io.grpc:grpc-netty",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${grpc.version}"
        },
        {
          "name": "net.bytebuddy:byte-buddy-agent",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "net.minidev:json-smart",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.commons:commons-lang3",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.commons:commons-text",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.hadoop:hadoop-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.hadoop:hadoop-mapreduce-client-core",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.httpcomponents:httpclient",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.httpcomponents:httpcore",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.iceberg:iceberg-api",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.iceberg:iceberg-core",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.iceberg:iceberg-parquet",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.parquet:parquet-column",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.parquet:parquet-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.parquet:parquet-hadoop",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.bouncycastle:bcpkix-jdk18on",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.bouncycastle:bcprov-jdk18on",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.bouncycastle:bcutil-jdk18on",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.slf4j:slf4j-api",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "com.github.luben:zstd-jni",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "1.5.6-5"
        },
        {
          "name": "com.google.protobuf:protobuf-java",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.slf4j:jcl-over-slf4j",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.xerial.snappy:snappy-java",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "com.google.cloud.tools:linkage-checker-enforcer-rules",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "1.5.13"
        },
        {
          "name": "org.codehaus.mojo:extra-enforcer-rules",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "1.3"
        },
        {
          "name": "net.snowflake:snowflake-ingest-sdk",
          "manifest": "sdk-wrapper/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "perf"
        },
        {
          "name": "com.linecorp.armeria:armeria",
          "manifest": "sdk-wrapper/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${armeria.version}"
        },
        {
          "name": "com.fasterxml.jackson.core:jackson-core",
          "manifest": "sdk-wrapper/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${jackson.version}"
        },
        {
          "name": "com.fasterxml.jackson.core:jackson-databind",
          "manifest": "sdk-wrapper/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${jackson.version}"
        },
        {
          "name": "com.fasterxml.jackson.core:jackson-annotations",
          "manifest": "sdk-wrapper/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${jackson.version}"
        },
        {
          "name": "commons-cli:commons-cli",
          "manifest": "sdk-wrapper/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${commons-cli.version}"
        },
        {
          "name": "org.slf4j:slf4j-api",
          "manifest": "sdk-wrapper/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${slf4j.version}"
        },
        {
          "name": "ch.qos.logback:logback-classic",
          "manifest": "sdk-wrapper/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${logback.version}"
        },
        {
          "name": "ch.qos.logback:logback-core",
          "manifest": "sdk-wrapper/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${logback.version}"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "ch.qos.logback:logback-classic",
            "direct": true,
            "version": "1.4.14",
            "ecosystem": "maven"
          },
          {
            "name": "ch.qos.logback:logback-core",
            "direct": true,
            "version": "1.4.14",
            "ecosystem": "maven"
          },
          {
            "name": "com.amazonaws:aws-java-sdk-core",
            "direct": true,
            "version": "1.12.655",
            "ecosystem": "maven"
          },
          {
            "name": "com.amazonaws:aws-java-sdk-kms",
            "direct": true,
            "version": "1.12.655",
            "ecosystem": "maven"
          },
          {
            "name": "com.amazonaws:aws-java-sdk-s3",
            "direct": true,
            "version": "1.12.655",
            "ecosystem": "maven"
          },
          {
            "name": "com.fasterxml.jackson.core:jackson-annotations",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "com.fasterxml.jackson.core:jackson-annotations",
            "direct": true,
            "version": "2.15.3",
            "ecosystem": "maven"
          },
          {
            "name": "com.fasterxml.jackson.core:jackson-core",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "com.fasterxml.jackson.core:jackson-core",
            "direct": true,
            "version": "2.15.3",
            "ecosystem": "maven"
          },
          {
            "name": "com.fasterxml.jackson.core:jackson-databind",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "com.fasterxml.jackson.core:jackson-databind",
            "direct": true,
            "version": "2.15.3",
            "ecosystem": "maven"
          },
          {
            "name": "com.fasterxml.jackson.core:jackson-databind",
            "direct": true,
            "version": "2.18.1",
            "ecosystem": "maven"
          },
          {
            "name": "com.fasterxml.jackson:jackson-bom",
            "direct": true,
            "version": "2.18.1",
            "ecosystem": "maven"
          },
          {
            "name": "com.github.ben-manes.caffeine:caffeine",
            "direct": true,
            "version": "2.9.3",
            "ecosystem": "maven"
          },
          {
            "name": "com.github.luben:zstd-jni",
            "direct": true,
            "version": "1.5.6-5",
            "ecosystem": "maven"
          },
          {
            "name": "com.google.api:gax",
            "direct": true,
            "version": "2.57.0",
            "ecosystem": "maven"
          },
          {
            "name": "com.google.auth:google-auth-library-credentials",
            "direct": true,
            "version": "1.29.0",
            "ecosystem": "maven"
          },
          {
            "name": "com.google.auth:google-auth-library-oauth2-http",
            "direct": true,
            "version": "1.29.0",
            "ecosystem": "maven"
          },
          {
            "name": "com.google.cloud.tools:linkage-checker-enforcer-rules",
            "direct": true,
            "version": "1.5.13",
            "ecosystem": "maven"
          },
          {
            "name": "com.google.cloud:google-cloud-core",
            "direct": true,
            "version": "2.47.0",
            "ecosystem": "maven"
          },
          {
            "name": "com.google.cloud:google-cloud-storage",
            "direct": true,
            "version": "2.44.1",
            "ecosystem": "maven"
          },
          {
            "name": "com.google.code.findbugs:jsr305",
            "direct": true,
            "version": "3.0.2",
            "ecosystem": "maven"
          },
          {
            "name": "com.google.code.gson:gson",
            "direct": true,
            "version": "2.11.0",
            "ecosystem": "maven"
          },
          {
            "name": "com.google.guava:failureaccess",
            "direct": true,
            "version": "1.0.3",
            "ecosystem": "maven"
          },
          {
            "name": "com.google.guava:guava",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "com.google.guava:guava",
            "direct": true,
            "version": "33.4.8-jre",
            "ecosystem": "maven"
          },
          {
            "name": "com.google.http-client:google-http-client",
            "direct": true,
            "version": "1.45.0",
            "ecosystem": "maven"
          },
          {
            "name": "com.google.http-client:google-http-client-gson",
            "direct": true,
            "version": "1.45.0",
            "ecosystem": "maven"
          },
          {
            "name": "com.google.protobuf:protobuf-java",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "com.google.protobuf:protobuf-java",
            "direct": true,
            "version": "4.27.5",
            "ecosystem": "maven"
          },
          {
            "name": "com.linecorp.armeria:armeria",
            "direct": true,
            "version": "1.24.3",
            "ecosystem": "maven"
          },
          {
            "name": "com.microsoft.azure:azure-storage",
            "direct": true,
            "version": "5.0.0",
            "ecosystem": "maven"
          },
          {
            "name": "com.nimbusds:nimbus-jose-jwt",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "com.nimbusds:nimbus-jose-jwt",
            "direct": true,
            "version": "10.0.2",
            "ecosystem": "maven"
          },
          {
            "name": "commons-cli:commons-cli",
            "direct": true,
            "version": "1.6.0",
            "ecosystem": "maven"
          },
          {
            "name": "commons-codec:commons-codec",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "commons-codec:commons-codec",
            "direct": true,
            "version": "1.18.0",
            "ecosystem": "maven"
          },
          {
            "name": "commons-io:commons-io",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "commons-io:commons-io",
            "direct": true,
            "version": "2.17.0",
            "ecosystem": "maven"
          },
          {
            "name": "io.dropwizard.metrics:metrics-core",
            "direct": true,
            "version": "4.1.22",
            "ecosystem": "maven"
          },
          {
            "name": "io.dropwizard.metrics:metrics-jmx",
            "direct": true,
            "version": "4.1.22",
            "ecosystem": "maven"
          },
          {
            "name": "io.dropwizard.metrics:metrics-jvm",
            "direct": true,
            "version": "4.1.22",
            "ecosystem": "maven"
          },
          {
            "name": "io.grpc:grpc-bom",
            "direct": true,
            "version": "1.77.0",
            "ecosystem": "maven"
          },
          {
            "name": "io.grpc:grpc-netty",
            "direct": true,
            "version": "1.77.0",
            "ecosystem": "maven"
          },
          {
            "name": "io.netty:netty-bom",
            "direct": true,
            "version": "4.1.124",
            "ecosystem": "maven"
          },
          {
            "name": "io.netty:netty-bom",
            "direct": true,
            "version": "4.1.127",
            "ecosystem": "maven"
          },
          {
            "name": "net.bytebuddy:byte-buddy-agent",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "net.bytebuddy:byte-buddy-agent",
            "direct": true,
            "version": "1.14.9",
            "ecosystem": "maven"
          },
          {
            "name": "net.minidev:json-smart",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "net.minidev:json-smart",
            "direct": true,
            "version": "2.5.2",
            "ecosystem": "maven"
          },
          {
            "name": "net.snowflake.snowflake-ingest-java-e2e-jar-test:core",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "net.snowflake.snowflake-ingest-java-e2e-jar-test:core",
            "direct": true,
            "version": "1.0-SNAPSHOT",
            "ecosystem": "maven"
          },
          {
            "name": "net.snowflake:snowflake-ingest-sdk",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "net.snowflake:snowflake-ingest-sdk",
            "direct": true,
            "version": "4.4.3",
            "ecosystem": "maven"
          },
          {
            "name": "net.snowflake:snowflake-ingest-sdk",
            "direct": true,
            "version": "perf",
            "ecosystem": "maven"
          },
          {
            "name": "net.snowflake:snowflake-jdbc-fips",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "net.snowflake:snowflake-jdbc-fips",
            "direct": true,
            "version": "3.22.0",
            "ecosystem": "maven"
          },
          {
            "name": "net.snowflake:snowflake-jdbc-thin",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "net.snowflake:snowflake-jdbc-thin",
            "direct": true,
            "version": "3.25.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.avro:avro",
            "direct": true,
            "version": "1.11.4",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.commons:commons-compress",
            "direct": true,
            "version": "1.27.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.commons:commons-configuration2",
            "direct": true,
            "version": "2.10.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.commons:commons-lang3",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.commons:commons-lang3",
            "direct": true,
            "version": "3.18.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.commons:commons-text",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.commons:commons-text",
            "direct": true,
            "version": "1.13.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.hadoop:hadoop-common",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.hadoop:hadoop-common",
            "direct": true,
            "version": "3.4.2",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.hadoop:hadoop-mapreduce-client-core",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.hadoop:hadoop-mapreduce-client-core",
            "direct": true,
            "version": "3.4.2",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.httpcomponents:httpclient",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.httpcomponents:httpclient",
            "direct": true,
            "version": "4.5.14",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.httpcomponents:httpcore",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.httpcomponents:httpcore",
            "direct": true,
            "version": "4.4.16",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.iceberg:iceberg-api",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.iceberg:iceberg-api",
            "direct": true,
            "version": "1.6.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.iceberg:iceberg-core",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.iceberg:iceberg-core",
            "direct": true,
            "version": "1.6.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.iceberg:iceberg-parquet",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.iceberg:iceberg-parquet",
            "direct": true,
            "version": "1.6.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.parquet:parquet-column",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.parquet:parquet-column",
            "direct": true,
            "version": "1.14.4",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.parquet:parquet-common",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.parquet:parquet-common",
            "direct": true,
            "version": "1.14.4",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.parquet:parquet-hadoop",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.parquet:parquet-hadoop",
            "direct": true,
            "version": "1.14.4",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.yetus:audience-annotations",
            "direct": true,
            "version": "0.13.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.bouncycastle:bc-fips",
            "direct": true,
            "version": "2.1.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.bouncycastle:bcpkix-fips",
            "direct": true,
            "version": "2.0.7",
            "ecosystem": "maven"
          },
          {
            "name": "org.bouncycastle:bcpkix-jdk18on",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.bouncycastle:bcpkix-jdk18on",
            "direct": true,
            "version": "1.79",
            "ecosystem": "maven"
          },
          {
            "name": "org.bouncycastle:bcprov-jdk18on",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.bouncycastle:bcprov-jdk18on",
            "direct": true,
            "version": "1.79",
            "ecosystem": "maven"
          },
          {
            "name": "org.bouncycastle:bcutil-jdk18on",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.bouncycastle:bcutil-jdk18on",
            "direct": true,
            "version": "1.79",
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.jackson:jackson-core-asl",
            "direct": true,
            "version": "1.9.13",
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.jackson:jackson-jaxrs",
            "direct": true,
            "version": "1.9.13",
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.jackson:jackson-xc",
            "direct": true,
            "version": "1.9.13",
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.mojo:extra-enforcer-rules",
            "direct": true,
            "version": "1.3",
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.woodstox:stax2-api",
            "direct": true,
            "version": "4.2.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.objenesis:objenesis",
            "direct": true,
            "version": "3.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.slf4j:jcl-over-slf4j",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.slf4j:jcl-over-slf4j",
            "direct": true,
            "version": "1.7.36",
            "ecosystem": "maven"
          },
          {
            "name": "org.slf4j:slf4j-api",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.slf4j:slf4j-api",
            "direct": true,
            "version": "1.7.36",
            "ecosystem": "maven"
          },
          {
            "name": "org.slf4j:slf4j-api",
            "direct": true,
            "version": "2.0.9",
            "ecosystem": "maven"
          },
          {
            "name": "org.slf4j:slf4j-simple",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.slf4j:slf4j-simple",
            "direct": true,
            "version": "1.7.36",
            "ecosystem": "maven"
          },
          {
            "name": "org.threeten:threetenbp",
            "direct": true,
            "version": "1.7.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.xerial.snappy:snappy-java",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.xerial.snappy:snappy-java",
            "direct": true,
            "version": "1.1.10.5",
            "ecosystem": "maven"
          },
          {
            "name": "com.github.ekryd.sortpom:sortpom-maven-plugin",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "maven"
          },
          {
            "name": "junit:junit",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "junit:junit",
            "direct": false,
            "version": "4.13.2",
            "ecosystem": "maven"
          },
          {
            "name": "net.bytebuddy:byte-buddy",
            "direct": false,
            "version": "1.14.9",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-compiler-plugin",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-compiler-plugin",
            "direct": false,
            "version": "3.11.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-dependency-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-dependency-plugin",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-enforcer-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-enforcer-plugin",
            "direct": false,
            "version": "3.4.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-enforcer-plugin",
            "direct": false,
            "version": "3.5",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-failsafe-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-failsafe-plugin",
            "direct": false,
            "version": "3.0.0-M5",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-gpg-plugin",
            "direct": false,
            "version": "3.2.8",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-javadoc-plugin",
            "direct": false,
            "version": "2.10.4",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-shade-plugin",
            "direct": false,
            "version": "3.5.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-shade-plugin",
            "direct": false,
            "version": "3.5.2",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-source-plugin",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-surefire-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-surefire-plugin",
            "direct": false,
            "version": "3.2.5",
            "ecosystem": "maven"
          },
          {
            "name": "org.assertj:assertj-core",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.assertj:assertj-core",
            "direct": false,
            "version": "3.26.3",
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.mojo:build-helper-maven-plugin",
            "direct": false,
            "version": "3.6.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.mojo:exec-maven-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.mojo:exec-maven-plugin",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.mojo:license-maven-plugin",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.hamcrest:hamcrest-core",
            "direct": false,
            "version": "1.3",
            "ecosystem": "maven"
          },
          {
            "name": "org.jacoco:jacoco-maven-plugin",
            "direct": false,
            "version": "0.8.13",
            "ecosystem": "maven"
          },
          {
            "name": "org.junit.jupiter:junit-jupiter",
            "direct": false,
            "version": "5.10.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.mockito:mockito-core",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.mockito:mockito-core",
            "direct": false,
            "version": "3.7.7",
            "ecosystem": "maven"
          },
          {
            "name": "org.openjdk.jmh:jmh-core",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.openjdk.jmh:jmh-core",
            "direct": false,
            "version": "1.34",
            "ecosystem": "maven"
          },
          {
            "name": "org.openjdk.jmh:jmh-generator-annprocess",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.openjdk.jmh:jmh-generator-annprocess",
            "direct": false,
            "version": "1.34",
            "ecosystem": "maven"
          },
          {
            "name": "org.powermock:powermock-api-mockito2",
            "direct": false,
            "version": "2.0.9",
            "ecosystem": "maven"
          },
          {
            "name": "org.powermock:powermock-core",
            "direct": false,
            "version": "2.0.9",
            "ecosystem": "maven"
          },
          {
            "name": "org.powermock:powermock-module-junit4",
            "direct": false,
            "version": "2.0.9",
            "ecosystem": "maven"
          },
          {
            "name": "org.sonatype.central:central-publishing-maven-plugin",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "maven"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 150,
        "direct_count": 111,
        "indirect_count": 39
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 20,
        "merged_prs": 601,
        "open_issues": 71,
        "closed_ratio": 0.801,
        "closed_issues": 285,
        "closed_unmerged_prs": 180
      },
      "bus_factor": 5,
      "bot_contributors": 2,
      "top_contributors": [
        {
          "type": "User",
          "login": "sfc-gh-tzhang",
          "commits": 193,
          "avatar_url": "https://avatars.githubusercontent.com/u/65984323?v=4"
        },
        {
          "type": "User",
          "login": "sfc-gh-lsembera",
          "commits": 77,
          "avatar_url": "https://avatars.githubusercontent.com/u/108683792?v=4"
        },
        {
          "type": "User",
          "login": "sfc-gh-alhuang",
          "commits": 69,
          "avatar_url": "https://avatars.githubusercontent.com/u/133713295?v=4"
        },
        {
          "type": "User",
          "login": "sfc-gh-japatel",
          "commits": 65,
          "avatar_url": "https://avatars.githubusercontent.com/u/57274584?v=4"
        },
        {
          "type": "User",
          "login": "sfc-gh-mnaides",
          "commits": 57,
          "avatar_url": "https://avatars.githubusercontent.com/u/63469689?v=4"
        },
        {
          "type": "User",
          "login": "sfc-gh-rcheng",
          "commits": 43,
          "avatar_url": "https://avatars.githubusercontent.com/u/111399397?v=4"
        },
        {
          "type": "User",
          "login": "sfc-gh-ggeng",
          "commits": 42,
          "avatar_url": "https://avatars.githubusercontent.com/u/111398258?v=4"
        },
        {
          "type": "User",
          "login": "sfc-gh-azagrebin",
          "commits": 28,
          "avatar_url": "https://avatars.githubusercontent.com/u/79466570?v=4"
        },
        {
          "type": "User",
          "login": "binglihub",
          "commits": 26,
          "avatar_url": "https://avatars.githubusercontent.com/u/29698166?v=4"
        },
        {
          "type": "User",
          "login": "sfc-gh-dshah",
          "commits": 26,
          "avatar_url": "https://avatars.githubusercontent.com/u/115505535?v=4"
        }
      ],
      "contributors_sampled": 47,
      "top_contributor_share": 0.237
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "End2EndTest.yml",
        "GoogleJavaFormat.yml",
        "semgrep.yml",
        "snyk-issue.yml",
        "snyk-pr.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": true
    },
    "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": 1,
            "reason": "branch protection is not maximal on development and all release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 0,
            "reason": "1 out of 30 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": 10,
            "reason": "all changesets reviewed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 4 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 1,
            "reason": "2 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 1",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "76 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "38a6d6be75c2da71c5d60622aa83b1a6094fdb19",
        "ran_at": "2026-07-27T03:42:45Z",
        "aggregate_score": 4.2,
        "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": "2026-07-14T18:41:32Z",
      "oldest_open_prs": [
        {
          "number": 1013,
          "created_at": "2025-06-11T23:16:55Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1014,
          "created_at": "2025-06-12T12:57:38Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1018,
          "created_at": "2025-06-17T14:42:55Z",
          "last_comment_at": "2025-07-07T18:11:36Z",
          "last_comment_author": "ravikumar04"
        },
        {
          "number": 1020,
          "created_at": "2025-06-17T22:21:36Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1059,
          "created_at": "2025-08-19T22:06:41Z",
          "last_comment_at": "2025-08-19T22:06:57Z",
          "last_comment_author": "sfc-gh-alhuang"
        },
        {
          "number": 1070,
          "created_at": "2025-08-25T23:15:09Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1081,
          "created_at": "2025-10-29T22:46:16Z",
          "last_comment_at": "2025-10-29T22:46:33Z",
          "last_comment_author": "sfc-gh-alhuang"
        },
        {
          "number": 1085,
          "created_at": "2025-11-06T01:59:54Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1091,
          "created_at": "2026-01-07T06:55:02Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1094,
          "created_at": "2026-01-12T06:21:09Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1108,
          "created_at": "2026-03-19T04:15:11Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1125,
          "created_at": "2026-03-27T12:52:47Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1149,
          "created_at": "2026-04-08T20:35:29Z",
          "last_comment_at": "2026-04-16T20:38:53Z",
          "last_comment_author": "codecov-commenter"
        },
        {
          "number": 1152,
          "created_at": "2026-05-04T19:38:54Z",
          "last_comment_at": "2026-05-04T20:15:44Z",
          "last_comment_author": "codecov-commenter"
        },
        {
          "number": 1155,
          "created_at": "2026-06-16T22:47:58Z",
          "last_comment_at": "2026-06-16T23:53:12Z",
          "last_comment_author": "codecov-commenter"
        },
        {
          "number": 1157,
          "created_at": "2026-06-17T00:27:05Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1158,
          "created_at": "2026-06-22T17:13:42Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1159,
          "created_at": "2026-06-22T22:32:08Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1160,
          "created_at": "2026-06-25T18:03:30Z",
          "last_comment_at": "2026-06-25T20:38:17Z",
          "last_comment_author": "codecov-commenter"
        },
        {
          "number": 1161,
          "created_at": "2026-07-14T18:43:43Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-05-07T22:06:30Z",
      "ci_last_conclusion": null,
      "oldest_open_issues": [
        {
          "number": 549,
          "created_at": "2023-07-13T01:31:13Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 578,
          "created_at": "2023-08-28T15:46:20Z",
          "last_comment_at": "2024-04-16T18:37:07Z",
          "last_comment_author": "gabegorelick"
        },
        {
          "number": 593,
          "created_at": "2023-09-30T18:01:47Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 595,
          "created_at": "2023-10-03T15:36:49Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 601,
          "created_at": "2023-10-10T13:40:30Z",
          "last_comment_at": "2024-01-02T19:19:33Z",
          "last_comment_author": "joshtree41"
        },
        {
          "number": 649,
          "created_at": "2023-11-03T19:57:13Z",
          "last_comment_at": "2023-12-19T09:58:38Z",
          "last_comment_author": "sfc-gh-lsembera"
        },
        {
          "number": 762,
          "created_at": "2024-05-22T14:26:28Z",
          "last_comment_at": "2024-05-23T09:51:17Z",
          "last_comment_author": "berl-a"
        },
        {
          "number": 764,
          "created_at": "2024-05-28T00:46:19Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 781,
          "created_at": "2024-06-24T07:21:58Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 805,
          "created_at": "2024-08-05T16:31:50Z",
          "last_comment_at": "2024-08-13T12:39:34Z",
          "last_comment_author": "wesleyhillyext"
        },
        {
          "number": 830,
          "created_at": "2024-09-13T16:53:13Z",
          "last_comment_at": "2024-09-18T17:38:42Z",
          "last_comment_author": "aronsemle"
        },
        {
          "number": 870,
          "created_at": "2024-10-22T05:23:37Z",
          "last_comment_at": "2024-11-13T21:04:04Z",
          "last_comment_author": "jdcaperon"
        },
        {
          "number": 876,
          "created_at": "2024-10-28T18:03:39Z",
          "last_comment_at": "2025-11-14T08:18:57Z",
          "last_comment_author": "tlopesPT"
        },
        {
          "number": 928,
          "created_at": "2025-01-14T15:27:55Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 953,
          "created_at": "2025-02-25T09:18:30Z",
          "last_comment_at": "2025-04-16T00:08:53Z",
          "last_comment_author": "sfc-gh-tzhang"
        },
        {
          "number": 957,
          "created_at": "2025-02-28T14:18:49Z",
          "last_comment_at": "2025-03-15T09:30:40Z",
          "last_comment_author": "dhyeythaker00"
        },
        {
          "number": 974,
          "created_at": "2025-04-08T12:02:27Z",
          "last_comment_at": "2025-04-15T23:57:45Z",
          "last_comment_author": "sfc-gh-tzhang"
        },
        {
          "number": 977,
          "created_at": "2025-04-11T12:09:38Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 978,
          "created_at": "2025-04-11T12:09:39Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 979,
          "created_at": "2025-04-11T12:09:40Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/snowflakedb/snowflake-ingest-java",
    "host": "github.com",
    "name": "snowflake-ingest-java",
    "owner": "snowflakedb"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 66,
      "inputs": {
        "security": 40,
        "vitality": 77,
        "community": 51,
        "governance": 86,
        "engineering": 66
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "good",
        "name": "Vitality",
        "value": 77,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 61,
            "inputs": {
              "commits_last_year": 63,
              "human_commit_share": 1,
              "days_since_last_push": 12,
              "active_weeks_last_year": 22
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 12 days ago",
                "points": 28.8,
                "status": "partial",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 12
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "22/52 weeks with commits",
                "points": 15.2,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 22
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "63 commits in the last year",
                "points": 16.2,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 63
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "2 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 1",
                "points": 1,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "releases_count": 58,
              "latest_release_tag": "v4.4.3",
              "releases_from_tags": false,
              "days_since_latest_release": 88,
              "mean_days_between_releases": 42.2
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "58 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 58
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 88 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 88
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~42.2 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 42.2
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 80,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 80 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 80
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "moderate",
        "name": "Community & Adoption",
        "value": 51,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "moderate",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 52,
            "inputs": {
              "forks": 68,
              "stars": 81,
              "watchers": 14,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "81 stars",
                "points": 30.9,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 81
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "68 forks",
                "points": 15.2,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 68
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "14 watchers",
                "points": 6.2,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 14
                    }
                  }
                ],
                "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 (Apache-2.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "Apache-2.0"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "excellent",
        "name": "Sustainability & Governance",
        "value": 86,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "excellent",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 87,
            "inputs": {
              "bus_factor": 5,
              "contributors_sampled": 47,
              "top_contributor_share": 0.237
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "5 contributor(s) cover half of all commits",
                "points": 45.9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 24% of commits",
                "points": 17.2,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 24
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "47 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 47
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 4 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 82,
            "inputs": {
              "merged_prs": 601,
              "open_issues": 71,
              "closed_issues": 285,
              "issue_closed_ratio": 0.801,
              "closed_unmerged_prs": 180
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "80% of issues closed",
                "points": 37.4,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 80
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "601/781 decided PRs merged",
                "points": 29.4,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 601,
                      "decided": 781
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "all changesets reviewed",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 78,
            "inputs": {
              "followers": 1616,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "snowflakedb",
              "public_repos": 63,
              "account_age_days": 4570
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "1,616 followers of snowflakedb",
                "points": 23.1,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 1616,
                      "login": "snowflakedb"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "63 public repos, account ~12 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 63
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 12
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "net.snowflake:snowflake-ingest-sdk"
              ],
              "ecosystems": "maven",
              "any_deprecated": false,
              "min_days_since_publish": 81
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on maven",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "maven"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 81 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 81
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "93 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 93
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "moderate",
        "name": "Engineering Quality",
        "value": 66,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "good",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 74,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": true,
              "has_precommit_config": true
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "5 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "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": 16,
                "status": "met",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 9.6,
                "status": "met",
                "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": "1 out of 30 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": 55,
            "inputs": {
              "topics": [],
              "has_wiki": false,
              "homepage": "http://www.snowflake.net",
              "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": "http://www.snowflake.net",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 40,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "packaging",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 42,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 4.2
            },
            "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 is not maximal on development and all release branches",
                "points": 0.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "1 out of 30 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": "all changesets reviewed",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 4 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "2 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 1",
                "points": 0.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "76 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "at_risk",
            "name": "Dependency advisories",
            "note": "Matched the maven:net.snowflake:snowflake-ingest-sdk@4.4.3-unshaded runtime dependency closure — what installing the published package pulls in — 136 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "maven:net.snowflake:snowflake-ingest-sdk@4.4.3-unshaded",
                  "assessed": 136
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 32,
            "inputs": {
              "source": "osv",
              "advisories": 42,
              "affected_packages": 11,
              "assessed_packages": 136,
              "unassessed_packages": 0,
              "affected_by_severity": "high 8, moderate 3",
              "direct_affected_packages": 4
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "4 affected: com.fasterxml.jackson.core:jackson-core 2.18.1 (high 7.5), com.fasterxml.jackson.core:jackson-databind 2.18.1 (high 8.1), org.bouncycastle:bcprov-jdk18on 1.79 (high 7.7), +1 more",
                "points": 8.1,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 4,
                      "packages": "com.fasterxml.jackson.core:jackson-core 2.18.1 (high 7.5), com.fasterxml.jackson.core:jackson-databind 2.18.1 (high 8.1), org.bouncycastle:bcprov-jdk18on 1.79 (high 7.7)"
                    }
                  },
                  {
                    "code": "advisories_affected_more",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "7 affected: io.airlift:aircompressor 0.27 (high 7.5), io.netty:netty-codec 4.1.127.Final (high 7.5), io.netty:netty-codec-http 4.1.127.Final (high 7.5), +4 more",
                "points": 4.4,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 7,
                      "packages": "io.airlift:aircompressor 0.27 (high 7.5), io.netty:netty-codec 4.1.127.Final (high 7.5), io.netty:netty-codec-http 4.1.127.Final (high 7.5)"
                    }
                  },
                  {
                    "code": "advisories_affected_more",
                    "params": {
                      "count": 4
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "6 advisory-carrying package(s) unaddressed past 90 days; oldest published 226 days ago",
                "points": 19.3,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_stale",
                    "params": {
                      "days": 90,
                      "count": 6,
                      "oldest": 226
                    }
                  }
                ],
                "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": 136,
              "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": 4
            },
            "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": "good",
        "name": "AI Readiness",
        "value": 73,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "excellent",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.93,
              "agent_instruction_files": [
                "src/main/java/net/snowflake/ingest/connection/CLAUDE.md",
                "src/main/java/net/snowflake/ingest/example/CLAUDE.md",
                "src/main/java/net/snowflake/ingest/streaming/CLAUDE.md",
                "src/main/java/net/snowflake/ingest/streaming/internal/CLAUDE.md",
                "src/main/java/net/snowflake/ingest/streaming/internal/fileTransferAgent/CLAUDE.md",
                "src/main/java/net/snowflake/ingest/streaming/internal/serialization/CLAUDE.md",
                "src/main/java/net/snowflake/ingest/utils/CLAUDE.md",
                "src/main/java/org/apache/parquet/hadoop/CLAUDE.md",
                "src/test/java/net/snowflake/ingest/CLAUDE.md",
                "src/test/java/net/snowflake/ingest/connection/CLAUDE.md",
                "src/test/java/net/snowflake/ingest/streaming/internal/CLAUDE.md",
                "src/test/java/net/snowflake/ingest/streaming/internal/datatypes/CLAUDE.md",
                "src/test/java/net/snowflake/ingest/streaming/internal/it/CLAUDE.md",
                "src/test/java/net/snowflake/ingest/utils/CLAUDE.md"
              ],
              "agent_instruction_max_bytes": 4277
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "src/main/java/net/snowflake/ingest/connection/CLAUDE.md, src/main/java/net/snowflake/ingest/example/CLAUDE.md, src/main/java/net/snowflake/ingest/streaming/CLAUDE.md, src/main/java/net/snowflake/ingest/streaming/internal/CLAUDE.md, src/main/java/net/snowflake/ingest/streaming/internal/fileTransferAgent/CLAUDE.md, src/main/java/net/snowflake/ingest/streaming/internal/serialization/CLAUDE.md, src/main/java/net/snowflake/ingest/utils/CLAUDE.md, src/main/java/org/apache/parquet/hadoop/CLAUDE.md, src/test/java/net/snowflake/ingest/CLAUDE.md, src/test/java/net/snowflake/ingest/connection/CLAUDE.md, src/test/java/net/snowflake/ingest/streaming/internal/CLAUDE.md, src/test/java/net/snowflake/ingest/streaming/internal/datatypes/CLAUDE.md, src/test/java/net/snowflake/ingest/streaming/internal/it/CLAUDE.md, src/test/java/net/snowflake/ingest/utils/CLAUDE.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "src/main/java/net/snowflake/ingest/connection/CLAUDE.md, src/main/java/net/snowflake/ingest/example/CLAUDE.md, src/main/java/net/snowflake/ingest/streaming/CLAUDE.md, src/main/java/net/snowflake/ingest/streaming/internal/CLAUDE.md, src/main/java/net/snowflake/ingest/streaming/internal/fileTransferAgent/CLAUDE.md, src/main/java/net/snowflake/ingest/streaming/internal/serialization/CLAUDE.md, src/main/java/net/snowflake/ingest/utils/CLAUDE.md, src/main/java/org/apache/parquet/hadoop/CLAUDE.md, src/test/java/net/snowflake/ingest/CLAUDE.md, src/test/java/net/snowflake/ingest/connection/CLAUDE.md, src/test/java/net/snowflake/ingest/streaming/internal/CLAUDE.md, src/test/java/net/snowflake/ingest/streaming/internal/datatypes/CLAUDE.md, src/test/java/net/snowflake/ingest/streaming/internal/it/CLAUDE.md, src/test/java/net/snowflake/ingest/utils/CLAUDE.md"
                    }
                  }
                ],
                "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": "93 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 93,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 67,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [],
              "agent_commit_share": 0.36,
              "toolchain_manifests": [
                "e2e-jar-test/core/pom.xml",
                "e2e-jar-test/fips/pom.xml",
                "e2e-jar-test/pom.xml",
                "e2e-jar-test/standard/pom.xml",
                "pom.xml",
                "sdk-wrapper/pom.xml"
              ],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "e2e-jar-test/core/pom.xml, e2e-jar-test/fips/pom.xml, e2e-jar-test/pom.xml (toolchain convention, no task runner)",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "toolchain_convention",
                    "params": {
                      "files": "e2e-jar-test/core/pom.xml, e2e-jar-test/fips/pom.xml, e2e-jar-test/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": 11,
                "status": "met",
                "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": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "36 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 36,
                      "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": 99644,
              "source_files_sampled": 363,
              "oversized_source_files": 5
            },
            "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": "5/363 source files over 60KB",
                "points": 54.2,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 363,
                      "oversized": 5
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "at_risk",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "example"
              ],
              "has_mcp_signal": false,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "example",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "example"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "Could not fetch maven package 'net.snowflake:sdk-wrapper' from its registry"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-27T03:43:17.046055Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/s/snowflakedb/snowflake-ingest-java.svg",
  "full_name": "snowflakedb/snowflake-ingest-java",
  "license_state": "standard",
  "license_spdx": "Apache-2.0"
}

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

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

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