* fix(memory): check index.json not .rag dir in setup step 5 * docs(readme): align to real state after memory PRs * chore(env): remove dead vars from env example * docs(handoff): add handoff + ADR-037 for memory setup step5 fix * docs(handoff): set PR number --------- Co-authored-by: opencode-agent <agent@opencode.local>
3.3 KiB
pr: 85 title: fix(memory): setup step 5 check index.json + align docs to real state
Что сделано
.opencode/scripts/setup-memory.shstep 5: проверка[ ! -d "$MEMORY_DIR/.rag" ]заменена на[ ! -f "$MEMORY_DIR/.rag/index.json" ]. Теперь скрипт проверяет наличие нашего индексного файла (формат Python memory CLI), а не саму директорию — это форсирует rebuild, если остался stale Rust rag-cli индекс (meta.json + index.bin без index.json).README.mdQuick start: убранmkdir -p app_data/{workspaces,ssh}(директории уже в репо с .gitkeep).README.mdStructure: убрана строкаapp_data/opencode-memory/(runtime dir, не в репо); tools list обновлён до актуальных 10 tools (commit, create-issue, create-pr, memory-setup, merge-pr, pipeline-status, post-docs-review, post-review, spec-status, tunnel).README.mdConfiguration: таблица расширена с 6 до 13 vars (+7: OPENAI_BASE_URL, OPENAI_API_KEY, OPENAI_EMBEDDING_MODEL, OPENAI_EMBEDDING_BATCH_SIZE, OPENCODE_MEMORY_REMOTE, MEMORY_CHUNK_SIZE, MEMORY_CHUNK_OVERLAP).README.mdMemory setup: "local RAG" → "cloud embeddings (OpenRouter Qwen3 8B)"; default OPENCODE_MEMORY_DIR исправлен сapp_data/opencode-memory/на/root/.local/share/opencode/opencode-memory..env.example: удалёнOPENAI_EMBEDDING_BATCH_DELAY(dead — не используется в embedder.py); удалёнREDIS_PASSWORD+ комментарий (dead — нигде не используется). Telegram и Cloudflare оставлены.
Почему
После merge PR#77 (setup-memory.sh wrapper) и PR#83 (incremental index) end-to-end проверка показала, что plugin продолжал использовать оригинальный Rust rag-cli: wrapper не перезаписывался, meta.json оставался в Rust схеме, index.bin лежал рядом. Причина — баг в step 5: проверка [ ! -d "$MEMORY_DIR/.rag" ] всегда false, если Rust rag-cli уже создавал директорию. Проверка index.json (наш формат) форсирует rebuild при рассинхронизации форматов.
README и .env.example устарели после PR#75/#77/#83: инструкции создавали уже существующие директории, описывали "local RAG" вместо cloud embeddings, таблица конфига была неполной, dead env vars вводили в заблуждение.
Pending
— (после merge: удалить stale Rust rag-cli index вручную при первом запуске setup-memory.sh — step 5 пересоберёт в нашем формате)
Watch out
- ADR-037 зафиксировал решение проверять index.json, не директорию — при будущих правках setup-memory.sh не откатывать к dir-check.
- README tools list содержит 10 .ts tools (без _shared.ts, который вспомогательный).
- Если добавится новый tool — обновить README Structure tools list.