# Complete - m-external-integration/02+01_adapter_boundary

## 완료 일시

2026-06-05

## 요약

Adapter boundary audit follow-up을 2회 리뷰 루프 끝에 PASS로 종결했다.

## 루프 이력

| Plan | Review | Verdict | 메모 |
|------|--------|---------|------|
| `plan_local_G04_0.log` | `code_review_local_G04_0.log` | FAIL | `createPlaneTaskRequest` boundary grep 실패와 검증 기록 불일치 발견 |
| `plan_local_G05_1.log` | `code_review_local_G05_1.log` | PASS | Required 이슈 해소, grep/test evidence 재검증 통과 |

## 구현/정리 내용

- legacy Plane compatibility request 타입을 `createPlaneTaskRequest`에서 provider-neutral `legacyWorkItemTaskRequest`로 정리했다.
- `workItemRef`가 provider id를 매개변수로 받도록 바꾸고, Plane compatibility route에서는 `workitem.ProviderID("plane")`을 명시해 기존 JSON field compatibility를 유지했다.
- 관련 HTTP handler tests의 타입/test 명칭을 새 provider-neutral compatibility naming에 맞춰 갱신했다.

## 최종 검증

- `rg --sort path -n 'internal/adapters/(plane|jira|mattermost)' services/core/internal/workflow services/core/internal/workitem services/core/internal/workitempipeline services/core/internal/http` - PASS; no output, exit code 1
- `rg --sort path -n 'planeWorkItemTasks|jiraWorkItemTasks|createPlaneTaskRequest' services/core/internal/http services/core/cmd/server/main.go` - PASS; no output, exit code 1
- `cd services/core && go test -count=1 ./internal/http ./internal/workitem ./internal/workitempipeline` - PASS; `internal/http`, `internal/workitem`, `internal/workitempipeline` all ok
- `cd services/core && go test ./...` - PASS; core package tests ok, no-test packages reported `[no test files]`
- `git diff --check` - PASS; no output

## Roadmap Completion

- Milestone: `agent-roadmap/phase/external-integration/milestones/external-integration.md`
- Completed task ids:
  - `adapter-boundary`: PASS; evidence=`agent-task/archive/2026/06/m-external-integration/02+01_adapter_boundary/plan_local_G05_1.log`, `agent-task/archive/2026/06/m-external-integration/02+01_adapter_boundary/code_review_local_G05_1.log`; verification=`rg --sort path -n 'internal/adapters/(plane|jira|mattermost)' services/core/internal/workflow services/core/internal/workitem services/core/internal/workitempipeline services/core/internal/http`, `rg --sort path -n 'planeWorkItemTasks|jiraWorkItemTasks|createPlaneTaskRequest' services/core/internal/http services/core/cmd/server/main.go`, `cd services/core && go test -count=1 ./internal/http ./internal/workitem ./internal/workitempipeline`, `cd services/core && go test ./...`, `git diff --check`
- Not completed task ids: 없음

## 잔여 Nit

- 없음

## 후속 작업

- 없음
