Загрузка данных
Ты работаешь на корпоративном MacBook.
Сейчас задача НЕ дорабатывать функциональность, а привести папку zadanie2 в полностью рабочее состояние.
Текущая папка задания:
/Users/23865613/IdeaProjects/untitled/zadanie2
Рабочий проект сейчас найден здесь:
/Users/23865613/IdeaProjects/untitled/zadanie2/source_project
По итогам проверки:
- Git-ветка features/adt-markdownify-meta создана
- remote подключен: ssh://sc@api.sc-ci.sber.ru:7998/snl/snl-ai-spec.git
- py_compile прошел
- meta_exporter.yaml создан из example
- SberBrowser указан в конфиге
- но .venv отсутствует
- зависимости не установлены
- output/ и temp_html/ не созданы
- тестовый запуск не выполнен
- значит папка zadanie2 еще не полностью готова к дальнейшей работе
Нужно аккуратно довести папку zadanie2 до рабочего состояния.
Важно:
- Не переписывай проект с нуля.
- Не меняй логику выгрузки.
- Не начинай Этап 2 по структурированной выгрузке.
- Не используй API META.
- Не используй requests/httpx/aiohttp/urllib для обращения к META.
- Не добавляй token/cookie/login/password.
- Не сохраняй cookies/sessionStorage/localStorage.
- Не создавай и не редактируй объекты META.
- Skill остается read-only.
- Ничего не пушь в git.
- Работай только внутри /Users/23865613/IdeaProjects/untitled/zadanie2/source_project.
Что нужно сделать:
1. Перейти в рабочий проект:
cd /Users/23865613/IdeaProjects/untitled/zadanie2/source_project
2. Проверить структуру:
pwd
find . -maxdepth 4 -type f | sort
3. Убедиться, что есть обязательные файлы:
- run_exporter.py
- requirements.txt
- README.md
- SKILL.md
- meta_urls.txt
- meta_exporter.yaml
- meta_exporter.yaml.example
- scripts/config_loader.py
- scripts/scrape_meta.py
- scripts/html_to_markdown.py
- scripts/markdown_writer.py
Если каких-то обязательных файлов нет, найти их в старом рабочем проекте:
/Users/23865613/IdeaProjects/untitled/adt-markdownify-meta-mvp
и скопировать в source_project, сохранив структуру.
4. Проверить, есть ли готовый skill:
source_project/.gigacode/skills/adt-markdownify-meta/
Если папки нет, создать ее и положить туда все файлы skill-а, которые нужны для публикации:
.gigacode/skills/adt-markdownify-meta/
├── README.md
├── SKILL.md
├── meta_exporter.yaml.example
├── meta_urls.txt
├── requirements.txt
├── run_exporter.py
└── scripts/
В scripts должны попасть все Python-файлы, которые реально нужны для запуска:
- config_loader.py
- scrape_meta.py
- html_to_markdown.py
- markdown_writer.py
- link_discovery.py, если используется
- integration_interactions_parser.py, если используется
- structured_meta_writer.py, если уже есть и используется
- любые другие scripts/*.py, которые импортируются проектом
Важно:
не копируй туда:
- .venv
- output
- temp_html
- *.bak
- *.log
- __pycache__
- локальный meta_exporter.yaml, если он содержит пользовательские пути
5. Создать .gitignore в source_project, если его нет.
В .gitignore должны быть:
.venv/
output/
temp_html/
__pycache__/
*.pyc
*.pyo
*.bak
*.bak2
*.log
.DS_Store
meta_exporter.yaml
final_run.log
run_export_output.txt
6. Создать виртуальное окружение, если его нет:
python3 -m venv .venv
7. Активировать окружение:
source .venv/bin/activate
8. Установить зависимости:
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
Если установка зависимостей падает из-за корпоративного pip/сертификата/прокси, не пытайся бесконечно чинить. Сразу выведи:
- точную ошибку;
- какой пакет не установился;
- какую команду нужно выполнить вручную;
- что нужно спросить у наставника или админа.
9. После установки зависимостей проверить импорты:
python - <<'PY'
import yaml
import bs4
import html2text
import playwright
print("IMPORTS OK")
PY
10. Выполнить py_compile:
python -m py_compile run_exporter.py scripts/*.py
11. Создать пустые папки, если их нет:
mkdir -p output
mkdir -p temp_html
12. Проверить SberBrowser в конфиге:
cat meta_exporter.yaml
Убедиться, что там указан:
browser:
type: "sberbrowser"
Если в конфиге Chromium — заменить на SberBrowser.
13. Проверить путь к SberBrowser.
Нужно проверить возможные стандартные пути:
ls -la /Applications/SberBrowser.app
ls -la /Applications/SberBrowser.app/Contents/MacOS/SberBrowser
Если путь другой — попробовать найти:
find /Applications -maxdepth 3 -iname "*Sber*" 2>/dev/null
Если SberBrowser найден, указать путь в отчете.
Если не найден — честно написать, что SberBrowser не найден и запуск через браузер невозможен до установки.
14. Если зависимости установлены и SberBrowser найден, выполнить тестовый запуск:
python run_exporter.py
Если запуск требует ручной авторизации, открыть браузер и дождаться ручного входа пользователя.
Если запуск зависает из-за авторизации — остановить и написать, что нужна ручная авторизация в SberBrowser.
15. После запуска проверить:
ls -la output
ls -la temp_html
Проверить наличие ключевых файлов:
output/HIERARCHY.md
output/INTERACTION_POINTS.md
output/INTEGRATION_INTERACTIONS.md
output/STANDS.md
output/TECH_RESOURCES.md
output/TASK_COVERAGE.md
output/EXPORT_REPORT.md
16. Проверить git status:
git status
17. В конце дать отчет:
# Подготовка zadanie2 завершена
## 1. Где находится рабочий проект
Путь.
## 2. Какая ветка активна
Название ветки.
## 3. Какие обязательные файлы есть
Таблица:
| Файл | Статус |
|---|---|
## 4. Что было докопировано из старого проекта
Список.
## 5. Готов ли .gigacode/skills/adt-markdownify-meta
Да/нет и список файлов внутри.
## 6. Создано ли виртуальное окружение
Да/нет.
## 7. Установлены ли зависимости
Да/нет.
## 8. Результат проверки импортов
Коротко.
## 9. Результат py_compile
Коротко.
## 10. Найден ли SberBrowser
Путь или причина, почему не найден.
## 11. Результат тестового запуска
- выполнен / не выполнен;
- если выполнен: сколько страниц выгружено, сколько ошибок;
- если не выполнен: точная причина.
## 12. Какие output-файлы появились
Список.
## 13. Готов ли проект к Этапу 2
Честно:
- Да, если зависимости установлены, py_compile прошел, структура полная.
- Нет, если не установлен SberBrowser или зависимости.
Главная цель:
Сделать так, чтобы /Users/23865613/IdeaProjects/untitled/zadanie2/source_project был полноценной рабочей копией проекта, а не неполным набором файлов.