Загрузка данных
Ты работаешь только в проекте:
/Users/23865613/IdeaProjects/untitled/zadanie2/source_project
Успешно завершены:
- структурирование интеграций;
- устранение межуровневых дублей;
- офлайн-выгрузка четырёх разделов атрибутов АС и ФП;
- py_compile;
- идемпотентная регенерация.
Теперь начинается этап 3.0 — аудит архитектурных дублей, стендов,
технических ресурсов и старой плоской структуры.
На этом этапе ничего не изменяй.
Запрещено:
- запускать браузер;
- обращаться к META;
- запускать run_exporter.py;
- изменять Python-код;
- изменять Markdown;
- удалять или перемещать каталоги;
- выполнять Git-команды;
- выполнять очистку;
- создавать резервные копии, поскольку изменений пока не будет.
Работай только с существующими локальными файлами:
- projects/SNL/meta;
- output/*.md;
- temp_html/*.html;
- scripts/*.py.
======================================================================
1. ПОКАЗАТЬ ТЕКУЩУЮ ЦЕЛЕВУЮ ИЕРАРХИЮ
======================================================================
Покажи дерево:
projects/SNL/meta/as/SberGeo
с глубиной, достаточной для отображения:
- АС;
- ФП;
- модулей;
- подмодулей;
- ТК;
- integration-flow;
- integration;
- integration-point;
- attributes;
- стендов;
- технических ресурсов.
Использовать:
find projects/SNL/meta/as/SberGeo \
-maxdepth 9 -print | sort
Отдельно подсчитать:
- количество АС;
- количество ФП;
- количество модулей;
- количество подмодулей;
- количество ТК;
- количество стендов;
- количество технических ресурсов.
======================================================================
2. НАЙТИ ДУБЛИ МОДУЛЕЙ И ПОДМОДУЛЕЙ
======================================================================
Проверить возможные дубли, возникающие из-за:
- русских и латинских букв;
- `SNL` и `СНЛ`;
- разных регистров;
- дефисов, точек и подчёркиваний;
- пробелов;
- полного и сокращённого названия;
- одинакового META URL;
- одинакового META ID.
Особенно проверить:
- SNL.AI и СНЛ.AI;
- SNL.Integrations и СНЛ.Интеграции;
- другие каталоги, различающиеся только алфавитом или нормализацией.
Для каждого объекта собрать:
| Тип | Каталог | Название в README | URL | META ID | Возможный дубль |
|---|---|---|---|---:|---|
Дубль подтверждать только по:
1. одинаковому META ID;
2. одинаковому нормализованному URL;
3. явно одинаковому объекту в исходном HTML.
Одного похожего имени недостаточно.
======================================================================
3. ПРОВЕРИТЬ РАЗМЕЩЕНИЕ ТК
======================================================================
Наставник допускает:
АС → ФП → ТК
АС → ФП → Модуль → ТК
АС → ФП → Модуль → Подмодуль → ТК
Проверить каждый ТК.
Для каждого показать:
| ТК | Текущий родитель | Источник связи | Подтверждённый родитель | Текущий путь | Статус |
|---|---|---|---|---|---|
Статусы:
- корректно размещён;
- размещён у ближайшего подтверждённого родителя;
- родитель не определён;
- вероятный дубль;
- ошибочно размещён.
Не придумывать связь Модуль → ТК или Подмодуль → ТК, если она отсутствует
в локальных данных.
======================================================================
4. ПРОВЕРИТЬ СТЕНДЫ
======================================================================
Найти все данные о стендах в:
- projects/SNL/meta;
- output/*.md;
- temp_html/*.html.
Показать текущие каталоги, включая возможные старые:
- stands/;
- hierarchy/...;
- другие места.
Для каждого найденного стенда показать:
| Стенд | Источник | Родитель | Текущий путь | Требуемый путь | Данные реальные |
|---|---|---|---|---|---:|
Определить:
- к какому объекту относится стенд;
- должен ли он находиться внутри АС, ФП, модуля, подмодуля или ТК;
- имеется ли подтверждение непосредственного родителя;
- является ли существующий README заглушкой.
Если требования наставника не задают точный каталог стендов, не выдумывать
новую схему. Отдельно указать это как нерешённый вопрос.
======================================================================
5. ПРОВЕРИТЬ ТЕХНИЧЕСКИЕ РЕСУРСЫ
======================================================================
Найти все данные о технических ресурсах в:
- tech_resources/;
- technical_components/;
- hierarchy/;
- output/*.md;
- temp_html/*.html;
- целевой структуре as/.
Не смешивать:
- технический компонент;
- технический ресурс;
- стенд.
Для каждого технического ресурса показать:
| Ресурс | Тип | Источник | Родитель | Текущий путь | Реальные данные |
|---|---|---|---|---|---:|
Определить:
- существуют ли реальные записи;
- где они должны находиться;
- созданы ли в целевой иерархии;
- остались ли только в старой плоской структуре;
- являются ли README пустыми заглушками.
======================================================================
6. НАЙТИ СТАРЫЕ ПЛОСКИЕ КАТАЛОГИ
======================================================================
Проверить наличие:
projects/SNL/meta/hierarchy
projects/SNL/meta/modules
projects/SNL/meta/submodules
projects/SNL/meta/technical_components
projects/SNL/meta/stands
projects/SNL/meta/tech_resources
projects/SNL/meta/integration_interactions
projects/SNL/meta/interaction_points
projects/SNL/meta/integration_points
Для каждого каталога показать:
| Каталог | Количество файлов | Уникальные данные | Уже перенесены в as/ | Можно удалить позже |
|---|---:|---|---:|---:|
Каталог нельзя считать лишним, пока не подтверждено, что все уникальные
данные из него существуют в целевой структуре.
======================================================================
7. ПРОВЕРИТЬ README НА УНИКАЛЬНОСТЬ ДАННЫХ
======================================================================
Для старых и новых README сравнить:
- URL;
- META ID;
- название объекта;
- таблицы;
- атрибуты;
- описание;
- связи;
- API;
- стенды;
- ресурсы.
Определить, есть ли данные, которые пока существуют только в старых каталогах.
Составить таблицу:
| Старый файл | Новый файл | Данные совпадают | Уникальные данные старого файла |
|---|---|---:|---|
======================================================================
8. ПРОВЕРИТЬ ССЫЛКИ
======================================================================
Проверить Markdown-ссылки внутри:
projects/SNL/meta/as/SberGeo
Определить:
- не ведут ли они в старые каталоги;
- существуют ли целевые файлы;
- нет ли ссылок на удалённые или несуществующие пути;
- нет ли ссылок между дублями одного объекта.
Показать список неработающих или устаревших ссылок.
Ничего не исправлять.
======================================================================
9. ПРОВЕРИТЬ STRUCTURED_META_WRITER
======================================================================
Прочитать:
scripts/structured_meta_writer.py
Определить:
- создаёт ли он при каждой регенерации старые плоские каталоги;
- какие каталоги являются управляемыми writer;
- какие каталоги остались от старой версии;
- создаёт ли writer стенды и технические ресурсы;
- может ли writer снова восстановить удалённые старые каталоги;
- где реализована нормализация имён модулей и ТК;
- почему могут появляться SNL и СНЛ как разные каталоги.
Показать функции и условия, требующие возможного изменения.
======================================================================
10. СОПОСТАВИТЬ С ТРЕБОВАНИЯМИ НАСТАВНИКА
======================================================================
Проверить:
1. АС → ФП → ТК.
2. АС → ФП → Модуль → ТК.
3. АС → ФП → Модуль → Подмодуль → ТК.
4. README каждого архитектурного объекта.
5. Таблицы атрибутов.
6. Integration-flow уровня АС и ФП.
7. Integration уровня АС и ФП.
8. Integration-point уровня АС и ФП.
9. Отсутствие выдуманных связей.
10. Отсутствие межуровневых дублей.
Составить таблицу:
| Требование | Фактический статус | Доказательство | Что осталось |
|---|---|---|---|
======================================================================
11. ПЛАН МИНИМАЛЬНОГО ИСПРАВЛЕНИЯ
======================================================================
Предложить план без реализации:
1. какие подтверждённые дубли объединить;
2. какие каталоги оставить;
3. какие старые каталоги можно удалить только после переноса данных;
4. какие уникальные данные сначала перенести;
5. какие функции structured_meta_writer.py изменить;
6. нужно ли менять regenerate_reports.py;
7. требуется ли браузерный прогон;
8. какие вопросы нельзя решить без уточнения наставника.
Не выполнять план.
======================================================================
ФИНАЛЬНЫЙ ОТЧЁТ
======================================================================
# Этап 3.0 — аудит целевой структуры и старых каталогов
## Текущая целевая иерархия
## Дубли модулей
## Размещение технических компонентов
## Стенды
## Технические ресурсы
## Старые плоские каталоги
## Уникальные данные старой структуры
## Неработающие ссылки
## Поведение structured_meta_writer.py
## Соответствие требованиям наставника
## Что можно исправить офлайн
## Что требует уточнения наставника
## Минимальный план следующего этапа
В конце явно указать:
- количество подтверждённых дублей;
- количество вероятных, но неподтверждённых дублей;
- количество ТК с подтверждённым родителем;
- количество ТК с неопределённым родителем;
- есть ли реальные стенды;
- есть ли реальные технические ресурсы;
- можно ли уже безопасно удалить старую плоскую структуру;
- нужен ли повторный браузерный прогон.
Ничего не изменять и остановиться.