gito/agent-roadmap/phase/provider-change-request-integration/milestones/provider-adapter-foundation.md
toki fc460e01e0 feat: provider-adapter-foundation milestone implementation
- 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
2026-06-19 17:41:24 +09:00

3.2 KiB

Milestone: Provider Adapter Foundation

위치

  • Roadmap: agent-roadmap/ROADMAP.md
  • Phase: agent-roadmap/phase/provider-change-request-integration/PHASE.md

목표

GitHub, GitLab, Forgejo, Plane, Jira 같은 외부 시스템을 provider adapter로 붙일 수 있는 공통 foundation을 만든다. Git 자체 조작은 platformless Git engine에 남기고, provider adapter는 플랫폼 API와 webhook 세부만 소유한다.

상태

[진행중]

승격 조건

  • 없음

구현 잠금

  • 상태: 해제
  • 결정 필요: 없음

범위

  • provider registry와 capability model
  • provider config와 credential ref
  • webhook intake REST endpoint
  • provider read/write client interface
  • provider event normalization boundary

기능

Epic: [registry] Provider registry

provider별 capability와 config를 등록한다.

  • [provider-model] provider id, endpoint, credential ref, capabilities를 model로 정의한다.
  • [provider-store] provider config를 저장하고 조회하는 store boundary를 만든다.
  • [capability] ChangeRequest, webhook, checks, comment 같은 capability flag를 정의한다.

Epic: [webhook] Webhook intake

provider webhook을 normalized event 입력으로 받는다.

  • [callback] provider callback REST endpoint 경계를 만든다. 검증: fake webhook이 provider.webhook.received event를 남긴다.
  • [verify] webhook signature 검증 hook을 adapter별로 꽂을 수 있게 한다.
  • [normalize] provider payload를 provider-neutral event 후보로 변환한다.

완료 리뷰

  • 상태: 없음
  • 요청일: 없음
  • 완료 근거: 없음
  • 리뷰 필요:
    • 사용자가 완료 결과를 확인했다
    • archive 이동을 승인했다
  • 리뷰 코멘트: 없음

범위 제외

  • provider별 PR/MR 실제 생성
  • provider별 CI/checks 상세 구현
  • Git operation 실행
  • UI 설정 화면

작업 컨텍스트

  • 관련 경로: services/core/internal/provider/, services/core/internal/controlplane/, services/core/internal/events/, packages/contracts/notes/gito-control-plane.md
  • 표준선(선택): provider adapter는 platform API만 소유하고 Git object 상태는 Git engine으로 확인한다.
  • 결정 반영(2026-06-19): 현재 사용 중인 Forgejo webhook/revision path를 기존 baseline으로 인정하고, Provider Adapter Foundation에서 새 provider 우선순위는 GitHub로 둔다.
  • 결정 반영(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.logRoadmap Completion 근거로 provider-store 완료를 반영했다.
  • 작업현황 동기화(2026-06-19): generic provider callback route와 provider.webhook.received event 기록을 추가하고 cd services/core && go test ./... 통과 근거로 callback 완료를 반영했다.
  • 선행 작업: Command Policy and Cancellation
  • 후속 작업: Change Request Abstraction
  • 확인 필요: 없음