3.7 KiB
3.7 KiB
Milestone: 내구성 있는 Workflow Runtime
위치
- Roadmap: ROADMAP.md
- Phase: PHASE.md
목표
수집·정제·인덱싱·평가·adaptation step을 동일한 영속 상태와 실행 계약으로 처리한다. worker 중단과 timeout에도 lease 소유권, idempotency와 artifact 결과를 기준으로 중복 부작용 없이 재시도할 수 있게 한다.
상태
[계획]
구현 잠금
- 상태: 해제
- SDD: 필요
- SDD 문서: SDD.md
- SDD 사유: workflow와 step 상태 머신, lease, retry, cancel, Protobuf 진행 이벤트 계약을 변경한다.
- 잠금 해제 조건:
- SDD 잠금이 해제되어 있다.
- SDD 사용자 리뷰가 없거나 승인/해결되었다.
- Acceptance Scenario가 Milestone 기능 Task와 연결되어 있다.
- Evidence Map이 완료 시 Roadmap Completion과 최종 검증 evidence로 검증 가능하게 연결되어 있다.
- 결정 필요: 없음
범위
- immutable workflow definition version과 run·step state machine
- PostgreSQL
SKIP LOCKEDlease, heartbeat, expiry와 ownership 검증 - idempotency, retry backoff, terminal failure, cancel과 timeout
- Go executor registry와 out-of-process Python executor adapter
- progress event, artifact manifest와 결과 반영
- worker crash·restart와 orphan lease 회수
기능
Epic: [runtime] 영속 실행 상태
동일 step이 여러 worker에서 동시에 부작용을 만들지 않도록 실행권을 제어한다.
- [run-state] workflow run과 step run의 허용 상태 전이와 parent 완료 집계를 구현한다.
- [lease-heartbeat] lease 획득·갱신·만료·회수를 ownership 조건으로 처리한다. 검증: 경쟁 worker와 worker crash 통합 테스트에서 단일 유효 owner만 완료 처리한다.
- [retry-idempotency] retryable·terminal 오류, backoff와 idempotency key를 적용해 중복 결과를 방지한다.
- [cancel-timeout] 대기·실행 step의 취소와 deadline 초과를 Go·Python executor에 전파한다.
Epic: [executor] 실행기 상호운용
언어와 ML 프레임워크가 달라도 동일한 진행·결과 계약을 사용한다.
- [executor-routing] capability와 executor kind에 따라 Go 또는 Python executor를 선택하고 호환되지 않는 job을 실행 전에 거부한다.
- [progress-artifacts] 순서 있는 progress event, 결과 payload와 content-addressed artifact manifest를 영속 상태에 반영한다.
- [restart-smoke] worker 재시작 뒤 만료 lease를 회수하고 완료·실패 상태가 유실되지 않는다. 검증: PostgreSQL과 Go/Python worker를 사용한 restart smoke가 통과한다.
완료 리뷰
- 상태: 없음
- 요청일: 없음
- 완료 근거: 모든 기능 Task와 검증 충족 및 구현 잠금 해제 여부를 완료 시 기록한다.
- 검토 항목: 경쟁 lease, crash recovery, retry와 Go/Python field smoke
- agent-ui 상태 반영: 해당 없음
- 리뷰 코멘트: 없음
범위 제외
- 범용 DAG 편집기와 외부 workflow 엔진 도입
- workflow step 내부의 RAG 품질 정책
- production release 자동 승격
작업 컨텍스트
- 관련 경로:
packages/go/workflow/,packages/python/,api/proto/,db/queries/workflows.sql - 표준선(선택): PostgreSQL lease queue, at-least-once 실행과 idempotent side effect
- 선행 작업: 플랫폼 스캐폴드 기준선
- 후속 작업: 수집과 Dataset 수명주기, 지속 갱신 Orchestration
- 확인 필요: 없음