How to evaluate online vs offline runtime modes¶
Use this guide for a reproducible deep dive before release reviews and operational changes.
Goal¶
Compare behavior differences between online and offline operation modes, including endpoint availability and sync capabilities.
Prerequisites¶
deployment.jsonis present- Docker is running
- Dependencies installed with
uv sync
Phase 1: Evaluate offline mode¶
- Deploy in offline mode:
- Verify core health and MCP metadata:
- Verify dashboard is not available:
- Verify retrieval path still works:
Phase 2: Evaluate online mode¶
- Redeploy in online mode:
- Verify dashboard is available:
- Trigger sync and verify indexing path:
uv run python trigger_all_syncs.py --host localhost --port 42042 --tenants drf --force
uv run python trigger_all_indexing.py --tenants drf
- Re-run retrieval validation:
Expected behavior summary¶
| Surface | Offline | Online |
|---|---|---|
/mcp root tools |
available | available |
/health |
available | available |
/dashboard |
unavailable or 503 | available |
| Sync trigger endpoints | blocked | available |
| Search/fetch via MCP | available | available |
Why this evaluation works¶
It maps directly to mode-gated route behavior in src/docs_mcp_server/app_builder.py and lets you demonstrate separation of retrieval vs operational mutation surfaces.