С помощью Markdown → JSONL Converter собрали 1 422 из 1 550 официальных документов в формате JSONL.
Продолжено выполнение Qwen Validation Debugger с шагов 46‑50, проверены сгенерированный код, проверка движков Godot 3/4 и результаты валидации JSONL.
На шаге 50 завершены выводы общих кодов и проверка JSONL; на шаге 48 динамическая загрузка сцен‑ресурсов создаёт фиксированный путь к несуществующим ресурсам, из‑за чего проверка движка продолжает отклонять их.
При повторных попытках передаём диагностику предыдущего движка и используем стабильный seed, меняющийся каждый раунд генерации, без ручного указания синтаксиса или ответов.
Текущий JSONL сборщика 8501 загружен в outputs/godot-rag-sqlite/godot-rag.sqlite3; сопоставлены 1 570 оригинальных URL, доменов и SHA‑256 с источниками записей.
В SQLite созданы таблицы docs_chunks, api_mapping, label_prototypes, а также provenance оригиналов и FTS5‑индекс; даже до завершения полного сбора можно делать снапшот тем же билдером.
После сравнения дампов SQLite и векторной БД выбрано хранение в SQLite, сохраняющее оригинальные записи и provenance без необходимости отдельного сервера.
Сначала SQLite использовалась только как артефакт для Git, а стратегия F в Source Flow Debugger продолжала обращаться к PostgreSQL, что приводило к несоответствиям при двойном отражении одного и того же JSONL.
Чтобы избавиться от двойного управления, объединили базовые данные стратегии F и репозиторий исполнения в единственный коммит‑SQLite, убрав настройки подключения и миграции PostgreSQL.
Кандидаты BM25 читаются из SQLite FTS5, затем в Node рассчитываются по Okapi BM25; embedding сохраняются в record_embeddings того же SQLite вместе с моделью, размерностью, SHA‑256 записи и вектором Float32, чтобы переиндексировать только изменённые записи.
Source Flow Debugger теперь напрямую проверяет ревизию, количество записей и embedding‑ов в коммит‑SQLite; сохранённые векторы ищутся в Node через cosine similarity.
Дамп векторной БД зависит от модели embedding, размерности и реализации индекса, поэтому не хранится как отдельный эталон, а при необходимости генерируется заново из того же SQLite как производный индекс.