Skip to content

feat: AI 후보 결정과 Case·Task 생성을 구현 - #96

Merged
hywznn merged 3 commits into
mainfrom
feat/24-candidate-decisions
Aug 6, 2026
Merged

feat: AI 후보 결정과 Case·Task 생성을 구현#96
hywznn merged 3 commits into
mainfrom
feat/24-candidate-decisions

Conversation

@hywznn

@hywznn hywznn commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

왜 필요한가요?

AI 분석 결과는 후보로만 저장되고, HR이 채택한 후보를 실제 Case와 Task로 연결하는 단계가 없었습니다. 또한 Intent와 Workflow ID가 섞이면 잘못된 업무 흐름이 생성될 수 있었습니다.

Closes #24
Closes #83

무엇이 바뀌나요?

  • POST /api/v1/ai-runs/{aiRunId}/candidate-decisions를 추가했습니다.
  • HR이 후보를 ACCEPT 또는 DISCARD할 수 있습니다.
  • 채택한 EXPIRY_RENEWAL 후보는 Workflow Catalog의 WF-STY-001을 기준으로 Case 1개와 순서가 보존된 Task 3개를 생성합니다.
  • Idempotency-KeyexpectedVersion으로 중복 처리와 동시 수정을 차단합니다.
  • 다른 사업장의 AI Run·Worker·Task를 연결할 수 없도록 tenant 제약과 PostgreSQL RLS 준비를 추가했습니다.
  • Intent는 EXPIRY_RENEWAL, Workflow ID는 WF-STY-001로 구분합니다.
  • 후보 결정과 Task 생성에 대한 감사로그를 남깁니다.

사용자·개발 영향

  • AI 결과는 자동 승인·발송되지 않습니다.
  • HR이 채택한 후보만 Case와 Task가 됩니다.
  • 체류 만료일을 기준으로 데모 업무의 마감일을 계산합니다.
  • Flyway V22, PostgreSQL 전용 V23을 추가합니다.

검증

  • ./gradlew clean test 성공
  • PostgreSQL 17 전용 테스트 성공
  • 실제 Server ↔ AI Runtime PLAN → DB 보충 → ANALYZE 왕복 성공
  • 후보 채택 후 Case 1개와 Task 3개가 Projection API에 순서대로 노출되는 것을 확인

리뷰 시 확인할 부분

  • 후보 결정 전체가 하나의 트랜잭션으로 처리되는지
  • Workflow Snapshot과 Task 순서·의존성이 일치하는지
  • Flyway V22·V23 번호가 병합 시점에도 비어 있는지

@hywznn
hywznn requested review from chaeliki and krestar August 6, 2026 08:01

@krestar krestar left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

후보 결정 전체가 하나의 트랜잭션으로 처리되는 것 확인했습니다
구현과 테스트 상 task 순서, 의존성 일치 확인했고,
main branch 및 Open PR 기준으로 flyway migration 버전 충돌도 없는 것 같습니다

@hywznn
hywznn merged commit 90532c9 into main Aug 6, 2026
4 of 5 checks passed
@hywznn
hywznn deleted the feat/24-candidate-decisions branch August 6, 2026 08:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Case][P0] Case·Workflow Snapshot·업무함 Projection 구현 [AI Run] 비동기 실행 상태·재시도·멱등성 구현

2 participants