公开记录
软件健康报告模式 0.27.0 · 指标 2.3.1 · 2026-08-01 07:56 UTC

meta-pytorch / tritonparse

TritonParse: A Compiler Tracer, Visualizer, and Reproducer for Triton Kernels

Python · TypeScriptBSD-3-Clause★ 212 星标⑂ 26 复刻始于 2025年4月在 GitHub 上查看 ↗
类型网页界面如何判定

meta-pytorch/tritonparse 的健康指数为 100 分中的 91 分,处于「优秀」区间。 其得分最高的类别是Vitality(98/100),最低的是Sustainability & Governance(62/100)。 最近一次更新在今天。 近期的大部分工作由 1 位贡献者完成。

91
总分 / 100
优秀

软件健康指数

指标归入加权类别,统一采用 1–100 量表。总体分先取类别加权平均,再依据公开记录的分布进行校准,使各等级具有百分位含义;当公开证据触发高风险司法辖区政策时,评级会按政策调整,并设置 34(存在风险)的上限。

91
卓越93-100公开记录中的最高层级(约前 5%);基本满足所有检验标准
优秀80-92各方面均表现强劲;仅有少量不足
良好65-79健康;不足之处有限且可控
中等50-64可接受,但存在明显不足;建议进行审查
薄弱35-49多个领域存在实质性薄弱环节
存在风险20-34存在重大薄弱环节;采用时应保持审慎
危急1-19问题严重(项目被弃置、仅有单一维护者、缺乏基本工程规范)
活力社区与采用可持续性与治理工程质量安全AI 就绪度

评分画像

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

加权总体分 77 经校准后在公布的指数量表上为 91(记录校准 2026-08-02)。

所有权

1,390 关注者60 个公开仓库始于 2022年6月

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

软件包生态系统

注册表软件包版本月下载量版本数最近发布
PyPItritonparse0.5.14,89817821 天前

按类别列示的指标

活力

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

98卓越 · 占总体的 21%
评分方式
36/36推送新近度 — 最近一次推送于 0 天前
33.2/36提交节奏 — 52 周中有 48 周有提交
18/18提交量 — 最近一年 456 次提交
10/10OpenSSF Scorecard:Maintained — 30 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10
所用输入
commits_last_year456
human_commit_share0.9
days_since_last_push0
active_weeks_last_year48

发布纪律

100卓越
评分方式
27/27有发布版本 — 已发布 14 个发布版本
36/36发布时效 — 最近一次发布版本于 21 天前
27/27发布节奏 — 约每 29.9 天发布一次
0/10OpenSSF Scorecard:Signed-Releases — 无数据
所用输入
releases_count14
latest_release_tagv0.5.1
releases_from_tags
days_since_latest_release21
mean_days_between_releases29.9
已排除计分(无数据或不适用):OpenSSF Scorecard:Signed-Releases。 其余权重已重新归一化。

社区与采用

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

66良好 · 占总体的 17%
评分方式
37.7/60星标 — 212 个星标
11.7/25复刻 — 26 个复刻
3.9/15关注者 — 6 位关注者
所用输入
forks26
stars212
watchers6
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history

社区健康

85优秀
评分方式
22.5/22.5README
22.5/22.5许可证 — 可识别的许可证(BSD-3-Clause)
18/18CONTRIBUTING 指南
13.5/13.5行为准则
0/7.2议题模板
0/6.3PR 模板
所用输入
has_readme
has_license
readme_badges
has_contributing
has_issue_template
has_code_of_conduct
readme_badge_services
has_pull_request_template
评分方式
49.2/80月度下载量 — pypi 合计每月 4,898 次下载
0/20注册表被依赖数 — 该生态系统不报告此项
所用输入
packagestritonparse
dependents
ecosystemspypi
total_downloads
monthly_downloads4,898
已排除计分(无数据或不适用):注册表被依赖数。 其余权重已重新归一化。

可持续性与治理

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

62中等 · 占总体的 23%
评分方式
9/54巴士系数 — 1 位贡献者贡献了半数提交
5.1/22.5提交分布 — 头号贡献者编写了 77% 的提交
13.5/13.5贡献者广度 — 21 位贡献者
10/10OpenSSF Scorecard:Contributors — project has 6 contributing companies or organizations
所用输入
bus_factor1
contributors_sampled21
top_contributor_share0.773
评分方式
29.1/42议题解决 — 69% 的议题已关闭
0.4/30PR 接受 — 已裁定的 PR 中 4/311 已合并
0/13Newcomer PR acceptance — 30 天内没有首次贡献者的 PR 得到裁决
13.5/15OpenSSF Scorecard:Code-Review — Found 29/30 approved changesets -- score normalized to 9
所用输入
merged_prs4
open_issues33
closed_issues74
prs_merged_7d
prs_decided_7d
prs_merged_30d
prs_decided_30d
issue_closed_ratio0.692
closed_unmerged_prs307
first_time_authors_30d
first_time_prs_merged_30d
first_time_prs_decided_30d
已排除计分(无数据或不适用):newcomer_pr_acceptance。 其余权重已重新归一化。
评分方式
30/30所有权背书 — 组织持有
0/20已验证域名
22.6/25所有者影响力 — meta-pytorch 有 1,390 位关注者
21.3/25既往记录 — 60 个公开仓库,账户约 4 年
所用输入
followers1,390
owner_typeOrganization
is_verified
owner_loginmeta-pytorch
public_repos60
account_age_days1,513
评分方式
25/25已发布且可解析 — pypi 上有 1 个软件包
35/35发布时效 — 最近一次发布于 21 天前
20/20版本历史 — 178 个已发布版本
20/20未被弃用 — 活跃,未被弃用或撤回
所用输入
packagestritonparse
ecosystemspypi
any_deprecated
min_days_since_publish21

工程质量

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

88优秀 · 占总体的 19%

工程实践

80优秀
评分方式
24/24CI 工作流 — 7 个工作流
24/24存在测试
16/16Linter 配置 — eslint.config.js
0/9.6Pre-commit 钩子
0/6.4.editorconfig
0/20OpenSSF Scorecard:CI-Tests — 无数据
所用输入
has_ci
has_tests
has_editorconfig
has_linter_config
has_precommit_config
已排除计分(无数据或不适用):OpenSSF Scorecard:CI-Tests。 其余权重已重新归一化。

文档

100卓越
评分方式
30/30README
25/25文档目录
15/15文档 / 主页站点 — https://meta-pytorch.org/tritonparse/
10/10仓库描述
10/10主题标签 — 9 个主题标签
10/10Wiki
所用输入
topicscompiler, debugging, interactive-visualization, ir-analysis, pytorch, structured-logging, triton, gpu-kernel, ir-visualization
has_wiki
homepagehttps://meta-pytorch.org/tritonparse/
has_readme
has_docs_dir
has_description

安全

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

70良好 · 占总体的 16%

安全态势

63中等
评分方式
7.5/7.5Binary-Artifacts — no binaries found in the repo
2.2/7.5Branch-Protection — branch protection is not maximal on development and all release branches
0/2.5CI-Tests — 无数据
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
6.8/7.5Code-Review — Found 29/30 approved changesets -- score normalized to 9
2.5/2.5Contributors — project has 6 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5许可证 — license file detected
7.5/7.5Maintained — 30 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10
5/5Packaging — packaging workflow detected
0.5/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 1
0/5SAST — no SAST tool detected
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — 无数据
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
所用输入
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate6.3
已排除计分(无数据或不适用):ci_tests, signed_releases。 其余权重已重新归一化。
评分方式
35/35直接依赖不含已知公告 — 没有直接依赖携带已知公告
25/25间接依赖不含已知公告 — 没有间接依赖携带已知公告
0/40没有长期未处理的公告 — 没有公告带有发布日期
所用输入
sourceosv
advisories0
affected_packages0
assessed_packages6
unassessed_packages0
affected_by_severitynone
direct_affected_packages0
已排除计分(无数据或不适用):没有长期未处理的公告。 其余权重已重新归一化。 比对的是 pypi:tritonparse@0.5.1 的运行时依赖闭包——安装已发布的软件包时真正被拉取进来的内容——共 6 个软件包。 未对可达性进行分析。

AI 就绪度

该仓库在多大程度上具备与 AI 编码代理协同开发与维护的条件?权重刻意设小(4%):代理工具链是一项真实的维护信号,但完全不具备的仓库仍可达到 100/100。

67良好 · 占总体的 4%
评分方式
0/45代理指令 — 没有 CLAUDE.md / AGENTS.md / 编辑器规则
0/15机器可读文档(llms.txt)
40/40可读的提交历史 — 90 次人类提交中有 90 次说明了意图(结构化标题或解释性正文)
所用输入
has_llms_txt
legible_history_share1
agent_instruction_files
agent_instruction_max_bytes
评分方式
18/18一条命令的引导启动 — Makefile
22/22自动化测试
11/11Lint / 格式化配置 — eslint.config.js
11/11静态类型检查 — website/tsconfig.json
10/10可复现环境 — lockfile
0/10已体现的代理实践 — 最近 100 次提交中没有代理编写的提交
8/8自动化维护 — 最近 100 次提交中有 8 次为自动依赖更新
1/10OpenSSF Scorecard:Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 1
所用输入
has_nix
has_tests
lockfilespackage-lock.json
has_dockerfile
typed_language
bootstrap_filesMakefile
has_devcontainer
has_linter_config
typecheck_configswebsite/tsconfig.json
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0.08
评分方式
27/45可类型检查的代码 — Python,已配置类型检查(website/tsconfig.json)
54.5/55可控的文件大小 — 采样的 215 个源文件中有 2 个超过 60KB
所用输入
primary_languagePython
largest_source_bytes85,231
source_files_sampled215
oversized_source_files2

关键数据

212GitHub 星标
21贡献者
456最近 12 个月提交数
0距最近推送天数
14发布版本数
1巴士系数(bus factor)
33开放议题
npm, PyPI软件包生态系统数

数据采集警告

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token

更多细节

Star 与 Fork 历史 0 ★ / 26 ⇿
0Star
26Fork
12发布

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

0510152025302622025-062025-112026-05
主版本 0次版本 4修订 8
OpenSSF Scorecard 6.3 / 10
6.3综合

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

10Binary-Artifactsno binaries found in the repo
3Branch-Protectionbranch protection is not maximal on development and all release branches
不适用CI-Testsno pull request found
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
9Code-ReviewFound 29/30 approved changesets -- score normalized to 9
10Contributorsproject has 6 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10
10Packagingpackaging workflow detected
1Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 1
0SASTno SAST tool detected
0Security-Policysecurity policy file not detected
不适用Signed-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
10Vulnerabilities0 existing vulnerabilities detected
直接依赖 14
注册表软件包版本约束清单文件
PyPIorjson>=3.9pyproject.toml
PyPIrich>=13.0pyproject.toml
PyPIzstandard>=0.19.0pyproject.toml
npm@heroicons/react^2.2.0website/package.json
npm@monaco-editor/react^4.7.0website/package.json
npm@types/react-syntax-highlighter^15.5.13website/package.json
npmclp-ffi-js^0.7.0-beta.3website/package.json
npmmonaco-editor^0.55.1website/package.json
npmprismjs^1.30.0website/package.json
npmreact^19.2.7website/package.json
npmreact-dom^19.2.7website/package.json
npmreact-resizable-panels^4.12.0website/package.json
npmreact-syntax-highlighter^16.1.1website/package.json
npmreact-window^2.2.7website/package.json
全部依赖 258

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

注册表软件包版本关系
npm@heroicons/react2.2.0直接
npm@monaco-editor/react4.7.0直接
npm@types/react-syntax-highlighter15.5.13直接
npmclp-ffi-js0.7.0-beta.3直接
npmmonaco-editor0.55.1直接
npmprismjs1.30.0直接
npmreact19.2.7直接
npmreact-dom19.2.7直接
npmreact-resizable-panels4.12.0直接
npmreact-syntax-highlighter16.1.1直接
npmreact-window2.2.7直接
PyPIorjson直接
PyPIrich直接
PyPIzstandard直接
npm@babel/code-frame7.29.7间接
npm@babel/compat-data7.29.7间接
npm@babel/core7.29.7间接
npm@babel/generator7.29.7间接
npm@babel/helper-compilation-targets7.29.7间接
npm@babel/helper-globals7.29.7间接
npm@babel/helper-module-imports7.29.7间接
npm@babel/helper-module-transforms7.29.7间接
npm@babel/helper-string-parser7.29.7间接
npm@babel/helper-validator-identifier7.29.7间接
npm@babel/helper-validator-option7.29.7间接
npm@babel/helpers7.29.7间接
npm@babel/parser7.29.7间接
npm@babel/runtime7.29.2间接
npm@babel/template7.29.7间接
npm@babel/traverse7.29.7间接
npm@babel/types7.29.7间接
npm@emnapi/core1.11.1间接
npm@emnapi/runtime1.11.1间接
npm@emnapi/wasi-threads1.2.2间接
npm@eslint-community/eslint-utils4.9.1间接
npm@eslint-community/regexpp4.12.2间接
npm@eslint/config-array0.23.5间接
npm@eslint/config-helpers0.6.0间接
npm@eslint/core1.2.1间接
npm@eslint/js10.0.1间接
npm@eslint/object-schema3.0.5间接
npm@eslint/plugin-kit0.7.2间接
npm@humanfs/core0.19.1间接
npm@humanfs/node0.16.7间接
npm@humanwhocodes/module-importer1.0.1间接
npm@humanwhocodes/retry0.4.3间接
npm@jridgewell/gen-mapping0.3.13间接
npm@jridgewell/remapping2.3.5间接
npm@jridgewell/resolve-uri3.1.2间接
npm@jridgewell/sourcemap-codec1.5.5间接
npm@jridgewell/trace-mapping0.3.31间接
npm@monaco-editor/loader1.7.0间接
npm@napi-rs/wasm-runtime1.1.6间接
npm@oxc-project/types0.137.0间接
npm@rolldown/binding-android-arm641.1.3间接
npm@rolldown/binding-darwin-arm641.1.3间接
npm@rolldown/binding-darwin-x641.1.3间接
npm@rolldown/binding-freebsd-x641.1.3间接
npm@rolldown/binding-linux-arm-gnueabihf1.1.3间接
npm@rolldown/binding-linux-arm64-gnu1.1.3间接
npm@rolldown/binding-linux-arm64-musl1.1.3间接
npm@rolldown/binding-linux-ppc64-gnu1.1.3间接
npm@rolldown/binding-linux-s390x-gnu1.1.3间接
npm@rolldown/binding-linux-x64-gnu1.1.3间接
npm@rolldown/binding-linux-x64-musl1.1.3间接
npm@rolldown/binding-openharmony-arm641.1.3间接
npm@rolldown/binding-wasm32-wasi1.1.3间接
npm@rolldown/binding-win32-arm64-msvc1.1.3间接
npm@rolldown/binding-win32-x64-msvc1.1.3间接
npm@rolldown/pluginutils1.0.1间接
npm@tailwindcss/node4.3.2间接
npm@tailwindcss/oxide4.3.2间接
npm@tailwindcss/oxide-android-arm644.3.2间接
npm@tailwindcss/oxide-darwin-arm644.3.2间接
npm@tailwindcss/oxide-darwin-x644.3.2间接
npm@tailwindcss/oxide-freebsd-x644.3.2间接
npm@tailwindcss/oxide-linux-arm-gnueabihf4.3.2间接
npm@tailwindcss/oxide-linux-arm64-gnu4.3.2间接
npm@tailwindcss/oxide-linux-arm64-musl4.3.2间接
npm@tailwindcss/oxide-linux-x64-gnu4.3.2间接
npm@tailwindcss/oxide-linux-x64-musl4.3.2间接
npm@tailwindcss/oxide-wasm32-wasi4.3.2间接
npm@tailwindcss/oxide-win32-arm64-msvc4.3.2间接
npm@tailwindcss/oxide-win32-x64-msvc4.3.2间接
npm@tailwindcss/vite4.3.2间接
npm@tybys/wasm-util0.10.3间接
npm@types/esrecurse4.3.1间接
npm@types/estree1.0.8间接
npm@types/hast3.0.4间接
npm@types/json-schema7.0.15间接
npm@types/node26.1.0间接
npm@types/prismjs1.26.6间接
npm@types/react19.2.17间接
npm@types/react-dom19.2.3间接
npm@types/trusted-types2.0.7间接
npm@types/unist2.0.11间接
npm@types/unist3.0.3间接
npm@typescript-eslint/eslint-plugin8.62.1间接
npm@typescript-eslint/parser8.62.1间接
npm@typescript-eslint/project-service8.62.1间接
npm@typescript-eslint/scope-manager8.62.1间接
npm@typescript-eslint/tsconfig-utils8.62.1间接
npm@typescript-eslint/type-utils8.62.1间接
npm@typescript-eslint/types8.62.1间接
npm@typescript-eslint/typescript-estree8.62.1间接
npm@typescript-eslint/utils8.62.1间接
npm@typescript-eslint/visitor-keys8.62.1间接
npm@vitejs/plugin-react6.0.3间接
npmacorn8.16.0间接
npmacorn-jsx5.3.2间接
npmajv6.14.0间接
npmautoprefixer10.5.2间接
npmbalanced-match4.0.4间接
npmbaseline-browser-mapping2.10.40间接
npmbrace-expansion5.0.7间接
npmbrowserslist4.28.4间接
npmcaniuse-lite1.0.30001800间接
npmcharacter-entities2.0.2间接
npmcharacter-entities-legacy3.0.0间接
npmcharacter-reference-invalid2.0.1间接
npmcomma-separated-tokens2.0.3间接
npmconvert-source-map2.0.0间接
npmcross-spawn7.0.6间接
npmcsstype3.2.3间接
npmdebug4.4.3间接
npmdecode-named-character-reference1.3.0间接
npmdeep-is0.1.4间接
npmdetect-libc2.1.2间接
npmdompurify3.4.11间接
npmelectron-to-chromium1.5.382间接
npmenhanced-resolve5.21.6间接
npmescalade3.2.0间接
npmescape-string-regexp4.0.0间接
npmeslint10.6.0间接
npmeslint-plugin-react-hooks7.1.0-canary-404b38c7-20260408间接
npmeslint-plugin-react-refresh0.5.3间接
npmeslint-scope9.1.2间接
npmeslint-visitor-keys3.4.3间接
npmeslint-visitor-keys5.0.1间接
npmespree11.2.0间接
npmesquery1.7.0间接
npmesrecurse4.3.0间接
npmestraverse5.3.0间接
npmesutils2.0.3间接
npmfast-deep-equal3.1.3间接
npmfast-json-stable-stringify2.1.0间接
npmfast-levenshtein2.0.6间接
npmfault1.0.4间接
npmfdir6.5.0间接
npmfile-entry-cache8.0.0间接
npmfind-up5.0.0间接
npmflat-cache4.0.1间接
npmflatted3.4.2间接
npmformat0.2.2间接
npmfraction.js5.3.4间接
npmfsevents2.3.3间接
npmgensync1.0.0-beta.2间接
npmglob-parent6.0.2间接
npmglobals17.7.0间接
npmgraceful-fs4.2.11间接
npmhast-util-parse-selector4.0.0间接
npmhastscript9.0.1间接
npmhermes-estree0.25.1间接
npmhermes-parser0.25.1间接
npmhighlight.js10.7.3间接
npmhighlightjs-vue1.0.0间接
npmignore5.3.2间接
npmignore7.0.5间接
npmimurmurhash0.1.4间接
npmis-alphabetical2.0.1间接
npmis-alphanumerical2.0.1间接
npmis-decimal2.0.1间接
npmis-extglob2.1.1间接
npmis-glob4.0.3间接
npmis-hexadecimal2.0.1间接
npmisexe2.0.0间接
npmjiti2.7.0间接
npmjs-tokens4.0.0间接
npmjsesc3.1.0间接
npmjson-buffer3.0.1间接
npmjson-schema-traverse0.4.1间接
npmjson-stable-stringify-without-jsonify1.0.1间接
npmjson52.2.3间接
npmkeyv4.5.4间接
npmlevn0.4.1间接
npmlightningcss1.32.0间接
npmlightningcss-android-arm641.32.0间接
npmlightningcss-darwin-arm641.32.0间接
npmlightningcss-darwin-x641.32.0间接
npmlightningcss-freebsd-x641.32.0间接
npmlightningcss-linux-arm-gnueabihf1.32.0间接
npmlightningcss-linux-arm64-gnu1.32.0间接
npmlightningcss-linux-arm64-musl1.32.0间接
npmlightningcss-linux-x64-gnu1.32.0间接
npmlightningcss-linux-x64-musl1.32.0间接
npmlightningcss-win32-arm64-msvc1.32.0间接
npmlightningcss-win32-x64-msvc1.32.0间接
npmlocate-path6.0.0间接
npmlowlight1.20.0间接
npmlru-cache5.1.1间接
npmmagic-string0.30.21间接
npmmarked14.0.0间接
npmminimatch10.2.5间接
npmms2.1.3间接
npmnanoid3.3.16间接
npmnatural-compare1.4.0间接
npmnode-releases2.0.50间接
npmoptionator0.9.4间接
npmp-limit3.1.0间接
npmp-locate5.0.0间接
npmparse-entities4.0.2间接
npmpath-exists4.0.0间接
npmpath-key3.1.1间接
npmpicocolors1.1.1间接
npmpicomatch4.0.4间接
npmpostcss8.5.25间接
npmpostcss-value-parser4.2.0间接
npmprelude-ls1.2.1间接
npmproperty-information7.1.0间接
npmpunycode2.3.1间接
npmrefractor5.0.0间接
npmrolldown1.1.3间接
npmscheduler0.27.0间接
npmsemver6.3.1间接
npmsemver7.8.5间接
npmshebang-command2.0.0间接
npmshebang-regex3.0.0间接
npmsource-map-js1.2.1间接
npmspace-separated-tokens2.0.2间接
npmstate-local1.0.7间接
npmtailwindcss4.3.2间接
npmtapable2.3.3间接
npmtinyglobby0.2.17间接
npmts-api-utils2.5.0间接
npmtslib2.8.1间接
npmtype-check0.4.0间接
npmtypescript6.0.3间接
npmtypescript-eslint8.62.1间接
npmundici-types8.3.0间接
npmupdate-browserslist-db1.2.3间接
npmuri-js4.4.1间接
npmvite8.1.2间接
npmwhich2.0.2间接
npmword-wrap1.2.5间接
npmyallist3.1.1间接
npmyocto-queue0.1.0间接
npmzod4.3.6间接
npmzod-validation-error4.0.2间接
PyPIcoverage间接
PyPIparameterized间接
PyPIpytorch-triton间接
PyPIruff0.16.0间接
PyPIruff-api0.2.0间接
PyPIsetuptools间接
PyPIsetuptools-scm间接
PyPItriton间接
PyPIufmt2.9.0间接
PyPIusort1.1.0间接
依赖安全公告 0

安装 pypi:tritonparse@0.5.1 会引入 6 个包(直接与传递):其中 0 个存在已知公告,0 个为直接依赖。

没有已知公告影响已评估的依赖。

公告表示依赖图中记录的版本落入某条公告的受影响范围。可达性未经分析,且依赖图包含开发与测试的版本固定——某项发现可能只涉及工具链而非交付的软件。

原始 JSON 报告 机器可读
{
  "data": {
    "repo": {
      "topics": [
        "compiler",
        "debugging",
        "interactive-visualization",
        "ir-analysis",
        "pytorch",
        "structured-logging",
        "triton",
        "gpu-kernel",
        "ir-visualization"
      ],
      "is_fork": false,
      "size_kb": 4803,
      "has_wiki": true,
      "homepage": "https://meta-pytorch.org/tritonparse/",
      "languages": {
        "CSS": 2662,
        "HTML": 750,
        "Sass": 3903,
        "Shell": 84061,
        "Python": 1849360,
        "Makefile": 2725,
        "JavaScript": 6956,
        "TypeScript": 293307
      },
      "pushed_at": "2026-07-31T14:36:13Z",
      "created_at": "2025-04-30T20:37:26Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-31T14:37:03Z",
      "description": "TritonParse: A Compiler Tracer, Visualizer, and Reproducer for Triton Kernels",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "BSD-3-Clause",
      "default_branch": "main",
      "license_spdx_raw": "BSD-3-Clause",
      "primary_language": "Python",
      "significant_languages": [
        "Python",
        "TypeScript"
      ]
    },
    "owner": {
      "blog": "https://pytorch.org",
      "name": "Meta PyTorch",
      "type": "Organization",
      "login": "meta-pytorch",
      "company": null,
      "location": null,
      "followers": 1390,
      "avatar_url": "https://avatars.githubusercontent.com/u/107212512?v=4",
      "created_at": "2022-06-09T18:30:11Z",
      "is_verified": null,
      "public_repos": 60,
      "account_age_days": 1513
    },
    "license": {
      "state": "standard",
      "spdx_id": "BSD-3-Clause",
      "raw_spdx": "BSD-3-Clause",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.5.1",
          "kind": "patch",
          "published_at": "2026-07-10T19:16:05Z"
        },
        {
          "tag": "v0.5.0",
          "kind": "minor",
          "published_at": "2026-06-10T03:36:37Z"
        },
        {
          "tag": "v0.4.4",
          "kind": "patch",
          "published_at": "2026-04-23T03:32:17Z"
        },
        {
          "tag": "v0.4.3",
          "kind": "patch",
          "published_at": "2026-04-08T23:24:20Z"
        },
        {
          "tag": "v0.4.2",
          "kind": "patch",
          "published_at": "2026-04-01T02:33:27Z"
        },
        {
          "tag": "v0.4.1",
          "kind": "patch",
          "published_at": "2026-02-25T18:56:57Z"
        },
        {
          "tag": "v0.4.0",
          "kind": "minor",
          "published_at": "2026-01-22T18:07:22Z"
        },
        {
          "tag": "v0.3.2",
          "kind": "patch",
          "published_at": "2025-12-26T18:12:40Z"
        },
        {
          "tag": "v0.3.1",
          "kind": "patch",
          "published_at": "2025-11-06T03:13:06Z"
        },
        {
          "tag": "v0.3.0",
          "kind": "minor",
          "published_at": "2025-10-15T03:34:52Z"
        },
        {
          "tag": "v0.2.3",
          "kind": "patch",
          "published_at": "2025-09-19T20:26:46Z"
        },
        {
          "tag": "v0.2.0",
          "kind": "minor",
          "published_at": "2025-09-11T23:08:51Z"
        },
        {
          "tag": "v0.1.1",
          "kind": "patch",
          "published_at": "2025-07-25T17:52:57Z"
        },
        {
          "tag": "v0.1.0",
          "kind": "minor",
          "published_at": "2025-07-21T19:05:18Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "e37aed84a05e4a6020ef7b3f7cc7ad45d934a451",
          "body": "Summary:\nBumps [postcss](https://github.com/postcss/postcss) from 8.5.16 to 8.5.25.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/postcss/postcss/releases\">postcss's releases</a>.</em></p>\n<blockquote>\n<h2>8.5.25</h2>\n<ul>\n<li>Fixed 8.5.17 visitor regress\n[…]\nesolved: https://github.com/meta-pytorch/tritonparse/pull/420\n\nReviewed By: xuzhao9\n\nDifferential Revision: D114271578\n\nPulled By: FindHao\n\nfbshipit-source-id: d92848e1a20a93441b35fb4455c49984c1f8f9bb",
          "is_bot": true,
          "headline": "Bump postcss from 8.5.16 to 8.5.25 in /website (#420)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-31T14:34:03Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0410aeff334647225d0c60c1262fded61d568ebf",
          "body": "Summary:\nPull Request resolved: https://github.com/meta-pytorch/tritonparse/pull/419\n\nPin the standalone Ruff CLI and explicitly preserve the pre-0.16 default rule set so upstream default-rule changes cannot silently redefine the OSS lint policy.\n\nSeparate formatting and linting targets, and make ch\n[…]\nsts for command construction and tool selection, and update the formatting guide.\n\nReviewed By: xuzhao9\n\nDifferential Revision: D114009567\n\nfbshipit-source-id: 8ebd136f0fb1c77c0e253163ff2d2f63bf077045",
          "is_bot": false,
          "headline": "Stabilize OSS Python lint checks (#419)",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-07-30T20:33:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0793c086714c53d78b617daf81552dda08878531",
          "body": "Summary:\nAdd a portable `CodexClient` implementation for non-interactive, read-only analysis. The client sends prompts through stdin, maps system guidance to invocation-scoped developer instructions, disables mutable agent features, and retries only transient capacity failures.\n\nUse Meta trusted sub\n[…]\nion internally while preserving an OSS fallback that uses a shell-free argv list.\n\nReviewed By: xuzhao9\n\nDifferential Revision: D113447666\n\nfbshipit-source-id: 105f66fe933cd8757bcc2653c221dd5cac7f01e6",
          "is_bot": false,
          "headline": "Add a read-only Codex client to `tritonparse.ai`",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-07-29T00:17:26Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "46310cf40b14a02ab12f725dca667f93025266f6",
          "body": "Reviewed By: FindHao\n\nDifferential Revision: D110480523\n\nfbshipit-source-id: b57c8872e15c28dee2407ac7290711cba9e44dc1",
          "is_bot": false,
          "headline": "Fix 2 broken tests",
          "author_name": "generatedunixname2012458493028417",
          "author_login": null,
          "committed_at": "2026-07-15T03:35:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fafad5f60a26f09ee8e8ea3b5c1949ba27d336e2",
          "body": "…olve relative imports on disk\n\nSummary:\nCOPY/embed-mode reproducers could fail to run standalone due to two import-handling bugs:\n\n1. `get_dependent_source_map` emitted `from <module> import <name>` even when\n   `<name>` had already been extracted and embedded as a function definition.\n   When the \n[…]\ne relative\n   imports (level > 0) against the importing file's directory on disk.\n\nReviewed By: xuzhao9\n\nDifferential Revision: D111381394\n\nfbshipit-source-id: 7e6b5a5fd1deab94ee6f80cd410fa886593facb9",
          "is_bot": false,
          "headline": "Make embedded reproducers self-contained: prune inlined imports + res…",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-07-10T19:00:20Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "81cc7847dddd7a4c372a0662e5e5b8990dcdf10e",
          "body": "Summary:\nExtends the tritonparse analyzer registry to support **launch-level** analyzers (results depend on each launch's grid + input sizes) alongside the existing **compile-level** analyzers, and migrates `roofline` from a special-cased emitter into the registry.\n\n**`backend.py`**\n- Replaces `NON_\n[…]\nb.com/intern/devai/devmate/inspector/?id=ce8f88eb-f117-4938-b31e-c7f956b82e88)\n\nReviewed By: bhuang7477\n\nDifferential Revision: D110210549\n\nfbshipit-source-id: c9160a2f7d065886b7105820252850d5c55c920a",
          "is_bot": false,
          "headline": "Support launch-level analyzers in registry",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-07-01T22:09:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "cec214e9f0837556af3c8eefb09d742806231275",
          "body": "Summary:\nBumps the website-all group in /website with 2 updates: [types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).\n\nUpdates `types/node` from 26.0.1 to 26.1.0\n<details>\n<summary>Commits</summary>\n\n[…]\nlved: https://github.com/meta-pytorch/tritonparse/pull/418\n\nReviewed By: bhuang7477\n\nDifferential Revision: D110336466\n\nPulled By: FindHao\n\nfbshipit-source-id: 523d1526963e8ae326b9cc84cf4d103f13576abb",
          "is_bot": true,
          "headline": "Bump the website-all group in /website with 2 updates (#418)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-01T21:53:27Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9364b967bf753dc038bfb316263176dc518ad207",
          "body": "Summary:\nRefreshes the `website/` npm dependencies to current releases. This rolls in the security fixes for the open Dependabot alerts plus routine bumps of the build/lint toolchain.\n\nSecurity fixes (Dependabot alerts):\n- Bumps the `monaco-editor` -> `dompurify` override in `website/package.json` f\n[…]\n` was regenerated to match (`npm install --package-lock-only` + `npm audit fix`).\n\nReviewed By: xuzhao9\n\nDifferential Revision: D110199678\n\nfbshipit-source-id: c8a1f0ffb20fff68fbd24b3059546e2295aec7ec",
          "is_bot": false,
          "headline": "Bump website npm dependencies (clears Dependabot alerts)",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-06-30T17:11:28Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "36669076711035d75ada28f01ad83ea8472db127",
          "body": "Summary:\nSurfaces the per-launch `roofline` event (added in the previous diff) in the\nKernel Overview page, in two tiers:\n\n- RooflineSummary (Tier 1): the launch-invariant character — is_gemm, arithmetic\n  intensity, bytes/FLOPs per CTA — plus aggregate stats across launches (count,\n  total bytes mo\n[…]\ner-launch kernel durations\nthe trace does not capture (a profiler / NCU concern).\n\nReviewed By: xuzhao9\n\nDifferential Revision: D110110473\n\nfbshipit-source-id: 4a5a9531aaac291182329d58a2cb65a178d16aca",
          "is_bot": false,
          "headline": "tritonparse: show per-launch roofline in the web UI",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-06-30T04:38:59Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7b2da36963d61c14cb6637908647ed137db4bf94",
          "body": "Summary:\nRoofline (global-memory bytes moved, plus FLOPs / arithmetic intensity for GEMM)\nis a per-LAUNCH quantity: one compiled kernel is launched many times with\ndifferent grids and input sizes, so the total bytes moved differs per launch.\nThe previous static estimate lived in the per-compilation \n[…]\non; reverted the roofline\n  additions to ir_analysis.schema.json.\n- docs updated.\n\nReviewed By: xuzhao9\n\nDifferential Revision: D110110450\n\nfbshipit-source-id: 35c6654bbe74a66ac311154a2d6ad7a8729402bf",
          "is_bot": false,
          "headline": "tritonparse: add per-launch roofline event",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-06-30T04:38:59Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1de8f1705da00deb73573b6cb5123f7ff7d7dd3a",
          "body": "Summary:\nWhen `nvdisasm` emits an inlined call stack for a SASS instruction, it prints one `//## File` comment per inlined frame, ordered innermost-first, e.g.:\n\n```\n//## File \".../blackwell_fa_ws_pipelined_persistent.py\", line 2005 inlined at \".../blackwell_fa_ws_pipelined_persistent.py\", line 2452\n[…]\nckwell FA trace, this corrects attribution for 1306 of 3768 SASS instructions.\n\nReviewed By: bhuang7477\n\nDifferential Revision: D109761445\n\nfbshipit-source-id: 66b83dc982ab34d68937c44c4134004a413051dc",
          "is_bot": false,
          "headline": "Fix SASS source mapping to use innermost inlined frame",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-06-26T01:59:27Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8ab60d0d2bae5072b7617bc24119e7ca14645fc3",
          "body": "…roved AI prompts\n\nSummary:\nThree related changes to the compat builder that improve AI fix reliability, validated on two real regression cases (vLLM DeepSeek MoE perf regression and Inductor `test_max_pool2d_with_indices_backward2` numeric regression).\n\n**Build error → log file:** Instead of trunca\n[…]\n`gcc`/`g++` instead of conda `clang++`, matching the `bisect_llvm.sh` workaround.\n\nReviewed By: FindHao\n\nDifferential Revision: D106855115\n\nfbshipit-source-id: 385860edb8630c267175c35052f29c1129ddba7b",
          "is_bot": false,
          "headline": "Compat builder: verify-and-retry loop, build error log files, and imp…",
          "author_name": "Prithvi Patel",
          "author_login": "prithvip0524",
          "committed_at": "2026-06-09T10:49:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2f9f50693d60a0efffeada99d9260803adfb82f5",
          "body": "…llvm.sh\n\nSummary: Adds debug logging to the Claude CLI client for better diagnostics during AI fix attempts. Fixes a missing `header_skipped = True` assignment in `pair_tester.py`. Updates `bisect_llvm.sh` to optionally allow using gcc as the compiler\n\nReviewed By: FindHao\n\nDifferential Revision: D106855103\n\nfbshipit-source-id: a7b5e253e179f43f05ea2a104d2b70ee5910ce6a",
          "is_bot": false,
          "headline": "Add debug logging, pair_tester bugfix, and gcc workaround for bisect_…",
          "author_name": "Prithvi Patel",
          "author_login": "prithvip0524",
          "committed_at": "2026-06-09T10:49:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "200e9651da74e951bc043dd76c71a1a99a55fa54",
          "body": "Summary:\nBumps the website-all group in /website with 12 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.5` | `19.2.7` |\n| [types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19\n[…]\n2450</a>) (<a href=\"https://github.com/vitejs/vite/commit/e8e9a34dcf2540139de558a10187630884d10217\">e8e9a34</a>)</li>\n<li><strong>html:</strong> handle trailing slash paths in transformIndexHtml (<a …",
          "is_bot": true,
          "headline": "Bump the website-all group in /website with 12 updates (#416)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-03T16:54:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "dd0cdf2bf35286a1824cec904d2e1a6eba2e4d82",
          "body": "…413)\n\nSummary:\nTritonParse has finished the universal backend refactoring. New backends can be integrated without modifying shared core code. This PR adds integration guidelines for new backend developers and provides a complete example based on Ascend NPU to demonstrate the full backend access pro\n[…]\n resolved: https://github.com/meta-pytorch/tritonparse/pull/413\n\nReviewed By: wychi\n\nDifferential Revision: D106458975\n\nPulled By: FindHao\n\nfbshipit-source-id: eb3faee7f43023b81c9b838c48326ee47a0b313a",
          "is_bot": false,
          "headline": "Add multi-backend support guidelines and Ascend practical examples (#…",
          "author_name": "zhudada0120",
          "author_login": "zhudada0120",
          "committed_at": "2026-05-27T14:56:08Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "04de03c186a6ecb3c70999a645245d87264b2e61",
          "body": "…I Renaming, Docstring & Type Hint Unification (#414)\n\nSummary:\nThis PR cleans up internal consistency in the backend adapter layer across three focused commits:\n\n1. simplify registry implementations and analyzer internals\n2. clarify adapter listing APIs and update call sites\n3. unify docstrings, ty\n[…]\nesolved: https://github.com/meta-pytorch/tritonparse/pull/414\n\nReviewed By: xuzhao9\n\nDifferential Revision: D106383357\n\nPulled By: FindHao\n\nfbshipit-source-id: e161ebe491dbc09e47c74881de1befaac81da831",
          "is_bot": false,
          "headline": "backend.py Internal Consistency Cleanup — Registry Simplification, AP…",
          "author_name": "zhudada0120",
          "author_login": "zhudada0120",
          "committed_at": "2026-05-26T17:45:16Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "265d8db08cc494996c9370d7506375974d35a0f7",
          "body": "… Isolation Tests (#411)\n\nSummary:\n## Context\n\n- **Preceding PR**: https://github.com/meta-pytorch/tritonparse/pull/409 (Registry Architecture Refactor — Eliminate Circular Dependencies & Introduce Instance-Level Isolation)\n\nDuring the review of the preceding PR, the question arose whether `procedur\n[…]\nhttps://github.com/meta-pytorch/tritonparse/pull/411\n\nReviewed By: srivatsan-ramesh\n\nDifferential Revision: D105967884\n\nPulled By: FindHao\n\nfbshipit-source-id: 9618af7621d58aa42cf3dc8185225509683fdc0c",
          "is_bot": false,
          "headline": "Introduce AnalyzerContext to Unify Analyzer Signatures & Add Registry…",
          "author_name": "zhudada0120",
          "author_login": "zhudada0120",
          "committed_at": "2026-05-22T16:51:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fa20ff90728d8bb58df27e69de42c55a24e64e37",
          "body": "Summary:\nDrop the `TORCHINDUCTOR_WORKER_START=spawn` workaround attempted in the previous version of this diff and set `TORCHINDUCTOR_COMPILE_THREADS=1` instead. Inductor now compiles Triton kernels inline in the main process, so the test no longer touches the compile-worker pool that races with ups\n[…]\nhttps://github.com/meta-pytorch/tritonparse/pull/412\n\nReviewed By: srivatsan-ramesh\n\nDifferential Revision: D105902628\n\nPulled By: FindHao\n\nfbshipit-source-id: 9d0821f6b24c013c5e5a11e65f462bafb48dba4e",
          "is_bot": false,
          "headline": "Compile inline in main process for GPU multiprocess inductor test (#412)",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-05-21T22:28:13Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "46a25f662e464b533ca5b80b845550dcee370b40",
          "body": "Summary:\n`structured_logging.py` is loaded during `import triton` via `triton/fb/config_backend/configs.py:27`, which imports `tritonparse.structured_logging` at module top. Since D100891381 made `import torch` unconditional at the top of `structured_logging.py`, this creates a circular import path:\n[…]\nitonparse diff` CLI subcommand and tests respectively — so they remain unchanged.\n\nReviewed By: xuzhao9\n\nDifferential Revision: D105975165\n\nfbshipit-source-id: dcf63261964ef0b04f2d190c322296c9bdbdc6b2",
          "is_bot": false,
          "headline": "Make torch import lazy in structured_logging.py to avoid circular import",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-05-21T18:52:13Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "60969bc1067941dc3a737e2672d16f802219899a",
          "body": "…ges` (#408)\n\nSummary:\n## Background\n\n- **RFC**: https://github.com/meta-pytorch/tritonparse/issues/367\n- **Prior PRs**:\n  - https://github.com/meta-pytorch/tritonparse/pull/387 (Reader-side infrastructure & generic parse logic)\n  - https://github.com/meta-pytorch/tritonparse/pull/394 (Parser dispat\n[…]\nesolved: https://github.com/meta-pytorch/tritonparse/pull/408\n\nReviewed By: xuzhao9\n\nDifferential Revision: D105702781\n\nPulled By: FindHao\n\nfbshipit-source-id: 139e457bb158b8676e7c990a7ae62e11e6faf5f1",
          "is_bot": false,
          "headline": "Frontend Generalization — Eliminate Hardcoded Stage Names via `ir_sta…",
          "author_name": "zhudada0120",
          "author_login": "zhudada0120",
          "committed_at": "2026-05-20T16:24:58Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "bc171126d4277c38174586441b18f90b4c23555b",
          "body": "…troduce Instance-Level Isolation (#409)\n\nSummary:\n## Background\n\n- **RFC**: https://github.com/meta-pytorch/tritonparse/issues/367\n\nThis PR contains two core refactors that completely resolve the circular dependency between `backend.py`, `ir_analysis.py`, `ir_parser.py`, and `shared_vars.py`, and t\n[…]\nhttps://github.com/meta-pytorch/tritonparse/pull/409\n\nReviewed By: srivatsan-ramesh\n\nDifferential Revision: D105703151\n\nPulled By: FindHao\n\nfbshipit-source-id: 016286b0ad6c9be4d47adecd998281091d99fdcc",
          "is_bot": false,
          "headline": "Registry Architecture Refactor — Eliminate Circular Dependencies & In…",
          "author_name": "zhudada0120",
          "author_login": "zhudada0120",
          "committed_at": "2026-05-19T20:26:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "edbbde446a09d72b7bbe6cb945d196378b288367",
          "body": "Summary:\n## Background\n\n- **RFC**: https://github.com/meta-pytorch/tritonparse/issues/367\n- **Prior PRs**:\n  - https://github.com/meta-pytorch/tritonparse/pull/387 (Reader-side infrastructure & generic parse logic)\n  - https://github.com/meta-pytorch/tritonparse/pull/394 (Parser dispatch refactoring\n[…]\nhttps://github.com/meta-pytorch/tritonparse/pull/406\n\nReviewed By: srivatsan-ramesh\n\nDifferential Revision: D105655812\n\nPulled By: FindHao\n\nfbshipit-source-id: b58765df73a7ddc0af797186792410a887366b03",
          "is_bot": false,
          "headline": "Trace Enhancement — Data Foundation for Frontend Generalization (#406)",
          "author_name": "zhudada0120",
          "author_login": "zhudada0120",
          "committed_at": "2026-05-19T20:26:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a99cc139c17130387c6b5e5f516b9e3fea8b961a",
          "body": "Summary:\nThe tritonparse.parse.ir_analysis module previously ran FileCheck binary detection at module import time, emitting a WARNING log message (\"FileCheck binary not found...\") whenever the binary was absent. This warning appeared in unrelated tests (e.g. CUTracer datarace tests) because importin\n[…]\numers that import tritonparse.parse modules but never use procedure detection.\n\nReviewed By: peiying779\n\nDifferential Revision: D104318541\n\nfbshipit-source-id: fd815c0f98a55f429276605ecd2cafbac6db5fff",
          "is_bot": false,
          "headline": "Defer FileCheck binary detection to first use in ir_analysis",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-05-14T02:14:03Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f93263f6ef3659e544e77a4e9c78bc833f6ae7e4",
          "body": "… (#404)\n\nSummary:\n## Background\n\n- **RFC**: https://github.com/meta-pytorch/tritonparse/issues/367\n- **Prior PRs**:\n  - https://github.com/meta-pytorch/tritonparse/pull/387 (Reader-side infrastructure & generic parse logic)\n  - https://github.com/meta-pytorch/tritonparse/pull/394 (Parser dispatch r\n[…]\nesolved: https://github.com/meta-pytorch/tritonparse/pull/404\n\nReviewed By: xuzhao9\n\nDifferential Revision: D105009394\n\nPulled By: FindHao\n\nfbshipit-source-id: 45dca717b8494dab9020cfa0232c75ff78a2159a",
          "is_bot": false,
          "headline": "Reproducer Migration — Move Backend Hardcodes to Adapter-Driven Logic…",
          "author_name": "zhudada0120",
          "author_login": "zhudada0120",
          "committed_at": "2026-05-14T02:04:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3a9f27a2852ae6b4996cfaaba2156cf3f31b1588",
          "body": "Summary:\nAfter the cross-PID merge in `parse_single_rank` (D104316193), the same compilation hash can appear multiple times in `autotune_sessions[session_id][\"compilations\"]` — one entry per PID that observed it. Ingest intentionally keeps the duplicates because per-PID session metadata may differ.\n\n[…]\nuseful upstream and the analysis-time fix has the smallest blast radius.\n\nReviewed By: srivatsan-ramesh\n\nDifferential Revision: D104477719\n\nfbshipit-source-id: 9096bfb3b29d1bd1eeb6b1a8c3fd705ba4ca167b",
          "is_bot": false,
          "headline": "Dedup autotune compilations by hash to fix cross-PID config inflation",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-05-13T15:42:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "005ab06d92481338a2da37c10ba983320ca35b63",
          "body": "Summary:\nDiff 6 (cleanup) of the multiprocess trace filename refactor stack. No behavior change — pure documentation update + OSS audit.\n\nUser-facing docs:\n- `docs/02.-Usage-Guide.md` adds a new \"Trace File Naming\" section\n  explaining the `_pid_{PID}_host_{HOST}_` filename suffix, backward\n  compat\n[…]\n/BUCK` (test_tensor_descriptor target). Autodeps cleanup,\n  no functional impact.\n\nReviewed By: xuzhao9\n\nDifferential Revision: D104323829\n\nfbshipit-source-id: 9df8fe1d7f99bbe0bf8a17617246eaeb81244e24",
          "is_bot": false,
          "headline": "Docs + OSS audit cleanup for the multi-process trace stack",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-05-13T15:42:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "990b9c5c56d52024dd30db8f0616e74996c00c28",
          "body": "Summary:\nDiff 5 of the multiprocess trace filename refactor stack.\n\n**User-visible behavior change**: when parsing a multi-rank job with the new PID+host-suffix filename format, kernels compiled before `dist.init_process_group` now appear under their owning rank in `--rank N` and `--all-ranks` outpu\n[…]\n one side would `TypeError` at runtime when CLI passes `no_pre_init_attribution`.\n\nReviewed By: xuzhao9\n\nDifferential Revision: D104323830\n\nfbshipit-source-id: b55de43f3c3b3c290ae520441e7ff3ffa71b2f73",
          "is_bot": false,
          "headline": "Enable pre-init kernel rank attribution by default + CLI flag",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-05-13T15:42:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "114b2d75fb0622a14d6026fc04d0f7c80c92bc14",
          "body": "Summary:\nDiff 2 of the multiprocess trace filename refactor stack.\n\nSwitches `parse_logs` from per-file `parse_single_file` calls to one `parse_single_rank(files_list, output_dir, ...)` call per rank, so the cross-PID kernel-hash merge from Diff 1 actually engages on multi-PID input. Deletes the `us\n[…]\n causing import-time `ModuleNotFoundError` in the spawn-mode worker subprocesses.\n\nReviewed By: xuzhao9\n\nDifferential Revision: D104316196\n\nfbshipit-source-id: 950f2d06a816997cbd8cf57849c30a3a5bf60a0a",
          "is_bot": false,
          "headline": "Switch parse_logs to per-rank parse_single_rank batch API",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-05-13T15:42:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a9455988931f0e814a0b20366fa78ebf679132b0",
          "body": "Summary:\nDiff 1 of the multiprocess trace filename refactor stack\n(see ai_discussions/tritonparse/refactor/multiprocess_trace_filename_refactor.md\n§7.2-§7.3).\n\nPure internal refactor: extracts the body of `parse_single_file` into a new\n`parse_single_rank(file_paths: list[str], output_dir, ...)` that\n[…]\n the full PID-file list per rank, getting the\nreal benefit of cross-PID merge.\n\nReviewed By: bhuang7477\n\nDifferential Revision: D104316193\n\nfbshipit-source-id: 532e47e7d9c2d418f5c16d112f7875a711fa2dff",
          "is_bot": false,
          "headline": "Refactor parse_single_file → parse_single_rank for multi-PID merge",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-05-13T15:42:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a58c0974b85520645c67244517ae416d947c1dac",
          "body": "Summary:\nPhase 1 fix (Diff 3a) from the multiprocess trace filename refactor stack.\n\nAdds `pid_{PID}_host_{HOST}_` to the trace filename in\nTritonTraceHandler.emit, so each process writes to its own file instead of\nall sharing `dedicated_log_triton_trace_{user}_.ndjson`. The host suffix\ndisambiguate\n[…]\n pass for real, so the expected-failure\nmarkers are no longer needed.\n\nReviewed By: bhuang7477, xuzhao9\n\nDifferential Revision: D104316194\n\nfbshipit-source-id: 6d6a490967f70ba144c6cd710c8945a10510d9dd",
          "is_bot": false,
          "headline": "Add PID + host suffix to trace filename to fix multiprocess corruption",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-05-13T15:42:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f3d95d50c880fa4639a360aa2d791544922b0140",
          "body": "Summary:\nFirst diff in the multiprocess trace filename refactor stack.\n\nLands repro tests that demonstrate the bug\n**before** the writer fix lands, so the failing test state proves the bug\nexists. The next stack diff (Phase 1 writer fix) will make these tests pass.\n\n`tests/cpu/test_multiprocess_writ\n[…]\nner writes\" to \"15 records\n  → ~5850 inner writes\" (RECORDS_PER_WORKER is 15).\n\nReviewed By: bhuang7477\n\nDifferential Revision: D104316192\n\nfbshipit-source-id: 87c477bdd4c64a0a89559ea9a05442bf08d312db",
          "is_bot": false,
          "headline": "Add multiprocess trace write corruption repro tests",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-05-13T15:42:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a48f2e9533a1d805dabc15f24ad599ce498e4a98",
          "body": "…iven Derived Artifact Mechanism (#403)\n\nSummary:\n## Context\n\n- RFC: https://github.com/meta-pytorch/tritonparse/issues/367\n- Prerequisite PRs:\n  - https://github.com/meta-pytorch/tritonparse/pull/387 (reader-side infrastructure and generic parse refactor)\n  - https://github.com/meta-pytorch/tritonp\n[…]\nhttps://github.com/meta-pytorch/tritonparse/pull/403\n\nReviewed By: srivatsan-ramesh\n\nDifferential Revision: D104826957\n\nPulled By: FindHao\n\nfbshipit-source-id: 0e722b87932e64367596ea130653e3370d26ebb4",
          "is_bot": false,
          "headline": "Derived Artifact Refactor - From Hardcoded SASS Dump to an Adapter-Dr…",
          "author_name": "zhudada0120",
          "author_login": "zhudada0120",
          "committed_at": "2026-05-12T15:59:45Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0f6103c5a08c16bb00035047231f0e7e1c3d8537",
          "body": "Summary:\nIn Tritonparse, download the manifold without the root directory.\n\n*  Fix 1 — tritonparse/fb/utils.py:748-751: Added skipRootDir=True to sync_getRecursive and return logs_dir instead of temp_dir. Without skipRootDir, the manifold client recreates the remote directory name inside the local p\n[…]\n cases like your job where rank 0 didn't produce triton traces but ranks 1-7 did.\n\nReviewed By: FindHao\n\nDifferential Revision: D104412696\n\nfbshipit-source-id: fa3f714718e2b6aef0048416e58ebfdf58b9e0e8",
          "is_bot": false,
          "headline": "Fix tritonparse parsing logs",
          "author_name": "Xu Zhao",
          "author_login": "xuzhao9",
          "committed_at": "2026-05-08T23:14:09Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5ffc9c543fbf91d9d631c7a9f2de267459634c45",
          "body": "…n stage_descriptors (#402)\n\nSummary:\n## Context\n\n- **RFC**: https://github.com/meta-pytorch/tritonparse/issues/367\n- **Depends on**: https://github.com/meta-pytorch/tritonparse/pull/387 (Reader-side infrastructure & general parse logic)\n\n`_resolve_source_mappable_stage_keys()` previously read `meta\n[…]\nesolved: https://github.com/meta-pytorch/tritonparse/pull/402\n\nReviewed By: xuzhao9\n\nDifferential Revision: D104285404\n\nPulled By: FindHao\n\nfbshipit-source-id: d57efe74a5a8c25895c0187f060d20c230cc0936",
          "is_bot": false,
          "headline": "Unify Stage Discovery to Adapter-Driven — Remove backend dependency o…",
          "author_name": "zhudada0120",
          "author_login": "zhudada0120",
          "committed_at": "2026-05-08T20:58:27Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3de2346a0b5c2a858d9392644fe3f98189e821e9",
          "body": "Summary:\nThe `times` field in compilation.schema.json was incorrectly defined at the `payload` level (`payload.times`), but the actual trace data produced by `structured_logging.py` writes it to `payload.metadata.times` (line 1360: `trace_data[\"metadata\"][\"times\"] = times`).\n\nThis moves the `times` \n[…]\nies` to `Payload.properties.metadata.properties` to match the actual data layout.\n\nReviewed By: FindHao\n\nDifferential Revision: D104290271\n\nfbshipit-source-id: 85307aa205bd1990afde46e7332ed338de2d52c1",
          "is_bot": false,
          "headline": "Fix compilation schema: move times field to metadata",
          "author_name": "Shuofei Zhu",
          "author_login": "sfzhu93",
          "committed_at": "2026-05-08T02:49:04Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a79b6c699e56c6052105a091dd379f5671ad9815",
          "body": "…ysis Registration and Scheduling (#401)\n\nSummary:\n## Context\n\n- RFC: https://github.com/meta-pytorch/tritonparse/issues/367\n- Prerequisite PRs:\n  - https://github.com/meta-pytorch/tritonparse/pull/387 (reader-side infrastructure and generic parse refactor)\n  - https://github.com/meta-pytorch/triton\n[…]\nesolved: https://github.com/meta-pytorch/tritonparse/pull/401\n\nReviewed By: xuzhao9\n\nDifferential Revision: D104284550\n\nPulled By: FindHao\n\nfbshipit-source-id: 991d487365d39043c95bea97156568615be184a0",
          "is_bot": false,
          "headline": "Analysis Dispatch Refactoring — From Hardcoded to Adapter-Driven Anal…",
          "author_name": "zhudada0120",
          "author_login": "zhudada0120",
          "committed_at": "2026-05-08T02:36:07Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1dc785ad35e0f9df23eb5613a5f7e4a9e21f839b",
          "body": "Summary:\nPull Request resolved: https://github.com/meta-pytorch/tritonparse/pull/400\n\nThe upstream Triton-Nightly Azure DevOps feed publishes wheels with PEP-440 local versions of the form `3.7.0+gitXXXXXXXX`. PEP-440 sorts non-numeric local-version segments lexicographically, so `pip install -U --p\n[…]\nround can be deleted: revert the workflow steps and remove the resolver script.\n\nReviewed By: wlei-llvm\n\nDifferential Revision: D103931528\n\nfbshipit-source-id: d49bb1adfeeff9270fa3981ed7a28c2dc2ab2fde",
          "is_bot": false,
          "headline": "ci: pin triton nightly to latest upstream commit (workaround) (#400)",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-05-06T01:09:01Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "19981c786977c8f740c90e84787978d199ade3bd",
          "body": "Summary:\nUpstream PR has been landed.\nhttps://github.com/triton-lang/triton/pull/10125\n\nConsume the new knobs.autotuning.listener API from Triton to get\nauthoritative autotune results (best config, all config timings,\nbenchmark duration) directly, instead of inferring them from\ncallstack frame names\n[…]\ngs_timings,\n  benchmark_duration, cache_hit) to autotune_analysis events\n\nReviewed By: srivatsan-ramesh\n\nDifferential Revision: D100113285\n\nfbshipit-source-id: f4d0a366b96e213491f953724fd2885f29a47501",
          "is_bot": false,
          "headline": "Integrate AutotuneListener in tritonparse",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-05-05T17:23:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7ca5553696f9725b7e75f2141e1a05ac29d94097",
          "body": "Summary:\nBumps the website-all group in /website with 3 updates: [eslint](https://github.com/eslint/eslint), [globals](https://github.com/sindresorhus/globals) and [postcss](https://github.com/postcss/postcss).\n\nUpdates `eslint` from 10.2.1 to 10.3.0\n<details>\n<summary>Release notes</summary>\n<p><em\n[…]\n resolved: https://github.com/meta-pytorch/tritonparse/pull/398\n\nReviewed By: wychi\n\nDifferential Revision: D103455426\n\nPulled By: FindHao\n\nfbshipit-source-id: 6f985bf2621a1a1ac56bd720d6792b6c3a5cea32",
          "is_bot": true,
          "headline": "Bump the website-all group in /website with 3 updates (#398)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-01T23:29:09Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ef7726147721fd51f26998137ce479b63ffa78ac",
          "body": "Summary:\nPreviously, when a Triton or PyTorch commit in the bisect range failed to\nbuild (e.g. a transient compile error in an intermediate commit), the\n`bisect_triton.sh` / `bisect_torch.sh` scripts called `exit 128`, which\ngit bisect interprets as \"abort the entire bisect\". This made bisect on\nfas\n[…]\nault.\n\n___\n\noverriding_review_checks_triggers_an_audit_and_retroactive_review\nOncall Short Name: triton\n\nDifferential Revision: D103232107\n\nfbshipit-source-id: b0c86e49f63d71835bc45058cc0dd1ad1af17457",
          "is_bot": false,
          "headline": "bisect: skip (not abort) on intermediate build failures by default",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-30T18:46:00Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "827d10870456d714393f6473416f0fb5f522da9c",
          "body": "…Python 3.14) + Py 3.14 compatibility fixes (#396)\n\nSummary:\nFix https://github.com/meta-pytorch/tritonparse/issues/325\n\nMigrates the GPU CI from the GitHub-hosted T4 runner (`4-core-ubuntu-gpu-t4`) to the PyTorch self-hosted A10G runner pool (`linux.g5.4xlarge.nvidia.gpu`), upgrades CUDA 12.8 → 13.\n[…]\ngainst this exact upstream Triton commit\" workflows.\n\nReviewed By: srivatsan-ramesh\n\nDifferential Revision: D103116613\n\nPulled By: FindHao\n\nfbshipit-source-id: 49f3db0035e125a5c25db4b8c58938b326974a66",
          "is_bot": false,
          "headline": "ci: migrate GPU tests to PyTorch self-hosted A10G runner (CUDA 13.0, …",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-30T17:10:36Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8d33bb0efc112da29ecd4e4856d8bc04eb92f27e",
          "body": "Summary:\nReplace `gzip_single_file` with a generic `compress_single_file(file_path, compression, verbose)` function in `parse/common.py`. The new function supports both gzip and zstd compression via a `compression` parameter (default: \"gzip\"). It compresses unconditionally — callers are responsible \n[…]\n should switch to `compress_single_file(file_path, compression=\"gzip\")`.\n\nReviewed By: srivatsan-ramesh\n\nDifferential Revision: D103119409\n\nfbshipit-source-id: 6204390b3461f51d0477881c4009d4977a1e1994",
          "is_bot": false,
          "headline": "Refactor compress_single_file and use zstd in ManifoldTraceUploader",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-30T16:54:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "73bee1810467be1d578bf80dbe249889a437e3ef",
          "body": "Summary:\nAs the title says\n\nPull Request resolved: https://github.com/meta-pytorch/tritonparse/pull/397\n\nReviewed By: FindHao\n\nDifferential Revision: D103228106\n\nPulled By: xuzhao9\n\nfbshipit-source-id: a85e526d3af10675ef687f9badcc01ae968a96f4",
          "is_bot": false,
          "headline": "Cleanup $HOME/.triton as the llvm dir during build (#397)",
          "author_name": "Xu Zhao",
          "author_login": "xuzhao9",
          "committed_at": "2026-04-30T16:53:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "01a07fdcfb77a406b6f557c003de75ba792a0fc6",
          "body": "…iven Parser Registration and Selection (#394)\n\nSummary:\n## Context\n\n- **RFC**: https://github.com/meta-pytorch/tritonparse/issues/367\n- **Previous PR**: https://github.com/meta-pytorch/tritonparse/pull/387 (Reader-side Infrastructure and Generic Parsing Flow Refactoring)\n\nThis is the **second PR in\n[…]\nhttps://github.com/meta-pytorch/tritonparse/pull/394\n\nReviewed By: srivatsan-ramesh\n\nDifferential Revision: D103041415\n\nPulled By: FindHao\n\nfbshipit-source-id: 87ed908fed3348f276967d9969db04ed49fa5ec4",
          "is_bot": false,
          "headline": "Parser Distribution System Refactoring - From Hardcoded to Adapter-Dr…",
          "author_name": "zhudada0120",
          "author_login": "zhudada0120",
          "committed_at": "2026-04-30T02:18:18Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "073dd44b7f2f90ab013f728de41ff0511fd965ff",
          "body": "Summary:\nPull Request resolved: https://github.com/meta-pytorch/tritonparse/pull/395\n\nThe OSS GitHub CI was failing with:\n\n```\nSuccessfully installed ... torch-2.12.0.dev20260407+cu128 ...\nRequirement already satisfied: packaging in /opt/miniconda3/lib/python3.13/site-packages (26.0)\nVerifying PyTor\n[…]\ns.executable` again right before the verification step for easier debugging.\n\nReviewed By: prithvip0524\n\nDifferential Revision: D103037549\n\nfbshipit-source-id: d3fab7f4fd466c890d3cd810f0f919adb8457b60",
          "is_bot": false,
          "headline": "Fix pip/python mismatch causing ModuleNotFoundError: torch in CI (#395)",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-29T23:52:59Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "dea57b48a3a207768f73838a5a9c08da7c17c3df",
          "body": "Summary:\nQ&A request:\n\nhttps://fb.workplace.com/groups/osssupport/permalink/31569486946006519/\n\nD101685100 (a difftrain import for facebookresearch/tensor-layouts) unintentionally modified the standard fbcode/github/standard/CONTRIBUTING.md by adding a project-specific \"Test layout\" section. D102823\n[…]\nbrary\n\n___\n\noverriding_review_checks_triggers_an_audit_and_retroactive_review\nOncall Short Name: triton\n\nDifferential Revision: D102848202\n\nfbshipit-source-id: 8a4930135bb1799e56191c15e27181b2311f72ad",
          "is_bot": false,
          "headline": "Revert CONTRIBUTING.md change from D101685100",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-29T16:15:05Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9f8d7f42346dcb22a071d8434021fb4818c7328e",
          "body": "Summary:\nBumps the `monaco-editor` -> `dompurify` override from 3.3.2 to 3.4.0 to\nremediate GHSA-v9jr-rg53-9pgp / CVE-2026-41238 (medium severity) reported\non the meta-pytorch/tritonparse GitHub repo. monaco-editor upstream still\npins dompurify to an exact version (3.2.7) and has not yet released a\n\n[…]\n0.2 -> 6.0.3\n- typescript-eslint 8.58.1 -> 8.59.1\n- vite 8.0.8 -> 8.0.10\n\nReviewed By: srivatsan-ramesh\n\nDifferential Revision: D102818480\n\nfbshipit-source-id: c6876e7a316870f0c77b0fbe6e29965f753adcd0",
          "is_bot": false,
          "headline": "Bump dompurify to 3.4.0 and refresh minor deps",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-28T17:38:04Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "67cbe1c4873dbdeac2e37c50b32064b54fc90590",
          "body": "Summary:\nBumps [postcss](https://github.com/postcss/postcss) from 8.5.9 to 8.5.12.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/postcss/postcss/releases\">postcss's releases</a>.</em></p>\n<blockquote>\n<h2>8.5.12</h2>\n<ul>\n<li>Fixed reading any file via us\n[…]\nlved: https://github.com/meta-pytorch/tritonparse/pull/393\n\nReviewed By: bhuang7477\n\nDifferential Revision: D102689876\n\nPulled By: FindHao\n\nfbshipit-source-id: c18a827e081ed62614854704165c7e23f3e6a42d",
          "is_bot": true,
          "headline": "Bump postcss from 8.5.9 to 8.5.12 in /website (#393)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-28T05:46:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4f08dfc6e56f8d75023fc512075f7bce00a2d961",
          "body": "Summary:\nThis is an automatically generated fixup patch to bring fbsource back into sync with\nfacebookresearch/tensor-layouts's main branch on GitHub. Land this patch as soon as possible, as the difference\nreflected on here is already on GitHub and future changes may depend on these\nchanges!\n\nallow-\n[…]\nn/sandcastle/job/49539596253562249/\n\nGitHub Repo: facebookresearch/tensor-layouts\n\nReviewed By: jduprat\n\nDifferential Revision: D101685100\n\nfbshipit-source-id: e20fd69ae9386eba84029c3f271bf0ebe8bb0074",
          "is_bot": false,
          "headline": "Apply fixup patch to fbsource",
          "author_name": "generatedunixname499836121",
          "author_login": null,
          "committed_at": "2026-04-28T00:43:02Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1c1e7faa22d8481a60628dc1bf2249cd4debee86",
          "body": "Summary:\nShipIt mirrors fbcode/pytorch/tritonparse and fbcode/triton/tools/CUTracer\nto GitHub. Because ShipIt lands changes by pushing commits to `main`\nrather than merging the PRs, the export branches it creates (e.g.\n`export-Dxxxxxxxxx`) accumulate forever after their PRs are closed.\n\nThis adds a \n[…]\nno extra secrets needed\n- Surfaces failures to the Actions UI via non-zero exit\n\nReviewed By: wlei-llvm\n\nDifferential Revision: D102674717\n\nfbshipit-source-id: 34cdfe98339f33daff90d7cf037e52f57d3cbdbe",
          "is_bot": false,
          "headline": "Add monthly stale PR branch cleanup workflow",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-27T22:40:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "adc51ae06ac2dce19a8c5fc17a2fadff464c2165",
          "body": "Summary:\nOptimize the display of functional buttons in the top right corner of the tritonparse frontend homepage when no parsing file is selected\n## Current Status\nWhen no parsing file is selected, only the File Diff functional button is displayed in the top right corner; additionally, the Open Loca\n[…]\nhttps://github.com/meta-pytorch/tritonparse/pull/392\n\nReviewed By: srivatsan-ramesh\n\nDifferential Revision: D102669713\n\nPulled By: FindHao\n\nfbshipit-source-id: 012dde1daa9e55bbace349b48d92f9f6e78ca308",
          "is_bot": false,
          "headline": "Optimize homepage button display (#392)",
          "author_name": "zhudada0120",
          "author_login": "zhudada0120",
          "committed_at": "2026-04-27T21:15:17Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ef2297752bd93b1b5795a825f8e08828caa8079a",
          "body": "Summary:\n## Background\n\n- **RFC**: https://github.com/meta-pytorch/tritonparse/issues/367\n\nThis PR is the **first PR in Flexible Backend Support RFC Phase 1**. Phase 1 is split into 3 PRs. See the final section for the next steps.\n\n**What this PR does**: this PR focuses on the reader-side foundation\n[…]\n resolved: https://github.com/meta-pytorch/tritonparse/pull/387\n\nReviewed By: wychi\n\nDifferential Revision: D102355401\n\nPulled By: FindHao\n\nfbshipit-source-id: ac49d6ebf78088e06a18bc040c9d1a543a35eb05",
          "is_bot": false,
          "headline": "General Backend Infrastructure & Generic Parsing Flow Refactoring (#387)",
          "author_name": "zhudada0120",
          "author_login": "zhudada0120",
          "committed_at": "2026-04-24T19:02:45Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1fba9d4e8569b00f39b471609d41b4f8b7b8457c",
          "body": "Summary:\nPull Request resolved: https://github.com/meta-pytorch/tritonparse/pull/385\n\nAdd zstd as a supported compression format for writing trace files, complementing existing gzip and clp support. The read side already supported zstd via `tools/compression.py`; this change enables write-side suppo\n[…]\nE_COMPRESSION=zstd` to enable. Output files use `.bin.ndjson` extension.\n\nReviewed By: srivatsan-ramesh\n\nDifferential Revision: D100278437\n\nfbshipit-source-id: a0c0d17bcb2ab8e23e329994ba8c018e83f110fc",
          "is_bot": false,
          "headline": "Add zstd compression support for trace file writing (#385)",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-23T16:28:20Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b7cb969ff83539348a889769d3a606275ff5b6e3",
          "body": "…#386)\n\nSummary:\nPull Request resolved: https://github.com/meta-pytorch/tritonparse/pull/386\n\nFix three CodeQL findings from the OSS repo:\n\n1. **Missing workflow permissions (actions/missing-workflow-permissions):** Add `permissions: contents: read` to test.yml and website-build.yml. The other workf\n[…]\npace). Changed to `<\\/script\\s*>` to handle optional whitespace in the closing tag.\n\nReviewed By: wychi\n\nDifferential Revision: D101915017\n\nfbshipit-source-id: 5f7dfc76bcd47025e8d128ea890d7a0492633fae",
          "is_bot": false,
          "headline": "Fix CodeQL security warnings in CI workflows and inline-html script (…",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-23T04:30:32Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "49893edabc17a89c1b1b6a56e91e02688c2d4bc7",
          "body": "…wer. (#382)\n\nSummary:\nContinuation of https://github.com/meta-pytorch/tritonparse/pull/326.\nNow that structured logging can emit CLP archives, this PR adds UI support for loading and parsing CLP archives in the log viewer.\nThis PR closes https://github.com/meta-pytorch/tritonparse/issues/369. The c\n[…]\nesolved: https://github.com/meta-pytorch/tritonparse/pull/382\n\nReviewed By: xuzhao9\n\nDifferential Revision: D102071500\n\nPulled By: FindHao\n\nfbshipit-source-id: 457dc53f616b259c7deb72232d97566ad6248948",
          "is_bot": false,
          "headline": "feat: Add `clp-ffi-js` to support loading CLP archives in the log vie…",
          "author_name": "Bingran Hu",
          "author_login": "Bill-hbrhbr",
          "committed_at": "2026-04-23T02:44:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "99aa11e5deb93bcba3649cf939da82714b939c57",
          "body": "Summary:\nPull Request resolved: https://github.com/meta-pytorch/tritonparse/pull/390\n\nFix \"Unmatched ) or \\)\" error in the sync-wiki.yml workflow.\n\nIn sed extended regex mode (`-E`), parentheses are grouping metacharacters. The original pattern ended with `?)` where the `)` was intended to match the\n[…]\n(#[^)]*)?)`  — sed sees unmatched )\nAfter:  `(#[^)]*)?\\)` — sed matches literal )\n\nReviewed By: xuzhao9\n\nDifferential Revision: D102049331\n\nfbshipit-source-id: 66eb59a5ec44066ea1d549e404be23bf63dc48ec",
          "is_bot": false,
          "headline": "Fix sed regex error in sync-wiki GitHub Action (#390)",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-22T23:39:35Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "cf4665364f5b6cca0af36781112edca27362f24b",
          "body": "Summary:\nMove all GitHub Wiki pages into docs/ directory in the main repo so documentation is version-controlled alongside code and goes through code review.\n\nChanges:\n- Add docs/ directory with all wiki pages (Home, Installation, Usage Guide, Web Interface Guide, Developer Guide, Code Formatting, F\n[…]\nsts.sh)\n- Update Makefile test targets from pytest to python -m unittest discover\n\nReviewed By: xuzhao9\n\nDifferential Revision: D102010588\n\nfbshipit-source-id: 1e0236707ddb8d18cb784af9305b2ea61fb72e8a",
          "is_bot": false,
          "headline": "Move wiki content to docs/ and add GitHub Action for wiki sync",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-22T20:13:27Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f37ba41adb959c6c2cd78f615ed3322724976a5e",
          "body": "Summary:\nThe test_ai_analyzer, test_ai_context, and test_ai_prompts tests depend on tritonparse.diff.fb, which is a Meta-internal module not synced to the open-source repo. This caused ModuleNotFoundError on GitHub CI.\n\nInstead of adding skip logic, move these tests to tests/fb/diff/ where they belo\n[…]\nrectory is not synced to GitHub, so they will never be discovered by OSS CI.\n\nReviewed By: prithvip0524\n\nDifferential Revision: D101906955\n\nfbshipit-source-id: 09e45464eeb3fc23455f7975c69598d637d06298",
          "is_bot": false,
          "headline": "Move AI diff tests from tests/cpu/diff/ to tests/fb/diff/",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-22T18:23:14Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "361af64e728e9526851586df13a2f192af51084d",
          "body": "Summary:\nAdd AI-powered root cause analysis (Phase 2) to the tritonparse diff module. When a user runs `tritonparse diff --ai`, deterministic diff results from Phase 1 (metadata, IR stats, source mappings, tensor values) are formatted as structured markdown context and sent to an LLM, which returns \n[…]\n AI module is fbcode-only (`diff/fb/`) and is not synced to the open source repo.\n\nReviewed By: FindHao\n\nDifferential Revision: D100084869\n\nfbshipit-source-id: 8c71595eda27692dab9235653a09b4188a55832d",
          "is_bot": false,
          "headline": "Add AI-powered root cause analysis module",
          "author_name": "Prithvi Patel",
          "author_login": "prithvip0524",
          "committed_at": "2026-04-21T22:50:20Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9b3c2c1954d963702217d3a434a73d3f49d9b74b",
          "body": "…l args (#384)\n\nSummary:\nPull Request resolved: https://github.com/meta-pytorch/tritonparse/pull/384\n\nThe `OVERRIDE_TTIR` branch of `DefaultPlaceholderReplacer._replace_kernel_invocation` dropped constexpr parameters from the positional arg list while still passing the remaining non-constexpr args p\n[…]\n) is unchanged: it still needs every arg to run the stub as a plain `triton.jit`.\n\nReviewed By: FindHao\n\nDifferential Revision: D101678360\n\nfbshipit-source-id: 3b9bf566050af79a15fc13403d1fb41e092e7a2f",
          "is_bot": false,
          "headline": "Fix IR-override launch when constexprs are interleaved with positiona…",
          "author_name": "Srivatsan Ramesh",
          "author_login": "srivatsan-ramesh",
          "committed_at": "2026-04-21T13:17:05Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3b38883a785b617f335f96e4b00ee97bd6bf94e3",
          "body": "Summary:\nThe `_find_filecheck_binary()` function only checked for the FileCheck\nbinary at `triton/backends/amd/bin/FileCheck`, but Triton's own\n`_filecheck.py` places it at the package root (`triton/FileCheck`).\nThis caused a spurious warning on installations where FileCheck exists\nat the package ro\n[…]\ntory.\n\n___\n\noverriding_review_checks_triggers_an_audit_and_retroactive_review\nOncall Short Name: triton\n\nDifferential Revision: D101743451\n\nfbshipit-source-id: 0654a6a186dd121fc0010a7f33f6256f886508d6",
          "is_bot": false,
          "headline": "Fix FileCheck binary detection to check Triton package root",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-21T08:42:30Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1a4508f6f2d14f8dc28de8064363663e141421ad",
          "body": "Summary:\n- Setup CUDA_HOME env which is respected by Pytorch build script\n- Install cuSparseLt libraries\n- Install CI requirements\n\nTest workflow:\n\nhttps://github.com/pytorch/pytorch-integration-testing/actions/runs/24481090032\n\nPull Request resolved: https://github.com/meta-pytorch/tritonparse/pull/383\n\nReviewed By: FindHao\n\nDifferential Revision: D101172015\n\nPulled By: xuzhao9\n\nfbshipit-source-id: 2e76041ba74481aa60798374cb234edf5317fc78",
          "is_bot": false,
          "headline": "Fix torch bisect scripts (#383)",
          "author_name": "Xu Zhao",
          "author_login": "xuzhao9",
          "committed_at": "2026-04-16T18:29:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "656a9d2f5d84eeb50a63df86359c6219ab18deed",
          "body": "Summary:\nWhen running inside the fbsource tree but without Meta-internal dependencies\ninstalled (e.g., manifold), is_fbcode() returns True because tritonparse.fb\nis physically present, causing ImportError at runtime.\n\nAdd TRITONPARSE_FB_MODE environment variable to let users explicitly force\nOSS mod\n[…]\n\nUsage:\n  TRITONPARSE_FB_MODE=0 python -m unittest tests.gpu.test_complex_kernels\n\nReviewed By: xuzhao9\n\nDifferential Revision: D101039253\n\nfbshipit-source-id: 1f3d017e20d419615701052c5bb55f234ee60ec4",
          "is_bot": false,
          "headline": "Add TRITONPARSE_FB_MODE env var to override is_fbcode() detection",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-16T16:20:53Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c2674c68232200e42deda2e72c523c731f57cac2",
          "body": "Summary:\ntorch is a de facto hard dependency of tritonparse — reproducer/utils.py and tools/load_tensor.py already unconditionally import it, and every binary/test target brings it in. This diff makes the code consistent with that reality by removing the TORCH_INSTALLED conditional flag and all 12 g\n[…]\nor_value.py: Remove try/except import torch skipTest patterns, add top-level import\n\nReviewed By: wychi\n\nDifferential Revision: D100891381\n\nfbshipit-source-id: 6534f1df1441822c6218f09edd7852d68060c684",
          "is_bot": false,
          "headline": "Treat torch as a hard dependency in tritonparse",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-16T16:20:53Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a526926f4c65c251f8a8d79735d449c2403c21bc",
          "body": "Summary:\nThe bisect shell scripts incorrectly documented .llvm-project/ as\nthe LLVM source repository.  In reality:\n  - llvm-project/        — LLVM source git clone (has .git/)\n  - .llvm-project/build/ — LLVM build output (set by Makefile LLVM_BUILD_PATH)\n\nThis was verified on the filesystem.  Updat\n[…]\nts to match the\nactual directory layout created by Triton's build-llvm-project.sh.\n\nReviewed By: xuzhao9\n\nDifferential Revision: D99768129\n\nfbshipit-source-id: a21101b808eab8add47fae8a627a89cd4531168c",
          "is_bot": false,
          "headline": "Fix misleading LLVM path comments in bisect scripts",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-14T20:45:40Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9c24d3e89392ec89c8ed7ccf583b081d3a7bb987",
          "body": "Summary:\nWire the compat-build subcommand into the main tritonparse CLI and\nfinalize module exports:\n- Add compat-build subparser to tritonparse CLI with routing\n- Export AICompatFixer from compat_builder __init__\n- Update builder.py ai_fixer type from object to AICompatFixer\n\nReviewed By: xuzhao9\n\nDifferential Revision: D98932807\n\nfbshipit-source-id: d9c09b46f8132e2a180eb07d94934e244276be2f",
          "is_bot": false,
          "headline": "Integrate compat-build into main CLI (PR3-03)",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-14T20:45:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "54bd27d7e727ca502a817e80a5bb4d9425d37df2",
          "body": "Summary:\nAdd CLI entry point for the compat-build subcommand with four modes:\n- Default (build): Build commits.csv for a single LLVM bump\n- --resume: Resume after providing a manual fix commit\n- --verify: Validate an existing CSV file\n- --status: Show current build status\n\nIncludes AI control flags \n[…]\npath).\n\n___\n\noverriding_review_checks_triggers_an_audit_and_retroactive_review\nOncall Short Name: triton\n\nDifferential Revision: D98932808\n\nfbshipit-source-id: a1275e8b2123f6d6d22d462d21e65ea6e98e1f7d",
          "is_bot": false,
          "headline": "Add compat_builder CLI implementation (PR3-02)",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-14T20:45:40Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d93af7fe8521f8c105e446a24607d77f4251b846",
          "body": "Summary:\nAdd AI-powered compatibility fixing for Triton/LLVM incompatibilities,\nfollowing CUTracer's two-phase (deterministic context + AI) pattern.\n\n- prompts.py: System prompt encoding LLVM API change patterns and fix rules\n- context_builder.py: Structured LLM context builder (4 priority sections:\n[…]\nix, current source)\n- ai_fixer.py: AICompatFixer orchestrator using ClaudeCodeClient\n\nReviewed By: wychi\n\nDifferential Revision: D98932806\n\nfbshipit-source-id: 4b542ba6c5bb424bc9c1a9c04882636ca4b2c444",
          "is_bot": false,
          "headline": "Add compat_builder AI fixer module (PR3-01)",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-14T20:45:40Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "041949534572525509852bb5c6cd3bcfee0d39de",
          "body": "Summary:\nAdd `CSVManager` and `BumpBlock` dataclass to read, validate, and write\nthe single-bump commits.csv produced by `CompatBuilder.generate_csv()`.\n\n- `BumpBlock`: parsed metadata from the `# key=value` CSV header\n- `CSVManager.load_metadata()`: parse all required header fields\n- `CSVManager.lo\n[…]\npaths.\n\n___\n\noverriding_review_checks_triggers_an_audit_and_retroactive_review\nOncall Short Name: triton\n\nDifferential Revision: D98847073\n\nfbshipit-source-id: 92664bed28d98e8ffc9234840c75625f545ab5db",
          "is_bot": false,
          "headline": "Add compat_builder CSV manager (PR2-02)",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-14T20:45:40Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b7d96f69071d0d1fd107e38cf49075554adc734e",
          "body": "Summary:\nAdd core CompatBuilder orchestration class for the compat-build workflow:\n\n- `CompatBuilder`: drives initialize → find_next_incompatible →\n  record_pair → fix_incompatibility loop, generates final CSV\n- `WaitingForFixError`: raised when manual intervention is needed;\n  carries state_path, i\n[…]\nalready-attempted), _parse_first_bad, _extract_build_error,\n  _resolve_worktree_path\n\nReviewed By: wychi\n\nDifferential Revision: D98948424\n\nfbshipit-source-id: b5c20067627a15ccc41e0f0c10bfcbadfbf7c173",
          "is_bot": false,
          "headline": "Add compat_builder core builder and tests (PR2-01)",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-14T20:45:40Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6381ed46cb3067fa8c2b21db1bec8ce3bacaadb4",
          "body": "Summary:\nAdds the `compat_builder` package — an offline tool that pre-generates\n`commits.csv` for a single LLVM bump by walking Triton/LLVM compatibility\nboundaries.\n\n## Modules\n\n### `tritonparse/compat_builder/state.py`\nState management for the compat-build workflow:\n- `CompatBuildPhase`: 7-phase e\n[…]\nisolation; source repo read-only\n- D8.10: LLVM repo at <worktree>/.llvm-project\n\nReviewed By: bhuang7477\n\nDifferential Revision: D98845298\n\nfbshipit-source-id: f077172bd27364f7cdaa00cf1170e1c5ebec2042",
          "is_bot": false,
          "headline": "Add compat_builder: state machine, builder, and tests",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-13T21:08:19Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7d084b294000b73733691785bea49e735ff7f6de",
          "body": "Summary:\nFix default_procedure_checks.json loading failure in PAR environments.\n\nThe previous implementation used `Path(__file__).parent` to locate the bundled\nJSON file, which resolves to a `/proc/self/fd/` path inside PAR archives and\nfails with FileNotFoundError.\n\nSwitch to `importlib.resources.f\n[…]\ne it.\n\n___\n\noverriding_review_checks_triggers_an_audit_and_retroactive_review\nOncall Short Name: triton\n\nDifferential Revision: D100414422\n\nfbshipit-source-id: c5094cb4dd19599f3b84a8e6f8eaa1b2867fa1b3",
          "is_bot": false,
          "headline": "Use importlib.resources to load default_procedure_checks.json",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-13T16:37:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ddb0722cd0e1a4a2d3c30cc641f19953a23ce180",
          "body": "Summary:\nAdd feature to bisect pytorch\n\nX-Ref: https://github.com/pytorch/pytorch-integration-testing/pull/170\n\nPull Request resolved: https://github.com/meta-pytorch/tritonparse/pull/377\n\nTest Plan:\nTest signal to bisect:\n\n```\nExample regression report: https://hud.pytorch.org/benchmark/regression/\n[…]\n=========================================================\n```\n\nReviewed By: FindHao\n\nDifferential Revision: D100248612\n\nPulled By: xuzhao9\n\nfbshipit-source-id: dcfc9dfde221e832acd8320a9eb52840ee77251f",
          "is_bot": false,
          "headline": "Add ability to bisect pytorch (#377)",
          "author_name": "Xu Zhao",
          "author_login": "xuzhao9",
          "committed_at": "2026-04-11T06:03:25Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fe319965c1ee9c5ab63657a4ddc8784102d59485",
          "body": "Summary:\nFor warp-specialized kernels, the Triton compiler overwrites\nmetadata[\"num_warps\"] with the post-expansion total warp count.\nThis makes it impossible for downstream consumers (reproducer, viewer,\ndiff tool) to know the original input value.\n\nInstead of patching Triton's backends, extract th\n[…]\nback for raw traces.\n- compilation.schema.json: Add num_warps_base field to schema.\n\nReviewed By: wychi\n\nDifferential Revision: D100240993\n\nfbshipit-source-id: 6f0f807f4c16e6b48fec0e5042dcb437e6bd28a0",
          "is_bot": false,
          "headline": "Extract num_warps_base from TTGIR during parse phase",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-10T19:58:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "32bc861cc76855c048c3254ce9fba5e68675e712",
          "body": "…ross 1 directory (#381)\n\nSummary:\nBumps the website-all group with 1 update in the /website directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).\n\nUpdates `vite` from 8.0.7 to 8.0.8\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/vitej\n[…]\n resolved: https://github.com/meta-pytorch/tritonparse/pull/381\n\nReviewed By: wychi\n\nDifferential Revision: D100339802\n\nPulled By: FindHao\n\nfbshipit-source-id: 8603dbed4b4ec0b60803a6166233bf4a7afb9cfb",
          "is_bot": true,
          "headline": "Bump vite from 8.0.7 to 8.0.8 in /website in the website-all group ac…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-10T19:03:19Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1fe5f6299061cf192e33e1adfe4d7961d9449b41",
          "body": "Summary:\nPull Request resolved: https://github.com/meta-pytorch/tritonparse/pull/380\n\nThe skip/max_runs gating for tensor blob saving previously used a single\nglobal counter. With max_runs=1, only the first autotuned winner launch\nsaved blobs — later configs got no blobs even though they have differ\n[…]\nregardless\nof skip/max_runs settings, since they're never useful for reproducers.\n\nReviewed By: FindHao\n\nDifferential Revision: D100015808\n\nfbshipit-source-id: bdc5d9d9ec18b21adf997f0009aea09bd92fb705",
          "is_bot": false,
          "headline": "Make tensor blob saving count per compilation hash (#380)",
          "author_name": "Srivatsan Ramesh",
          "author_login": "srivatsan-ramesh",
          "committed_at": "2026-04-10T01:05:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "cfa0ad012b2e2e0845f165d2657f7b73bf66202d",
          "body": "Summary:\nPull Request resolved: https://github.com/meta-pytorch/tritonparse/pull/379\n\nFix all lint errors and warnings introduced by upgrading to ESLint 10 and\nswitching eslint-plugin-react-hooks to canary (D100084729).\n\nChanges by lint rule:\n\nreact-hooks/set-state-in-effect:\n- App.tsx: Use lazy sta\n[…]\nstive-deps disable\n- StackDiffViewer.tsx: Remove stale no-explicit-any disable\n\nReviewed By: bhuang7477\n\nDifferential Revision: D100094439\n\nfbshipit-source-id: ef2fb0e3b5da2278429430292c36fef556bb98be",
          "is_bot": false,
          "headline": "Fix ESLint 10 + react-hooks canary lint errors (#379)",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-10T00:43:21Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0a065f85c6e776f9dfe490d50621594065bee0f1",
          "body": "Summary:\nPull Request resolved: https://github.com/meta-pytorch/tritonparse/pull/378\n\n- Upgrade ESLint from v9 to v10 (eslint/js ^10.0.1, eslint ^10.2.0)\n- Switch eslint-plugin-react-hooks to canary channel (supports ESLint 10)\n- Bump react/react-dom to ^19.2.5\n- Bump react-resizable-panels to ^4.9.\n[…]\nte to ^8.0.7, postcss to ^8.5.9, types/node to ^25.5.2\n- Bump version to 0.4.3\n\nReviewed By: bhuang7477\n\nDifferential Revision: D100084729\n\nfbshipit-source-id: 58f13fefc2ff7df55e33e56ec53f518d5cb22d67",
          "is_bot": false,
          "headline": "Upgrade website dependencies including ESLint 10 (#378)",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-10T00:43:21Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8b49b4b73c8227b135db0b3fd8eb930f74a79590",
          "body": "Summary:\nExtend tritonparse's `_json_compat.py` compatibility layer with file-based\n`load(f)` and `dump(obj, f)` convenience wrappers, then migrate all 14 CUTracer\nproduction Python files from stdlib `json` to use `tritonparse._json_compat`.\n\nThis gives CUTracer a free performance upgrade via orjson\n[…]\needed.\n\n___\n\noverriding_review_checks_triggers_an_audit_and_retroactive_review\nOncall Short Name: triton\n\nDifferential Revision: D99939361\n\nfbshipit-source-id: 1ad5f9bce150e0aba8d7f55406e217d52cb923d2",
          "is_bot": false,
          "headline": "Extend _json_compat with load/dump and migrate CUTracer to orjson",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-08T19:46:30Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fa507b3e7ee9686636e175b276cd8c59cf2a160f",
          "body": "Summary:\nPull Request resolved: https://github.com/meta-pytorch/tritonparse/pull/376\n\nThe existing OVERRIDE_TTIR mode was broken: it skipped defining the kernel\nfunction (causing NameError), only worked for autotuned kernels, and discarded\nconstexpr values.\n\nThis rewrites OVERRIDE_TTIR to generate a\n[…]\nplication)\n- lru_cache on extract_params_from_source to avoid redundant AST parses\n\nReviewed By: FindHao\n\nDifferential Revision: D99893169\n\nfbshipit-source-id: ce1c42a9afcbce08cb853ce84f5c934551449911",
          "is_bot": false,
          "headline": "Fix OVERRIDE_TTIR reproducer with stub kernel + ir_override (#376)",
          "author_name": "Srivatsan Ramesh",
          "author_login": "srivatsan-ramesh",
          "committed_at": "2026-04-08T11:31:25Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3337a0cacc8bbacd24ac5b486a8505f6d554c0ca",
          "body": "Summary:\nPreviously TRITONPARSE_TRACE_MANIFOLD defaulted to \"1\" (ON) in all\nenvironments. This changes the default to \"0\" (OFF) and only enables\nit when running in fbcode (detected via torch.version.git_version)\nand in a MAST environment (detected via MAST_HPC_JOB_NAME env var).\nThe env var override still works in all environments.\n\nReviewed By: FindHao\n\nDifferential Revision: D99851290\n\nfbshipit-source-id: f77ecf959c12cf1e68db3ee52549ea6e3496fd98",
          "is_bot": false,
          "headline": "Only enable Manifold upload by default in fbcode MAST environment",
          "author_name": "Xu Zhao",
          "author_login": "xuzhao9",
          "committed_at": "2026-04-07T23:29:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2418f6135d9f51e46944afd2b23cb50c37ee5b03",
          "body": "Summary:\nThis PR fixes an OSS-only shutdown error in `TritonTraceHandler._cleanup()`.\n\nWhen `TRITONPARSE_TRACE_MANIFOLD` is enabled, cleanup may try to import the fb-only uploader in OSS environments and print `ModuleNotFoundError: No module named 'tritonparse.fb'` during `atexit`, even though trace\n[…]\nresolved: https://github.com/meta-pytorch/tritonparse/pull/374\n\nReviewed By: xuzhao9\n\nDifferential Revision: D99848479\n\nPulled By: FindHao\n\nfbshipit-source-id: c761a47706ca8e5314188aad2bdb0fd0a11014aa",
          "is_bot": false,
          "headline": "Fix ModuleNotFoundError for tritonparse.fb in atexit cleanup (#374)",
          "author_name": "zhudada0120",
          "author_login": "zhudada0120",
          "committed_at": "2026-04-07T19:56:08Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d5bb2337e473cc3db6e43cab33c6dfab4d6e770f",
          "body": "The internal and external repositories are out of sync. This Pull Request attempts to brings them back in sync by patching the GitHub repository. Please carefully review this patch. You must disable ShipIt for your project in order to merge this pull request. DO NOT IMPORT this pull request. Instead\n[…]\nsing the MERGE BUTTON. Re-enable ShipIt after merging.\n\nfbshipit-source-id: c3e20c8f0ee8fe2154a32d672d06c2752187ce10\n\nCo-authored-by: Facebook GitHub Bot <facebook-github-bot@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Re-sync with internal repository (#375)",
          "author_name": "meta-codesync[bot]",
          "author_login": "meta-codesync[bot]",
          "committed_at": "2026-04-07T18:24:12Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c4efce3b5a6023cee27cbc9c5997b0c3929aa226",
          "body": "Summary:\nBumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 8.0.3 to 8.0.5.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/vitejs/vite/releases\">vite's releases</a>.</em></p>\n<blockquote>\n<h2>v8.0.5</h2>\n<p>Please refer to <a href=\"h\n[…]\nt resolved: https://github.com/meta-pytorch/tritonparse/pull/371\n\nReviewed By: wychi\n\nDifferential Revision: D99738058\n\nPulled By: FindHao\n\nfbshipit-source-id: 930bc585025e68e4ce9066d6308c1693bb45e7bc",
          "is_bot": true,
          "headline": "Bump vite from 8.0.3 to 8.0.5 in /website (#371)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-07T05:38:16Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f5ace2bd48a7994c268a418ab27568ef3ceb9beb",
          "body": "Summary:\nAdd two Claude Code skills for tritonparse development workflows:\n\n- `skills/tritonparse-oss-sync.md`: OSS sync guide covering the fbcode/GitHub\n  mirror architecture, what's fbcode-only, OSS entry point and dependencies,\n  GitHub CI structure (3 jobs, CI scripts), and common issue troubles\n[…]\nn,\n  test setup, and reference complexity levels for existing subcommands\n\nReviewed By: srivatsan-ramesh\n\nDifferential Revision: D97771175\n\nfbshipit-source-id: d2d79feaa84861b257887a95a9e9341d456bfc59",
          "is_bot": false,
          "headline": "Add Claude Code skills: OSS sync and CLI command guide",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-07T04:31:33Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9b7910a1b69659745beac6741e249bd17ab3683d",
          "body": "Summary:\nAdd two Claude Code skills for tritonparse development:\n\n- `skills/tritonparse-dev.md`: Core development guide covering module\n  responsibilities, parse data flow, dual-path (OSS/fbcode) development\n  checklist, context manager pattern, and key file reference\n- `skills/tritonparse-test.md`:\n[…]\nnfrastructure, instructions for adding new tests, and GitHub CI\n  vs Buck comparison\n\nReviewed By: wychi\n\nDifferential Revision: D97771158\n\nfbshipit-source-id: cd0dc77875e4998a904ac38ecc4bf0880f551c40",
          "is_bot": false,
          "headline": "Add Claude Code skills: dev guide and test guide",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-07T04:31:33Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7e225d9befcc94a2cf0f68877ed4758c87136c78",
          "body": "Summary:\nAdd `.claude/` configuration for tritonparse to improve Claude Code's\nunderstanding of the project:\n\n- `CLAUDE.md`: Project overview, build/test commands, dual-path architecture\n  (OSS/fbcode), project structure, code style conventions\n- `rules/dual-path.md`: Auto-triggered rule when editin\n[…]\ning\n  `structured_logging.py` for Triton hook compatibility and log format stability\n\nReviewed By: wychi\n\nDifferential Revision: D97771148\n\nfbshipit-source-id: ac207a9fbfd2ead3caac29aca6cfeded54005fea",
          "is_bot": false,
          "headline": "Add Claude Code project config and rules",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-07T04:31:33Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4f2b3ddbc585ceaf8fc59c07187deb79ab73078d",
          "body": "Summary:\nPull Request resolved: https://github.com/meta-pytorch/tritonparse/pull/370\n\nPyTorch nightly (2.12.0.dev20260405+) introduced a runtime dependency on the `packaging` module in `torch/_native/cutedsl_utils.py`, but did not declare it in the wheel metadata. This causes `import torch` to fail \n[…]\n`pip install packaging` after the PyTorch nightly installation as a workaround.\n\nReviewed By: peiying779\n\nDifferential Revision: D99683114\n\nfbshipit-source-id: d52172b026575ae7f696678ea9dd5e00053b4881",
          "is_bot": false,
          "headline": "Add packaging dependency workaround for PyTorch nightly (#370)",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-06T22:44:32Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a5266c9f16657e6af93908aac71be16c300a435f",
          "body": "Summary: As the title says\n\nReviewed By: FindHao\n\nDifferential Revision: D99139489\n\nfbshipit-source-id: a8f6479863445aa6bf6418dd790cf51b8065fa01",
          "is_bot": false,
          "headline": "Turn on Manifold upload by default",
          "author_name": "Xu Zhao",
          "author_login": "xuzhao9",
          "committed_at": "2026-04-06T17:31:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bb56a2e6095677fdb02dfdb4b13febf1465d04a0",
          "body": "Summary:\nThe Triton compiler overwrites metadata[\"num_warps\"] with\nttg.total-num-warps (the post-expansion count after AllocateWarpGroups).\nWhen tritonparse captures this value and feeds it back as the input\nnum_warps in the reproducer, the compiler treats it as the base count,\nadds more worker warp\n[…]\ne post-expansion count is\npreserved as total_num_warps for informational purposes.\n\nReviewed By: FindHao\n\nDifferential Revision: D99408537\n\nfbshipit-source-id: 8f13e99084892a1f81cc19b2f7fb097fd8905271",
          "is_bot": false,
          "headline": "Fix tritonparse reproducer num_warps for warp-specialized kernels",
          "author_name": "Wenyuan Chi",
          "author_login": "wychi",
          "committed_at": "2026-04-03T17:38:14Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e07d48408bb10b79f21dfc027833b56ab3186f11",
          "body": "Summary:\nPin Node.js version to 24.13.0 in all website CI workflows to ensure npm version consistency between local development and GitHub Actions.\n\nPreviously, CI used floating major versions (\"24\" or \"22\") which could resolve to different Node/npm versions than local, causing package-lock.json inc\n[…]\nloy-pages.yml: \"22\" → \"24.13.0\"\n- deploy-pages-standalone.yml: \"22\" → \"24.13.0\"\n\nReviewed By: bhuang7477\n\nDifferential Revision: D99120117\n\nfbshipit-source-id: d3bd27a9edc46c689dcb11091e26e70d9b3bf614",
          "is_bot": false,
          "headline": "Pin Node.js version in CI workflows",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-01T18:25:54Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "bb132b1967a6e419f5c94500de3c55673ea683b0",
          "body": "Summary:\nUpgrade website dependencies and fix Vite 8 / ESLint compatibility\n\n## Dependency Upgrades (via npm-check-updates)\n- tailwindcss/vite: 4.1.18 → 4.2.2\n- types/node: 25.2.0 → 25.5.0\n- types/react: 19.2.10 → 19.2.14\n- vitejs/plugin-react: 5.1.3 → 6.0.1\n- autoprefixer: 10.4.24 → 10.4.27\n- eslin\n[…]\nnings from react-syntax-highlighter ESM files when building with iife output format.\n\nReviewed By: wychi\n\nDifferential Revision: D99033410\n\nfbshipit-source-id: 9cd659acd0f6d8dee16eb4f83e0923c966c1a2e4",
          "is_bot": false,
          "headline": "Upgrade website dependencies and fix Vite 8 / ESLint compatibility",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-04-01T16:34:14Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "bf3a3b73b4f6b09022b19affe9b70617c077b492",
          "body": "Summary:\nPull Request resolved: https://github.com/meta-pytorch/tritonparse/pull/366\n\nrich is already available in Meta's internal third-party (fbsource//third-party/pypi/rich:rich, v14.0.0) and is a widely used package. Making it a default dependency ensures the bisect TUI works out of the box with\n[…]\nK deps for tritonparse_lib\n- Add rich>=13.0 to pyproject.toml dependencies for OSS\n\nReviewed By: xuzhao9\n\nDifferential Revision: D98795336\n\nfbshipit-source-id: fd5cc917e8a36a128cdf9fab98298309a430a617",
          "is_bot": false,
          "headline": "Make rich a default dependency (#366)",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-03-31T01:50:01Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7dcb006ee2e59406df888557131d970eda02066f",
          "body": "Summary:\nX-link: https://github.com/meta-pytorch/monarch/pull/3221\n\nThese files are shared between projects and were inadvertently modified.\n\nReviewed By: bigfootjon\n\nDifferential Revision: D98217804\n\nfbshipit-source-id: 9d04fdb54bac4c3e46937ad5fae5356fa4264ff5",
          "is_bot": false,
          "headline": "Restore files to previous state",
          "author_name": "Paul O'Shannessy",
          "author_login": "zpao",
          "committed_at": "2026-03-26T00:42:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3352c56d123c2ba00f61143592bf40cffb31dbdd",
          "body": "Summary:\nPull Request resolved: https://github.com/meta-pytorch/tritonparse/pull/365\n\nD97564498 introduced orjson as a hard dependency, which broke 40+ tests on\nCPython 3.14 free-threading builds because orjson does not yet support\nfree-threading (PEP 703).\n\nThis diff adds a `_json_compat` wrapper m\n[…]\nequired dependency to an optional extra in\n`pyproject.toml` for OSS compatibility.\n\nReviewed By: xuzhao9\n\nDifferential Revision: D98194947\n\nfbshipit-source-id: bd9ff863a3156514b346a417403da18d390a5e22",
          "is_bot": false,
          "headline": "Add stdlib json fallback for free-threading compatibility (#365)",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-03-25T23:43:10Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "10c2aa0e32e1bfc68ee3be6a46c22cd560c61840",
          "body": null,
          "is_bot": true,
          "headline": "fbshipit-source-id: e5b6a3ce843013b11766d0934e3c89686937d2c7",
          "author_name": "meta-codesync[bot]",
          "author_login": "meta-codesync[bot]",
          "committed_at": "2026-03-25T21:06:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "af3c56fa131a0eba1c8fb899b650ede0dfa08b51",
          "body": "Summary:\nThis is an automatically generated diff to link facebookresearch/tensor-layouts's main branch to fbsource.\n\n<< DO NOT EDIT BELOW THIS LINE >>\ndiff-train-skip-merge\ndiff-train-source-id: f40cb70c521410c9d16a4623514d3fb3a755b33c\n\nGenerated by: https://www.internalfb.com/intern/sandcastle/job/2567264638/\n\nGitHub Repo: facebookresearch/tensor-layouts\n\nReviewed By: jduprat\n\nDifferential Revision: D98051566\n\nfbshipit-source-id: 150f0fe4e579896e660a2a2615beddd16e610389",
          "is_bot": false,
          "headline": "Link to fbsource",
          "author_name": "generatedunixname499836121",
          "author_login": null,
          "committed_at": "2026-03-25T01:06:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1c5c71ed431e3df8a9fb010314d7610eb7734fc7",
          "body": "Summary:\nPull Request resolved: https://github.com/meta-pytorch/tritonparse/pull/362\n\nReplace all stdlib `json` usage with `orjson` across tritonparse for faster JSON serialization/deserialization.\n\nResolves: https://github.com/meta-pytorch/tritonparse/issues/266\n\nChanges:\n- Add `orjson>=3.9` as a d\n[…]\neserve `\"import json\"` in reproducer-generated user code (`function_extractor.py`)\n\nReviewed By: xuzhao9\n\nDifferential Revision: D97564498\n\nfbshipit-source-id: c9f354b227d49774338bc3803bce93a9d4d61949",
          "is_bot": false,
          "headline": "Replace stdlib json with orjson across all tritonparse modules (#362)",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-03-24T22:45:33Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e787d1b30b58013f6054be2d3967e0c39722f936",
          "body": "Summary:\nBumps [flatted](https://github.com/WebReflection/flatted) from 3.3.3 to 3.4.2.\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/WebReflection/flatted/commit/3bf09091c3562e17a0647bc06710dd6097079cf7\"><code>3bf0909</code></a> 3.4.2</li>\n<li><a href=\"https://github.com\n[…]\nresolved: https://github.com/meta-pytorch/tritonparse/pull/363\n\nReviewed By: xuzhao9\n\nDifferential Revision: D97969196\n\nPulled By: FindHao\n\nfbshipit-source-id: 5df502f66e69bd297828c45544f504fb72cd477b",
          "is_bot": true,
          "headline": "Bump flatted from 3.3.3 to 3.4.2 in /website (#363)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-24T19:12:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "839af17e745e5c9b4db117c82947f29dacae4986",
          "body": "Summary:\nPull Request resolved: https://github.com/meta-pytorch/tritonparse/pull/359\n\nFix https://github.com/meta-pytorch/tritonparse/issues/276\n\nWhen a kernel is launched during CUDA graph capture, argument extraction\nis skipped (D86722827) and `extracted_args` contains only a `_note` string\ninstea\n[…]\n` early, before any downstream code tries to\nprocess the incomplete argument data.\n\nReviewed By: xuzhao9\n\nDifferential Revision: D97514433\n\nfbshipit-source-id: c4e61d50884e0e6e451c581f1d602970247e4849",
          "is_bot": false,
          "headline": "Error out when reproducing CUDA graph capture kernels (#359)",
          "author_name": "Yueming Hao",
          "author_login": "FindHao",
          "committed_at": "2026-03-23T18:56:20Z",
          "body_truncated": true,
          "is_coding_agent": false
        }
      ],
      "releases_count": 14,
      "commits_last_year": 456,
      "latest_release_at": "2026-07-10T19:16:05Z",
      "latest_release_tag": "v0.5.1",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 48,
      "days_since_latest_release": 21,
      "mean_days_between_releases": 29.9
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 62,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "tritonparse",
          "exists": true,
          "license": "BSD-3-Clause",
          "keywords": [],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/tritonparse/",
          "is_deprecated": false,
          "latest_version": "0.5.1",
          "repository_url": "https://github.com/meta-pytorch/tritonparse",
          "versions_count": 178,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 4898,
          "first_published_at": "2025-08-20T17:19:47.570971Z",
          "latest_published_at": "2026-07-10T19:16:41.956606Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 21
        }
      ]
    },
    "popularity": {
      "forks": 26,
      "stars": 212,
      "watchers": 6,
      "fork_history": {
        "days": [
          {
            "date": "2025-06-15",
            "count": 2
          },
          {
            "date": "2025-06-16",
            "count": 1
          },
          {
            "date": "2025-07-01",
            "count": 1
          },
          {
            "date": "2025-07-28",
            "count": 2
          },
          {
            "date": "2025-08-05",
            "count": 1
          },
          {
            "date": "2025-08-17",
            "count": 1
          },
          {
            "date": "2025-08-25",
            "count": 1
          },
          {
            "date": "2025-08-30",
            "count": 1
          },
          {
            "date": "2025-09-02",
            "count": 1
          },
          {
            "date": "2025-10-23",
            "count": 1
          },
          {
            "date": "2025-11-05",
            "count": 1
          },
          {
            "date": "2025-11-18",
            "count": 1
          },
          {
            "date": "2025-12-10",
            "count": 1
          },
          {
            "date": "2026-01-24",
            "count": 1
          },
          {
            "date": "2026-02-02",
            "count": 1
          },
          {
            "date": "2026-02-03",
            "count": 2
          },
          {
            "date": "2026-04-01",
            "count": 2
          },
          {
            "date": "2026-04-07",
            "count": 1
          },
          {
            "date": "2026-04-16",
            "count": 1
          },
          {
            "date": "2026-04-23",
            "count": 1
          },
          {
            "date": "2026-04-27",
            "count": 1
          },
          {
            "date": "2026-05-12",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 26,
        "total_forks": 26
      },
      "star_history": null,
      "open_issues_and_prs": 35
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "Makefile"
      ],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "website/tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 85231,
      "source_files_sampled": 215,
      "oversized_source_files": 2,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "pyproject.toml",
        "website/package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 6,
        "malicious_count": 0,
        "assessed_package": "pypi:tritonparse@0.5.1",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm",
        "pypi"
      ],
      "dependencies": [
        {
          "name": "orjson",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3.9"
        },
        {
          "name": "rich",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=13.0"
        },
        {
          "name": "zstandard",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.19.0"
        },
        {
          "name": "@heroicons/react",
          "manifest": "website/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.2.0"
        },
        {
          "name": "@monaco-editor/react",
          "manifest": "website/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.7.0"
        },
        {
          "name": "@types/react-syntax-highlighter",
          "manifest": "website/package.json",
          "ecosystem": "npm",
          "version_constraint": "^15.5.13"
        },
        {
          "name": "clp-ffi-js",
          "manifest": "website/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.7.0-beta.3"
        },
        {
          "name": "monaco-editor",
          "manifest": "website/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.55.1"
        },
        {
          "name": "prismjs",
          "manifest": "website/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.30.0"
        },
        {
          "name": "react",
          "manifest": "website/package.json",
          "ecosystem": "npm",
          "version_constraint": "^19.2.7"
        },
        {
          "name": "react-dom",
          "manifest": "website/package.json",
          "ecosystem": "npm",
          "version_constraint": "^19.2.7"
        },
        {
          "name": "react-resizable-panels",
          "manifest": "website/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.12.0"
        },
        {
          "name": "react-syntax-highlighter",
          "manifest": "website/package.json",
          "ecosystem": "npm",
          "version_constraint": "^16.1.1"
        },
        {
          "name": "react-window",
          "manifest": "website/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.2.7"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@heroicons/react",
            "direct": true,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@monaco-editor/react",
            "direct": true,
            "version": "4.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/react-syntax-highlighter",
            "direct": true,
            "version": "15.5.13",
            "ecosystem": "npm"
          },
          {
            "name": "clp-ffi-js",
            "direct": true,
            "version": "0.7.0-beta.3",
            "ecosystem": "npm"
          },
          {
            "name": "monaco-editor",
            "direct": true,
            "version": "0.55.1",
            "ecosystem": "npm"
          },
          {
            "name": "prismjs",
            "direct": true,
            "version": "1.30.0",
            "ecosystem": "npm"
          },
          {
            "name": "react",
            "direct": true,
            "version": "19.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "react-dom",
            "direct": true,
            "version": "19.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "react-resizable-panels",
            "direct": true,
            "version": "4.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "react-syntax-highlighter",
            "direct": true,
            "version": "16.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "react-window",
            "direct": true,
            "version": "2.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "orjson",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "rich",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "zstandard",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "@babel/code-frame",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/compat-data",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/core",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/generator",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-compilation-targets",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-globals",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-imports",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-transforms",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-option",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helpers",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/runtime",
            "direct": false,
            "version": "7.29.2",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/template",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/traverse",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/core",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/runtime",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/wasi-threads",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/eslint-utils",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/regexpp",
            "direct": false,
            "version": "4.12.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/config-array",
            "direct": false,
            "version": "0.23.5",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/config-helpers",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/core",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/js",
            "direct": false,
            "version": "10.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/object-schema",
            "direct": false,
            "version": "3.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/plugin-kit",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/core",
            "direct": false,
            "version": "0.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/node",
            "direct": false,
            "version": "0.16.7",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/module-importer",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/retry",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/gen-mapping",
            "direct": false,
            "version": "0.3.13",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/remapping",
            "direct": false,
            "version": "2.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/resolve-uri",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.31",
            "ecosystem": "npm"
          },
          {
            "name": "@monaco-editor/loader",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/wasm-runtime",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-project/types",
            "direct": false,
            "version": "0.137.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-android-arm64",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-arm64",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-x64",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-freebsd-x64",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-gnu",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-musl",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-ppc64-gnu",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-s390x-gnu",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-gnu",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-musl",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-openharmony-arm64",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-wasm32-wasi",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-arm64-msvc",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-x64-msvc",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/pluginutils",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/node",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-android-arm64",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-darwin-arm64",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-darwin-x64",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-freebsd-x64",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-linux-arm-gnueabihf",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-linux-arm64-gnu",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-linux-arm64-musl",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-linux-x64-gnu",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-linux-x64-musl",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-wasm32-wasi",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-win32-arm64-msvc",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-win32-x64-msvc",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/vite",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tybys/wasm-util",
            "direct": false,
            "version": "0.10.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/esrecurse",
            "direct": false,
            "version": "4.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@types/hast",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/json-schema",
            "direct": false,
            "version": "7.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "26.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/prismjs",
            "direct": false,
            "version": "1.26.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/react",
            "direct": false,
            "version": "19.2.17",
            "ecosystem": "npm"
          },
          {
            "name": "@types/react-dom",
            "direct": false,
            "version": "19.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/trusted-types",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/unist",
            "direct": false,
            "version": "2.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "@types/unist",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/eslint-plugin",
            "direct": false,
            "version": "8.62.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/parser",
            "direct": false,
            "version": "8.62.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/project-service",
            "direct": false,
            "version": "8.62.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/scope-manager",
            "direct": false,
            "version": "8.62.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/tsconfig-utils",
            "direct": false,
            "version": "8.62.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/type-utils",
            "direct": false,
            "version": "8.62.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/types",
            "direct": false,
            "version": "8.62.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/typescript-estree",
            "direct": false,
            "version": "8.62.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/utils",
            "direct": false,
            "version": "8.62.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/visitor-keys",
            "direct": false,
            "version": "8.62.1",
            "ecosystem": "npm"
          },
          {
            "name": "@vitejs/plugin-react",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-jsx",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "6.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "autoprefixer",
            "direct": false,
            "version": "10.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "baseline-browser-mapping",
            "direct": false,
            "version": "2.10.40",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "browserslist",
            "direct": false,
            "version": "4.28.4",
            "ecosystem": "npm"
          },
          {
            "name": "caniuse-lite",
            "direct": false,
            "version": "1.0.30001800",
            "ecosystem": "npm"
          },
          {
            "name": "character-entities",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "character-entities-legacy",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "character-reference-invalid",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "comma-separated-tokens",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "csstype",
            "direct": false,
            "version": "3.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "decode-named-character-reference",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "deep-is",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "detect-libc",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "dompurify",
            "direct": false,
            "version": "3.4.11",
            "ecosystem": "npm"
          },
          {
            "name": "electron-to-chromium",
            "direct": false,
            "version": "1.5.382",
            "ecosystem": "npm"
          },
          {
            "name": "enhanced-resolve",
            "direct": false,
            "version": "5.21.6",
            "ecosystem": "npm"
          },
          {
            "name": "escalade",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "10.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-react-hooks",
            "direct": false,
            "version": "7.1.0-canary-404b38c7-20260408",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-react-refresh",
            "direct": false,
            "version": "0.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-scope",
            "direct": false,
            "version": "9.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "3.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "espree",
            "direct": false,
            "version": "11.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "esquery",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "esrecurse",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "esutils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-json-stable-stringify",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-levenshtein",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "fault",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "file-entry-cache",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "flat-cache",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "flatted",
            "direct": false,
            "version": "3.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "format",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "fraction.js",
            "direct": false,
            "version": "5.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "gensync",
            "direct": false,
            "version": "1.0.0-beta.2",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "17.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-parse-selector",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "hastscript",
            "direct": false,
            "version": "9.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "hermes-estree",
            "direct": false,
            "version": "0.25.1",
            "ecosystem": "npm"
          },
          {
            "name": "hermes-parser",
            "direct": false,
            "version": "0.25.1",
            "ecosystem": "npm"
          },
          {
            "name": "highlight.js",
            "direct": false,
            "version": "10.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "highlightjs-vue",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "7.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "imurmurhash",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-alphabetical",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-alphanumerical",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-decimal",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-extglob",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-glob",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-hexadecimal",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "jiti",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsesc",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-buffer",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-stable-stringify-without-jsonify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "2.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "keyv",
            "direct": false,
            "version": "4.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "levn",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-android-arm64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-arm64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-x64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-freebsd-x64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-gnu",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-musl",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-gnu",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-musl",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-arm64-msvc",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-x64-msvc",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lowlight",
            "direct": false,
            "version": "1.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.21",
            "ecosystem": "npm"
          },
          {
            "name": "marked",
            "direct": false,
            "version": "14.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "10.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.16",
            "ecosystem": "npm"
          },
          {
            "name": "natural-compare",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-releases",
            "direct": false,
            "version": "2.0.50",
            "ecosystem": "npm"
          },
          {
            "name": "optionator",
            "direct": false,
            "version": "0.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse-entities",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "path-exists",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.25",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-value-parser",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "prelude-ls",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "property-information",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "refractor",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "rolldown",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "scheduler",
            "direct": false,
            "version": "0.27.0",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "6.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.8.5",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-command",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-regex",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "space-separated-tokens",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "state-local",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "tailwindcss",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "tapable",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.17",
            "ecosystem": "npm"
          },
          {
            "name": "ts-api-utils",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "type-check",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "typescript-eslint",
            "direct": false,
            "version": "8.62.1",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "8.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "update-browserslist-db",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "uri-js",
            "direct": false,
            "version": "4.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "8.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "word-wrap",
            "direct": false,
            "version": "1.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yocto-queue",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "zod",
            "direct": false,
            "version": "4.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "zod-validation-error",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "coverage",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "parameterized",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pytorch-triton",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "ruff",
            "direct": false,
            "version": "0.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ruff-api",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "setuptools",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "setuptools-scm",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "triton",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "ufmt",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "usort",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 258,
        "direct_count": 14,
        "indirect_count": 244
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 2,
        "merged_prs": 4,
        "open_issues": 33,
        "closed_ratio": 0.692,
        "closed_issues": 74,
        "closed_unmerged_prs": 307
      },
      "bus_factor": 1,
      "bot_contributors": 2,
      "top_contributors": [
        {
          "type": "User",
          "login": "FindHao",
          "commits": 419,
          "avatar_url": "https://avatars.githubusercontent.com/u/3823240?v=4"
        },
        {
          "type": "User",
          "login": "wychi",
          "commits": 25,
          "avatar_url": "https://avatars.githubusercontent.com/u/231175?v=4"
        },
        {
          "type": "User",
          "login": "prithvip0524",
          "commits": 23,
          "avatar_url": "https://avatars.githubusercontent.com/u/258340098?v=4"
        },
        {
          "type": "User",
          "login": "peiying779",
          "commits": 15,
          "avatar_url": "https://avatars.githubusercontent.com/u/243891875?v=4"
        },
        {
          "type": "User",
          "login": "zhudada0120",
          "commits": 14,
          "avatar_url": "https://avatars.githubusercontent.com/u/57648612?v=4"
        },
        {
          "type": "User",
          "login": "agron911",
          "commits": 9,
          "avatar_url": "https://avatars.githubusercontent.com/u/24850433?v=4"
        },
        {
          "type": "User",
          "login": "xuzhao9",
          "commits": 9,
          "avatar_url": "https://avatars.githubusercontent.com/u/502017?v=4"
        },
        {
          "type": "User",
          "login": "srivatsan-ramesh",
          "commits": 7,
          "avatar_url": "https://avatars.githubusercontent.com/u/8907490?v=4"
        },
        {
          "type": "User",
          "login": "njriasan",
          "commits": 5,
          "avatar_url": "https://avatars.githubusercontent.com/u/28767570?v=4"
        },
        {
          "type": "User",
          "login": "facebook-github-bot",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/6422482?v=4"
        }
      ],
      "contributors_sampled": 21,
      "top_contributor_share": 0.773
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "cleanup-stale-pr-branches.yml",
        "deploy-pages-standalone.yml",
        "deploy-pages.yml",
        "nightly-pypi.yml",
        "sync-wiki.yml",
        "test.yml",
        "website-build.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        "eslint.config.js"
      ],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "package-lock.json"
      ],
      "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": 3,
            "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": null,
            "reason": "no pull request found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 9,
            "reason": "Found 29/30 approved changesets -- score normalized to 9",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 6 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": 10,
            "reason": "packaging workflow detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 1,
            "reason": "dependency not pinned by hash detected -- score normalized to 1",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "no SAST tool detected",
            "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": 10,
            "reason": "0 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "e37aed84a05e4a6020ef7b3f7cc7ad45d934a451",
        "ran_at": "2026-08-01T07:56:13Z",
        "aggregate_score": 6.3,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-08-01T07:51:57Z",
      "oldest_open_prs": [
        {
          "number": 407,
          "created_at": "2026-05-14T10:51:57Z",
          "last_comment_at": "2026-05-30T06:26:09Z",
          "last_comment_author": "hesam-oxe"
        },
        {
          "number": 415,
          "created_at": "2026-06-01T08:58:27Z",
          "last_comment_at": "2026-07-23T04:55:08Z",
          "last_comment_author": "Bill-hbrhbr"
        }
      ],
      "last_merged_pr_at": "2026-04-07T18:24:12Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 55,
          "created_at": "2025-08-06T18:14:19Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 56,
          "created_at": "2025-08-06T18:17:08Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 57,
          "created_at": "2025-08-06T18:18:25Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 60,
          "created_at": "2025-08-06T18:24:17Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 61,
          "created_at": "2025-08-06T18:27:29Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 63,
          "created_at": "2025-08-06T18:44:55Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 68,
          "created_at": "2025-08-11T23:18:42Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 71,
          "created_at": "2025-08-15T17:58:00Z",
          "last_comment_at": "2025-12-26T18:52:29Z",
          "last_comment_author": "FindHao"
        },
        {
          "number": 91,
          "created_at": "2025-09-09T20:18:01Z",
          "last_comment_at": "2026-03-20T18:35:48Z",
          "last_comment_author": "FindHao"
        },
        {
          "number": 105,
          "created_at": "2025-09-16T03:43:34Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 140,
          "created_at": "2025-09-30T22:11:24Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 143,
          "created_at": "2025-10-01T21:17:16Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 146,
          "created_at": "2025-10-02T00:46:51Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 152,
          "created_at": "2025-10-03T16:57:30Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 192,
          "created_at": "2025-10-29T18:19:42Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 193,
          "created_at": "2025-10-29T22:28:56Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 196,
          "created_at": "2025-11-06T22:30:06Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 199,
          "created_at": "2025-11-14T17:32:52Z",
          "last_comment_at": "2026-03-20T18:26:14Z",
          "last_comment_author": "FindHao"
        },
        {
          "number": 212,
          "created_at": "2025-12-02T18:57:12Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 218,
          "created_at": "2025-12-10T18:19:03Z",
          "last_comment_at": "2025-12-23T19:09:13Z",
          "last_comment_author": "FindHao"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/meta-pytorch/tritonparse",
    "host": "github.com",
    "name": "tritonparse",
    "owner": "meta-pytorch"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "excellent",
      "name": "Overall health",
      "note": "The weighted overall 77 is calibrated to 91 on the published index scale (record calibration 2026-08-02).",
      "notes": [
        {
          "code": "overall_calibration",
          "params": {
            "raw": 77,
            "calibrated": 91,
            "calibration": "2026-08-02"
          }
        }
      ],
      "value": 91,
      "inputs": {
        "security": 70,
        "vitality": 98,
        "community": 66,
        "governance": 62,
        "calibration": "2026-08-02",
        "engineering": 88,
        "ai_readiness": 67,
        "weighted_overall_raw": 77
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "exceptional",
        "name": "Vitality",
        "value": 98,
        "weight": 0.21,
        "metrics": [
          {
            "key": "development_activity",
            "band": "exceptional",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 97,
            "inputs": {
              "commits_last_year": 456,
              "human_commit_share": 0.9,
              "days_since_last_push": 0,
              "active_weeks_last_year": 48
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "48/52 weeks with commits",
                "points": 33.2,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 48
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "456 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 456
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "exceptional",
            "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": 14,
              "latest_release_tag": "v0.5.1",
              "releases_from_tags": false,
              "days_since_latest_release": 21,
              "mean_days_between_releases": 29.9
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "14 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 14
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 21 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 21
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~29.9 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 29.9
                    }
                  }
                ],
                "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": "exceptional",
            "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": 3,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 3 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 3
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "good",
        "name": "Community & Adoption",
        "value": 66,
        "weight": 0.17,
        "metrics": [
          {
            "key": "popularity",
            "band": "moderate",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 53,
            "inputs": {
              "forks": 26,
              "stars": 212,
              "watchers": 6,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "212 stars",
                "points": 37.7,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 212
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "26 forks",
                "points": 11.7,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 26
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "6 watchers",
                "points": 3.9,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 6
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "excellent",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "readme_badges": null,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "readme_badge_services": [],
              "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 (BSD-3-Clause)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "BSD-3-Clause"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "moderate",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 62,
            "inputs": {
              "packages": [
                "tritonparse"
              ],
              "dependents": null,
              "ecosystems": "pypi",
              "total_downloads": null,
              "monthly_downloads": 4898
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "4,898 downloads/month across pypi",
                "points": 49.2,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 4898,
                      "ecosystems": "pypi"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 62,
        "weight": 0.23,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "weak",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 38,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 21,
              "top_contributor_share": 0.773
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 77% of commits",
                "points": 5.1,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 77
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "21 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 21
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 6 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "weak",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Newcomer PR acceptance. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "newcomer_pr_acceptance"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 49,
            "inputs": {
              "merged_prs": 4,
              "open_issues": 33,
              "closed_issues": 74,
              "prs_merged_7d": null,
              "prs_decided_7d": null,
              "prs_merged_30d": null,
              "prs_decided_30d": null,
              "issue_closed_ratio": 0.692,
              "closed_unmerged_prs": 307,
              "first_time_authors_30d": null,
              "first_time_prs_merged_30d": null,
              "first_time_prs_decided_30d": null
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "69% of issues closed",
                "points": 29.1,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 69
                    }
                  }
                ],
                "max_points": 42
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "4/311 decided PRs merged",
                "points": 0.4,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 4,
                      "decided": 311
                    }
                  }
                ],
                "max_points": 30
              },
              {
                "key": "newcomer_pr_acceptance",
                "name": "Newcomer PR acceptance",
                "detail": "no first-time contributor's PR decided in 30d",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_newcomer_prs",
                    "params": {
                      "days": 30
                    }
                  }
                ],
                "max_points": 13
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 29/30 approved changesets -- score normalized to 9",
                "points": 13.5,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 74,
            "inputs": {
              "followers": 1390,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "meta-pytorch",
              "public_repos": 60,
              "account_age_days": 1513
            },
            "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,390 followers of meta-pytorch",
                "points": 22.6,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 1390,
                      "login": "meta-pytorch"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "60 public repos, account ~4 yr old",
                "points": 21.3,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 60
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 4
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "exceptional",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "tritonparse"
              ],
              "ecosystems": "pypi",
              "any_deprecated": false,
              "min_days_since_publish": 21
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on pypi",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "pypi"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 21 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 21
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "178 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 178
                    }
                  }
                ],
                "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": "excellent",
        "name": "Engineering Quality",
        "value": 88,
        "weight": 0.19,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "excellent",
            "name": "Engineering practices",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_ci_tests"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 80,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "7 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 7
                    }
                  }
                ],
                "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": "eslint.config.js",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "eslint.config.js"
                    }
                  }
                ],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "exceptional",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "topics": [
                "compiler",
                "debugging",
                "interactive-visualization",
                "ir-analysis",
                "pytorch",
                "structured-logging",
                "triton",
                "gpu-kernel",
                "ir-visualization"
              ],
              "has_wiki": true,
              "homepage": "https://meta-pytorch.org/tritonparse/",
              "has_readme": true,
              "has_docs_dir": true,
              "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": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://meta-pytorch.org/tritonparse/",
                "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": "9 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 9
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "good",
        "name": "Security",
        "value": 70,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): CI-Tests, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "ci_tests",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 63,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 6.3
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection is not maximal on development and all release branches",
                "points": 2.2,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 29/30 approved changesets -- score normalized to 9",
                "points": 6.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 6 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": "30 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 1",
                "points": 0.5,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "no SAST tool detected",
                "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": "0 existing vulnerabilities detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "exceptional",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the pypi:tritonparse@0.5.1 runtime dependency closure — what installing the published package pulls in — 6 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "pypi:tritonparse@0.5.1",
                  "assessed": 6
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 0,
              "affected_packages": 0,
              "assessed_packages": 6,
              "unassessed_packages": 0,
              "affected_by_severity": "none",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "no indirect dependency carries a known advisory",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "no_indirect_advisories",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "exceptional",
            "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": 6,
              "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": "exceptional",
            "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"
              ],
              "commit_weight_rule": {
                "min_commits": 50,
                "min_commit_share": 0.1
              },
              "review_only_matches": 0,
              "below_threshold_exposures": [],
              "assessed_self_published_locations": 7
            },
            "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": 67,
        "weight": 0.04,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "weak",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 1,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "90 of 90 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 90,
                      "sampled": 90
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "excellent",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 81,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "package-lock.json"
              ],
              "has_dockerfile": false,
              "typed_language": false,
              "bootstrap_files": [
                "Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "website/tsconfig.json"
              ],
              "agent_commit_share": 0,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.08
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Makefile"
                    }
                  }
                ],
                "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": "eslint.config.js",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "eslint.config.js"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "website/tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "website/tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "8 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 8,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 1",
                "points": 1,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 82,
            "inputs": {
              "primary_language": "Python",
              "largest_source_bytes": 85231,
              "source_files_sampled": 215,
              "oversized_source_files": 2
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Python with type-check config (website/tsconfig.json)",
                "points": 27,
                "status": "partial",
                "details": [
                  {
                    "code": "typecheck_config_language",
                    "params": {
                      "files": "website/tsconfig.json",
                      "language": "Python"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "2/215 source files over 60KB",
                "points": 54.5,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 215,
                      "oversized": 2
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? Carries a deliberately small weight: agent tooling is a real maintenance signal, but its absence must never gate the top of the scale (calibration saturates at raw 91, so 100/100 remains reachable with AI Readiness at zero)."
      }
    ],
    "classification": {
      "labels": [
        "library",
        "web-ui"
      ],
      "scores": {
        "web-ui": 4,
        "library": 6
      },
      "primary": "library",
      "evidence": [
        {
          "tier": "distribution",
          "label": "library",
          "source": "registry:pypi",
          "weight": 6
        },
        {
          "tier": "dependencies",
          "label": "web-ui",
          "source": "dep:react-dom",
          "weight": 4
        }
      ],
      "artifacts": [],
      "confidence": "medium",
      "host_extension": false,
      "runs_as_process": true,
      "consumed_by_code": true
    },
    "metrics_version": "2.3.1"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
  ],
  "report_type": "repository",
  "generated_at": "2026-08-01T07:56:27.725660Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/m/meta-pytorch/tritonparse.svg",
  "full_name": "meta-pytorch/tritonparse",
  "license_state": "standard",
  "license_spdx": "BSD-3-Clause"
}

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

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

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