Загрузка данных


Ты работаешь на корпоративном 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.