# Промт для первой сессии на макбуке

Скопируй всё, что ниже разделителя, и вставь первым сообщением.

Он короткий намеренно: длинный промт пересказывал бы то, что уже лежит в
`CLAUDE.md` и `docs/handover.md`, а пересказ рано или поздно разойдётся с
оригиналом. Промт говорит только то, чего в файлах нет и быть не может, —
где мы остановились и что происходит прямо сейчас.

---

Это Mantia — агентный антидетект-браузер. Я перевёз проект с Windows-VPS,
где он разрабатывался, на этот макбук: работать по удалёнке неудобно, а
тестировать хочется на реальном железе с настоящей видеокартой (на сервере
её нет вовсе, и все профили там жили на программном рендеринге).

Начни с чтения `CLAUDE.md` и `docs/handover.md` — во втором лежат причины
принятых решений и список уже совершённых ошибок. Нормативное ТЗ —
`docs/PLAN-antidetect-browser.md`, при расхождении право за ним, а не за
кодом. История в git на месте, `git log` читается.

Состояние на момент переезда: продукт собран и работает на Windows —
профили, прокси, отпечатки, агент, интерфейс из пяти разделов. 862 теста
зелёные. Профили с той машины я не переносил, они были пустые; здесь
начинаю с чистого листа.

Что нужно сделать здесь, по порядку:

1. Поднять окружение: venv на Python 3.11+, `pip install -e ".[dev]"`,
   прогнать `pytest tests/unit -q` — должно быть зелено, за этим следит
   `tests/unit/test_platform_portability.py`.
2. Вписать ключ Groq в `.env` — файл создастся сам при первом запуске в
   `~/.mantia`. На сервере он остался, сюда не переносился намеренно.
3. Довести запуск профилей до работы на macOS. Точный разбор и порядок —
   раздел 6 в `docs/handover.md`: примерно 110 строк в шести файлах.
   Первое по порядку отказов — распаковка Chrome через `ditto`, потому что
   `zipfile` не восстанавливает симлинки внутри `.app`, а на Apple Silicon
   они часть подписи и без них браузер не стартует вообще.

Дальше по плану — корпус отпечатков реальных устройств (замысел описан в
`docs/fingerprint-corpus.md`) и облачная синхронизация, под которую база
уже заложена.

Проверяй как пользователь, а не как разработчик: запуск из терминала не
проверяет запуск из терминала — он проверяет другой способ запуска. Это не
абстракция, на этом уже один раз потеряли время.
