Files
tf_provider/HISTORY/README.md
T
Repinoid 669672af27 docs(history): README с описанием каждой папки и каждого файла
HISTORY/README.md:
- назначение архива и приказ владельца документировать всё, включая ошибки;
- соглашения: имя файла YYYY-MM-DD_<тема>.md, нумерация папок шагом 10 как в NOTES/,
  куда писать новую запись, почему диалоги с LLM держатся авторскими подпапками;
- таблица «папка -> о чём -> сколько файлов» (75 файлов);
- по каждому файлу строка с темой: 10_reviews (2), 20_releases (8), 30_provider (6),
  40_generator (3), 50_docs (9), 60_stands (7), 70_infra (4), 90_llm (36:
  gemini 2, OPUS 17, SONNET 17);
- помечены ⛔ четыре файла Opus от 2026-09-22 («ложный путь», отменено 2026-09-24);
- раздел «Известные особенности»: упоминания несуществующих 3006_0.md/3006_1.md
  и ссылка на старый внешний репозиторий tf_registry/HISTORY/HOWTO-UPLOAD.md;
- раздел «Реорганизация»: перенос 2026-10-02 и путь к резервной копии.

Проверено: все 75 файлов с диска присутствуют в таблицах README, лишних нет
(кроме намеренно упомянутого несуществующего имени), все ссылки-папки существуют.
2026-10-02 07:36:51 +03:00

188 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# HISTORY — журнал изменений провайдера, стендов и инфраструктуры
Здесь лежат **записи о том, что и почему менялось**: разборы багов, релизы, эксперименты,
диалоги с LLM-ревьюерами. Назначение — чтобы по документации можно было восстановить
**всю историю изменений**, включая собственные ошибки.
> ⛔ **Приказ владельца: документировать АБСОЛЮТНО ВСЁ — включая свои ошибки.**
> Запись делается в файл в этом каталоге, а не в память ассистента.
## Структура
| Папка | О чём | Файлов |
|---|---|---|
| [`10_reviews/`](10_reviews/) | Ревью кода и разборы от LLM-ревьюеров | 2 |
| [`20_releases/`](20_releases/) | Заливки версий в реестр, чистки реестра, нумерация версий | 8 |
| [`30_provider/`](30_provider/) | Ядро провайдера: архитектура, модификаторы, UUID, nested-атрибуты | 6 |
| [`40_generator/`](40_generator/) | Генератор YAML/спеки, формат MAN, dev-генератор | 3 |
| [`50_docs/`](50_docs/) | Документация: пайплайн сборки, навигация, ссылки, публикация, хостинг | 9 |
| [`60_stands/`](60_stands/) | Стенды и примеры: CRUD, FullPipe, Штурвал, TEST_STAND | 7 |
| [`70_infra/`](70_infra/) | Инфраструктура: реестр, API Gateway, DDoS-Guard, VPN/213, зеркала | 4 |
| [`90_llm/`](90_llm/) | Диалоги и промпты с LLM, не привязанные к одной теме | 36 |
| Итого | | **75** |
### Соглашения
- **Имя файла записи:** `YYYY-MM-DD_<краткая_тема>.md` (латиница, змеиный регистр).
Для старых диалогов с LLM, которые шли без даты (`3006_*`, `0107.md`), исторические имена
**не переименовывались** — чтобы не рвать ссылки в уже написанных документах.
- **Нумерация папок** — как в [`../NOTES/`](../NOTES/): `10_`, `20_`, … Шаг 10 оставлен
для вставки новых тем между существующими.
- **Куда писать новую запись:** в папку своей темы. Если темы нет — завести новую папку
со следующим свободным номером и **дописать её в таблицу выше** и в раздел ниже.
- **Диалоги/брифинги для LLM** — в `90_llm/<модель>/`: пары «бриф → ответ» держим вместе,
поэтому авторские подпапки не растворяются по темам.
- **Файл = один эпизод.** Ссылки на смежные записи — в разделе «Связанные документы» внизу файла.
---
## 10_reviews — ревью кода
| Файл | Тема |
|---|---|
| `10-code-review-sonnet.md` | Code Review (Sonnet) + список исправлений, структура проекта |
| `2026-08-31_opus_code_review.md` | Code Review провайдера от Opus |
## 20_releases — релизы и реестр
| Файл | Тема |
|---|---|
| `2026-09-03_reversion_cleanup.md` | Чистка реестра + новая нумерация версий + баг dev |
| `2026-09-30_dev_registry_prune_versions.md` | Очистка dev-реестра: удалены версии провайдера старше 2.0.21 |
| `2026-09-30_dev_release_2_0_1.md` | Релиз dev-провайдера 2.0.1 |
| `2026-09-30_release_1_0_0_2_0_0_3_0_0_all_stands.md` | Первая перезаливка всех трёх стендов под версии 1.0.0 / 2.0.0 / 3.0.0 |
| `2026-10-01_release_keep_on_destroy_subresources.md` | Заливка во все стенды с фичей `keep_on_destroy` у подресурсов |
| `2026-10-01_release_subresource_password_output.md` | Заливка с выходом `password` у подресурсов |
| `2026-10-01_release_password_unknown_fix.md` | Перезаливка после фикса `unknown password` |
| `2026-10-01_release_x_0_0_all_stands.md` | Перезаливка 1.0.0 / 2.0.0 / 3.0.0 (актуальные номера) |
## 30_provider — ядро провайдера
| Файл | Тема |
|---|---|
| `2026-07-06_architectural_refactoring.md` | Архитектурный рефакторинг `tf_provider` |
| `2026-07-16_nested_provider_test_success.md` | Успешный тест nested-провайдера (5.1.2) |
| `2026-07-16_subparams_nested_terraform_attributes.md` | `SubParams`: переход map-fixed → nested Terraform-атрибуты |
| `2026-09-21_fullpipe_vdc_nsxt_and_refsvc_fixes.md` | Серия фиксов генератора и провайдера по FullPipe (vDC + Edge) |
| `2026-09-30_core_and_modifiers_remediation.md` | Правки ядра и модификаторов по итогам анализа |
| `2026-09-30_uuid_case_normalization_on_create.md` | Регистр UUID: нормализация на отправке в API (create/modify/read/delete) |
## 40_generator — генератор YAML/спеки
| Файл | Тема |
|---|---|
| `2026-08-10_man_format_fix.md` | Фикс формата MAN |
| `2026-09-03_dev_generator_nested_schema_plan.md` | Баг dev-генератора: рассинхрон nested-параметра |
| `2026-09-30_yaml_pipeline_hardening.md` | Ужесточение пайплайна генерации YAML (безопасная замена вместо удаления) |
## 50_docs — документация и её публикация
| Файл | Тема |
|---|---|
| `2026-08-31_registry_getting_started_url_fix.md` | Фикс URL в Getting Started реестра |
| `2026-09-02_full_docs_pipeline_analysis.md` | Анализ полного pipeline документации и публикации |
| `2026-09-03_cross_stand_links_fix.md` | Фикс публикации кросс-стендовых ссылок |
| `2026-09-03_cross_stand_links_on_indexes.md` | Кросс-стендовые ссылки на индексных страницах |
| `2026-09-03_current-stand-in-index.md` | Текущий стенд на индексной странице документации |
| `2026-09-03_docs_hardcodes_removed_and_dev_published.md` | Устранение хардкодов документации + публикация DEV |
| `2026-09-03_docs_upload_pipeline_verified.md` | Проверенный pipeline публикации документации |
| `2026-09-03_test_prod_docs_published.md` | Публикация документации TEST и PROD |
| `2026-10-02_s3_static_website_docs_hosting.md` | Хостинг документации: S3 static website на RGW — находки и версии развития (V0→V1→V2) |
## 60_stands — стенды и примеры
| Файл | Тема |
|---|---|
| `2026-07-21_crud_stand_three_apps.md` | CRUD-стенд: три приложения (Lucee, Flask, Node.js) + PostgreSQL |
| `2026-08-31_terraform_stands_configuration.md` | Настройка Terraform под разные стенды (dev/test/prod) |
| `2026-09-24_shturval_dev00_adopt_and_freeze_design.md` | Штурвал dev-00: диагностика, adopt, дизайн «freeze on destroy» |
| `2026-09-25_fullpipe_example_shturval_and_docs.md` | Штурвал в примере `fullpipe_chain` + страница документации |
| `2026-09-30_shturval_dev1_delete_npe.md` | `shturval-dev1`: повторное удаление через API не проходит |
| `2026-10-01_test_crud_pg_create_failure.md` | TEST_STAND/CRUD: сбои создания `nubes_postgres.main_pg` |
| `2026-10-01_test_stand_fpipegmail.md` | TEST_STAND/FPipeGmail: копия dev-примера, адаптированная под тест |
## 70_infra — инфраструктура и окружение
| Файл | Тема |
|---|---|
| `2026-07-01_ddos_guard_403_and_registry_fix.md` | DDoS-Guard 403 + фикс реестра |
| `2026-07-02_api_gateway_migration.md` | Миграция с deck-api на API Gateway (`lk-api-gateway`) |
| `2026-09-28_vpn-transit-213-vultr.md` | VPN-транзит через ВМ 213 и Vultr |
| `2026-10-01_sync_tf_to_213_mirror.md` | Полное зеркалирование локального `~/TF` на сервер 213 |
## 90_llm — диалоги и промпты с LLM
### `90_llm/gemini/`
| Файл | Тема |
|---|---|
| `prompt_for_gemini_iot_diagram.md` | Промпт для Gemini: диаграмма пайплайна IoT Demo |
| `prompt_for_gemini_iot_diagram_FINAL.md` | Финальная правка того же промпта |
### `90_llm/OPUS/`
| Файл | Тема |
|---|---|
| `3006_0_analysis.md` | Анализ Terraform-провайдера для Nubes Cloud (legacy + universal) |
| `3006_0_full_backup.md` | Тот же анализ, полная версия (с трассой чтения и ответами) |
| `3006_0_trace.md` | Трассировка чтения файлов Opus'ом |
| `3006_0_answers.md` | Ответы на 8 дополнительных вопросов (сессия 2) |
| `3006_1_questions.md` | Дополнительные вопросы к Opus 4.8 (расхождение версий и др.) |
| `3006_2_scripts_questions.md` | Вопросы по аудиту генерационных скриптов |
| `3006_2_scripts_analysis.md` | Анализ генерационных скриптов (сессия 2) |
| `2026-07-06_architectural_analysis.md` | Архитектурный анализ `tf_provider` |
| `2026-07-07_opus_answers_duplicate_fix.md` | Стратегия фикса duplicate/exist |
| `2026-07-07_skip_missing_on_delete_bugs.md` | Разбор багов `skip_missing_on_delete` и связанных |
| `2026-07-07_subresource_duplicate_exist_bug.md` | Duplicate/exist при adopt подресурсов |
| `2026-07-07_v5_0_64_fix_plan.md` | План фикса идемпотентности delete + duplicate adopt |
| `2026-09-22_modifier_architecture_project.md` | ⛔ Архитектура модификаторов (полный проект) — ложный путь, отменено 2026-09-24 |
| `2026-09-22_modifier_null_reset_bug.md` | ⛔ Modify-модификатор сбрасывает create-поля в дефолты — ложный путь |
| `2026-09-22_modifier_plan_review.md` | ⛔ Ревью плана редизайна модификаторов — ложный путь |
| `2026-09-22_modifiers_code_review.md` | ⛔ Код-ревью модификаторов — ложный путь |
| `2026-09-30_provider_architecture_modifiers_dialog.md` | Диалог Opus 4.8: архитектура провайдера и ресурсов-модификаторов |
> ⛔ **Четыре файла от 2026-09-22 помечены «ложный путь»** — подход к модификаторам отменён
> 2026-09-24. Они оставлены как история: чтобы не повторять ошибочный дизайн.
### `90_llm/SONNET/`
| Файл | Тема |
|---|---|
| `0107.md` | Разбор перехода к JSON/200 OK + анализ и план |
| `2026-07-08_find_instance_by_display_name_bug.md` | `FindInstanceByDisplayName`: анализ и дебаг |
| `2026-08-10_docs_ux_analysis.md` | Анализ UX документации Nubes Terraform Provider |
| `2026-08-10_nav_merge_answer.md` | Как смержить nav (статический + динамический) |
| `docs_improvement_briefing.md` | Бриф: анализ и улучшение документации |
| `docs_improvement_answer.md` | Ответ по улучшению документации |
| `docs_improvement_final.md` | Полный диалог по документации и финальный план |
| `docs_prompt_answer.md` | Готовый `SYSTEM_PROMPT` + механизм MAN→группы (ответ) |
| `docs_prompt_full_response.md` | То же, полный ответ |
| `docs_p1_final.md` | Финальный план P1 — `05_generate_docs_llm.py` |
| `docs_p1_approved.md` | Утверждённый план P1 |
| `stages_output_briefing.md` | Бриф: вывод этапов (`stages`) в провайдере |
| `stages_output_plan_final.md` | Финальный план реализации вывода `stages` |
| `stages_testing_question.md` | Тестирование `stages` без реальных инстансов |
| `stages_testing_answer.md` | Ответы по тестированию `stages` |
| `stages_testing_answer_v2.md` | Второй ответ (после исправленного брифа) |
| `stages_testing_answer_deepseek.md` | DeepSeek Flash: ответы по тестированию `stages` |
---
## Известные особенности
- **`HISTORY/90_llm/OPUS/3006_1.md` и `3006_0.md`** — упоминаются в старых транскриптах
как *предполагавшиеся* имена файлов, реально не создавались. Ссылки оставлены как есть
(историчность важнее «красоты»).
- **`HISTORY/HOWTO-UPLOAD.md`** — в `20_releases/2026-09-03_reversion_cleanup.md` осталась ссылка
на старый внешний репозиторий (`tf_registry/HISTORY/HOWTO-UPLOAD.md`). Актуальный документ —
[`../HOW_TO/HOWTO-UPLOAD.md`](../HOW_TO/HOWTO-UPLOAD.md).
- **Диалоги с LLM не редактируются по фактам**, кроме пометок и обновления путей: это стенограммы.
Итоги и решения из них переносятся в тематические записи (`30_provider/`, `50_docs/`, …).
## Реорганизация
- **2026-10-02** — 75 файлов разложены по тематическим папкам (до этого 41 файл лежал в корне
`HISTORY/`, а 34 — в авторских `OPUS/` и `SONNET/`). Все переносы выполнены через `git mv`
(история файлов сохранена), перекрёстные ссылки в репозитории обновлены.
Резервная копия до переноса: `TMP/backup_2026-10-02/HISTORY_before_restructure.tar.gz`.