Skip to content

[E2E] 제품 대표 복합 요청 시나리오·데모 런북 완성 #10

Description

@hywznn

한 줄 목표

한 명의 E-9 근로자에 대한 3년 만료 연장 요청이 AiRun 분석부터 Case·세 Task·승인·서류·제출 추적·완료까지 실제로 이어지는 대표 데모를 자동 검증하고 runbook으로 남깁니다.

Product E2E는 Server 업무 흐름 검증입니다. 모델 분류 성능은 fowoco/ai, Workflow·Slot 정답은 fowoco/knowledge가 소유합니다.

고정 대표 시나리오

  1. HR이 로그인하고 3년 만료 대상 근로자 한 명을 선택합니다.
  2. Client가 POST /api/v1/ai-runs로 “응웬반A가 3년 만료 예정이야. 재계약하고 체류연장 준비해줘, EXPIRY_RENEWAL”을 전송합니다.
  3. Server가 AiRun을 저장하고 202 + aiRunId를 반환합니다.
  4. Agent가 요청한 허용 Slot을 Server가 현재 사업장 Worker DB에서 보충합니다.
  5. DB로 해결하지 못한 임금·계약기간·숙소 조건은 질문으로 반환하고 HR 답변 뒤 새 Attempt로 분석합니다.
  6. HR이 candidate를 채택하면 [Case][P0] Case·Workflow Snapshot·업무함 Projection 구현 #83 Case 하나와 다음 세 Task를 만듭니다.
    • 재계약
    • 취업활동기간 연장
    • 체류기간 연장
  7. GET /api/v1/cases/{caseId}/projection에서 단계·진행률·서류 준비도를 확인합니다.
  8. HR이 초안과 필수값을 검토하고 현재 Task version을 승인합니다.
  9. 필요한 경우 승인된 최소 안내만 [Worker Link] 로그인 없는 근로자 보안 링크와 응답 구현 #7 Worker Link로 전달하고 근로자 응답·파일을 받습니다.
  10. HR이 외부기관 제출 결과와 evidence를 기록하고 세 Task와 Case를 완료합니다.
  11. AiRun·Attempt·CandidateDecision·Task activity·Approval·Audit를 같은 흐름으로 재구성합니다.

반드시 확인할 API

  • POST /api/v1/ai-runs
  • GET /api/v1/ai-runs/{aiRunId}
  • POST /api/v1/ai-runs/{aiRunId}/answers
  • POST /api/v1/ai-runs/{aiRunId}/candidate-decisions
  • GET /api/v1/cases
  • GET /api/v1/cases/{caseId}/projection
  • 기존 Task·Approval·Document·Worker Link·Complete API

자동 테스트 범위

  • Testcontainers PostgreSQL + Fake AI Runtime Product E2E
  • 별도 Remote AI Runtime contract smoke
  • CONTEXT_REQUIRED → NEEDS_INFO → REVIEW_REQUIRED 정상 흐름
  • candidate 재전송에도 Case·Task 중복 없음
  • tenant IDOR·역할 위반·승인 version 충돌
  • Link 만료·회전·업로드 멱등성
  • AI timeout·잘못된 JSON·Server 재시작·Outbox 재처리
  • secret·token이 log/error/metric에 없는지 검사

실패 시 기대 결과

상황 기대 결과
AI Runtime 계약 불일치 AiRun FAILED와 안전한 오류, 가짜 후보 없음
필수 정보 부족 장애가 아니라 질문 상태, HR 답변 가능
같은 decision 재전송 기존 Case·Task 결과 반환
승인 후 중요값 변경 기존 승인 무효화, 재승인 전 전달 차단
Server 재시작 저장된 Run/Event 복구, 중복 Task 없음
배포 rollout 실패 GitHub Actions 실패로 표시

Demo runbook

  • demo URL·계정·고정 Worker·입력 문장
  • 화면별 기대 응답과 확인할 ID
  • AI Runtime 장애 시 수동 처리·retry·복구 순서
  • seed reset·Worker Link 폐기·금지 데이터
  • 처음 참여한 팀원이 runbook만 보고 재현

완료 조건

  • 실제 AI Runtime 성공 왕복이 확인됩니다.
  • 한 Case 아래 세 Task가 생성되고 Projection과 실제 상태가 일치합니다.
  • 승인·근로자 응답·외부 제출·evidence·완료가 끝까지 연결됩니다.
  • 실패·중복·재시작에도 자동 승인/발송과 중복 Case·Task가 없습니다.
  • 배포 환경에서 대표 시나리오를 반복 재현할 수 있습니다.

관계

Metadata

Metadata

Labels

area:ai-integrationServer ↔ AI Runtime 내부 계약·Client·검증·trace 연동 영역; Prompt·모델·Provider 구현은 ai 저장소 소유area:infraServer Dockerfile·DB 설정·CI hook·배포 가능성 영역; 통합 인프라 운영은 infra 저장소와 조율area:serverSpring Boot API·도메인·DB·tenant·Task Workflow 영역; Prompt·모델·Provider 구현 제외priority:P0MVP 진행을 막는 최우선 핵심 작업status:blocked선행 작업이나 외부 조건 때문에 현재 진행할 수 없는 작업type:tooling테스트·검증·CI·개발 편의 도구 작업

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions