WHAT
HEAD (wave 7) shipped untell/scripts/run.py in a state where every call to untell_text raised
NameError. The --inspect work added inspect: bool = False to the public wrapper and used
inspect inside _untell_text, but never added it to _untell_text's signature nor passed it at
the call site.
The defect is not the missing parameter. The defect is that it reached main at all: the package's
central entry point was dead and the suite stayed green.
EVIDENCE
On HEAD, before the fix:
$ git show HEAD:untell/scripts/run.py | grep -c 'if inspect else None' # body uses it
1
$ git show HEAD:untell/scripts/run.py | sed -n '/^def _untell_text(/,/^) -> dict:/p' | grep -c inspect
0 # signature lacks it
$ git show HEAD:untell/scripts/run.py | grep -A4 'result = _untell_text(' | grep -c inspect
0 # call site lacks it
Reproduced by accident while generating an HTML report — an unrelated slice:
File "C:\Users\Admin\Humanize\untell\scripts\run.py", line 1073, in _untell_text
inspect_events: list[dict] | None = [] if inspect else None
NameError: name 'inspect' is not defined
WHY THE SUITE MISSED IT
untell_text is monkeypatched or stubbed in most tests (see the holdout tests, the batch tests, the
manifest tests — all inject a fake loop). Tests that DO drive the loop appear to go through the CLI
or through higher-level wrappers that were not exercised in the fast path. A function can be
completely dead and every green test stays green.
This is the repo's own catalogued class — Result 146's dead-stub finding and Result 179's
"an adapter missing one attribute would break score_text" — arriving at the top-level entry point.
ACCEPTANCE
WHAT
HEAD (wave 7) shipped
untell/scripts/run.pyin a state where every call tountell_textraisedNameError. The--inspectwork addedinspect: bool = Falseto the public wrapper and usedinspectinside_untell_text, but never added it to_untell_text's signature nor passed it atthe call site.
The defect is not the missing parameter. The defect is that it reached main at all: the package's
central entry point was dead and the suite stayed green.
EVIDENCE
On HEAD, before the fix:
Reproduced by accident while generating an HTML report — an unrelated slice:
WHY THE SUITE MISSED IT
untell_textis monkeypatched or stubbed in most tests (see the holdout tests, the batch tests, themanifest tests — all inject a fake loop). Tests that DO drive the loop appear to go through the CLI
or through higher-level wrappers that were not exercised in the fast path. A function can be
completely dead and every green test stays green.
This is the repo's own catalogued class — Result 146's dead-stub finding and Result 179's
"an adapter missing one attribute would break score_text" — arriving at the top-level entry point.
ACCEPTANCE
inspectthreaded (owned by the--inspectslice; fix is in flight).untell_textfor real (no monkeypatch) on a short document, for eachsupported tier reachable without a download, asserting it returns and that
finalis a str.It must call the real function — a stubbed loop cannot catch this class.
inspect,timings,scrub,polish) so a future flag added to the wrapper but not threaded fails immediately._untell_text, see the smoke testgo red, restore.