# 실행 흐름 ## tui-input-loop 1. `chat-tui` 또는 `python -m chat_tui`가 `main()`을 호출한다. 2. `ChatApp`이 Textual 이벤트 루프를 시작하고 화면을 구성한다. 3. 입력창에 포커스를 둔 뒤 사용자의 입력을 기다린다. 4. 사용자가 Enter를 누르면 `Input.Submitted` 이벤트를 처리한다. 5. 비어 있지 않은 입력을 세션 목록에 추가하고 같은 값을 대화 영역의 새 `Label`로 마운트한다. 6. 입력창을 비우고 대화 영역을 마지막 항목으로 스크롤한 뒤 다시 입력을 기다린다. 7. 사용자가 `Escape` 또는 `Ctrl+Q`를 누르면 Textual 종료 동작을 호출한다. 이 흐름에는 LLM 호출이나 외부 네트워크 요청이 없다. 애플리케이션 종료 뒤 세션 목록과 화면 항목은 보존되지 않는다.