公开记录
软件健康报告模式 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年10月在 GitHub 上查看 ↗

snowflakedb/snowflake-ingest-java 的健康指数为 100 分中的 66 分,处于「中等」区间。 其得分最高的类别是Sustainability & Governance(86/100),最低的是Security(40/100)。 最近一次更新在 12 天前。 近期的大部分工作由 5 位贡献者完成。

66
总分 / 100
中等

软件健康指数

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

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

评分画像

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

所有权

Snowflake组织
1,616 关注者63 个公开仓库始于 2014年1月

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

软件包生态系统

注册表软件包版本月下载量版本数最近发布
Mavennet.snowflake:snowflake-ingest-sdk4.4.3-unshaded-9381 天前

按类别列示的指标

活力

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

77良好 · 占总体的 22%
评分方式
28.8/36推送新近度 — 最近一次推送于 12 天前
15.2/36提交节奏 — 52 周中有 22 周有提交
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

发布纪律

100优秀
评分方式
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

社区健康

50中等
评分方式
22.5/22.5README
22.5/22.5许可证 — 可识别的许可证(Apache-2.0)
0/18CONTRIBUTING 指南
0/13.5行为准则
0/7.2议题模板
0/6.3PR 模板
所用输入
has_readme
has_license
has_contributing
has_issue_template
has_code_of_conduct
has_pull_request_template

可持续性与治理

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

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议题解决 — 80% 的议题已关闭
29.4/38.3PR 接受 — 已裁定的 PR 中 601/781 已合并
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所有者影响力 — snowflakedb 有 1,616 位关注者
25/25既往记录 — 63 个公开仓库,账户约 12 年
所用输入
followers1,616
owner_typeOrganization
is_verified
owner_loginsnowflakedb
public_repos63
account_age_days4,570
评分方式
25/25已发布且可解析 — maven 上有 1 个软件包
35/35发布时效 — 最近一次发布于 81 天前
20/20版本历史 — 93 个已发布版本
20/20未被弃用 — 活跃,未被弃用或撤回
所用输入
packagesnet.snowflake:snowflake-ingest-sdk
ecosystemsmaven
any_deprecated
min_days_since_publish81

工程质量

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

66中等 · 占总体的 20%

工程实践

74良好
评分方式
24/24CI 工作流 — 5 个工作流
24/24存在测试
16/16Linter 配置
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。 其余权重已重新归一化。

依赖安全公告

32存在风险
评分方式
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
比对的是 maven:net.snowflake:snowflake-ingest-sdk@4.4.3-unshaded 的运行时依赖闭包——安装已发布的软件包时真正被拉取进来的内容——共 136 个软件包。 未对可达性进行分析。

AI 就绪度

该仓库在多大程度上具备与 AI 编码代理协同开发与维护的条件?这是一枚独立的实验性徽章——权重为 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可读的提交历史 — 100 次人类提交中有 93 次说明了意图(结构化标题或解释性正文)
所用输入
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/11Lint / 格式化配置
11/11静态类型检查 — Java(静态类型)
0/10可复现环境
10/10已体现的代理实践 — 最近 100 次提交中有 36 次由代理编写或署名代理
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可控的文件大小 — 采样的 363 个源文件中有 5 个超过 60KB
所用输入
primary_languageJava
largest_source_bytes99,644
source_files_sampled363
oversized_source_files5

机器可读接口

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

关键数据

81GitHub 星标
47贡献者
63最近 12 个月提交数
12距最近推送天数
58发布版本数
5巴士系数(bus factor)
71开放议题
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

更多细节

Star 与 Fork 历史 0 ★ / 68 ⇿
0Star
68Fork
58发布

每颗 star 和每个 fork 的添加时间,来自 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 个间接(传递)软件包。仓库提交锁文件时,传递闭包才是完整的。

注册表软件包版本关系
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.