chore: plane-task-pipeline-design 마일스톤 진행 상태 및 생성 흐름 문서화

This commit is contained in:
toki 2026-05-23 15:27:38 +09:00
parent dc4d28d0bf
commit cc00ac25fb

View file

@ -23,7 +23,11 @@ Plane Task Pipeline Design
## 필수 기능
- [ ] Plane work item -> core task 생성/연결 흐름을 문서화한다.
- [x] Plane work item -> core task 생성/연결 흐름을 문서화한다.
- [x] 초기 entrypoint는 기존 `POST /api/integrations/plane/tasks`를 기준선으로 삼는다.
- [x] 생성 단계는 Plane work item 조회와 core task 저장까지만 담당한다.
- [x] 생성된 task는 `pending` 상태로 남기고 enqueue는 별도 단계에서 처리한다.
- [x] Plane 연결 정보는 provider-neutral external ref와 Plane metadata에 함께 저장한다.
- [ ] 자동 enqueue 여부와 사용자/운영 트리거 경계를 결정한다.
- [ ] external ref metadata 계약을 확정한다.
- [ ] 완료/실패 결과의 Plane comment/status update 정책을 정한다.
@ -52,4 +56,13 @@ Plane Task Pipeline Design
- 관련 경로: `services/core/internal/adapters/plane/`, `services/core/internal/http/`, `services/core/internal/storage/`, `services/core/internal/scheduler/`, `services/core/internal/workflow/`, `services/core/README.md`
- 선행 작업: Plane Communication Foundation
- 후속 작업: Workflow Core
- 초기 생성/연결 흐름:
- 운영자 또는 상위 자동화가 `POST /api/integrations/plane/tasks`를 호출한다.
- 요청 필수값은 `workspace_slug`, `project_id`, `work_item_id`이고, `state_id`, `external_url`, `comment`는 선택값으로 받는다.
- core는 Plane adapter로 work item detail을 조회해 title과 description 후보를 얻는다.
- task title은 Plane work item name을 우선하고, 비어 있으면 `work_item_id`를 사용한다.
- task payload의 `message`는 요청 `comment`, Plane stripped description, plain description, HTML description, title 순서로 선택한다.
- task source는 `plane`, external provider는 `plane`, external id는 `work_item_id`로 저장한다.
- `workspace_slug`, `project_id`, `work_item_id`, `state_id`, `external_url``payload.plane``external_metadata`에 저장한다.
- 생성 직후 task 상태는 `pending`이며, 이 entrypoint는 enqueue, Plane 상태 변경, 결과 comment 발행을 수행하지 않는다.
- 확인 필요: trigger 방식은 현재 구현 상태와 운영 기대치를 보고 수동 endpoint 유지, webhook, polling 중 하나를 선택한다.