Загрузка данных
Ты работаешь только в проекте:
/Users/23865613/IdeaProjects/untitled/zadanie2/source_project
Аудит размещения integration-point завершён.
Подтверждено:
- все пять реальных точек взаимодействия относятся к ФП SberGeo.СНЛ;
- непосредственный родитель подтверждён страницей:
/functionalSubsystem/236500/interactionPoints;
- structured_meta_writer.py ошибочно копирует одно и то же временное
поддерево integration-point одновременно на уровень АС и ФП;
- объекты уровня АС являются межуровневыми дублями.
Нужно минимально исправить размещение интеграционных объектов.
Не запускать браузер.
Не обращаться к META.
Не запускать run_exporter.py.
Не выполнять Git-команды.
Не переходить к атрибутам.
Не изменять иерархию АС, ФП, модулей, подмодулей и ТК.
Сохранить безопасную временную пересборку.
======================================================================
1. РЕЗЕРВНЫЕ КОПИИ
======================================================================
Создай:
scripts/structured_meta_writer.py.before-parent-level-fix
projects/SNL/meta.before-parent-level-fix
Если имя уже существует, добавь timestamp.
Если потребуется изменить regenerate_reports.py, создать:
scripts/regenerate_reports.py.before-parent-level-fix
======================================================================
2. ИСПРАВИТЬ АРХИТЕКТУРУ ВРЕМЕННОЙ СБОРКИ
======================================================================
Сейчас одно общее временное поддерево:
build_dir/integration-point
копируется и в каталог АС, и в каталог ФП.
Так делать нельзя, потому что состав объектов на разных уровнях может
отличаться.
Создай отдельные временные поддеревья:
build_dir/as/integration-flow
build_dir/as/integration
build_dir/as/integration-point
build_dir/fp/integration-flow
build_dir/fp/integration
build_dir/fp/integration-point
Каждый объект должен попадать только в поддерево подтверждённого
непосредственного родителя.
Запрещено копировать один общий каталог объектов сразу на два уровня.
======================================================================
3. РАЗМЕЩЕНИЕ ПЯТИ ТОЧЕК
======================================================================
Следующие точки разместить только в:
projects/SNL/meta/as/SberGeo/fp/SberGeo.СНЛ/integration-point/
1. СНЛ REST-API SCIM
2. СНЛ REST-API публикация событий аудита
3. СНЛ IAM Proxy ALPHA
4. СНЛ IAM Proxy SIGMA
5. ТчВ СНЛ Sowa Sigma2Alpha
Ожидаемый результат уровня ФП:
integration-point/
├── README.md
├── СНЛ_REST-API_SCIM/
│ └── README.md
├── СНЛ_REST-API_публикация_событий_аудита/
│ └── README.md
├── СНЛ_IAM_Proxy_ALPHA/
│ └── README.md
├── СНЛ_IAM_Proxy_SIGMA/
│ └── README.md
└── ТчВ_СНЛ_Sowa_Sigma2Alpha/
└── README.md
Фактическая безопасная нормализация имён может незначительно отличаться.
======================================================================
4. УРОВЕНЬ АС
======================================================================
В:
projects/SNL/meta/as/SberGeo/integration-point/
не должно быть дочерних каталогов этих пяти точек.
Оставить только индексный:
projects/SNL/meta/as/SberGeo/integration-point/README.md
Он должен содержать:
- заголовок «Точки взаимодействия АС SberGeo»;
- пояснение, что отдельные точки непосредственного уровня АС
в доступной локальной выгрузке не подтверждены;
- перечень проверенных источников;
- при необходимости ссылку на раздел точек ФП SberGeo.СНЛ,
но не представлять точки ФП как объекты АС.
Не оставлять заглушку «Данные не найдены» без пояснения.
======================================================================
5. INTEGRATION И INTEGRATION-FLOW
======================================================================
Для integration и integration-flow сейчас подтверждено ноль реальных объектов.
На уровнях АС и ФП должны существовать только индексные README.md:
as/SberGeo/integration-flow/README.md
as/SberGeo/integration/README.md
as/SberGeo/fp/SberGeo.СНЛ/integration-flow/README.md
as/SberGeo/fp/SberGeo.СНЛ/integration/README.md
В них указать:
- реальные отдельные объекты не распознаны;
- какие локальные источники проверены;
- заголовки страниц не были приняты за объекты.
Дочерних ложных каталогов быть не должно.
======================================================================
6. REPLACE_TARGETS
======================================================================
Обновить replace_targets так, чтобы каждая цель получала своё поддерево:
- real_as_dir / integration-flow
← build_dir / as / integration-flow
- real_as_dir / integration
← build_dir / as / integration
- real_as_dir / integration-point
← build_dir / as / integration-point
- real_fp_dir / integration-flow
← build_dir / fp / integration-flow
- real_fp_dir / integration
← build_dir / fp / integration
- real_fp_dir / integration-point
← build_dir / fp / integration-point
Не использовать один и тот же src для уровня АС и ФП.
Сохранить атомарную замену:
1. построить временные поддеревья;
2. проверить;
3. заменить только шесть управляемых каталогов;
4. при ошибке не менять текущую структуру.
======================================================================
7. ПРОВЕРКА РОДИТЕЛЯ
======================================================================
В коде должна быть явная функция или логика определения уровня:
- AS;
- FP;
- unresolved.
Не определять уровень по тому, что имя АС встречается в полном пути.
Для пяти точек доказательство уровня ФП:
/functionalSubsystem/236500/interactionPoints
Если родитель объекта не подтверждён:
- не копировать объект на оба уровня;
- поместить его в отчёт о неразмещённых объектах;
- не создавать произвольную связь.
======================================================================
8. ОБНОВИТЬ ОТЧЁТ
======================================================================
Обновить:
output/INTEGRATION_OBJECTS_REPORT.md
Добавить таблицу:
| Объект | Тип | Подтверждённый родитель | Уровень | Созданный путь | Основание |
|---|---|---|---|---|---|
Для пяти точек уровень должен быть FP.
Также добавить раздел:
## Межуровневые дубли
Указать, какие дубли уровня АС были удалены и почему.
======================================================================
9. ПРОВЕРКИ
======================================================================
Выполнить:
python -m py_compile run_exporter.py scripts/*.py
python scripts/regenerate_reports.py
Не запускать run_exporter.py.
Показать:
find projects/SNL/meta/as/SberGeo/integration-point \
-maxdepth 3 -print | sort
find projects/SNL/meta/as/SberGeo/fp/SberGeo.СНЛ/integration-point \
-maxdepth 3 -print | sort
Проверить:
1. На уровне АС:
- только integration-point/README.md;
- 0 дочерних объектов.
2. На уровне ФП:
- один индексный README.md;
- ровно 5 дочерних каталогов;
- каждый содержит README.md.
3. Нет одинакового canonical_key на двух уровнях.
4. Нет:
- unknown;
- названий страниц как объектов;
- двух каталогов SIGMA;
- пустых дочерних каталогов;
- неработающих ссылок в индексах.
5. Повторный запуск:
python scripts/regenerate_reports.py
должен дать тот же набор путей без появления новых дублей.
======================================================================
10. ПОКАЗАТЬ РЕЗУЛЬТАТ
======================================================================
Покажи полный текст:
- AS integration-point/README.md;
- FP integration-point/README.md;
- README одной восстановленной точки;
- output/INTEGRATION_OBJECTS_REPORT.md.
Покажи таблицу:
| Уровень | Integration-flow | Integration | Integration-point |
|---|---:|---:|---:|
| АС | 0 | 0 | 0 |
| ФП | 0 | 0 | 5 |
Индексные README.md в количества реальных объектов не включать.
======================================================================
ФИНАЛЬНЫЙ ОТЧЁТ
======================================================================
# Этап 1.4 — устранение межуровневых дублей
## Изменённые файлы
## Причина дублей
## Новая структура временной сборки
## Подтверждённый родитель пяти точек
## Удалённые объекты уровня АС
## Итог уровня АС
## Итог уровня ФП
## Результат py_compile
## Первый запуск regenerate_reports.py
## Повторный запуск regenerate_reports.py
## Проверка идемпотентности
## Оставшиеся проблемы
В конце явно указать:
- уровень АС: 0 реальных integration-point;
- уровень ФП: 5 реальных integration-point;
- межуровневых дублей: 0.
После выполнения остановиться.
Не переходить к атрибутам.