Storage and paths
| Data | Path / collection | Notes |
|---|---|---|
| Knowledge vectors | ./vector-store, devsecops_knowledge | Relative to backend process working directory |
| Semantic conversation history | Same store, conversation_history | Shared retrieval currently lacks a thread filter |
| Conversation messages | data/conversations.db | Default resolved relative to backend code |
| Backend log | logs/ai_backend.log | Directory must exist before import |
| Model files | Ollama-managed storage | Separate from project vector store |
| Training adapters | distill/out/ | Experimental artifacts; not automatically deployed models |
One store, one compatible environment
Section titled “One store, one compatible environment”Run the backend from the repository/deployment root. The CLI memory helper resolves the project’s vector store from its own location. Starting the backend in a different working directory can create a second store.
Use the pinned backend environment for all store writers. Do not allow a different ChromaDB version to migrate a live store accidentally. Keep a restorable backup before any schema or dependency change.
Existing WSL deployment
Section titled “Existing WSL deployment”The conventional deployment root is /opt/devsecops-ai, but inspect the running service instead of assuming it. Systemd writable-path restrictions must include logs, the vector store, and conversation data for enabled features.
Retention is per store
Section titled “Retention is per store”Deleting or expiring SQLite messages does not necessarily remove semantic entries or backups. Treat deletion guarantees as unimplemented until verified across all copies.
Next: Backup coverage and memory behavior.