Live Demos
Every demo boots the real framework — real DI container, real providers, real web stack — with offline-deterministic backends so behaviour is reproducible. Each one ships a web console you drive from the browser, and make demos-up serves the entire fleet from a single port.
Sandbox notice: demos run with in-memory state that resets often, and the auth consoles use seeded demo credentials. Do not send real secrets.
The fleet
Section titled “The fleet”| Demo | What it proves | Run locally |
|---|---|---|
| Demo Hub | Fleet-wide health checks over the container web stack | PYTHONPATH=demos/demo-hub/src uv run python -m demo_hub → :7000 |
| Realtime Monitor | SSE replay, WebSocket operator channel | PYTHONPATH=demos/realtime-monitor/src uv run python -m ops_console → :7071 |
| Resilient Rates | Retry, circuit breaker, stale fallback | PYTHONPATH=demos/resilient-rates/src uv run python -m rates serve → :7073 |
| Event-Driven Orders | CQRS lifecycle with transactional outbox | PYTHONPATH=demos/event-driven-orders/src uv run python -m orders serve → :7074 |
| RAG Docs | Cited answers over framework documentation | PYTHONPATH=demos/rag-docs/src uv run python -m rag_docs serve → :7075 |
| Support Agent | ReAct agent with scripted LLM + tools | PYTHONPATH=demos/support-agent/src uv run python -m support_agent → :8082 |
| Memory Chat | Episodic + semantic memory, owner isolation | PYTHONPATH=demos/memory-chat/src uv run python -m memory_chat → :8083 |
| AI Guardrails | Injection blocking, PII redaction, budgets | PYTHONPATH=demos/ai-guardrails/src uv run python -m guard_gate → :8084 |
| Prompt Lab | Prompt versioning with deterministic A/B | PYTHONPATH=demos/prompt-lab/src uv run python -m prompt_lab → :8085 |
| Feedback Loop | Ratings promoted into regression suites | PYTHONPATH=demos/feedback-loop/src uv run python -m feedback_loop serve → :8086 |
| Auth Web | Cookie sessions, JWT claims, lockout | PYTHONPATH=demos/auth-web/src uv run python -m auth_web → :8081 |
| Auth RBAC | Permission matrix with live authorize() | PYTHONPATH=demos/auth-rbac/src uv run python -m rbac_console → :8090 |
| Auth API Keys | Scoped machine keys, instant revocation | PYTHONPATH=demos/auth-apikeys/src uv run python -m apikey_console → :8091 |
| Auth MFA | TOTP challenge flow with backup codes | PYTHONPATH=demos/auth-mfa/src uv run python -m mfa_console → :8092 |
| LLM Reproducibility | Seeded, digest-pinned experiments | uv run python demos/llm-reproducibility/run_experiment.py --seed 42 |
All commands assume the repository root as working directory. Every demo ships a pytest suite and is gated in CI exactly like the framework packages (make test-demos verify-demos smoke-demos).
Run the whole fleet
Section titled “Run the whole fleet”From the framework repository root:
make demos-up # start the hub; it boots all 13 demos in-processmake demos-status # list every demo's live statemake demos-down # stop everythingThe hub console at localhost:7000 shows a card for every service — green when it is answering, red when down — and links straight into each demo at /demos/<slug>/. Every demo also runs standalone on its own port with the command shown in the table above.