Context: PR #213 landed the canonical examples/chat demo + smoke generator (Phase 1). All 14 CI checks green. Server-side regenerate-path probe via curl confirmed the demo's wire-shape works against the new graph (state correctly transitions 1u/1a → 1u/0u via as_node='__start__' rollback → 1u/1a with new AI id, the 0.0.29 fix path).
What's still pending: Visual browser sweep through examples/chat/smoke/CHECKLIST.md against the generated ~/tmp/ngaf consumer. The Chrome extension MCP was offline at merge time; only server-side and unit-test validation completed.
Steps to close this issue
- Pull latest main:
git pull origin main.
- Confirm
OPENAI_API_KEY in examples/chat/python/.env.
- Generate fresh smoke consumer:
npx nx run examples-chat-smoke:run
# Accept default: ~/tmp/ngaf, version=latest, install=Y, start=N
- Start backend:
cd examples/chat/python && uv run langgraph dev --port 2024 --no-browser
- Start the smoke consumer:
cd ~/tmp/ngaf && npm start
- Open http://localhost:4200 in Chrome.
- Walk through every section of
~/tmp/ngaf/CHECKLIST.md:
- Pre-flight, initial render, send & receive, stop mid-stream
- Markdown surfaces (headings, bullets/ordered, task lists, fenced code, tables, blockquotes, links, HRs, no raw HTML escape) — single most important section since it exercises the partial-markdown render path
- Streaming-specific markdown checks (incomplete code block / table mid-stream)
- Regenerate with the 1u/1a server-state assertion via
curl /threads/<id>/state
- Cross-mode persistence
- Mode switching (route + URL, deep-link, popup/sidebar role checks)
- Model picker (note: known issue — initial dropdown shows first option
gpt-5 instead of the signal value gpt-5-mini; capture as a follow-up if confirmed)
- Debug overlay mount/unmount
- Palette UX (collapse/expand persistence)
- Keyboard & accessibility
- Error handling (stop python; resume)
- Lifecycle (reload mid-conversation, "↻ New conversation" reset)
- Browser hygiene (no console.error, no detached chat-message nodes after 10 mode-switch cycles)
- Visual polish at 1440 / 1024 / 768 / 480
- Capture
~/tmp/ngaf/SMOKE_RUN.md plus any screenshots / HAR exports for failures.
- File targeted issues against
libs/chat for any regressions (e.g. tables / task-lists are documented known regressions from the 0.0.20 partial-markdown swap — surface them here too if still present).
Done when
- All Phase 1 sections of CHECKLIST.md walked.
SMOKE_RUN.md captured (or note "all green, no capture needed").
- Any failures filed as separate issues against
libs/chat.
Context: PR #213 landed the canonical
examples/chatdemo + smoke generator (Phase 1). All 14 CI checks green. Server-side regenerate-path probe via curl confirmed the demo's wire-shape works against the new graph (state correctly transitions 1u/1a → 1u/0u viaas_node='__start__'rollback → 1u/1a with new AI id, the 0.0.29 fix path).What's still pending: Visual browser sweep through
examples/chat/smoke/CHECKLIST.mdagainst the generated~/tmp/ngafconsumer. The Chrome extension MCP was offline at merge time; only server-side and unit-test validation completed.Steps to close this issue
git pull origin main.OPENAI_API_KEYinexamples/chat/python/.env.npx nx run examples-chat-smoke:run # Accept default: ~/tmp/ngaf, version=latest, install=Y, start=Ncd examples/chat/python && uv run langgraph dev --port 2024 --no-browsercd ~/tmp/ngaf && npm start~/tmp/ngaf/CHECKLIST.md:curl /threads/<id>/stategpt-5instead of the signal valuegpt-5-mini; capture as a follow-up if confirmed)~/tmp/ngaf/SMOKE_RUN.mdplus any screenshots / HAR exports for failures.libs/chatfor any regressions (e.g. tables / task-lists are documented known regressions from the 0.0.20 partial-markdown swap — surface them here too if still present).Done when
SMOKE_RUN.mdcaptured (or note "all green, no capture needed").libs/chat.