992f4f794a
The sync callback API can't wait for async layer acquisition, so delivering InstanceDisposed through the PubSub stream is a race condition. Instead, the legacy subscribeAll adapter listens on GlobalBus for InstanceDisposed matching the current directory. The Effect service's stream ending IS the disposal signal for Effect consumers — this is only needed for the legacy callback API. Also reverts forceInvalidate, fiber tracking, priority-based disposal, and other workaround attempts. Clean simple solution.