- DefaultNSResolver.RemoveNamespace(): removes NS from global map on label removal so Snapshot() and idleObjectReaper stop iterating deleted namespaces. Fixes class of dirty-state bugs when NS name is reused by new tenant. - HandleWatcherNamespaceRemoval: call RemoveNamespace on both TrackOnly and DispatchRemove strategies — global resolver cleanup is always required. - dispatch(): parallel subscriber execution via goroutine per subscriber + sync.WaitGroup. Reduces onboarding latency from O(N_subscribers × API_latency) to O(max(API_latency)). Safe: MarkPart* are internally mutex-protected. - inMemoryNamespaceManager.RunReconciler(): 30s ticker scans for NamespacePhaseFailed records and retries via DispatchResync. Started automatically by RunManagedNamespaceWatcher. Fixes permanent stuck-failed state caused by transient k8s API errors. Analysis source: FORENSIC_ARCHITECTURE_AUDIT.md §Deep Risk Analysis
62 lines
3.3 KiB
Markdown
62 lines
3.3 KiB
Markdown
# Правила
|
|
|
|
## ⛔ ОТВЕЧАТЬ КРАТКО — АБСОЛЮТНОЕ ПРАВИЛО
|
|
- Вопрос → короткий ответ → СТОП.
|
|
- Ничего лишнего.
|
|
- Код — только по запросу.
|
|
|
|
## ⛔⛔⛔ ВОПРОС = СТОП
|
|
|
|
**Если в сообщении есть вопрос в ЛЮБОЙ форме** ("так ?", "верно ?", "почему ?", "как ?", "так же ?" и т.д.):
|
|
1. ТОЛЬКО ответить на вопрос
|
|
2. ОСТАНОВИТЬСЯ
|
|
3. ЖДАТЬ следующей команды
|
|
**ЗАПРЕЩЕНО** начинать работу, писать код, запускать команды — без явного "делай".
|
|
|
|
1. **⛔⛔⛔ АБСОЛЮТНЫЙ ЗАПРЕТ: не трогать и не читать рабочий код с целью подготовки к правке — без ПРЯМОГО указания "делай". Даже чтение файлов перед правкой — СТОП, сначала разрешение.**
|
|
|
|
2. Файлы редактируются локально:
|
|
~/fission-src (текущая рабочая папка)
|
|
|
|
После ЛЮБЫХ изменений ОБЯЗАТЕЛЬНО синхронизировать на ВМ командой:
|
|
rsync -az \
|
|
-e "ssh -i ~/.ssh/naeel_vm_id_ed25519 -o StrictHostKeyChecking=no -o ConnectTimeout=10" \
|
|
~/fission-src/ \
|
|
naeel@5.172.178.213:~/terra/fission-src/
|
|
|
|
|
|
3. Git (add/commit/push) выполнять ЛОКАЛЬНО в ~/fission-src
|
|
4. Docker, kubectl и другие инфраструктурные команды — только через SSH на ВМ:
|
|
ssh -i ~/.ssh/naeel_vm_id_ed25519 -o StrictHostKeyChecking=no -o ConnectTimeout=10 naeel@5.172.178.213 'КОМАНДА'
|
|
|
|
- не выполнять инфраструктурные команды локально
|
|
- не открывать интерактивные сессии
|
|
- не делать цепочки без необходимости
|
|
|
|
4. Перед запуском команд ОБЯЗАТЕЛЬНО убедиться, что синхронизация выполнена.
|
|
|
|
5. ЗАПРЕЩЕНО:
|
|
- откатывать код
|
|
- менять версии
|
|
- ломать рабочее состояние
|
|
|
|
6. После каждого исправления:
|
|
- git add/commit ЛОКАЛЬНО (в ~/fission-src)
|
|
- затем синхронизация (rsync) на ВМ
|
|
|
|
## ⛔⛔⛔ ДЕЛАТЬ ТОЛЬКО ЧТО ПРЯМО ПРИКАЗАНО
|
|
|
|
**АБСОЛЮТНЫЙ ЗАПРЕТ на додумывание:**
|
|
- Не расширять масштаб работы
|
|
- Не выполнять "логичные следующие шаги"
|
|
- Не инициировать дополнительные операции
|
|
- Не делать ничего кроме того что сказано
|
|
|
|
**Пример (2026-05-01):**
|
|
- Приказано: "собери"
|
|
- Сделано: ✓ собрал образы v1.3.17 и v0.1.2
|
|
- СТОП — жду команды дальше
|
|
- **ЗАПРЕЩЕНО:** обновлять манифесты, заливать образы, применять на кластер, запускать тесты
|
|
|
|
**Исключение:** только если приказ явно включает цепочку ("собери И залей И тесты")
|