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


Проведи финальную проверку проекта после исправления выгрузки атрибутов.

Работай только в:

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

На этом этапе ничего не исправляй автоматически.

Не запускай браузер.
Не обращайся к META.
Не выполняй git add, commit, push, reset, clean, restore или stash.
Используй только текущие файлы проекта, temp_html/, output/ и
projects/SNL/meta/.

Задача — независимо проверить фактическое состояние результата и доказать
выполнение требований по файлам, а не по предыдущим отчётам GigaCode.

======================================================================
1. ПРОВЕРИТЬ ЦЕЛЕВУЮ СТРУКТУРУ
======================================================================

Выполни:

find projects/SNL/meta -type f | sort

Проверь, что внутри projects/SNL/meta на верхнем уровне находится только:

projects/SNL/meta/as

Не должны существовать восстановленные старые каталоги:

- hierarchy/
- modules/
- submodules/
- technical_components/
- integration_interactions/
- interaction_points/
- integration_points/
- stands/
- tech_resources/

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

======================================================================
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}/fp/{FP_NAME}/tk/{TK_NAME}/README.md

Дополнительно проверить наличие ТК внутри module/ или submodule/.

Если таких ТК нет, подтвердить по META URL, ID или breadcrumb, что для них
не найдена более глубокая родительская связь.

Не считать отсутствие связи ошибкой.

======================================================================
3. ПРОВЕРИТЬ УНИКАЛЬНОСТЬ ОБЪЕКТОВ
======================================================================

Для всех README.md извлечь:

- тип объекта;
- META URL;
- META ID;
- путь файла.

Проверить:

- одинаковые META ID;
- одинаковые META URL;
- одинаковые объекты в разных каталогах;
- латинские и кириллические варианты одного объекта;
- повторения между уровнями АС и ФП.

Создать или обновить:

output/DUPLICATE_OBJECTS_REPORT.md

Формат:

| META ID | META URL | Название | Пути | Статус |
|---:|---|---|---|---|

Если два каталога относятся к одному META ID или URL, это дубль независимо
от различия названий.

======================================================================
4. ПРОВЕРИТЬ README ОБЪЕКТОВ
======================================================================

Для каждого README архитектурного объекта проверить наличие:

- названия;
- типа объекта;
- META URL;
- META ID, если доступен;
- родителя;
- содержательных данных.

Отдельно вывести пустые или практически пустые README.

Индексные README каталогов integration-flow, integration и
integration-point не считать отдельными META-объектами.

======================================================================
5. ПРОВЕРИТЬ АТРИБУТЫ
======================================================================

Полностью проверить:

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

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

Для каждого файла подтвердить наличие разделов:

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

Для каждого раздела показать:

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

Проверить, что:

- данные АС и ФП различаются и не смешаны;
- таблицы находятся непосредственно в projects/SNL/meta;
- это не только ссылки или сводка по файлам из output/;
- HTML-теги отсутствуют;
- таблицы не продублированы.

======================================================================
6. ПРОВЕРИТЬ ИНТЕГРАЦИИ
======================================================================

Проверить уровни АС и ФП отдельно.

Уровень АС:

projects/SNL/meta/as/SberGeo/integration-flow/
projects/SNL/meta/as/SberGeo/integration/
projects/SNL/meta/as/SberGeo/integration-point/

Уровень ФП:

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

Разделить:

- индексные README;
- дочерние каталоги реальных объектов.

Проверить отсутствие ложных объектов:

- unknown;
- Интеграционные взаимодействия;
- Точки взаимодействия;
- Стенды;
- названия страниц и разделов вместо объектов.

Подтвердить, что пять найденных interaction-point существуют только на
уровне ФП.

Показать названия всех пяти точек и их META URL или другой источник
идентичности.

======================================================================
7. ПРОВЕРИТЬ СТЕНДЫ И ТЕХНИЧЕСКИЕ РЕСУРСЫ
======================================================================

Выполнить поиск по:

- temp_html/;
- output/;
- projects/SNL/meta/.

Искать реальные объекты стендов и технических ресурсов.

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

Вывести:

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

======================================================================
8. ПРОВЕРИТЬ НЕПЕРЕНЕСЁННЫЕ ДАННЫЕ
======================================================================

Проверить:

output/UNMIGRATED_META_DATA.md

Убедиться, что все полезные данные из удалённой старой структуры либо:

- представлены в projects/SNL/meta/as;
- сохранены в техническом отчёте с объяснением;
- отмечены как не относящиеся к отдельному META-объекту.

Особенно проверить данные:

- ius-request-approval;
- integration_interactions;
- interaction_points;
- старой hierarchy.

Не допускать утверждения «перенесено» без целевого пути или доказательства.

======================================================================
9. ПРОВЕРИТЬ ИДЕМПОТЕНТНОСТЬ
======================================================================

До запуска сохранить:

find projects/SNL/meta -type f -print0 | sort -z | xargs -0 shasum \
> /tmp/meta-before.sha

Выполнить:

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

python scripts/regenerate_reports.py

После первого запуска:

find projects/SNL/meta -type f -print0 | sort -z | xargs -0 shasum \
> /tmp/meta-after-first.sha

Повторно выполнить:

python scripts/regenerate_reports.py

После второго запуска:

find projects/SNL/meta -type f -print0 | sort -z | xargs -0 shasum \
> /tmp/meta-after-second.sha

Сравнить:

diff -u /tmp/meta-after-first.sha /tmp/meta-after-second.sha

Дополнительно сравнить списки файлов и их количество.

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

Изменение технических временных меток в отчётах output/ не считать
изменением архитектурных объектов.

======================================================================
10. ПРОВЕРИТЬ ОЧИСТКУ ДЛЯ ОБЩЕГО РЕПОЗИТОРИЯ
======================================================================

Выполнить:

grep -RniE \
'наставник|наставника|наставнику|mentor|mentoring|MENTOR_REQUIREMENTS_REPORT|фидбек наставника|требования наставника' \
. \
--exclude-dir=.git \
--exclude-dir=.venv \
--exclude-dir=__pycache__

И:

grep -RniE \
'/Users/23865613|IdeaProjects/untitled/zadanie2|/Users/23865613/snl-ai-spec' \
. \
--exclude-dir=.git \
--exclude-dir=.venv \
--exclude-dir=__pycache__

Обе проверки должны вернуть пустой результат.

Проверить, что существует:

output/REQUIREMENTS_REPORT.md

И отсутствует:

output/MENTOR_REQUIREMENTS_REPORT.md

======================================================================
11. ПРОВЕРИТЬ TASK_COVERAGE
======================================================================

Прочитать:

output/TASK_COVERAGE.md

Сопоставить каждый статус с фактическими файлами.

Не доверять автоматически указанному статусу.

Для каждого требования вывести:

- заявленный статус;
- фактический статус;
- доказательство;
- расхождение, если оно есть.

Статус «Закрыто» допустим только при наличии реального результата.

======================================================================
12. ИТОГОВАЯ СТАТИСТИКА
======================================================================

Вывести:

- количество АС;
- количество ФП;
- количество уникальных модулей;
- количество уникальных подмодулей;
- количество уникальных ТК;
- количество реальных integration-flow уровня АС;
- количество реальных integration уровня АС;
- количество реальных integration-point уровня АС;
- количество реальных integration-flow уровня ФП;
- количество реальных integration уровня ФП;
- количество реальных integration-point уровня ФП;
- количество дублей по META ID;
- количество дублей по META URL;
- количество пустых README;
- количество неперенесённых уникальных объектов.

Не считать индексные README реальными интеграционными объектами.

======================================================================
13. ФИНАЛЬНЫЙ ВЕРДИКТ
======================================================================

Обновить:

output/REQUIREMENTS_REPORT.md

В конце вывести:

# Финальная независимая проверка

## Целевая структура

## Иерархия

## Уникальность объектов

## README объектов

## Атрибуты АС

## Атрибуты ФП

## Интеграции уровня АС

## Интеграции уровня ФП

## Стенды

## Технические ресурсы

## Неперенесённые данные

## Идемпотентность

## Очистка для общего репозитория

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

## Сверка TASK_COVERAGE

## Итоговая статистика

## Финальный статус

Финальный статус выбрать только из:

- Готово;
- Готово с ограничениями исходных данных;
- Не готово.

Если есть незакрытые технические ошибки, использовать «Не готово».

Если отсутствуют только сущности или связи, которых нет в сохранённых данных
META, использовать «Готово с ограничениями исходных данных».

Перечислить все файлы, которые были изменены во время предыдущих этапов,
но в рамках этой проверки ничего не менять, кроме обновления отчётов:

- output/REQUIREMENTS_REPORT.md;
- output/DUPLICATE_OBJECTS_REPORT.md;
- при необходимости output/TASK_COVERAGE.md.

После завершения остановиться.

Не выполнять commit и push.