Загрузка данных
Ты продолжаешь работу только в проекте:
/Users/23865613/IdeaProjects/untitled/zadanie2/source_project
Офлайн-проверка завершена. Код, иерархию и размещение существующих 24 ТК
без необходимости больше не изменяй.
Текущая задача — выполнить полноценный браузерный прогон через SberBrowser
и закрыть два частично выполненных требования:
1. реальные атрибуты АС и ФП;
2. проверка и структурирование стендов.
Дополнительно подтвердить отсутствие или наличие:
- integration-flow;
- integration;
- самостоятельных технических ресурсов.
Не выполнять git commit и git push.
======================================================================
1. БЕЗОПАСНОСТЬ
======================================================================
META используется только в read-only режиме.
Запрещено:
- POST;
- PUT;
- PATCH;
- DELETE;
- вводить логин, пароль или токен программно;
- сохранять cookies;
- читать localStorage или sessionStorage;
- использовать API META;
- использовать requests, httpx, aiohttp или urllib для META;
- нажимать кнопки сохранения, создания, редактирования или отправки.
Разрешено:
- открыть URL;
- читать DOM;
- переходить по вкладкам;
- раскрывать безопасные секции;
- прокручивать таблицы;
- сохранять HTML.
Авторизацию выполняет пользователь вручную.
Если META требует авторизацию:
1. открыть SberBrowser;
2. остановиться;
3. вывести сообщение:
«Выполните ручную авторизацию в META и подтвердите продолжение»;
4. продолжить только после подтверждения пользователя.
======================================================================
2. НЕ ПЕРЕЗАПИСЫВАТЬ КОРРЕКТНУЮ ИЕРАРХИЮ
======================================================================
Существующая структура подтверждена:
projects/SNL/meta/as/SberGeo/
└── fp/SberGeo.СНЛ/
├── module/
├── tk/
└── integration-point/
24 ТК находятся на уровне ФП корректно.
Не переносить ТК в module/ или submodule/, если браузерный прогон не найдёт
прямую связь по:
- breadcrumb;
- META URL;
- META ID;
- структурной ссылке страницы.
Не создавать связи по похожим названиям.
======================================================================
3. ВЫПОЛНИТЬ ПОЛНЫЙ БРАУЗЕРНЫЙ ПРОГОН
======================================================================
Запустить основной экспорт проекта через SberBrowser.
Использовать существующую команду запуска из README.md или конфигурации
проекта.
Не ограничиваться запуском:
python scripts/regenerate_reports.py
Нужно запустить именно браузерный сборщик, который:
- открывает страницы META;
- раскрывает вкладки;
- прокручивает виртуальные таблицы;
- сохраняет полный DOM в temp_html/.
Для каждой страницы дождаться окончания загрузки.
Проверить, что вместо HTML-каркаса сохранены реальные строки таблиц.
======================================================================
4. АТРИБУТЫ АС
======================================================================
Открыть страницу АС SberGeo.
Перейти на вкладку «Атрибуты».
Полностью раскрыть и сохранить разделы:
- Карточка АС;
- Ответственность;
- Дополнительные атрибуты;
- Технические атрибуты.
Если таблицы виртуализированы:
- прокручивать каждую таблицу до конца;
- сохранять все строки;
- не ограничиваться видимыми строками;
- проверить количество строк до сохранения HTML.
После сбора сформировать:
projects/SNL/meta/as/SberGeo/attributes/README.md
Каждый раздел должен содержать Markdown-таблицу с реальными строками:
| Поле | Значение |
|---|---|
Не оставлять таблицы только с заголовком.
======================================================================
5. АТРИБУТЫ ФП
======================================================================
Открыть страницу ФП SberGeo.СНЛ.
Перейти на вкладку «Атрибуты».
Аналогично полностью выгрузить:
- Карточку объекта;
- Ответственность;
- Дополнительные атрибуты;
- Технические атрибуты.
Сохранить результат в:
projects/SNL/meta/as/SberGeo/fp/SberGeo.СНЛ/attributes/README.md
Данные АС и ФП не смешивать.
Каждую страницу обрабатывать независимо.
======================================================================
6. СТЕНДЫ
======================================================================
Открыть реальный раздел META, содержащий стенды.
Проверить строки:
- Major-GO;
- DEV;
- ПРОМ;
- Major-Check.
Для каждой строки определить:
- является ли она самостоятельным объектом META;
- является ли она значением поля;
- имеется ли META URL;
- имеется ли META ID;
- какой объект является родителем;
- имеются ли дополнительные поля.
Если это самостоятельные объекты, создать:
projects/SNL/meta/as/{AS}/stands/{NAME}/README.md
или:
projects/SNL/meta/as/{AS}/fp/{FP}/stands/{NAME}/README.md
в зависимости от подтверждённого родителя.
Если это не самостоятельные объекты, не создавать ложные каталоги.
Сохранить таблицу стендов в README родительского раздела и зафиксировать
результат в REQUIREMENTS_REPORT.md.
======================================================================
7. INTEGRATION-FLOW И INTEGRATION
======================================================================
Открыть страницы:
- интеграционных взаимодействий;
- технологических взаимодействий;
- информационных потоков;
- точек взаимодействия.
Полностью прокрутить таблицы.
Проверить, существуют ли реальные объекты:
- integration-flow;
- integration;
- integration-point.
Название страницы или раздела не является объектом.
Не создавать каталоги с именами:
- Интеграционные взаимодействия;
- Технологические взаимодействия;
- Точки взаимодействия;
- Инфопотоки;
- unknown;
- Наименование;
- В эксплуатации.
Если реальные integration-flow или integration существуют, создать отдельный
каталог для каждого объекта у подтверждённого родителя.
Если после полного просмотра объектов нет, сохранить статус:
«Не применимо: отдельные объекты отсутствуют в данных META».
Пять существующих interaction-point должны остаться только на уровне ФП.
======================================================================
8. ТЕХНИЧЕСКИЕ РЕСУРСЫ
======================================================================
Открыть раздел технических ресурсов.
Проверить, являются ли данные в output/TECH_RESOURCES.md:
- самостоятельными техническими ресурсами;
- повторным списком технических компонентов.
Не создавать дубли 24 ТК.
Если обнаружены самостоятельные ресурсы, создать README для каждого объекта
у подтверждённого родителя.
Если самостоятельных ресурсов нет, установить статус:
«Не применимо: самостоятельные технические ресурсы отсутствуют в META».
======================================================================
9. ОБНОВИТЬ ЦЕЛЕВУЮ СТРУКТУРУ
======================================================================
После браузерного сбора запустить штатную генерацию структуры:
projects/SNL/meta
Проверить:
- реальные атрибуты появились в attributes/README.md;
- строки таблиц не потерялись;
- стенды обработаны;
- integration-flow и integration проверены;
- технические ресурсы проверены;
- ТК не переместились без подтверждённых связей;
- дубли не появились.
======================================================================
10. ПРОВЕРКИ
======================================================================
Выполнить:
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-browser-first.sha
Повторно выполнить:
python scripts/regenerate_reports.py
Создать вторые контрольные суммы:
find projects/SNL/meta -type f -print0 |
sort -z |
xargs -0 shasum > /tmp/meta-browser-second.sha
Сравнить:
diff -u /tmp/meta-browser-first.sha /tmp/meta-browser-second.sha
Ожидаемый результат — пустой diff.
======================================================================
11. ОБНОВИТЬ ОТЧЁТЫ
======================================================================
Обновить:
output/TASK_COVERAGE.md
output/REQUIREMENTS_REPORT.md
output/UNMIGRATED_META_DATA.md
В TASK_COVERAGE:
- атрибуты отметить «Закрыто» только при наличии реальных строк;
- стенды отметить «Закрыто» или «Не применимо» по фактическому результату;
- integration-flow и integration отметить по результату полного просмотра;
- технические ресурсы отметить по результату полного просмотра;
- не учитывать Git-ветку;
- не считать индексный README реальным объектом.
======================================================================
12. ФИНАЛЬНЫЙ ОТЧЁТ
======================================================================
В конце вывести:
# Результат браузерного прогона META
## Авторизация
## Запущенная команда
## Обработанные URL
## Сохранённые HTML
## Атрибуты АС
## Атрибуты ФП
## Стенды
## Integration-flow
## Integration
## Integration-point
## Технические ресурсы
## Иерархия ТК
## Результат py_compile
## Идемпотентность
## Обновлённые отчёты
## Итоговая таблица
Формат:
| Требование | Статус | Доказательство |
|---|---|---|
Отдельно указать:
- число строк каждой таблицы атрибутов;
- число обнаруженных стендов;
- число integration-flow;
- число integration;
- число integration-point;
- число самостоятельных технических ресурсов;
- какие URL были полностью обработаны;
- какие страницы не удалось загрузить;
- остались ли частично выполненные требования.
Не выполнять commit и push.
После завершения остановиться.