Skip to content

[ADR] TokenUsage와 Money 불변식 및 정밀도 정책 정의 #24

Description

@HuitaePark

목적

#22와 PR #23에서 구현한 TokenUsage 의미를 문서 계약으로 고정하고, #26 이후의 pricing/budget/accounting 구현이 따라야 할 Money 계약을 확정한다.

산출물

TokenUsage ADR — 구현 완료 계약

  • TokenUsage 총량·세부량 및 provider 정규화
  • 상태: Accepted / PR #23에서 구현 완료
  • inputTokens, outputTokens는 포괄 총량이다.
  • cache read/create는 input의 일부이고 reasoning은 output의 일부다.
  • 세부량의 null은 provider 미보고, 0은 보고된 0이다.
  • provider별 raw usage 차이는 Adapter가 Core 계약으로 정규화한다.
  • cache/reasoning을 total에 다시 더하지 않는 이유와 정상·경계·실패 fixture를 포함한다.

Money ADR — 구현 기준 계약

확정 불변식

TokenUsage.total = inputTokens + outputTokens
cacheRead + cacheCreation <= inputTokens
reasoning <= outputTokens

Money.amount >= 0
Money.currency != null
same currency for arithmetic and comparison
internal amount is not rounded per request
missing pricing != explicit zero price

영향받는 후속 이슈

Acceptance criteria

  • TokenUsage ADR이 PR #23의 최종 모델과 일치한다.
  • 전체량과 세부량의 포함 관계가 수식과 예제로 설명된다.
  • null과 보고된 0이 구분된다.
  • provider normalization이 Adapter 책임으로 고정된다.
  • Money ADR이 내부 정밀도와 최종 rounding 경계를 명시한다.
  • scale 6, HALF_UP과 음수 금액 정책이 결정된다.
  • 다른 통화 합산 거부와 상태 무변경 원칙이 결정된다.
  • missing pricing과 explicit zero가 구분된다.
  • 정상·경계·실패 예시와 선택하지 않은 대안이 기록된다.
  • 후속 구현 이슈가 ADR을 링크할 수 있다.

저장 위치

팀이 요청한 문서 허브 Notion 데이터베이스를 현재 canonical ADR 위치로 사용한다. 오픈소스 배포 전 repository에 공개 ADR mirror가 필요하면 #43 문서화 단계에서 동일 내용을 옮기고 링크 무결성을 검증한다.

Source

Metadata

Metadata

Assignees

Labels

mvpTokenPilot 0.1.0 MVP scope

Type

No type

Projects

Status
Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions