docs(opus): раунд 3 — фокус переведён на сам провайдер (устойчивость/корректность)
Жёсткий бюджет ради токенов: ≤10 файлов, ≤5 находок по ≤3 строки, плюс одна строка «что проверяемо только замером». M6 снят, модификаторы — фон. Границы: ядро, resources_core, шаблоны/хелперы генератора. В журнал добавлены крит-мнение по раунду 2 и текст раунда 3.
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
# Промпт для Opus 4.8 — РАУНД 3: сам провайдер (устойчивость и корректность)
|
||||
|
||||
> Продолжение диалога. Раунды 1–2 — `HISTORY/OPUS/2026-09-30_provider_architecture_modifiers_dialog.md`.
|
||||
> Режим и формат ответа — как раньше: сжато, тезисы, `файл:строка`, без догадок.
|
||||
|
||||
---
|
||||
|
||||
## Вводная (смена приоритета)
|
||||
|
||||
Модификаторы (`nubes_vc_org_ip_allocation`, `nubes_vc_nsxt_snat`) — новая, возможно сложная, но
|
||||
**НЕБОЛЬШАЯ** часть сервиса. Чрезмерный упор на них не нужен.
|
||||
|
||||
**Главное — САМ провайдер: его устойчивость и корректность.**
|
||||
|
||||
- `M6` (доступ к двум файлам для доразбора R1) — **снять**; углубление по модификаторам больше не требуется.
|
||||
- Прошлые находки (`S1`, `S2`, `R2`–`R6`, `U1`–`U3`) **не повторять**.
|
||||
|
||||
## Бюджет (жёстко — экономим токены)
|
||||
|
||||
- Прочитать **не более 10 файлов** суммарно. Ранее прочитанные повторно не открывать.
|
||||
- Ответ — **не более 5 находок**, каждая **не более 3 строк**.
|
||||
- Никаких вступлений, повторения прошлых отчётов, «а ещё могу».
|
||||
|
||||
## Что анализировать (провайдер целиком)
|
||||
|
||||
1. **Жизненный цикл инстанс-ресурса:** `create` / adopt / `suspend` / resume / `modify` / redeploy /
|
||||
`delete` и повторный `apply` — где теряется корректность состояния.
|
||||
2. **Досылка и нормализация параметров** (`WithDefaults`, zero-value fallback, дефолты `map-fixed`,
|
||||
регистр UUID): где риск затереть значение или получить ложный diff.
|
||||
3. **`Read` / refresh:** устойчив ли state у генерируемых ресурсов; где возможен вечный diff.
|
||||
4. **Устойчивость ядра:** ретраи и ошибки, `LockInstance`, идемпотентность, поведение при дубликатах
|
||||
и параллельных `apply`.
|
||||
5. **Генератор → код:** какие классы дефектов порождает шаблон.
|
||||
|
||||
## Границы доступа
|
||||
|
||||
Разрешено читать (только это):
|
||||
|
||||
- `provider/internal/core/**`
|
||||
- `provider/internal/resources_core/**`
|
||||
- `provider/internal/provider/provider.go`
|
||||
- `TOOLS/resource-generator/internal/templates/**`
|
||||
- `TOOLS/resource-generator/internal/params/params.go`
|
||||
- `TOOLS/resource-generator/internal/helpers/helpers.go`
|
||||
- `TOOLS/resource-generator/internal/loader/loader.go`
|
||||
- `TOOLS/resource-generator/internal/writers/writers.go`
|
||||
|
||||
Запрещено: `HISTORY/**`, `NOTES/**`, `docs/**`, `HAR/**`, `TMP/**`, `DEV_STAND/**`, `TEST_STAND/**`,
|
||||
`PROD_STAND/**`, git-история. Нужен файл вне списка → вопрос мне, не чтение.
|
||||
|
||||
## Формат ответа
|
||||
|
||||
- **ТОП-5 находок** по убыванию критичности: суть → место (`файл:строка`) → последствие (≤ 3 строк).
|
||||
- Затем **одна строка**: что из этого проверяемо только замером (прогон `apply`/`plan`), а не чтением.
|
||||
- Находок меньше пяти — столько, сколько есть. Водой не добивать.
|
||||
|
||||
## Стоп-правило
|
||||
|
||||
Не хватает файла или данных — один короткий вопрос. Не догадываться.
|
||||
Reference in New Issue
Block a user