Repository navigation
Summary
Fewer placeholder findings on null objects, base-class defaults and framework
hooks that declare their defaults, and a few more stubs caught.
What moves when you upgrade
- Declared defaults are not stubs. A class named as a null object or a base
(NullRenderer,BaseFeature), a constant answer in a subclass of such a
base, an empty@click.group()body, andraise NotImplementedErrorwhere a
base or sibling methods fix the interface no longer produce placeholder
findings. A log line in front, a constructed success answer or a docstring
that says "placeholder" keeps the finding. - A declared no-op is not a stub. An empty body whose docstring summary
sentence says no-op or does nothing, in a method whose signature a base fixes
or a callback registered by value, is no longer reported. The words alone
never exempt: a denial or demand in that sentence, "placeholder", "for now",
a declaration only in a later sentence, or a function with no base or
registration keeps the finding. - More stubs are caught. Print or log lines before
raise NotImplementedError, a class built from literals with a success mark, a
swallowed failure followed by a constant the comment calls invented, a
documented parameter never read, and a function that only builds values it
throws away. - Scores of files with declared defaults go down; the scoring formula, bands
and JSON keys are unchanged. Analysis cacheanalysis-cache-v37. - The VS Code extension carries the core's version again (3.13.0; it had
stayed at 3.8.9). Its views read the same JSON fields as before.
Known limitations
- A base no-op overridden in another file, a no-op hook whose reason is only
in its docstring, a null object not named as one, and a helper returning a
fixed symbol can still be reported: the evidence is not in one file or name. - An ignored input whose call site is in another module, and a hollow result
only the meaning of names reveals (a "mail sent" with no recipient), are not
found. - An empty
passbody under a registering decorator is treated as declared
(@register(...) def load_checkpoint(...): passis not reported). ignored_parametercan report parameters kept by a signature that siblings,
a framework callback or a base interface fix.return_constant_stubcan report functions whose name or docstring says the
constant is the answer (*_prompt,*_message, a tool acknowledgement).- Interface no-ops are reported when their base is outside the module or their
reason is only in a comment, including a@singledispatchdefault that
raisesNotImplementedError.