목적
Week 2의 estimator → model lookup → context admission 흐름을 Spring AI 없이 public Core API만으로 실행한다. 예제 자체가 scope 계약의 사용법을 보여주며, UTF-8 heuristic TEXT_ONLY 결과를 전체 요청 허용으로 잘못 소개하지 않는다.
현재 코드 근거
token-pilot-core runtime dependency는 현재 없다.
- 저장소에는 Spring Boot 기반
token-pilot-sample-app만 있고 plain-Java preflight 예제가 없다.
- 공개 artifact의 clean-environment 소비 검증은 #42가 담당하므로 이 이슈와 중복하지 않는다.
목표 시나리오
plain String
→ HeuristicTokenEstimator
→ HEURISTIC / TEXT_ONLY TokenCountResult
→ ModelRegistry canonical lookup + tokenizer compatibility
→ TokenBudget.check()
→ INDETERMINATE 또는 EXCEEDS와 bounded reason 확인
필수 예제 결과:
- 짧은 문자열 + 충분한 context:
INDETERMINATE, fits=false
- 문자열 자체는 window 안이지만 role/tool/schema/provider framing을 포함하지 않았기 때문이다.
- 매우 큰 문자열 또는 큰 reserved output:
EXCEEDS, fits=false
- TEXT_ONLY 보수적 admission 값만으로 이미 window를 넘는다.
예제가 FITS를 보여줄 필요가 있다면 heuristic 결과의 scope만 변경하지 않는다. 요청 전체를 포함하는 별도 REQUEST-scoped test fixture/estimator와 compatibility 근거를 명시해야 하며, MVP plain-string 예제의 필수 범위는 아니다.
구현 범위
- public API만 사용하는 compile/run 가능한 plain-Java 예제
- 예제 코드를 테스트에서 실행해 API drift 방지
- TEXT_ONLY INDETERMINATE와 EXCEEDS 사례 각 1개
- canonical model id, estimator id/version, tokenizer compatibility와 reason 출력
- Core runtime classpath에서 다음 dependency 부재 자동 검증
- Spring AI
- Spring Boot
- Micrometer
- Reactor
- README/quickstart가 재사용할 최소 코드와 예상 출력
- repository 내부 예제는 project dependency를 사용할 수 있음
예제는 Spring AI, Spring Boot, Micrometer와 Reactor 타입을 import하지 않고 internal 구현 클래스를 직접 생성하지 않는다. 필요한 기본 구현은 public constructor 또는 의도된 public factory로 얻는다.
테스트 시나리오
Acceptance criteria
제외 범위
의존관계와 순서
#30~#33 이후 Week 2 마지막 smoke issue로 진행한다. #34는 필수 선행이 아니다.
Source
목적
Week 2의 estimator → model lookup → context admission 흐름을 Spring AI 없이 public Core API만으로 실행한다. 예제 자체가 scope 계약의 사용법을 보여주며, UTF-8 heuristic TEXT_ONLY 결과를 전체 요청 허용으로 잘못 소개하지 않는다.
현재 코드 근거
token-pilot-coreruntime dependency는 현재 없다.token-pilot-sample-app만 있고 plain-Java preflight 예제가 없다.목표 시나리오
필수 예제 결과:
INDETERMINATE,fits=falseEXCEEDS,fits=false예제가 FITS를 보여줄 필요가 있다면 heuristic 결과의 scope만 변경하지 않는다. 요청 전체를 포함하는 별도 REQUEST-scoped test fixture/estimator와 compatibility 근거를 명시해야 하며, MVP plain-string 예제의 필수 범위는 아니다.
구현 범위
예제는 Spring AI, Spring Boot, Micrometer와 Reactor 타입을 import하지 않고
internal구현 클래스를 직접 생성하지 않는다. 필요한 기본 구현은 public constructor 또는 의도된 public factory로 얻는다.테스트 시나리오
./gradlew :token-pilot-core:test또는 별도 example task로 실행 가능하다.Acceptance criteria
fits=true로 출력하지 않는다.제외 범위
의존관계와 순서
#30~#33 이후 Week 2 마지막 smoke issue로 진행한다. #34는 필수 선행이 아니다.
Source