---
name: mehant_rename
description: Гаечкин переименован в Механт (2026-07-03) — новые имя/бот/домен/пути; что осталось внутренним и ручные TODO
metadata: 
  node_type: memory
  type: project
  originSessionId: b11e39bd-4f6f-47c9-ba7b-680ccf041a5b
---

**Гаечкин → Механт** (полный ренейм 2026-07-03, образец ПодКапот→Автеро). Причина: «Гаечкин» неуникален. Механт — коин-слово (ноль коллизий, .ru+.com свободны). Лого: оранжевый гекс-гайка + тёмная галочка-курсор.

**Новые координаты:**
- Сервис: `~/Разработки/Mehant`, пакет `mehant/`, venv `~/.venvs/mehant`, launchd `local.mehant` (+ `.backup`, `.backup.files`), API `:20150`.
- Бот: **@mexunt_bot** (финально выбран юзером 2026-07-03; first_name «Механт»). Токен в `~/Разработки/Mehant/.env`, `MEHANT_MAIN_BOT_USERNAME=mexunt_bot`.
- Домен: **mexunt.codoceh.ru** (порт 20411, rathole-сервис `mehant`, Caddy vhost). Старый `gaechkin.codoceh.ru` отключён.
- Env-префикс `MEHANT_*`, секреты `~/.mehant/` (master.key!). Данные Ext `/Volumes/Ext/Services/mehant/data`.

**Оставлено ВНУТРЕННИМ намеренно (не «gaechkin-хвост» по ошибке):** PG-кластер-лейбл `com.cebers.gaechkin-pg`, PGDATA `/Volumes/Ext/Services/gaechkin/pgdata`, `~/Services/gaechkin-pg` — физический кластер с боевыми данными; переименованы db+роль ВНУТРИ (`ALTER DATABASE/ROLE gaechkin→mehant`). См. Obsidian `Projects/Механт/Decisions.md` (D-rename).

**Ручные TODO юзера:** BotFather `/setdomain mexunt.codoceh.ru`; OAuth Яндекс/Mail — добавить redirect на mexunt.codoceh.ru. **Страховка:** старый `~/Разработки/Gaechkin` + PG-дамп `data/pg_gaechkin_backup_*.sql` НЕ удалены — снести после наблюдения.

Связано: [[mehant_pricing_constraint]] [[mehant_planning]] [[avtero_rename]] [[kodoceh_web_overview]].

**Интеграция Механт↔Автеро (подбор по VIN) — ФИКС 2026-07-03:** `mehant/services/podkapot_client.py` переименован в `avtero_client.py` (+ `podkapot_url`→`avtero_url`/`AVTERO_URL`, строки «PodKapot»→«Автеро», `repair.py`, `cabinet.py` visits-ключ). Заодно вскрылся **тихий баг**: клиент не слал авторизацию, а Автеро `/api/ask` требует её → **401** → бот молча падал в «введи вручную». Починка: клиент теперь шлёт `X-Bot-Auth = HMAC(<~/Services/avtero/data/auth_secret>, "bot-internal")` (== `webauth.internal_sig()` Автеро) + `X-Bot-User=<tg_id>`. Таймаут 120→180с (холодный LLM-подбор ~95-124с). Проверено: `fetch_parts` вернул колодки OEM 861 698 151 A + масляный фильтр.
