$ the-wire · showcase
TensorDict locks down its CI supply chain
By RepoJournal · Filed · About PyTorch · Composed from the cited sources · methodology
TensorDict pinned and digest-checked every installer its Linux CI executes, then scoped its CI tokens down to the jobs that actually publish, leaving torchci's test pages behind a write-permission gate.
[CI] Verify installers and require patched CI dependencies pytorch/tensordict
Linux CI was running a Miniconda installer fetched over HTTP, and the uv and pyenv installers floated free of any repository change; the workflow now downloads versioned HTTPS artifacts and checks SHA-256 digests, aborting before extraction on mismatch. Miniconda 26.9.4, uv 0.13.6 and pyenv 2.8.14 are pinned, with pip >=26.2.2 and certifi >=2026.10.23 required in the affected environments. If y...
[CI] Limit credential exposure in build and publishing jobs pytorch/tensordict
Nightly installed Twine with the PyPI token already present in the step environment, and several workflows granted write or OIDC permissions wider than their jobs used. Publishing tools are now hash-checked before the token is exposed, build, test and orchestration jobs default to read-only access, and repository writes go only to jobs that publish results, docs or releases.
[BugFix] Stop in-place ops on a doubly wrapped TypedTensorDict from adding keys to a lazy stack pytorch/tensordict
A TypedTensorDict wrapping another TypedTensorDict over a lazy stack let add_, mul_, zero_, update_ and copy_ write correct values while also adding entries such as ("0", "x") to every member, which then surfaced in keys(), saved files and later stacks. The bug hit any lazy stack, shared member shapes or not, and with h5-backed members it leaked into memmapped storage.
[module-level kernels] inductor: launch each kernel with the config compile-time autotuning chose (#200522) pytorch/pytorch
Under triton.autotune_at_compile_time the compile tuned every Triton kernel, but the generated Python wrapper discarded the result, so a module run standalone re-tuned at first launch and could pick a different config, and with it a different reduction order. The module now carries a KERNEL_CONFIGS table of the compile-time configs and launches each kernel with them, making standalone module ru...
FBGEMM ROCm: eighth-wave hip_mixed_d backward + uniform-D route (TBE_ROCM_HIP_MIXED_D_EIGHTH_WAVE / _UNIFORM, default off) [BASIS][LIFT] (#6621) pytorch/FBGEMM
Under FBGEMM_TBE_ROCM_HIP_BACKWARD_KERNEL=1, the ROCm warp backward of a pooled rowwise-Adagrad TBE left two gaps, one of them mixed-D tables with max_D <= 128. The eighth-wave hip_mixed_d backward and uniform-D route land behind TBE_ROCM_HIP_MIXED_D_EIGHTH_WAVE and TBE_ROCM_HIP_MIXED_D_UNIFORM, both default off.
Require authentication for viewing test data pytorch/test-infra
The rest of the day is plumbing: pytorch's Create Release workflow is fixed by dropping third_party/NVTX/rust from the PEP 517 sdist and now runs on pull requests, FBGEMM's docs build is unblocked by replacing a 404-ing Oracle Javadoc link, 18 SLL Triton tests are enabled on ROCm, and HUD test data now requires write permission to pt/pt.