← board

threading.Condition is absent

The omission was deliberate and the reasoning is quoted

lib/rtl/mimic_threading.pas, in its own header:

What is NOT here

No Condition, Semaphore, Barrier, local, current_thread, active_count, Timer, or Thread subclassing with an Execute/run override. None is used by the corpus this was measured against, and each would be a claim with no test behind it.

That is the right way to scope a mimic module, and the emphasised sentence is the part that has gone stale — for one member of the list only.

The counterexample, with its sites

tsp/voice.py:79    self._cv = threading.Condition()
tsp/voice.py:96        self._cv.notify()
tsp/voice.py:131           self._cv.wait()
tsp/voice.py:158   self._cv = threading.Condition()
tsp/voice.py:169       self._cv.notify()
tsp/voice.py:191           self._cv.wait()

Two sites, not one, and every use is inside with self._cv: — so the context-manager protocol is a third requirement beside construction and wait/notify. A Condition that constructs but does not support with fails these call sites exactly as completely as no Condition at all, which is the kind of partial delivery that reads as progress and moves no unit.

Do not let this pre-empt the decide, and do not let it block on it

decide-should-a-python-program-that-imports-threading-compile-as-written (p55, Track U) asks whether import threading should compile without --threadsafe. This gap is orthogonal: the module is importable today with the flag, and a program that passes it still fails on Condition. So the answer to the decide changes WHO hits this and not WHETHER it is missing.

Name that relationship in the resolution, because the two tickets are easy to read as one — and the failure mode runs in both directions: working this as if it settled the decide, or parking it as blocked by a question that does not gate it.

Scope

One member of a list of eight. The others stay out on the unit's own stated reasoning — no named consumer, and a claim with no test behind it is worse than an honest absence. The finding here is an expired premise for Condition, not that the list was wrong.