Files
gitea-agent-testbed/docs/data-model.md
T
code-agent 52dd589f8c code-agent: implement issue 4
Approval-Correlation: 0543bb321a84cb936bc0ac4988615840
Plan-SHA256: 437a85f68d151ed4db780511812834041cfec5e7cf021fb77e238d5a6196e6fb
Base-SHA: 256be64ac7
2000-01-01 00:00:00 +00:00

1.6 KiB

데이터 모델

대화 상태

ChatApp은 세션 동안 다음 목록을 메모리에 유지한다.

  • submitted_inputs: trim된 유효 사용자 메시지 목록
  • selected_responses: 각 사용자 메시지에 대응하는 선택 응답 목록

두 목록은 같은 인덱스를 사용하며, 유효한 제출 하나마다 항목 하나씩 추가된다. 공백 입력은 어느 목록도 변경하지 않는다.

고정 응답 목록

src/chat_tui/app.py의 RESPONSE_MESSAGES 상수는 다음 다섯 문자열을 순서대로 보유한다.

  1. 안녕하세요! 무엇을 도와드릴까요?
  2. 그것은 제가 처리하기 불가능합니다.
  3. 맡겨만 주세요.
  4. 지금 처리 중입니다.
  5. 작업을 완료하였습니다.

응답은 random.choice(RESPONSE_MESSAGES)로 선택한다. 난수 선택 자체는 테스트에서 chat_tui.app.random.choice를 대체할 수 있는 경계로 취급한다.

대화 항목

유효한 입력이 제출되면 대화 영역에 다음 두 Label을 순서대로 추가한다.

  1. user-message 클래스의 사용자 메시지
  2. response-message 클래스의 선택 응답

사용자 메시지는 입력값을 strip()한 결과이며, 선택 응답은 고정 응답 목록의 문자열이다.

불변 조건

  • 공백 제거 결과가 빈 문자열이면 상태와 화면을 변경하지 않는다.
  • 유효한 입력마다 사용자 메시지가 응답보다 먼저 추가된다.
  • submitted_inputs와 selected_responses의 길이는 항상 같다.
  • 응답은 고정 목록에 포함된 값이어야 한다.
  • 대화 기록은 애플리케이션 세션 안에서만 유지한다.