Registro público
Informe de salud del softwareesquema 0.27.0 · métricas 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 estrellas⑂ 26 forksdesde abr 2025Ver en GitHub ↗
TipoBibliotecaInterfaz webcómo se determina

meta-pytorch/tritonparse tiene un índice de salud de 91 sobre 100, lo que lo sitúa en la banda Excelente. Su puntuación más alta es Vitality (98/100) y la más baja, Sustainability & Governance (62/100). Se actualizó por última vez hoy. Una sola persona concentra la mayor parte del trabajo reciente.

91
global / 100
Excelente

Índice de salud del software

Las métricas se agrupan en categorías ponderadas sobre una escala estandarizada de 1 a 100. El resultado global parte de su media ponderada, calibrada contra la distribución del registro público para que las bandas tengan significado percentil; cuando la evidencia pública activa la Política de Jurisdicciones de Alto Riesgo, la calificación se ajusta y recibe un límite «En riesgo» de 34.

91
Excepcional93-100El nivel más alto del registro (≈ el 5% superior); cumple prácticamente todos los criterios evaluados
Excelente80-92Sólido en todos los frentes; carencias menores
Bueno65-79Saludable; carencias limitadas y manejables
Moderado50-64Aceptable con carencias notables; se recomienda revisión
Débil35-49Debilidades sustanciales en varias áreas
En riesgo20-34Debilidades significativas; su adopción exige cautela
Crítico1-19Problemas graves (proyecto abandonado, un solo mantenedor, sin higiene)
VitalidadComunidad yAdopciónSostenibilidady GobernanzaCalidad deIngenieríaSeguridadPreparaciónpara IA

Perfil de puntuación

Cada eje es una categoría. La forma importa más que la media: un proyecto sano llena toda la figura, mientras que un perfil de picos y cráteres indica que la fortaleza en una dimensión enmascara el riesgo en otra.

El resultado global ponderado 77 se calibra a 91 en la escala publicada del índice (calibración del registro 2026-08-02).

Titularidad

Meta PyTorchOrganización
1390 seguidores60 repositorios públicosdesde jun 2022

Este repositorio está respaldado por una organización: una custodia compartida y responsable que puede sobrevivir a cualquier mantenedor individual.

Ecosistemas de paquetes

RegistroPaqueteVersiónDescargas / mesVersionesÚltima publicación
PyPItritonparse0.5.14898178hace 21 días

Métricas por categoría

Vitalidad

¿Está vivo el proyecto: se escribe código y se publican versiones?

98Excepcional · 21% del índice global
Cómo se puntúa
36/36Recencia de push — último push hace 0 días
33.2/36Cadencia de commits — 48/52 semanas con commits
18/18Volumen de commits — 456 commits en el último año
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10
Datos de entrada utilizados
commits_last_year456
human_commit_share0,9
days_since_last_push0
active_weeks_last_year48
Cómo se puntúa
27/27Publica versiones — 14 versiones publicadas
36/36Recencia de las versiones — última versión hace 21 días
27/27Cadencia de publicación — una versión cada ~29,9 días
0/10OpenSSF Scorecard: Signed-Releases — sin datos
Datos de entrada utilizados
releases_count14
latest_release_tagv0.5.1
releases_from_tagsno
days_since_latest_release21
mean_days_between_releases29,9
Excluidos de la puntuación (sin datos o no aplicable): OpenSSF Scorecard: Signed-Releases. Los pesos restantes se han renormalizado.

Comunidad y Adopción

¿Tiene el proyecto usuarios, descargas, atención y unas condiciones acogedoras para quienes contribuyen?

66Bueno · 17% del índice global
Cómo se puntúa
37.7/60Estrellas — 212 estrellas
11.7/25Forks — 26 forks
3.9/15Observadores — 6 observadores
Datos de entrada utilizados
forks26
stars212
watchers6
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Cómo se puntúa
22.5/22.5README
22.5/22.5Licencia — licencia reconocida (BSD-3-Clause)
18/18Guía CONTRIBUTING
13.5/13.5Código de conducta
0/7.2Plantilla de issues
0/6.3Plantilla de PR
Datos de entrada utilizados
has_readme
has_license
readme_badges
has_contributing
has_issue_templateno
has_code_of_conduct
readme_badge_services
has_pull_request_templateno
Cómo se puntúa
49.2/80Descargas mensuales — 4898 descargas/mes en pypi
0/20Dependientes en el registro — no lo informa este ecosistema
Datos de entrada utilizados
packagestritonparse
dependents
ecosystemspypi
total_downloads
monthly_downloads4898
Excluidos de la puntuación (sin datos o no aplicable): Dependientes en el registro. Los pesos restantes se han renormalizado.

Sostenibilidad y Gobernanza

¿Sobrevivirá el proyecto a sus personas: factor bus, capacidad de respuesta, quién lo respalda y mantenimiento del paquete?

62Moderado · 23% del índice global
Cómo se puntúa
9/54Factor bus — la mitad de los commits recae en 1 contribuyente(s)
5.1/22.5Distribución de commits — el principal contribuyente firma el 77% de los commits
13.5/13.5Amplitud de contribuyentes — 21 contribuyentes
10/10OpenSSF Scorecard: Contributors — project has 6 contributing companies or organizations
Datos de entrada utilizados
bus_factor1
contributors_sampled21
top_contributor_share0,773
Cómo se puntúa
29.1/42Resolución de issues — 69% de issues cerradas
0.4/30Aceptación de PR — 4/311 PR decididos fusionados
0/13Newcomer PR acceptance — ningún PR de un contribuyente primerizo decidido en 30 d
13.5/15OpenSSF Scorecard: Code-Review — Found 29/30 approved changesets -- score normalized to 9
Datos de entrada utilizados
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
Excluidos de la puntuación (sin datos o no aplicable): newcomer_pr_acceptance. Los pesos restantes se han renormalizado.
Cómo se puntúa
30/30Respaldo de la propiedad — propiedad de una organización
0/20Dominio verificado
22.6/25Alcance del propietario — 1390 seguidores de meta-pytorch
21.3/25Trayectoria — 60 repos públicos, cuenta de ~4 años
Datos de entrada utilizados
followers1390
owner_typeOrganization
is_verified
owner_loginmeta-pytorch
public_repos60
account_age_days1513
Cómo se puntúa
25/25Publicado y resoluble — 1 paquete(s) en pypi
35/35Recencia de publicación — última publicación hace 21 días
20/20Historial de versiones — 178 versiones en el registro
20/20No obsoleto — activo, ni obsoleto ni retirado
Datos de entrada utilizados
packagestritonparse
ecosystemspypi
any_deprecatedno
min_days_since_publish21

Calidad de Ingeniería

¿Existen unas prácticas mínimas de ingeniería y documentación?

88Excelente · 19% del índice global
Cómo se puntúa
24/24Flujos de trabajo de CI — 7 flujo(s) de trabajo
24/24Pruebas presentes
16/16Configuración de linter — eslint.config.js
0/9.6Hooks de pre-commit
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — sin datos
Datos de entrada utilizados
has_ci
has_tests
has_editorconfigno
has_linter_config
has_precommit_configno
Excluidos de la puntuación (sin datos o no aplicable): OpenSSF Scorecard: CI-Tests. Los pesos restantes se han renormalizado.

Documentación

100Excepcional
Cómo se puntúa
30/30README
25/25Directorio de documentación
15/15Sitio de documentación / página del proyecto — https://meta-pytorch.org/tritonparse/
10/10Descripción del repositorio
10/10Topics — 9 topics
10/10Wiki
Datos de entrada utilizados
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

Seguridad

¿Son sólidas las prácticas visibles de seguridad y de cadena de suministro, sin exposición jurisdiccional de alto riesgo sin resolver?

70Bueno · 16% del índice global
Cómo se puntúa
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 — sin datos
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.5Licencia — 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 — sin datos
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate6,3
Excluidos de la puntuación (sin datos o no aplicable): ci_tests, signed_releases. Los pesos restantes se han renormalizado.
Cómo se puntúa
35/35Dependencias directas libres de avisos conocidos — ninguna dependencia directa tiene un aviso conocido
25/25Dependencias indirectas libres de avisos conocidos — ninguna dependencia indirecta tiene un aviso conocido
0/40Sin avisos pendientes — ningún aviso tiene fecha de publicación
Datos de entrada utilizados
sourceosv
advisories0
affected_packages0
assessed_packages6
unassessed_packages0
affected_by_severitynone
direct_affected_packages0
Excluidos de la puntuación (sin datos o no aplicable): Sin avisos pendientes. Los pesos restantes se han renormalizado. Se cotejó el cierre de dependencias en tiempo de ejecución de pypi:tritonparse@0.5.1 —lo que arrastra la instalación del paquete publicado—: 6 paquetes. No se analiza la alcanzabilidad.

Preparación para IA

¿Hasta qué punto está el repositorio preparado para desarrollarse y mantenerse con agentes de codificación de IA? Tiene un peso deliberadamente pequeño (4%): las herramientas para agentes son una señal real de mantenimiento, pero un repositorio sin ninguna puede alcanzar igualmente 100/100.

67Bueno · 4% del índice global
Cómo se puntúa
0/45Instrucciones para agentes — sin CLAUDE.md / AGENTS.md / reglas de editor
0/15Documentación legible por máquinas (llms.txt)
40/40Historial de commits legible — 90 de 90 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share1
agent_instruction_files
agent_instruction_max_bytes
Cómo se puntúa
18/18Arranque con un solo comando — Makefile
22/22Pruebas automatizadas
11/11Configuración de lint / formato — eslint.config.js
11/11Verificación estática de tipos — website/tsconfig.json
10/10Entorno reproducible — lockfile
0/10Práctica demostrada con agentes — ningún commit con autoría de agente entre los últimos 100
8/8Mantenimiento automatizado — 8 de los últimos 100 commits son actualizaciones automáticas de dependencias
1/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 1
Datos de entrada utilizados
has_nixno
has_tests
lockfilespackage-lock.json
has_dockerfileno
typed_languageno
bootstrap_filesMakefile
has_devcontainerno
has_linter_config
typecheck_configswebsite/tsconfig.json
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0,08
Cómo se puntúa
27/45Código verificable por tipos — Python con configuración de verificación de tipos (website/tsconfig.json)
54.5/55Tamaños de archivo manejables — 2/215 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languagePython
largest_source_bytes85.231
source_files_sampled215
oversized_source_files2

Datos clave

212estrellas de GitHub
21contribuidores
456commits en los últimos 12 meses
0días desde el último push
14versiones publicadas
1factor bus
33issues abiertas
npm, PyPIecosistemas de paquetes

Advertencias de recopilación de datos

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

Más detalle

Historial de estrellas y forks 0 ★ / 26 ⇿
0Estrellas
26Forks
12Versiones

Cuándo se añadió cada estrella y fork, recopilado de GitHub y agrupado por día. El crecimiento acumulado se sitúa justo encima de las adiciones diarias que lo componen, de modo que ambos se leen en conjunto: la acumulación orgánica sostenida no se parece en nada a un pico abrupto y efímero. Cuando esa diferencia es medible, se informa como autenticidad del crecimiento.

0510152025302622025-062025-112026-05
Mayor 0Menor 4Parche 8
OpenSSF Scorecard 6.3 / 10
6.3agregado

Evaluación de seguridad independiente y agnóstica en cuanto a herramientas, procedente del proyecto de código abierto OpenSSF Scorecard. Cada comprobación premia una práctica de seguridad, no la herramienta de un proveedor concreto. Las comprobaciones que Scorecard no pudo determinar se marcan como n/d y se excluyen de la puntuación de seguridad (nunca se cuentan como cero).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
n/dCI-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
n/dSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
10Vulnerabilities0 existing vulnerabilities detected
Dependencias directas 14
RegistroPaqueteRestricción de versiónManifiesto
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
Todas las dependencias 258

Conjunto completo de dependencias resueltas según el grafo de dependencias de GitHub: 14 paquetes directos y 244 indirectos (transitivos). El cierre transitivo es completo cuando el repositorio incluye un lockfile.

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

Instalar pypi:tritonparse@0.5.1 arrastra 6 paquetes, directos y transitivos: 0 tienen avisos conocidos, de los cuales 0 son dependencias directas.

Ningún aviso conocido afecta a las dependencias evaluadas.

Un aviso significa que la versión registrada en el grafo de dependencias cae dentro del rango afectado de un aviso. No se analiza la alcanzabilidad, y el grafo incluye fijaciones de desarrollo y prueba: un hallazgo puede referirse al utillaje y no al software distribuido.

Informe JSON sin procesar legible por máquina
{
  "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"
}

Las puntuaciones son señales, no garantías. Reflejan prácticas públicamente visibles en GitHub; no son una auditoría de código ni una garantía de seguridad.

Los datos ausentes se excluyen y los pesos se renormalizan; nunca se puntúan como cero. La metodología es versionada y abierta: métricas v2.3.1, esquema v0.27.0 — metodología completa · wiki de métricas.

Cómo se sitúa un resultado dentro del registro general: estadísticas agregadasPyPI.