6 Commits

Author SHA1 Message Date
subochev 69a0ebe0fa tests: ModelStoreTest — закрыты дыры покрытия Range и Content-Range
resumesPartialDownload: счётчики Range-запросов и байт; сервер отдаёт 400
без Range для .part — запасной путь «начать заново» закрыт.

failsOnSizeMismatch разделена на два:
  - rejectsWrongTotalFromContentRange — сервер соврал в Content-Range,
    бьёт в проверку actualTotal != expectedTotal (вторая, достижимая);
  - truncatedResponseDoesNotProduceFile — оборванный ответ, по факту ловит
    ветку IOException → «не удалось скачать» (а не first size check).

В mutations.tsv убрана строка про if (declaredBody >= 0 && written !=
declaredBody) — через java.net/http недостижимо (оборванный ответ даёт
IOException, не EOF). Добавлена строка про if (expectedTotal >= 0 &&
actualTotal != expectedTotal) — теперь убивает rejectsWrongTotalFromContentRange.

Все 18 мутаций (4 из ModelStore) убиты прогоном mutation_check.py.
2026-10-02 04:48:35 +03:00
subochev 2c7bca0d82 tests: закрыты три дыры в покрытии, найденные мутационным анализом 2026-10-02 03:06:40 +03:00
subochev dc8d9bc598 mcp: поиск индексирует коллекцию на холодном старте 2026-10-02 02:35:42 +03:00
subochev c33f94fa13 core: индексатор файлов с пропуском неизменённых 2026-10-02 01:17:28 +03:00
subochev d62a26f5b1 core: fts5-тест проверяет регистронезависимость кириллицы 2026-10-02 01:09:40 +03:00
subochev 700508dc8e core: каркас сборки, embedder, схема БД, 4 теста 2026-10-02 01:06:06 +03:00