Skip to content

[Task][P0] 업무 유형·대상 범위 확장 #85

Description

@hywznn

한 줄 목표

현재 세 가지 연장 Task만 가능한 구조를 보완해 문서 요청·입사·급여 설명·고용변동·업무지시를 표현하고, 근로자가 아직 정해지지 않은 사업장 공통 Task도 안전하게 처리합니다.

현재 문제

현재 TaskTypeRECONTRACT, EMPLOYMENT_PERIOD_EXTENSION, STAY_PERIOD_EXTENSION만 있고 모든 Task가 worker_id를 요구합니다. 따라서 화면과 Intent 모델이 다루는 일부 업무를 실제 Task로 저장할 수 없습니다.

Intent와 Task를 구분합니다

  • EXPIRY_RENEWAL Intent는 기존의 재계약·취업활동기간 연장·체류기간 연장 Task 여러 개로 분해합니다.
  • DOCUMENT_REQUEST, WORKER_ONBOARDING, PAYROLL_EXPLANATION, EMPLOYMENT_CHANGE, WORK_INSTRUCTION은 대응 Task type 또는 Workflow ID로 연결합니다.
  • OUT_OF_SCOPE는 Task를 만들지 않고 HR 확인 결과로 남깁니다.

AI Intent 이름을 Task 상태로 그대로 복사하지 않고, Server가 활성 Workflow Catalog와 허용 목록으로 검증합니다.

API 영향

새 endpoint를 만들지 않고 기존 Task API의 요청·응답과 filter를 확장합니다.

  • GET /api/v1/tasks
  • POST /api/v1/tasks
  • GET /api/v1/tasks/{taskId}
  • PATCH /api/v1/tasks/{taskId}

구현 범위

  • Task type/Workflow ID 매핑 확장
  • target_type = WORKER | COMPANY 또는 동등한 명시적 대상 모델 도입
  • WORKER 대상이면 worker_id 필수, COMPANY 대상이면 worker_id 없음이라는 DB CHECK
  • nullable worker_id에서도 company_id tenant 격리 유지
  • TaskSource에 실제 진입점이 필요한 경우 FILE_IMPORT, WORKER_RESPONSE 추가
  • 목록에서 type·source·target 필터 지원
  • [AI Run] 비동기 실행 상태·재시도·멱등성 구현 #24 candidate 채택 시 허용된 Workflow만 Task 생성
  • 기존 세 연장 Task와 API 호환성 유지

완료 조건

  • 대표 7 Intent 중 OUT_OF_SCOPE를 제외한 업무를 검증된 Task/Workflow로 표현할 수 있습니다.
  • EXPIRY_RENEWAL 후보 하나에서 필요한 세 Task가 같은 Case 아래 생성됩니다.
  • WORKER/COMPANY 대상 규칙을 DB와 Service가 모두 검증합니다.
  • 타 사업장 대상 연결과 존재하지 않는 Worker 연결이 차단됩니다.
  • 기존 Task·Approval·Worker Link 테스트가 깨지지 않습니다.
  • OpenAPI에 type·source·target 예시와 오류 규칙이 있습니다.

이번 이슈에서 하지 않는 것

  • 새로운 Task 상태 추가
  • AI 결과 자동 승인·자동 발송
  • Workflow Catalog 원본 수정
  • Client 화면 구현

관계

Metadata

Metadata

Assignees

Labels

area:serverSpring Boot API·도메인·DB·tenant·Task Workflow 영역; Prompt·모델·Provider 구현 제외priority:P0MVP 진행을 막는 최우선 핵심 작업status:ready범위가 확정되어 바로 시작할 수 있는 작업type:feature사용자 또는 Agent가 사용하는 기능 개발

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions