showcase/integrations/langgraph-python/qa/hitl-in-app.md
/demos/hitl-in-app on the dashboard host/api/health); OPENAI_API_KEY is set on Railway; LANGGRAPH_DEPLOYMENT_URL points at a LangGraph deployment exposing the hitl_in_app graphdocument.body and is NOT a child of the chat transcript./demos/hitl-in-app; verify the page renders within 3s as a two-column layout — left column is the "Support Inbox" panel, right column is the CopilotChat surface (bordered, w-[420px])ticket-12345, ticket-12346, ticket-12347, each showing the customer name (Jordan Rivera / Priya Shah / Morgan Lee), subject line, and status pill ("Open" green, "Escalating" amber)CopilotChat input placeholder is visible and no approval dialog is rendered on initial loaddata-testid="approval-dialog-overlay" (fullscreen fixed backdrop with backdrop-blur-sm) and data-testid="approval-dialog" (centered card with role="dialog" and aria-modal="true")createPortal(content, document.body)) — confirm in DevTools that approval-dialog-overlay is a direct descendant of <body>, NOT nested inside the CopilotChat containerdata-testid="approval-dialog-reason" is present with placeholder "Add a short note the assistant will see…"data-testid="approval-dialog-approve" button (labeled "Approve")data-testid="approval-dialog-reject" (labeled "Reject")<body> (NOT nested in the chat) and closes on Approve/Reject