The readable side keeps pushing while the writable side is already behind.
A production symptom appears first: flaky tests, stale state, slow UI, late cleanup, or growing memory. This causes upload memory spikes, slow proxies, stalled file imports, and high RSS in Node services.
Ignoring the false return value from writable.write or avoiding pipeline.
Fix the root scheduling, cleanup, or concurrency pattern instead of adding arbitrary waits.
try {
await operation();
} finally {
cleanup();
}The visual proof is the active runtime event: watch what is retained, blocked, queued, or released at each step.
Reproduce the symptom with a small test, apply the safer pattern, then verify the flaky, slow, or leaking behavior disappears.
Related cases
Continue with nearby confusion while the mental model is fresh.
React batched state log
This shows up in React forms, counters, analytics events, and logic that reads state immediately after updating it.
Effect cleanup race
This prevents wrong profile data, flickering search results, and stale route content in React apps.
Stale closure timeout
This affects delayed notifications, retry callbacks, telemetry, and timeout-based cleanup logic.
Was this clear?
This stays local for now. It helps you track where the product still needs sharper cases.