Chatbot v2 — Generative UI Playground

Live against https://chat.dev.posha-api.com — drives the real posha_chatbot_services v2 engine and renders whatever ui payload it actually returns. Grounded in v2/rendering/ui_descriptor.py (build_ui) and v2/rendering/renderer.py (§14 of the KB doc). This file makes no network calls of its own until you click Start session — open it as a local file, it does not run inside claude.ai's sandbox.

The turn pipeline (§0 → §14 zoom-in)

HTTP POST
/messages
send_turn
service.py
engine.run
Phase 1 → 1.5 → 2
render()
→ build_ui() ↓
HTTP 200
TurnResultResponse
client renders
tiles / slider / confirm
§14 zoom-in — build_ui(events, state) → v2/rendering/ui_descriptor.py
tile_group
swap / add / remove candidates — tap = commit
slider
taste/texture/doneness/quantity bands
confirm
plain yes / no
SSE variant (§14.4b, not used by this playground — it calls the sync endpoint, same payload): tool_call_result × 0..nproposed_action × 0..nfinal × 1

1 — Start a real session

not connected

client_ui is locked to "tiles" — that's the whole point of this playground; a "text" session never receives a ui payload at all.

3 — Live pipeline trace

HTTP POST /messages
send_turn
engine.run (LLM-1 + advance)
render()
build_ui() → elements[]
client renders
One real HTTP round-trip; the lights are simulated pacing over that single response, not separate network events.

ui

input_request