Troubleshooting

Common issues running the stack locally. Start everything with ./scripts/dev.sh (or ./scripts/dev.ps1 on Windows — every dev.sh --flag below has a dev.ps1 -Flag equivalent: --clean-Clean, --seed-only-SeedOnly, --infra-only-InfraOnly) (see deployment.md).

Docker build fails on the Python agents (agent-framework resolution)

Symptom: a wall of agent-framework … cannot be used / agent-framework-azure-ai-search conflicts during uv sync. Cause: re-resolving the pre-release MAF graph against live PyPI. Fix is already in the Dockerfile — it syncs from the committed agents/python/uv.lock with uv sync --frozen. If you hit this, ensure uv.lock is present and run a clean build:

./scripts/dev.sh --clean        # nuke volumes + rebuild
# or
docker compose build --no-cache orchestrator

To refresh deps deliberately: cd agents/python && uv lock (commit the new lock).

Port already in use (5432 / 6379 / 8080 / 3000 / 18888)

Another stack (or a host Postgres/Redis) holds the port. Find and stop it:

lsof -nP -iTCP:5432 -sTCP:LISTEN     # who's listening
docker compose down                   # stop this stack

The compose services use 5432 (Postgres), 6379 (Redis), 8080 (orchestrator), 8081–8085 (specialists), 3000 (frontend), 18888 (Aspire).

Chat returns an error / “encountered an issue”

The LLM is never mocked. Set a real key in the repo .env:

LLM_PROVIDER=openai
OPENAI_API_KEY=sk-...
LLM_MODEL=gpt-4.1

(or the AZURE_OPENAI_* vars for Azure). Restart the orchestrator + agents.

Login fails with “Missing Authorization header”

You’re hitting the wrong backend, or the orchestrator is pointed at a different DB. Confirm :8080 is the e-commerce orchestrator (curl localhost:8080/health{"service":"orchestrator"}) and that the DB was seeded (./scripts/dev.sh --seed-only).

Public storefront shows no products / redirects to login

Product browse + chat are anonymous via optional_auth. If anonymous GET /api/products returns 401, the orchestrator image predates that change — rebuild it: docker compose up -d --build --no-deps orchestrator.

DB connection refused / empty data

Postgres not ready or not seeded. docker compose ps (db healthy?), then ./scripts/dev.sh --seed-only. The seeder is deterministic (random.seed(42)).

Embeddings missing (semantic search empty)

cd agents/python && uv run python -m scripts.generate_embeddings

UI changes not showing in the running stack

The frontend is a built container. Rebuild it: docker compose up -d --build --no-deps frontend (or run cd web && pnpm dev on a free port).

Aspire dashboard empty (no traces)

Open http://localhost:18888. Ensure OTEL_ENABLED is on and the OTLP endpoint points at the Aspire container. See telemetry.md.


Source: docs/troubleshooting.md — this page is generated from the repository.


Back to top

Copyright © 2026 Nitin Singh. Distributed under the MIT License.

This site uses Just the Docs, a documentation theme for Jekyll.