- Update roadmap milestones and phase docs across multiple phases - Update plan, code-review, create-roadmap, update-roadmap, finalize-task-routing skills - Update dev-corp-runtime-deploy, dev-runtime-deploy, orchestrate-agent-task-loop skills - Refactor agent-task-loop dispatch script - Add streamgate Go package (commit_boundary, evidence_tail, filter_registry, stream_release) - Add test inventory files (dev, dev-corp, unified) - Update test smoke tests and rules for dev/dev-corp - Update docs/edge-local-dev-guide and e2e scripts - Update inventory-query Go package - Remove deprecated templates and inventory.yaml files - Add orchestrate-agent-task-loop tests
8.1 KiB
8.1 KiB
Milestone: Provider-Device-Model Qualification 리포트와 Lifecycle 관리
위치
- Roadmap: ROADMAP.md
- Phase: PHASE.md
목표
Provider Catalog와 로컬 디바이스 상태 기준선 뒤에, Ollama, vLLM, SGLang, Lemonade 같은 provider의 device/model 조합을 테스트하고 결과를 운영 리포트로 축적하는 제품 경계를 스케치한다. provider별 모델 lifecycle capability 차이를 IOP가 어떻게 흡수하고, 여러 모델 후보를 각 디바이스/provider에서 측정한 결과와 공식 공개 benchmark를 함께 보여 production route 후보 판단에 사용할지 정리한다.
상태
[스케치]
승격 조건
- provider/device/model qualification report의 최소 스키마와 저장 책임을 결정한다.
- Ollama/Lemonade의 model API 관리와 vLLM/SGLang의 process/container lifecycle 관리 차이를 어떻게 추상화할지 결정한다.
- compatibility, performance, quality, resource, failure report 중 MVP에 포함할 항목을 결정한다.
- 여러 모델을 다운로드/적용해 벤치마킹할 대상 model set, provider/device matrix, 실행 비용/시간 상한을 결정한다.
- 공식 공개 benchmark를 어떤 source에서 수집/인용하고 최신성, 출처, 조건 차이를 어떻게 표시할지 결정한다.
- Control Plane, Edge-local CLI, Client 중 report 조회와 lifecycle 제어 표면을 어디에 둘지 결정한다.
- 현재 provider 확장 Phase의 vLLM/SGLang serving path 검증 결과를 seed evidence로 어떻게 연결할지 결정한다.
구현 잠금
- 상태: 잠금
- SDD: 필요
- SDD 경로: 없음 (작성 전)
- SDD 사유: provider lifecycle 제어, report schema, 저장 책임, 운영 UI/API 경계가 함께 걸리는 제품 설계 Milestone이다.
- 잠금 해제 조건: 아래 체크리스트
- SDD 잠금이 해제되어 있다.
- SDD 사용자 리뷰가 없거나 승인/해결되었다.
- provider lifecycle 추상화와 report MVP 범위가 구현 계획을 만들 수 있을 만큼 확정되어 있다.
- 결정 필요: 아래 체크리스트
- IOP가 provider별 모델 설치/삭제/load/unload 또는 container/process start/stop을 어느 수준까지 직접 제어할지 결정한다.
- qualification report를 route recommendation에 바로 사용할지, 초기에는 관찰/리포트로만 둘지 결정한다.
- 성능/품질 테스트가 자동 실행이어야 하는지, 사용자 승인 기반 수동 실행으로 시작할지 결정한다.
- benchmark 대상 모델 다운로드와 provider 설정 변경을 이 Milestone에서 직접 수행할지,
Provider Runtime 설정과 모델 획득 오케스트레이션Milestone의 선행 결과로 받을지 결정한다. - 공식 공개 benchmark를 웹에서 직접 수집할 때 허용 source, citation 방식, 갱신 주기, 측정 조건 차이 표시 기준을 결정한다.
범위
- provider/device/model 조합별 compatibility, performance, quality, resource, failure report의 최소 필드
- 여러 모델 후보를 각 device/provider에서 실행해 TTFT, tokens/sec, latency, concurrency, queue wait, resource usage를 측정하는 benchmark matrix
- benchmark 대상 모델의 download/apply/verify 흐름과 provider runtime 설정은
Provider Runtime 설정과 모델 획득 오케스트레이션Milestone과 연결한다. - 공식 공개 benchmark 수치, 출처 URL, 측정 조건, 수집 시각, 로컬 측정값과의 비교 표시 기준
- Ollama, Lemonade, vLLM, SGLang의 model lifecycle capability 차이를 표현하는 공통 추상화
- vLLM/SGLang처럼 single-model serving process/container 중심인 provider와 Ollama/Lemonade처럼 model API가 있는 provider의 운영 차이
- provider 확장 Phase에서 나온 serving smoke/field evidence를 qualification seed report로 연결하는 기준
- 운영자가 provider/device/model 조합을 비교하고 production route 후보, experimental, blocked 같은 상태를 판단하는 MVP 표면
기능
Epic: [qualification-report] Qualification Report and Evidence
qualification report schema, benchmark matrix, 공식 benchmark evidence의 산출물 경계를 묶는다.
- [report-schema] provider, device, model alias, checkpoint, served model, runtime version, launch/container args, endpoint, auth policy, test timestamp, result status, benchmark source/citation을 포함한 최소 report schema가 정리되어 있다.
- [model-matrix] 여러 모델 후보를 어떤 device/provider 조합에 다운로드/적용/측정할지 benchmark matrix와 실행 비용/시간 상한이 정리되어 있다.
- [official-bench] 공식 공개 benchmark source, URL/citation, 수집 시각, 측정 조건 차이, 로컬 측정값과의 비교/경고 표시 기준이 정리되어 있다.
Epic: [qualification-suite] Qualification Test Suites
provider/device/model 조합의 compatibility, performance, quality 검증 경계를 묶는다.
- [compat-suite]
/v1/models, non-streaming chat, streaming chat, usage/finish reason, timeout/error mapping 같은 compatibility test matrix가 정리되어 있다. - [perf-suite] TTFT, tokens/sec, latency p50/p95, concurrency, queue wait, resource usage 후보와 필수/선택 구분이 모델별/디바이스별 비교 기준으로 정리되어 있다.
- [quality-suite] canonical prompt set, structured output, reasoning/content handling, tool/schema readiness 같은 quality/eval 후보와 MVP 제외 범위가 정리되어 있다.
Epic: [qualification-lifecycle] Qualification Lifecycle and Operations
provider lifecycle 차이와 qualification report의 운영 표면 및 routing 활용 경계를 묶는다.
- [lifecycle-map] Ollama/Lemonade의 model API와 vLLM/SGLang의 process/container lifecycle을 IOP lifecycle action으로 매핑하는 후보가 정리되어 있다.
- [ops-surface] Control Plane, Client, Edge-local CLI에서 report 조회, 비교, lifecycle action을 어디까지 노출할지 후보가 정리되어 있다.
- [routing-use] report 결과를 route recommendation 또는 production readiness 상태로 사용할지 여부와 보류 기준이 정리되어 있다.
완료 리뷰
- 상태: 없음
- 요청일: 없음
- 완료 근거: 스케치 Milestone이며 기능 Task가 아직 충족되지 않았다.
- 리뷰 필요:
- 사용자가 완료 결과를 확인했다
- archive 이동을 승인했다
- 리뷰 코멘트: 없음
범위 제외
- 현재 provider 확장 Phase의 vLLM/SGLang adapter 구현 자체
- 개별 provider serving path의 최초 연결 검증
- provider runtime 설정과 모델 다운로드 자동화 구현 자체. 이 범위는
Provider Runtime 설정과 모델 획득 오케스트레이션Milestone에서 다룬다. - cloud fallback 자동화와 cross-Edge/global balancing
- billing/chargeback, 조직 IAM, 장기 audit retention
- fully automated model marketplace
작업 컨텍스트
- 관련 경로:
apps/edge,apps/node,apps/control-plane,apps/client,packages/go/config,proto/iop,agent-test/local - 표준선(선택): provider serving path와 capacity/concurrency 검증은
추론 서버 provider 확장Phase에서 먼저 닫고, 이 Milestone은 그 결과를 운영 데이터와 lifecycle 제어 모델로 승격한다. - 표준선(선택): OpenAI-compatible compatibility는 공통 test matrix로 보되, provider별 native lifecycle API는 capability 기반으로 optional 처리한다.
- 표준선(선택): 공식 공개 benchmark는 로컬 측정값을 대체하지 않고 참고 비교값으로만 표시하며, 출처 URL과 측정 조건 차이를 함께 보여준다.
- 선행 작업: Provider Catalog와 로컬 디바이스 상태 관리, vLLM/SGLang provider 서빙 경로 추가, Provider Runtime 설정과 모델 획득 오케스트레이션
- 후속 작업: route recommendation, cloud fallback, 품질 기반 routing/fallback 고도화
- 확인 필요: report schema, lifecycle 제어 범위, 자동/수동 테스트 실행 경계, benchmark 대상 모델과 provider/device matrix, 공식 benchmark source/citation 정책, 운영 표면