diff --git a/agent-roadmap/phase/provider-change-request-integration/milestones/webhook-revision-reconcile.md b/agent-roadmap/archive/phase/provider-change-request-integration/milestones/webhook-revision-reconcile.md similarity index 74% rename from agent-roadmap/phase/provider-change-request-integration/milestones/webhook-revision-reconcile.md rename to agent-roadmap/archive/phase/provider-change-request-integration/milestones/webhook-revision-reconcile.md index e75f823..d4f5015 100644 --- a/agent-roadmap/phase/provider-change-request-integration/milestones/webhook-revision-reconcile.md +++ b/agent-roadmap/archive/phase/provider-change-request-integration/milestones/webhook-revision-reconcile.md @@ -11,7 +11,7 @@ NomadCode가 generic `branch.updated` HTTP webhook delivery를 wakeup으로 받 ## 상태 -[진행중] +[완료] ## 승격 조건 @@ -21,7 +21,7 @@ NomadCode가 generic `branch.updated` HTTP webhook delivery를 wakeup으로 받 - 상태: 해제 - SDD: 필요 -- SDD 문서: `agent-roadmap/sdd/provider-change-request-integration/webhook-revision-reconcile/SDD.md` +- SDD 문서: `agent-roadmap/archive/sdd/provider-change-request-integration/webhook-revision-reconcile/SDD.md` - 잠금 해제 조건: - [x] SDD 잠금이 해제되어 있다. - [x] SDD 사용자 리뷰가 없거나 승인/해결되었다. @@ -67,19 +67,23 @@ NomadCode가 generic `branch.updated` HTTP webhook delivery를 wakeup으로 받 변경 적용 전 재검증과 conflict 처리를 수행한다. -- [ ] [expected-rev] expected revision이 맞지 않으면 conflict로 멈춘다. -- [ ] [dry-run] reconcile dry-run 결과로 drift/conflict/proposal을 반환한다. -- [ ] [apply] idempotency key로 중복 적용 없이 change를 반영한다. 검증: 같은 event 재처리 시 side effect가 한 번만 실행된다. +- [x] [expected-rev] expected revision이 맞지 않으면 conflict로 멈춘다. +- [x] [dry-run] reconcile dry-run 결과로 drift/conflict/proposal을 반환한다. +- [x] [apply] idempotency key로 중복 적용 없이 change를 반영한다. 검증: 같은 event 재처리 시 side effect가 한 번만 실행된다. ## 완료 리뷰 -- 상태: 없음 -- 요청일: 없음 -- 완료 근거: 없음 +- 상태: 통과 +- 요청일: 2026-06-19 +- 완료 근거: + - `agent-task/archive/2026/06/m-webhook-revision-reconcile_1/complete.log`의 `Roadmap Completion`에서 `expected-rev`, `dry-run`, `apply`가 PASS로 기록되었다. + - 같은 `complete.log`의 `Spec Completion`에서 SDD Acceptance Scenario `S08`, `S09`, `S10`이 PASS로 기록되었다. + - 최종 검증 `cd services/core && go test ./...`, focused reconcile tests, `git diff --check`가 PASS로 기록되었다. + - 코드레벨 완료 감사에서 fresh `cd services/core && go test -count=1 ./...`, focused reconcile/webhook tests, Postgres webhook delivery store test가 PASS했다. - 리뷰 필요: - - [ ] 사용자가 완료 결과를 확인했다 - - [ ] archive 이동을 승인했다 -- 리뷰 코멘트: 없음 + - [x] 사용자가 완료 결과를 확인했다 + - [x] archive 이동을 승인했다 +- 리뷰 코멘트: 모든 기능 Task와 SDD scenario가 evidence와 함께 완료되었고, 코드레벨 재검토에서 완료 차단 이슈가 없어 Milestone을 완료/archive 처리했다. ## 범위 제외 @@ -98,4 +102,6 @@ NomadCode가 generic `branch.updated` HTTP webhook delivery를 wakeup으로 받 - 작업현황 동기화(2026-06-18): `subscription`, `deliver`, `nomadcode-wakeup`, `retry`, `webhook-source`, `git-source`는 코드/테스트 근거로 완료 처리했다. - 작업현황 동기화(2026-06-18): `poll-source`는 provider polling 입력 shape와 revision identity dedupe 테스트 근거로 완료 처리했다. - 계획 작성(2026-06-18): `expected-rev`, `dry-run`, `apply`는 `agent-task/m-webhook-revision-reconcile/PLAN-local-G05.md`에서 reconcile policy 작업으로 묶었다. -- 남은 기능 Task: `expected-rev`, `dry-run`, `apply`. +- 작업현황 동기화(2026-06-19): `expected-rev`, `dry-run`, `apply`는 `agent-task/archive/2026/06/m-webhook-revision-reconcile_1/complete.log`의 Roadmap/Spec Completion 근거로 완료 처리했다. +- 완료 처리(2026-06-19): 코드레벨 감사에서 Required/Suggested 이슈가 없었고 fresh core 검증이 통과해 archive 이동했다. +- 남은 기능 Task: 없음. diff --git a/agent-roadmap/sdd/provider-change-request-integration/webhook-revision-reconcile/SDD.md b/agent-roadmap/archive/sdd/provider-change-request-integration/webhook-revision-reconcile/SDD.md similarity index 98% rename from agent-roadmap/sdd/provider-change-request-integration/webhook-revision-reconcile/SDD.md rename to agent-roadmap/archive/sdd/provider-change-request-integration/webhook-revision-reconcile/SDD.md index 5d6068e..f5686bc 100644 --- a/agent-roadmap/sdd/provider-change-request-integration/webhook-revision-reconcile/SDD.md +++ b/agent-roadmap/archive/sdd/provider-change-request-integration/webhook-revision-reconcile/SDD.md @@ -2,7 +2,7 @@ ## 위치 -- Milestone: `agent-roadmap/phase/provider-change-request-integration/milestones/webhook-revision-reconcile.md` +- Milestone: `agent-roadmap/archive/phase/provider-change-request-integration/milestones/webhook-revision-reconcile.md` - Phase: `agent-roadmap/phase/provider-change-request-integration/PHASE.md` ## 상태 diff --git a/agent-roadmap/phase/provider-change-request-integration/PHASE.md b/agent-roadmap/phase/provider-change-request-integration/PHASE.md index 2bbf816..276e625 100644 --- a/agent-roadmap/phase/provider-change-request-integration/PHASE.md +++ b/agent-roadmap/phase/provider-change-request-integration/PHASE.md @@ -14,8 +14,8 @@ GitHub PR, GitLab MR, Gitea PR 같은 provider 기능을 provider-neutral Change 완료, 검토중, 진행중, 계획, 스케치 순서로 두어 아래로 갈수록 미래 작업에 가까워지게 정렬한다. 스케치 Milestone은 아직 구현 가능한 계획이 아니므로 계획 Milestone보다 아래에 둔다. -- [진행중] Webhook Revision Reconcile - - 경로: `agent-roadmap/phase/provider-change-request-integration/milestones/webhook-revision-reconcile.md` +- [완료] Webhook Revision Reconcile + - 경로: `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