- PHASE.md 및 usage-token-log-ops-mvp.md 업데이트 - request-execution-log-usage-ledger-foundation.md 마일스톤 추가 - SDD 디렉터리 초기화
6.4 KiB
6.4 KiB
Milestone: 요청 실행 로그와 Usage Ledger 기반
위치
- Roadmap:
agent-roadmap/ROADMAP.md - Phase:
agent-roadmap/phase/operational-observability-provider-management/PHASE.md
목표
사용자 요청 하나를 기준으로 Edge, Node, provider/device/model, OpenAI-compatible 응답, Control Plane 운영 기록을 연결하는 구조화된 실행 로그와 usage ledger 기반을 스케치한다. 요청별 사용 device, 시작/종료/first-token 시간, queue wait, latency, token breakdown, error/status, usage source를 가능한 한 많이 수집하되 prompt/response 노출과 장기 보관 정책은 별도 결정으로 둔다.
상태
[스케치]
승격 조건
- 요청 실행 이벤트의 최소 lifecycle을 request accepted, queued, admitted, dispatched, provider started, first token, completed/error/cancelled로 정의한다.
- 요청별 ledger record의 canonical owner를 Edge-local store, Control Plane store, 또는 dual-write/replay 중 하나로 결정한다.
- input/cached input/think/output/total token을 provider-reported 값과 추정값으로 나누어 기록하는 source 정책을 결정한다.
- node/provider/device/model identity, run_id/request_id/session/user/workspace/source metadata를 어떤 로그와 API 응답에 포함할지 결정한다.
- prompt/response/reasoning preview redaction, raw payload 보관 여부, export 권한 경계를 결정한다.
- 기존 zap 로그, runtime event, audit/observability package, Control Plane operation history를 어떻게 migration 또는 병행 운용할지 결정한다.
구현 잠금
- 상태: 잠금
- SDD: 필요
- SDD 문서:
agent-roadmap/sdd/operational-observability-provider-management/request-execution-log-usage-ledger-foundation/SDD.md - SDD 사유: 요청 실행 로그와 usage ledger는 proto/event/schema/storage/API, 데이터 보존, 권한, 실패 처리 경계를 함께 바꾸는 설계 Milestone이다.
- 잠금 해제 조건: 아래 체크리스트
- SDD 잠금이 해제되어 있다.
- SDD 사용자 리뷰가 없거나 승인/해결되었다.
- Acceptance Scenario가 Milestone 기능 Task와 연결되어 있다.
- Evidence Map이 완료 시
Roadmap Completion과 최종 검증 evidence로 검증 가능하게 연결되어 있다.
- 결정 필요: 아래 체크리스트
- request ledger의 canonical 저장 책임을 Edge와 Control Plane 중 어디에 둘지 결정한다.
- token usage source가 provider-reported, estimated, mixed, unavailable일 때 운영 UI와 export에서 어떻게 표시할지 결정한다.
- hidden think/reasoning token을 provider가 보고하지 않는 경우 표시 reasoning text 기반 추정을 허용할지 결정한다.
- full prompt/response, preview, metadata, error detail의 redaction과 retention 기본값을 결정한다.
- 로그 개편을 기존 runtime event schema 확장으로 할지, 별도 request ledger/audit event schema로 분리할지 결정한다.
범위
- 요청 실행 lifecycle별 timestamp와 correlation id 정의
- 요청별 사용 device/provider/node/model alias/served model 기록
- input, cached input, think/reasoning, output, total token usage와 source 표시
- queue wait, TTFT, provider duration, total duration, status/error 기록
- Edge/Node/Control Plane 로그와 run event, audit/observability package의 연결 방식
- 운영 조회/export를 위한 최소 ledger query 후보
기능
Epic: [run-ledger] Request Execution Ledger
요청 하나를 운영자가 나중에 재구성할 수 있도록 lifecycle, device routing, token usage, 결과 상태를 연결하는 capability를 묶는다.
- [event-lifecycle] request accepted, queued, admitted, dispatched, provider started, first token, completed/error/cancelled 이벤트와 timestamp 의미가 정리되어 있다.
- [identity-correlation] request_id, run_id, session_id, user/token scope, workspace, source, node_id, provider_id, device_id, model alias, served model의 correlation 기준이 정리되어 있다.
- [token-usage] input, cached input, think/reasoning, output, total token 필드와 provider-reported/estimated/mixed/unavailable source 정책이 정리되어 있다.
- [latency-metrics] queue wait, TTFT, provider duration, stream duration, total duration, retry/fallback 시도 기록 후보가 정리되어 있다.
- [log-redaction] prompt/response/reasoning preview, metadata, error detail의 redaction과 retention 기본값 후보가 정리되어 있다.
- [storage-query] Edge-local store, Control Plane operation history, export API/CLI/Client 조회 후보와 canonical owner가 정리되어 있다.
- [migration-plan] 기존 zap 로그와 runtime event를 유지하면서 request ledger를 추가하는 migration 또는 병행 운용 전략이 정리되어 있다.
완료 리뷰
- 상태: 없음
- 요청일: 없음
- 완료 근거: 스케치 Milestone이며 기능 Task가 아직 충족되지 않았다.
- 리뷰 필요:
- 사용자가 완료 결과를 확인했다
- archive 이동을 승인했다
- 리뷰 코멘트: 없음
범위 제외
- 실제 proto/schema/storage/API 구현
- 장기 retention, billing, chargeback, 조직 IAM
- provider routing 알고리즘 변경
- provider가 보고하지 않는 hidden reasoning token의 완전 정확한 복원
- 품질 평가나 route recommendation 자동화
작업 컨텍스트
- 관련 경로:
apps/edge/internal/openai,apps/edge/internal/service,apps/node/internal/node,apps/node/internal/adapters/openai_compat,apps/control-plane,apps/client,packages/go/audit,packages/go/observability,proto/iop/runtime.proto - 표준선(선택): Edge는 runtime execution과 provider routing의 원본 이벤트를 가장 먼저 알고, Control Plane은 연결 view와 운영 조회/export 표면을 제공한다.
- 표준선(선택): usage는 provider-reported 값을 우선하고, provider가 주지 않는 값은 estimated 또는 unavailable로 명시해 정확도와 추정을 분리한다.
- SDD gate:
agent-roadmap/sdd/operational-observability-provider-management/request-execution-log-usage-ledger-foundation/SDD.md, 사용자 리뷰USER_REVIEW.md - 선행 작업: 사용량, 토큰, 로그 운영 추적 MVP
- 후속 작업: Provider-Device-Model Qualification 리포트, 운영 리포트, 품질 기반 routing/fallback 고도화
- 확인 필요: ledger canonical owner, usage source 표시 정책, redaction/retention 기본값, schema 분리 여부