From ce0b40d8dc2fde4c75f212a6c884d43f69da934c Mon Sep 17 00:00:00 2001 From: Repinoid Date: Fri, 5 Jun 2026 17:41:53 +0400 Subject: [PATCH] =?UTF-8?q?docs:=20doc/history/=20=E2=80=94=20=D0=B6=D1=83?= =?UTF-8?q?=D1=80=D0=BD=D0=B0=D0=BB=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B9=20=D0=BF=D0=BE=20=D0=B4=D0=B0=D1=82=D0=B0?= =?UTF-8?q?=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .instructions.md | 1 + doc/history/2026-05-31.md | 25 +++++++++++++++++++++++++ doc/history/2026-06-03.md | 13 +++++++++++++ doc/history/2026-06-05.md | 18 ++++++++++++++++++ 4 files changed, 57 insertions(+) create mode 100644 doc/history/2026-05-31.md create mode 100644 doc/history/2026-06-03.md create mode 100644 doc/history/2026-06-05.md diff --git a/.instructions.md b/.instructions.md index 5c67fba..8282a06 100644 --- a/.instructions.md +++ b/.instructions.md @@ -39,6 +39,7 @@ 6. **Ветки:** `master` — продакшен, `opus-fixes` и др. — для правок. Вливать в master когда готово. 7. **После правок:** коммит + пуш + (если сервер) деплой через SSH. 8. **Версия:** менять в трёх местах — `build.gradle.kts`, `index.html`, доки. +9. **Документировать изменения** в `doc/history/YYYY-MM-DD.md` после каждого сеанса работы. Формат: 🔴/🟡/🟢 для приоритета, по файлам. ## Структура сервера diff --git a/doc/history/2026-05-31.md b/doc/history/2026-05-31.md new file mode 100644 index 0000000..e5b92ab --- /dev/null +++ b/doc/history/2026-05-31.md @@ -0,0 +1,25 @@ +# 2026-05-31 + +## Сервер +- 🔴 **api/db.py** — WAL, `request_id` UNIQUE, `close()`, контекстный менеджер +- 🔴 **api/routes.py** — идемпотентность upload, `/ping-llm` кэш 60с, `/chat` через roles +- 🔴 **obd/protocol.py** — `reset_input_buffer()`, не затирать ERROR +- 🔴 **brain/client.py** — `LLMError`, обработка 429/5xx/Timeout, дефолт gpt-oss-120b +- 🟡 **api/config.py** — `@lru_cache` на `load()` +- 🟡 **api/routes.py** — импорты наверх +- Удалён мёртвый `elmer/elmer/` + +## Android +- 🔴 **ServerClient** — `request_id` (UUID), `X-Api-Key`, exponential backoff +- 🔴 **ElmProtocol** — дренаж буфера, не затирать ERROR +- 🔴 **SessionDb** — `ALTER TABLE` вместо DROP, индекс +- 🔴 **MainActivity** — throttle `/ping-llm`, `X-Api-Key`, `chatHistory` persistence +- 🔴 **ScriptRunnerService** — null-intent guard, убран мёртвый `paused` +- 🟡 **build.gradle.kts** — `buildConfigField API_KEY` + +## Прочее +- VIN → logo +- Версия: 0.35.0-dev → 0.36.0-dev +- `.instructions.md` — создан +- `doc/architecture.md` — CI/CD расписан +- GitHub Actions удалён и восстановлен (несколько раз) diff --git a/doc/history/2026-06-03.md b/doc/history/2026-06-03.md new file mode 100644 index 0000000..51f1ae2 --- /dev/null +++ b/doc/history/2026-06-03.md @@ -0,0 +1,13 @@ +# 2026-06-03 + +## Сервер +- Дефолтный LLM: `api.aillm.ru` → `api.deepseek.com` (deepseek-v4-flash) +- `doc/git-guide.md` — создана инструкция по git +- `doc/architecture.md` — уточнён деплой (git clone, не tar.gz) + +## Android +- `build.gradle.kts` — `buildFeatures.buildConfig = true` + +## Прочее +- Версия: 0.36.0-dev +- Сервер переведён на git-клон вместо tar.gz (удалён elmer.old) diff --git a/doc/history/2026-06-05.md b/doc/history/2026-06-05.md new file mode 100644 index 0000000..e27dd5e --- /dev/null +++ b/doc/history/2026-06-05.md @@ -0,0 +1,18 @@ +# 2026-06-05 + +## Сервер +- `car_info` в upload — водитель может описать авто текстом, передаётся в LLM +- GitHub Actions разрешён для APK (теперь CI собирает и деплоит) + +## Android +- **`ElmChecker.kt`** — новый: проверка ELM327 (версия, напряжение, BT) +- Поле «что за машина» — ввод описания авто перед диагностикой +- Индикаторы загрузки — улучшен UI +- Подпись APK — фиксированный ключ (APK обновляется без удаления) +- **GitHub Actions** — автосборка + деплой APK на сервер +- `gradlew` — добавлен в репо +- `ServerClient` — `ping()` / `pingLlm()` + +## Прочее +- Версия: 0.36.0-dev → 0.37.0-dev +- `doc/history/` — создана папка с журналом изменений по датам