Problem
In `backend.env.j2`:
```jinja2
AUTOBOT_CHROMADB_HOST={{ backend_chromadb_host | default(ai_stack_host | default('127.0.0.1')) }}
```
The fallback chain uses `ai_stack_host`, not `backend_ai_stack_host`. The WSL2 auto-detection added in #3503/#3516 only sets `backend_ai_stack_host`. So on a co-located WSL2 deployment where `backend_chromadb_host` is not explicitly set in inventory, `AUTOBOT_CHROMADB_HOST` still resolves to `127.0.0.1` — the wrong loopback IP on WSL2 mirrored networking — causing ECONNREFUSED to ChromaDB.
Discovered During
#3503 / PR #3516 implementation — noticed the fallback variable mismatch in the template.
Fix
Change the fallback in `backend.env.j2` to use `backend_ai_stack_host`:
```jinja2
AUTOBOT_CHROMADB_HOST={{ backend_chromadb_host | default(backend_ai_stack_host | default('127.0.0.1')) }}
```
The WSL2 detection task already sets `backend_ai_stack_host` correctly — this just wires ChromaDB to use the same resolved value.
Affected Files
- `autobot-slm-backend/ansible/roles/backend/templates/backend.env.j2` (line 52)