13 Commits

Author SHA1 Message Date
subochev 607137fdf7 model: команда memo model и автоскачивание модели (докачка, сверка размера, отключатель); manual: раздел про модель 2026-10-02 04:53:04 +03:00
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 3054705176 manual: инструкция «как пользоваться»; watch: первичный проход, коллекции по правилу ядра; приёмка: контур демона 2026-10-02 03:43:25 +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 2ed736a9bc core: коллекция — каталог с markdown напрямую; исправлен тройной обход 2026-10-02 02:29:49 +03:00
subochev f2956e3cef mcp: сервер memo_search/memo_status/memo_reindex 2026-10-02 01:44:45 +03:00
subochev f1d497d336 watch: слежение за файлами (WatchService + debounce + реконсиляция) 2026-10-02 01:35:20 +03:00
subochev a2f09fffb6 core: гибридный поиск (BM25 + вектор + RRF) 2026-10-02 01:25:23 +03:00
subochev de3cb24edc core: чанкер markdown по заголовкам с перекрытием 2026-10-02 01:14:00 +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
Hermes Agent cefc17d782 memo: спека, ТЗ, тест-план, MCP-зонд, gradle wrapper 2026-10-02 00:59:33 +03:00