Загрузка данных
Ты работаешь в проекте:
/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; такие объекты размещены на ближайшем подтверждённом уровне и явно помечены.