# NEXT CHAT: LAYER2 START HERE Если ты новый агент в новом чате, сначала прочитай этот файл целиком. ## Где работать Репозиторий: `fission-src` Ветка: `rewrite/layer2-namespace-manager-api-step1` ## Что уже готово Layer1 завершён. Это значит: 1. Внутренний `NamespaceManager` layer уже реализован. 2. Buildermgr, router и executor/multitenant уже переведены на общий watcher/helper layer. 3. Summary/debug contract стабилизирован. 4. Logging path усилен. 5. Layer1 закрыт commit-ом: `63ce6ea` `layer1: close namespace manager step1` ## Что уже было проверено Целевой прогон для layer1 уже был зелёным: `go test ./pkg/utils/... ./pkg/buildermgr/... ./pkg/router/... ./pkg/executor/multitenant` ## Что нужно делать теперь Нужен layer2. Layer2 = не переписывать watcher-ы заново, а дать внешний read-only status/debug/API surface поверх уже готового `NamespaceManager` слоя. Цель: 1. Найти лучший существующий read-only endpoint/status/debug surface. 2. Начать аккуратно выносить наружу `NamespaceManagerSummary`. 3. Не менять runtime semantics watcher-ов. 4. Не плодить второй источник правды о namespace state. ## Как работать 1. Работай маленькими шагами. 2. Перед кодом сначала найди правильную точку интеграции. 3. Все новые заметки пиши только в новые файлы в `doc/thinking/`. 4. Не трогай старые doc-файлы. 5. Не запускай background-команды. 6. Все команды запускай только через SSH на VM и всегда с timeout. ## Важные файлы - `pkg/utils/namespace_manager.go` - `pkg/utils/namespace_manager_model.go` - `pkg/utils/namespace_manager_test.go` - `pkg/buildermgr/ns_watcher.go` - `pkg/router/ns_watcher.go` - `pkg/executor/multitenant/ns_watcher.go` ## Первый шаг в новом чате Сначала не писать код. Сначала: 1. проверить текущую ветку и чистоту дерева; 2. найти существующий service-level status/debug/API contour; 3. выбрать один безопасный read-only entrypoint для первого шага layer2. ## Текст первого сообщения нового чата Можно просто вставить это: "Прочитай файл NEXT_CHAT_LAYER2.md и продолжай работу строго по нему. Нужен layer2: safe read-only API/status/debug surface поверх NamespaceManager без изменения runtime semantics watcher-ов. Сначала найди правильную точку интеграции, потом делай маленькие шаги с документированием в новых файлах doc/thinking/."