## 한 줄 목표 체류기간이 만료되었거나 퇴사한 근로자를 자동 삭제하지 않고 안전하게 보관하되, 과거 Task·문서·승인·감사 이력은 유지합니다. ## 중요한 정책 **체류만료일이 지났다는 이유만으로 자동 퇴사·불법체류·삭제 처리하지 않습니다.** 먼저 Server #184의 체류상태 확인을 거쳐 HR이 고용종료를 명시적으로 확인하고, 남은 업무가 없을 때만 보관합니다. ## 저장소별 구현 - [x] Knowledge #53: `WF-STY-EXC-001`, 상태·증빙·금지 규칙 확정 - [x] AI #50: 만료 경과 예외 Workflow와 `WF-CHG-001` 후보 연결 - [x] Server #184: 체류상태 스캔·확인·증빙·새 만료일 반영 - [x] Server #193: 보관 가능 여부와 보관 Command 구현 - [x] Client #346: 긴급 확인 Modal과 조건부 보관 UX 구현 - [x] Infra 변경 없음 ## Server 안전 보관 규칙 - [x] 보관 시각·처리자·사유 저장 - [x] 진행 중 Task, 승인 대기, 유효 Worker Link가 있으면 차단 - [x] `ACTIVE`·`ON_LEAVE` 근로자는 보관 차단 - [x] HR·ADMIN 권한, tenant 격리, `expected_version` 적용 - [x] 기본 목록·AI Context·신규 Task 대상에서 보관 근로자 제외 - [x] 기존 Task·문서·응답·감사 이력 유지 - [x] `WORKER_ARCHIVED` 감사로그 기록 - [x] 동시 Task 생성과 보관 요청 직렬화 ## API - `GET /api/v1/stay-verifications` - `POST /api/v1/stay-verifications/scan` - `PATCH /api/v1/stay-verifications/{verificationId}` - `GET /api/v1/workers/{workerId}/archive-eligibility` - `POST /api/v1/workers/{workerId}/archive` ## 검증 결과 - [x] Server PostgreSQL 16 전체 테스트 688개, 실패 0건 - [x] 제한 Runtime DB Role과 tenant 격리 검증 - [x] Client 테스트 472개·빌드·lint 통과 - [x] AI 관련 테스트 48개와 전체 테스트 통과 - [x] Knowledge 계약 테스트 20개와 CI 통과 ## 이번 범위에서 하지 않는 것 - 만료일 기준 자동 삭제·자동 퇴사 - 개인정보 원문과 원본 파일의 즉시 물리 삭제 - 보유기간 만료 배치·백업 삭제 - 법적 체류 상태 자동 판단 - Infra 변경 ## 연결 PR과 병합 순서 1. [Knowledge PR #54](https://github.com/fowoco/knowledge/pull/54) 2. [Server PR #198](https://github.com/fowoco/server/pull/198) 3. [Server PR #199](https://github.com/fowoco/server/pull/199)의 base를 `main`으로 변경하고 CI 재검증 4. [AI PR #57](https://github.com/fowoco/ai/pull/57) 5. [Client PR #355](https://github.com/fowoco/client/pull/355) 각 PR 병합 시 연결 Issue를 자동 완료합니다.
Activity
hywznn commentedon Aug 16, 2026
작업 시작합니다. Server #184의 V54 다음 번호인 V55를 예약합니다. 과거 업무·문서 참조는 유지하고 기본 목록·AI Context·신규 업무 대상에서만 안전하게 제외합니다.
hywznn commentedon Aug 16, 2026
번호 예약을 정정합니다. #184가 공용 스키마 V54와 PostgreSQL RLS 호환 스캔 함수 V55를 함께 사용하므로, 이 이슈의 근로자 보관 Migration은 V56을 사용합니다.
hywznn commentedon Aug 16, 2026
구현 Draft PR #199를 연결했습니다.
Flyway 예약은 선행 #184의 V54·V55 다음인 **V56(공통 worker_archive)·V57(PostgreSQL RLS 정책 준비)**을 사용합니다. 다음 사용 가능 번호는 V58입니다.
자동 삭제 없이 보관 메타데이터만 추가하고, 재직 상태·미완료 Task·대기 승인·유효 Worker Link가 있으면 차단합니다. 기본 Worker 목록·AI 대상 탐색·신규 Task 대상에서는 제외하지만 기존 상세·Task·문서·응답·감사 기록은 보존합니다.
feat(knowledge): 체류기간 만료 경과 예외 Workflow 계약 추가 (#54)