Загрузка данных
Ты работаешь на корпоративном MacBook.
Рабочий проект находится здесь:
/Users/23865613/IdeaProjects/untitled/adt-markdownify-meta-mvp
Важно:
Никакую копию проекта создавать НЕ нужно.
Не создавай adt-markdownify-meta-mvp2.
Работай только в текущем проекте:
/Users/23865613/IdeaProjects/untitled/adt-markdownify-meta-mvp
Цель:
Доработать текущий проект adt-markdownify-meta-mvp так, чтобы он максимально полно соответствовал второму заданию стажировки.
Скилл должен уметь выгружать в markdown-файлы текущую архитектуру АС:
1. Иерархию:
АС > ФП > Модуль > Подмодуль > Тех-компонент
2. Точки взаимодействия + API
3. Интеграционные взаимодействия + API
4. Стенды
5. Технические ресурсы
Важно:
- Не переписывай проект с нуля.
- Не удаляй уже работающие функции.
- Не ломай запуск через SberBrowser/Playwright.
- Не используй API META.
- Не используй requests/httpx/aiohttp/urllib.
- Не добавляй token/cookie/login/password.
- Не сохраняй cookies/sessionStorage/localStorage.
- Не делай авторизацию в коде.
- Авторизация только вручную через браузер.
- Не удаляй уже существующие отчеты.
- Не работай в старом проекте adt-markdownify-meta.
- Не создавай новую копию проекта.
- Все изменения делай только в adt-markdownify-meta-mvp.
Перейди в проект:
cd /Users/23865613/IdeaProjects/untitled/adt-markdownify-meta-mvp
Перед изменениями проанализируй текущую структуру проекта:
find . -maxdepth 3 -type f | sort
Обязательно изучи файлы:
- README.md
- SKILL.md
- DEMO.md
- DEMO_MVP.md
- meta_urls.txt
- meta_exporter.yaml
- meta_exporter.yaml.example
- run_exporter.py
- scripts/config_loader.py
- scripts/scrape_meta.py
- scripts/html_to_markdown.py
- scripts/markdown_writer.py
- output/HIERARCHY.md
- output/INTERACTION_POINTS.md
- output/INTEGRATION_INTERACTIONS.md
- output/API.md
- output/STANDS.md
- output/TECH_RESOURCES.md
- output/ARCHITECTURE_TREE.md
- output/INTERACTIONS.md
- output/LINK_DISCOVERY_REPORT.md
- output/EXPORT_REPORT.md
- output/README.md
Сначала напиши короткий отчет:
1. Какие требования задания уже закрыты.
2. Какие требования закрыты частично.
3. Что нужно доработать в текущем mvp.
4. Какие файлы будешь менять.
5. Какие файлы не будешь трогать.
После анализа выполни доработки.
---
## Часть 1. Улучшить meta_urls.txt
Нужно сделать так, чтобы meta_urls.txt был не черновым списком, а аккуратным списком страниц для полной архитектурной выгрузки.
В meta_urls.txt должны быть отдельные секции с комментариями:
# 1. Автоматизированная система
# 2. Функциональная подсистема
# 3. Модули
# 4. Подмодули
# 5. Точки взаимодействия + API
# 6. Интеграционные взаимодействия + API
# 7. Стенды
# 8. Технические ресурсы
Если точный URL раздела неизвестен, не выдумывай его. Оставь TODO-комментарий:
# TODO: вручную открыть раздел "Точки взаимодействия + API" в META и добавить URL
# TODO: вручную открыть раздел "Интеграционные взаимодействия + API" в META и добавить URL
# TODO: вручную открыть раздел "Стенды" в META и добавить URL
# TODO: вручную открыть раздел "Технические ресурсы" в META и добавить URL
Важно:
- Не добавляй шумные строки технических компонентов вида snl-..., DB..., Vault..., Proxy... как отдельные URL, если они уже извлекаются из страниц АС/ФП.
- Не добавляй URL без https://.
- Не добавляй неполные URL.
- Не добавляй дубликаты.
- Перед правкой создай резервную копию:
meta_urls.txt.before-final-mvp.bak
---
## Часть 2. Добавить или улучшить отчет покрытия задания
Проверь, есть ли файл:
output/TASK_COVERAGE.md
Если его нет — добавь его генерацию.
Если он уже есть — улучши его.
Этот отчет должен создаваться при каждом запуске проекта.
В нем должна быть таблица:
| Требование задания | Статус | Откуда берутся данные | Комментарий |
|---|---|---|---|
Строки:
1. Иерархия АС > ФП > Модуль > Подмодуль > ТК
2. Точки взаимодействия + API
3. Интеграционные взаимодействия + API
4. Стенды
5. Технические ресурсы
6. Безопасность: нет API
7. Безопасность: нет token/cookie/login/password
8. Выгрузка HTML
9. Выгрузка Markdown
10. Индекс README.md
11. Отчет EXPORT_REPORT.md
Статусы:
- "Закрыто" — если данные реально найдены и отчет не пустой.
- "Частично" — если отчет создан, но данные получены только из общей страницы или есть TODO по точному URL.
- "Не закрыто" — если нет данных и нет URL.
Логика должна быть простой и надежной:
- если файл output/HIERARCHY.md существует и не пустой — иерархия закрыта;
- если output/INTERACTION_POINTS.md существует и содержит не только заголовки — ТчВ частично или закрыто;
- если output/INTEGRATION_INTERACTIONS.md существует и содержит не только заголовки — ИВ частично или закрыто;
- если output/STANDS.md существует и содержит данные — стенды частично или закрыто;
- если output/TECH_RESOURCES.md существует и содержит данные — техресурсы закрыты или частично;
- если в meta_urls.txt есть TODO по разделу — статус "Частично" или "Не закрыто" с комментарием "Нужен ручной URL".
Если функции нет, добавь в scripts/markdown_writer.py:
write_task_coverage_report(output_dir: str, meta_urls_file: str) -> Path
И вызови ее после основного экспорта в scripts/scrape_meta.py.
---
## Часть 3. Разделить “извлечено автоматически” и “требует ручного URL”
Сейчас проект может создавать файлы INTERACTION_POINTS.md, INTEGRATION_INTERACTIONS.md, API.md, STANDS.md, TECH_RESOURCES.md даже если точная страница не была добавлена.
Нужно сделать так, чтобы внутри каждого такого отчета было понятно:
1. Что реально найдено автоматически.
2. Что не найдено.
3. Что нужно добавить вручную в meta_urls.txt.
Для файлов:
- output/INTERACTION_POINTS.md
- output/INTEGRATION_INTERACTIONS.md
- output/API.md
- output/STANDS.md
- output/TECH_RESOURCES.md
добавь в конец каждого отчета блок:
---
## Ограничение MVP
Этот отчет сформирован на основе уже выгруженных страниц META.
Для полной детализации нужно добавить в meta_urls.txt точный URL соответствующего раздела META, если он доступен в интерфейсе:
- Точки взаимодействия + API
- Интеграционные взаимодействия + API
- API
- Стенды
- Технические ресурсы
Если отдельная страница раздела не найдена автоматически, открой ее вручную в META, скопируй URL из адресной строки и добавь в meta_urls.txt.
Но не добавляй этот текст в каждый файл грубо руками. Лучше сделай общую функцию, например:
append_mvp_limitation(markdown: str, section_name: str) -> str
или добавь это в функции генерации отчетов в markdown_writer.py.
---
## Часть 4. Улучшить HIERARCHY.md
Файл output/HIERARCHY.md должен явно показывать структуру:
# Иерархия архитектуры META
## Автоматизированная система
- Геоинформационная система SberGeo
## Функциональные подсистемы
- SberGeo.СНЛ
## Модули
- СНЛ.Sowa SIGMA
- СНЛ.AI
- СНЛ.Запросы
- СНЛ.Расчеты
- СНЛ.Интеграции
- СНЛ.Интерфейс оператора данных
- СНЛ.Пользовательский интерфейс
## Подмодули
Если подмодули не найдены, явно написать:
- Не найдены в выгруженных страницах. Для полной выгрузки нужно добавить URL страниц модулей/подмодулей в meta_urls.txt.
## Технические компоненты
Список найденных технических компонентов.
Важно:
- Не выдумывай объекты.
- Используй только данные, которые уже реально извлекаются из HTML/Markdown.
- Если данных нет — честно пиши "Не найдено в выгруженных страницах".
---
## Часть 5. Улучшить LINK_DISCOVERY_REPORT.md
Файл output/LINK_DISCOVERY_REPORT.md должен помогать пользователю руками добрать недостающие ссылки.
Добавь в него раздел:
## Какие ссылки нужно найти вручную
Список:
1. Точки взаимодействия + API
Где искать: левая панель META → Интеграции → Точки взаимодействия / API, если такой раздел есть.
Что сделать: открыть раздел, скопировать URL из адресной строки, добавить в meta_urls.txt.
2. Интеграционные взаимодействия + API
Где искать: левая панель META → Интеграции.
Что сделать: открыть раздел, скопировать URL из адресной строки, добавить в meta_urls.txt.
3. Стенды
Где искать: левая панель META → Стенды.
Что сделать: открыть раздел, скопировать URL из адресной строки, добавить в meta_urls.txt.
4. Технические ресурсы
Где искать: структура ФП/АС или карточки технических компонентов.
Что сделать: если нужен детальный уровень ТК, добавить только важные URL ТК, а не все подряд.
Также добавь раздел:
## Найденные ссылки
Сгруппируй найденные ссылки по типам:
- АС
- ФП
- Модули
- ТК
- GAC/соответствие стандартам
- прочее
---
## Часть 6. Улучшить EXPORT_REPORT.md
В output/EXPORT_REPORT.md нужно добавить блок:
## Соответствие заданию
Таблица:
| Блок задания | Файл результата | Статус |
|---|---|---|
| Иерархия АС > ФП > Модуль > Подмодуль > ТК | HIERARCHY.md | ... |
| Точки взаимодействия + API | INTERACTION_POINTS.md | ... |
| Интеграционные взаимодействия + API | INTEGRATION_INTERACTIONS.md | ... |
| API | API.md | ... |
| Стенды | STANDS.md | ... |
| Технические ресурсы | TECH_RESOURCES.md | ... |
Статус должен быть честным:
- "Закрыто"
- "Частично"
- "Требует ручного URL"
---
## Часть 7. Обновить README.md
README.md должен выглядеть как README готового MVP, а не черновика.
Заголовок должен быть:
# adt-markdownify-meta-mvp
Не переименовывай проект в mvp2.
Добавь или обнови разделы:
## Назначение
Скилл выгружает страницы META через браузер и формирует Markdown-отчеты по архитектуре АС.
## Что выгружается
- Иерархия АС > ФП > Модуль > Подмодуль > ТК
- Точки взаимодействия + API
- Интеграционные взаимодействия + API
- API
- Стенды
- Технические ресурсы
## Как работает
1. Пользователь вручную авторизуется в SberBrowser.
2. Скрипт открывает URL из meta_urls.txt.
3. Получает HTML через Playwright.
4. Сохраняет HTML в temp_html/.
5. Конвертирует HTML в Markdown.
6. Формирует отчеты в output/.
## Безопасность
- API не используется.
- Токены не используются.
- Cookies не сохраняются.
- Логины/пароли не сохраняются.
- Авторизация выполняется вручную в браузере.
## Ограничения MVP
- Полнота выгрузки зависит от URL в meta_urls.txt.
- Если отдельные разделы META не найдены автоматически, их нужно открыть вручную и добавить URL.
- Некоторые данные могут извлекаться из общей страницы ФП/АС, а не из отдельной страницы раздела.
## Файлы результата
Опиши каждый файл:
- output/HIERARCHY.md
- output/INTERACTION_POINTS.md
- output/INTEGRATION_INTERACTIONS.md
- output/API.md
- output/STANDS.md
- output/TECH_RESOURCES.md
- output/TASK_COVERAGE.md
- output/LINK_DISCOVERY_REPORT.md
- output/EXPORT_REPORT.md
- output/README.md
## Запуск
Оставь команды:
cd /Users/23865613/IdeaProjects/untitled/adt-markdownify-meta-mvp
source .venv/bin/activate
python run_exporter.py
## Проверка
python -m py_compile run_exporter.py scripts/config_loader.py scripts/scrape_meta.py scripts/html_to_markdown.py scripts/markdown_writer.py
---
## Часть 8. Обновить SKILL.md
SKILL.md должен описывать именно skill для GigaCode.
Заголовок должен быть:
# adt-markdownify-meta-mvp
Добавь:
## Назначение skill-а
Выгрузка архитектуры АС из META в Markdown.
## Входные данные
- meta_urls.txt
- meta_exporter.yaml
## Выходные данные
- output/HIERARCHY.md
- output/INTERACTION_POINTS.md
- output/INTEGRATION_INTERACTIONS.md
- output/API.md
- output/STANDS.md
- output/TECH_RESOURCES.md
- output/TASK_COVERAGE.md
- output/EXPORT_REPORT.md
- output/README.md
## Правила безопасности
- Не использовать API.
- Не использовать токены.
- Не использовать cookies.
- Не сохранять авторизационные данные.
- Не выполнять login/password в коде.
## Алгоритм
1. Прочитать конфиг.
2. Прочитать meta_urls.txt.
3. Открыть страницы через SberBrowser/Playwright.
4. Получить HTML.
5. Сохранить HTML.
6. Конвертировать в Markdown.
7. Построить отчеты.
8. Сформировать отчет покрытия задания.
## Ограничения
- Если нет точного URL раздела META, отчет создается как частичный.
- Для полной выгрузки пользователь должен добавить URL вручную.
---
## Часть 9. Добавить DEMO_FINAL.md
Создай файл:
DEMO_FINAL.md
В нем должен быть сценарий демонстрации наставнику:
# Демонстрация adt-markdownify-meta-mvp
## 1. Что показать
1. meta_urls.txt
2. README.md
3. SKILL.md
4. Запуск python run_exporter.py
5. output/EXPORT_REPORT.md
6. output/TASK_COVERAGE.md
7. output/HIERARCHY.md
8. output/INTERACTION_POINTS.md
9. output/INTEGRATION_INTERACTIONS.md
10. output/STANDS.md
11. output/TECH_RESOURCES.md
## 2. Что сказать
Текст:
Это MVP skill-а для выгрузки архитектуры из META в Markdown. Он работает через браузер, не использует API и не хранит авторизационные данные. Полнота выгрузки зависит от списка URL в meta_urls.txt. Если отдельные разделы META не найдены автоматически, их URL можно добавить вручную.
## 3. Что уже закрыто
- Иерархия архитектуры
- Технические компоненты
- Markdown-выгрузка
- HTML-архив
- Отчеты по взаимодействиям/API/стендам/техресурсам
- Отчет покрытия задания
## 4. Что является ограничением MVP
- Ручное добавление URL для некоторых разделов META.
- Нет API-доступа.
- Нет автоматической авторизации.
---
## Часть 10. Проверка
После всех изменений выполни:
python -m py_compile run_exporter.py scripts/config_loader.py scripts/scrape_meta.py scripts/html_to_markdown.py scripts/markdown_writer.py
После py_compile выполни тестовый запуск:
source .venv/bin/activate
python run_exporter.py
После запуска проверь наличие файлов:
ls -la output
ls -la temp_html
Проверь, что появились или обновились:
- output/HIERARCHY.md
- output/INTERACTION_POINTS.md
- output/INTEGRATION_INTERACTIONS.md
- output/API.md
- output/STANDS.md
- output/TECH_RESOURCES.md
- output/TASK_COVERAGE.md
- output/LINK_DISCOVERY_REPORT.md
- output/EXPORT_REPORT.md
- output/README.md
---
## Финальный ответ
В конце покажи отчет:
# adt-markdownify-meta-mvp — итог доработки
## 1. Где выполнялась работа
Путь:
/Users/23865613/IdeaProjects/untitled/adt-markdownify-meta-mvp
## 2. Какие файлы изменены
Список.
## 3. Какие файлы добавлены
Список.
## 4. Какие требования задания закрыты
Таблица:
| Требование | Статус | Файл |
|---|---|---|
## 5. Какие ограничения остались
Список.
## 6. Результат py_compile
Коротко.
## 7. Результат тестового запуска
Сколько URL было, сколько успешно, сколько ошибок.
## 8. Команды для ручного запуска
cd /Users/23865613/IdeaProjects/untitled/adt-markdownify-meta-mvp
source .venv/bin/activate
python run_exporter.py
Главная цель:
Доработать текущий adt-markdownify-meta-mvp до состояния полноценного аккуратного MVP skill-а для GigaCode, который можно показать наставнику как завершенный результат по второму заданию стажировки.