- Add agent-task for provider adapter foundation - Update roadmap PHASE.md and milestone for provider-adapter-foundation - Implement router.go, router_test.go, runtime.go controlplane changes
6.9 KiB
Code Review Reference - API
[IMPLEMENTING AGENT — READ FIRST] Filling in this file is the mandatory final step of implementation. The task is NOT complete until every implementation-owned section below is filled in. Complete the
구현 체크리스트; the final checklist item is mandatory before saving. If predecessor01_webhook_adapter_contracthas nocomplete.log, do not implement; record dependency blocker in implementation-owned sections. If implementation is blocked by a selected SDD decision or selected Milestone구현 잠금 > 결정 필요item, fill사용자 리뷰 요청with linked evidence and stop with active files in place. Do not ask the user directly, present choices in chat, or callrequest_user_inputduring implementation. Finalization is review-agent-only.
개요
date=2026-06-19 task=m-provider-adapter-foundation/02+01_webhook_adapter_wiring, plan=0, tag=API
Roadmap Targets
- Milestone:
agent-roadmap/phase/provider-change-request-integration/milestones/provider-adapter-foundation.md - Task ids:
verify: webhook signature 검증 hook을 adapter별로 꽂을 수 있게 한다.normalize: provider payload를 provider-neutral event 후보로 변환한다.
- Completion mode: check-on-pass
이 파일을 읽는 리뷰 에이전트에게
[REVIEW AGENT ONLY] 아래 종결 절차는 코드리뷰 에이전트 전용이다. 구현 에이전트는 이 섹션을 실행하지 않는다.
각 항목의 구현을 실제 소스 파일과 대조하고, 검증 결과 섹션의 출력이 코드와 일치하는지 확인하세요.
리뷰 완료는 아래 순서까지 끝난 상태를 의미합니다.
- 판정을 append한다.
CODE_REVIEW-local-G06.md→code_review_local_G06_N.log,PLAN-local-G06.md→plan_local_G06_M.log로 아카이브한다.- PASS이면
complete.log작성 후 active task 디렉터리를agent-task/archive/YYYY/MM/m-provider-adapter-foundation/02+01_webhook_adapter_wiring/로 이동한다. - PASS이고 task group이
m-provider-adapter-foundation이면 런타임이 읽을 완료 이벤트 메타데이터를 보고한다. roadmap 수정이나update-roadmap직접 호출은 하지 않는다.
구현 항목별 완료 여부
| 항목 | 완료 여부 |
|---|---|
| [API-1] Forgejo Webhook Adapter | [ ] |
| [API-2] Router Adapter Wiring | [ ] |
구현 체크리스트
agent-task/m-provider-adapter-foundation/01_webhook_adapter_contract/complete.log가 있는지 확인하고 없으면 구현하지 않고 dependency 대기 상태를 기록한다.- Forgejo webhook adapter가 provider contract의 verifier/normalizer를 구현하도록
services/core/internal/provider/forgejo/push.go와 테스트를 갱신한다. /callbacks/forgejo/push가 adapter verification hook과 normalization candidate를 통해 기존branch.updatedevent를 발행하도록services/core/internal/controlplane/router.go와 테스트를 갱신한다.- generic
/callbacks/providers/fakereceipt-only behavior와 raw payload non-leak 테스트가 계속 통과하는지 확인한다. cd services/core && go test -count=1 ./internal/provider/forgejo ./internal/controlplane와cd services/core && go test ./...를 실행한다.- CODE_REVIEW-*-G??.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다.
코드리뷰 전용 체크리스트
[REVIEW AGENT ONLY] 이 체크리스트는 코드리뷰 에이전트만 사용한다. 구현 에이전트는 이 섹션을 수정하거나 체크하지 않는다.
코드리뷰 결과에PASS,WARN,FAIL중 하나의 판정을 append한다.- 판정과
차원별 평가, Required/Suggested/Nit 분류가 서로 일치한다. - active
CODE_REVIEW-*-G??.md를code_review_{review_lane}_GNN_N.log로 아카이브한다. - active
PLAN-*-G??.md를plan_{build_lane}_GNN_M.log로 아카이브한다. .gitignore의 Agent-Ops 관리 block을 확인한다.- PASS이면
complete.log를 작성하고 active.md파일을 남기지 않는다. - PASS이면 active task 디렉터리를 archive로 이동한다.
- PASS이고 task group이
m-<milestone-slug>이면 완료 이벤트 메타데이터를 보고하고 roadmap 직접 수정은 하지 않는다. - PASS split 작업이면 이동 후 빈 active parent를 제거하거나 유지 사유를 확인한다.
계획 대비 변경 사항
구현 에이전트가 계획과 다르게 구현한 부분을 이유와 함께 기록한다.
주요 설계 결정
구현 에이전트가 주요 설계 결정 사항을 기록한다.
사용자 리뷰 요청
기본값은 없음이다. 구현 중 새 결정이 필요해 보여도 직접 질문하거나 선택지를 제시하거나 request_user_input을 호출하지 않는다. 이 섹션은 선택된 SDD 결정 또는 선택된 Milestone 구현 잠금 > 결정 필요 항목이 실구현을 차단할 때만 채운다. 외부 환경/secret/서비스 준비, 검증 증거 공백, 반복 실패, 일반 범위 조정은 사용자 리뷰 요청이 아니며 검증 결과, 계획 대비 변경 사항, 또는 code-review의 일반 follow-up plan으로 처리한다.
- 상태: 없음
- 사유 유형: 없음
- 연결 대상: 없음
- 결정 필요: 없음
- 차단 근거: 없음
- 실행한 검증/명령: 없음
- 자동 후속 불가 이유: 없음
- 재개 조건: 없음
리뷰어를 위한 체크포인트
01_webhook_adapter_contract/complete.log이후 구현되었는지 확인한다./callbacks/forgejo/pushcontract status/response/idempotency behavior가 유지되는지 확인한다.- adapter candidate가 raw secret이나 raw webhook payload를 event/list response에 노출하지 않는지 확인한다.
Roadmap Targets의verify,normalize가 PASS 근거로 충분한지 확인한다.
검증 결과
구현 에이전트가 각 중간 검증 및 최종 검증 명령 실행 후 출력을 여기에 붙여 넣는다.
API-1 중간 검증
$ cd services/core && go test -count=1 ./internal/provider/forgejo
(output)
API-2 중간 검증
$ cd services/core && go test -count=1 ./internal/controlplane -run 'TestForgejoPush|TestProviderCallbackRecordsReceivedWebhookEvent'
(output)
최종 검증
$ test -f agent-task/m-provider-adapter-foundation/01_webhook_adapter_contract/complete.log
(output)
$ cd services/core && go test -count=1 ./internal/provider/forgejo ./internal/controlplane
(output)
$ cd services/core && go test ./...
(output)
[IMPLEMENTING AGENT — BEFORE SAVING] Have you filled in every implementation-owned section: completion table, implementation checklist, changes from plan, design decisions, and verification output?