# 2026-04-26 — NamespaceManager rewrite, step 33 ## Цель шага Убрать несоответствие между contract и manager implementation: `OnNamespaceRemove()` уже есть, а `DispatchRemove()` ещё нет. ## Что меняем 1. В `NamespaceManager` добавляем `DispatchRemove()`. 2. Manager вызывает `OnNamespaceRemove()` у всех subscriber-ов. 3. После dispatch namespace переводится в `removed` через `NamespaceEventRemove`. 4. Добавляем unit tests на success и failure path. ## Что НЕ меняем - не подключаем remove events в watcher-ы; - не реализуем physical cleanup в runtime components.