4.6 KiB
4.6 KiB
SDD: 지속 갱신 Orchestration
위치
- Milestone: Milestone 문서
- Phase: PHASE.md
상태
[승인됨]
SDD 잠금
- 상태: 해제
- 사용자 리뷰: 없음
- 잠금 항목:
- 없음
문제 / 비목표
- 문제: workflow runtime과 domain 단계가 있어도 schedule·event·manual trigger를 중복 없이 후보 평가까지 연결하는 표준 갱신 수명주기가 없다.
- 비목표:
- 평가 통과만으로 production 자동 승격
- 외부 범용 scheduler 전체 대체
- 무제한 병렬 refresh
Source of Truth
| 영역 | 기준 | 메모 |
|---|---|---|
| Roadmap | Milestone 문서 | refresh 범위와 승격 조건 |
| Runtime | 내구성 있는 Workflow Runtime SDD | lease, retry, cancel과 artifact 계약 |
| Gate | 평가와 승격 Gate SDD | candidate evaluation과 promotion 경계 |
| User Decision | 없음 | explicit promotion과 bounded concurrency를 표준선으로 사용한다 |
State Machine
| 상태 | 진입 조건 | 다음 상태 | 근거 |
|---|---|---|---|
| queued | 정규화된 trigger와 source revision이 수락됨 | running, superseded, cancelled | refresh run |
| running | workflow lease가 시작됨 | candidate_ready, failed, cancelled | step artifact |
| candidate_ready | index와 evaluation handoff가 완료됨 | completed | candidate identity |
| failed | 재시도 후 step이 실패함 | queued, cancelled | failure artifact |
| completed | candidate와 평가 결과 handoff가 기록됨 | 없음 | terminal event |
| superseded | 같은 revision의 더 이른 run이 소유권을 가짐 | 없음 | dedup record |
Interface Contract
- 입력: project, knowledge base, source revision, trigger type, policy revision과 idempotency identity
- 출력: refresh run, 단계별 artifact, candidate release, evaluation run과 freshness·cost 지표
- 금지:
- 같은 knowledge base·source revision을 동시에 둘 이상 실행하지 않는다.
- 완료 artifact를 무효화하지 않고 처음부터 재실행하지 않는다.
- refresh completion이 active alias를 직접 변경하지 않는다.
Acceptance Scenarios
| ID | Milestone Task | Given | When | Then |
|---|---|---|---|---|
| S01 | trigger-policy |
schedule·event·manual의 같은 revision | 동시 trigger | 하나의 run만 실행되고 나머지는 dedup된다 |
| S02 | reference-flow |
유효한 source revision | refresh 실행 | ingest부터 evaluate까지 versioned workflow가 실행된다 |
| S03 | checkpoint-resume |
중간 step 완료 후 실패 | 재시도 | 완료 artifact를 재사용해 실패 지점부터 이어간다 |
| S04 | candidate-handoff |
평가 통과·실패 candidate | terminal handoff | candidate와 verdict가 gate에 연결되고 alias는 불변이다 |
| S05 | refresh-observability |
진행·실패·완료 run | 조회 | freshness·비용·실패 단계·다음 schedule이 노출된다 |
Evidence Map
| Scenario | Required Evidence | agent-task 연결 |
완료 Evidence 기대 |
|---|---|---|---|
| S01 | concurrent trigger dedup test | agent-task/m-continuous-refresh-orchestration/... |
trigger-policy single-run evidence |
| S02 | reference workflow integration test | agent-task/m-continuous-refresh-orchestration/... |
reference-flow artifact chain |
| S03 | checkpoint failure injection | agent-task/m-continuous-refresh-orchestration/... |
checkpoint-resume reuse evidence |
| S04 | candidate gate handoff test | agent-task/m-continuous-refresh-orchestration/... |
candidate-handoff no-promotion evidence |
| S05 | refresh metrics·query test | agent-task/m-continuous-refresh-orchestration/... |
refresh-observability evidence |
Cross-repo Dependencies
- 없음
Drift Check
- Milestone 기능 Task와 Acceptance Scenario가 일치한다.
- Evidence Map이 code-review/complete.log에서 검증 가능하다.
- runtime과 promotion gate의 책임을 재사용한다.
- 사용자 리뷰가 필요한 항목이 없다.
사용자 리뷰 이력
- 없음
작업 컨텍스트
- 표준선: revision idempotency, bounded concurrency, artifact resume, candidate-only handoff
- Milestone은
[스케치]이므로 승격 조건이 모두 해소될 때까지 구현 잠금 상태를 유지한다.