Прочееdocs/91_corp_site_deployment.md

corp.e-leto.ru: статический портал базы знаний

Дата: 2026-06-03

Адрес: https://corp.e-leto.ru/

Статус: MVP развернут на машине server166.

1. Назначение

corp.e-leto.ru — закрытый портал базы знаний по проекту "Корпорация девелопера РФ".

Сайт нужен для:

  • просмотра всей отработанной Markdown-базы через браузер;
  • поиска по документам;
  • навигации по разделам;
  • скачивания workbook, моделей и шаблонов;
  • передачи смежникам структурированной базы без ручной пересылки множества файлов.

2. Формат

Выбран формат статического сайта:

  • исходники остаются в D:\CODEX\corporation_structure_rf_development;
  • документы берутся из docs/*.md и README.md;
  • сайт собирается в corp_site/public;
  • на сервер загружается уже собранный HTML;
  • публикация через nginx-контейнер corp-site;
  • внешний доступ через Caddy.

3. Локальная структура

corp_site/
  build_corp_site.mjs
  public/
    index.html
    assets/
    docs/
    sections/
    downloads/
    search-index.json
    build-info.json

4. Что включено в MVP

  • 92 документа базы;
  • 12 разделов навигации;
  • главная страница;
  • боковое меню;
  • поиск по заголовкам и текстам;
  • HTML-версии всех Markdown-документов;
  • downloads:
    • models/;
    • templates/;
    • HTML-части презентации v2.

5. Серверная схема

Машина: server166.

Каталог сайта:

/home/leto/app/corp-site

Контейнер:

corp-site
image: nginx:alpine
network: app_leto-net
volume: /home/leto/app/corp-site:/usr/share/nginx/html:ro

Caddy route:

corp.e-leto.ru {
    import auth
    encode zstd gzip
    reverse_proxy corp-site:80
}

Доступ закрыт через существующий basic_auth Caddy.

Дополнительно 2026-06-03 добавлен отдельный пользователь для corp.e-leto.ru:

login: user
password: user123

Проверка:

  • без авторизации: 401 Unauthorized;
  • с user:user123: 200 OK.

6. Проверка деплоя

Проверено:

  • локальная сборка сайта: Built 92 docs;
  • контейнер corp-site запущен;
  • build-info.json внутри контейнера открывается;
  • Caddyfile валиден;
  • Caddy reload выполнен;
  • https://corp.e-leto.ru/ отвечает 401 Unauthorized, то есть сайт доступен снаружи и закрыт авторизацией.

7. Как пересобрать локально

$env:NODE_PATH='C:\Users\leto-\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\node_modules'
& 'C:\Users\leto-\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe' 'D:\CODEX\corporation_structure_rf_development\corp_site\build_corp_site.mjs'

Если каталог corp_site/public занят другим процессом или доступен только для чтения, сборщик поддерживает отдельный выходной каталог:

$env:CORP_SITE_OUT='D:\CODEX\outputs\corp-site-public'
$env:NODE_PATH='C:\Users\leto-\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\node_modules'
& 'C:\Users\leto-\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe' 'D:\CODEX\corporation_structure_rf_development\corp_site\build_corp_site.mjs'

На сервер загружается содержимое каталога, указанного в CORP_SITE_OUT.

8. Как обновить сервер

  1. Пересобрать corp_site/public.
  2. Загрузить содержимое на сервер:
scp -r "D:\CODEX\corporation_structure_rf_development\corp_site\public\*" server166:/home/leto/app/corp-site/
  1. Проверить:
ssh server166 "docker exec corp-site wget -qO- http://127.0.0.1/build-info.json"

Перезапуск контейнера обычно не нужен: nginx сразу видит обновленные файлы.

9. Важное ограничение

На сайте опубликована внутренняя база:

  • налоговая логика;
  • структура компаний;
  • риски;
  • HR;
  • реестры;
  • шаблоны;
  • презентационные материалы.

Сайт не должен быть открытым публично. Для клиентской публичной версии нужен отдельный очищенный раздел без внутренних налоговых, кадровых и банковских рабочих материалов.

10. Следующий шаг

  1. Добавить страницу "Для заказчика" с очищенной клиентской логикой.
  2. Добавить страницу "Для смежников" с инструкцией по замечаниям.
  3. Добавить импорт PDF-презентации в downloads.
  4. Сделать отдельный /public-client/ или /customer/ слой без внутренних материалов.
  5. Добавить версионность сборки: дата, номер релиза, changelog.

11. Правило синхронизации

С 2026-06-03 действует правило: существенные обновления проекта фиксируются не только в Obsidian, но и на сайте corp.e-leto.ru.

Подробный регламент: docs/92_knowledge_sync_rule_obsidian_and_site.md.

12. Исправления

2026-06-03: ссылки разделов

На главной странице ссылки "Открыть раздел" сначала генерировались с URL-encoded русскими именами файлов, например:

/sections/04_%D0%97%D0%B5%D0%BC%D0%BB%D1%8F%2C%20...

На сервере такие ссылки приводили к 404.

Исправление:

  • генератор переведен на стабильные ASCII URL разделов;
  • формат: /sections/sec-00.html, /sections/sec-01.html, ... /sections/sec-99.html;
  • сайт пересобран и обновлен.

Проверка:

  • https://corp.e-leto.ru/sections/sec-04.html возвращает 200 OK;
  • главная страница содержит /sections/sec-04.html.

2026-06-09: налоговая актуализация

  • портал пересобран до 105 документов;
  • добавлена справка docs/103_tax_2026_regulatory_delta_and_model_update.md;
  • в downloads опубликованы финансовая модель v0.6 tax 2026 и операционные реестры v0.7 tax 2026;
  • главная страница, справка и обе книги проверены через внешний адрес с авторизацией: 200 OK.

2026-06-09: банковское и инвестиционное финансирование

  • подготовлена локальная сборка портала из 109 документов;
  • добавлены справки docs/106_financial_model_v07_bank_financing.md и docs/107_bank_terms_limit_and_rate_optimization.md;
  • в downloads включена книга dev_corp_financial_model_v0_7_bank_financing.xlsx;
  • навигация, наличие HTML-файлов и идентичность книги исходнику проверены;
  • серверная публикация выполнена на server166;
  • страницы справок и скачивание модели проверены через внешний адрес с авторизацией: 200 OK.

2026-06-09: операционная матрица компаний и субподрядчики

  • портал обновлен до 112 документов и 13 разделов;
  • добавлены документы 108, 109 и 110;
  • опубликована книга dev_corp_entity_operating_matrix_v0_1.xlsx;
  • в книге отражены 53 участника и 28 субподрядных пакетов;
  • добавлены шаблоны паспорта участника и предквалификации субподрядчика;
  • локальная проверка 144 HTML-страниц: битых внутренних ссылок нет;
  • главная страница, три новые справки и обе актуальные Excel-модели проверены через внешний адрес: 200 OK;
  • доступ без авторизации возвращает 401 Unauthorized.

2026-06-09: операционные реестры v0.9

  • портал обновлен до 114 документов и 13 разделов;
  • опубликована книга dev_corp_operational_registers_v0_9_entity_subcontractor_control.xlsx;
  • в реестры добавлены паспорта компаний, согласования по юридическим лицам, 28 субподрядных пакетов, ворота мобилизации и единый контрольный лист;
  • договоры, платежные заявки и платежи связаны с идентификаторами юридического лица и субподрядчика;
  • платежный шлюз учитывает налоговый, корпоративный и субподрядный контроль;
  • проверены 146 HTML-страниц, битых внутренних ссылок нет;
  • размер и SHA-256 опубликованной книги совпадают с проверенным исходником.

2026-06-09: матрица продаж

  • добавлен документ 113_sales_models_channels_and_control_matrix.md;
  • раскрыты модели собственного отдела, отдельной компании продаж и внешних каналов;
  • продукт, договор, цена, платеж, эскроу, CRM, передача и гарантия соединены в один клиентский путь;
  • гарантийный контур связан с генеральным подрядчиком и субподрядными организациями;
  • документ включен в раздел Продажи, ввод и эксплуатация.

2026-06-09: исправление области действия авторизации

  • выявлено, что правило basic_auth / защищало только корневой путь, а прямые URL /docs/... могли открываться без логина;
  • правило заменено на basic_auth без ограничивающего path-matcher;
  • конфигурация проверена командой caddy validate, сохранена резервная копия и выполнен reload;
  • итоговая проверка: corp.e-leto.ru без авторизации возвращает 401, с user/user123200;
  • публичный микросайт structure.e-leto.ru остается доступным без авторизации.

2026-06-09: операционные реестры v1.0

  • добавлена книга dev_corp_operational_registers_v1_0_sales_exit_control.xlsx;
  • добавлен документ 115_operational_registers_v10_sales_exit_control.md;
  • в книгу включены продукт, каналы, сделки, комиссии, эскроу, передача, гарантия и завершение участников;
  • гарантийные обращения связаны с генеральным подрядчиком и конкретными субподрядными пакетами;
  • комиссионные платежи подключены к общему платежному шлюзу;
  • книга содержит 44 листа, формульных ошибок не обнаружено;
  • SHA-256 проверенной книги: 1940D582AC51B14E7F837FEFB82BF3A7BCFABE421BE53094CC0ED77176DD65F0.

2026-06-09: специализированные матрицы допуска

  • добавлен документ 116_specialized_entity_admission_matrices.md;
  • генеральный подрядчик, РБУ, парк техники, охранная и эксплуатационная управляющая организации получили отдельные ворота допуска;
  • для каждого профиля определены штатные диапазоны, доказательства, стоп-факторы и ежемесячный контроль;
  • субподрядные организации включены в схему через SUB-ID, пакет работ, мобилизацию, платежный шлюз, закрытие и гарантию;
  • поставщики сырья РБУ и сервисные подрядчики эксплуатационной УК отражаются самостоятельными участниками;
  • добавлен шаблон 33_specialized_entity_admission_decision.md.
  • добавлены профильные формы 34-39 для фактического допуска и ежемесячной переоценки.
  • добавлены документ 117_specialized_entity_evidence_and_data_room_map.md и шаблон 40_specialized_entity_evidence_register.md;
  • профильные ворота связаны с Evidence ID, комнатой данных, сроками документов, мобилизацией, платежами и гарантией.

2026-06-10: операционные реестры v1.1

  • добавлена книга dev_corp_operational_registers_v1_1_evidence_admission_control.xlsx;
  • добавлен документ 118_operational_registers_v11_evidence_admission_control.md;
  • книга содержит 49 листов;
  • добавлены Evidence_Register, Profile_Gate_Detail, Profile_Admissions, Profile_Monthly и Admission_Control;
  • профильные допуски генерального подрядчика, РБУ, техники, охраны и эксплуатационной УК связаны с доказательствами и сроками;
  • заявки и платежи наследуют HOLD через Admission ID;
  • выполнен визуальный рендер всех листов, формульных ошибок не обнаружено;
  • SHA-256: 61BC31C9DE3C982E93491BD4337D4FB2169E14AEA02F848E35631872598626AF.

2026-06-10: нормативные карточки специальных участников

  • добавлен документ 119_specialized_entity_normative_gate_cards.md;
  • 60 профильных ворот связаны с нормативной опорой, Evidence ID и блокируемыми действиями;
  • добавлен шаблон 41_normative_gate_card.md;
  • документ включен в раздел Нормативная база;
  • сохранены статусы объектной, договорной, региональной, банковской и переходной проверки.

2026-06-10: операционные реестры v1.2

  • добавлена книга dev_corp_operational_registers_v1_2_normative_gate_control.xlsx;
  • добавлен документ 120_operational_registers_v12_normative_gate_control.md;
  • книга содержит 50 листов и 60 нормативных карточек;
  • Evidence gate и Normative gate объединены в итоговый профильный допуск;
  • нормативный HOLD наследуется заявками и платежами через Admission ID;
  • выполнен визуальный рендер всех листов, формульных ошибок не обнаружено;
  • SHA-256: ED52B5303736945FA2C74ECA71A27DEC300E23BF0C9018DA3A8EB8EF4B38FCE6.

2026-06-10: операционные реестры v1.3

  • добавлена книга dev_corp_operational_registers_v1_3_expert_task_control.xlsx;
  • добавлены документы 121 и 122, шаблон 42;
  • 24 статуса expert_review преобразованы в адресные задания;
  • для снятия HOLD требуются Conclusion ID, дата, допустимое решение и следующая проверка;
  • книга содержит 51 лист, формульных ошибок не обнаружено;
  • SHA-256: 34FEFC8F0A82681C1BBF14C6FEF741E481B4265ACDDBA259E173E6D85EFEC004.

2026-06-10: экспертная кампания и операционные реестры v1.4

  • добавлены документы 123-131 и шаблоны 43-44;
  • семь профильных пакетов объединяют 24 экспертных задания по строительству, охране труда, РБУ, технике, охране, эксплуатации и налоговой экономике РБУ;
  • опубликована книга dev_corp_operational_registers_v1_4_expert_dispatch_escalation.xlsx;
  • в книге 52 листа, добавлены Dispatch ID, Acceptance ID, контроль срока и эскалации;
  • итоговый экспертный шлюз не снимает HOLD без передачи задания, допустимого заключения и его формальной приемки;
  • ошибки формул не обнаружены, визуально проверены все 52 листа;
  • SHA-256: E064D08BBD2EE0D8D8B81E6393094007CE261195AE7035703ACEEA9949DDF12F.

2026-06-10: вопросники для экспертных заключений

  • добавлены мастер-протокол 132 и семь тематических вопросников 133-139;
  • все 24 Expert Task ID покрыты без пропусков;
  • сформировано 263 структурированных вопроса;
  • добавлен шаблон 45 для построчного ответа с нормой, источником, Evidence ID, владельцем, сроком и блокировкой;
  • пакеты 124-130, формы заключения и приемки связаны с вопросниками.

2026-06-10: отдельный финансовый микросайт

  • опубликован адрес https://finance.e-leto.ru;
  • сайт работает отдельным контейнером finance-site;
  • показаны четыре независимых потока денег, этапы, взаиморасчеты, авансы, платежный маршрут, возврат инвестору и факторы банковских условий;
  • реализованы мобильная и печатная версии;
  • добавлен документ 140_financial_contour_microsite.md.