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

meta-pytorch / tritonparse

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

Python · TypeScriptBSD-3-Clause★ 212 зірок⑂ 26 форківз квіт. 2025 р.Переглянути на GitHub ↗
ТипБібліотекаВебінтерфейсяк це визначено

meta-pytorch/tritonparse має індекс здоров’я 91 зі 100, що відповідає смузі «Відмінний». Найвищий показник — Vitality (98/100), найнижчий — Sustainability & Governance (62/100). Останнє оновлення — сьогодні. Більшість нещодавньої роботи виконує один учасник.

91
загалом / 100
Відмінний

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

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

91
Винятковий93-100Верхній щабель реєстру (≈ топ-5%); відповідає практично всім перевіреним критеріям
Відмінний80-92Сильний за всіма напрямами; незначні прогалини
Добрий65-79Здоровий; прогалини обмежені та керовані
Помірний50-64Прийнятний, але з помітними прогалинами; рекомендовано перевірку
Слабкий35-49Суттєві недоліки в кількох сферах
У зоні ризику20-34Суттєві слабкі місця; впровадження потребує обережності
Критичний1-19Серйозні проблеми (покинутий, єдиний мейнтейнер, без базової гігієни)
ЖиттєздатністьСпільнота тавпровадженняСталість таврядуванняІнженернаякістьБезпекаГотовність доШІ

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

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

Зважений загальний бал 77 калібровано до 91 за шкалою опублікованого індексу (калібрування реєстру 2026-08-02).

Власність

Meta PyTorchОрганізація
1 390 підписників60 публічних репозиторіївз черв. 2022 р.

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

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

РеєстрПакетВерсіяЗавантажень / місВерсіїОстання публікація
PyPItritonparse0.5.14 89817821 день тому

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

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

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

98Винятковий · 21% загального індексу
Як обчислюється оцінка
36/36Свіжість push — останній push 0 дн. тому
33.2/36Ритм комітів — 48/52 тижнів із комітами
18/18Обсяг комітів — 456 комітів за останній рік
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10
Використані вхідні дані
commits_last_year456
human_commit_share0,9
days_since_last_push0
active_weeks_last_year48
Як обчислюється оцінка
27/27Випускає релізи — опубліковано 14 релізів
36/36Свіжість релізів — останній реліз 21 дн. тому
27/27Ритм релізів — реліз кожні ~29,9 дн.
0/10OpenSSF Scorecard: Signed-Releases — немає даних
Використані вхідні дані
releases_count14
latest_release_tagv0.5.1
releases_from_tagsні
days_since_latest_release21
mean_days_between_releases29,9
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: Signed-Releases. Залишкові ваги перенормовано.

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

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

66Добрий · 17% загального індексу
Як обчислюється оцінка
37.7/60Зірки — 212 зірок
11.7/25Форки — 26 форків
3.9/15Спостерігачі — 6 спостерігачів
Використані вхідні дані
forks26
stars212
watchers6
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Як обчислюється оцінка
22.5/22.5README
22.5/22.5Ліцензія — визнана ліцензія (BSD-3-Clause)
18/18Настанови CONTRIBUTING
13.5/13.5Кодекс поведінки
0/7.2Шаблон issue
0/6.3Шаблон PR
Використані вхідні дані
has_readmeтак
has_licenseтак
readme_badges
has_contributingтак
has_issue_templateні
has_code_of_conductтак
readme_badge_services
has_pull_request_templateні
Як обчислюється оцінка
49.2/80Щомісячні завантаження — 4 898 завантажень/місяць у pypi
0/20Залежні пакети в реєстрі — ця екосистема цього не повідомляє
Використані вхідні дані
packagestritonparse
dependents
ecosystemspypi
total_downloads
monthly_downloads4 898
Виключено з оцінювання (немає даних або не застосовно): Залежні пакети в реєстрі. Залишкові ваги перенормовано.

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

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

62Помірний · 23% загального індексу
Як обчислюється оцінка
9/54Бас-фактор — на 1 контриб’ютор(ів) припадає половина всіх комітів
5.1/22.5Розподіл комітів — головний контриб’ютор — автор 77% комітів
13.5/13.5Широта контриб’юторів — 21 контриб’юторів
10/10OpenSSF Scorecard: Contributors — project has 6 contributing companies or organizations
Використані вхідні дані
bus_factor1
contributors_sampled21
top_contributor_share0,773
Як обчислюється оцінка
29.1/42Вирішення issue — закрито 69% issue
0.4/30Прийняття PR — злито 4/311 вирішених PR
0/13Newcomer PR acceptance — за 30 дн. не вирішено жодного PR від новачка
13.5/15OpenSSF Scorecard: Code-Review — Found 29/30 approved changesets -- score normalized to 9
Використані вхідні дані
merged_prs4
open_issues33
closed_issues74
prs_merged_7d
prs_decided_7d
prs_merged_30d
prs_decided_30d
issue_closed_ratio0,692
closed_unmerged_prs307
first_time_authors_30d
first_time_prs_merged_30d
first_time_prs_decided_30d
Виключено з оцінювання (немає даних або не застосовно): newcomer_pr_acceptance. Залишкові ваги перенормовано.
Як обчислюється оцінка
30/30Підтримка власника — у власності організації
0/20Верифікований домен
22.6/25Охоплення власника — 1 390 підписників у meta-pytorch
21.3/25Послужний список — 60 публічних репозиторіїв, вік облікового запису ~4 р.
Використані вхідні дані
followers1 390
owner_typeOrganization
is_verified
owner_loginmeta-pytorch
public_repos60
account_age_days1 513

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

100Винятковий
Як обчислюється оцінка
25/25Опубліковано й доступно — 1 пакет(ів) у pypi
35/35Свіжість публікацій — остання публікація 21 дн. тому
20/20Історія версій — 178 опублікованих версій
20/20Не застарілий — активний, не deprecated і не yanked
Використані вхідні дані
packagestritonparse
ecosystemspypi
any_deprecatedні
min_days_since_publish21

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

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

88Відмінний · 19% загального індексу
Як обчислюється оцінка
24/24Процеси CI — 7 процес(ів) CI
24/24Наявні тести
16/16Конфігурація лінтера — eslint.config.js
0/9.6Pre-commit-хуки
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — немає даних
Використані вхідні дані
has_ciтак
has_testsтак
has_editorconfigні
has_linter_configтак
has_precommit_configні
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: CI-Tests. Залишкові ваги перенормовано.

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

100Винятковий
Як обчислюється оцінка
30/30README
25/25Каталог документації
15/15Сайт документації / домашня сторінка — https://meta-pytorch.org/tritonparse/
10/10Опис репозиторію
10/10Теми — 9 тем
10/10Wiki
Використані вхідні дані
topicscompiler, debugging, interactive-visualization, ir-analysis, pytorch, structured-logging, triton, gpu-kernel, ir-visualization
has_wikiтак
homepagehttps://meta-pytorch.org/tritonparse/
has_readmeтак
has_docs_dirтак
has_descriptionтак

Безпека

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

70Добрий · 16% загального індексу

Стан безпеки

63Помірний
Як обчислюється оцінка
7.5/7.5Binary-Artifacts — no binaries found in the repo
2.2/7.5Branch-Protection — branch protection is not maximal on development and all release branches
0/2.5CI-Tests — немає даних
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
6.8/7.5Code-Review — Found 29/30 approved changesets -- score normalized to 9
2.5/2.5Contributors — project has 6 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Ліцензія — license file detected
7.5/7.5Maintained — 30 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10
5/5Packaging — packaging workflow detected
0.5/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 1
0/5SAST — no SAST tool detected
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — немає даних
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate6,3
Виключено з оцінювання (немає даних або не застосовно): ci_tests, signed_releases. Залишкові ваги перенормовано.
Як обчислюється оцінка
35/35Прямі залежності без відомих сповіщень — жодна пряма залежність не має відомих сповіщень
25/25Непрямі залежності без відомих сповіщень — жодна непряма залежність не має відомих сповіщень
0/40Немає задавнених сповіщень — жодне сповіщення не має дати публікації
Використані вхідні дані
sourceosv
advisories0
affected_packages0
assessed_packages6
unassessed_packages0
affected_by_severitynone
direct_affected_packages0
Виключено з оцінювання (немає даних або не застосовно): Немає задавнених сповіщень. Залишкові ваги перенормовано. Звірено з runtime-замиканням залежностей pypi:tritonparse@0.5.1 — тим, що тягне за собою встановлення опублікованого пакета, — 6 пакетів. Досяжність не аналізується.

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

Наскільки репозиторій оснащений для розробки та супроводу за участі ШІ-агентів? Має свідомо малу вагу (4%): агентний інструментарій — реальний сигнал супроводу, але репозиторій без нього все одно може отримати 100/100.

67Добрий · 4% загального індексу
Як обчислюється оцінка
0/45Інструкції для агентів — немає CLAUDE.md / AGENTS.md / правил редактора
0/15Машиночитана документація (llms.txt)
40/40Читабельна історія комітів — намір зазначено у 90 з 90 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share1
agent_instruction_files
agent_instruction_max_bytes
Як обчислюється оцінка
18/18Розгортання однією командою — Makefile
22/22Автоматизовані тести
11/11Конфігурація лінтера / форматера — eslint.config.js
11/11Статична перевірка типів — website/tsconfig.json
10/10Відтворюване середовище — lockfile
0/10Підтверджена практика роботи з агентами — серед останніх 100 комітів немає створених агентом
8/8Автоматизоване супроводження — 8 з останніх 100 комітів — автоматичні оновлення залежностей
1/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 1
Використані вхідні дані
has_nixні
has_testsтак
lockfilespackage-lock.json
has_dockerfileні
typed_languageні
bootstrap_filesMakefile
has_devcontainerні
has_linter_configтак
typecheck_configswebsite/tsconfig.json
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0,08
Як обчислюється оцінка
27/45Типізований код — Python з конфігурацією перевірки типів (website/tsconfig.json)
54.5/55Керовані розміри файлів — 2/215 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languagePython
largest_source_bytes85 231
source_files_sampled215
oversized_source_files2

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

212зірок GitHub
21контриб'юторів
456комітів за останні 12 місяців
0днів від останнього пушу
14релізів
1бас-фактор
33відкритих issue
npm, PyPIпакетних екосистем

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

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

Докладніше

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

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

0510152025302622025-062025-112026-05
Мажорні 0Мінорні 4Патчі 8
OpenSSF Scorecard 6.3 / 10
6.3сукупно

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

10Binary-Artifactsno binaries found in the repo
3Branch-Protectionbranch protection is not maximal on development and all release branches
н/дCI-Testsno pull request found
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
9Code-ReviewFound 29/30 approved changesets -- score normalized to 9
10Contributorsproject has 6 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10
10Packagingpackaging workflow detected
1Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 1
0SASTno SAST tool detected
0Security-Policysecurity policy file not detected
н/дSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
10Vulnerabilities0 existing vulnerabilities detected
Прямі залежності 14
РеєстрПакетОбмеження версіїМаніфест
PyPIorjson>=3.9pyproject.toml
PyPIrich>=13.0pyproject.toml
PyPIzstandard>=0.19.0pyproject.toml
npm@heroicons/react^2.2.0website/package.json
npm@monaco-editor/react^4.7.0website/package.json
npm@types/react-syntax-highlighter^15.5.13website/package.json
npmclp-ffi-js^0.7.0-beta.3website/package.json
npmmonaco-editor^0.55.1website/package.json
npmprismjs^1.30.0website/package.json
npmreact^19.2.7website/package.json
npmreact-dom^19.2.7website/package.json
npmreact-resizable-panels^4.12.0website/package.json
npmreact-syntax-highlighter^16.1.1website/package.json
npmreact-window^2.2.7website/package.json
Усі залежності 258

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

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

Встановлення pypi:tritonparse@0.5.1 тягне 6 пакетів, прямих і транзитивних: 0 мають відомі сповіщення, з них 0 — прямі залежності.

Жодне відоме сповіщення не стосується оцінених залежностей.

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

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

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

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

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