Run infrastructure and UI smoke tests to detect drift or regressions.
1. Infrastructure Smoke Tests:
Run the full suite for Postgres, MongoDB, AG-UI, and the LangFuse stack:
./scripts/smoke_test.sh all
Note: If the Docker daemon is not running, start it with sudo dockerd >/tmp/dockerd.log 2>&1 & and wait.
2. Browser UI e2e Tests:
Since the deployed app cannot be browser-tested via the proxy, run tests against localhost using a fake-model service.
Execution Steps:
First, start the service and the Streamlit app in the background:
USE_FAKE_MODEL=true DEFAULT_MODEL=fake uv run python src/run_service.py &
# Wait for :8080/health
AGENT_URL=http://localhost:8080 \
uv run streamlit run src/streamlit_app.py --server.headless true --server.port 8501 &
# Wait for :8501
Then, run the test suites:
- Deterministic (Fake Model):
uv run --with playwright python scripts/e2e_ui_tests.py
- Best-effort (Live Model):
uv run --with playwright python scripts/e2e_ui_tests.py --model=<model_name> live_model
(Replace <model_name> with a valid model from src/schema/models.py, e.g., gpt-5-nano).
Reporting:
- Fake-model suite: A failure is a hard signal. Report the scenario name and the
e2e_<scenario>_failure.png artifact. - Live-model check: A failure is best-effort. Retry once; if it fails again, report it as a Health-section finding (likely a provider blip), but do not abort the phase.