Загрузка данных
Проведи финальную проверку проекта после исправления выгрузки атрибутов.
Работай только в:
/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.