Загрузка данных
Ты работаешь на корпоративном MacBook в проекте:
/Users/23865613/IdeaProjects/untitled/adt-markdownify-meta-mvp
Контекст:
Уже реализован MVP skill-а adt-markdownify-meta-mvp.
Проект сейчас умеет:
- читать meta_urls.txt;
- открывать страницы META через SberBrowser/Playwright;
- получать HTML через page.content();
- сохранять raw HTML в temp_html/;
- конвертировать HTML в Markdown;
- сохранять Markdown в output/;
- создавать output/README.md;
- создавать output/EXPORT_REPORT.md;
- создавать output/ARCHITECTURE_TREE.md;
- создавать output/INTERACTIONS.md.
Задача второго задания стажировки:
Скилл должен уметь выгружать в markdown-файлы текущую архитектуру АС:
1. Иерархию АС > ФП > Модуль > Подмодуль > Тех-компонент.
2. Точки взаимодействия (ТчВ) + API.
3. Интеграционные взаимодействия (ИВ) + API.
4. Стенды и технические ресурсы (ТР).
Сейчас в meta_urls.txt есть только одна страница:
ФП SberGeo.СНЛ.
Нужно выполнить следующую часть задания:
найти и добавить в meta_urls.txt ссылки на связанные страницы META:
1. Страница АС SberGeo.
2. Страница ФП SberGeo.СНЛ.
3. Страница модуля СНЛ.Интеграции.
4. Страница раздела Интеграции.
5. Страница Точки взаимодействия + API.
6. Страница Стенды.
7. Страница Технические ресурсы.
Важно:
- Сначала попробуй найти эти ссылки автоматически по уже выгруженным данным:
- output/*.md;
- temp_html/*.html;
- output/README.md;
- output/ARCHITECTURE_TREE.md;
- output/INTERACTIONS.md;
- текущему meta_urls.txt.
- Также можно проанализировать HTML на наличие ссылок вида:
/meta/earp/automatedSystem/
/meta/earp/functionalSubsystem/
/meta/earp/module/
/meta/earp/submodule/
/meta/earp/techComponent/
/meta/earp/integration/
/meta/earp/interaction/
/meta/earp/api/
/meta/earp/stand/
/meta/earp/resource/
/meta/earp/technicalResource/
/meta/aac/
/meta/gac/
- Если точный тип URL отличается, не ломай логику — просто найди все ссылки META, которые относятся к структуре, интеграциям, API, стендам и техническим ресурсам.
Очень важно:
- Не выдумывай ссылки.
- Не добавляй ссылки, которых реально нет в HTML/Markdown.
- Не используй API.
- Не используй requests/httpx/aiohttp/urllib.
- Не используй token/cookie/login/password.
- Не сохраняй cookies.
- Не сохраняй sessionStorage/localStorage.
- Не меняй старый проект adt-markdownify-meta.
- Работай только в копии adt-markdownify-meta-mvp.
- Не удаляй уже работающую логику.
- Не запускай массовую выгрузку сразу, сначала сделай поиск и отчёт.
Часть 1. Диагностика ссылок
Проанализируй файлы:
- meta_urls.txt
- output/README.md
- output/ARCHITECTURE_TREE.md
- output/INTERACTIONS.md
- output/*.md
- temp_html/*.html
Найди все ссылки на META.
Сделай отчёт в файле:
output/LINK_DISCOVERY_REPORT.md
В отчёте должны быть разделы:
# Поиск связанных страниц META
## 1. Найденные ссылки
Таблица:
| Тип страницы | Название | URL | Где найдено | Уверенность |
|---|---|---|---|---|
Типы страниц:
- АС
- ФП
- Модуль
- Подмодуль
- ТК
- Точки взаимодействия
- API
- Интеграции
- Стенды
- Технические ресурсы
- Неизвестный тип
## 2. Ссылки, которые нужны для задания
Таблица:
| Требование | Найдено | URL | Комментарий |
|---|---|---|---|
Проверить именно эти требования:
1. Страница АС SberGeo.
2. Страница ФП SberGeo.СНЛ.
3. Страница модуля СНЛ.Интеграции.
4. Страница раздела Интеграции.
5. Страница Точки взаимодействия + API.
6. Страница Стенды.
7. Страница Технические ресурсы.
Если ссылка не найдена, написать:
"Не найдено в текущей выгрузке. Нужно открыть этот раздел в META вручную и добавить URL в meta_urls.txt."
## 3. Что можно добавить автоматически
Список ссылок, которые безопасно можно добавить в meta_urls.txt, потому что они реально найдены в HTML/Markdown.
## 4. Что требует ручного открытия
Список страниц, которые не найдены автоматически.
Часть 2. Автоматическое обновление meta_urls.txt
После анализа:
- создать резервную копию текущего meta_urls.txt:
meta_urls.txt.bak
- обновить meta_urls.txt;
- оставить существующую ссылку ФП SberGeo.СНЛ;
- добавить только реально найденные ссылки;
- не добавлять дубликаты;
- сохранить комментарии;
- использовать формат:
# Страницы META для экспорта в Markdown
# Формат: Название страницы - URL
SberGeo Automated System - URL
SberGeo Functional Subsystem - URL
SNL Integration Module - URL
SberGeo Integration Section - URL
SberGeo Interaction Points and API - URL
SberGeo Stands - URL
SberGeo Technical Resources - URL
Если URL не найден, не добавлять фейковую строку. Вместо этого добавить комментарий:
# TODO: добавить вручную URL страницы "Точки взаимодействия + API", если она не найдена автоматически
Часть 3. Доработка отчётов
Доработай генерацию отчётов так, чтобы после следующего запуска проекта были отдельные файлы:
1. output/HIERARCHY.md
2. output/INTERACTION_POINTS.md
3. output/INTEGRATION_INTERACTIONS.md
4. output/API.md
5. output/STANDS.md
6. output/TECH_RESOURCES.md
7. output/LINK_DISCOVERY_REPORT.md
Можно оставить существующие:
- output/ARCHITECTURE_TREE.md
- output/INTERACTIONS.md
- output/EXPORT_REPORT.md
Но новые файлы должны быть более явно названы под требования задания.
Важно:
Если данных для конкретного отчёта нет, файл всё равно должен создаваться и честно писать:
"Данные не найдены в текущей выгрузке. Добавьте в meta_urls.txt соответствующую страницу META и повторите запуск."
Часть 4. Что именно должно быть в новых файлах
1. output/HIERARCHY.md
Должен показывать:
# Иерархия архитектуры АС
## Автоматизированные системы
- ...
## Функциональные подсистемы
- ...
## Модули
- ...
## Подмодули
- ...
## Технические компоненты
- ...
## Найденные связи
Если удалось определить вложенность:
АС > ФП > Модуль > Подмодуль > ТК
Если вложенность не удалось определить полностью:
написать честно:
"Полная вложенность не определена по текущей выгрузке. Добавьте страницы модулей/подмодулей/ТК в meta_urls.txt."
2. output/INTERACTION_POINTS.md
Должен показывать:
# Точки взаимодействия и API
## Найденные точки взаимодействия
- ...
## Связанные API
- ...
Если данных нет:
"Точки взаимодействия и API не найдены в текущей выгрузке."
3. output/INTEGRATION_INTERACTIONS.md
Должен показывать:
# Интеграционные взаимодействия и API
## Найденные интеграционные взаимодействия
- ...
## Связанные API
- ...
Если данных нет:
"Интеграционные взаимодействия и API не найдены в текущей выгрузке."
4. output/API.md
Должен показывать:
# API
## Найденные API
- ...
Если данных нет:
"API не найдены в текущей выгрузке."
5. output/STANDS.md
Должен показывать:
# Стенды
## Найденные стенды
- ...
Если данных нет:
"Стенды не найдены в текущей выгрузке."
6. output/TECH_RESOURCES.md
Должен показывать:
# Технические ресурсы
## Найденные технические ресурсы
- ...
Туда должны попадать объекты, похожие на:
- DB ...
- Vault ...
- Proxy ...
- sber...
- snl-...
- PL_...
- технические компоненты с кодами EAR.TC...
Если данных нет:
"Технические ресурсы не найдены в текущей выгрузке."
Часть 5. Безопасная проверка
После правок выполни только безопасную проверку синтаксиса:
python -m py_compile run_exporter.py scripts/config_loader.py scripts/scrape_meta.py scripts/html_to_markdown.py scripts/markdown_writer.py
Не запускай python run_exporter.py автоматически, пока не покажешь отчёт.
Часть 6. Итоговый ответ
В конце покажи:
1. Какие ссылки удалось найти автоматически.
2. Какие ссылки не удалось найти.
3. Что добавлено в meta_urls.txt.
4. Какие новые отчёты будут создаваться.
5. Результат py_compile.
6. Какие команды мне выполнить вручную для запуска:
cd /Users/23865613/IdeaProjects/untitled/adt-markdownify-meta-mvp
source .venv/bin/activate
python run_exporter.py
Главный принцип:
Если ссылка не найдена — не придумывать. Лучше честно написать, что её нужно открыть вручную в META и добавить в meta_urls.txt.