nomadcode/agent-ops/roadmap/milestones/plane-thin-e2e-loop.md
toki 424de604ee feat: plane integration and workflow updates
- Add plane adapter client with test coverage
- Add task external refs migration
- Update workflow service with tests
- Add HTTP handler tests
- Update router and middleware tests
- Update database models and queries
- Update scheduler jobs
- Update storage store
- Update server main and docker-compose
- Update roadmaps and documentation
2026-05-22 13:37:47 +09:00

3.9 KiB

Plane Communication Foundation

목표

core가 실제 Plane 인스턴스와 안정적으로 통신할 수 있는 최소 기반을 만든다. 현재 단계는 파이프라인 설계나 자동 실행 흐름을 확정하지 않고, 인증, endpoint 계약, work item 조회, comment/status update, 외부 참조 저장, 수동 smoke 검증에 집중한다.

단계

Plane Communication Foundation

상태

진행 중

범위

  • Plane self-hosted 인스턴스 연결 정보와 API 계약 확인
  • Plane API token 생성/설정 방식 정리
  • Plane work item 조회, comment 생성, status update adapter 구현
  • core task와 Plane work item을 연결할 외부 참조 저장 토대 구성
  • 실제 Plane 인스턴스를 대상으로 한 수동 smoke 검증 절차 정리

필수 기능

  • Plane 연결 설정과 인증 계약을 정한다.
    • PLANE_BASE_URL=https://plane.toki-labs.com 기준 endpoint prefix를 확인한다.
    • Plane API key를 PLANE_TOKEN으로 주입하고 X-Api-Key header로 호출한다.
    • token 생성/보관/교체 방식은 운영 문서에 남기고 secret 값은 repository에 기록하지 않는다.
  • Plane adapter의 최소 통신 기능을 구현한다.
    • work item detail 조회
    • work item comment 생성
    • work item state update
    • non-2xx 응답과 설정 누락 오류를 진단 가능하게 반환
  • core task에 외부 참조 저장 토대를 둔다.
    • external_provider, external_id, external_url, external_metadata 등 provider-neutral 필드를 둔다.
    • Plane workspace/project/work item/state id를 metadata에 보존할 수 있게 한다.
  • 실제 Plane 통신 smoke를 검증한다.
    • 인증 성공/실패를 구분해 확인한다.
    • 테스트용 Plane work item에 comment를 남길 수 있다.
    • 테스트용 Plane work item state를 변경할 수 있다.
  • 문서에 현재 통신 토대의 사용법과 한계를 정리한다.

완료 기준

  • 유효한 PLANE_TOKEN으로 https://plane.toki-labs.com/api/v1/... work item API가 200 응답을 반환한다.
  • core Plane adapter 테스트가 request path, X-Api-Key, request body, error response를 검증한다.
  • core task가 Plane work item id와 관련 metadata를 저장할 수 있다.
  • 실제 Plane work item 하나에 comment 생성과 state update smoke가 성공한다.
  • README 또는 운영 문서에 Plane 설정, smoke 절차, secret 취급 방식이 남아 있다.

범위 제외

  • task pipeline 설계와 agent 실행 orchestration 확정
  • Plane issue에서 core task를 자동 생성하고 enqueue하는 제품 흐름 확정
  • task 완료/실패 결과를 Plane으로 자동 발행하는 정책 확정
  • retry, timeout, notification event 정책
  • Plane webhook 기반 자동 수집
  • Plane 전체 양방향 동기화
  • Mattermost 메시지 발송 구현
  • Agent Integrator와 IOP의 추가 통합
  • 복잡한 workflow DSL

작업 컨텍스트

  • 관련 경로: services/core/internal/adapters/plane/, services/core/internal/storage/, services/core/internal/workflow/, services/core/migrations/, services/core/queries/, services/core/README.md
  • 선행 작업: Server Skeleton
  • 후속 작업 후보: Plane Task Pipeline Design, Workflow Core
  • 확인된 dev Plane:
    • Base URL: https://plane.toki-labs.com
    • workspace slug: general
    • NomadCode project id: a6beb42f-7a8a-410c-b50f-ea3ca94828f3
    • Done state id: ea2e5b48-8bf1-4723-b749-de7723be41e9
    • Cancelled state id: f29c06c2-d70c-4b56-a83c-fccc4db60ae4

메모

  • 이 마일스톤은 Plane과의 통신 경계와 데이터 토대만 안정화한다.
  • pipeline 설계가 정리되기 전까지 scheduler/workflow에 Plane 자동 발행 정책을 더 넣지 않는다.
  • 이미 구현된 코드가 이 범위를 넘어간 경우, 리뷰 단계에서 유지/축소/후속 분리 여부를 판단한다.