← Back to scan
File as GitHub Issue repo: pytorch/torchtitan

Push this scan report to pytorch/torchtitan

Click the green button below to open GitHub’s new-issue form, pre-filled with the report title, summary table, top findings, and an embedded score-card image. No authentication needed — you review on GitHub before submitting. Repobility is credited as the scanner.

Embedded score card image

This image will render at the top of the issue body. Hosted on Repobility, refreshes automatically after re-scans.

Repobility score card

Issue title

Function is stub-only (pass/raise NotImplementedError)

Curate findings to include

Pick exactly which findings appear in the issue body. By default the top 5 are included. Uncheck noise, check what matters.

Top 5 (default)
Severity Rule Title File:line
MED NET001 requests.* without timeout argument torchtitan/hf_datasets/multimodal/utils…:37
MED QUAL008 input() call in production code torchtitan/models/common/token_dispatch…:350
MED QUAL003 Magic number used as default arg torchtitan/config/configs.py:188
MED TEST002 Function is stub-only (pass/raise NotImplementedError) torchtitan/protocols/model.py:74
MED TEST002 Function is stub-only (pass/raise NotImplementedError) torchtitan/protocols/model.py:65
MED TEST002 Function is stub-only (pass/raise NotImplementedError) torchtitan/protocols/state_dict_adapter…:35
MED TEST002 Function is stub-only (pass/raise NotImplementedError) torchtitan/distributed/utils.py:309
MED TEST002 Function is stub-only (pass/raise NotImplementedError) torchtitan/experiments/ft/tests/test_ft…:51
MED TEST002 Function is stub-only (pass/raise NotImplementedError) torchtitan/experiments/ft/tests/test_ft…:40
MED TEST002 Function is stub-only (pass/raise NotImplementedError) torchtitan/experiments/ft/tests/test_ft…:32
MED TEST002 Function is stub-only (pass/raise NotImplementedError) torchtitan/components/quantization/__in…:47
MED TEST002 Function is stub-only (pass/raise NotImplementedError) torchtitan/components/metrics.py:111
MED TEST002 Function is stub-only (pass/raise NotImplementedError) torchtitan/components/metrics.py:108
MED TEST002 Function is stub-only (pass/raise NotImplementedError) torchtitan/components/tokenizer.py:40
MED TEST002 Function is stub-only (pass/raise NotImplementedError) torchtitan/components/tokenizer.py:36
MED TEST002 Function is stub-only (pass/raise NotImplementedError) torchtitan/components/tokenizer.py:32
MED TEST002 Function is stub-only (pass/raise NotImplementedError) torchtitan/components/dataloader.py:51
MED TEST002 Function is stub-only (pass/raise NotImplementedError) torchtitan/components/optimizer.py:417
MED TEST002 Function is stub-only (pass/raise NotImplementedError) torchtitan/components/optimizer.py:411
MED TEST002 Function is stub-only (pass/raise NotImplementedError) torchtitan/components/optimizer.py:407
MED TEST002 Function is stub-only (pass/raise NotImplementedError) torchtitan/components/optimizer.py:259
MED TEST002 Function is stub-only (pass/raise NotImplementedError) torchtitan/components/optimizer.py:255
MED TEST002 Function is stub-only (pass/raise NotImplementedError) torchtitan/components/validate.py:43
MED TEST002 Function is stub-only (pass/raise NotImplementedError) torchtitan/components/loss.py:55
MED TEST002 Function is stub-only (pass/raise NotImplementedError) torchtitan/models/flux/model/model.py:56
MED TEST002 Function is stub-only (pass/raise NotImplementedError) tests/unit_tests/test_checkpoint.py:61
MED TEST002 Function is stub-only (pass/raise NotImplementedError) tests/unit_tests/test_checkpoint.py:48
MED TEST002 Function is stub-only (pass/raise NotImplementedError) tests/unit_tests/test_checkpoint.py:42
MED TEST002 Function is stub-only (pass/raise NotImplementedError) tests/unit_tests/test_checkpoint.py:35
MED TEST002 Function is stub-only (pass/raise NotImplementedError) tests/unit_tests/test_train_spec.py:25
MED TEST002 Function is stub-only (pass/raise NotImplementedError) tests/unit_tests/test_module.py:323
MED TEST002 Function is stub-only (pass/raise NotImplementedError) tests/unit_tests/test_module.py:302
MED TEST002 Function is stub-only (pass/raise NotImplementedError) tests/unit_tests/test_module.py:281
MED TEST002 Function is stub-only (pass/raise NotImplementedError) tests/unit_tests/test_module.py:333
MED ERRH005 PHP @ error-suppress operator torchtitan/config/configs.py:344
MED ERRH005 PHP @ error-suppress operator torchtitan/config/configs.py:306
MED ERRH005 PHP @ error-suppress operator torchtitan/config/configs.py:295
MED ERRH005 PHP @ error-suppress operator torchtitan/config/configs.py:231
MED ERRH005 PHP @ error-suppress operator torchtitan/config/configs.py:82
MED ERRH005 PHP @ error-suppress operator torchtitan/config/configs.py:25
MED ERRH005 PHP @ error-suppress operator torchtitan/config/function.py:32
MED ERRH005 PHP @ error-suppress operator torchtitan/config/configurable.py:138
MED ERRH005 PHP @ error-suppress operator torchtitan/config/configurable.py:134
MED ERRH005 PHP @ error-suppress operator torchtitan/config/configurable.py:38
MED ERRH005 PHP @ error-suppress operator torchtitan/config/configurable.py:34
MED ERRH005 PHP @ error-suppress operator torchtitan/config/configurable.py:33
MED ERRH005 PHP @ error-suppress operator torchtitan/config/configurable.py:21
MED ERRH005 PHP @ error-suppress operator torchtitan/protocols/sharding.py:60
MED ERRH005 PHP @ error-suppress operator torchtitan/protocols/sharding.py:35
MED ERRH005 PHP @ error-suppress operator torchtitan/protocols/model.py:55
MED ERRH005 PHP @ error-suppress operator torchtitan/protocols/module.py:42
MED ERRH005 PHP @ error-suppress operator torchtitan/tools/profiler.py:100
MED ERRH005 PHP @ error-suppress operator torchtitan/tools/utils.py:192
MED ERRH005 PHP @ error-suppress operator torchtitan/tools/utils.py:177
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/rl/models/attent…:219
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/rl/models/attent…:32
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/rl/models/vllm_w…:140
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/rl/actors/genera…:123
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/rl/actors/genera…:92
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/rl/actors/genera…:33
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/rl/actors/traine…:63
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/rl/grpo.py:161
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/rl/grpo.py:60
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/rl/sum_digits.py:26
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/rl/types.py:86
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/rl/types.py:68
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/rl/types.py:51
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/rl/types.py:35
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/rl/types.py:12
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/ft/config/job_co…:14
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/ft/checkpoint.py:58
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/ft/optimizer.py:27
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/ft/trainer.py:32
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/ft/manager.py:37
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/autoparallel/con…:21
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/autoparallel/con…:13
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/forge/engine.py:35
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/graph_trainer/qw…:17
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/graph_trainer/ll…:17
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/graph_trainer/de…:17
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/graph_trainer/te…:387
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/graph_trainer/te…:35
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/graph_trainer/te…:50
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/graph_trainer/si…:42
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/graph_trainer/tr…:53
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/graph_trainer/co…:18
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/transformers_mod…:87
MED ERRH005 PHP @ error-suppress operator torchtitan/experiments/transformers_mod…:12
MED ERRH005 PHP @ error-suppress operator torchtitan/components/quantization/floa…:211
MED ERRH005 PHP @ error-suppress operator torchtitan/components/quantization/floa…:178
MED ERRH005 PHP @ error-suppress operator torchtitan/components/quantization/floa…:60
MED ERRH005 PHP @ error-suppress operator torchtitan/components/quantization/floa…:38
MED ERRH005 PHP @ error-suppress operator torchtitan/components/quantization/__in…:42
MED ERRH005 PHP @ error-suppress operator torchtitan/components/quantization/__in…:22
MED ERRH005 PHP @ error-suppress operator torchtitan/components/quantization/mx.py:157
MED ERRH005 PHP @ error-suppress operator torchtitan/components/quantization/mx.py:113
MED ERRH005 PHP @ error-suppress operator torchtitan/components/quantization/mx.py:49
MED ERRH005 PHP @ error-suppress operator torchtitan/components/quantization/mx.py:27
MED ERRH005 PHP @ error-suppress operator torchtitan/components/metrics.py:278
MED ERRH005 PHP @ error-suppress operator torchtitan/components/tokenizer.py:515
MED ERRH005 PHP @ error-suppress operator torchtitan/components/tokenizer.py:113
MED ERRH005 PHP @ error-suppress operator torchtitan/components/tokenizer.py:20
MED ERRH005 PHP @ error-suppress operator torchtitan/components/checkpoint.py:166
MED ERRH005 PHP @ error-suppress operator torchtitan/components/dataloader.py:71
MED ERRH005 PHP @ error-suppress operator torchtitan/components/dataloader.py:45
MED ERRH005 PHP @ error-suppress operator torchtitan/components/optimizer.py:358
MED ERRH005 PHP @ error-suppress operator torchtitan/components/optimizer.py:93
MED ERRH005 PHP @ error-suppress operator torchtitan/components/optimizer.py:38
MED ERRH005 PHP @ error-suppress operator torchtitan/components/validate.py:69
MED ERRH005 PHP @ error-suppress operator torchtitan/components/validate.py:31
MED ERRH005 PHP @ error-suppress operator torchtitan/components/loss.py:228
MED ERRH005 PHP @ error-suppress operator torchtitan/components/loss.py:94
MED ERRH005 PHP @ error-suppress operator torchtitan/components/loss.py:82
MED ERRH005 PHP @ error-suppress operator torchtitan/components/loss.py:50
MED ERRH005 PHP @ error-suppress operator torchtitan/components/lr_scheduler.py:50
MED ERRH005 PHP @ error-suppress operator torchtitan/hf_datasets/multimodal/mm_da…:482
MED ERRH005 PHP @ error-suppress operator torchtitan/hf_datasets/text_datasets.py:552
MED ERRH005 PHP @ error-suppress operator torchtitan/hf_datasets/text_datasets.py:241
MED ERRH005 PHP @ error-suppress operator torchtitan/models/common/embedding.py:26
MED ERRH005 PHP @ error-suppress operator torchtitan/models/common/decoder.py:66
MED ERRH005 PHP @ error-suppress operator torchtitan/models/common/decoder.py:50
MED ERRH005 PHP @ error-suppress operator torchtitan/models/common/rmsnorm.py:24
MED ERRH005 PHP @ error-suppress operator torchtitan/models/common/token_dispatch…:542
MED ERRH005 PHP @ error-suppress operator torchtitan/models/common/token_dispatch…:525
MED ERRH005 PHP @ error-suppress operator torchtitan/models/common/token_dispatch…:471
MED ERRH005 PHP @ error-suppress operator torchtitan/models/common/token_dispatch…:161
MED ERRH005 PHP @ error-suppress operator torchtitan/models/common/token_dispatch…:48
MED ERRH005 PHP @ error-suppress operator torchtitan/models/common/token_dispatch…:29
MED ERRH005 PHP @ error-suppress operator torchtitan/models/common/token_dispatch…:21
MED ERRH005 PHP @ error-suppress operator torchtitan/models/common/moe.py:321
MED ERRH005 PHP @ error-suppress operator torchtitan/models/common/moe.py:152
MED ERRH005 PHP @ error-suppress operator torchtitan/models/common/moe.py:77
MED ERRH005 PHP @ error-suppress operator torchtitan/models/common/linear.py:24
MED ERRH005 PHP @ error-suppress operator torchtitan/models/common/rope.py:39
MED ERRH005 PHP @ error-suppress operator torchtitan/models/common/attention.py:596
MED ERRH005 PHP @ error-suppress operator torchtitan/models/common/attention.py:553
MED ERRH005 PHP @ error-suppress operator torchtitan/models/common/attention.py:519
MED ERRH005 PHP @ error-suppress operator torchtitan/models/common/attention.py:497
MED ERRH005 PHP @ error-suppress operator torchtitan/models/common/attention.py:464
MED ERRH005 PHP @ error-suppress operator torchtitan/models/common/attention.py:261
MED ERRH005 PHP @ error-suppress operator torchtitan/models/common/attention.py:177
MED ERRH005 PHP @ error-suppress operator torchtitan/models/common/attention.py:75
MED ERRH005 PHP @ error-suppress operator torchtitan/models/common/feed_forward.py:41
MED ERRH005 PHP @ error-suppress operator torchtitan/models/deepseek_v3/model.py:183
MED ERRH005 PHP @ error-suppress operator torchtitan/models/deepseek_v3/model.py:143
MED ERRH005 PHP @ error-suppress operator torchtitan/models/deepseek_v3/model.py:36
MED ERRH005 PHP @ error-suppress operator torchtitan/models/flux/model/model.py:30
MED ERRH005 PHP @ error-suppress operator torchtitan/models/flux/model/layers.py:355
MED ERRH005 PHP @ error-suppress operator torchtitan/models/flux/model/layers.py:299
MED ERRH005 PHP @ error-suppress operator torchtitan/models/flux/model/layers.py:192
MED ERRH005 PHP @ error-suppress operator torchtitan/models/flux/model/layers.py:169
MED ERRH005 PHP @ error-suppress operator torchtitan/models/flux/model/layers.py:134
MED ERRH005 PHP @ error-suppress operator torchtitan/models/flux/model/layers.py:117
MED ERRH005 PHP @ error-suppress operator torchtitan/models/flux/model/layers.py:99
MED ERRH005 PHP @ error-suppress operator torchtitan/models/flux/model/layers.py:45
MED ERRH005 PHP @ error-suppress operator torchtitan/models/flux/tokenizer.py:27
MED ERRH005 PHP @ error-suppress operator torchtitan/models/flux/flux_datasets.py:358
MED ERRH005 PHP @ error-suppress operator torchtitan/models/flux/trainer.py:33
MED ERRH005 PHP @ error-suppress operator torchtitan/models/flux/validate.py:48
MED ERRH005 PHP @ error-suppress operator torchtitan/models/flux/configs.py:53
MED ERRH005 PHP @ error-suppress operator torchtitan/models/flux/configs.py:26
MED ERRH005 PHP @ error-suppress operator torchtitan/models/flux/configs.py:10
MED ERRH005 PHP @ error-suppress operator torchtitan/models/qwen3_vl/model.py:53
MED ERRH005 PHP @ error-suppress operator torchtitan/models/qwen3_vl/vision_encod…:465
MED ERRH005 PHP @ error-suppress operator torchtitan/models/gpt_oss/model.py:183
MED ERRH005 PHP @ error-suppress operator torchtitan/models/gpt_oss/model.py:130
MED ERRH005 PHP @ error-suppress operator torchtitan/models/gpt_oss/model.py:40
MED ERRH005 PHP @ error-suppress operator torchtitan/models/gpt_oss/moe.py:227
MED ERRH005 PHP @ error-suppress operator torchtitan/models/gpt_oss/moe.py:130
MED ERRH005 PHP @ error-suppress operator torchtitan/models/qwen3/model.py:82
MED ERRH005 PHP @ error-suppress operator torchtitan/models/qwen3/model.py:36
MED ERRH005 PHP @ error-suppress operator torchtitan/models/llama4/model.py:116
MED ERRH005 PHP @ error-suppress operator torchtitan/models/llama4/model.py:72
MED ERRH005 PHP @ error-suppress operator torchtitan/models/llama3/model.py:66
MED ERRH005 PHP @ error-suppress operator torchtitan/models/llama3/model.py:32
MED ERRH005 PHP @ error-suppress operator torchtitan/trainer.py:53
MED ERRH005 PHP @ error-suppress operator tests/unit_tests/test_embedding.py:81
MED ERRH005 PHP @ error-suppress operator tests/unit_tests/test_download_hf_asset…:168
MED ERRH005 PHP @ error-suppress operator tests/unit_tests/test_download_hf_asset…:144
MED ERRH005 PHP @ error-suppress operator tests/unit_tests/test_download_hf_asset…:130
MED ERRH005 PHP @ error-suppress operator tests/unit_tests/test_download_hf_asset…:129
MED ERRH005 PHP @ error-suppress operator tests/unit_tests/test_download_hf_asset…:121
MED ERRH005 PHP @ error-suppress operator tests/unit_tests/test_download_hf_asset…:120
MED ERRH005 PHP @ error-suppress operator tests/unit_tests/test_download_hf_asset…:107
MED ERRH005 PHP @ error-suppress operator tests/unit_tests/test_download_hf_asset…:106
MED ERRH005 PHP @ error-suppress operator tests/unit_tests/test_download_hf_asset…:94
MED ERRH005 PHP @ error-suppress operator tests/unit_tests/test_download_hf_asset…:93
MED ERRH005 PHP @ error-suppress operator tests/unit_tests/test_parallel_dims.py:233
MED ERRH005 PHP @ error-suppress operator tests/unit_tests/test_parallel_dims.py:199
MED ERRH005 PHP @ error-suppress operator tests/unit_tests/test_parallel_dims.py:184
MED ERRH005 PHP @ error-suppress operator tests/unit_tests/test_parallel_dims.py:123
MED ERRH005 PHP @ error-suppress operator tests/unit_tests/test_parallel_dims.py:109
MED ERRH005 PHP @ error-suppress operator tests/unit_tests/test_parallel_dims.py:95
MED ERRH005 PHP @ error-suppress operator tests/unit_tests/test_parallel_dims.py:81
MED ERRH005 PHP @ error-suppress operator tests/unit_tests/test_parallel_dims.py:67
MED ERRH005 PHP @ error-suppress operator tests/unit_tests/test_parallel_dims.py:47
MED ERRH005 PHP @ error-suppress operator tests/unit_tests/test_parallel_dims.py:27
MED ERRH005 PHP @ error-suppress operator tests/unit_tests/test_train_spec.py:21
MED ERRH005 PHP @ error-suppress operator tests/unit_tests/test_set_determinism.py:300
MED ERRH005 PHP @ error-suppress operator tests/unit_tests/test_set_determinism.py:299
Reset to top 5 200 findings available (after auto-suppression of test files + won't-fix)

Issue body (markdown)

## Code-quality scan: `pytorch/torchtitan`

**Score: 84/100 (B+)**  ·  401 findings  ·  scanned 2026-05-15 18:26 UTC  ·  73,952 LOC

| Severity | Count |
|---|---|
| CRITICAL | 92 |
| HIGH | 63 |
| MEDIUM | 242 |
| LOW | 1 |

📊 [Full filterable report](https://repobility.com/scan/9eb441b0-4d1c-45b8-9825-0c639f48bd8b/)  ·  ![scorecard](https://repobility.com/scan/9eb441b0-4d1c-45b8-9825-0c639f48bd8b/report.png?v=1778869599-s2)

### Top findings

1. **MEDIUM** `NET001` — requests.* without timeout argument
   `torchtitan/hf_datasets/multimodal/utils/image.py:37`
2. **MEDIUM** `QUAL008` — input() call in production code
   `torchtitan/models/common/token_dispatcher.py:350`
3. **MEDIUM** `QUAL003` — Magic number used as default arg
   `torchtitan/config/configs.py:188`
4. **MEDIUM** `TEST002` — Function is stub-only (pass/raise NotImplementedError)
   `torchtitan/protocols/model.py:74`
5. **MEDIUM** `TEST002` — Function is stub-only (pass/raise NotImplementedError)
   `torchtitan/protocols/model.py:65`

---

_Filed automatically. Close this issue if not useful — we won't refile. Full report: https://repobility.com/scan/9eb441b0-4d1c-45b8-9825-0c639f48bd8b/_
Already filed
'pytorch' is on the known-megaproject org list. These projects use auto-triage bots and established security disclosure channels. Unsolicited automated issues from Repobility would be perceived as AI-generated spam. For security findings, follow the project's SECURITY.md policy. For non-security findings, open a focused PR or community discussion instead.
Megaproject â high spam risk
Could not determine 'pytorch/torchtitan' star count (GitHub API rate-limited or unreachable). When in doubt about repo size, prefer opening a focused PR or a discussion rather than an issue.
Already filed
137/401 findings (34%) on this scan are already flagged as test-file, won't-fix, or suppressed. The scan is too noisy to file as a single issue. Curate down to specific actionable findings, or address the FP source first.

The button opens GitHubâs new-issue page in a new tab. You will see the title + body pre-filled â review, edit if you want, then click GitHubâs "Submit new issue" button. Repobility never posts anything on your behalf.

For real security findings on big repos: use the project's SECURITY.md or private advisory flow instead of a public issue.