Files
fission-src/doc/thinking/2026-04-26-namespace-manager-step7.md
T

1.3 KiB

2026-04-26 — NamespaceManager rewrite, step 7

Цель шага

Добавить минимальную модель данных для будущего NamespaceManager, не меняя пока production wiring.

Почему это отдельный шаг

После шагов 1-6 уже стало ясно, что следующая стадия — не ещё один patch по месту, а переход к явной модели lifecycle.

Но сразу подключать новый manager к watcher-ам и компонентам рано. Сначала нужна опорная модель:

  • NamespacePhase
  • NamespaceSource
  • NamespaceEventType
  • NamespaceRecord
  • NamespacePartState

Что меняем

  1. Добавляем новый файл с типами model layer.
  2. Добавляем helper-методы:
    • Clone()
    • IsActive()
    • IsTerminal()
  3. Добавляем unit tests на:
    • корректный deep copy;
    • active semantics;
    • terminal semantics.

Что НЕ меняем

  • не подключаем manager к production path;
  • не меняем watcher-ы;
  • не меняем resolver;
  • не затрагиваем текущее изменение в serviceaccount.go.