What
strategy/config.py's Config docstring (line 27) describes the transform knob as:
transform : registry name ("rsvd", the only built-in) OR a Transform
instance (the pluggable "core tech").
But rsvd is not the only built-in — nystrom is registered as a built-in too.
Evidence (code contradicts the docstring)
strategy/transforms.py:227-228 registers two built-ins at import time:
for _cls in (RandomizedSVDTransform, NystromTransform):
register_transform(_cls.name, _cls)
so available() returns ['nystrom', 'rsvd'].
- Every other contributor-facing surface already says both:
transforms.py's module docstring ("Built-in transforms: rsvd … and nystrom") and strategy/README.md:44 ("rsvd and nystrom are the built-in transforms").
config.py is the lone straggler — nystrom was added as a built-in in PR #194 and this docstring was never updated.
Fix
Correct the parenthetical to name both built-ins, and add a CPU-only regression test pinning the docstring to the real built-in set so a future built-in can't silently leave it stale.
What
strategy/config.py'sConfigdocstring (line 27) describes thetransformknob as:But
rsvdis not the only built-in —nystromis registered as a built-in too.Evidence (code contradicts the docstring)
strategy/transforms.py:227-228registers two built-ins at import time:available()returns['nystrom', 'rsvd'].transforms.py's module docstring ("Built-in transforms:rsvd… andnystrom") andstrategy/README.md:44("rsvdandnystromare the built-in transforms").config.pyis the lone straggler —nystromwas added as a built-in in PR #194 and this docstring was never updated.Fix
Correct the parenthetical to name both built-ins, and add a CPU-only regression test pinning the docstring to the real built-in set so a future built-in can't silently leave it stale.