feat: 업무카드·체크리스트 Workflow 구현 - #39
Merged
Merged
Conversation
28 tasks
30 tasks
hywznn
force-pushed
the
agent/11-approval-audit
branch
from
July 24, 2026 02:16
00e7f38 to
8e1f8a5
Compare
hywznn
force-pushed
the
agent/6-task-workflow
branch
2 times, most recently
from
July 24, 2026 02:23
366b439 to
dc4ed4e
Compare
hywznn
marked this pull request as ready for review
July 24, 2026 02:25
chaeliki
previously approved these changes
Jul 24, 2026
Knowledge 저장소의 Workflow 정의를 Server용 read-only projection으로 검증하고 로드합니다. 운영 환경에서는 RELEASED bundle만 허용하고 Task 유형, 필수 slot, checklist, 출처 version을 고정합니다.
Worker 최소 조회 경계, tenant 범위 Repository, required slot 평가, 낙관적 잠금과 상태 전이를 연결합니다. 중요값 또는 필수 checklist 변경 시 승인 snapshot을 무효화하고 Audit·Transition을 같은 transaction에 기록합니다.
Workflow Catalog와 Task 목록·생성·상세·수정·checklist·취소 endpoint를 /api/v1 계약으로 제공합니다. snake_case, JWT role, company 격리, expected_version과 409·422 오류 계약을 OpenAPI에 반영합니다.
7개 API 흐름, 타 사업장 은닉, Viewer 쓰기 차단, 민감정보 거부와 승인 무효화를 통합 테스트합니다. 동시 수정은 하나만 성공하고 OpenAPI version·snake_case 계약이 유지되는지 검증합니다.
필수정보와 checklist가 충분하면 기존 승인을 무효화한 뒤 수정본 snapshot을 새로 만들고 READY_FOR_REVIEW로 전환합니다. 문서 종류·상태 metadata는 허용하되 여권번호 등 실제 민감 식별값은 계속 차단합니다.
7개 Task Workflow API, expected_version, 승인 무효화와 Knowledge projection 운영 방법을 README와 환경변수 예시에 추가합니다. Conventional Commits의 type·scope는 영문으로 유지하고 설명은 한국어로 작성하도록 기여 규칙을 맞춥니다.
hywznn
force-pushed
the
agent/6-task-workflow
branch
from
July 24, 2026 02:32
dc4ed4e to
f28f25a
Compare
chaeliki
approved these changes
Jul 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
왜 필요한가요?
Closes #6
Refs #5, #11, #25
Task Workflow를 실제 HR 업무카드로 사용할 수 있도록 구현합니다. Worker CRUD·Document metadata를 다시 구현하지 않고, 병합된 PR #40의 Worker를 최소 read port로 조회합니다.
PR #37의 승인·감사 기반이
main에 Squash Merge되어, 이 PR도 최신main위에 Task Workflow 전용 커밋만 다시 정리했습니다.무엇이 바뀌나요?
fowoco/knowledgerelease용 Workflow Catalog read-only projection과 운영 RELEASED 검증company_id범위 조회,ADMIN/HR/VIEWER권한,expected_version낙관적 잠금DRAFT/NEEDS_INFO결정과 checklist template snapshot#40 Worker 계약 반영
work_status,stay_expiry_date,nationality_code사용WorkerStatus.isCurrentlyEmployed()를 사용해 상태 판단을 한 곳으로 통일ACTIVE,ON_LEAVE근로자만 새 업무 생성 가능RESIGNED,TERMINATED근로자는422 WORKER_NOT_ELIGIBLE검증
main위로 rebase./gradlew clean test./gradlew build -x testRESIGNED,TERMINATED업무 생성 차단Test and build통과ADR·저장소 경계
/api/v1, JWT ActorContext, tenant 격리, 공통 오류와expected_version배포·롤백
새 migration은 추가하지 않습니다. PR #40의 V3와 PR #37의 V4·V5 schema를 사용합니다. 롤백은 이 PR의 squash commit을 revert하고 이전 Server artifact와 Workflow projection으로 되돌립니다.
리뷰에서 중점 확인할 부분
RESIGNED,TERMINATED근로자 업무 생성 차단