From 669672af27975ad48a5c936bdd18e06032b011d0 Mon Sep 17 00:00:00 2001 From: Repinoid Date: Fri, 2 Oct 2026 07:36:51 +0300 Subject: [PATCH] =?UTF-8?q?docs(history):=20README=20=D1=81=20=D0=BE=D0=BF?= =?UTF-8?q?=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D0=B5=D0=BC=20=D0=BA=D0=B0=D0=B6?= =?UTF-8?q?=D0=B4=D0=BE=D0=B9=20=D0=BF=D0=B0=D0=BF=D0=BA=D0=B8=20=D0=B8=20?= =?UTF-8?q?=D0=BA=D0=B0=D0=B6=D0=B4=D0=BE=D0=B3=D0=BE=20=D1=84=D0=B0=D0=B9?= =?UTF-8?q?=D0=BB=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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, лишних нет (кроме намеренно упомянутого несуществующего имени), все ссылки-папки существуют. --- HISTORY/README.md | 187 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 187 insertions(+) create mode 100644 HISTORY/README.md diff --git a/HISTORY/README.md b/HISTORY/README.md new file mode 100644 index 0000000..db8f6fd --- /dev/null +++ b/HISTORY/README.md @@ -0,0 +1,187 @@ +# 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`.