# 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/) | Документация: пайплайн сборки, навигация, ссылки, публикация, хостинг | 10 | | [`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 | | Итого | | **76** | ### Соглашения - **Имя файла записи:** `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) | | `2026-10-02_crud_docs_page_and_manual_pages_pipeline.md` | Страница CRUD-стенда на сайте: правки README стенда, переписанная `docs/curated/crud/three_apps.md`, разбор «какие ручные страницы попадают на сайт и как добавить остальные» (`04:157-173`, `mkdocs.yml:52`) | ## 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`.