Загрузка данных


Ты работаешь в проекте:

/Users/23865613/IdeaProjects/untitled/zadanie2/source_project

Контекст:

Основной экспорт и отчётная часть завершены.

Подтверждено:

- 41/41 URL обработаны;
- необработанных URL — 0;
- FULL DOM — 41/41;
- output/HIERARCHY.md пересоздан;
- output/TASK_COVERAGE.md содержит 21 требование;
- Закрыто — 20;
- Частично — 1;
- Не закрыто — 0;
- projects/SNL/meta содержит 83+ файлов;
- scripts/regenerate_reports.py работает;
- output/FINAL_REPORT.md создан.

Новые функции браузерной выгрузки сейчас добавлять не нужно.

Цель:
Проверить и при необходимости исправить именно структуру каталогов по требованию наставника:

АС > ФП > Модуль > Подмодуль > Технический компонент.

Важно:

- не запускать повторную браузерную выгрузку;
- использовать существующие output/*.md и temp_html/*.html;
- не обращаться к API META;
- не выполнять write-операции в META;
- не удалять исходные отчёты;
- не выдумывать родительские связи;
- не считать независимые общие папки modules/, submodules/ и technical_components/ полноценной иерархией.

---

# Часть 1. Проверить фактическую структуру

Выполни:

find projects/SNL/meta -type f | sort

Покажи отдельно:

find projects/SNL/meta -type d | sort

Определи:

1. Вложена ли ФП внутрь АС.
2. Вложены ли модули внутрь ФП.
3. Вложены ли подмодули внутрь конкретных модулей.
4. Вложены ли ТК:
   - внутрь АС;
   - внутрь ФП;
   - внутрь модуля;
   - внутрь подмодуля.
5. Есть ли сейчас только общие независимые каталоги:
   - modules/
   - submodules/
   - technical_components/.

Сначала покажи честный результат анализа.

---

# Часть 2. Целевая структура

Структура должна соответствовать примеру наставника:

projects/SNL/meta/as/{AS_NAME}/README.md

projects/SNL/meta/as/{AS_NAME}/fp/{FP_NAME}/README.md

projects/SNL/meta/as/{AS_NAME}/fp/{FP_NAME}/module/{MODULE_NAME}/README.md

projects/SNL/meta/as/{AS_NAME}/fp/{FP_NAME}/module/{MODULE_NAME}/submodule/{SUBMODULE_NAME}/README.md

Для ТК:

projects/SNL/meta/as/{AS_NAME}/tk/{TK_NAME}/README.md

projects/SNL/meta/as/{AS_NAME}/fp/{FP_NAME}/tk/{TK_NAME}/README.md

projects/SNL/meta/as/{AS_NAME}/fp/{FP_NAME}/module/{MODULE_NAME}/tk/{TK_NAME}/README.md

projects/SNL/meta/as/{AS_NAME}/fp/{FP_NAME}/module/{MODULE_NAME}/submodule/{SUBMODULE_NAME}/tk/{TK_NAME}/README.md

Возможные реальные кейсы:

1. АС > ФП > ТК
2. АС > ФП > Модуль > ТК
3. АС > ФП > Модуль > Подмодуль > ТК

---

# Часть 3. Определение связей

Используй только подтверждённые данные из:

- output/HIERARCHY.md;
- output/ARCHITECTURE_TREE.md;
- output/TECH_RESOURCES.md;
- temp_html/*.html;
- breadcrumbs страниц;
- URL страниц;
- таблиц структуры;
- полей Родитель;
- ссылок на связанные объекты.

Не определяй родителя только по сходству названий.

Если связь ТК с модулем или подмодулем не подтверждена, размещай ТК на ближайшем подтверждённом уровне:

projects/SNL/meta/as/SberGeo/fp/SberGeo.СНЛ/tk/{TK_NAME}/README.md

В README.md такого ТК написать:

## Родительская связь

Точная связь с модулем или подмодулем не определена в текущей выгрузке.

Не помещать объект в выдуманный модуль.

---

# Часть 4. Интеграции

Интеграции должны находиться внутри соответствующей АС или ФП.

Для ФП:

projects/SNL/meta/as/SberGeo/fp/SberGeo.СНЛ/integration-flow/{NAME}/README.md

projects/SNL/meta/as/SberGeo/fp/SberGeo.СНЛ/integration/{NAME}/README.md

projects/SNL/meta/as/SberGeo/fp/SberGeo.СНЛ/integration-point/{NAME}/README.md

Не оставлять интеграции только в глобальных корневых папках, если известно, что они относятся к SberGeo.СНЛ.

---

# Часть 5. Атрибуты

Проверить наличие:

projects/SNL/meta/as/SberGeo/attributes/README.md

projects/SNL/meta/as/SberGeo/fp/SberGeo.СНЛ/attributes/README.md

Атрибуты должны быть представлены таблицами Markdown.

Разделы:

- Карточка объекта;
- Ответственность;
- Дополнительные атрибуты;
- Технические атрибуты.

Если данные отсутствуют, написать:

Данные не найдены в текущей выгрузке.

---

# Часть 6. Безопасная миграция

Перед изменением projects/SNL/meta создать резервную копию:

projects/SNL/meta.before-hierarchy-fix

Не копировать резервную папку внутрь самой projects/SNL/meta.

После этого пересоздать projects/SNL/meta через существующий structured_meta_writer.py.

Не переносить файлы вручную, если структура должна формироваться автоматически при каждом запуске.

Исправления должны быть внесены именно в:

scripts/structured_meta_writer.py

или в связанные функции генерации структуры.

---

# Часть 7. Обновить HIERARCHY.md

В HIERARCHY.md добавить раздел:

## Покрытие родительских связей

| Связь | Найдено | Не определено |
|---|---:|---:|
| АС → ФП | ... | ... |
| ФП → Модуль | ... | ... |
| Модуль → Подмодуль | ... | ... |
| ФП → ТК | ... | ... |
| Модуль → ТК | ... | ... |
| Подмодуль → ТК | ... | ... |

Не считать объект связанным, если связь основана только на предположении.

---

# Часть 8. Обновить TASK_COVERAGE.md

Для строки:

Иерархия АС > ФП > Модуль > Подмодуль > ТК

установить:

- Закрыто — если каталоги действительно вложены и все определённые связи отражены;
- Частично — если часть родительских связей объективно отсутствует в META;
- Не закрыто — если структура по-прежнему состоит только из независимых общих папок.

В основании указать фактическое количество:

- подтверждённых связей;
- объектов с неопределённым родителем.

---

# Часть 9. Проверка

Выполнить:

python -m py_compile run_exporter.py scripts/*.py

Затем без браузера:

python scripts/regenerate_reports.py

После этого выполнить:

find projects/SNL/meta/as -type f | sort

Проверить наличие:

projects/SNL/meta/as/SberGeo/README.md

projects/SNL/meta/as/SberGeo/fp/SberGeo.СНЛ/README.md

projects/SNL/meta/as/SberGeo/fp/SberGeo.СНЛ/module/

projects/SNL/meta/as/SberGeo/fp/SberGeo.СНЛ/tk/

projects/SNL/meta/as/SberGeo/fp/SberGeo.СНЛ/integration/

projects/SNL/meta/as/SberGeo/fp/SberGeo.СНЛ/integration-point/

---

# Финальный ответ

Покажи:

# Финальная проверка иерархии

## 1. Как структура выглядела до исправления

## 2. Как структура выглядит после исправления

Показать дерево:

find projects/SNL/meta/as -type f | sort

## 3. Подтверждённые связи

| Тип связи | Количество |
|---|---:|
| АС → ФП | ... |
| ФП → Модуль | ... |
| Модуль → Подмодуль | ... |
| ФП → ТК | ... |
| Модуль → ТК | ... |
| Подмодуль → ТК | ... |

## 4. Неопределённые связи

Список объектов, для которых родитель не подтверждён.

## 5. Какие файлы изменены

## 6. Результат py_compile

## 7. Результат regenerate_reports.py

## 8. Статус TASK_COVERAGE.md

Сколько:

- Закрыто;
- Частично;
- Не закрыто.

## 9. Соответствие фидбеку наставника

| Требование наставника | Статус | Где реализовано |
|---|---|---|
| projects/SNL/meta | ... | ... |
| АС > ФП > Модуль > Подмодуль > ТК | ... | ... |
| Группировка ТК по уровню родителя | ... | ... |
| Атрибуты в табличном формате | ... | ... |
| Инфопотоки | ... | ... |
| Интеграционные взаимодействия | ... | ... |
| Точки взаимодействия | ... | ... |

## 10. Готовность наставнику

Ответить «Да» только если структура каталогов соответствует вложенности из задания наставника.

Если часть связей отсутствует в исходных данных META, написать:

Проект технически готов. Часть родительских связей не определена, поскольку они отсутствуют в доступной выгрузке META; такие объекты размещены на ближайшем подтверждённом уровне и явно помечены.