Skip to content

docs(design): reconcile the TODO through 0.4.0 - #48

Merged
HimanshuJanbandhu merged 1 commit into
mainfrom
chore/reconcile-todo-0.4.0
Aug 19, 2026
Merged

docs(design): reconcile the TODO through 0.4.0#48
HimanshuJanbandhu merged 1 commit into
mainfrom
chore/reconcile-todo-0.4.0

Conversation

@HimanshuJanbandhu

Copy link
Copy Markdown
Contributor

Docs only. Brings design/TODO.md up to date with everything shipped since the last reconcile.

Recorded:

  • 0.4.0 released and the Marketplace listing republished from it, verified from the published wheel rather than the working tree — fresh venv, 11 packages, no torch, and the classic losses.append(loss) exiting 0 by default and 1 under --fail-on warning.
  • pytorch/examples#1424 — the single upstream-reportable result out of 318 findings across 1,615 files. Notes why a second finding in the same directory was left out.
  • fix: scope no_grad detachment to the loop it happened in #46, and the false negative I introduced on the way.
  • Branches cleaned a third time, v0 moved unattended a third time.

The entry worth reading

Detachment first propagated whenever a binding was not provably grad-bearing — absence of proof treated as evidence. That silenced loss = compute_loss(...) followed by losses.append(loss), and silenced it even when loss.backward() was called on the name.

Neither check caught it. All 437 tests passed, because every TG001 fixture assigns from something resolvable like criterion(model(batch), y). And the seven-repo scan reported zero new findings, which is structurally blind: a true positive that stops firing is indistinguishable from a false positive that got fixed. I had reported 24 removals — 14 were findings being silenced, 8 of them genuine. The honest figure is 10.

So the note is methodological rather than a bug report: a wild scan is evidence about false positives only. False negatives need fixtures that deliberately exceed what the analysis can resolve, and there are now two.

One idea filed

The drifted pre-commit rev: pins (v0.1.0 in docs/ci.md, v0.2.0 in the README) are the third instance of one pattern — instructions we publish and never execute. The first was uses: highwaterlabs/torch-preflight@v0 resolving to nothing; the second was action.yml missing the Node 20 pin bump every workflow file got. A job that runs the documented hook the way action-smoke.yml runs the documented Action would close the class rather than the instance.

Records the 0.4.0 release and Marketplace republish, the upstream
pytorch/examples PR, and #46 -- plus a third round of branch cleanup and
`v0` moving unattended, which are now reflexes rather than decisions.

The entry worth having is the false negative in #46. Detachment first
propagated whenever a binding was not provably grad-bearing, treating
absence of proof as evidence, which silenced a real leak even when
`loss.backward()` was called on the name. Neither check caught it: every
TG001 fixture assigns from something resolvable, and a wild scan cannot
see a false negative at all, since a true positive that stops firing
looks exactly like a false positive that got fixed. 24 reported
removals were really 10.

So the note is methodological rather than a bug report: a wild scan is
evidence about false positives only, and false negatives need fixtures
that deliberately exceed what the analysis can resolve.

Also files the idea the drifted pre-commit `rev:` pins point at. That is
the third instance of publishing instructions we never execute, after
the `@v0` tag that did not resolve and `action.yml` missing the Node 20
bump. A job running the documented hook would close the class.
@HimanshuJanbandhu
HimanshuJanbandhu merged commit 9260c0b into main Aug 19, 2026
8 checks passed
@HimanshuJanbandhu
HimanshuJanbandhu deleted the chore/reconcile-todo-0.4.0 branch August 19, 2026 07:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant