rara/agent-roadmap/phase/workflow-automation/milestones/durable-workflow-runtime.md
toki d4546ecbfd
Some checks are pending
ci / validate (push) Waiting to run
add agent-roadmap
2026-07-18 19:31:48 +09:00

3.7 KiB

Milestone: 내구성 있는 Workflow Runtime

위치

목표

수집·정제·인덱싱·평가·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 LOCKED lease, 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 자동 승격

작업 컨텍스트