nomadcode/agent-ops/rules/domain/core/adapters/rules.md

1.2 KiB

adapters

목적 / 책임

Plane, Mattermost 등 외부 서비스와의 통합 경계를 담당한다. 현재는 stub 단계다.

포함 경로

  • internal/adapters/ — 외부 시스템별 client/stub

제외 경로

  • internal/workflow/ — task 업무 흐름
  • internal/notification/ — 내부 알림 서비스
  • internal/http/ — 외부 API가 아닌 서버 API

주요 구성 요소

  • plane.Client — Plane issue/comment/status 연동 stub
  • mattermost.Client — Mattermost message/task notification 연동 stub

유지할 패턴

  • 외부 서비스별 config와 client를 하위 패키지에 격리한다.
  • 실제 API 호출을 추가할 때 context, timeout, 인증 실패, 재시도 정책을 명시적으로 다룬다.

다른 도메인과의 경계

  • workflow: 외부 시스템 세부사항을 workflow 모델에 직접 섞지 않는다.
  • scheduler/notification: 알림 발생 시점은 scheduler/notification에서 결정하고, 전송 구현은 adapters가 맡는다.

금지 사항

  • token, URL 같은 민감 설정을 코드에 하드코딩하지 않는다.
  • stub에서 실제 API 호출로 전환할 때 조용히 에러를 무시하지 않는다.