# Server Skeleton

## 목표

core 서비스의 서버 실행 골격을 구성하고, task 저장 구조와 비동기 job 실행 흐름을 마련한다. 외부 통합은 실제 호출 전 단계의 Adapter stub까지 둔다.

## 단계

Server Skeleton

## 상태

완료

## 구현 잠금

- 상태: 해제
- 이유: 완료된 Milestone의 기록 보정이며, 새 구현 작업을 시작하는 문서가 아니다.
- 해제 조건:
  - [x] 완료된 서버 골격과 task 실행 경계가 로드맵에 기록되어 있다.
  - [x] 후속 IOP 통합 방향은 External Integration Milestone에서 다룬다.
- 잠금 중 금지:
  - 해당 없음

## 범위

- 서버 실행 골격 구성
- task 저장 구조 구성
- 비동기 job 실행
- Adapter stub 생성

## 필수 기능

- [x] [server-run] Go HTTP server 실행 골격
- [x] [health-ready] health / readiness endpoint
- [x] [task-api] task 생성, 조회, 목록, enqueue API
- [x] [task-storage] PostgreSQL 기반 task 저장
- [x] [db-codegen] goose migration과 sqlc 기반 DB query 생성 구조
- [x] [river-job] River 기반 task job
- [x] [external-boundary] 초기 외부 실행 호출 경계
- [x] [plane-stub] Plane Adapter stub
- [x] [mattermost-stub] Mattermost Adapter stub

## 완료 기준

- [x] core 서버를 로컬에서 실행할 수 있다.
- [x] task 생성부터 조회, enqueue까지 기본 API 흐름이 동작한다.
- [x] DB migration과 sqlc query 생성 흐름이 정리되어 있다.
- [x] River job이 task를 처리하는 기본 경로를 가진다.
- [x] Plane과 Mattermost는 실제 API 호출 전 stub 경계로 분리되어 있다.

## 범위 제외

- 실제 Plane API 호출
- 실제 Mattermost 메시지 발송
- IOP native protocol 연동
- Agent Integrator 연동
- 복잡한 권한 정책
- 복잡한 workflow DSL

## 작업 컨텍스트

- 이전 출처: `services/core/README.md`의 `## 단계별 다음 작업`
- 주요 작업 영역: `services/core/`
- 후속 작업: Plane Communication Foundation
- 검증 기준: core 변경은 `go test ./...` 또는 `bin/test`를 우선 사용한다.
