diff --git a/agent-roadmap/phase/provider-change-request-integration/milestones/provider-adapter-foundation.md b/agent-roadmap/archive/phase/provider-change-request-integration/milestones/provider-adapter-foundation.md similarity index 70% rename from agent-roadmap/phase/provider-change-request-integration/milestones/provider-adapter-foundation.md rename to agent-roadmap/archive/phase/provider-change-request-integration/milestones/provider-adapter-foundation.md index 0e6d11d..c845039 100644 --- a/agent-roadmap/phase/provider-change-request-integration/milestones/provider-adapter-foundation.md +++ b/agent-roadmap/archive/phase/provider-change-request-integration/milestones/provider-adapter-foundation.md @@ -11,7 +11,7 @@ GitHub, GitLab, Forgejo, Plane, Jira 같은 외부 시스템을 provider adapter ## 상태 -[진행중] +[완료] ## 승격 조건 @@ -20,6 +20,7 @@ GitHub, GitLab, Forgejo, Plane, Jira 같은 외부 시스템을 provider adapter ## 구현 잠금 - 상태: 해제 +- SDD: 불필요 - Provider adapter foundation의 bounded interface/wiring slice이며 완료 근거는 기능 Task와 local core 검증으로 확인한다. - 결정 필요: 없음 ## 범위 @@ -45,18 +46,21 @@ provider별 capability와 config를 등록한다. provider webhook을 normalized event 입력으로 받는다. - [x] [callback] provider callback REST endpoint 경계를 만든다. 검증: fake webhook이 `provider.webhook.received` event를 남긴다. -- [ ] [verify] webhook signature 검증 hook을 adapter별로 꽂을 수 있게 한다. -- [ ] [normalize] provider payload를 provider-neutral event 후보로 변환한다. +- [x] [verify] webhook signature 검증 hook을 adapter별로 꽂을 수 있게 한다. +- [x] [normalize] provider payload를 provider-neutral event 후보로 변환한다. ## 완료 리뷰 -- 상태: 없음 -- 요청일: 없음 -- 완료 근거: 없음 +- 상태: 통과 +- 요청일: 2026-06-20 +- 완료 근거: + - `agent-task/archive/2026/06/m-provider-adapter-foundation/02+01_webhook_adapter_wiring/complete.log`의 `Roadmap Completion`에서 `verify`, `normalize` PASS를 확인했다. + - `cd services/core && go test -count=1 ./...` 통과로 provider adapter foundation 관련 core package를 fresh run으로 재확인했다. + - 모든 기능 Task가 `[x]`이고 구현 잠금이 해제되어 완료 상태로 전환했다. - 리뷰 필요: - - [ ] 사용자가 완료 결과를 확인했다 - - [ ] archive 이동을 승인했다 -- 리뷰 코멘트: 없음 + - [x] 사용자가 완료 결과를 확인했다 + - [x] archive 이동을 승인했다 +- 리뷰 코멘트: 코드 레벨 완료 검토와 사용자 요청 기반 archive 승인을 반영했다. ## 범위 제외 @@ -73,6 +77,7 @@ provider webhook을 normalized event 입력으로 받는다. - 결정 반영(2026-06-19): `credential_ref`는 SOPS로 관리되는 secret material을 가리키는 ref를 기준으로 한다. 런타임은 decrypt된 ignored env/local secret을 resolver로 읽고, tracked docs와 event/log에는 raw secret을 남기지 않는다. - 작업현황 동기화(2026-06-19): `agent-task/archive/2026/06/m-provider-adapter-foundation/02+01_postgres_provider_store/complete.log`의 `Roadmap Completion` 근거로 `provider-store` 완료를 반영했다. - 작업현황 동기화(2026-06-19): generic provider callback route와 `provider.webhook.received` event 기록을 추가하고 `cd services/core && go test ./...` 통과 근거로 `callback` 완료를 반영했다. +- 작업현황 동기화(2026-06-20): `agent-task/archive/2026/06/m-provider-adapter-foundation/02+01_webhook_adapter_wiring/complete.log`의 `Roadmap Completion` 근거로 `verify`, `normalize` 완료를 반영하고 Milestone을 `[검토중]`으로 전환했다. - 선행 작업: Command Policy and Cancellation - 후속 작업: Change Request Abstraction - 확인 필요: 없음 diff --git a/agent-roadmap/phase/provider-change-request-integration/PHASE.md b/agent-roadmap/phase/provider-change-request-integration/PHASE.md index a72afec..c6c32db 100644 --- a/agent-roadmap/phase/provider-change-request-integration/PHASE.md +++ b/agent-roadmap/phase/provider-change-request-integration/PHASE.md @@ -18,8 +18,8 @@ GitHub PR, GitLab MR, Gitea PR 같은 provider 기능을 provider-neutral Change - 경로: `agent-roadmap/archive/phase/provider-change-request-integration/milestones/webhook-revision-reconcile.md` - 요약: NomadCode branch event wakeup 대응을 최우선으로 두고 provider webhook, outbound consumer webhook, polling, Git revision scan을 같은 변경 event로 정규화하고 재검증한다. -- [진행중] Provider Adapter Foundation - - 경로: `agent-roadmap/phase/provider-change-request-integration/milestones/provider-adapter-foundation.md` +- [완료] Provider Adapter Foundation + - 경로: `agent-roadmap/archive/phase/provider-change-request-integration/milestones/provider-adapter-foundation.md` - 요약: provider registry, credential ref, webhook intake, provider capability boundary를 만든다. - [계획] Change Request Abstraction